'guozeINSP'

This commit is contained in:
2025-12-04 16:50:10 +01:00
parent b6ca31c1cc
commit dc46bc9dec
202 changed files with 21719 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
~ start
Am i what i was ceated as
did i alter everything with my choices
or was it the plan all along
- you are what you were create as
You can never outrun your essence i guess
what if my essence is evil
- embrace it
would take a couple more lifes for me to accept it, but if its the only way to leave the cycle
- destroy it
how wouuld i destroy my essence if i reset at every life
- you are the choices you made
total free will is scary
- the choices you made were determined by what you were created as
was i meant to evolve for some drama plot line
=> END

View File

@@ -0,0 +1,15 @@
[remap]
importer="dialogue_manager_compiler_13"
type="Resource"
uid="uid://cn8bh4k43rj0o"
path="res://.godot/imported/annesse.dialogue-06428d171123287b756744b934e73e08.tres"
[deps]
source_file="res://dialogues/annesse.dialogue"
dest_files=["res://.godot/imported/annesse.dialogue-06428d171123287b756744b934e73e08.tres"]
[params]
defaults=true

View File

@@ -0,0 +1,179 @@
extends CanvasLayer
## A basic dialogue balloon for use with Dialogue Manager.
@onready var talk_sound : AudioStreamPlayer = $TalkSound
## The action to use for advancing the dialogue
@export var next_action: StringName = &"ui_accept"
## The action to use to skip typing the dialogue
@export var skip_action: StringName = &"ui_cancel"
## The dialogue resource
var resource: DialogueResource
## Temporary game states
var temporary_game_states: Array = []
## See if we are waiting for the player
var is_waiting_for_input: bool = false
## See if we are running a long mutation and should hide the balloon
var will_hide_balloon: bool = false
## A dictionary to store any ephemeral variables
var locals: Dictionary = {}
var _locale: String = TranslationServer.get_locale()
## The current line
var dialogue_line: DialogueLine:
set(next_dialogue_line):
is_waiting_for_input = false
balloon.focus_mode = Control.FOCUS_ALL
balloon.grab_focus()
# The dialogue has finished so close the balloon
if not next_dialogue_line:
queue_free()
return
# If the node isn't ready yet then none of the labels will be ready yet either
if not is_node_ready():
await ready
dialogue_line = next_dialogue_line
character_label.visible = not dialogue_line.character.is_empty()
character_label.text = tr(dialogue_line.character, "dialogue")
dialogue_label.hide()
dialogue_label.dialogue_line = dialogue_line
responses_menu.hide()
responses_menu.set_responses(dialogue_line.responses)
# Show our balloon
balloon.show()
will_hide_balloon = false
dialogue_label.show()
if not dialogue_line.text.is_empty():
dialogue_label.type_out()
await dialogue_label.finished_typing
# Wait for input
if dialogue_line.responses.size() > 0:
balloon.focus_mode = Control.FOCUS_NONE
responses_menu.show()
elif dialogue_line.time != "":
var time = dialogue_line.text.length() * 0.02 if dialogue_line.time == "auto" else dialogue_line.time.to_float()
await get_tree().create_timer(time).timeout
next(dialogue_line.next_id)
else:
is_waiting_for_input = true
balloon.focus_mode = Control.FOCUS_ALL
balloon.grab_focus()
get:
return dialogue_line
## The base balloon anchor
@onready var balloon: Control = %Balloon
## The label showing the name of the currently speaking character
@onready var character_label: RichTextLabel = %CharacterLabel
## The label showing the currently spoken dialogue
@onready var dialogue_label: DialogueLabel = %DialogueLabel
## The menu of responses
@onready var responses_menu: DialogueResponsesMenu = %ResponsesMenu
func _ready() -> void:
balloon.hide()
Engine.get_singleton("DialogueManager").mutated.connect(_on_mutated)
# If the responses menu doesn't have a next action set, use this one
if responses_menu.next_action.is_empty():
responses_menu.next_action = next_action
func _unhandled_input(_event: InputEvent) -> void:
# Only the balloon is allowed to handle input while it's showing
get_viewport().set_input_as_handled()
func _notification(what: int) -> void:
## Detect a change of locale and update the current dialogue line to show the new language
if what == NOTIFICATION_TRANSLATION_CHANGED and _locale != TranslationServer.get_locale() and is_instance_valid(dialogue_label):
_locale = TranslationServer.get_locale()
var visible_ratio = dialogue_label.visible_ratio
self.dialogue_line = await resource.get_next_dialogue_line(dialogue_line.id)
if visible_ratio < 1:
dialogue_label.skip_typing()
## Start some dialogue
func start(dialogue_resource: DialogueResource, title: String, extra_game_states: Array = []) -> void:
if not is_node_ready():
await ready
temporary_game_states = [self] + extra_game_states
is_waiting_for_input = false
resource = dialogue_resource
self.dialogue_line = await resource.get_next_dialogue_line(title, temporary_game_states)
## Go to the next line
func next(next_id: String) -> void:
self.dialogue_line = await resource.get_next_dialogue_line(next_id, temporary_game_states)
#region Signals
func _on_mutated(_mutation: Dictionary) -> void:
is_waiting_for_input = false
will_hide_balloon = true
get_tree().create_timer(0.1).timeout.connect(func():
if will_hide_balloon:
will_hide_balloon = false
balloon.hide()
)
func _on_balloon_gui_input(event: InputEvent) -> void:
# See if we need to skip typing of the dialogue
if dialogue_label.is_typing:
var mouse_was_clicked: bool = event is InputEventMouseButton and event.button_index == MOUSE_BUTTON_LEFT and event.is_pressed()
var skip_button_was_pressed: bool = event.is_action_pressed(skip_action)
if mouse_was_clicked or skip_button_was_pressed:
get_viewport().set_input_as_handled()
dialogue_label.skip_typing()
return
if not is_waiting_for_input: return
if dialogue_line.responses.size() > 0: return
# When there are no response options the balloon itself is the clickable thing
get_viewport().set_input_as_handled()
if event is InputEventMouseButton and event.is_pressed() and event.button_index == MOUSE_BUTTON_LEFT:
next(dialogue_line.next_id)
elif event.is_action_pressed(next_action) and get_viewport().gui_get_focus_owner() == balloon:
next(dialogue_line.next_id)
func _on_responses_menu_response_selected(response: DialogueResponse) -> void:
next(response.next_id)
#endregion
func _on_dialogue_label_spoke(letter: String, letter_index : int, speed: float) -> void:
talk_sound.play()

