diff --git a/Dialogue/Characters/Navigator.dch b/Dialogue/Characters/Navigator.dch new file mode 100644 index 00000000..6cd8de93 --- /dev/null +++ b/Dialogue/Characters/Navigator.dch @@ -0,0 +1,19 @@ +{ +"@path": "res://addons/dialogic/Resources/character.gd", +"@subpath": NodePath(""), +"_translation_id": "", +"color": Color(1, 1, 1, 1), +"custom_info": { +"sound_mood_default": "", +"sound_moods": {}, +"style": "" +}, +"default_portrait": "", +"description": "", +"display_name": "Navigator", +"mirror": false, +"nicknames": [""], +"offset": Vector2(0, 0), +"portraits": {}, +"scale": 1.0 +} \ No newline at end of file diff --git a/Dialogue/Characters/Rumia.dch b/Dialogue/Characters/Rumia.dch new file mode 100644 index 00000000..1037231a --- /dev/null +++ b/Dialogue/Characters/Rumia.dch @@ -0,0 +1,29 @@ +{ +"@path": "res://addons/dialogic/Resources/character.gd", +"@subpath": NodePath(""), +"_translation_id": "", +"color": Color(1, 1, 1, 1), +"custom_info": { +"sound_mood_default": "", +"sound_moods": {}, +"style": "" +}, +"default_portrait": "Default", +"description": "", +"display_name": "Rumia", +"mirror": false, +"nicknames": [""], +"offset": Vector2(0, 0), +"portraits": { +"Default": { +"export_overrides": { +"image": "\"res://Sprites/Actors/Rumia.png\"" +}, +"mirror": false, +"offset": Vector2(0, 0), +"scale": 1, +"scene": "" +} +}, +"scale": 1.0 +} \ No newline at end of file diff --git a/Dialogue/Characters/computer.dch b/Dialogue/Characters/computer.dch new file mode 100644 index 00000000..b914b249 --- /dev/null +++ b/Dialogue/Characters/computer.dch @@ -0,0 +1,29 @@ +{ +"@path": "res://addons/dialogic/Resources/character.gd", +"@subpath": NodePath(""), +"_translation_id": "", +"color": Color(1, 1, 1, 1), +"custom_info": { +"sound_mood_default": "", +"sound_moods": {}, +"style": "" +}, +"default_portrait": "default", +"description": "", +"display_name": "Computer", +"mirror": false, +"nicknames": [""], +"offset": Vector2(0, 0), +"portraits": { +"default": { +"export_overrides": { +"image": "\"res://Sprites/Portraits/Computer.png\"" +}, +"mirror": false, +"offset": Vector2(0, 0), +"scale": 1, +"scene": "" +} +}, +"scale": 1.0 +} \ No newline at end of file diff --git a/Dialogue/Styles/Computer_Style.tres b/Dialogue/Styles/Computer_Style.tres new file mode 100644 index 00000000..833613f3 --- /dev/null +++ b/Dialogue/Styles/Computer_Style.tres @@ -0,0 +1,74 @@ +[gd_resource type="Resource" script_class="DialogicStyle" load_steps=18 format=3 uid="uid://colrg0i302n1y"] + +[ext_resource type="Script" path="res://addons/dialogic/Resources/dialogic_style_layer.gd" id="1_5pxx8"] +[ext_resource type="PackedScene" uid="uid://c1k5m0w3r40xf" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_FullBackground/full_background_layer.tscn" id="2_omxqb"] +[ext_resource type="PackedScene" uid="uid://cn674foxwedqu" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_Input/full_advance_input_layer.tscn" id="3_hwmwc"] +[ext_resource type="PackedScene" path="res://Dialogue/Styles/Layers/TextboxWithPortrait/custom_textbox_with_portrait_.tscn" id="4_q2bg1"] +[ext_resource type="PackedScene" uid="uid://dsbwnp5hegnu3" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_Glossary/glossary_popup_layer.tscn" id="5_tyx7t"] +[ext_resource type="PackedScene" uid="uid://dhk6j6eb6e3q" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_VN_Choices/vn_choice_layer.tscn" id="6_h46rb"] +[ext_resource type="PackedScene" uid="uid://cvgf4c6gg0tsy" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_TextInput/text_input_layer.tscn" id="7_mhlqd"] +[ext_resource type="PackedScene" uid="uid://lx24i8fl6uo" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_History/history_layer.tscn" id="8_sf1vu"] +[ext_resource type="Script" path="res://addons/dialogic/Resources/dialogic_style.gd" id="9_cga22"] + +[sub_resource type="Resource" id="Resource_0p1al"] +script = ExtResource("1_5pxx8") +overrides = {} + +[sub_resource type="Resource" id="Resource_lkh4h"] +script = ExtResource("1_5pxx8") +scene = ExtResource("2_omxqb") +overrides = {} + +[sub_resource type="Resource" id="Resource_kp0rr"] +script = ExtResource("1_5pxx8") +scene = ExtResource("3_hwmwc") +overrides = {} + +[sub_resource type="Resource" id="Resource_tj7qo"] +script = ExtResource("1_5pxx8") +scene = ExtResource("4_q2bg1") +overrides = { +"box_size": "Vector2(300, 80)", +"name_label_custom_size": "9.0", +"name_label_use_global_size": "false", +"text_custom_size": "6.0", +"text_use_global_size": "false" +} + +[sub_resource type="Resource" id="Resource_8ghaa"] +script = ExtResource("1_5pxx8") +scene = ExtResource("5_tyx7t") +overrides = {} + +[sub_resource type="Resource" id="Resource_skxtv"] +script = ExtResource("1_5pxx8") +scene = ExtResource("6_h46rb") +overrides = {} + +[sub_resource type="Resource" id="Resource_hx2hh"] +script = ExtResource("1_5pxx8") +scene = ExtResource("7_mhlqd") +overrides = {} + +[sub_resource type="Resource" id="Resource_b6uw4"] +script = ExtResource("1_5pxx8") +scene = ExtResource("8_sf1vu") +overrides = {} + +[resource] +script = ExtResource("9_cga22") +name = "Computer_Style" +layer_list = Array[String](["10", "11", "12", "13", "14", "15", "16"]) +layer_info = { +"": SubResource("Resource_0p1al"), +"10": SubResource("Resource_lkh4h"), +"11": SubResource("Resource_kp0rr"), +"12": SubResource("Resource_tj7qo"), +"13": SubResource("Resource_8ghaa"), +"14": SubResource("Resource_skxtv"), +"15": SubResource("Resource_hx2hh"), +"16": SubResource("Resource_b6uw4") +} +base_overrides = {} +layers = Array[ExtResource("1_5pxx8")]([]) +metadata/_latest_layer = "12" diff --git a/Dialogue/Styles/Layers/TextboxWithPortrait/custom_textbox_with_portrait_.tscn b/Dialogue/Styles/Layers/TextboxWithPortrait/custom_textbox_with_portrait_.tscn new file mode 100644 index 00000000..b54a8240 --- /dev/null +++ b/Dialogue/Styles/Layers/TextboxWithPortrait/custom_textbox_with_portrait_.tscn @@ -0,0 +1,124 @@ +[gd_scene load_steps=7 format=3 ] + +[ext_resource type="Script" path="res://addons/dialogic/Modules/Character/node_portrait_container.gd" id="1_4jxq7"] +[ext_resource type="Script" path="res://Dialogue/Styles/Layers/TextboxWithPortrait/speaker_portrait_textbox_layer.gd" id="1_7jt4d"] +[ext_resource type="Script" path="res://addons/dialogic/Modules/Text/node_name_label.gd" id="2_y0h34"] +[ext_resource type="Script" path="res://addons/dialogic/Modules/Text/node_dialog_text.gd" id="3_11puy"] +[ext_resource type="Script" path="res://addons/dialogic/Modules/Text/node_type_sound.gd" id="5_sr2qw"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_dmg1w"] +bg_color = Color(0.254902, 0.254902, 0.254902, 1) +skew = Vector2(0.073, 0) +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 + +[node name="TextboxWithSpeakerPortrait" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 +script = ExtResource("1_7jt4d") +box_panel = "res://addons/dialogic/Modules/DefaultLayoutParts/Layer_SpeakerPortraitTextbox/default_stylebox.tres" + +[node name="Anchor" type="Control" parent="."] +layout_mode = 1 +anchors_preset = 7 +anchor_left = 0.5 +anchor_top = 1.0 +anchor_right = 0.5 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 0 +mouse_filter = 2 + +[node name="Panel" type="PanelContainer" parent="Anchor"] +unique_name_in_owner = true +self_modulate = Color(0.533333, 0.376471, 0.176471, 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 = -250.0 +offset_top = -200.0 +offset_right = 250.0 +offset_bottom = -50.0 +grow_horizontal = 2 +grow_vertical = 0 +mouse_filter = 2 + +[node name="HBox" type="HBoxContainer" parent="Anchor/Panel"] +layout_mode = 2 +mouse_filter = 2 +theme_override_constants/separation = 15 + +[node name="PortraitPanel" type="Panel" parent="Anchor/Panel/HBox"] +unique_name_in_owner = true +clip_children = 1 +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_stretch_ratio = 0.3 +mouse_filter = 2 +theme_override_styles/panel = SubResource("StyleBoxFlat_dmg1w") + +[node name="PortraitBackgroundColor" type="ColorRect" parent="Anchor/Panel/HBox/PortraitPanel"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -7.0 +offset_top = -3.0 +offset_right = 7.0 +offset_bottom = 3.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 +color = Color(0, 0, 0, 0.231373) + +[node name="DialogicNode_PortraitContainer" type="Control" parent="Anchor/Panel/HBox/PortraitPanel/PortraitBackgroundColor"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_top = 4.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 +script = ExtResource("1_4jxq7") +mode = 1 +container_ids = PackedStringArray("1") +debug_character_portrait = "speaker" + +[node name="VBoxContainer" type="VBoxContainer" parent="Anchor/Panel/HBox"] +layout_mode = 2 +size_flags_horizontal = 3 +mouse_filter = 2 + +[node name="DialogicNode_NameLabel" type="Label" parent="Anchor/Panel/HBox/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +theme_override_font_sizes/font_size = 8 +text = "Name" +script = ExtResource("2_y0h34") + +[node name="DialogicNode_DialogText" type="RichTextLabel" parent="Anchor/Panel/HBox/VBoxContainer" node_paths=PackedStringArray("textbox_root")] +unique_name_in_owner = true +layout_mode = 2 +size_flags_vertical = 3 +theme_override_font_sizes/normal_font_size = 6 +bbcode_enabled = true +text = "Some text" +scroll_following = true +visible_characters_behavior = 1 +script = ExtResource("3_11puy") +textbox_root = NodePath("../../..") + +[node name="DialogicNode_TypeSounds" type="AudioStreamPlayer" parent="Anchor/Panel/HBox/VBoxContainer/DialogicNode_DialogText"] +script = ExtResource("5_sr2qw") diff --git a/Dialogue/Styles/Layers/TextboxWithPortrait/speaker_portrait_textbox_layer.gd b/Dialogue/Styles/Layers/TextboxWithPortrait/speaker_portrait_textbox_layer.gd new file mode 100644 index 00000000..61e3714b --- /dev/null +++ b/Dialogue/Styles/Layers/TextboxWithPortrait/speaker_portrait_textbox_layer.gd @@ -0,0 +1,129 @@ +@tool +extends DialogicLayoutLayer + +enum Alignments {LEFT, CENTER, RIGHT} +enum LimitedAlignments {LEFT=0, RIGHT=1} + +@export_group('Text') +@export_subgroup("Text") +@export var text_alignment: Alignments = Alignments.LEFT +@export_subgroup('Size') +@export var text_use_global_size: bool = true +@export var text_custom_size: int = 15 +@export_subgroup('Color') +@export var text_use_global_color: bool = true +@export var text_custom_color: Color = Color.WHITE +@export_subgroup('Fonts') +@export var use_global_fonts: bool = true +@export_file('*.ttf', '*.tres') var custom_normal_font: String = "" +@export_file('*.ttf', '*.tres') var custom_bold_font: String = "" +@export_file('*.ttf', '*.tres') var custom_italic_font: String = "" +@export_file('*.ttf', '*.tres') var custom_bold_italic_font: String = "" + +@export_group('Name Label') +@export_subgroup("Color") +enum NameLabelColorModes {GLOBAL_COLOR, CHARACTER_COLOR, CUSTOM_COLOR} +@export var name_label_color_mode: NameLabelColorModes = NameLabelColorModes.GLOBAL_COLOR +@export var name_label_custom_color: Color = Color.WHITE +@export_subgroup("Behaviour") +@export var name_label_alignment: Alignments = Alignments.LEFT +@export var name_label_hide_when_no_character: bool = false +@export_subgroup("Font & Size") +@export var name_label_use_global_size: bool = true +@export var name_label_custom_size: int = 15 +@export var name_label_use_global_font: bool = true +@export_file('*.ttf', '*.tres') var name_label_customfont: String = "" + +@export_group('Box') +@export_subgroup("Box") +@export_file('*.tres') var box_panel: String = this_folder.path_join("default_stylebox.tres") +@export var box_modulate_global_color: bool = true +@export var box_modulate_custom_color: Color = Color(0.47247135639191, 0.31728461384773, 0.16592600941658) +@export var box_size: Vector2 = Vector2(600, 160) +@export var box_distance: int = 25 + +@export_group('Portrait') +@export_subgroup('Portrait') +@export var portrait_stretch_factor: float = 0.3 +@export var portrait_position: LimitedAlignments = LimitedAlignments.LEFT +@export var portrait_bg_modulate: Color = Color(0, 0, 0, 0.5137255191803) + + +## Called by dialogic whenever export overrides might change +func _apply_export_overrides() -> void: + ## FONT SETTINGS + var dialog_text: DialogicNode_DialogText = %DialogicNode_DialogText + dialog_text.alignment = text_alignment as DialogicNode_DialogText.Alignment + + var text_size: int = text_custom_size + if text_use_global_size: + text_size = get_global_setting(&'font_size', text_custom_size) + + dialog_text.add_theme_font_size_override(&"normal_font_size", text_size) + dialog_text.add_theme_font_size_override(&"bold_font_size", text_size) + dialog_text.add_theme_font_size_override(&"italics_font_size", text_size) + dialog_text.add_theme_font_size_override(&"bold_italics_font_size", text_size) + + + var text_color: Color = text_custom_color + if text_use_global_color: + text_color = get_global_setting(&'font_color', text_custom_color) + dialog_text.add_theme_color_override(&"default_color", text_color) + + var normal_font: String = custom_normal_font + if use_global_fonts and ResourceLoader.exists(get_global_setting(&'font', '') as String): + normal_font = get_global_setting(&'font', '') + + if !normal_font.is_empty(): + dialog_text.add_theme_font_override(&"normal_font", load(normal_font) as Font) + if !custom_bold_font.is_empty(): + dialog_text.add_theme_font_override(&"bold_font", load(custom_bold_font) as Font) + if !custom_italic_font.is_empty(): + dialog_text.add_theme_font_override(&"italics_font", load(custom_italic_font) as Font) + if !custom_bold_italic_font.is_empty(): + dialog_text.add_theme_font_override(&"bold_italics_font", load(custom_bold_italic_font) as Font) + + ## BOX SETTINGS + var panel: PanelContainer = %Panel + var portrait_panel: Panel = %PortraitPanel + if box_modulate_global_color: + panel.self_modulate = get_global_setting(&'bg_color', box_modulate_custom_color) + else: + panel.self_modulate = box_modulate_custom_color + panel.size = box_size + panel.position = Vector2(-box_size.x/2, -box_size.y-box_distance) + portrait_panel.size_flags_stretch_ratio = portrait_stretch_factor + + var stylebox: StyleBox = load(box_panel) + panel.add_theme_stylebox_override(&'panel', stylebox) + + ## PORTRAIT SETTINGS + var portrait_background_color: ColorRect = %PortraitBackgroundColor + portrait_background_color.color = portrait_bg_modulate + + portrait_panel.get_parent().move_child(portrait_panel, portrait_position) + + ## NAME LABEL SETTINGS + var name_label: DialogicNode_NameLabel = %DialogicNode_NameLabel + if name_label_use_global_size: + name_label.add_theme_font_size_override(&"font_size", get_global_setting(&'font_size', name_label_custom_size) as int) + else: + name_label.add_theme_font_size_override(&"font_size", name_label_custom_size) + + var name_label_font: String = name_label_customfont + if name_label_use_global_font and ResourceLoader.exists(get_global_setting(&'font', '') as String): + name_label_font = get_global_setting(&'font', '') + if !name_label_font.is_empty(): + name_label.add_theme_font_override(&'font', load(name_label_font) as Font) + + name_label.use_character_color = false + match name_label_color_mode: + NameLabelColorModes.GLOBAL_COLOR: + name_label.add_theme_color_override(&"font_color", get_global_setting(&'font_color', name_label_custom_color) as Color) + NameLabelColorModes.CUSTOM_COLOR: + name_label.add_theme_color_override(&"font_color", name_label_custom_color) + NameLabelColorModes.CHARACTER_COLOR: + name_label.use_character_color = true + + name_label.horizontal_alignment = name_label_alignment as HorizontalAlignment + name_label.hide_when_empty = name_label_hide_when_no_character diff --git a/Dialogue/Styles/Textbox_style.tres b/Dialogue/Styles/Textbox_style.tres index 9f9a61e8..87cc86d6 100644 --- a/Dialogue/Styles/Textbox_style.tres +++ b/Dialogue/Styles/Textbox_style.tres @@ -1,5 +1,6 @@ -[gd_resource type="Resource" script_class="DialogicStyle" load_steps=18 format=3 uid="uid://o7nq8i88igxp"] +[gd_resource type="Resource" script_class="DialogicStyle" load_steps=19 format=3 uid="uid://o7nq8i88igxp"] +[ext_resource type="PackedScene" uid="uid://cqpb3ie51rwl5" path="res://addons/dialogic/Modules/DefaultLayoutParts/Base_Default/default_layout_base.tscn" id="1_4vo3k"] [ext_resource type="Script" path="res://addons/dialogic/Resources/dialogic_style_layer.gd" id="1_5pbjb"] [ext_resource type="PackedScene" uid="uid://c1k5m0w3r40xf" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_FullBackground/full_background_layer.tscn" id="2_6fieu"] [ext_resource type="PackedScene" uid="uid://cn674foxwedqu" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_Input/full_advance_input_layer.tscn" id="3_uwd3s"] @@ -12,6 +13,7 @@ [sub_resource type="Resource" id="Resource_ycww1"] script = ExtResource("1_5pbjb") +scene = ExtResource("1_4vo3k") overrides = {} [sub_resource type="Resource" id="Resource_fuhfn"] diff --git a/Dialogue/Styles/VN.tres b/Dialogue/Styles/VN.tres new file mode 100644 index 00000000..db44485d --- /dev/null +++ b/Dialogue/Styles/VN.tres @@ -0,0 +1,75 @@ +[gd_resource type="Resource" script_class="DialogicStyle" load_steps=20 format=3 uid="uid://b6omw5u7u4f3"] + +[ext_resource type="Script" path="res://addons/dialogic/Resources/dialogic_style_layer.gd" id="1_47mos"] +[ext_resource type="PackedScene" uid="uid://c1k5m0w3r40xf" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_FullBackground/full_background_layer.tscn" id="2_obap8"] +[ext_resource type="PackedScene" uid="uid://cy1y14inwkplb" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_VN_Portraits/vn_portrait_layer.tscn" id="3_kxjow"] +[ext_resource type="PackedScene" uid="uid://cn674foxwedqu" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_Input/full_advance_input_layer.tscn" id="4_d8rd6"] +[ext_resource type="PackedScene" uid="uid://bquja8jyk8kbr" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_VN_Textbox/vn_textbox_layer.tscn" id="5_bks8v"] +[ext_resource type="PackedScene" uid="uid://dsbwnp5hegnu3" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_Glossary/glossary_popup_layer.tscn" id="6_mk3bt"] +[ext_resource type="PackedScene" uid="uid://dhk6j6eb6e3q" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_VN_Choices/vn_choice_layer.tscn" id="7_8cj1f"] +[ext_resource type="PackedScene" uid="uid://cvgf4c6gg0tsy" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_TextInput/text_input_layer.tscn" id="8_aoqfk"] +[ext_resource type="PackedScene" uid="uid://lx24i8fl6uo" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_History/history_layer.tscn" id="9_86wuu"] +[ext_resource type="Script" path="res://addons/dialogic/Resources/dialogic_style.gd" id="10_ixmpf"] + +[sub_resource type="Resource" id="Resource_mqh25"] +script = ExtResource("1_47mos") +overrides = {} + +[sub_resource type="Resource" id="Resource_5h7h2"] +script = ExtResource("1_47mos") +scene = ExtResource("2_obap8") +overrides = {} + +[sub_resource type="Resource" id="Resource_qrpnw"] +script = ExtResource("1_47mos") +scene = ExtResource("3_kxjow") +overrides = {} + +[sub_resource type="Resource" id="Resource_dgo1k"] +script = ExtResource("1_47mos") +scene = ExtResource("4_d8rd6") +overrides = {} + +[sub_resource type="Resource" id="Resource_6e5ca"] +script = ExtResource("1_47mos") +scene = ExtResource("5_bks8v") +overrides = {} + +[sub_resource type="Resource" id="Resource_30jrk"] +script = ExtResource("1_47mos") +scene = ExtResource("6_mk3bt") +overrides = {} + +[sub_resource type="Resource" id="Resource_aobjt"] +script = ExtResource("1_47mos") +scene = ExtResource("7_8cj1f") +overrides = {} + +[sub_resource type="Resource" id="Resource_dr1ns"] +script = ExtResource("1_47mos") +scene = ExtResource("8_aoqfk") +overrides = {} + +[sub_resource type="Resource" id="Resource_tdu6c"] +script = ExtResource("1_47mos") +scene = ExtResource("9_86wuu") +overrides = {} + +[resource] +script = ExtResource("10_ixmpf") +name = "VN" +layer_list = Array[String](["10", "11", "12", "13", "14", "15", "16", "17"]) +layer_info = { +"": SubResource("Resource_mqh25"), +"10": SubResource("Resource_5h7h2"), +"11": SubResource("Resource_qrpnw"), +"12": SubResource("Resource_dgo1k"), +"13": SubResource("Resource_6e5ca"), +"14": SubResource("Resource_30jrk"), +"15": SubResource("Resource_aobjt"), +"16": SubResource("Resource_dr1ns"), +"17": SubResource("Resource_tdu6c") +} +base_overrides = {} +layers = Array[ExtResource("1_47mos")]([]) +metadata/_latest_layer = "13" diff --git a/Dialogue/Timelines/Rumia_Intro.dtl b/Dialogue/Timelines/Rumia_Intro.dtl new file mode 100644 index 00000000..20eba4fa --- /dev/null +++ b/Dialogue/Timelines/Rumia_Intro.dtl @@ -0,0 +1,6 @@ +Cirno: Rumia? Why are you here? +Rumia: I have no idea, I was flying through the forest in my darkness bubble and I ended up here +Cirno: Great, now follow me, I can protect you from the people here +Rumia: I don't want to be protected by you, I'm plenty strong myself +Cirno: No way, I am the strongest +Rumia: Well, let's settle this with a battle diff --git a/Dialogue/Timelines/computer1.dtl b/Dialogue/Timelines/computer1.dtl new file mode 100644 index 00000000..f9ba1be1 --- /dev/null +++ b/Dialogue/Timelines/computer1.dtl @@ -0,0 +1,3 @@ +computer: Hi, this is a computer, I display lore and data +Cirno: I cannot read +Navigator: Don't worry, I'll read it aloud for you through the ComLink diff --git a/Scenes/Activable/DialogueStarter.tscn b/Scenes/Activable/DialogueStarter.tscn new file mode 100644 index 00000000..593b2c99 --- /dev/null +++ b/Scenes/Activable/DialogueStarter.tscn @@ -0,0 +1,16 @@ +[gd_scene load_steps=3 format=3 uid="uid://cwtw1l6y54roe"] + +[ext_resource type="Script" path="res://Scripts/Activables/DialogueStarter.cs" id="1_nlikr"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_glhl1"] + +[node name="DialogueStarter" type="Area2D" node_paths=PackedStringArray("_dialogueEndActivationTargets")] +monitoring = false +monitorable = false +script = ExtResource("1_nlikr") +_trackName = "" +_dialogueEndActivationTargets = [] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource("CircleShape2D_glhl1") +disabled = true diff --git a/Scenes/Interactable/Computer.tscn b/Scenes/Interactable/Computer.tscn new file mode 100644 index 00000000..749724d8 --- /dev/null +++ b/Scenes/Interactable/Computer.tscn @@ -0,0 +1,17 @@ +[gd_scene load_steps=4 format=3 uid="uid://doqmmuuuprl3s"] + +[ext_resource type="Script" path="res://Scripts/Interactables/Switch.cs" id="1_62csb"] +[ext_resource type="Texture2D" uid="uid://dyk2r7qkhdtkp" path="res://Sprites/Props/Computer.png" id="1_bo0p8"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_wv7xi"] + +[node name="Computer" type="Area2D" groups=["Interactable"]] +collision_layer = 4 +collision_mask = 2 +script = ExtResource("1_62csb") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource("CircleShape2D_wv7xi") + +[node name="Sprite2D" type="Sprite2D" parent="."] +texture = ExtResource("1_bo0p8") diff --git a/Scenes/test.tscn b/Scenes/test.tscn index 5a180313..1f0513e2 100644 --- a/Scenes/test.tscn +++ b/Scenes/test.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=33 format=4 uid="uid://bv451a8wgty4u"] +[gd_scene load_steps=35 format=4 uid="uid://bv451a8wgty4u"] [ext_resource type="Script" path="res://Scripts/GameManager.cs" id="1_8tmoj"] [ext_resource type="PackedScene" uid="uid://bghghp5ep4w2j" path="res://Scenes/player.tscn" id="2_8mh54"] @@ -30,6 +30,8 @@ [ext_resource type="PackedScene" uid="uid://bdp710abe10s5" path="res://Scenes/Interactable/AreaTrigger.tscn" id="28_6au4t"] [ext_resource type="Script" path="res://Scripts/Activables/DialogueStarter.cs" id="29_pvkri"] [ext_resource type="PackedScene" uid="uid://byms2dhliyux0" path="res://Scenes/Actors/teleporter.tscn" id="30_8fdby"] +[ext_resource type="PackedScene" uid="uid://doqmmuuuprl3s" path="res://Scenes/Interactable/Computer.tscn" id="31_243ec"] +[ext_resource type="PackedScene" uid="uid://cwtw1l6y54roe" path="res://Scenes/Activable/DialogueStarter.tscn" id="32_68v02"] [sub_resource type="CircleShape2D" id="CircleShape2D_l22r0"] @@ -58,7 +60,7 @@ _solidLayer = NodePath("../Solid2") [node name="Solid2" type="TileMapLayer" parent="Factory Tilemaps" groups=["Solid"]] use_parent_material = true -tile_map_data = PackedByteArray("AADL//L/AAAAAAQAAADL//P/AAAAAAQAAADL//T/AAAAAAQAAADL//X/AAAAAAQAAADL//b/AAAAAAQAAADL//f/AAAAAAQAAADL//j/AAAAAAQAAADL//n/AAAAAAQAAADL//r/AAAAAAQAAADL//v/AAAAAAQAAADL//z/AAAAAAQAAADS//T/AAAAAAcAAADM//H/AAABAAcAAADN//H/AAABAAcAAADO//H/AAABAAcAAADP//H/AAABAAcAAADT//T/AAABAAcAAADU//T/AAABAAQAAADV//T/AAABAAQAAADW//T/AAABAAQAAADX//T/AAABAAcAAADO//f/AAAFAAoAAADN//f/AAAEAAoAAADM//f/AAADAAoAAADS//f/AAAEAAkAAADO//r/AAAFAAoAAADN//r/AAAEAAoAAADM//r/AAADAAoAAADS//r/AAADAAoAAADT//r/AAAEAAoAAADU//r/AAAEAAoAAADV//r/AAAEAAoAAADW//r/AAAEAAoAAADX//r/AAAEAAoAAADa//f/AAAAAAYAAADa//n/AAAAAAYAAADa//r/AAAAAAYAAADa//v/AAAAAAYAAADa//z/AAAAAAYAAADa//3/AAAAAAYAAADa//7/AAAAAAYAAADL//3/AAAAAAQAAADL//7/AAAAAAQAAADa////AAAAAAYAAADa/wAAAAAAAAYAAADY//r/AAAEAAoAAADZ//r/AAAFAAoAAADM//3/AAAEAAUAAADN//3/AAAEAAUAAADO//3/AAAEAAUAAADP//3/AAAEAAUAAADQ//3/AAAEAAUAAADR//3/AAAEAAUAAADS//3/AAAEAAUAAADT//3/AAAFAAUAAADX//3/AAADAAUAAADY//3/AAAEAAUAAADZ//3/AAAEAAUAAADX//7/AAADAAcAAADY////AAAEAAUAAADZ////AAAEAAUAAADT//7/AAAFAAcAAADS//7/AAAEAAUAAADR//7/AAAEAAUAAADQ//7/AAAEAAUAAADP//7/AAAEAAUAAADO//7/AAAEAAUAAADN//7/AAAEAAUAAADM//7/AAAEAAUAAADX/wEAAAAFAAcAAADW/wEAAAAEAAUAAADV/wEAAAAEAAUAAADU/wEAAAAEAAUAAADT/wEAAAAEAAUAAADX/wAAAAADAAYAAAC2////AAAFAAoAAAC1////AAAEAAoAAAC0////AAAEAAoAAACz////AAAEAAoAAACy////AAAEAAoAAACx////AAADAAoAAACx//7/AAAFAAkAAACx//3/AAADAAkAAAC2/wIAAAAFAAoAAAC1/wIAAAAEAAoAAAC0/wIAAAAEAAoAAACz/wIAAAAEAAoAAACy/wIAAAAEAAoAAACx/wIAAAAEAAoAAACw/wIAAAAEAAoAAACv/wIAAAAEAAoAAACu/wIAAAAEAAoAAACt/wIAAAAEAAoAAACs/wIAAAAEAAoAAACu////AAAFAAoAAACu//7/AAAFAAkAAACu//3/AAADAAkAAACt////AAAEAAoAAACs////AAAEAAoAAACr////AAAEAAoAAACq////AAAEAAoAAACp////AAAEAAoAAACr/wIAAAAEAAoAAACq/wIAAAAEAAoAAACp/wIAAAAEAAoAAADQ/wEAAAADAAUAAADR/wEAAAAEAAUAAADS/wEAAAAEAAUAAADQ/wIAAAADAAYAAADQ/wMAAAADAAcAAADR/wMAAAAEAAUAAADX////AAADAAUAAADY//7/AAAEAAUAAADZ//7/AAAEAAUAAADL/wkAAAAEAAQAAADM/wAAAQAAAAAAAQDM/wEAAQAAAAAAAQDM/wIAAQAAAAAAAQDM/wMAAQAAAAAAAQDR//b/AQAAAAAAAgDH//L/AQAAAAAABQDG//f/AAAFAAoAAADG//r/AQAAAAAABwDR//X/AQAAAAAAAQDM//T/AAABAAEAAADN//T/AAABAAEAAADO//T/AAABAAEAAADP//T/AAABAAEAAADQ//T/AAABAAEAAADR//T/AAABAAEAAADS//X/AAAEAAEAAADS//b/AAAEAAEAAADT//X/AAABAAEAAADT//b/AAABAAEAAADV//b/AAABAAEAAADV//X/AAABAAEAAADX//b/AAABAAEAAADX//X/AAABAAEAAADZ//b/AAABAAEAAADZ//X/AAABAAEAAADa//j/AAAAAAYAAADL////AAACAAYAAADL/wAAAAACAAYAAADL/wEAAAACAAYAAADL/wIAAAACAAYAAADL/wMAAAACAAYAAADL/wQAAAACAAYAAADL/wUAAAACAAYAAADL/wYAAAACAAYAAADL/wcAAAACAAYAAADL/wgAAAACAAYAAADa/wEAAAAAAAYAAADa/wIAAAAAAAYAAADa/wMAAAAAAAYAAADa/wQAAAAAAAYAAADa/wUAAAAAAAYAAADa/wYAAAAAAAYAAADa/wcAAAAAAAYAAADa/wgAAAAAAAYAAADa/wkAAAAAAAYAAADa/woAAAAAAAYAAADa/wsAAAAAAAYAAADa/wwAAAAAAAYAAADa/w0AAAAAAAYAAADa/w4AAAAAAAYAAADZ/w8AAAABAAUAAADY/w8AAAABAAUAAADX/w8AAAABAAUAAADW/w8AAAABAAUAAADV/w8AAAABAAUAAADU/w8AAAABAAUAAADT/w8AAAABAAUAAADS/w8AAAABAAUAAADR/w8AAAABAAUAAADQ/w8AAAABAAUAAADP/w8AAAABAAUAAADO/w8AAAABAAUAAADN/w8AAAABAAUAAADM/w8AAAABAAUAAADL/w4AAAACAAYAAADL/w0AAAAFAAQAAADK/w4AAAABAAUAAADJ/w4AAAABAAUAAADI/w4AAAABAAUAAADH/w4AAAABAAUAAADG/w4AAAABAAUAAADF/w4AAAABAAUAAADE/w4AAAABAAUAAADL/wsAAAAFAAEAAADL/woAAAAFAAEAAADK/woAAAABAAEAAADI/woAAAABAAEAAADH/woAAAABAAEAAADH/wkAAAABAAEAAADI/wkAAAABAAEAAADK/wkAAAABAAEAAADB/woAAAABAAEAAADC/woAAAABAAEAAADC/wkAAAABAAEAAADB/wkAAAABAAEAAAC//woAAAABAAEAAAC//wkAAAABAAEAAADJ/wkAAAADAAEAAADG/woAAAADAAEAAADG/wkAAAADAAEAAADD/woAAAADAAEAAADD/wkAAAADAAEAAADA/woAAAADAAEAAADA/wkAAAADAAEAAADD/w4AAAABAAUAAADC/w4AAAABAAUAAADB/w4AAAABAAUAAADA/w4AAAABAAUAAAC//w4AAAABAAUAAADU//b/AAADAAEAAADU//X/AAADAAEAAADW//b/AAADAAEAAADW//X/AAADAAEAAADY//b/AAADAAEAAADY//X/AAADAAEAAADT/wkAAQAAAAAAAgDU/wkAAQAAAAAAAgDU/woAAQAAAAAAAgDT/woAAQAAAAAAAgDT/wsAAQAAAAAAAgDU/wsAAQAAAAAAAgDU/wwAAQAAAAAAAgDT/wwAAQAAAAAAAgDS/wwAAQAAAAAAAgDR/wwAAQAAAAAAAgDR/wsAAQAAAAAAAgDS/wsAAQAAAAAAAgDS/woAAQAAAAAAAgDR/woAAQAAAAAAAgDS/wkAAQAAAAAAAgDR/wkAAQAAAAAAAgDM/woAAAAGAAMAAAC+/w0AAAAFAAQAAAC+/wkAAAAEAAQAAADB/wsAAQAAAAAAAgC8/w0AAQAAAAAAAgDA/wsAAQAAAAAAAQDZ/w0AAQAAAAAAAQDZ/w4AAQAAAAAAAQDY/w4AAQAAAAAAAQDM/w4AAQAAAAAAAQC9/wgAAAACAAEAAAC8/wgAAAACAAEAAAC7/wgAAAACAAEAAAC4/wgAAAACAAEAAAC3/wgAAAACAAEAAAC2/wgAAAACAAEAAAC1/wgAAAACAAYAAAC1/wkAAAACAAYAAAC1/woAAAACAAYAAAC1/wsAAAACAAYAAAC1/wwAAAACAAYAAAC1/w0AAAACAAYAAAC2/w4AAAABAAUAAAC3/w4AAAABAAUAAAC4/w4AAAABAAUAAAC5/w4AAAABAAUAAAC6/w4AAAABAAUAAAC7/w4AAAABAAUAAAC8/w4AAAABAAUAAAC9/w4AAAABAAUAAAC1/w4AAAAAAAkAAAC+/wgAAAAAAAYAAAC+/wcAAAAAAAYAAAC7/wcAAAACAAEAAAC8/wcAAAACAAEAAAC9/wcAAAACAAEAAAC4/wcAAAACAAEAAAC3/wcAAAACAAEAAAC2/wcAAAACAAEAAAC2/wYAAAABAAcAAAC4/wYAAAADAAQAAAC7/wYAAAACAAQAAAC8/wYAAAABAAQAAAC9/wYAAAABAAQAAAC5/wMAAAADAAEAAAC6/wMAAAADAAEAAAC7/wMAAAAFAAEAAAC4/wMAAAABAAEAAAC3/wMAAAAAAAQAAAC3/wQAAAAAAAQAAAC4/wIAAAABAAEAAAC5/wIAAAADAAEAAAC6/wIAAAADAAEAAAC7/wIAAAAFAAEAAAC3/wYAAAABAAcAAAC3/wUAAAACAAYAAAC1/wcAAAACAAYAAAC5//7/AAADAAEAAAC5////AAADAAEAAAC8//7/AAADAAEAAAC8////AAADAAEAAAC9////AAABAAEAAAC+////AAABAAEAAAC/////AAAAAAYAAAC///7/AAAAAAYAAAC+//7/AAABAAEAAAC9//7/AAABAAEAAAC3////AAABAAEAAAC4////AAABAAEAAAC4//7/AAABAAEAAAC3//7/AAABAAEAAAC6//7/AAABAAEAAAC7//7/AAABAAEAAAC7////AAABAAEAAAC6////AAABAAEAAAC+/wYAAAABAAUAAAC4//3/AAABAAcAAAC5//3/AAABAAcAAAC6//3/AAABAAcAAAC7//3/AAABAAcAAAC8//3/AAABAAcAAAC9//3/AAABAAcAAAC+//3/AAABAAcAAAC3//3/AAAAAAcAAAC3/wIAAAAFAAQAAADQ/wgAAAAGAAUAAADR/wgAAAAHAAUAAADS/wgAAAAHAAUAAADT/wgAAAAHAAUAAADU/wgAAAAHAAUAAADV/wgAAAAIAAUAAADV/wkAAAAIAAYAAADV/woAAAAIAAYAAADV/wsAAAAIAAYAAADV/wwAAAAIAAYAAADV/w0AAAAIAAcAAADU/w0AAAAHAAcAAADT/w0AAAAHAAcAAADS/w0AAAAHAAcAAADR/w0AAAAHAAcAAADQ/w0AAAAGAAcAAADQ/wwAAAAGAAYAAADQ/wsAAAAGAAYAAADQ/woAAAAGAAYAAADQ/wkAAAAGAAYAAADG/wgAAAACAAQAAADD/wgAAAADAAQAAADC/wcAAAACAAYAAADD/wMAAAACAAEAAADE/wMAAAACAAEAAADF/wMAAAACAAEAAADG/wMAAAACAAEAAADH/wMAAAACAAEAAADI/wMAAAACAAEAAADJ/wMAAAACAAEAAADK/wMAAAAAAAYAAADK/wQAAAAAAAYAAADK/wUAAAAAAAYAAADK/wYAAAAAAAYAAADK/wcAAAAAAAYAAADJ/wgAAAABAAQAAADI/wgAAAABAAQAAADH/wgAAAABAAQAAADJ/woAAAADAAEAAADI/wsAAQAAAAAACQDD/wsAAQAAAAAACQDC/wsAAQAAAAAACQDY//f/AQAAAAAABgDZ//n/AQAAAAAAAQDY//n/AQAAAAAAAQDJ//f/AAADAAoAAADK//f/AAAFAAoAAADF//f/AAAEAAoAAADK////AAABAAUAAADJ////AAABAAUAAADI////AAABAAUAAADH////AAABAAUAAADG////AAABAAUAAADF////AAABAAUAAADE////AAABAAUAAADD//7/AAACAAYAAADD//3/AAACAAYAAADD//z/AAACAAYAAADD//v/AAACAAYAAADD//r/AAACAAYAAADD//n/AAACAAYAAADD//j/AAACAAYAAADD//f/AAACAAYAAADD//b/AAACAAYAAADD//X/AAACAAYAAADD//T/AAACAAYAAADD//P/AAACAAYAAADD//L/AAACAAYAAADD//H/AAACAAYAAADE/+//AAABAAcAAADF/+//AAABAAcAAADG/+//AAABAAcAAADH/+//AAABAAcAAADI/+//AAABAAcAAADJ/+//AAABAAcAAADK/+//AAABAAcAAADL//H/AAAAAAYAAADL//D/AAAAAAYAAADD//D/AAACAAYAAADE//D/AAABAAEAAADF//D/AAABAAEAAADG//D/AAABAAEAAADH//D/AAABAAEAAADI//D/AAABAAEAAADJ//D/AAABAAEAAADK//D/AAABAAEAAADK//H/AAABAAEAAADJ//H/AAABAAEAAADI//H/AAABAAEAAADH//H/AAABAAEAAADG//H/AAABAAEAAADF//H/AAABAAEAAADE//H/AAABAAEAAADE//f/AAADAAoAAAC9/woAAAAGAAMAAACh//z/AAAFAAEAAACh//v/AAAFAAEAAACk//z/AAAEAAEAAACk//v/AAAEAAEAAACf//j/AAAAAAUAAACg//j/AAACAAUAAACg//n/AAACAAYAAACh//r/AAADAAQAAACk//r/AAACAAQAAACl//n/AAAAAAYAAACl//j/AAAAAAYAAACl//f/AAAAAAYAAACl//b/AAAAAAYAAACl//X/AAAAAAYAAACl//r/AAABAAcAAACm//r/AAABAAcAAACn//r/AAABAAcAAACo//r/AAABAAcAAACl//z/AAABAAEAAACm//z/AAABAAEAAACn//z/AAABAAEAAACo//z/AAABAAEAAACo//v/AAABAAEAAACn//v/AAABAAEAAACm//v/AAABAAEAAACl//v/AAABAAEAAACo////AAAEAAoAAACn////AAAEAAoAAACm////AAAEAAoAAACl////AAAEAAoAAACk////AAADAAoAAACo/wIAAAAEAAoAAACn/wIAAAAEAAoAAACm/wIAAAAEAAoAAACl/wIAAAAEAAoAAACk/wIAAAAEAAoAAACj/wIAAAAEAAoAAACi/wIAAAAEAAoAAACk//7/AAAFAAkAAACk//3/AAAFAAkAAACh//3/AAAFAAkAAACh//7/AAADAAkAAACh////AAAFAAkAAACh/wAAAAAFAAkAAACh/wEAAAADAAkAAACh/wIAAAADAAoAAACh//T/AAABAAEAAACi//T/AAAFAAEAAACi//P/AAAFAAEAAACh//P/AAABAAEAAACi//L/AAADAAQAAACh//L/AAABAAQAAACg//P/AAACAAcAAACg//T/AAABAAEAAACg//X/AAABAAEAAACf//X/AAABAAEAAACf//T/AAABAAEAAACf//P/AAAAAAcAAACe//P/AAABAAEAAACd//P/AAABAAEAAACc//P/AAABAAEAAACY//r/AAABAAQAAACZ//r/AAABAAQAAACa//r/AAABAAQAAACb//r/AAABAAQAAACc//r/AAABAAQAAACd//r/AAABAAQAAACe//r/AAABAAQAAACf//n/AAAAAAYAAACe//H/AAABAAcAAACd//H/AAABAAcAAACc//H/AAABAAcAAACb//H/AAABAAcAAACa//H/AAAAAAcAAACe//L/AAABAAEAAACd//L/AAABAAEAAACc//L/AAABAAEAAACb//L/AAABAAEAAACa//L/AAABAAEAAACa//P/AAABAAEAAACb//P/AAABAAEAAACa/+//AAAAAAYAAACa//D/AAAAAAYAAACf//L/AAAAAAYAAACg//v/AAABAAEAAACf//v/AAABAAEAAACe//v/AAABAAEAAACd//v/AAABAAEAAACc//v/AAABAAEAAACb//v/AAABAAEAAACb//z/AAABAAEAAACc//z/AAABAAEAAACd//z/AAABAAEAAACe//z/AAABAAEAAACf//z/AAABAAEAAACg//z/AAABAAEAAACa//z/AAABAAEAAACa//v/AAABAAEAAACZ//v/AAABAAEAAACZ//z/AAABAAEAAACg//r/AAABAAcAAACf//r/AAABAAcAAACl//L/AAAAAAYAAACl//P/AAAAAAYAAACl//T/AAAAAAYAAACl//H/AAAAAAYAAACl//D/AAAAAAYAAACl/+//AAAAAAYAAACl/+7/AAAAAAYAAACg//H/AAACAAYAAACg//D/AAACAAYAAACg/+//AAACAAYAAACg/+7/AAACAAYAAACg/+3/AAACAAYAAACh/+z/AAAFAAEAAACh/+v/AAAFAAEAAACk/+z/AAAEAAEAAACk/+v/AAAEAAEAAACl/+3/AAAAAAYAAACl/+z/AAAAAAYAAACl/+v/AAAAAAUAAACg/+v/AAACAAUAAACg/+z/AAACAAYAAADU//3/AQAAAAAAAgC//wUAAAAAAAYAAAC//wQAAAAAAAYAAAC//wMAAAAAAAYAAAC//wIAAAAAAAYAAAC//wEAAAAAAAYAAAC//wAAAAAAAAYAAADC/wYAAAACAAYAAADC/wUAAAACAAYAAADC/wQAAAACAAYAAADC/wMAAAACAAYAAADD/wEAAAABAAcAAADE/wEAAAABAAcAAADF/wEAAAABAAcAAADG/wEAAAABAAcAAADH/wEAAAABAAcAAADI/wEAAAABAAcAAADJ/wEAAAABAAcAAADC/wIAAAACAAYAAADK/wIAAAAAAAYAAADD/wIAAAACAAEAAADE/wIAAAACAAEAAADF/wIAAAACAAEAAADG/wIAAAACAAEAAADH/wIAAAACAAEAAADI/wIAAAACAAEAAADJ/wIAAAACAAEAAADa//b/AAAAAAYAAADa//X/AAAAAAYAAADZ//T/AAABAAcAAADT//P/AAACAAYAAADT//L/AAACAAYAAADT//H/AAACAAYAAADT//D/AAACAAYAAADX//P/AAAAAAYAAADX//L/AAAAAAYAAADX//H/AAAAAAYAAADX//D/AAAAAAYAAADW//H/AAAEAAMAAADV//H/AAAEAAMAAADU//H/AAAEAAMAAADU//D/AAAEAAMAAADV//D/AAAEAAMAAADW//D/AAAEAAMAAADU/+//AAABAAEAAADV/+//AAABAAEAAADW/+//AAABAAEAAADW/+7/AAABAAEAAADV/+7/AAABAAEAAADU/+7/AAABAAEAAADU/+3/AAABAAcAAADV/+3/AAABAAcAAADW/+3/AAABAAcAAADX/+7/AAAAAAYAAADX/+//AAAAAAYAAADT/+7/AAACAAYAAADT/+//AAACAAYAAACf/+v/AAABAAUAAACe/+v/AAABAAUAAACZ/+v/AAABAAUAAACa/+v/AAABAAUAAACb/+v/AAABAAUAAACc/+v/AAABAAUAAACd/+v/AAABAAUAAACY/+r/AAACAAYAAACY/+n/AAACAAYAAACY/+j/AAACAAYAAACY/+f/AAACAAYAAACY/+X/AAACAAYAAACY/+b/AAACAAYAAACY/+T/AAACAAYAAACY/+P/AAACAAYAAACY/+L/AAACAAYAAACY/+H/AAACAAYAAACY/+D/AAACAAYAAACY/9//AAACAAYAAACY/97/AAACAAYAAACY/93/AAACAAYAAACY/9z/AAACAAYAAACY/9v/AAACAAYAAACZ/9r/AAABAAcAAACa/9r/AAABAAcAAACb/9r/AAABAAcAAACc/9r/AAABAAcAAACd/9r/AAABAAcAAACe/9r/AAABAAcAAACf/9r/AAABAAcAAACg/9r/AAABAAcAAACh/9r/AAABAAcAAACi/9r/AAABAAcAAACj/9r/AAABAAcAAACk/9r/AAABAAcAAACl/9r/AAABAAcAAACm/9r/AAABAAcAAACn/9r/AAABAAcAAACo/9r/AAABAAcAAACp/9r/AAABAAcAAACq/9r/AAABAAcAAACr/9r/AAABAAcAAACs/9r/AAABAAcAAACt/9r/AAABAAcAAACu/9r/AAABAAcAAACv/9r/AAABAAcAAACm/+v/AAABAAUAAACn/+v/AAABAAUAAACo/+v/AAABAAUAAACp/+v/AAABAAUAAACq/+v/AAABAAUAAACr/+v/AAABAAUAAACs/+v/AAABAAUAAACt/+v/AAABAAUAAACu/+v/AAABAAUAAACv/+v/AAABAAUAAACw/+r/AAAAAAYAAACw/+n/AAAAAAYAAACw/+j/AAAAAAYAAACw/+f/AAAAAAYAAACw/+b/AAAAAAYAAACw/+X/AAAAAAYAAACw/+T/AAAAAAYAAACw/+P/AAAAAAYAAACw/+L/AAAAAAYAAACw/+H/AAAAAAYAAACw/+D/AAAAAAYAAACw/9//AAAAAAYAAACw/97/AAAAAAYAAACw/93/AAAAAAYAAACw/9z/AAAAAAYAAACw/9v/AAAAAAYAAACb/+b/AAAHAAUAAACc/+b/AAAHAAUAAACd/+b/AAAHAAUAAACe/+b/AAAHAAUAAACf/+b/AAAHAAUAAACg/+b/AAAHAAUAAACh/+b/AAAHAAUAAACi/+b/AAAHAAUAAACj/+b/AAAHAAUAAACk/+b/AAAHAAUAAACl/+b/AAAHAAUAAACm/+b/AAAHAAUAAACn/+b/AAAHAAUAAACo/+b/AAAHAAUAAACp/+b/AAAHAAUAAACq/+b/AAAHAAUAAACr/+b/AAAHAAUAAACs/+b/AAAHAAUAAACt/+b/AAAHAAUAAACu/+b/AAAIAAUAAACu/+f/AAAIAAYAAACu/+j/AAAIAAYAAACu/+n/AAAIAAYAAACu/+r/AAAIAAYAAACa/+f/AAAGAAYAAACa/+j/AAAGAAYAAACa/+n/AAAGAAYAAACa/+r/AAAGAAYAAACa/+b/AAAGAAUAAACg/9v/AAADAAEAAACg/9z/AAADAAEAAACn/9v/AAADAAEAAACn/9z/AAADAAEAAACq/9v/AAADAAEAAACq/9z/AAADAAEAAACd/9v/AAADAAEAAACd/9z/AAADAAEAAACp//T/AAADAAkAAACp//P/AAAGAAkAAACq//P/AAAEAAoAAACr//P/AAAEAAoAAACs//P/AAAEAAoAAACt//P/AAAIAAkAAACt//T/AAAFAAkAAACt//X/AAADAAkAAACt//b/AAAFAAoAAACs//b/AAAEAAoAAACr//b/AAAEAAoAAACq//b/AAAEAAoAAACp//b/AAADAAoAAACp//X/AAADAAkAAACv//D/AAAFAAkAAACv//H/AAAFAAkAAACv//L/AAADAAkAAACv//P/AAADAAkAAACv//T/AAADAAkAAACv//X/AAADAAoAAACw//X/AAAEAAoAAACx//X/AAAHAAoAAAC1//P/AAADAAoAAAC2//P/AAAEAAoAAAC3//P/AAAHAAkAAAC4//P/AAAEAAoAAAC5//P/AAAFAAoAAAC3//L/AAADAAkAAAC3//H/AAAHAAgAAAC2//H/AAADAAoAAAC1//D/AAAEAAoAAAC0//D/AAADAAoAAAC5//D/AAAGAAkAAAC6//D/AAAFAAoAAAC5//H/AAAFAAoAAAC4//H/AAAEAAoAAAC2//D/AAAIAAkAAAC3//T/AAAFAAkAAAC3//X/AAADAAkAAAC3//b/AAADAAkAAAC3//f/AAADAAoAAAC4//f/AAAEAAoAAAC5//f/AAAEAAoAAAC6//f/AAAEAAoAAAC7//f/AAAFAAoAAAC0//b/AAADAAkAAAC0//f/AAAFAAoAAACz//f/AAAEAAoAAAC0//X/AAADAAkAAAC0//T/AAAIAAkAAACz//T/AAAEAAoAAACy//T/AAADAAgAAACy//X/AAAIAAkAAACy//b/AAADAAkAAACy//f/AAADAAoAAAA=") +tile_map_data = PackedByteArray("AADL//L/AAAAAAQAAADL//P/AAAAAAQAAADL//T/AAAAAAQAAADL//X/AAAAAAQAAADL//b/AAAAAAQAAADL//f/AAAAAAQAAADL//j/AAAAAAQAAADL//n/AAAAAAQAAADL//r/AAAAAAQAAADL//v/AAAAAAQAAADL//z/AAAAAAQAAADS//T/AAAAAAcAAADM//H/AAABAAcAAADN//H/AAABAAcAAADO//H/AAABAAcAAADP//H/AAABAAcAAADT//T/AAABAAcAAADU//T/AAABAAQAAADV//T/AAABAAQAAADW//T/AAABAAQAAADX//T/AAABAAcAAADO//f/AAAFAAoAAADN//f/AAAEAAoAAADM//f/AAADAAoAAADS//f/AAAEAAkAAADO//r/AAAFAAoAAADN//r/AAAEAAoAAADM//r/AAADAAoAAADS//r/AAADAAoAAADT//r/AAAEAAoAAADU//r/AAAEAAoAAADV//r/AAAEAAoAAADW//r/AAAEAAoAAADX//r/AAAEAAoAAADa//f/AAAAAAYAAADa//n/AAAAAAYAAADa//r/AAAAAAYAAADa//v/AAAAAAYAAADa//z/AAAAAAYAAADa//3/AAAAAAYAAADa//7/AAAAAAYAAADL//3/AAAAAAQAAADL//7/AAAAAAQAAADa////AAAAAAYAAADa/wAAAAAAAAYAAADY//r/AAAEAAoAAADZ//r/AAAFAAoAAADM//3/AAAEAAUAAADN//3/AAAEAAUAAADO//3/AAAEAAUAAADP//3/AAAEAAUAAADQ//3/AAAEAAUAAADR//3/AAAEAAUAAADS//3/AAAEAAUAAADT//3/AAAFAAUAAADX//3/AAADAAUAAADY//3/AAAEAAUAAADZ//3/AAAEAAUAAADX//7/AAADAAcAAADY////AAAEAAUAAADZ////AAAEAAUAAADT//7/AAAFAAcAAADS//7/AAAEAAUAAADR//7/AAAEAAUAAADQ//7/AAAEAAUAAADP//7/AAAEAAUAAADO//7/AAAEAAUAAADN//7/AAAEAAUAAADM//7/AAAEAAUAAADX/wEAAAAFAAcAAADW/wEAAAAEAAUAAADV/wEAAAAEAAUAAADU/wEAAAAEAAUAAADT/wEAAAAEAAUAAADX/wAAAAADAAYAAAC2////AAAFAAoAAAC1////AAAEAAoAAAC0////AAAEAAoAAACz////AAAEAAoAAACy////AAAEAAoAAACx////AAADAAoAAACx//7/AAAFAAkAAACx//3/AAADAAkAAAC2/wIAAAAFAAoAAAC1/wIAAAAEAAoAAAC0/wIAAAAEAAoAAACz/wIAAAAEAAoAAACy/wIAAAAEAAoAAACx/wIAAAAEAAoAAACw/wIAAAAEAAoAAACv/wIAAAAEAAoAAACu/wIAAAAEAAoAAACt/wIAAAAEAAoAAACs/wIAAAAEAAoAAACu////AAAFAAoAAACu//7/AAAFAAkAAACu//3/AAADAAkAAACt////AAAEAAoAAACs////AAAEAAoAAACr////AAAEAAoAAACq////AAAEAAoAAACp////AAAEAAoAAACr/wIAAAAEAAoAAACq/wIAAAAEAAoAAACp/wIAAAAEAAoAAADQ/wEAAAADAAUAAADR/wEAAAAEAAUAAADS/wEAAAAEAAUAAADQ/wIAAAADAAYAAADQ/wMAAAADAAcAAADR/wMAAAAEAAUAAADX////AAADAAUAAADY//7/AAAEAAUAAADZ//7/AAAEAAUAAADL/wkAAAAEAAQAAADM/wAAAQAAAAAAAQDM/wEAAQAAAAAAAQDM/wIAAQAAAAAAAQDM/wMAAQAAAAAAAQDR//b/AQAAAAAAAgDH//L/AQAAAAAABQDG//f/AAAFAAoAAADG//r/AQAAAAAABwDR//X/AQAAAAAAAQDM//T/AAABAAEAAADN//T/AAABAAEAAADO//T/AAABAAEAAADP//T/AAABAAEAAADQ//T/AAABAAEAAADR//T/AAABAAEAAADS//X/AAAEAAEAAADS//b/AAAEAAEAAADT//X/AAABAAEAAADT//b/AAABAAEAAADV//b/AAABAAEAAADV//X/AAABAAEAAADX//b/AAABAAEAAADX//X/AAABAAEAAADZ//b/AAABAAEAAADZ//X/AAABAAEAAADa//j/AAAAAAYAAADL////AAACAAYAAADL/wAAAAACAAYAAADL/wEAAAACAAYAAADL/wIAAAACAAYAAADL/wMAAAACAAYAAADL/wQAAAACAAYAAADL/wUAAAACAAYAAADL/wYAAAACAAYAAADL/wcAAAACAAYAAADL/wgAAAACAAYAAADa/wEAAAAAAAYAAADa/wIAAAAAAAYAAADa/wMAAAAAAAYAAADa/wQAAAAAAAYAAADa/wUAAAAAAAYAAADa/wYAAAAAAAYAAADa/wcAAAAAAAYAAADa/wgAAAAAAAYAAADa/wkAAAAAAAYAAADa/woAAAAAAAYAAADa/wsAAAAAAAYAAADa/wwAAAAAAAYAAADa/w0AAAAAAAYAAADa/w4AAAAAAAYAAADZ/w8AAAABAAUAAADY/w8AAAABAAUAAADX/w8AAAABAAUAAADW/w8AAAABAAUAAADV/w8AAAABAAUAAADU/w8AAAABAAUAAADT/w8AAAABAAUAAADS/w8AAAABAAUAAADR/w8AAAABAAUAAADQ/w8AAAABAAUAAADP/w8AAAABAAUAAADO/w8AAAABAAUAAADN/w8AAAABAAUAAADM/w8AAAABAAUAAADL/w4AAAACAAYAAADL/w0AAAAFAAQAAADK/w4AAAABAAUAAADJ/w4AAAABAAUAAADI/w4AAAABAAUAAADH/w4AAAABAAUAAADG/w4AAAABAAUAAADF/w4AAAABAAUAAADE/w4AAAABAAUAAADL/wsAAAAFAAEAAADL/woAAAAFAAEAAADK/woAAAABAAEAAADI/woAAAABAAEAAADH/woAAAABAAEAAADH/wkAAAABAAEAAADI/wkAAAABAAEAAADK/wkAAAABAAEAAADB/woAAAABAAEAAADC/woAAAABAAEAAADC/wkAAAABAAEAAADB/wkAAAABAAEAAAC//woAAAABAAEAAAC//wkAAAABAAEAAADJ/wkAAAADAAEAAADG/woAAAADAAEAAADG/wkAAAADAAEAAADD/woAAAADAAEAAADD/wkAAAADAAEAAADA/woAAAADAAEAAADA/wkAAAADAAEAAADD/w4AAAABAAUAAADC/w4AAAABAAUAAADB/w4AAAABAAUAAADA/w4AAAABAAUAAAC//w4AAAABAAUAAADU//b/AAADAAEAAADU//X/AAADAAEAAADW//b/AAADAAEAAADW//X/AAADAAEAAADY//b/AAADAAEAAADY//X/AAADAAEAAADT/wkAAQAAAAAAAgDU/wkAAQAAAAAAAgDU/woAAQAAAAAAAgDT/woAAQAAAAAAAgDT/wsAAQAAAAAAAgDU/wsAAQAAAAAAAgDU/wwAAQAAAAAAAgDT/wwAAQAAAAAAAgDS/wwAAQAAAAAAAgDR/wwAAQAAAAAAAgDR/wsAAQAAAAAAAgDS/wsAAQAAAAAAAgDS/woAAQAAAAAAAgDR/woAAQAAAAAAAgDS/wkAAQAAAAAAAgDR/wkAAQAAAAAAAgDM/woAAAAGAAMAAAC+/w0AAAAFAAQAAAC+/wkAAAAEAAQAAADB/wsAAQAAAAAAAgC8/w0AAQAAAAAAAgDA/wsAAQAAAAAAAQDZ/w0AAQAAAAAAAQDZ/w4AAQAAAAAAAQDY/w4AAQAAAAAAAQDM/w4AAQAAAAAAAQC9/wgAAAACAAEAAAC8/wgAAAACAAEAAAC7/wgAAAACAAEAAAC4/wgAAAACAAEAAAC3/wgAAAACAAEAAAC2/wgAAAACAAEAAAC1/wgAAAACAAYAAAC1/wkAAAACAAYAAAC1/woAAAACAAYAAAC1/wsAAAACAAYAAAC1/wwAAAACAAYAAAC1/w0AAAACAAYAAAC2/w4AAAABAAUAAAC3/w4AAAABAAUAAAC4/w4AAAABAAUAAAC5/w4AAAABAAUAAAC6/w4AAAABAAUAAAC7/w4AAAABAAUAAAC8/w4AAAABAAUAAAC9/w4AAAABAAUAAAC1/w4AAAAAAAkAAAC+/wgAAAAAAAYAAAC+/wcAAAAAAAYAAAC7/wcAAAACAAEAAAC8/wcAAAACAAEAAAC9/wcAAAACAAEAAAC4/wcAAAACAAEAAAC3/wcAAAACAAEAAAC2/wcAAAACAAEAAAC2/wYAAAABAAcAAAC4/wYAAAADAAQAAAC7/wYAAAACAAQAAAC8/wYAAAABAAQAAAC9/wYAAAABAAQAAAC5/wMAAAADAAEAAAC6/wMAAAADAAEAAAC7/wMAAAAFAAEAAAC4/wMAAAABAAEAAAC3/wMAAAAAAAQAAAC3/wQAAAAAAAQAAAC4/wIAAAABAAEAAAC5/wIAAAADAAEAAAC6/wIAAAADAAEAAAC7/wIAAAAFAAEAAAC3/wYAAAABAAcAAAC3/wUAAAACAAYAAAC1/wcAAAACAAYAAAC5//7/AAADAAEAAAC5////AAADAAEAAAC8//7/AAADAAEAAAC8////AAADAAEAAAC9////AAABAAEAAAC+////AAABAAEAAAC/////AAAAAAYAAAC///7/AAAAAAYAAAC+//7/AAABAAEAAAC9//7/AAABAAEAAAC3////AAABAAEAAAC4////AAABAAEAAAC4//7/AAABAAEAAAC3//7/AAABAAEAAAC6//7/AAABAAEAAAC7//7/AAABAAEAAAC7////AAABAAEAAAC6////AAABAAEAAAC+/wYAAAABAAUAAAC4//3/AAABAAcAAAC5//3/AAABAAcAAAC6//3/AAABAAcAAAC7//3/AAABAAcAAAC8//3/AAABAAcAAAC9//3/AAABAAcAAAC+//3/AAABAAcAAAC3//3/AAAAAAcAAAC3/wIAAAAFAAQAAADQ/wgAAAAGAAUAAADR/wgAAAAHAAUAAADS/wgAAAAHAAUAAADT/wgAAAAHAAUAAADU/wgAAAAHAAUAAADV/wgAAAAIAAUAAADV/wkAAAAIAAYAAADV/woAAAAIAAYAAADV/wsAAAAIAAYAAADV/wwAAAAIAAYAAADV/w0AAAAIAAcAAADU/w0AAAAHAAcAAADT/w0AAAAHAAcAAADS/w0AAAAHAAcAAADR/w0AAAAHAAcAAADQ/w0AAAAGAAcAAADQ/wwAAAAGAAYAAADQ/wsAAAAGAAYAAADQ/woAAAAGAAYAAADQ/wkAAAAGAAYAAADG/wgAAAACAAQAAADD/wgAAAADAAQAAADC/wcAAAACAAYAAADD/wMAAAACAAEAAADE/wMAAAACAAEAAADF/wMAAAACAAEAAADG/wMAAAACAAEAAADH/wMAAAACAAEAAADI/wMAAAACAAEAAADJ/wMAAAACAAEAAADK/wMAAAAAAAYAAADK/wQAAAAAAAYAAADK/wUAAAAAAAYAAADK/wYAAAAAAAYAAADK/wcAAAAAAAYAAADJ/wgAAAABAAQAAADI/wgAAAABAAQAAADH/wgAAAABAAQAAADJ/woAAAADAAEAAADI/wsAAQAAAAAACQDD/wsAAQAAAAAACQDC/wsAAQAAAAAACQDY//f/AQAAAAAABgDZ//n/AQAAAAAAAQDY//n/AQAAAAAAAQDJ//f/AAADAAoAAADK//f/AAAFAAoAAADF//f/AAAEAAoAAADK////AAABAAUAAADJ////AAABAAUAAADI////AAABAAUAAADH////AAABAAUAAADG////AAABAAUAAADF////AAABAAUAAADE////AAABAAUAAADD//7/AAACAAYAAADD//3/AAACAAYAAADD//z/AAACAAYAAADD//v/AAACAAYAAADD//r/AAACAAYAAADD//n/AAACAAYAAADD//j/AAACAAYAAADD//f/AAACAAYAAADD//b/AAACAAYAAADD//X/AAACAAYAAADD//T/AAACAAYAAADD//P/AAACAAYAAADD//L/AAACAAYAAADD//H/AAACAAYAAADE/+//AAABAAcAAADF/+//AAABAAcAAADG/+//AAABAAcAAADH/+//AAABAAcAAADI/+//AAABAAcAAADJ/+//AAABAAcAAADK/+//AAABAAcAAADL//H/AAAAAAYAAADL//D/AAAAAAYAAADD//D/AAACAAYAAADE//D/AAABAAEAAADF//D/AAABAAEAAADG//D/AAABAAEAAADH//D/AAABAAEAAADI//D/AAABAAEAAADJ//D/AAABAAEAAADK//D/AAABAAEAAADK//H/AAABAAEAAADJ//H/AAABAAEAAADI//H/AAABAAEAAADH//H/AAABAAEAAADG//H/AAABAAEAAADF//H/AAABAAEAAADE//H/AAABAAEAAADE//f/AAADAAoAAAC9/woAAAAGAAMAAACh//z/AAAFAAEAAACh//v/AAAFAAEAAACk//z/AAAEAAEAAACk//v/AAAEAAEAAACf//j/AAAAAAUAAACg//j/AAACAAUAAACg//n/AAACAAYAAACh//r/AAADAAQAAACk//r/AAACAAQAAACl//n/AAAAAAYAAACl//j/AAAAAAYAAACl//f/AAAAAAYAAACl//b/AAAAAAYAAACl//X/AAAAAAYAAACl//r/AAABAAcAAACm//r/AAABAAcAAACn//r/AAABAAcAAACo//r/AAABAAcAAACl//z/AAABAAEAAACm//z/AAABAAEAAACn//z/AAABAAEAAACo//z/AAABAAEAAACo//v/AAABAAEAAACn//v/AAABAAEAAACm//v/AAABAAEAAACl//v/AAABAAEAAACo////AAAEAAoAAACn////AAAEAAoAAACm////AAAEAAoAAACl////AAAEAAoAAACk////AAADAAoAAACo/wIAAAAEAAoAAACn/wIAAAAEAAoAAACm/wIAAAAEAAoAAACl/wIAAAAEAAoAAACk/wIAAAAEAAoAAACj/wIAAAAEAAoAAACi/wIAAAAEAAoAAACk//7/AAAFAAkAAACk//3/AAAFAAkAAACh//3/AAAFAAkAAACh//7/AAADAAkAAACh////AAAFAAkAAACh/wAAAAAFAAkAAACh/wEAAAADAAkAAACh/wIAAAADAAoAAACh//T/AAABAAEAAACi//T/AAAFAAEAAACi//P/AAAFAAEAAACh//P/AAABAAEAAACi//L/AAADAAQAAACh//L/AAABAAQAAACg//P/AAACAAcAAACg//T/AAABAAEAAACg//X/AAABAAEAAACf//X/AAABAAEAAACf//T/AAABAAEAAACf//P/AAAAAAcAAACe//P/AAABAAEAAACd//P/AAABAAEAAACc//P/AAABAAEAAACY//r/AAABAAQAAACZ//r/AAABAAQAAACa//r/AAABAAQAAACb//r/AAABAAQAAACc//r/AAABAAQAAACd//r/AAABAAQAAACe//r/AAABAAQAAACf//n/AAAAAAYAAACe//H/AAABAAcAAACd//H/AAABAAcAAACc//H/AAABAAcAAACb//H/AAABAAcAAACa//H/AAAAAAcAAACe//L/AAABAAEAAACd//L/AAABAAEAAACc//L/AAABAAEAAACb//L/AAABAAEAAACa//L/AAABAAEAAACa//P/AAABAAEAAACb//P/AAABAAEAAACa/+//AAAAAAYAAACa//D/AAAAAAYAAACf//L/AAAAAAYAAACg//v/AAABAAEAAACf//v/AAABAAEAAACe//v/AAABAAEAAACd//v/AAABAAEAAACc//v/AAABAAEAAACb//v/AAABAAEAAACb//z/AAABAAEAAACc//z/AAABAAEAAACd//z/AAABAAEAAACe//z/AAABAAEAAACf//z/AAABAAEAAACg//z/AAABAAEAAACa//z/AAABAAEAAACa//v/AAABAAEAAACZ//v/AAABAAEAAACZ//z/AAABAAEAAACg//r/AAABAAcAAACf//r/AAABAAcAAACl//L/AAAAAAYAAACl//P/AAAAAAYAAACl//T/AAAAAAYAAACl//H/AAAAAAYAAACl//D/AAAAAAYAAACl/+//AAAAAAYAAACl/+7/AAAAAAYAAACg//H/AAACAAYAAACg//D/AAACAAYAAACg/+//AAACAAYAAACg/+7/AAACAAYAAACg/+3/AAACAAYAAACh/+z/AAAFAAEAAACh/+v/AAAFAAEAAACk/+z/AAAEAAEAAACk/+v/AAAEAAEAAACl/+3/AAAAAAYAAACl/+z/AAAAAAYAAACl/+v/AAAAAAUAAACg/+v/AAACAAUAAACg/+z/AAACAAYAAADU//3/AQAAAAAAAgC//wUAAAAAAAYAAAC//wQAAAAAAAYAAAC//wMAAAAAAAYAAAC//wIAAAAAAAYAAAC//wEAAAAAAAYAAAC//wAAAAAAAAYAAADC/wYAAAACAAYAAADC/wUAAAACAAYAAADC/wQAAAACAAYAAADC/wMAAAACAAYAAADD/wEAAAABAAcAAADE/wEAAAABAAcAAADF/wEAAAABAAcAAADG/wEAAAABAAcAAADH/wEAAAABAAcAAADI/wEAAAABAAcAAADJ/wEAAAABAAcAAADC/wIAAAACAAYAAADK/wIAAAAAAAYAAADD/wIAAAACAAEAAADE/wIAAAACAAEAAADF/wIAAAACAAEAAADG/wIAAAACAAEAAADH/wIAAAACAAEAAADI/wIAAAACAAEAAADJ/wIAAAACAAEAAADa//b/AAAAAAYAAADa//X/AAAAAAYAAADZ//T/AAABAAcAAADT//P/AAACAAYAAADT//L/AAACAAYAAADT//H/AAACAAYAAADT//D/AAACAAYAAADX//P/AAAAAAYAAADX//L/AAAAAAYAAADX//H/AAAAAAYAAADX//D/AAAAAAYAAADW//H/AAAEAAMAAADV//H/AAAEAAMAAADU//H/AAAEAAMAAADU//D/AAAEAAMAAADV//D/AAAEAAMAAADW//D/AAAEAAMAAADU/+//AAABAAEAAADV/+//AAABAAEAAADW/+//AAABAAEAAADW/+7/AAABAAEAAADV/+7/AAABAAEAAADU/+7/AAABAAEAAADU/+3/AAABAAcAAADV/+3/AAABAAcAAADW/+3/AAABAAcAAADX/+7/AAAAAAYAAADX/+//AAAAAAYAAADT/+7/AAACAAYAAADT/+//AAACAAYAAACf/+v/AAABAAUAAACe/+v/AAABAAUAAACZ/+v/AAABAAUAAACa/+v/AAABAAUAAACb/+v/AAABAAUAAACc/+v/AAABAAUAAACd/+v/AAABAAUAAACY/+r/AAACAAYAAACY/+n/AAACAAYAAACY/+j/AAACAAYAAACY/+f/AAACAAYAAACY/+X/AAACAAYAAACY/+b/AAACAAYAAACY/+T/AAACAAYAAACY/+P/AAACAAYAAACY/+L/AAACAAYAAACY/+H/AAACAAYAAACY/+D/AAACAAYAAACY/9//AAACAAYAAACY/97/AAACAAYAAACY/93/AAACAAYAAACY/9z/AAACAAYAAACY/9v/AAACAAYAAACZ/9r/AAABAAcAAACa/9r/AAABAAcAAACb/9r/AAABAAcAAACc/9r/AAABAAcAAACd/9r/AAABAAcAAACe/9r/AAABAAcAAACf/9r/AAABAAcAAACg/9r/AAABAAcAAACh/9r/AAABAAcAAACi/9r/AAABAAcAAACj/9r/AAABAAcAAACk/9r/AAABAAcAAACl/9r/AAABAAcAAACm/9r/AAABAAcAAACn/9r/AAABAAcAAACo/9r/AAABAAcAAACp/9r/AAABAAcAAACq/9r/AAABAAcAAACr/9r/AAABAAcAAACs/9r/AAABAAcAAACt/9r/AAABAAcAAACu/9r/AAABAAcAAACv/9r/AAABAAcAAACm/+v/AAABAAUAAACn/+v/AAABAAUAAACo/+v/AAABAAUAAACp/+v/AAABAAUAAACq/+v/AAABAAUAAACr/+v/AAABAAUAAACs/+v/AAABAAUAAACt/+v/AAABAAUAAACu/+v/AAABAAUAAACv/+v/AAABAAUAAACw/+r/AAAAAAYAAACw/+n/AAAAAAYAAACw/+j/AAAAAAYAAACw/+f/AAAAAAYAAACw/+b/AAAAAAYAAACw/+X/AAAAAAYAAACw/+T/AAAAAAYAAACw/+P/AAAAAAYAAACw/+L/AAAAAAYAAACw/+H/AAAAAAYAAACw/+D/AAAAAAYAAACw/9//AAAAAAYAAACw/97/AAAAAAYAAACw/93/AAAAAAYAAACw/9z/AAAAAAYAAACw/9v/AAAAAAYAAACb/+b/AAAHAAUAAACc/+b/AAAHAAUAAACd/+b/AAAHAAUAAACe/+b/AAAHAAUAAACf/+b/AAAHAAUAAACg/+b/AAAHAAUAAACh/+b/AAAHAAUAAACi/+b/AAAHAAUAAACj/+b/AAAHAAUAAACk/+b/AAAHAAUAAACl/+b/AAAHAAUAAACm/+b/AAAHAAUAAACn/+b/AAAHAAUAAACo/+b/AAAHAAUAAACp/+b/AAAHAAUAAACq/+b/AAAHAAUAAACr/+b/AAAHAAUAAACs/+b/AAAHAAUAAACt/+b/AAAHAAUAAACu/+b/AAAIAAUAAACu/+f/AAAIAAYAAACu/+j/AAAIAAYAAACu/+n/AAAIAAYAAACu/+r/AAAIAAYAAACa/+f/AAAGAAYAAACa/+j/AAAGAAYAAACa/+n/AAAGAAYAAACa/+r/AAAGAAYAAACa/+b/AAAGAAUAAACg/9v/AAADAAEAAACg/9z/AAADAAEAAACn/9v/AAADAAEAAACn/9z/AAADAAEAAACq/9v/AAADAAEAAACq/9z/AAADAAEAAACd/9v/AAADAAEAAACd/9z/AAADAAEAAACp//T/AAADAAkAAACp//P/AAAGAAkAAACq//P/AAAEAAoAAACr//P/AAAEAAoAAACs//P/AAAEAAoAAACt//P/AAAIAAkAAACt//T/AAAFAAkAAACt//X/AAADAAkAAACt//b/AAAFAAoAAACs//b/AAAEAAoAAACr//b/AAAEAAoAAACq//b/AAAEAAoAAACp//b/AAADAAoAAACp//X/AAADAAkAAACv//D/AAAFAAkAAACv//H/AAAFAAkAAACv//L/AAADAAkAAACv//P/AAADAAkAAACv//T/AAADAAkAAACv//X/AAADAAoAAACw//X/AAAEAAoAAACx//X/AAAHAAoAAAC1//P/AAADAAoAAAC2//P/AAAEAAoAAAC3//P/AAAHAAkAAAC4//P/AAAEAAoAAAC5//P/AAAFAAoAAAC3//L/AAADAAkAAAC3//H/AAAHAAgAAAC2//H/AAADAAoAAAC1//D/AAAEAAoAAAC0//D/AAADAAoAAAC5//D/AAAGAAkAAAC6//D/AAAFAAoAAAC5//H/AAAFAAoAAAC4//H/AAAEAAoAAAC2//D/AAAIAAkAAAC3//T/AAAFAAkAAAC3//X/AAADAAkAAAC3//b/AAADAAkAAAC3//f/AAADAAoAAAC4//f/AAAEAAoAAAC5//f/AAAEAAoAAAC6//f/AAAEAAoAAAC7//f/AAAFAAoAAAC0//b/AAADAAkAAAC0//f/AAAFAAoAAACz//f/AAAEAAoAAAC0//X/AAADAAkAAAC0//T/AAAIAAkAAACz//T/AAAEAAoAAACy//T/AAADAAgAAACy//X/AAAIAAkAAACy//b/AAADAAkAAACy//f/AAADAAoAAADN//j/AAAGAAAAAADO//j/AAAHAAAAAAA=") tile_set = ExtResource("3_kgs2x") [node name="Props" type="TileMapLayer" parent="Factory Tilemaps"] @@ -140,7 +142,7 @@ position = Vector2(-713, -153) position = Vector2(-616, -153) [node name="Turret" parent="Factory Tilemaps" instance=ExtResource("18_6y85f")] -position = Vector2(-723, -165) +position = Vector2(-1076, 125) [node name="Teleporter" parent="Factory Tilemaps" instance=ExtResource("30_8fdby")] position = Vector2(-808, -167) @@ -237,19 +239,20 @@ position = Vector2(-1096, -23) [node name="AreaTrigger" parent="." node_paths=PackedStringArray("Target") instance=ExtResource("28_6au4t")] position = Vector2(-1487, -354) -Target = NodePath("") +Target = NodePath("../RumiaDialogueStarter") OneTime = true -[node name="DialogueStarter" type="Area2D" parent="." node_paths=PackedStringArray("_dialogueEndActivationTargets")] +[node name="RumiaDialogueStarter" type="Area2D" parent="." node_paths=PackedStringArray("_dialogueEndActivationTargets")] position = Vector2(-1544, -320) collision_layer = 0 collision_mask = 0 monitoring = false monitorable = false script = ExtResource("29_pvkri") +_trackName = "Rumia_Intro" _dialogueEndActivationTargets = [NodePath("../Rumia"), NodePath("../Factory Tilemaps/HorizontalDoor3")] -[node name="CollisionShape2D" type="CollisionShape2D" parent="DialogueStarter"] +[node name="CollisionShape2D" type="CollisionShape2D" parent="RumiaDialogueStarter"] shape = SubResource("CircleShape2D_l22r0") [node name="ControlPad" parent="." node_paths=PackedStringArray("Target") instance=ExtResource("12_hfkf1")] @@ -284,4 +287,11 @@ disabled = true [node name="Rumia" parent="." instance=ExtResource("19_acobs")] position = Vector2(-1465, -512) +[node name="Computer" parent="." node_paths=PackedStringArray("Target") instance=ExtResource("31_243ec")] +position = Vector2(-794, -127) +Target = NodePath("DialogueStarter") + +[node name="DialogueStarter" parent="Computer" instance=ExtResource("32_68v02")] +_trackName = "computer1" + [editable path="Factory Tilemaps/Camera"] diff --git a/Scripts/Activables/DialogueStarter.cs b/Scripts/Activables/DialogueStarter.cs index 04bdf62e..f43bea51 100644 --- a/Scripts/Activables/DialogueStarter.cs +++ b/Scripts/Activables/DialogueStarter.cs @@ -21,18 +21,25 @@ public partial class DialogueStarter : Activable _gameManager = this.GetGameManager(); _dialogic = GetNode("/root/Dialogic"); - - _dialogic.Connect("timeline_ended", Callable.From(OnTimelineEnded)); } private void OnTimelineEnded() { + + if (_dialogic.IsConnected("timeline_ended", Callable.From(OnTimelineEnded))) + { + _dialogic.Disconnect("timeline_ended", Callable.From(OnTimelineEnded)); + } + DialogueEndAction(); } public override void Activate(ActivationType activationType = ActivationType.Toggle) { _gameManager.ChangeState(GameState.Dialogue); + + _dialogic.Connect("timeline_ended", Callable.From(OnTimelineEnded)); + _dialogic.Call("start", _trackName); // Script dialogic = ResourceLoader.Load("res://addons/dialogic/Other/DialogicClass.gd") as Script; // var dialog = (Node) dialogic.Call("start","timeline"); diff --git a/Scripts/Interactables/Computer.cs b/Scripts/Interactables/Computer.cs new file mode 100644 index 00000000..9c53a035 --- /dev/null +++ b/Scripts/Interactables/Computer.cs @@ -0,0 +1,17 @@ +using Godot; +using System; + +public partial class Computer : Interactable +{ + [Export] public Activable Target { get; set; } + public override bool Activate() + { + if (MeetsRequirements()) + { + Target?.Activate(); + return true; + } + + return false; + } +} diff --git a/Sprites/Portraits/Computer.aseprite b/Sprites/Portraits/Computer.aseprite new file mode 100644 index 00000000..f772fc8a --- /dev/null +++ b/Sprites/Portraits/Computer.aseprite @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a1b721bec27f72249bb2d1f97012f056afd10bd29dbc5fd0dd4fde6323676a6 +size 796 diff --git a/Sprites/Portraits/Computer.png b/Sprites/Portraits/Computer.png new file mode 100644 index 00000000..cf1879d5 --- /dev/null +++ b/Sprites/Portraits/Computer.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63465204fbdf20e7a9fe437b516af27c09d622a4be278205d2956d62910a8eb4 +size 456 diff --git a/Sprites/Portraits/Computer.png.import b/Sprites/Portraits/Computer.png.import new file mode 100644 index 00000000..b1d31099 --- /dev/null +++ b/Sprites/Portraits/Computer.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bwuh531p3jex4" +path="res://.godot/imported/Computer.png-d4d7e7e31b97f1406739c9cf47034c01.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/Portraits/Computer.png" +dest_files=["res://.godot/imported/Computer.png-d4d7e7e31b97f1406739c9cf47034c01.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Sprites/Props/Computer.aseprite b/Sprites/Props/Computer.aseprite new file mode 100644 index 00000000..20c70f6c --- /dev/null +++ b/Sprites/Props/Computer.aseprite @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:148582a297f8949be3ee6ea818853cc6b5bcba33b1fd45e7154257dc3f0fbae3 +size 674 diff --git a/Sprites/Props/Computer.png b/Sprites/Props/Computer.png new file mode 100644 index 00000000..b7ef8d03 --- /dev/null +++ b/Sprites/Props/Computer.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d76b65981c4467bdfd0f71255db4d432b1cdaa11d08286f9bf868d45a72d8ab4 +size 212 diff --git a/Sprites/Props/Computer.png.import b/Sprites/Props/Computer.png.import new file mode 100644 index 00000000..6447fc67 --- /dev/null +++ b/Sprites/Props/Computer.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dyk2r7qkhdtkp" +path="res://.godot/imported/Computer.png-6d571e4f4b9da97af3354b190b4ddf88.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/Props/Computer.png" +dest_files=["res://.godot/imported/Computer.png-6d571e4f4b9da97af3354b190b4ddf88.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Tilesets/factory_tileset.tres b/Tilesets/factory_tileset.tres index a1127011..b3915669 100644 --- a/Tilesets/factory_tileset.tres +++ b/Tilesets/factory_tileset.tres @@ -89,7 +89,9 @@ texture = ExtResource("1_70kxh") 4:0/0 = 0 5:0/0 = 0 6:0/0 = 0 +6:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(8, -6, -6, -6, -6, 2, 8, 2) 7:0/0 = 0 +7:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -6, 6, -6, 6, 2, -8, 2) 8:0/0 = 0 9:0/0 = 0 0:1/0 = 0 diff --git a/project.godot b/project.godot index 6a1e3b53..2c15be30 100644 --- a/project.godot +++ b/project.godot @@ -34,14 +34,19 @@ Dialogic="*res://addons/dialogic/Core/DialogicGameHandler.gd" [dialogic] directories/dch_directory={ -"Cirno": "res://Dialogue/Characters/Cirno.dch" +"Cirno": "res://Dialogue/Characters/Cirno.dch", +"Navigator": "res://Dialogue/Characters/Navigator.dch", +"Rumia": "res://Dialogue/Characters/Rumia.dch", +"computer": "res://Dialogue/Characters/computer.dch" } directories/dtl_directory={ +"Rumia_Intro": "res://Dialogue/Timelines/Rumia_Intro.dtl", +"computer1": "res://Dialogue/Timelines/computer1.dtl", "testintro": "res://Dialogue/Timelines/testintro.dtl", "timeline": "res://Dialogue/timeline.dtl" } glossary/default_case_sensitive=true -layout/style_list=["res://Dialogue/Styles/Textbox_style.tres"] +layout/style_list=["res://Dialogue/Styles/Textbox_style.tres", "res://Dialogue/Styles/VN.tres", "res://Dialogue/Styles/Computer_Style.tres"] layout/default_style="res://Dialogue/Styles/Textbox_style.tres" variables={} extensions_folder="res://addons/dialogic_additions"