diff --git a/addons/dialogue_manager/dialogue_manager.gd b/addons/dialogue_manager/dialogue_manager.gd index 7d48e11711..468a772c1c 100644 --- a/addons/dialogue_manager/dialogue_manager.gd +++ b/addons/dialogue_manager/dialogue_manager.gd @@ -37,6 +37,19 @@ signal bridge_get_line_completed(call_index: int, line: DialogueLine) ## Used internally signal bridge_mutated(call_index: int) +const BALLOON_VARIANTS := { + "top": "res://scenes/ui_elements/dialogue/balloon_top.tscn", + "right": "res://scenes/ui_elements/dialogue/balloon_right.tscn", + "bottom": "res://scenes/ui_elements/dialogue/balloon_bottom.tscn", + "left": "res://scenes/ui_elements/dialogue/balloon_left.tscn", +} + +const BALLOON_SIMPLE_VARIANTS := { + "top": "res://scenes/ui_elements/dialogue/balloon_top_simple.tscn", + "right": "res://scenes/ui_elements/dialogue/balloon_right_simple.tscn", + "bottom": "res://scenes/ui_elements/dialogue/balloon_bottom_simple.tscn", + "left": "res://scenes/ui_elements/dialogue/balloon_left_simple.tscn", +} ## The list of globals that dialogue can query var game_states: Array = [] @@ -515,7 +528,15 @@ func show_example_dialogue_balloon(resource: DialogueResource, title: String = " ## Show the configured dialogue balloon func show_dialogue_balloon(resource: DialogueResource, title: String = "", extra_game_states: Array = []) -> Node: - var balloon_path: String = DMSettings.get_setting(DMSettings.BALLOON_PATH, _get_example_balloon_path()) + var is_player_at_bottom := true + var player: Node2D = get_tree().get_first_node_in_group("player") + if player: + var viewport := player.get_viewport() + var screen_pos: Vector2 = viewport.get_canvas_transform() * player.global_position + var viewport_size: Vector2 = viewport.get_visible_rect().size + is_player_at_bottom = screen_pos.y > viewport_size.y / 2.0 + var balloon_path: String = BALLOON_SIMPLE_VARIANTS["top"] if is_player_at_bottom else BALLOON_SIMPLE_VARIANTS["bottom"] + # var balloon_path: String = DMSettings.get_setting(DMSettings.BALLOON_PATH, _get_example_balloon_path()) if not ResourceLoader.exists(balloon_path): balloon_path = _get_example_balloon_path() return show_dialogue_balloon_scene(balloon_path, resource, title, extra_game_states) diff --git a/scenes/ui_elements/components/theme.tres b/scenes/ui_elements/components/theme.tres index 4014183a7c..ebda2fe9b3 100644 --- a/scenes/ui_elements/components/theme.tres +++ b/scenes/ui_elements/components/theme.tres @@ -9,6 +9,7 @@ [ext_resource type="Texture2D" uid="uid://ccavio2v8sk7c" path="res://assets/third_party/tiny-swords/UI/Banners/Carved_3Slides.png" id="5_7k42u"] [ext_resource type="Texture2D" uid="uid://c3yokak1jgx7" path="res://assets/third_party/tiny-swords/UI/Banners/Banner_Vertical.png" id="5_mu1ca"] [ext_resource type="Texture2D" uid="uid://1po5xmfs16ot" path="res://assets/third_party/tiny-swords/UI/Ribbons/Ribbon_BlueLight_3Slides.png" id="7_mtpqe"] +[ext_resource type="Texture2D" uid="uid://dh4tixu06hfwt" path="res://assets/third_party/tiny-swords/UI/Banners/Carved_9Slides.png" id="8_iqqbk"] [ext_resource type="FontFile" uid="uid://db8kp7xkv7gyn" path="res://assets/third_party/fonts/jersey/Jersey15-Regular.ttf" id="9_ig61n"] [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_iy6d2"] @@ -110,6 +111,8 @@ texture_margin_bottom = 12.0 axis_stretch_horizontal = 1 axis_stretch_vertical = 1 +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_iqqbk"] + [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_7k42u"] content_margin_bottom = 18.0 texture = ExtResource("1_rtjv3") @@ -118,6 +121,20 @@ texture_margin_right = 64.0 axis_stretch_horizontal = 2 axis_stretch_vertical = 2 +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_iqqbk"] +content_margin_left = 0.0 +content_margin_top = 0.0 +content_margin_right = 0.0 +content_margin_bottom = 0.0 +texture = ExtResource("8_iqqbk") +texture_margin_left = 32.0 +texture_margin_top = 32.0 +texture_margin_right = 32.0 +texture_margin_bottom = 32.0 +axis_stretch_horizontal = 1 +axis_stretch_vertical = 1 +modulate_color = Color(0.28, 0.28, 0.28, 1) + [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_mu1ca"] content_margin_left = 64.0 content_margin_top = 48.0 @@ -135,6 +152,8 @@ expand_margin_bottom = 16.0 axis_stretch_horizontal = 1 axis_stretch_vertical = 1 +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_2yky8"] + [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_qmeow"] content_margin_bottom = 18.0 texture = ExtResource("7_mtpqe") @@ -199,9 +218,19 @@ MarginContainer/constants/margin_bottom = 16 MarginContainer/constants/margin_left = 16 MarginContainer/constants/margin_right = 16 MarginContainer/constants/margin_top = 16 +NPCNoRibbon/base_type = &"PanelContainer" +NPCNoRibbon/styles/panel = SubResource("StyleBoxEmpty_iqqbk") NPCRibbon/base_type = &"PanelContainer" NPCRibbon/styles/panel = SubResource("StyleBoxTexture_7k42u") +NextButton/base_type = &"Button" +NextButton/styles/disabled = SubResource("StyleBoxTexture_iqqbk") +NextButton/styles/focus = SubResource("StyleBoxTexture_iqqbk") +NextButton/styles/hover = SubResource("StyleBoxTexture_iqqbk") +NextButton/styles/normal = SubResource("StyleBoxTexture_iqqbk") +NextButton/styles/pressed = SubResource("StyleBoxTexture_iqqbk") PanelContainer/styles/panel = SubResource("StyleBoxTexture_mu1ca") +PlayerNoRibbon/base_type = &"PanelContainer" +PlayerNoRibbon/styles/panel = SubResource("StyleBoxEmpty_2yky8") PlayerRibbon/base_type = &"PanelContainer" PlayerRibbon/styles/panel = SubResource("StyleBoxTexture_qmeow") RichTextLabel/colors/default_color = Color(0, 0, 0, 1) diff --git a/scenes/ui_elements/dialogue/balloon_bottom.tscn b/scenes/ui_elements/dialogue/balloon_bottom.tscn new file mode 100644 index 0000000000..8f550b93df --- /dev/null +++ b/scenes/ui_elements/dialogue/balloon_bottom.tscn @@ -0,0 +1,94 @@ +[gd_scene format=3 uid="uid://3vqiyiuqusa6"] + +[ext_resource type="Script" uid="uid://n1guv6m28qbw" path="res://scenes/ui_elements/dialogue/components/balloon.gd" id="1_iren2"] +[ext_resource type="Theme" uid="uid://cvitou84ni7qe" path="res://scenes/ui_elements/components/theme.tres" id="2_hfoq0"] +[ext_resource type="PackedScene" uid="uid://ckvgyvclnwggo" path="res://addons/dialogue_manager/dialogue_label.tscn" id="3_x03ja"] +[ext_resource type="Texture2D" uid="uid://ctvutcaoqvftf" path="res://assets/first_party/icons/right_arrow.png" id="4_robwq"] +[ext_resource type="Script" uid="uid://bb52rsfwhkxbn" path="res://addons/dialogue_manager/dialogue_responses_menu.gd" id="5_yvslu"] +[ext_resource type="AudioStream" uid="uid://cs1bx2odpj6vm" path="res://scenes/ui_elements/dialogue/components/sounds/pencil.ogg" id="6_nlt11"] + +[node name="DialogueBalloon" type="CanvasLayer" unique_id=308207015] +layer = 100 +script = ExtResource("1_iren2") + +[node name="Balloon" type="Control" parent="." unique_id=2032365240] +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 = ExtResource("2_hfoq0") + +[node name="PanelContainer" type="PanelContainer" parent="Balloon" unique_id=58550594] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.5 +anchor_top = 1.0 +anchor_right = 0.5 +anchor_bottom = 1.0 +offset_left = -416.0 +offset_top = 4096.0 +offset_right = 416.0 +grow_horizontal = 2 +grow_vertical = 0 + +[node name="VBoxContainer" type="VBoxContainer" parent="Balloon/PanelContainer" unique_id=412895659] +custom_minimum_size = Vector2(704, 0) +layout_mode = 2 +size_flags_vertical = 8 +theme_override_constants/separation = 3 + +[node name="CharacterPanel" type="PanelContainer" parent="Balloon/PanelContainer/VBoxContainer" unique_id=383126775] +unique_name_in_owner = true +custom_minimum_size = Vector2(0, 64) +layout_mode = 2 +size_flags_horizontal = 0 +theme_type_variation = &"NPCRibbon" + +[node name="CharacterLabel" type="Label" parent="Balloon/PanelContainer/VBoxContainer/CharacterPanel" unique_id=172265592] +unique_name_in_owner = true +layout_mode = 2 +mouse_filter = 1 +text = "Musician" +horizontal_alignment = 1 + +[node name="DialogueLabel" parent="Balloon/PanelContainer/VBoxContainer" unique_id=728821532 instance=ExtResource("3_x03ja")] +unique_name_in_owner = true +layout_mode = 2 +text = "¡Ah! ¿Another wanderer? It’s been a while siñce aňyone çame löõkiŋ for instead of «treaßure»." +skip_action = &"dialogue_skip" + +[node name="NextButton" type="Button" parent="Balloon/PanelContainer/VBoxContainer" unique_id=110419078] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 8 +theme_type_variation = &"FlatNextButton" +text = "next" +icon = ExtResource("4_robwq") +icon_alignment = 2 + +[node name="ResponsesMenu" type="VBoxContainer" parent="Balloon/PanelContainer/VBoxContainer" unique_id=938619174 node_paths=PackedStringArray("response_template")] +unique_name_in_owner = true +visible = false +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 8 +theme_override_constants/separation = 2 +script = ExtResource("5_yvslu") +response_template = NodePath("ResponseExample") + +[node name="ResponseExample" type="Button" parent="Balloon/PanelContainer/VBoxContainer/ResponsesMenu" unique_id=957333658] +layout_mode = 2 +theme_type_variation = &"FlatButton" +text = "Response example" + +[node name="TalkSoundPlayer" type="AudioStreamPlayer" parent="." unique_id=1778551533] +stream = ExtResource("6_nlt11") +volume_db = 2.0 +bus = &"SFX" +parameters/looping = true + +[connection signal="gui_input" from="Balloon" to="." method="_on_balloon_gui_input"] +[connection signal="response_selected" from="Balloon/PanelContainer/VBoxContainer/ResponsesMenu" to="." method="_on_responses_menu_response_selected"] diff --git a/scenes/ui_elements/dialogue/balloon_bottom_simple.tscn b/scenes/ui_elements/dialogue/balloon_bottom_simple.tscn new file mode 100644 index 0000000000..c9bc2976ce --- /dev/null +++ b/scenes/ui_elements/dialogue/balloon_bottom_simple.tscn @@ -0,0 +1,143 @@ +[gd_scene format=3 uid="uid://cklb5tsenn428"] + +[ext_resource type="Script" uid="uid://n1guv6m28qbw" path="res://scenes/ui_elements/dialogue/components/balloon.gd" id="1_a72yx"] +[ext_resource type="Theme" uid="uid://cvitou84ni7qe" path="res://scenes/ui_elements/components/theme.tres" id="2_qgnmu"] +[ext_resource type="Texture2D" uid="uid://dh4tixu06hfwt" path="res://assets/third_party/tiny-swords/UI/Banners/Carved_9Slides.png" id="3_qgnmu"] +[ext_resource type="Material" uid="uid://cruf3tlajs4jo" path="res://scenes/ui_elements/input_hints/components/drop_shadow_material.tres" id="3_ror8n"] +[ext_resource type="PackedScene" uid="uid://ckvgyvclnwggo" path="res://addons/dialogue_manager/dialogue_label.tscn" id="3_v4opp"] +[ext_resource type="Texture2D" uid="uid://c6fggds355rko" path="res://assets/third_party/inputs/atlas_kenney_input_prompts_1.4/keyboard/keyboard_space_outline.tres" id="4_rrpqg"] +[ext_resource type="Script" uid="uid://cbj0406q05dly" path="res://scenes/game_elements/props/hint/input_key/interact_input.gd" id="5_74i7w"] +[ext_resource type="Script" uid="uid://bb52rsfwhkxbn" path="res://addons/dialogue_manager/dialogue_responses_menu.gd" id="5_ror8n"] +[ext_resource type="Resource" uid="uid://c1beocky1qjxi" path="res://scenes/game_elements/props/hint/resources/devices.tres" id="6_dnq1s"] +[ext_resource type="AudioStream" uid="uid://cs1bx2odpj6vm" path="res://scenes/ui_elements/dialogue/components/sounds/pencil.ogg" id="6_rrpqg"] + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_beq22"] +content_margin_left = 16.0 +content_margin_top = 16.0 +content_margin_right = 16.0 +content_margin_bottom = 16.0 +texture = ExtResource("3_qgnmu") +texture_margin_left = 64.0 +texture_margin_top = 64.0 +texture_margin_right = 64.0 +texture_margin_bottom = 64.0 +axis_stretch_horizontal = 1 +axis_stretch_vertical = 1 +modulate_color = Color(1.3807716, 1.3807716, 1.3807716, 0.83137256) + +[node name="DialogueBalloon" type="CanvasLayer" unique_id=308207015] +layer = 100 +script = ExtResource("1_a72yx") + +[node name="Balloon" type="Control" parent="." unique_id=2032365240] +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 = ExtResource("2_qgnmu") + +[node name="VBoxContainer" type="VBoxContainer" parent="Balloon" unique_id=701404412] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.5 +anchor_top = 1.0 +anchor_right = 0.5 +anchor_bottom = 1.0 +offset_left = -384.0 +offset_top = 4096.0 +offset_right = 384.0 +grow_horizontal = 2 +grow_vertical = 0 +pivot_offset_ratio = Vector2(0.5, 1) +theme_override_constants/separation = -38 + +[node name="NextButton" type="Button" parent="Balloon/VBoxContainer" unique_id=1047703477] +unique_name_in_owner = true +z_index = 1 +custom_minimum_size = Vector2(64, 64) +layout_mode = 2 +size_flags_horizontal = 8 +theme_type_variation = &"NextButton" + +[node name="RepelHint" type="TextureRect" parent="Balloon/VBoxContainer/NextButton" unique_id=661213085] +material = ExtResource("3_ror8n") +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -32.0 +offset_top = -32.0 +offset_right = 32.0 +offset_bottom = 32.0 +grow_horizontal = 2 +grow_vertical = 2 +size_flags_horizontal = 8 +size_flags_vertical = 8 +texture = ExtResource("4_rrpqg") +script = ExtResource("5_74i7w") +action_name = &"interact" +devices = ExtResource("6_dnq1s") + +[node name="MarginContainer" type="MarginContainer" parent="Balloon/VBoxContainer" unique_id=1972618856] +layout_mode = 2 +theme_override_constants/margin_left = 0 +theme_override_constants/margin_top = 0 +theme_override_constants/margin_bottom = 0 + +[node name="PanelContainer" type="PanelContainer" parent="Balloon/VBoxContainer/MarginContainer" unique_id=58550594] +layout_mode = 2 +theme_override_styles/panel = SubResource("StyleBoxTexture_beq22") + +[node name="VBoxContainer" type="VBoxContainer" parent="Balloon/VBoxContainer/MarginContainer/PanelContainer" unique_id=412895659] +custom_minimum_size = Vector2(704, 0) +layout_mode = 2 +size_flags_vertical = 8 +theme_override_constants/separation = 3 + +[node name="CharacterPanel" type="PanelContainer" parent="Balloon/VBoxContainer/MarginContainer/PanelContainer/VBoxContainer" unique_id=383126775] +unique_name_in_owner = true +layout_mode = 2 +theme_type_variation = &"NPCNoRibbon" + +[node name="CharacterLabel" type="RichTextLabel" parent="Balloon/VBoxContainer/MarginContainer/PanelContainer/VBoxContainer/CharacterPanel" unique_id=109841824] +unique_name_in_owner = true +layout_mode = 2 +mouse_filter = 1 +bbcode_enabled = true +text = "[u][color=#000000]Musician" +fit_content = true + +[node name="DialogueLabel" parent="Balloon/VBoxContainer/MarginContainer/PanelContainer/VBoxContainer" unique_id=728821532 instance=ExtResource("3_v4opp")] +unique_name_in_owner = true +layout_mode = 2 +text = "¡Ah! ¿Another wanderer? It’s been a while siñce aňyone çame löõkiŋ for instead of «treaßure»." +skip_action = &"dialogue_skip" + +[node name="ResponsesMenu" type="VBoxContainer" parent="Balloon/VBoxContainer/MarginContainer/PanelContainer/VBoxContainer" unique_id=938619174 node_paths=PackedStringArray("response_template")] +unique_name_in_owner = true +visible = false +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 8 +theme_override_constants/separation = 2 +script = ExtResource("5_ror8n") +response_template = NodePath("ResponseExample") + +[node name="ResponseExample" type="Button" parent="Balloon/VBoxContainer/MarginContainer/PanelContainer/VBoxContainer/ResponsesMenu" unique_id=957333658] +layout_mode = 2 +theme_type_variation = &"FlatButton" +text = "Response example" + +[node name="TalkSoundPlayer" type="AudioStreamPlayer" parent="." unique_id=1778551533] +stream = ExtResource("6_rrpqg") +volume_db = 2.0 +bus = &"SFX" +parameters/looping = true + +[connection signal="gui_input" from="Balloon" to="." method="_on_balloon_gui_input"] +[connection signal="response_selected" from="Balloon/VBoxContainer/MarginContainer/PanelContainer/VBoxContainer/ResponsesMenu" to="." method="_on_responses_menu_response_selected"] diff --git a/scenes/ui_elements/dialogue/balloon.tscn b/scenes/ui_elements/dialogue/balloon_left.tscn similarity index 100% rename from scenes/ui_elements/dialogue/balloon.tscn rename to scenes/ui_elements/dialogue/balloon_left.tscn diff --git a/scenes/ui_elements/dialogue/balloon_left_simple.tscn b/scenes/ui_elements/dialogue/balloon_left_simple.tscn new file mode 100644 index 0000000000..cc2849a35a --- /dev/null +++ b/scenes/ui_elements/dialogue/balloon_left_simple.tscn @@ -0,0 +1,96 @@ +[gd_scene format=3 uid="uid://byqupqcoaocxg"] + +[ext_resource type="Script" uid="uid://n1guv6m28qbw" path="res://scenes/ui_elements/dialogue/components/balloon.gd" id="1_e61yc"] +[ext_resource type="Theme" uid="uid://cvitou84ni7qe" path="res://scenes/ui_elements/components/theme.tres" id="2_g6ctl"] +[ext_resource type="Texture2D" uid="uid://dh4tixu06hfwt" path="res://assets/third_party/tiny-swords/UI/Banners/Carved_9Slides.png" id="3_g6ctl"] +[ext_resource type="PackedScene" uid="uid://ckvgyvclnwggo" path="res://addons/dialogue_manager/dialogue_label.tscn" id="3_x84yq"] +[ext_resource type="Texture2D" uid="uid://ctvutcaoqvftf" path="res://assets/first_party/icons/right_arrow.png" id="4_723pg"] +[ext_resource type="Script" uid="uid://bb52rsfwhkxbn" path="res://addons/dialogue_manager/dialogue_responses_menu.gd" id="5_7tvoj"] +[ext_resource type="AudioStream" uid="uid://cs1bx2odpj6vm" path="res://scenes/ui_elements/dialogue/components/sounds/pencil.ogg" id="6_bbwuq"] + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_beq22"] +content_margin_left = 16.0 +content_margin_top = 16.0 +content_margin_right = 16.0 +content_margin_bottom = 16.0 +texture = ExtResource("3_g6ctl") +texture_margin_left = 64.0 +texture_margin_top = 64.0 +texture_margin_right = 64.0 +texture_margin_bottom = 64.0 +axis_stretch_horizontal = 1 +axis_stretch_vertical = 1 +modulate_color = Color(1.3807716, 1.3807716, 1.3807716, 0.83137256) + +[node name="DialogueBalloon" type="CanvasLayer" unique_id=308207015] +layer = 100 +script = ExtResource("1_e61yc") + +[node name="Balloon" type="Control" parent="." unique_id=2032365240] +unique_name_in_owner = true +layout_mode = 3 +anchors_preset = 0 +theme = ExtResource("2_g6ctl") + +[node name="PanelContainer" type="PanelContainer" parent="Balloon" unique_id=58550594] +layout_mode = 0 +offset_right = 480.0 +offset_bottom = 359.0 +theme_override_styles/panel = SubResource("StyleBoxTexture_beq22") + +[node name="VBoxContainer" type="VBoxContainer" parent="Balloon/PanelContainer" unique_id=412895659] +custom_minimum_size = Vector2(352, 128) +layout_mode = 2 + +[node name="CharacterPanel" type="PanelContainer" parent="Balloon/PanelContainer/VBoxContainer" unique_id=383126775] +unique_name_in_owner = true +custom_minimum_size = Vector2(0, 64) +layout_mode = 2 +size_flags_horizontal = 0 +theme_type_variation = &"NPCRibbon" + +[node name="CharacterLabel" type="Label" parent="Balloon/PanelContainer/VBoxContainer/CharacterPanel" unique_id=172265592] +unique_name_in_owner = true +layout_mode = 2 +mouse_filter = 1 +text = "Musician" +horizontal_alignment = 1 + +[node name="DialogueLabel" parent="Balloon/PanelContainer/VBoxContainer" unique_id=728821532 instance=ExtResource("3_x84yq")] +unique_name_in_owner = true +layout_mode = 2 +size_flags_vertical = 3 +text = "¡Ah! ¿Another wanderer? It’s been a while siñce aňyone çame löõkiŋ for instead of «treaßure»." +skip_action = &"dialogue_skip" + +[node name="NextButton" type="Button" parent="Balloon/PanelContainer/VBoxContainer" unique_id=110419078] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 8 +theme_type_variation = &"FlatNextButton" +text = "next" +icon = ExtResource("4_723pg") +icon_alignment = 2 + +[node name="ResponsesMenu" type="VBoxContainer" parent="Balloon/PanelContainer/VBoxContainer" unique_id=938619174 node_paths=PackedStringArray("response_template")] +unique_name_in_owner = true +visible = false +layout_mode = 2 +size_flags_vertical = 8 +theme_override_constants/separation = 2 +script = ExtResource("5_7tvoj") +response_template = NodePath("ResponseExample") + +[node name="ResponseExample" type="Button" parent="Balloon/PanelContainer/VBoxContainer/ResponsesMenu" unique_id=957333658] +layout_mode = 2 +theme_type_variation = &"FlatButton" +text = "Response example" + +[node name="TalkSoundPlayer" type="AudioStreamPlayer" parent="." unique_id=1778551533] +stream = ExtResource("6_bbwuq") +volume_db = 2.0 +bus = &"SFX" +parameters/looping = true + +[connection signal="gui_input" from="Balloon" to="." method="_on_balloon_gui_input"] +[connection signal="response_selected" from="Balloon/PanelContainer/VBoxContainer/ResponsesMenu" to="." method="_on_responses_menu_response_selected"] diff --git a/scenes/ui_elements/dialogue/balloon_right.tscn b/scenes/ui_elements/dialogue/balloon_right.tscn new file mode 100644 index 0000000000..d053772400 --- /dev/null +++ b/scenes/ui_elements/dialogue/balloon_right.tscn @@ -0,0 +1,104 @@ +[gd_scene format=3 uid="uid://7xepeq2ervwe"] + +[ext_resource type="Script" uid="uid://n1guv6m28qbw" path="res://scenes/ui_elements/dialogue/components/balloon.gd" id="1_cdyk6"] +[ext_resource type="Theme" uid="uid://cvitou84ni7qe" path="res://scenes/ui_elements/components/theme.tres" id="2_hqbf3"] +[ext_resource type="Texture2D" uid="uid://dh4tixu06hfwt" path="res://assets/third_party/tiny-swords/UI/Banners/Carved_9Slides.png" id="3_hqbf3"] +[ext_resource type="PackedScene" uid="uid://ckvgyvclnwggo" path="res://addons/dialogue_manager/dialogue_label.tscn" id="3_xmwi8"] +[ext_resource type="Texture2D" uid="uid://ctvutcaoqvftf" path="res://assets/first_party/icons/right_arrow.png" id="4_k6kn5"] +[ext_resource type="Script" uid="uid://bb52rsfwhkxbn" path="res://addons/dialogue_manager/dialogue_responses_menu.gd" id="5_mj2f8"] +[ext_resource type="AudioStream" uid="uid://cs1bx2odpj6vm" path="res://scenes/ui_elements/dialogue/components/sounds/pencil.ogg" id="6_dgaxk"] + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_beq22"] +content_margin_left = 16.0 +content_margin_top = 16.0 +content_margin_right = 16.0 +content_margin_bottom = 16.0 +texture = ExtResource("3_hqbf3") +texture_margin_left = 64.0 +texture_margin_top = 64.0 +texture_margin_right = 64.0 +texture_margin_bottom = 64.0 +axis_stretch_horizontal = 1 +axis_stretch_vertical = 1 +modulate_color = Color(1.3807716, 1.3807716, 1.3807716, 0.83137256) + +[node name="DialogueBalloon" type="CanvasLayer" unique_id=308207015] +layer = 100 +script = ExtResource("1_cdyk6") + +[node name="Balloon" type="Control" parent="." unique_id=2032365240] +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 = ExtResource("2_hqbf3") + +[node name="PanelContainer" type="PanelContainer" parent="Balloon" unique_id=58550594] +layout_mode = 1 +anchors_preset = 1 +anchor_left = 1.0 +anchor_right = 1.0 +offset_left = -480.0 +offset_bottom = 364.0 +grow_horizontal = 0 +theme_override_styles/panel = SubResource("StyleBoxTexture_beq22") + +[node name="VBoxContainer" type="VBoxContainer" parent="Balloon/PanelContainer" unique_id=412895659] +custom_minimum_size = Vector2(352, 128) +layout_mode = 2 + +[node name="CharacterPanel" type="PanelContainer" parent="Balloon/PanelContainer/VBoxContainer" unique_id=383126775] +unique_name_in_owner = true +custom_minimum_size = Vector2(0, 64) +layout_mode = 2 +size_flags_horizontal = 0 +theme_type_variation = &"NPCRibbon" + +[node name="CharacterLabel" type="Label" parent="Balloon/PanelContainer/VBoxContainer/CharacterPanel" unique_id=172265592] +unique_name_in_owner = true +layout_mode = 2 +mouse_filter = 1 +text = "Musician" +horizontal_alignment = 1 + +[node name="DialogueLabel" parent="Balloon/PanelContainer/VBoxContainer" unique_id=728821532 instance=ExtResource("3_xmwi8")] +unique_name_in_owner = true +layout_mode = 2 +size_flags_vertical = 3 +text = "¡Ah! ¿Another wanderer? It’s been a while siñce aňyone çame löõkiŋ for instead of «treaßure»." +skip_action = &"dialogue_skip" + +[node name="NextButton" type="Button" parent="Balloon/PanelContainer/VBoxContainer" unique_id=110419078] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 8 +theme_type_variation = &"FlatNextButton" +text = "next" +icon = ExtResource("4_k6kn5") +icon_alignment = 2 + +[node name="ResponsesMenu" type="VBoxContainer" parent="Balloon/PanelContainer/VBoxContainer" unique_id=938619174 node_paths=PackedStringArray("response_template")] +unique_name_in_owner = true +visible = false +layout_mode = 2 +size_flags_vertical = 8 +theme_override_constants/separation = 2 +script = ExtResource("5_mj2f8") +response_template = NodePath("ResponseExample") + +[node name="ResponseExample" type="Button" parent="Balloon/PanelContainer/VBoxContainer/ResponsesMenu" unique_id=957333658] +layout_mode = 2 +theme_type_variation = &"FlatButton" +text = "Response example" + +[node name="TalkSoundPlayer" type="AudioStreamPlayer" parent="." unique_id=1778551533] +stream = ExtResource("6_dgaxk") +volume_db = 2.0 +bus = &"SFX" +parameters/looping = true + +[connection signal="gui_input" from="Balloon" to="." method="_on_balloon_gui_input"] +[connection signal="response_selected" from="Balloon/PanelContainer/VBoxContainer/ResponsesMenu" to="." method="_on_responses_menu_response_selected"] diff --git a/scenes/ui_elements/dialogue/balloon_right_simple.tscn b/scenes/ui_elements/dialogue/balloon_right_simple.tscn new file mode 100644 index 0000000000..c5764b5a48 --- /dev/null +++ b/scenes/ui_elements/dialogue/balloon_right_simple.tscn @@ -0,0 +1,104 @@ +[gd_scene format=3 uid="uid://cht78hu25he5c"] + +[ext_resource type="Script" uid="uid://n1guv6m28qbw" path="res://scenes/ui_elements/dialogue/components/balloon.gd" id="1_g1h0m"] +[ext_resource type="Theme" uid="uid://cvitou84ni7qe" path="res://scenes/ui_elements/components/theme.tres" id="2_7i83g"] +[ext_resource type="Texture2D" uid="uid://dh4tixu06hfwt" path="res://assets/third_party/tiny-swords/UI/Banners/Carved_9Slides.png" id="3_nwgaa"] +[ext_resource type="PackedScene" uid="uid://ckvgyvclnwggo" path="res://addons/dialogue_manager/dialogue_label.tscn" id="4_3qvac"] +[ext_resource type="Texture2D" uid="uid://ctvutcaoqvftf" path="res://assets/first_party/icons/right_arrow.png" id="5_3ehnv"] +[ext_resource type="Script" uid="uid://bb52rsfwhkxbn" path="res://addons/dialogue_manager/dialogue_responses_menu.gd" id="6_w8pr6"] +[ext_resource type="AudioStream" uid="uid://cs1bx2odpj6vm" path="res://scenes/ui_elements/dialogue/components/sounds/pencil.ogg" id="7_6c2tv"] + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_beq22"] +content_margin_left = 16.0 +content_margin_top = 16.0 +content_margin_right = 16.0 +content_margin_bottom = 16.0 +texture = ExtResource("3_nwgaa") +texture_margin_left = 64.0 +texture_margin_top = 64.0 +texture_margin_right = 64.0 +texture_margin_bottom = 64.0 +axis_stretch_horizontal = 1 +axis_stretch_vertical = 1 +modulate_color = Color(1.3807716, 1.3807716, 1.3807716, 0.83137256) + +[node name="DialogueBalloon" type="CanvasLayer" unique_id=308207015] +layer = 100 +script = ExtResource("1_g1h0m") + +[node name="Balloon" type="Control" parent="." unique_id=2032365240] +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 = ExtResource("2_7i83g") + +[node name="PanelContainer" type="PanelContainer" parent="Balloon" unique_id=58550594] +layout_mode = 1 +anchors_preset = 1 +anchor_left = 1.0 +anchor_right = 1.0 +offset_left = -480.0 +offset_bottom = 364.0 +grow_horizontal = 0 +theme_override_styles/panel = SubResource("StyleBoxTexture_beq22") + +[node name="VBoxContainer" type="VBoxContainer" parent="Balloon/PanelContainer" unique_id=412895659] +custom_minimum_size = Vector2(352, 128) +layout_mode = 2 + +[node name="CharacterPanel" type="PanelContainer" parent="Balloon/PanelContainer/VBoxContainer" unique_id=383126775] +unique_name_in_owner = true +custom_minimum_size = Vector2(0, 64) +layout_mode = 2 +size_flags_horizontal = 0 +theme_type_variation = &"NPCRibbon" + +[node name="CharacterLabel" type="Label" parent="Balloon/PanelContainer/VBoxContainer/CharacterPanel" unique_id=172265592] +unique_name_in_owner = true +layout_mode = 2 +mouse_filter = 1 +text = "Musician" +horizontal_alignment = 1 + +[node name="DialogueLabel" parent="Balloon/PanelContainer/VBoxContainer" unique_id=728821532 instance=ExtResource("4_3qvac")] +unique_name_in_owner = true +layout_mode = 2 +size_flags_vertical = 3 +text = "¡Ah! ¿Another wanderer? It’s been a while siñce aňyone çame löõkiŋ for instead of «treaßure»." +skip_action = &"dialogue_skip" + +[node name="NextButton" type="Button" parent="Balloon/PanelContainer/VBoxContainer" unique_id=110419078] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 8 +theme_type_variation = &"FlatNextButton" +text = "next" +icon = ExtResource("5_3ehnv") +icon_alignment = 2 + +[node name="ResponsesMenu" type="VBoxContainer" parent="Balloon/PanelContainer/VBoxContainer" unique_id=938619174 node_paths=PackedStringArray("response_template")] +unique_name_in_owner = true +visible = false +layout_mode = 2 +size_flags_vertical = 8 +theme_override_constants/separation = 2 +script = ExtResource("6_w8pr6") +response_template = NodePath("ResponseExample") + +[node name="ResponseExample" type="Button" parent="Balloon/PanelContainer/VBoxContainer/ResponsesMenu" unique_id=957333658] +layout_mode = 2 +theme_type_variation = &"FlatButton" +text = "Response example" + +[node name="TalkSoundPlayer" type="AudioStreamPlayer" parent="." unique_id=1778551533] +stream = ExtResource("7_6c2tv") +volume_db = 2.0 +bus = &"SFX" +parameters/looping = true + +[connection signal="gui_input" from="Balloon" to="." method="_on_balloon_gui_input"] +[connection signal="response_selected" from="Balloon/PanelContainer/VBoxContainer/ResponsesMenu" to="." method="_on_responses_menu_response_selected"] diff --git a/scenes/ui_elements/dialogue/balloon_top.tscn b/scenes/ui_elements/dialogue/balloon_top.tscn new file mode 100644 index 0000000000..3836668bed --- /dev/null +++ b/scenes/ui_elements/dialogue/balloon_top.tscn @@ -0,0 +1,91 @@ +[gd_scene format=3 uid="uid://bsd1uv25hc41q"] + +[ext_resource type="Script" uid="uid://n1guv6m28qbw" path="res://scenes/ui_elements/dialogue/components/balloon.gd" id="1_1q71y"] +[ext_resource type="Theme" uid="uid://cvitou84ni7qe" path="res://scenes/ui_elements/components/theme.tres" id="2_ijg1l"] +[ext_resource type="PackedScene" uid="uid://ckvgyvclnwggo" path="res://addons/dialogue_manager/dialogue_label.tscn" id="3_1s4s2"] +[ext_resource type="Texture2D" uid="uid://ctvutcaoqvftf" path="res://assets/first_party/icons/right_arrow.png" id="4_hsoih"] +[ext_resource type="Script" uid="uid://bb52rsfwhkxbn" path="res://addons/dialogue_manager/dialogue_responses_menu.gd" id="5_o3dq1"] +[ext_resource type="AudioStream" uid="uid://cs1bx2odpj6vm" path="res://scenes/ui_elements/dialogue/components/sounds/pencil.ogg" id="6_vgmav"] + +[node name="DialogueBalloon2" type="CanvasLayer" unique_id=308207015] +layer = 100 +script = ExtResource("1_1q71y") + +[node name="Balloon" type="Control" parent="." unique_id=2032365240] +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 = ExtResource("2_ijg1l") + +[node name="PanelContainer" type="PanelContainer" parent="Balloon" unique_id=58550594] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.5 +anchor_right = 0.5 +offset_left = -416.0 +offset_right = 416.0 +offset_bottom = -4096.0 +grow_horizontal = 2 + +[node name="VBoxContainer" type="VBoxContainer" parent="Balloon/PanelContainer" unique_id=412895659] +custom_minimum_size = Vector2(704, 0) +layout_mode = 2 +size_flags_vertical = 8 +theme_override_constants/separation = 3 + +[node name="CharacterPanel" type="PanelContainer" parent="Balloon/PanelContainer/VBoxContainer" unique_id=383126775] +unique_name_in_owner = true +custom_minimum_size = Vector2(0, 64) +layout_mode = 2 +size_flags_horizontal = 0 +theme_type_variation = &"NPCRibbon" + +[node name="CharacterLabel" type="Label" parent="Balloon/PanelContainer/VBoxContainer/CharacterPanel" unique_id=172265592] +unique_name_in_owner = true +layout_mode = 2 +mouse_filter = 1 +text = "Musician" +horizontal_alignment = 1 + +[node name="DialogueLabel" parent="Balloon/PanelContainer/VBoxContainer" unique_id=728821532 instance=ExtResource("3_1s4s2")] +unique_name_in_owner = true +layout_mode = 2 +text = "¡Ah! ¿Another wanderer? It’s been a while siñce aňyone çame löõkiŋ for instead of «treaßure»." +skip_action = &"dialogue_skip" + +[node name="NextButton" type="Button" parent="Balloon/PanelContainer/VBoxContainer" unique_id=110419078] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 8 +theme_type_variation = &"FlatNextButton" +text = "next" +icon = ExtResource("4_hsoih") +icon_alignment = 2 + +[node name="ResponsesMenu" type="VBoxContainer" parent="Balloon/PanelContainer/VBoxContainer" unique_id=938619174 node_paths=PackedStringArray("response_template")] +unique_name_in_owner = true +visible = false +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 8 +theme_override_constants/separation = 2 +script = ExtResource("5_o3dq1") +response_template = NodePath("ResponseExample") + +[node name="ResponseExample" type="Button" parent="Balloon/PanelContainer/VBoxContainer/ResponsesMenu" unique_id=957333658] +layout_mode = 2 +theme_type_variation = &"FlatButton" +text = "Response example" + +[node name="TalkSoundPlayer" type="AudioStreamPlayer" parent="." unique_id=1778551533] +stream = ExtResource("6_vgmav") +volume_db = 2.0 +bus = &"SFX" +parameters/looping = true + +[connection signal="gui_input" from="Balloon" to="." method="_on_balloon_gui_input"] +[connection signal="response_selected" from="Balloon/PanelContainer/VBoxContainer/ResponsesMenu" to="." method="_on_responses_menu_response_selected"] diff --git a/scenes/ui_elements/dialogue/balloon_top_simple.tscn b/scenes/ui_elements/dialogue/balloon_top_simple.tscn new file mode 100644 index 0000000000..fb81f6a35f --- /dev/null +++ b/scenes/ui_elements/dialogue/balloon_top_simple.tscn @@ -0,0 +1,140 @@ +[gd_scene format=3 uid="uid://sm62s43fakna"] + +[ext_resource type="Script" uid="uid://n1guv6m28qbw" path="res://scenes/ui_elements/dialogue/components/balloon.gd" id="1_q3etn"] +[ext_resource type="Theme" uid="uid://cvitou84ni7qe" path="res://scenes/ui_elements/components/theme.tres" id="2_q2lh2"] +[ext_resource type="Material" uid="uid://cruf3tlajs4jo" path="res://scenes/ui_elements/input_hints/components/drop_shadow_material.tres" id="3_m0jcp"] +[ext_resource type="Texture2D" uid="uid://c6fggds355rko" path="res://assets/third_party/inputs/atlas_kenney_input_prompts_1.4/keyboard/keyboard_space_outline.tres" id="4_7f758"] +[ext_resource type="Script" uid="uid://cbj0406q05dly" path="res://scenes/game_elements/props/hint/input_key/interact_input.gd" id="5_46oki"] +[ext_resource type="Resource" uid="uid://c1beocky1qjxi" path="res://scenes/game_elements/props/hint/resources/devices.tres" id="6_7yx8l"] +[ext_resource type="Texture2D" uid="uid://dh4tixu06hfwt" path="res://assets/third_party/tiny-swords/UI/Banners/Carved_9Slides.png" id="7_vejbm"] +[ext_resource type="PackedScene" uid="uid://ckvgyvclnwggo" path="res://addons/dialogue_manager/dialogue_label.tscn" id="8_kddt6"] +[ext_resource type="Script" uid="uid://bb52rsfwhkxbn" path="res://addons/dialogue_manager/dialogue_responses_menu.gd" id="9_ielyn"] +[ext_resource type="AudioStream" uid="uid://cs1bx2odpj6vm" path="res://scenes/ui_elements/dialogue/components/sounds/pencil.ogg" id="10_5ktg7"] + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_beq22"] +content_margin_left = 16.0 +content_margin_top = 16.0 +content_margin_right = 16.0 +content_margin_bottom = 16.0 +texture = ExtResource("7_vejbm") +texture_margin_left = 64.0 +texture_margin_top = 64.0 +texture_margin_right = 64.0 +texture_margin_bottom = 64.0 +axis_stretch_horizontal = 1 +axis_stretch_vertical = 1 +modulate_color = Color(1.3807716, 1.3807716, 1.3807716, 0.83137256) + +[node name="DialogueBalloon" type="CanvasLayer" unique_id=308207015] +layer = 100 +script = ExtResource("1_q3etn") + +[node name="Balloon" type="Control" parent="." unique_id=2032365240] +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 = ExtResource("2_q2lh2") + +[node name="VBoxContainer" type="VBoxContainer" parent="Balloon" unique_id=701404412] +layout_mode = 1 +anchors_preset = 5 +anchor_left = 0.5 +anchor_right = 0.5 +offset_left = -384.0 +offset_right = 384.0 +offset_bottom = 151.0 +grow_horizontal = 2 +pivot_offset_ratio = Vector2(0.5, 1) +theme_override_constants/separation = -38 + +[node name="MarginContainer" type="MarginContainer" parent="Balloon/VBoxContainer" unique_id=1972618856] +layout_mode = 2 +theme_override_constants/margin_left = 0 +theme_override_constants/margin_top = 0 +theme_override_constants/margin_bottom = 0 + +[node name="PanelContainer" type="PanelContainer" parent="Balloon/VBoxContainer/MarginContainer" unique_id=58550594] +layout_mode = 2 +theme_override_styles/panel = SubResource("StyleBoxTexture_beq22") + +[node name="VBoxContainer" type="VBoxContainer" parent="Balloon/VBoxContainer/MarginContainer/PanelContainer" unique_id=412895659] +custom_minimum_size = Vector2(704, 0) +layout_mode = 2 +size_flags_vertical = 8 +theme_override_constants/separation = 3 + +[node name="CharacterPanel" type="PanelContainer" parent="Balloon/VBoxContainer/MarginContainer/PanelContainer/VBoxContainer" unique_id=383126775] +unique_name_in_owner = true +layout_mode = 2 +theme_type_variation = &"NPCNoRibbon" + +[node name="CharacterLabel" type="RichTextLabel" parent="Balloon/VBoxContainer/MarginContainer/PanelContainer/VBoxContainer/CharacterPanel" unique_id=109841824] +unique_name_in_owner = true +layout_mode = 2 +mouse_filter = 1 +bbcode_enabled = true +text = "[u][color=#000000]Musician" +fit_content = true + +[node name="DialogueLabel" parent="Balloon/VBoxContainer/MarginContainer/PanelContainer/VBoxContainer" unique_id=728821532 instance=ExtResource("8_kddt6")] +unique_name_in_owner = true +layout_mode = 2 +text = "¡Ah! ¿Another wanderer? It’s been a while siñce aňyone çame löõkiŋ for instead of «treaßure»." +skip_action = &"dialogue_skip" + +[node name="ResponsesMenu" type="VBoxContainer" parent="Balloon/VBoxContainer/MarginContainer/PanelContainer/VBoxContainer" unique_id=938619174 node_paths=PackedStringArray("response_template")] +unique_name_in_owner = true +visible = false +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 8 +theme_override_constants/separation = 2 +script = ExtResource("9_ielyn") +response_template = NodePath("ResponseExample") + +[node name="ResponseExample" type="Button" parent="Balloon/VBoxContainer/MarginContainer/PanelContainer/VBoxContainer/ResponsesMenu" unique_id=957333658] +layout_mode = 2 +theme_type_variation = &"FlatButton" +text = "Response example" + +[node name="NextButton" type="Button" parent="Balloon/VBoxContainer" unique_id=1047703477] +unique_name_in_owner = true +z_index = 1 +custom_minimum_size = Vector2(64, 64) +layout_mode = 2 +size_flags_horizontal = 8 +theme_type_variation = &"NextButton" + +[node name="RepelHint" type="TextureRect" parent="Balloon/VBoxContainer/NextButton" unique_id=661213085] +material = ExtResource("3_m0jcp") +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -32.0 +offset_top = -32.0 +offset_right = 32.0 +offset_bottom = 32.0 +grow_horizontal = 2 +grow_vertical = 2 +size_flags_horizontal = 8 +size_flags_vertical = 8 +texture = ExtResource("4_7f758") +script = ExtResource("5_46oki") +action_name = &"interact" +devices = ExtResource("6_7yx8l") + +[node name="TalkSoundPlayer" type="AudioStreamPlayer" parent="." unique_id=1778551533] +stream = ExtResource("10_5ktg7") +volume_db = 2.0 +bus = &"SFX" +parameters/looping = true + +[connection signal="gui_input" from="Balloon" to="." method="_on_balloon_gui_input"] +[connection signal="response_selected" from="Balloon/VBoxContainer/MarginContainer/PanelContainer/VBoxContainer/ResponsesMenu" to="." method="_on_responses_menu_response_selected"] diff --git a/scenes/ui_elements/dialogue/components/balloon.gd b/scenes/ui_elements/dialogue/components/balloon.gd index a495a1c67f..0bbcc1e912 100644 --- a/scenes/ui_elements/dialogue/components/balloon.gd +++ b/scenes/ui_elements/dialogue/components/balloon.gd @@ -57,7 +57,7 @@ var _player_name: String = "" @onready var character_panel: PanelContainer = %CharacterPanel ## The label showing the name of the currently speaking character -@onready var character_label: Label = %CharacterLabel +@onready var character_label: RichTextLabel = %CharacterLabel ## The label showing the currently spoken dialogue @onready var dialogue_label: DialogueLabel = %DialogueLabel @@ -123,12 +123,7 @@ func apply_dialogue_line() -> void: balloon.grab_focus() character_panel.visible = not dialogue_line.character.is_empty() - character_panel.theme_type_variation = ( - PLAYER_RIBBON_TYPE_VARIATION - if _player_name == dialogue_line.character - else NPC_RIBBON_TYPE_VARIATION - ) - character_label.text = tr(dialogue_line.character, "dialogue") + character_label.text = "[u]" + tr(dialogue_line.character, "dialogue") dialogue_label.hide() dialogue_label.dialogue_line = dialogue_line