View File

@@ -0,0 +1 @@
uid://b74xle622pj2j

View File

@@ -0,0 +1,155 @@
[gd_scene load_steps=12 format=3 uid="uid://5voqpa7mdqdc"]
[ext_resource type="Script" path="res://dialogues/balloon.gd" id="1_36de5"]
[ext_resource type="PackedScene" uid="uid://ckvgyvclnwggo" path="res://addons/dialogue_manager/dialogue_label.tscn" id="2_a8ve6"]
[ext_resource type="Texture2D" uid="uid://2qtqnxfiicss" path="res://ress/dino.png" id="2_sxkpl"]
[ext_resource type="Script" path="res://addons/dialogue_manager/dialogue_reponses_menu.gd" id="3_72ixx"]
[ext_resource type="FontFile" uid="uid://blrpmrmjneps2" path="res://dialogues/fonts/karma.suture.ttf" id="3_wxtc5"]
[ext_resource type="AudioStream" uid="uid://wtk0s4spgpwo" path="res://soundeffects/voices/pop-39222.mp3" id="6_qjdls"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_spyqn"]
bg_color = Color(0, 0, 0, 1)
border_width_left = 3
border_width_top = 3
border_width_right = 3
border_width_bottom = 3
border_color = Color(0.329412, 0.329412, 0.329412, 1)
corner_radius_top_left = 5
corner_radius_top_right = 5
corner_radius_bottom_right = 5
corner_radius_bottom_left = 5
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ri4m3"]
bg_color = Color(0.121569, 0.121569, 0.121569, 1)
border_width_left = 3
border_width_top = 3
border_width_right = 3
border_width_bottom = 3
border_color = Color(1, 1, 1, 1)
corner_radius_top_left = 5
corner_radius_top_right = 5
corner_radius_bottom_right = 5
corner_radius_bottom_left = 5
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_e0njw"]
bg_color = Color(0, 0, 0, 1)
border_width_left = 3
border_width_top = 3
border_width_right = 3
border_width_bottom = 3
border_color = Color(0.6, 0.6, 0.6, 1)
corner_radius_top_left = 5
corner_radius_top_right = 5
corner_radius_bottom_right = 5
corner_radius_bottom_left = 5
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_uy0d5"]
bg_color = Color(0, 0, 0, 1)
border_width_left = 3
border_width_top = 3
border_width_right = 3
border_width_bottom = 3
corner_radius_top_left = 5
corner_radius_top_right = 5
corner_radius_bottom_right = 5
corner_radius_bottom_left = 5
[sub_resource type="Theme" id="Theme_qq3yp"]
default_font_size = 20
Button/styles/disabled = SubResource("StyleBoxFlat_spyqn")
Button/styles/focus = SubResource("StyleBoxFlat_ri4m3")
Button/styles/hover = SubResource("StyleBoxFlat_e0njw")
Button/styles/normal = SubResource("StyleBoxFlat_e0njw")
MarginContainer/constants/margin_bottom = 15
MarginContainer/constants/margin_left = 30
MarginContainer/constants/margin_right = 30
MarginContainer/constants/margin_top = 15
Panel/styles/panel = SubResource("StyleBoxFlat_uy0d5")
[node name="ExampleBalloon" type="CanvasLayer"]
layer = 100
script = ExtResource("1_36de5")
[node name="Balloon" type="Control" parent="."]
unique_name_in_owner = true
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme = SubResource("Theme_qq3yp")
[node name="Dino" type="Sprite2D" parent="Balloon"]
position = Vector2(559, 547)
scale = Vector2(0.121887, 0.0528143)
texture = ExtResource("2_sxkpl")
[node name="Dialogue" type="MarginContainer" parent="Balloon"]
modulate = Color(0.941176, 0.945098, 0.619608, 1)
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 21.0
offset_top = 465.0
offset_right = 21.0
offset_bottom = 465.0
grow_horizontal = 2
grow_vertical = 2
[node name="VBoxContainer" type="VBoxContainer" parent="Balloon/Dialogue"]
layout_mode = 2
[node name="CharacterLabel" type="RichTextLabel" parent="Balloon/Dialogue/VBoxContainer"]
unique_name_in_owner = true
modulate = Color(1, 1, 1, 0.501961)
layout_mode = 2
mouse_filter = 1
theme_override_fonts/normal_font = ExtResource("3_wxtc5")
bbcode_enabled = true
text = "Character"
fit_content = true
scroll_active = false
[node name="DialogueLabel" parent="Balloon/Dialogue/VBoxContainer" instance=ExtResource("2_a8ve6")]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 3
theme_override_fonts/normal_font = ExtResource("3_wxtc5")
text = "Dialogue..."
[node name="Responses" type="MarginContainer" parent="Balloon"]
modulate = Color(0.862745, 0.929412, 0.568627, 1)
layout_mode = 1
anchors_preset = 7
anchor_left = 0.5
anchor_top = 1.0
anchor_right = 0.5
anchor_bottom = 1.0
offset_left = -147.0
offset_top = -558.0
offset_right = 494.0
offset_bottom = -154.0
grow_horizontal = 2
grow_vertical = 0
[node name="ResponsesMenu" type="VBoxContainer" parent="Balloon/Responses" node_paths=PackedStringArray("response_template")]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 8
theme_override_constants/separation = 2
script = ExtResource("3_72ixx")
response_template = NodePath("ResponseExample")
[node name="ResponseExample" type="Button" parent="Balloon/Responses/ResponsesMenu"]
layout_mode = 2
theme_override_fonts/font = ExtResource("3_wxtc5")
text = "Response example"
[node name="TalkSound" type="AudioStreamPlayer" parent="."]
stream = ExtResource("6_qjdls")
[connection signal="gui_input" from="Balloon" to="." method="_on_balloon_gui_input"]
[connection signal="spoke" from="Balloon/Dialogue/VBoxContainer/DialogueLabel" to="." method="_on_dialogue_label_spoke"]
[connection signal="response_selected" from="Balloon/Responses/ResponsesMenu" to="." method="_on_responses_menu_response_selected"]

View File

@@ -0,0 +1,6 @@
~ start
Je veut tenir dans mes bras un [wave]tout petit bébé[/wave]
si doux et chaud que je le blotirai dans le creux de mon cou
et que son petit crane mou prendra la forme de mes clavicules
=> END!

View File

@@ -0,0 +1,15 @@
[remap]
importer="dialogue_manager_compiler_13"
type="Resource"
uid="uid://djga8ytwmci4q"
path="res://.godot/imported/chaircréat.dialogue-cc959f66829dd2a73f685c2cb06d3092.tres"
[deps]
source_file="res://dialogues/chaircréat.dialogue"
dest_files=["res://.godot/imported/chaircréat.dialogue-cc959f66829dd2a73f685c2cb06d3092.tres"]
[params]
defaults=true

View File

@@ -0,0 +1,27 @@
~ start
Nune : Why would you kill a nune
- i would do it
Nune : what a kind heart
- quoi
Nune : dont you think they deserve peace too
Nune : i wished to bring everyone closer to their beliefs
- you were a good sister [if get_item_count("yesmom") > 1]
Nune : Do you think so ?
- yes my child
Nune : [shake]Te Deum laudamus te Dominum confitemur! Te aeternum patrem, omnis terra veneratur![/shake]
do nune.hide()
do yesmother["yesmom"] += 1
do dialogread + 1
- nah
Nune : A malis diaboli, libera nos, Domine.
- Did you succeeded ? [if get_item_count("yesmom") > 1]
I don't know anymore
=> END

View File

@@ -0,0 +1,15 @@
[remap]
importer="dialogue_manager_compiler_13"
type="Resource"
uid="uid://b7m8rks7e6jug"
path="res://.godot/imported/dialogue.dialogue-8e5f025a36ce4ccf4beb15cef52a6950.tres"
[deps]
source_file="res://dialogues/dialogue.dialogue"
dest_files=["res://.godot/imported/dialogue.dialogue-8e5f025a36ce4ccf4beb15cef52a6950.tres"]
[params]
defaults=true

View File

@@ -0,0 +1,3 @@
[gd_resource type="Theme" format=3 uid="uid://c363nw7p77fnn"]
[resource]

View File

@@ -0,0 +1 @@
~ start

View File

@@ -0,0 +1,15 @@
[remap]
importer="dialogue_manager_compiler_13"
type="Resource"
uid="uid://d0bjaxqymjpo"
path="res://.godot/imported/dialoguevide.dialogue-11025bd43b619791af912dc3580e213f.tres"
[deps]
source_file="res://dialogues/dialoguevide.dialogue"
dest_files=["res://.godot/imported/dialoguevide.dialogue-11025bd43b619791af912dc3580e213f.tres"]
[params]
defaults=true

View File

@@ -0,0 +1,3 @@
~ start
When will i gget to eat cool fruits again
=> END

View File

@@ -0,0 +1,15 @@
[remap]
importer="dialogue_manager_compiler_13"
type="Resource"
uid="uid://bbww4r58fai0m"
path="res://.godot/imported/donks.dialogue-4ca0400bb5b1bb6d90ee42edbfc56062.tres"
[deps]
source_file="res://dialogues/donks.dialogue"
dest_files=["res://.godot/imported/donks.dialogue-4ca0400bb5b1bb6d90ee42edbfc56062.tres"]
[params]
defaults=true

View File

@@ -0,0 +1,33 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://c58ihsswnuny4"
path="res://.godot/imported/Antkiller-9MKj.ttf-3a97da92c41470e0822c4502660f2450.fontdata"
[deps]
source_file="res://dialogues/fonts/antkiller-font/Antkiller-9MKj.ttf"
dest_files=["res://.godot/imported/Antkiller-9MKj.ttf-3a97da92c41470e0822c4502660f2450.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
hinting=1
subpixel_positioning=1
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

View File

@@ -0,0 +1,2 @@
license: Freeware
link: https://www.fontspace.com/antkiller-font-f2546

View File

@@ -0,0 +1,2 @@
[LocalizedFileNames]
karma.suture.ttf=@karma.suture.ttf,0

Binary file not shown.

View File

@@ -0,0 +1,33 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://blrpmrmjneps2"
path="res://.godot/imported/karma.suture.ttf-9443d377037b1243a8df19fdf2dae96a.fontdata"
[deps]
source_file="res://dialogues/fonts/karma.suture.ttf"
dest_files=["res://.godot/imported/karma.suture.ttf-9443d377037b1243a8df19fdf2dae96a.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
hinting=1
subpixel_positioning=1
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

View File

@@ -0,0 +1,7 @@
~ start
La meva mutilació és una qüestió d'accés
El meu cos és l'únic territori on em permeto exercir la violència.
Un dia seré lliure i tornaré la violència als responsables.
=> END

View File

@@ -0,0 +1,15 @@
[remap]
importer="dialogue_manager_compiler_13"
type="Resource"
uid="uid://d3vpn53u411am"
path="res://.godot/imported/mercca.dialogue-aae4f11e0d520f3ee73008cf76eb0275.tres"
[deps]
source_file="res://dialogues/mercca.dialogue"
dest_files=["res://.godot/imported/mercca.dialogue-aae4f11e0d520f3ee73008cf76eb0275.tres"]
[params]
defaults=true

View File

@@ -0,0 +1,21 @@
~ start
Claim me back forest and i will run to you
lay down on one of your wound
and wait for one of my kind to pass ans return me to you
where so many saw their flesh spraed on this hard black river
may the banality of the carrion give me back my freedom
let our friend feed on what i fed before
and let all of me turn into you
- i am not the forest
only because you never tried looser
~ FIN
- yes my child
[shake]thank you mother[/shake]
do yesmother["yesmom"] += 1
do cacher.hide()
~ END

View File

@@ -0,0 +1,15 @@
[remap]
importer="dialogue_manager_compiler_13"
type="Resource"
uid="uid://mej4bk7mc2qu"
path="res://.godot/imported/organdialogue.dialogue-9659674ea296a163d1d6d1b373224338.tres"
[deps]
source_file="res://dialogues/organdialogue.dialogue"
dest_files=["res://.godot/imported/organdialogue.dialogue-9659674ea296a163d1d6d1b373224338.tres"]
[params]
defaults=true

View File

@@ -0,0 +1,18 @@
~ start
When will the bleeding stop
- it never does
emo bitch
- When u take care of it
:-(
- When you lick the wound
will you [wait=1] do it for me
- no creep
*sobs
- yes my child
[shake]I love you forever[/shake]
do yesmother["yesmom"] += 1
do petib.hide()
=> END
=> END!

View File

@@ -0,0 +1,15 @@
[remap]
importer="dialogue_manager_compiler_13"
type="Resource"
uid="uid://52ibfxjo5hys"
path="res://.godot/imported/petibdialogue.dialogue-03513512b3e43009f2cb5dcfd6493747.tres"
[deps]
source_file="res://dialogues/petibdialogue.dialogue"
dest_files=["res://.godot/imported/petibdialogue.dialogue-03513512b3e43009f2cb5dcfd6493747.tres"]
[params]
defaults=true

View File

@@ -0,0 +1,11 @@
~ this_is_a_node_title
Nathan: [[Hi|Hello|Howdy]], this is some dialogue.
Nathan: Here are some choices.
- First one
Nathan: You picked the first one.
- Second one
Nathan: You picked the second one.
- Start again => this_is_a_node_title
- End the conversation => END
Nathan: For more information see the online documentation.
=> END

View File

@@ -0,0 +1,15 @@
[remap]
importer="dialogue_manager_compiler_13"
type="Resource"
uid="uid://cb8hrakxab7hs"
path="res://.godot/imported/rouge.dialogue-46548391ab33d5e6249bef239b2a7bf0.tres"
[deps]
source_file="res://dialogues/rouge.dialogue"
dest_files=["res://.godot/imported/rouge.dialogue-46548391ab33d5e6249bef239b2a7bf0.tres"]
[params]
defaults=true

View File

@@ -0,0 +1,7 @@
~ start
you have {{get_item_count("yesmom")}}
do yesmother["yesmom"] += 1
now tu as {{get_item_count("yesmom")}}
=> END

View File

@@ -0,0 +1,15 @@
[remap]
importer="dialogue_manager_compiler_13"
type="Resource"
uid="uid://bidupplferdmt"
path="res://.godot/imported/test.dialogue-dc69268be77aa19a4b95a0f66b796254.tres"
[deps]
source_file="res://dialogues/test.dialogue"
dest_files=["res://.godot/imported/test.dialogue-dc69268be77aa19a4b95a0f66b796254.tres"]
[params]
defaults=true