From c16290eb008fef475f7184b6e142fa45428281a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Qui=C3=B1ones?= Date: Fri, 6 Mar 2026 11:19:00 -0300 Subject: [PATCH 01/22] Player: Enable repel and grapple abilities Let them happen all at once without changing the actual modes for now. Only leave the mode "defeating" to disable player interaction and abilites (repel, grapple). This prevents refactoring the modes right now. --- .../characters/player/components/player.gd | 21 +++++-------------- .../characters/player/player.tscn | 4 ---- 2 files changed, 5 insertions(+), 20 deletions(-) diff --git a/scenes/game_elements/characters/player/components/player.gd b/scenes/game_elements/characters/player/components/player.gd index fb1bf2384c..b6c4f8e479 100644 --- a/scenes/game_elements/characters/player/components/player.gd +++ b/scenes/game_elements/characters/player/components/player.gd @@ -87,26 +87,15 @@ func _set_mode(new_mode: Mode) -> void: if not is_node_ready(): return match mode: - Mode.COZY: - _toggle_player_behavior(player_interaction, true) - _toggle_player_behavior(player_fighting, false) - _toggle_player_behavior(player_hook, false) - Input.set_default_cursor_shape(Input.CURSOR_ARROW) - Mode.FIGHTING: - _toggle_player_behavior(player_interaction, false) - _toggle_player_behavior(player_fighting, true) - _toggle_player_behavior(player_hook, false) - Input.set_default_cursor_shape(Input.CURSOR_ARROW) - Mode.HOOKING: - _toggle_player_behavior(player_interaction, false) - _toggle_player_behavior(player_fighting, false) - _toggle_player_behavior(player_hook, true) - Input.set_default_cursor_shape(Input.CURSOR_CROSS) Mode.DEFEATED: _toggle_player_behavior(player_interaction, false) _toggle_player_behavior(player_fighting, false) _toggle_player_behavior(player_hook, false) - Input.set_default_cursor_shape(Input.CURSOR_ARROW) + _: + _toggle_player_behavior(player_interaction, true) + _toggle_player_behavior(player_fighting, true) + _toggle_player_behavior(player_hook, true) + if mode != previous_mode: mode_changed.emit(mode) diff --git a/scenes/game_elements/characters/player/player.tscn b/scenes/game_elements/characters/player/player.tscn index 9068ac692c..6e28edd4da 100644 --- a/scenes/game_elements/characters/player/player.tscn +++ b/scenes/game_elements/characters/player/player.tscn @@ -596,8 +596,6 @@ grow_vertical = 2 [node name="PlayerFighting" type="Node2D" parent="." unique_id=1745412343] unique_name_in_owner = true -process_mode = 4 -visible = false script = ExtResource("7_5gtgg") [node name="AirStream" type="Area2D" parent="PlayerFighting" unique_id=642627191] @@ -626,8 +624,6 @@ libraries/ = SubResource("AnimationLibrary_1n58k") [node name="PlayerHook" type="Node2D" parent="." unique_id=1215042910 groups=["hook_listener"]] unique_name_in_owner = true -process_mode = 4 -visible = false position = Vector2(0, -20) script = ExtResource("11_nrnyj") From 05273890e4f4f42d9824453c8cbc4a1fe2a72774 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Qui=C3=B1ones?= Date: Fri, 6 Mar 2026 14:31:54 -0300 Subject: [PATCH 02/22] Player: Remove unused OccluderPolygon2D node This was introduced a while ago and left invisible. It has the shape of StoryWeaver so it won't work when replacing the SpriteFrames in StoryQuests. --- scenes/game_elements/characters/player/player.tscn | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/scenes/game_elements/characters/player/player.tscn b/scenes/game_elements/characters/player/player.tscn index 6e28edd4da..cef4449671 100644 --- a/scenes/game_elements/characters/player/player.tscn +++ b/scenes/game_elements/characters/player/player.tscn @@ -117,11 +117,6 @@ _data = { &"got_hit": SubResource("Animation_4ypcv") } -[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_75vfm"] -closed = false -cull_mode = 1 -polygon = PackedVector2Array(7, 7, 24, -20, 14, -49, -3, -74, -17, -61, -17, -42, -31, -42, -27, -8, 6, 7) - [sub_resource type="Animation" id="Animation_0owmy"] length = 0.001 tracks/0/type = "value" @@ -632,11 +627,6 @@ state = 1 [node name="HookEnding" type="Marker2D" parent="PlayerHook" unique_id=94764927] -[node name="LightOccluder2D" type="LightOccluder2D" parent="." unique_id=747608118] -visible = false -occluder = SubResource("OccluderPolygon2D_75vfm") -sdf_collision = false - [node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=683750023] unique_name_in_owner = true libraries/ = SubResource("AnimationLibrary_qek5x") From fa74ff348a7e316efa0150f56b8667007a2b9e38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Qui=C3=B1ones?= Date: Fri, 6 Mar 2026 14:34:35 -0300 Subject: [PATCH 03/22] Player animation: Remove get_repel_animation() This could be a const, or the "repel" string can be used directly. This is only preparation for upcoming animations refactor. Note: There are references in StoryQuest "After the Tremor" that this change may break. --- .../player/components/animation_player.gd | 15 +++----- .../characters/player/components/player.gd | 6 +-- .../characters/player/player.tscn | 38 +++++++++---------- 3 files changed, 27 insertions(+), 32 deletions(-) diff --git a/scenes/game_elements/characters/player/components/animation_player.gd b/scenes/game_elements/characters/player/components/animation_player.gd index b018ff23b2..5823d382b4 100644 --- a/scenes/game_elements/characters/player/components/animation_player.gd +++ b/scenes/game_elements/characters/player/components/animation_player.gd @@ -6,7 +6,7 @@ const REPEL_ANTICIPATION_TIME: float = 0.3 @onready var player: Player = owner @onready var player_sprite: AnimatedSprite2D = %PlayerSprite -@onready var player_fighting: Node2D = %PlayerFighting +@onready var player_repel: Node2D = %PlayerRepel @onready var player_hook: Node2D = %PlayerHook @onready var original_speed_scale: float = speed_scale @@ -29,10 +29,6 @@ func _process(_delta: float) -> void: speed_scale = original_speed_scale * (2.0 if double_speed else 1.0) -func _get_repel_animation() -> StringName: - return &"repel" - - func _process_walk_idle(_delta: float) -> void: if player.velocity.is_zero_approx(): play(&"idle") @@ -43,20 +39,19 @@ func _process_walk_idle(_delta: float) -> void: func _process_fighting(delta: float) -> void: - var repel: StringName = _get_repel_animation() - if not player_fighting.is_fighting: + if not player_repel.is_fighting: # If the current animation is repel and it has passed the anticipation # phase, it plays until the end. if not ( - current_animation == repel and current_animation_position > REPEL_ANTICIPATION_TIME + current_animation == &"repel" and current_animation_position > REPEL_ANTICIPATION_TIME ): _process_walk_idle(delta) return - if current_animation != repel: + if current_animation != &"repel": # Fighting animation is being played for the first time. So skip the anticipation and go # directly to the action. - play(repel) + play(&"repel") seek(REPEL_ANTICIPATION_TIME, false, false) diff --git a/scenes/game_elements/characters/player/components/player.gd b/scenes/game_elements/characters/player/components/player.gd index b6c4f8e479..8a4beda4d5 100644 --- a/scenes/game_elements/characters/player/components/player.gd +++ b/scenes/game_elements/characters/player/components/player.gd @@ -75,7 +75,7 @@ const DEFAULT_SPRITE_FRAME: SpriteFrames = preload("uid://vwf8e1v8brdp") var input_vector: Vector2 @onready var player_interaction: PlayerInteraction = %PlayerInteraction -@onready var player_fighting: Node2D = %PlayerFighting +@onready var player_repel: Node2D = %PlayerRepel @onready var player_hook: PlayerHook = %PlayerHook @onready var player_sprite: AnimatedSprite2D = %PlayerSprite @onready var _walk_sound: AudioStreamPlayer2D = %WalkSound @@ -89,11 +89,11 @@ func _set_mode(new_mode: Mode) -> void: match mode: Mode.DEFEATED: _toggle_player_behavior(player_interaction, false) - _toggle_player_behavior(player_fighting, false) + _toggle_player_behavior(player_repel, false) _toggle_player_behavior(player_hook, false) _: _toggle_player_behavior(player_interaction, true) - _toggle_player_behavior(player_fighting, true) + _toggle_player_behavior(player_repel, true) _toggle_player_behavior(player_hook, true) if mode != previous_mode: diff --git a/scenes/game_elements/characters/player/player.tscn b/scenes/game_elements/characters/player/player.tscn index cef4449671..c9cb7e5d9b 100644 --- a/scenes/game_elements/characters/player/player.tscn +++ b/scenes/game_elements/characters/player/player.tscn @@ -146,7 +146,7 @@ tracks/1/keys = { tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true -tracks/2/path = NodePath("PlayerFighting/AirStream/AirStreamCollision:disabled") +tracks/2/path = NodePath("PlayerRepel/AirStream/AirStreamCollision:disabled") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { @@ -158,7 +158,7 @@ tracks/2/keys = { tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true -tracks/3/path = NodePath("PlayerFighting/AirStream/AirStreamCollision:shape:radius") +tracks/3/path = NodePath("PlayerRepel/AirStream/AirStreamCollision:shape:radius") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { @@ -170,7 +170,7 @@ tracks/3/keys = { tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true -tracks/4/path = NodePath("PlayerFighting/AirStream:position") +tracks/4/path = NodePath("PlayerRepel/AirStream:position") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { @@ -182,7 +182,7 @@ tracks/4/keys = { tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true -tracks/5/path = NodePath("PlayerFighting/AirStream/Sprite2D:visible") +tracks/5/path = NodePath("PlayerRepel/AirStream/Sprite2D:visible") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { @@ -194,7 +194,7 @@ tracks/5/keys = { tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true -tracks/6/path = NodePath("PlayerFighting/AirStream/Sprite2D:scale") +tracks/6/path = NodePath("PlayerRepel/AirStream/Sprite2D:scale") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { @@ -206,7 +206,7 @@ tracks/6/keys = { tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true -tracks/7/path = NodePath("PlayerFighting/AirStream/Sprite2D:modulate") +tracks/7/path = NodePath("PlayerRepel/AirStream/Sprite2D:modulate") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { @@ -282,7 +282,7 @@ step = 0.1 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath("PlayerFighting/AirStream/AirStreamCollision:disabled") +tracks/0/path = NodePath("PlayerRepel/AirStream/AirStreamCollision:disabled") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { @@ -318,7 +318,7 @@ tracks/2/keys = { tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true -tracks/3/path = NodePath("PlayerFighting/AirStream/AirStreamCollision:shape:radius") +tracks/3/path = NodePath("PlayerRepel/AirStream/AirStreamCollision:shape:radius") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { @@ -330,7 +330,7 @@ tracks/3/keys = { tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true -tracks/4/path = NodePath("PlayerFighting/AirStream:position") +tracks/4/path = NodePath("PlayerRepel/AirStream:position") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { @@ -342,7 +342,7 @@ tracks/4/keys = { tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true -tracks/5/path = NodePath("PlayerFighting/AirStream/Sprite2D:visible") +tracks/5/path = NodePath("PlayerRepel/AirStream/Sprite2D:visible") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { @@ -354,7 +354,7 @@ tracks/5/keys = { tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true -tracks/6/path = NodePath("PlayerFighting/AirStream/Sprite2D:scale") +tracks/6/path = NodePath("PlayerRepel/AirStream/Sprite2D:scale") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { @@ -366,7 +366,7 @@ tracks/6/keys = { tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true -tracks/7/path = NodePath("PlayerFighting/AirStream/Sprite2D:modulate") +tracks/7/path = NodePath("PlayerRepel/AirStream/Sprite2D:modulate") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { @@ -378,7 +378,7 @@ tracks/7/keys = { tracks/8/type = "audio" tracks/8/imported = false tracks/8/enabled = true -tracks/8/path = NodePath("PlayerFighting/AirStream/AudioStreamPlayer2D") +tracks/8/path = NodePath("PlayerRepel/AirStream/AudioStreamPlayer2D") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { @@ -589,31 +589,31 @@ offset_bottom = 11.0 grow_horizontal = 2 grow_vertical = 2 -[node name="PlayerFighting" type="Node2D" parent="." unique_id=1745412343] +[node name="PlayerRepel" type="Node2D" parent="." unique_id=1745412343] unique_name_in_owner = true script = ExtResource("7_5gtgg") -[node name="AirStream" type="Area2D" parent="PlayerFighting" unique_id=642627191] +[node name="AirStream" type="Area2D" parent="PlayerRepel" unique_id=642627191] unique_name_in_owner = true position = Vector2(0, -24) collision_layer = 0 collision_mask = 256 -[node name="AirStreamCollision" type="CollisionShape2D" parent="PlayerFighting/AirStream" unique_id=2073501549] +[node name="AirStreamCollision" type="CollisionShape2D" parent="PlayerRepel/AirStream" unique_id=2073501549] unique_name_in_owner = true shape = SubResource("CircleShape2D_h17s1") disabled = true -[node name="Sprite2D" type="Sprite2D" parent="PlayerFighting/AirStream" unique_id=2035148168] +[node name="Sprite2D" type="Sprite2D" parent="PlayerRepel/AirStream" unique_id=2035148168] visible = false material = SubResource("CanvasItemMaterial_je7p5") scale = Vector2(0.12577, 0.12577) texture = ExtResource("9_je7p5") -[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="PlayerFighting/AirStream" unique_id=25920746] +[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="PlayerRepel/AirStream" unique_id=25920746] bus = &"SFX" -[node name="GotHitAnimation" type="AnimationPlayer" parent="PlayerFighting" unique_id=1067804411] +[node name="GotHitAnimation" type="AnimationPlayer" parent="PlayerRepel" unique_id=1067804411] unique_name_in_owner = true libraries/ = SubResource("AnimationLibrary_1n58k") From dd6ce40421eea3c3347b0c1e81ada6b0f45d7270 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Qui=C3=B1ones?= Date: Fri, 6 Mar 2026 14:57:45 -0300 Subject: [PATCH 04/22] Player: Rename Fighting to Repel Rename the node that provides this ability to PlayerRepel. Adjust the scripts accordingly. --- .../player/components/{player_fighting.gd => player_repel.gd} | 0 .../components/{player_fighting.gd.uid => player_repel.gd.uid} | 0 scenes/game_elements/characters/player/player.tscn | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) rename scenes/game_elements/characters/player/components/{player_fighting.gd => player_repel.gd} (100%) rename scenes/game_elements/characters/player/components/{player_fighting.gd.uid => player_repel.gd.uid} (100%) diff --git a/scenes/game_elements/characters/player/components/player_fighting.gd b/scenes/game_elements/characters/player/components/player_repel.gd similarity index 100% rename from scenes/game_elements/characters/player/components/player_fighting.gd rename to scenes/game_elements/characters/player/components/player_repel.gd diff --git a/scenes/game_elements/characters/player/components/player_fighting.gd.uid b/scenes/game_elements/characters/player/components/player_repel.gd.uid similarity index 100% rename from scenes/game_elements/characters/player/components/player_fighting.gd.uid rename to scenes/game_elements/characters/player/components/player_repel.gd.uid diff --git a/scenes/game_elements/characters/player/player.tscn b/scenes/game_elements/characters/player/player.tscn index c9cb7e5d9b..a2f0a227da 100644 --- a/scenes/game_elements/characters/player/player.tscn +++ b/scenes/game_elements/characters/player/player.tscn @@ -8,7 +8,7 @@ [ext_resource type="Script" uid="uid://necvar42rnih" path="res://scenes/game_elements/characters/player/components/interact_zone.gd" id="6_3in67"] [ext_resource type="PackedScene" uid="uid://yfpfno276rol" path="res://scenes/game_elements/props/fixed_size_label/fixed_size_label.tscn" id="6_h17s1"] [ext_resource type="Script" uid="uid://e78f8iq448e1" path="res://scenes/game_elements/characters/player/components/animation_player.gd" id="7_0owmy"] -[ext_resource type="Script" uid="uid://kni2yl26matc" path="res://scenes/game_elements/characters/player/components/player_fighting.gd" id="7_5gtgg"] +[ext_resource type="Script" uid="uid://kni2yl26matc" path="res://scenes/game_elements/characters/player/components/player_repel.gd" id="7_5gtgg"] [ext_resource type="Texture2D" uid="uid://dda0lxfswrncy" path="res://scenes/game_elements/characters/player/components/blow.png" id="9_je7p5"] [ext_resource type="AudioStream" uid="uid://crfylo055wa8e" path="res://scenes/game_elements/characters/player/components/blow.wav" id="10_fm80t"] [ext_resource type="AudioStream" uid="uid://cx6jv2cflrmqu" path="res://assets/third_party/sounds/characters/player/Foot.ogg" id="11_blfj0"] From 4e26af8b9fe789d4abaddcc9f3bf4f911937ee9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Qui=C3=B1ones?= Date: Fri, 6 Mar 2026 15:05:34 -0300 Subject: [PATCH 05/22] Remove SwitchModeArea hack And the Area2D nodes that had this script. In 2 scenes from Void quest. --- .../components/switch_mode_area.gd | 22 ------------------- .../components/switch_mode_area.gd.uid | 1 - .../2_grappling_hook/grappling_hook_end.tscn | 16 -------------- .../2_grappling_hook/grappling_hook_pins.tscn | 16 -------------- 4 files changed, 55 deletions(-) delete mode 100644 scenes/quests/lore_quests/quest_002/2_grappling_hook/components/switch_mode_area.gd delete mode 100644 scenes/quests/lore_quests/quest_002/2_grappling_hook/components/switch_mode_area.gd.uid diff --git a/scenes/quests/lore_quests/quest_002/2_grappling_hook/components/switch_mode_area.gd b/scenes/quests/lore_quests/quest_002/2_grappling_hook/components/switch_mode_area.gd deleted file mode 100644 index 24bbe7b1a5..0000000000 --- a/scenes/quests/lore_quests/quest_002/2_grappling_hook/components/switch_mode_area.gd +++ /dev/null @@ -1,22 +0,0 @@ -# SPDX-FileCopyrightText: The Threadbare Authors -# SPDX-License-Identifier: MPL-2.0 -extends Area2D -## An area inside which the player is set to mode [member Player.Mode.COZY], -## and outside which is set to mode [member Player.Mode.HOOKING]. -## -## This is a hack for collecting a thread in a grappling hook scene, -## until we get rid of player modes. - - -func _on_body_entered(body: Node2D) -> void: - var player := body as Player - if not player: - return - player.mode = Player.Mode.COZY - - -func _on_body_exited(body: Node2D) -> void: - var player := body as Player - if not player: - return - player.mode = Player.Mode.HOOKING diff --git a/scenes/quests/lore_quests/quest_002/2_grappling_hook/components/switch_mode_area.gd.uid b/scenes/quests/lore_quests/quest_002/2_grappling_hook/components/switch_mode_area.gd.uid deleted file mode 100644 index 41fd2216b4..0000000000 --- a/scenes/quests/lore_quests/quest_002/2_grappling_hook/components/switch_mode_area.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://d2m5qm4ranctd diff --git a/scenes/quests/lore_quests/quest_002/2_grappling_hook/grappling_hook_end.tscn b/scenes/quests/lore_quests/quest_002/2_grappling_hook/grappling_hook_end.tscn index 2f1cf10d32..9630cf3a8b 100644 --- a/scenes/quests/lore_quests/quest_002/2_grappling_hook/grappling_hook_end.tscn +++ b/scenes/quests/lore_quests/quest_002/2_grappling_hook/grappling_hook_end.tscn @@ -13,7 +13,6 @@ [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="8_nt6an"] [ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="9_x5deh"] [ext_resource type="PackedScene" uid="uid://covsdqqsd6rsy" path="res://scenes/game_elements/props/sign/sign.tscn" id="10_qkedd"] -[ext_resource type="Script" uid="uid://d2m5qm4ranctd" path="res://scenes/quests/lore_quests/quest_002/2_grappling_hook/components/switch_mode_area.gd" id="11_ygswq"] [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="12_wrdap"] [ext_resource type="PackedScene" uid="uid://crqjcicx0vdu" path="res://scenes/game_elements/props/decoration/bush/bush.tscn" id="14_hf4li"] [ext_resource type="Script" uid="uid://0enyu5v4ra34" path="res://scenes/game_elements/props/spawn_point/components/spawn_point.gd" id="14_j6qjo"] @@ -25,9 +24,6 @@ name = "Imagination" type = 1 metadata/_custom_type_script = "uid://bgmwplmj3bfls" -[sub_resource type="RectangleShape2D" id="RectangleShape2D_b0r3o"] -size = Vector2(131, 87) - [node name="GrapplingHookEnd" type="Node2D" unique_id=2075725183] script = ExtResource("1_1dsdq") @@ -204,15 +200,6 @@ sprite_frames = ExtResource("15_nt6an") [node name="Bush14" parent="OnTheGround/Bushes" unique_id=497586474 instance=ExtResource("14_hf4li")] position = Vector2(261, 440) -[node name="SwitchModeArea" type="Area2D" parent="." unique_id=523599684] -position = Vector2(1434, 532) -collision_layer = 0 -script = ExtResource("11_ygswq") - -[node name="CollisionShape2D" type="CollisionShape2D" parent="SwitchModeArea" unique_id=553066267] -position = Vector2(-1, 0) -shape = SubResource("RectangleShape2D_b0r3o") - [node name="SpawnPointEnter" type="Marker2D" parent="." unique_id=1163506455 groups=["spawn_point"]] position = Vector2(2691, 545) script = ExtResource("14_j6qjo") @@ -222,6 +209,3 @@ metadata/_custom_type_script = "uid://0enyu5v4ra34" [node name="ScreenOverlay" type="CanvasLayer" parent="." unique_id=1646643121] [node name="HUD" parent="." unique_id=919464251 instance=ExtResource("12_wrdap")] - -[connection signal="body_entered" from="SwitchModeArea" to="SwitchModeArea" method="_on_body_entered"] -[connection signal="body_exited" from="SwitchModeArea" to="SwitchModeArea" method="_on_body_exited"] diff --git a/scenes/quests/lore_quests/quest_002/2_grappling_hook/grappling_hook_pins.tscn b/scenes/quests/lore_quests/quest_002/2_grappling_hook/grappling_hook_pins.tscn index 00370ff542..a3c83c73ca 100644 --- a/scenes/quests/lore_quests/quest_002/2_grappling_hook/grappling_hook_pins.tscn +++ b/scenes/quests/lore_quests/quest_002/2_grappling_hook/grappling_hook_pins.tscn @@ -15,13 +15,9 @@ [ext_resource type="PackedScene" uid="uid://crqjcicx0vdu" path="res://scenes/game_elements/props/decoration/bush/bush.tscn" id="12_sqxkk"] [ext_resource type="SpriteFrames" uid="uid://bapks76u4hipj" path="res://scenes/game_elements/props/decoration/bush/components/bush_spriteframes_green_small.tres" id="13_udo54"] [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="14_nlj8l"] -[ext_resource type="Script" uid="uid://d2m5qm4ranctd" path="res://scenes/quests/lore_quests/quest_002/2_grappling_hook/components/switch_mode_area.gd" id="15_8mj0p"] [ext_resource type="Script" uid="uid://hqdquinbimce" path="res://scenes/game_elements/props/teleporter/teleporter.gd" id="16_udo54"] [ext_resource type="PackedScene" uid="uid://mruqy04d0vl8" path="res://scenes/quests/lore_quests/quest_002/2_grappling_hook/components/buttons_collector.tscn" id="18_udo54"] -[sub_resource type="RectangleShape2D" id="RectangleShape2D_8mj0p"] -size = Vector2(131, 87) - [sub_resource type="RectangleShape2D" id="RectangleShape2D_drlay"] size = Vector2(64, 128) @@ -328,15 +324,6 @@ sprite_frames = ExtResource("13_udo54") [node name="ButtonsCollector" parent="OnTheGround" unique_id=1634175369 instance=ExtResource("18_udo54")] position = Vector2(2451, 1246) -[node name="SwitchModeArea" type="Area2D" parent="OnTheGround/ButtonsCollector" unique_id=167963291] -position = Vector2(1, -12) -collision_layer = 0 -script = ExtResource("15_8mj0p") - -[node name="CollisionShape2D" type="CollisionShape2D" parent="OnTheGround/ButtonsCollector/SwitchModeArea" unique_id=1213896799] -position = Vector2(-1, 0) -shape = SubResource("RectangleShape2D_8mj0p") - [node name="TeleporterNext" type="Area2D" parent="." unique_id=1560505035] position = Vector2(2759, 1281) collision_layer = 4 @@ -358,6 +345,3 @@ metadata/_custom_type_script = "uid://0enyu5v4ra34" [node name="ScreenOverlay" type="CanvasLayer" parent="." unique_id=1514589793] [node name="HUD" parent="." unique_id=1964030329 instance=ExtResource("14_nlj8l")] - -[connection signal="body_entered" from="OnTheGround/ButtonsCollector/SwitchModeArea" to="OnTheGround/ButtonsCollector/SwitchModeArea" method="_on_body_entered"] -[connection signal="body_exited" from="OnTheGround/ButtonsCollector/SwitchModeArea" to="OnTheGround/ButtonsCollector/SwitchModeArea" method="_on_body_exited"] From 5e9635fdf4b52b10c2e617d27611a177fed36d71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Qui=C3=B1ones?= Date: Fri, 6 Mar 2026 16:13:48 -0300 Subject: [PATCH 06/22] Player animation: Refactor Add a signal to the repel ability and use it to play the animation when the property changes, instead of checking it constantly in _process(). Loop the repel animation in the script by adding a handler to the animation finished signal, and remove the loop mode from the animation itself. Give a class name to PlayerRepel. --- .../player/components/animation_player.gd | 61 ++++++++----------- .../player/components/player_repel.gd | 18 ++++-- .../characters/player/player.tscn | 1 - 3 files changed, 41 insertions(+), 39 deletions(-) diff --git a/scenes/game_elements/characters/player/components/animation_player.gd b/scenes/game_elements/characters/player/components/animation_player.gd index 5823d382b4..797076fb34 100644 --- a/scenes/game_elements/characters/player/components/animation_player.gd +++ b/scenes/game_elements/characters/player/components/animation_player.gd @@ -6,30 +6,24 @@ const REPEL_ANTICIPATION_TIME: float = 0.3 @onready var player: Player = owner @onready var player_sprite: AnimatedSprite2D = %PlayerSprite -@onready var player_repel: Node2D = %PlayerRepel -@onready var player_hook: Node2D = %PlayerHook +@onready var player_repel: PlayerRepel = %PlayerRepel +@onready var player_hook: PlayerHook = %PlayerHook @onready var original_speed_scale: float = speed_scale func _ready() -> void: + animation_finished.connect(_on_animation_finished) player.mode_changed.connect(_on_player_mode_changed) + player_repel.repelling_changed.connect(_on_player_repel_repelling_changed) player_hook.string_thrown.connect(_on_player_hook_string_thrown) func _process(_delta: float) -> void: - match player.mode: - Player.Mode.COZY: - _process_walk_idle(_delta) - Player.Mode.FIGHTING: - _process_fighting(_delta) - Player.Mode.HOOKING: - _process_hooking(_delta) - - var double_speed: bool = current_animation == &"walk" and player.is_running() - speed_scale = original_speed_scale * (2.0 if double_speed else 1.0) - + if player.mode == player.Mode.DEFEATED: + return + if current_animation in [&"repel", &"throw_string"]: + return -func _process_walk_idle(_delta: float) -> void: if player.velocity.is_zero_approx(): play(&"idle") elif player_sprite.sprite_frames.has_animation(&"run") and player.is_running(): @@ -37,38 +31,37 @@ func _process_walk_idle(_delta: float) -> void: else: play(&"walk") + var double_speed: bool = current_animation == &"walk" and player.is_running() + speed_scale = original_speed_scale * (2.0 if double_speed else 1.0) -func _process_fighting(delta: float) -> void: - if not player_repel.is_fighting: - # If the current animation is repel and it has passed the anticipation - # phase, it plays until the end. - if not ( - current_animation == &"repel" and current_animation_position > REPEL_ANTICIPATION_TIME - ): - _process_walk_idle(delta) - return - if current_animation != &"repel": - # Fighting animation is being played for the first time. So skip the anticipation and go - # directly to the action. +func _on_animation_finished(animation_name: StringName) -> void: + if animation_name == &"repel" and player_repel.repelling: + speed_scale = original_speed_scale play(&"repel") - seek(REPEL_ANTICIPATION_TIME, false, false) - - -func _process_hooking(delta: float) -> void: - if current_animation == &"throw_string": - return - - _process_walk_idle(delta) func _on_player_mode_changed(mode: Player.Mode) -> void: match player.mode: Player.Mode.DEFEATED: + speed_scale = original_speed_scale play(&"defeated") +func _on_player_repel_repelling_changed(repelling: bool) -> void: + if not repelling: + return + + # Repel animation is being played for the first time. So skip the anticipation and go + # directly to the action. + speed_scale = original_speed_scale + play(&"repel") + seek(REPEL_ANTICIPATION_TIME, false, false) + + func _on_player_hook_string_thrown() -> void: + # A new throw action (blading sword) interrupts the previous one. if current_animation == &"throw_string": stop() + speed_scale = original_speed_scale play(&"throw_string") diff --git a/scenes/game_elements/characters/player/components/player_repel.gd b/scenes/game_elements/characters/player/components/player_repel.gd index 8321d41306..7a8691e059 100644 --- a/scenes/game_elements/characters/player/components/player_repel.gd +++ b/scenes/game_elements/characters/player/components/player_repel.gd @@ -1,13 +1,18 @@ # SPDX-FileCopyrightText: The Threadbare Authors # SPDX-License-Identifier: MPL-2.0 +class_name PlayerRepel extends Node2D -var is_fighting: bool = false +## Emitted when the repel starts or stops. +signal repelling_changed(repelling: bool) + +## Current state of the repel. +var repelling: bool = false: + set = _set_repelling @onready var hit_box: Area2D = %HitBox @onready var got_hit_animation: AnimationPlayer = %GotHitAnimation @onready var air_stream: Area2D = %AirStream -@onready var player_sprite: AnimatedSprite2D = %PlayerSprite @onready var player: Player = self.owner as Player @@ -17,11 +22,16 @@ func _ready() -> void: air_stream.body_entered.connect(_on_air_stream_body_entered) +func _set_repelling(new_repelling: bool) -> void: + repelling = new_repelling + repelling_changed.emit(repelling) + + func _unhandled_input(_event: InputEvent) -> void: if Input.is_action_just_pressed(&"repel"): - is_fighting = true + repelling = true elif Input.is_action_just_released(&"repel"): - is_fighting = false + repelling = false func _on_body_entered(body: Node2D) -> void: diff --git a/scenes/game_elements/characters/player/player.tscn b/scenes/game_elements/characters/player/player.tscn index a2f0a227da..fff6773564 100644 --- a/scenes/game_elements/characters/player/player.tscn +++ b/scenes/game_elements/characters/player/player.tscn @@ -277,7 +277,6 @@ tracks/1/keys = { [sub_resource type="Animation" id="Animation_u5klv"] resource_name = "repel" length = 0.6 -loop_mode = 1 step = 0.1 tracks/0/type = "value" tracks/0/imported = false From 2d08b1bf108b7f2b6111656305f30201eff7b279 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Qui=C3=B1ones?= Date: Fri, 6 Mar 2026 16:17:05 -0300 Subject: [PATCH 07/22] Input map: Change keyboard and mouse for repel and grapple For keyboard + mouse: Use right click to repel. For keyboard only: Use Z to repel and X to grapple. This is on the basis that the player will use arrow keys for moving in this case. Interact continues being Space in both setups. --- project.godot | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/project.godot b/project.godot index 0ee44379c3..c0b0d9345d 100644 --- a/project.godot +++ b/project.godot @@ -256,13 +256,14 @@ interact={ } repel={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":90,"key_label":0,"unicode":122,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":0,"pressure":0.0,"pressed":true,"script":null) +, Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":2,"position":Vector2(53, 19),"global_position":Vector2(62, 67),"factor":1.0,"button_index":2,"canceled":false,"pressed":true,"double_click":false,"script":null) ] } throw={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":88,"key_label":0,"unicode":120,"location":0,"echo":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":5,"axis_value":1.0,"script":null) , Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":1,"position":Vector2(92, 25),"global_position":Vector2(92, 54),"factor":1.0,"button_index":1,"canceled":false,"pressed":true,"double_click":false,"script":null) ] From f702dca1810109be13a63fb102b1cd957ae6c262 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Qui=C3=B1ones?= Date: Fri, 6 Mar 2026 16:36:11 -0300 Subject: [PATCH 08/22] Input map: Change joypad repel action To the right shoulder (RB in XBox). So it doesn't collide with A for interaction. And so it can be used at the same time as aiming the grappling hook with the right stick. Co-authored-by: Will Thompson --- project.godot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project.godot b/project.godot index c0b0d9345d..1e49f54ab7 100644 --- a/project.godot +++ b/project.godot @@ -257,7 +257,7 @@ interact={ repel={ "deadzone": 0.2, "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":90,"key_label":0,"unicode":122,"location":0,"echo":false,"script":null) -, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":0,"pressure":0.0,"pressed":true,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":10,"pressure":0.0,"pressed":true,"script":null) , Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":2,"position":Vector2(53, 19),"global_position":Vector2(62, 67),"factor":1.0,"button_index":2,"canceled":false,"pressed":true,"double_click":false,"script":null) ] } From 0e2d673b8f79d6232f78747c48f5e7dabeea34de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Qui=C3=B1ones?= Date: Mon, 9 Mar 2026 15:43:01 -0300 Subject: [PATCH 09/22] Prevent starting the repel action by smashing buttons --- .../characters/player/components/animation_player.gd | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scenes/game_elements/characters/player/components/animation_player.gd b/scenes/game_elements/characters/player/components/animation_player.gd index 797076fb34..2d5f72577b 100644 --- a/scenes/game_elements/characters/player/components/animation_player.gd +++ b/scenes/game_elements/characters/player/components/animation_player.gd @@ -52,6 +52,10 @@ func _on_player_repel_repelling_changed(repelling: bool) -> void: if not repelling: return + # The repel animation is already ongoing. Prevent starting it again by smashing the buttons. + if current_animation == &"repel": + return + # Repel animation is being played for the first time. So skip the anticipation and go # directly to the action. speed_scale = original_speed_scale From 0d601ea3bf01d632c74bfa231349bb86329023a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Qui=C3=B1ones?= Date: Mon, 9 Mar 2026 15:47:14 -0300 Subject: [PATCH 10/22] Grapple action interrupts the repel action too --- .../characters/player/components/animation_player.gd | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scenes/game_elements/characters/player/components/animation_player.gd b/scenes/game_elements/characters/player/components/animation_player.gd index 2d5f72577b..c6ab568012 100644 --- a/scenes/game_elements/characters/player/components/animation_player.gd +++ b/scenes/game_elements/characters/player/components/animation_player.gd @@ -65,7 +65,8 @@ func _on_player_repel_repelling_changed(repelling: bool) -> void: func _on_player_hook_string_thrown() -> void: # A new throw action (blading sword) interrupts the previous one. - if current_animation == &"throw_string": + # It also interrupts the repel action. + if current_animation in [&"repel", &"throw_string"]: stop() speed_scale = original_speed_scale play(&"throw_string") From 4bd5cf5bcb90a4b59415ef1cc3a38ee9dabb1e2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Qui=C3=B1ones?= Date: Mon, 9 Mar 2026 16:18:39 -0300 Subject: [PATCH 11/22] Player: Extract "got hit" from PlayerRepel Into a new PlayerHarm node inside the Player scene. There is no actual harm today, but the "got hit" animation and handling of the projectiles entering the player hitbox are here now, split from the PlayerRepel ability. Also, connect the signals from the editor, not in the _ready() function. --- .../player/components/player_harm.gd | 26 ++++ .../player/components/player_harm.gd.uid | 1 + .../player/components/player_repel.gd | 24 --- .../characters/player/player.tscn | 138 +++++++++--------- 4 files changed, 100 insertions(+), 89 deletions(-) create mode 100644 scenes/game_elements/characters/player/components/player_harm.gd create mode 100644 scenes/game_elements/characters/player/components/player_harm.gd.uid diff --git a/scenes/game_elements/characters/player/components/player_harm.gd b/scenes/game_elements/characters/player/components/player_harm.gd new file mode 100644 index 0000000000..8905a9a785 --- /dev/null +++ b/scenes/game_elements/characters/player/components/player_harm.gd @@ -0,0 +1,26 @@ +# SPDX-FileCopyrightText: The Threadbare Authors +# SPDX-License-Identifier: MPL-2.0 +extends Node2D + +## The player hitbox area. +@onready var hit_box: Area2D = %HitBox + +## Animation to play when the player gets hit. +@onready var got_hit_animation: AnimationPlayer = %GotHitAnimation + + +func _on_hit_box_body_entered(body: Node2D) -> void: + body = body as Projectile + if not body: + return + body.add_small_fx() + body.queue_free() + got_hit_animation.play(&"got_hit") + CameraShake.shake() + + +func _notification(what: int) -> void: + match what: + NOTIFICATION_DISABLED: + got_hit_animation.play(&"RESET") + got_hit_animation.advance(0) diff --git a/scenes/game_elements/characters/player/components/player_harm.gd.uid b/scenes/game_elements/characters/player/components/player_harm.gd.uid new file mode 100644 index 0000000000..e59cad6efd --- /dev/null +++ b/scenes/game_elements/characters/player/components/player_harm.gd.uid @@ -0,0 +1 @@ +uid://dajod2qsesqte diff --git a/scenes/game_elements/characters/player/components/player_repel.gd b/scenes/game_elements/characters/player/components/player_repel.gd index 7a8691e059..0c881e25cc 100644 --- a/scenes/game_elements/characters/player/components/player_repel.gd +++ b/scenes/game_elements/characters/player/components/player_repel.gd @@ -10,18 +10,11 @@ signal repelling_changed(repelling: bool) var repelling: bool = false: set = _set_repelling -@onready var hit_box: Area2D = %HitBox -@onready var got_hit_animation: AnimationPlayer = %GotHitAnimation @onready var air_stream: Area2D = %AirStream @onready var player: Player = self.owner as Player -func _ready() -> void: - hit_box.body_entered.connect(_on_body_entered) - air_stream.body_entered.connect(_on_air_stream_body_entered) - - func _set_repelling(new_repelling: bool) -> void: repelling = new_repelling repelling_changed.emit(repelling) @@ -34,22 +27,5 @@ func _unhandled_input(_event: InputEvent) -> void: repelling = false -func _on_body_entered(body: Node2D) -> void: - body = body as Projectile - if not body: - return - body.add_small_fx() - body.queue_free() - got_hit_animation.play(&"got_hit") - CameraShake.shake() - - func _on_air_stream_body_entered(body: Projectile) -> void: body.got_hit(owner) - - -func _notification(what: int) -> void: - match what: - NOTIFICATION_DISABLED: - got_hit_animation.play(&"RESET") - got_hit_animation.advance(0) diff --git a/scenes/game_elements/characters/player/player.tscn b/scenes/game_elements/characters/player/player.tscn index fff6773564..5d15f46a26 100644 --- a/scenes/game_elements/characters/player/player.tscn +++ b/scenes/game_elements/characters/player/player.tscn @@ -1,6 +1,7 @@ [gd_scene format=3 uid="uid://iu2q66clupc6"] [ext_resource type="Script" uid="uid://bwllxup305eib" path="res://scenes/game_elements/characters/player/components/player.gd" id="1_g2els"] +[ext_resource type="Script" uid="uid://dajod2qsesqte" path="res://scenes/game_elements/characters/player/components/player_harm.gd" id="2_8jhju"] [ext_resource type="SpriteFrames" uid="uid://vwf8e1v8brdp" path="res://scenes/quests/template_quests/NO_EDIT/NO_EDIT_player_components/NO_EDIT_player.tres" id="2_blfj0"] [ext_resource type="Script" uid="uid://bpu6jo4kvehlg" path="res://scenes/game_elements/characters/player/components/player_interaction.gd" id="3_dqkch"] [ext_resource type="Script" uid="uid://ciw2w16c38ewq" path="res://scenes/game_elements/characters/player/components/player_dust_particles.gd" id="3_j0tly"] @@ -18,9 +19,6 @@ [ext_resource type="Script" uid="uid://bk52qjv58locq" path="res://scenes/game_logic/light2d_behaviors/artificial_light_behavior.gd" id="16_ecbbk"] [ext_resource type="Texture2D" uid="uid://b5ooaiyxdrp6a" path="res://scenes/game_elements/components/light_texture_256x256.tres" id="16_tnibl"] -[sub_resource type="RectangleShape2D" id="RectangleShape2D_je7p5"] -size = Vector2(32, 47) - [sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_j0tly"] blend_mode = 1 particles_animation = true @@ -80,43 +78,6 @@ radius = 20.0 [sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_je7p5"] blend_mode = 1 -[sub_resource type="Animation" id="Animation_wvgcx"] -length = 0.001 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("../PlayerSprite:modulate") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Color(1, 1, 1, 1)] -} - -[sub_resource type="Animation" id="Animation_4ypcv"] -resource_name = "got_hit" -length = 0.3 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("../PlayerSprite:modulate") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 0.3), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)] -} - -[sub_resource type="AnimationLibrary" id="AnimationLibrary_1n58k"] -_data = { -&"RESET": SubResource("Animation_wvgcx"), -&"got_hit": SubResource("Animation_4ypcv") -} - [sub_resource type="Animation" id="Animation_0owmy"] length = 0.001 tracks/0/type = "value" @@ -514,6 +475,46 @@ _data = { &"walk": SubResource("Animation_qek5x") } +[sub_resource type="RectangleShape2D" id="RectangleShape2D_je7p5"] +size = Vector2(32, 47) + +[sub_resource type="Animation" id="Animation_wvgcx"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("../PlayerSprite:modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} + +[sub_resource type="Animation" id="Animation_4ypcv"] +resource_name = "got_hit" +length = 0.3 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("../PlayerSprite:modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.3), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_1n58k"] +_data = { +&"RESET": SubResource("Animation_wvgcx"), +&"got_hit": SubResource("Animation_4ypcv") +} + [node name="Player" type="CharacterBody2D" unique_id=296354958 groups=["player"]] collision_mask = 531 motion_mode = 1 @@ -521,16 +522,6 @@ wall_min_slide_angle = 0.017453292 safe_margin = 1.0 script = ExtResource("1_g2els") -[node name="HitBox" type="Area2D" parent="." unique_id=1910507610] -unique_name_in_owner = true -collision_layer = 64 -collision_mask = 256 - -[node name="CollisionShape2D" type="CollisionShape2D" parent="HitBox" unique_id=1807630823] -position = Vector2(0, -28.5) -shape = SubResource("RectangleShape2D_je7p5") -debug_color = Color(0.94902, 0.231373, 0, 0.419608) - [node name="PlayerDustParticles" type="GPUParticles2D" parent="." unique_id=785276606] unique_name_in_owner = true modulate = Color(1, 1, 1, 0.498039) @@ -556,6 +547,19 @@ script = ExtResource("3_qlg0r") rotation = -1.5708 shape = SubResource("CapsuleShape2D_3vyb7") +[node name="PointLight2D" type="PointLight2D" parent="." unique_id=460659966 groups=["night-lights"]] +visibility_layer = 2 +scale = Vector2(4, 3) +enabled = false +energy = 0.5 +texture = ExtResource("16_tnibl") + +[node name="ArtificialLightBehavior" type="Node" parent="PointLight2D" unique_id=789625383 node_paths=PackedStringArray("light")] +editor_description = "There is no random delay applied here, because we want the area around the player to be illuminated as soon as it becomes dark." +script = ExtResource("16_ecbbk") +light = NodePath("..") +metadata/_custom_type_script = "uid://bk52qjv58locq" + [node name="PlayerInteraction" type="Node2D" parent="." unique_id=1260226520] unique_name_in_owner = true script = ExtResource("3_dqkch") @@ -612,10 +616,6 @@ texture = ExtResource("9_je7p5") [node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="PlayerRepel/AirStream" unique_id=25920746] bus = &"SFX" -[node name="GotHitAnimation" type="AnimationPlayer" parent="PlayerRepel" unique_id=1067804411] -unique_name_in_owner = true -libraries/ = SubResource("AnimationLibrary_1n58k") - [node name="PlayerHook" type="Node2D" parent="." unique_id=1215042910 groups=["hook_listener"]] unique_name_in_owner = true position = Vector2(0, -20) @@ -638,15 +638,23 @@ volume_db = -5.0 pitch_scale = 7.0 bus = &"SFX" -[node name="PointLight2D" type="PointLight2D" parent="." unique_id=460659966 groups=["night-lights"]] -visibility_layer = 2 -scale = Vector2(4, 3) -enabled = false -energy = 0.5 -texture = ExtResource("16_tnibl") +[node name="PlayerHarm" type="Node2D" parent="." unique_id=794226595] +script = ExtResource("2_8jhju") -[node name="ArtificialLightBehavior" type="Node" parent="PointLight2D" unique_id=789625383 node_paths=PackedStringArray("light")] -editor_description = "There is no random delay applied here, because we want the area around the player to be illuminated as soon as it becomes dark." -script = ExtResource("16_ecbbk") -light = NodePath("..") -metadata/_custom_type_script = "uid://bk52qjv58locq" +[node name="HitBox" type="Area2D" parent="PlayerHarm" unique_id=1910507610] +unique_name_in_owner = true +collision_layer = 64 +collision_mask = 256 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="PlayerHarm/HitBox" unique_id=1807630823] +position = Vector2(0, -28.5) +shape = SubResource("RectangleShape2D_je7p5") +debug_color = Color(0.94902, 0.231373, 0, 0.419608) + +[node name="GotHitAnimation" type="AnimationPlayer" parent="PlayerHarm" unique_id=1067804411] +unique_name_in_owner = true +root_node = NodePath("../../PlayerRepel") +libraries/ = SubResource("AnimationLibrary_1n58k") + +[connection signal="body_entered" from="PlayerRepel/AirStream" to="PlayerRepel" method="_on_air_stream_body_entered"] +[connection signal="body_entered" from="PlayerHarm/HitBox" to="PlayerHarm" method="_on_hit_box_body_entered"] From a202945c889e97c193ef488e4fce0bb4dec2020b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Qui=C3=B1ones?= Date: Mon, 9 Mar 2026 19:24:49 -0300 Subject: [PATCH 12/22] Dialogue balloon: Set cursor to arrow and back to cross During dialogue, set the cursor to the arrow. When dialogue ends, set it to the cross. --- scenes/ui_elements/dialogue/components/balloon.gd | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/scenes/ui_elements/dialogue/components/balloon.gd b/scenes/ui_elements/dialogue/components/balloon.gd index a495a1c67f..f7adc3e994 100644 --- a/scenes/ui_elements/dialogue/components/balloon.gd +++ b/scenes/ui_elements/dialogue/components/balloon.gd @@ -74,6 +74,7 @@ var _player_name: String = "" func _ready() -> void: balloon.hide() Engine.get_singleton("DialogueManager").mutated.connect(_on_mutated) + Engine.get_singleton("DialogueManager").dialogue_ended.connect(_on_dialogue_ended) # If the responses menu doesn't have a next action set, use this one if responses_menu.next_action.is_empty(): @@ -112,6 +113,7 @@ func start( resource = dialogue_resource self.dialogue_line = await resource.get_next_dialogue_line(title, temporary_game_states) talk_sound_player.play() + Input.set_default_cursor_shape(Input.CURSOR_ARROW) ## Apply any changes to the balloon given a new [DialogueLine]. @@ -188,6 +190,10 @@ func _on_mutated(_mutation: Dictionary) -> void: mutation_cooldown.start(0.1) +func _on_dialogue_ended(_resource: DialogueResource) -> void: + Input.set_default_cursor_shape(Input.CURSOR_CROSS) + + func _on_balloon_gui_input(event: InputEvent) -> void: # See if we need to skip typing of the dialogue if dialogue_label.is_typing: From ef977ea5560cac2fa9b137c0b713daee7542a321 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Qui=C3=B1ones?= Date: Mon, 9 Mar 2026 19:25:51 -0300 Subject: [PATCH 13/22] Pause overlay: Set cursor to arrow and back to cross When the game is paused set the cursor to the arrow. And when unpaused, set it to the cross shape. --- scenes/globals/pause/pause_overlay.gd | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scenes/globals/pause/pause_overlay.gd b/scenes/globals/pause/pause_overlay.gd index 8f5a99e4cf..13975a39f3 100644 --- a/scenes/globals/pause/pause_overlay.gd +++ b/scenes/globals/pause/pause_overlay.gd @@ -26,6 +26,8 @@ func toggle_pause() -> void: visible = new_state get_tree().paused = new_state + Input.set_default_cursor_shape(Input.CURSOR_ARROW if new_state else Input.CURSOR_CROSS) + if new_state: abandon_quest_button.visible = GameState.is_on_quest() pause_menu.show() From 8609dc43aae856d2083e2f768036001eea64fe91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Qui=C3=B1ones?= Date: Mon, 9 Mar 2026 19:43:03 -0300 Subject: [PATCH 14/22] Mouse manager: Set default cursor to cross --- scenes/globals/mouse_manager/mouse_manager.gd | 1 + 1 file changed, 1 insertion(+) diff --git a/scenes/globals/mouse_manager/mouse_manager.gd b/scenes/globals/mouse_manager/mouse_manager.gd index 9a557c7d85..3b5f98ea81 100644 --- a/scenes/globals/mouse_manager/mouse_manager.gd +++ b/scenes/globals/mouse_manager/mouse_manager.gd @@ -11,6 +11,7 @@ const MOUSE_CURSOR_CROSS = preload("uid://bx11wyx7unc4q") func _ready() -> void: Input.set_custom_mouse_cursor(MOUSE_CURSOR_DEFAULT, Input.CURSOR_ARROW, Vector2(0, 0)) Input.set_custom_mouse_cursor(MOUSE_CURSOR_CROSS, Input.CURSOR_CROSS, Vector2(32, 32)) + Input.set_default_cursor_shape(Input.CURSOR_CROSS) func _input(event: InputEvent) -> void: From 140979028552dcfcc61811254e0c3c8625f30dc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Qui=C3=B1ones?= Date: Tue, 10 Mar 2026 13:54:29 -0300 Subject: [PATCH 15/22] Quest Resource: Add property to identify lore quests A boolean property. Default to false. Set it to true in the 3 existing lore quests. --- scenes/menus/storybook/components/quest.gd | 3 +++ scenes/quests/lore_quests/quest_001/quest.tres | 1 + scenes/quests/lore_quests/quest_002/quest.tres | 1 + scenes/quests/lore_quests/quest_003/quest.tres | 1 + 4 files changed, 6 insertions(+) diff --git a/scenes/menus/storybook/components/quest.gd b/scenes/menus/storybook/components/quest.gd index e6381ef81a..1741bf78de 100644 --- a/scenes/menus/storybook/components/quest.gd +++ b/scenes/menus/storybook/components/quest.gd @@ -42,6 +42,9 @@ const FILENAME := "quest.tres" ## [CollectibleItem]s in the quest. @export_range(0, 6, 1, "suffix:threads") var threads_to_collect: int = 3 +## Whether this is a lore quest (part of the main storyline). +@export var is_lore_quest: bool = false + @export_group("Animation") ## An optional sprite frame library to show in the storybook page for this quest. diff --git a/scenes/quests/lore_quests/quest_001/quest.tres b/scenes/quests/lore_quests/quest_001/quest.tres index d7bc230639..4d00de2e2c 100644 --- a/scenes/quests/lore_quests/quest_001/quest.tres +++ b/scenes/quests/lore_quests/quest_001/quest.tres @@ -20,6 +20,7 @@ status = 1 title = "The Musician's Quest" description = "StoryWeaver meets a musician and a series of terrifying creatures." first_scene = "uid://7hoy2p14t6kc" +is_lore_quest = true sprite_frames = SubResource("SpriteFrames_8ruhb") animation_name = &"default" metadata/_custom_type_script = "uid://dts1hwdy3phin" diff --git a/scenes/quests/lore_quests/quest_002/quest.tres b/scenes/quests/lore_quests/quest_002/quest.tres index 58ee650656..b9b2f80fa1 100644 --- a/scenes/quests/lore_quests/quest_002/quest.tres +++ b/scenes/quests/lore_quests/quest_002/quest.tres @@ -19,6 +19,7 @@ script = ExtResource("1_dlhxi") title = "The Void" description = "StoryWeaver runs away from a growing emptiness that spreads across the land, smothering and swallowing everything it covers." first_scene = "uid://bm4ewr8p48x0i" +is_lore_quest = true sprite_frames = SubResource("SpriteFrames_l1xe8") animation_name = &"default" metadata/_custom_type_script = "uid://dts1hwdy3phin" diff --git a/scenes/quests/lore_quests/quest_003/quest.tres b/scenes/quests/lore_quests/quest_003/quest.tres index 8cf61a96a9..9ff2350187 100644 --- a/scenes/quests/lore_quests/quest_003/quest.tres +++ b/scenes/quests/lore_quests/quest_003/quest.tres @@ -8,4 +8,5 @@ title = "Placeholder" description = "A quest to hold scenes that don't yet have a permanent home." first_scene = "uid://d2ejk3qrh0fo3" threads_to_collect = 2 +is_lore_quest = true metadata/_custom_type_script = "uid://dts1hwdy3phin" From 7e7206e8c8f803fa50448ce80fffdf6e2489c692 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Qui=C3=B1ones?= Date: Tue, 10 Mar 2026 23:40:38 -0300 Subject: [PATCH 16/22] Game State: Add player abilities for lore and StoryQuests As generic flags that can be interpreted by the game entities. For example, the first one can be "repel". Add an enum with 3 abilities, each with 3 modifiers (enhanced, reduced, buffed, debuffed, strengthened, damaged). Eg: longer thread to grapple. The same methods set_ability(), has_ability() can be used from the game, and they will behave differently depending if the player is involved in a StoryQuest or not. --- scenes/globals/enums.gd | 19 +++++ scenes/globals/game_state/game_state.gd | 95 +++++++++++++++++++++++++ 2 files changed, 114 insertions(+) diff --git a/scenes/globals/enums.gd b/scenes/globals/enums.gd index 7da5d6de4e..b049f70b71 100644 --- a/scenes/globals/enums.gd +++ b/scenes/globals/enums.gd @@ -25,3 +25,22 @@ enum CollisionLayers { NON_WALKABLE_FLOOR = 10, HOOKABLE = 13, } + +## Flags for player abilities +## [br][br] +## These are generic flags that can be treated differently +## in the lore game and in StoryQuests. +enum PlayerAbilities { + ABILITY_A = 1 << 0, + ABILITY_A_MODIFIER_1 = 1 << 1, + ABILITY_A_MODIFIER_2 = 1 << 2, + ABILITY_A_MODIFIER_3 = 1 << 3, + ABILITY_B = 1 << 4, + ABILITY_B_MODIFIER_1 = 1 << 5, + ABILITY_B_MODIFIER_2 = 1 << 6, + ABILITY_B_MODIFIER_3 = 1 << 7, + ABILITY_C = 1 << 8, + ABILITY_C_MODIFIER_1 = 1 << 9, + ABILITY_C_MODIFIER_2 = 1 << 10, + ABILITY_C_MODIFIER_3 = 1 << 11, +} diff --git a/scenes/globals/game_state/game_state.gd b/scenes/globals/game_state/game_state.gd index 62da2344b4..d07cc120e2 100644 --- a/scenes/globals/game_state/game_state.gd +++ b/scenes/globals/game_state/game_state.gd @@ -1,6 +1,7 @@ # gdlint: disable=max-public-methods # SPDX-FileCopyrightText: The Threadbare Authors # SPDX-License-Identifier: MPL-2.0 +@tool extends Node ## Emitted when a new item is collected, even if it wasn't added to the @@ -25,6 +26,9 @@ signal lights_changed(lights_on: bool, immediate: bool) ## Emitted when a quest is added or removed from [member completed_quests]. signal completed_quests_changed +## Emitted when lore or StoryQuest player abilities change. +signal abilities_changed + const GAME_STATE_PATH := "user://game_state.cfg" const INVENTORY_SECTION := "inventory" const INVENTORY_ITEMS_KEY := "items_collected" @@ -33,9 +37,11 @@ const QUEST_PATH_KEY := "resource_path" const QUEST_CURRENTSCENE_KEY := "current_scene" const QUEST_SPAWNPOINT_KEY := "current_spawn_point" const QUEST_CHALLENGE_START_KEY := "challenge_start_scene" +const QUEST_PLAYER_ABILITIES_KEY := "storyquest_player_abilities" const GLOBAL_SECTION := "global" const GLOBAL_INCORPORATING_THREADS_KEY := "incorporating_threads" const COMPLETED_QUESTS_KEY := "completed_quests" +const LORE_PLAYER_ABILITIES_KEY := "lore_player_abilities" const LIVES_KEY := "current_lives" const MAX_LIVES := 0x7fffffffffffffff const DEBUG_LIVES := false @@ -51,6 +57,20 @@ const TRANSIENT_SCENES := [ @export var inventory: Array[InventoryItem] = [] @export var current_spawn_point: NodePath +## Player abilities for the whole game. +## [br][br] +## These are flags that enable systems or mechanics for the player progression +## during the entire game.[br] +## When involved in a StoryQuest, [member storyquest_player_abilities] are used instead. +@export var lore_player_abilities: int = 0: + set = _set_lore_player_abilities + +## Player abilities for the current StoryQuest. +## [br][br] +## These are flags that enable systems or mechanics for the StoryQuest progression[br] +## When involved in a lore quest, [member lore_player_abilities] are used instead. +@export var storyquest_player_abilities: int = 0 + ## Current number of lives the player has. var current_lives: int = MAX_LIVES @@ -77,6 +97,18 @@ var persist_progress: bool var _state := ConfigFile.new() +func _validate_property(property: Dictionary) -> void: + match property["name"]: + # Treat the player abilities as bit flags. + # The @export_flags would be ideal but it expects constant + # strings, and we want to use the PlayerAbilities enum keys + # as hint strings. + # This also requires this script to be a @tool. + "lore_player_abilities", "storyquest_player_abilities": + property.hint = PROPERTY_HINT_FLAGS + property.hint_string = ",".join(Enums.PlayerAbilities.keys()) + + func _ready() -> void: var current_scene := get_tree().current_scene var initial_scene_uid := ( @@ -118,6 +150,10 @@ func start_quest(quest: Quest) -> void: # Set the challenge start scene to the first scene of the quest _state.set_value(QUEST_SECTION, QUEST_CHALLENGE_START_KEY, quest.first_scene) + if not current_quest.is_lore_quest: + storyquest_player_abilities = 0 + _state.set_value(QUEST_SECTION, QUEST_PLAYER_ABILITIES_KEY, storyquest_player_abilities) + # Reset lives when starting a new quest reset_lives() _save() @@ -234,6 +270,7 @@ func abandon_quest() -> void: set_incorporating_threads(false) _clear_quest_state() current_quest = null + storyquest_player_abilities = 0 clear_inventory() @@ -257,6 +294,60 @@ func _do_set_quest_completed_state(quest: Quest, is_completed: bool) -> void: completed_quests_changed.emit() +func _set_lore_player_abilities(new_lore_player_abilities: int) -> void: + if lore_player_abilities == new_lore_player_abilities: + return + lore_player_abilities = new_lore_player_abilities + abilities_changed.emit() + + +func _set_storyquest_player_abilities(new_storyquest_player_abilities: int) -> void: + if storyquest_player_abilities == new_storyquest_player_abilities: + return + storyquest_player_abilities = new_storyquest_player_abilities + abilities_changed.emit() + + +func _use_lore_abilities() -> bool: + return current_quest == null or current_quest.is_lore_quest + + +## Enable or disable a player ability. +## [br][br] +## This will behave differently in the main "lore" game than in +## StoryQuests: the lore has player progression that last the whole game, +## while StoryQuests are narrative units and have their own player progression. +func set_ability(ability: Enums.PlayerAbilities, is_enabled: bool) -> void: + if is_enabled: + if not has_ability(ability): + if _use_lore_abilities(): + lore_player_abilities |= ability + else: + storyquest_player_abilities |= ability + else: + if has_ability(ability): + if _use_lore_abilities(): + lore_player_abilities &= ~ability + else: + storyquest_player_abilities &= ~ability + if _use_lore_abilities(): + _state.set_value(GLOBAL_SECTION, LORE_PLAYER_ABILITIES_KEY, lore_player_abilities) + else: + _state.set_value(QUEST_SECTION, QUEST_PLAYER_ABILITIES_KEY, storyquest_player_abilities) + _save() + + +## Check if a player ability is enabled. +## [br][br] +## This will behave differently in the main "lore" game than in +## StoryQuests: the lore has player progression that last the whole game, +## while StoryQuests are narrative units and have their own player progression. +func has_ability(ability: Enums.PlayerAbilities) -> bool: + if _use_lore_abilities(): + return lore_player_abilities & ability + return storyquest_player_abilities & ability + + ## Remove all [InventoryItem] from the [member inventory]. func clear_inventory() -> void: _do_clear_inventory() @@ -333,6 +424,7 @@ func clear_per_scene_state() -> void: func clear() -> void: _state.clear() completed_quests = [] + lore_player_abilities = 0 current_lives = MAX_LIVES if DEBUG_LIVES: prints("[LIVES DEBUG] State cleared. Lives reset to:", current_lives) @@ -368,6 +460,9 @@ func restore() -> Dictionary: ) completed_quests = _state.get_value(GLOBAL_SECTION, COMPLETED_QUESTS_KEY, [] as Array[String]) + lore_player_abilities = _state.get_value(GLOBAL_SECTION, LORE_PLAYER_ABILITIES_KEY, 0) + storyquest_player_abilities = _state.get_value(QUEST_SECTION, QUEST_PLAYER_ABILITIES_KEY, 0) + # Restore lives from saved state, default to MAX_LIVES if not found current_lives = _state.get_value(GLOBAL_SECTION, LIVES_KEY, MAX_LIVES) if DEBUG_LIVES: From ccd72b0649928357cd549ce18549b6b3b43c7aa7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Qui=C3=B1ones?= Date: Tue, 10 Mar 2026 23:47:27 -0300 Subject: [PATCH 17/22] Player: Enable abilities from game state Consider flags ABILITY_A as "repel", ABILITY_B as "grapple", and ABILITY_B_MODIFIER_1 as "longer hook" modifier for grapple. --- .../characters/player/components/player.gd | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/scenes/game_elements/characters/player/components/player.gd b/scenes/game_elements/characters/player/components/player.gd index 8a4beda4d5..68fd09cfd1 100644 --- a/scenes/game_elements/characters/player/components/player.gd +++ b/scenes/game_elements/characters/player/components/player.gd @@ -93,8 +93,7 @@ func _set_mode(new_mode: Mode) -> void: _toggle_player_behavior(player_hook, false) _: _toggle_player_behavior(player_interaction, true) - _toggle_player_behavior(player_repel, true) - _toggle_player_behavior(player_hook, true) + _toggle_abilities() if mode != previous_mode: mode_changed.emit(mode) @@ -148,6 +147,7 @@ func _get_configuration_warnings() -> PackedStringArray: func _ready() -> void: _set_mode(mode) _set_sprite_frames(sprite_frames) + GameState.abilities_changed.connect(_on_abilities_changed) func _unhandled_input(_event: InputEvent) -> void: @@ -248,6 +248,22 @@ func defeat(falling: bool = false) -> void: _handle_game_over() +func _toggle_abilities() -> void: + var can_repel := GameState.has_ability(Enums.PlayerAbilities.ABILITY_A) + var can_grapple := GameState.has_ability(Enums.PlayerAbilities.ABILITY_B) + _toggle_player_behavior(player_repel, can_repel) + _toggle_player_behavior(player_hook, can_grapple) + if can_grapple: + var has_longer_hook := GameState.has_ability(Enums.PlayerAbilities.ABILITY_B_MODIFIER_1) + player_hook.string_throw_length = 400.0 if has_longer_hook else 200.0 + player_hook.string_max_length = 450.0 if has_longer_hook else 250.0 + + +func _on_abilities_changed() -> void: + if mode != Mode.DEFEATED: + _toggle_abilities() + + ## Handles game over logic: restarts from the beginning of the current challenge ## with lives reset to 3. func _handle_game_over() -> void: From cb13a7cf0863ec162b6eadd5e0ef8f2e958d34fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Qui=C3=B1ones?= Date: Tue, 10 Mar 2026 23:50:10 -0300 Subject: [PATCH 18/22] Lore quests: grant abilities - Grant "repel" at the beginning of ink_combat_round_1 - Grant "grapple" at the beginning of grappling_hook_start - Grant "longer thread" when collecting the powerup in grappling_hook_powerup - Grant "longer thread" when collecting the powerup in void_grappling_round_2 (although it should be already given at this point) - Remove hacky way to set longer thread --- .../2_ink_combat/components/ink_combat_round_1.gd | 7 +++++++ .../components/ink_combat_round_1.gd.uid | 1 + .../quest_001/2_ink_combat/ink_combat_round_1.tscn | 2 ++ .../components/grappling_hook_end.gd | 12 ------------ .../components/grappling_hook_end.gd.uid | 1 - .../components/grappling_hook_powerup.gd | 13 +------------ .../components/grappling_hook_start.gd | 7 +++++++ .../components/grappling_hook_start.gd.uid | 1 + .../2_grappling_hook/components/longer_hook.gd | 8 -------- .../2_grappling_hook/components/longer_hook.gd.uid | 1 - .../2_grappling_hook/grappling_hook_end.tscn | 2 -- .../2_grappling_hook/grappling_hook_start.tscn | 2 ++ .../components/void_grapping_round_2.gd | 11 +---------- 13 files changed, 22 insertions(+), 46 deletions(-) create mode 100644 scenes/quests/lore_quests/quest_001/2_ink_combat/components/ink_combat_round_1.gd create mode 100644 scenes/quests/lore_quests/quest_001/2_ink_combat/components/ink_combat_round_1.gd.uid delete mode 100644 scenes/quests/lore_quests/quest_002/2_grappling_hook/components/grappling_hook_end.gd delete mode 100644 scenes/quests/lore_quests/quest_002/2_grappling_hook/components/grappling_hook_end.gd.uid create mode 100644 scenes/quests/lore_quests/quest_002/2_grappling_hook/components/grappling_hook_start.gd create mode 100644 scenes/quests/lore_quests/quest_002/2_grappling_hook/components/grappling_hook_start.gd.uid delete mode 100644 scenes/quests/lore_quests/quest_002/2_grappling_hook/components/longer_hook.gd delete mode 100644 scenes/quests/lore_quests/quest_002/2_grappling_hook/components/longer_hook.gd.uid diff --git a/scenes/quests/lore_quests/quest_001/2_ink_combat/components/ink_combat_round_1.gd b/scenes/quests/lore_quests/quest_001/2_ink_combat/components/ink_combat_round_1.gd new file mode 100644 index 0000000000..afbe305068 --- /dev/null +++ b/scenes/quests/lore_quests/quest_001/2_ink_combat/components/ink_combat_round_1.gd @@ -0,0 +1,7 @@ +# SPDX-FileCopyrightText: The Threadbare Authors +# SPDX-License-Identifier: MPL-2.0 +extends Node2D + + +func _ready() -> void: + GameState.set_ability(Enums.PlayerAbilities.ABILITY_A, true) diff --git a/scenes/quests/lore_quests/quest_001/2_ink_combat/components/ink_combat_round_1.gd.uid b/scenes/quests/lore_quests/quest_001/2_ink_combat/components/ink_combat_round_1.gd.uid new file mode 100644 index 0000000000..551e5b39d6 --- /dev/null +++ b/scenes/quests/lore_quests/quest_001/2_ink_combat/components/ink_combat_round_1.gd.uid @@ -0,0 +1 @@ +uid://21swtptc5twt diff --git a/scenes/quests/lore_quests/quest_001/2_ink_combat/ink_combat_round_1.tscn b/scenes/quests/lore_quests/quest_001/2_ink_combat/ink_combat_round_1.tscn index 2fac550965..4b90ed1d54 100644 --- a/scenes/quests/lore_quests/quest_001/2_ink_combat/ink_combat_round_1.tscn +++ b/scenes/quests/lore_quests/quest_001/2_ink_combat/ink_combat_round_1.tscn @@ -1,6 +1,7 @@ [gd_scene format=4 uid="uid://c764br4tplkb2"] [ext_resource type="Script" uid="uid://x1mxt6bmei2o" path="res://scenes/ui_elements/cinematic/cinematic.gd" id="1_33khf"] +[ext_resource type="Script" uid="uid://21swtptc5twt" path="res://scenes/quests/lore_quests/quest_001/2_ink_combat/components/ink_combat_round_1.gd" id="1_iu4vq"] [ext_resource type="AudioStream" uid="uid://dkgtyb0x1i0m2" path="res://scenes/quests/lore_quests/quest_001/2_ink_combat/components/combat_music.tres" id="2_3npeg"] [ext_resource type="Resource" uid="uid://cmhcuoms2kh1a" path="res://scenes/quests/lore_quests/quest_001/2_ink_combat/components/dialogues/ink_well.dialogue" id="2_o41k0"] [ext_resource type="Script" uid="uid://cp54mgi54nywo" path="res://scenes/game_logic/fill_game_logic.gd" id="3_0b2ty"] @@ -52,6 +53,7 @@ size = Vector2(101, 49) [node name="InkCombatRound1" type="Node2D" unique_id=1019395160] y_sort_enabled = true +script = ExtResource("1_iu4vq") [node name="BackgroundMusic" parent="." unique_id=593411595 instance=ExtResource("3_nlryc")] stream = ExtResource("2_3npeg") diff --git a/scenes/quests/lore_quests/quest_002/2_grappling_hook/components/grappling_hook_end.gd b/scenes/quests/lore_quests/quest_002/2_grappling_hook/components/grappling_hook_end.gd deleted file mode 100644 index aec6213551..0000000000 --- a/scenes/quests/lore_quests/quest_002/2_grappling_hook/components/grappling_hook_end.gd +++ /dev/null @@ -1,12 +0,0 @@ -# SPDX-FileCopyrightText: The Threadbare Authors -# SPDX-License-Identifier: MPL-2.0 -extends Node2D - -const LongerHook = preload( - "res://scenes/quests/lore_quests/quest_002/2_grappling_hook/components/longer_hook.gd" -) - - -func _ready() -> void: - var player: Player = get_tree().get_first_node_in_group("player") - LongerHook.grant_longer_hook(player) diff --git a/scenes/quests/lore_quests/quest_002/2_grappling_hook/components/grappling_hook_end.gd.uid b/scenes/quests/lore_quests/quest_002/2_grappling_hook/components/grappling_hook_end.gd.uid deleted file mode 100644 index 31caa45889..0000000000 --- a/scenes/quests/lore_quests/quest_002/2_grappling_hook/components/grappling_hook_end.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://dlelm6xi0nj15 diff --git a/scenes/quests/lore_quests/quest_002/2_grappling_hook/components/grappling_hook_powerup.gd b/scenes/quests/lore_quests/quest_002/2_grappling_hook/components/grappling_hook_powerup.gd index 563e59a507..9c8950fbb8 100644 --- a/scenes/quests/lore_quests/quest_002/2_grappling_hook/components/grappling_hook_powerup.gd +++ b/scenes/quests/lore_quests/quest_002/2_grappling_hook/components/grappling_hook_powerup.gd @@ -2,20 +2,9 @@ # SPDX-License-Identifier: MPL-2.0 extends Node2D -const LongerHook = preload( - "res://scenes/quests/lore_quests/quest_002/2_grappling_hook/components/longer_hook.gd" -) - -@onready var player: Player = %Player -@onready var frame_camera_behavior: FrameCameraBehavior = %FrameCameraBehavior - - -func _ready() -> void: - frame_camera_behavior.frame_target = player.get_node("PlayerHook/HookEnding") - func _on_button_item_collected() -> void: - LongerHook.grant_longer_hook(player) + GameState.set_ability(Enums.PlayerAbilities.ABILITY_B_MODIFIER_1, true) # Zoom out the camera when collecting the powerup, because now the player # can throw a longer thread: diff --git a/scenes/quests/lore_quests/quest_002/2_grappling_hook/components/grappling_hook_start.gd b/scenes/quests/lore_quests/quest_002/2_grappling_hook/components/grappling_hook_start.gd new file mode 100644 index 0000000000..de822a0f41 --- /dev/null +++ b/scenes/quests/lore_quests/quest_002/2_grappling_hook/components/grappling_hook_start.gd @@ -0,0 +1,7 @@ +# SPDX-FileCopyrightText: The Threadbare Authors +# SPDX-License-Identifier: MPL-2.0 +extends Node2D + + +func _ready() -> void: + GameState.set_ability(Enums.PlayerAbilities.ABILITY_B, true) diff --git a/scenes/quests/lore_quests/quest_002/2_grappling_hook/components/grappling_hook_start.gd.uid b/scenes/quests/lore_quests/quest_002/2_grappling_hook/components/grappling_hook_start.gd.uid new file mode 100644 index 0000000000..27daea0be8 --- /dev/null +++ b/scenes/quests/lore_quests/quest_002/2_grappling_hook/components/grappling_hook_start.gd.uid @@ -0,0 +1 @@ +uid://cypo7qnrrj4qq diff --git a/scenes/quests/lore_quests/quest_002/2_grappling_hook/components/longer_hook.gd b/scenes/quests/lore_quests/quest_002/2_grappling_hook/components/longer_hook.gd deleted file mode 100644 index bb886cd8e7..0000000000 --- a/scenes/quests/lore_quests/quest_002/2_grappling_hook/components/longer_hook.gd +++ /dev/null @@ -1,8 +0,0 @@ -# SPDX-FileCopyrightText: The Threadbare Authors -# SPDX-License-Identifier: MPL-2.0 -extends Object - - -static func grant_longer_hook(player: Player) -> void: - player.get_node("%PlayerHook").string_throw_length = 400.0 - player.get_node("%PlayerHook").string_max_length = 450.0 diff --git a/scenes/quests/lore_quests/quest_002/2_grappling_hook/components/longer_hook.gd.uid b/scenes/quests/lore_quests/quest_002/2_grappling_hook/components/longer_hook.gd.uid deleted file mode 100644 index 7ac9df4719..0000000000 --- a/scenes/quests/lore_quests/quest_002/2_grappling_hook/components/longer_hook.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://27owt0vwo85d diff --git a/scenes/quests/lore_quests/quest_002/2_grappling_hook/grappling_hook_end.tscn b/scenes/quests/lore_quests/quest_002/2_grappling_hook/grappling_hook_end.tscn index 9630cf3a8b..79a8c8fefd 100644 --- a/scenes/quests/lore_quests/quest_002/2_grappling_hook/grappling_hook_end.tscn +++ b/scenes/quests/lore_quests/quest_002/2_grappling_hook/grappling_hook_end.tscn @@ -1,6 +1,5 @@ [gd_scene format=4 uid="uid://bfs26qvdru0ur"] -[ext_resource type="Script" uid="uid://dlelm6xi0nj15" path="res://scenes/quests/lore_quests/quest_002/2_grappling_hook/components/grappling_hook_end.gd" id="1_1dsdq"] [ext_resource type="PackedScene" uid="uid://2rbpl811wlv1" path="res://scenes/game_elements/props/background_music/background_music.tscn" id="2_7h0hr"] [ext_resource type="Material" uid="uid://64aeyjitacv3" path="res://scenes/game_elements/props/void/void_chromakey_material.tres" id="3_7h0hr"] [ext_resource type="AudioStream" uid="uid://bwgtbylflkup2" path="res://scenes/quests/lore_quests/quest_002/components/void_music.tres" id="3_hf4li"] @@ -25,7 +24,6 @@ type = 1 metadata/_custom_type_script = "uid://bgmwplmj3bfls" [node name="GrapplingHookEnd" type="Node2D" unique_id=2075725183] -script = ExtResource("1_1dsdq") [node name="BackgroundMusic" parent="." unique_id=563696862 instance=ExtResource("2_7h0hr")] stream = ExtResource("3_hf4li") diff --git a/scenes/quests/lore_quests/quest_002/2_grappling_hook/grappling_hook_start.tscn b/scenes/quests/lore_quests/quest_002/2_grappling_hook/grappling_hook_start.tscn index 4faa0692fc..63686e52e1 100644 --- a/scenes/quests/lore_quests/quest_002/2_grappling_hook/grappling_hook_start.tscn +++ b/scenes/quests/lore_quests/quest_002/2_grappling_hook/grappling_hook_start.tscn @@ -1,5 +1,6 @@ [gd_scene format=4 uid="uid://b8mfigsd8y5qs"] +[ext_resource type="Script" uid="uid://cypo7qnrrj4qq" path="res://scenes/quests/lore_quests/quest_002/2_grappling_hook/components/grappling_hook_start.gd" id="1_6n4qp"] [ext_resource type="PackedScene" uid="uid://2rbpl811wlv1" path="res://scenes/game_elements/props/background_music/background_music.tscn" id="1_wxpj0"] [ext_resource type="Material" uid="uid://64aeyjitacv3" path="res://scenes/game_elements/props/void/void_chromakey_material.tres" id="2_85rkf"] [ext_resource type="AudioStream" uid="uid://bwgtbylflkup2" path="res://scenes/quests/lore_quests/quest_002/components/void_music.tres" id="2_wv4km"] @@ -136,6 +137,7 @@ point_count = 8 size = Vector2(64, 128) [node name="GrapplingHookStart" type="Node2D" unique_id=462883478] +script = ExtResource("1_6n4qp") [node name="BackgroundMusic" parent="." unique_id=936481265 instance=ExtResource("1_wxpj0")] stream = ExtResource("2_wv4km") diff --git a/scenes/quests/lore_quests/quest_002/3_void_grappling/components/void_grapping_round_2.gd b/scenes/quests/lore_quests/quest_002/3_void_grappling/components/void_grapping_round_2.gd index 039a109615..971327e285 100644 --- a/scenes/quests/lore_quests/quest_002/3_void_grappling/components/void_grapping_round_2.gd +++ b/scenes/quests/lore_quests/quest_002/3_void_grappling/components/void_grapping_round_2.gd @@ -2,21 +2,12 @@ # SPDX-License-Identifier: MPL-2.0 extends Node2D -const LongerHook = preload( - "res://scenes/quests/lore_quests/quest_002/2_grappling_hook/components/longer_hook.gd" -) - @onready var player: Player = %Player -@onready var frame_camera_behavior: FrameCameraBehavior = %FrameCameraBehavior @onready var void_chasing: CharacterBody2D = %VoidChasing -func _ready() -> void: - frame_camera_behavior.frame_target = player.get_node("PlayerHook/HookEnding") - - func _on_button_item_collected() -> void: - LongerHook.grant_longer_hook(player) + GameState.set_ability(Enums.PlayerAbilities.ABILITY_B_MODIFIER_1, true) # Zoom out the camera when collecting the powerup, because now the player # can throw a longer thread: From c4a46c1178b33458bb18fa95700d896d4083c769 Mon Sep 17 00:00:00 2001 From: Will Thompson Date: Wed, 11 Mar 2026 14:05:54 +0000 Subject: [PATCH 19/22] GameState: Persist current scene in global, not scene, state Previously the current scene was persisted as part of the quest state. When you return to Fray's End after completing a trio of Sokobans, all quest state is erased from the saved data, meaning that the current scene path is lost. As a result, if you: - Complete a quest - Complete all three Sokobans & return to Fray's End - Exit the game - Relaunch the game then you were previously offered the chance to Continue. However this would try to change scene to empty string, which fails and reloads the title screen. Fix this in two ways: 1. Persist the current scene as part of the global state, not as part of the quest state. 2. Only offer the chance to continue a saved game if the current scene is known. Add some assertions at relevant points. Resolves https://github.com/endlessm/threadbare/issues/1946 --- scenes/globals/game_state/game_state.gd | 18 +++++++++--------- .../globals/scene_switcher/scene_switcher.gd | 8 ++++++++ 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/scenes/globals/game_state/game_state.gd b/scenes/globals/game_state/game_state.gd index b23686f593..18075cdb65 100644 --- a/scenes/globals/game_state/game_state.gd +++ b/scenes/globals/game_state/game_state.gd @@ -30,12 +30,12 @@ const INVENTORY_SECTION := "inventory" const INVENTORY_ITEMS_KEY := "items_collected" const QUEST_SECTION := "quest" const QUEST_PATH_KEY := "resource_path" -const QUEST_CURRENTSCENE_KEY := "current_scene" -const QUEST_SPAWNPOINT_KEY := "current_spawn_point" const QUEST_CHALLENGE_START_KEY := "challenge_start_scene" const GLOBAL_SECTION := "global" const GLOBAL_INCORPORATING_THREADS_KEY := "incorporating_threads" const COMPLETED_QUESTS_KEY := "completed_quests" +const CURRENTSCENE_KEY := "current_scene" +const SPAWNPOINT_KEY := "current_spawn_point" const LIVES_KEY := "current_lives" const MAX_LIVES := 2 ** 53 const DEBUG_LIVES := false @@ -156,7 +156,7 @@ func set_scene(scene_path: String, spawn_point: NodePath = ^"") -> void: ## Set the current spawn point and save it. func set_current_spawn_point(spawn_point: NodePath = ^"") -> void: current_spawn_point = spawn_point - _state.set_value(QUEST_SECTION, QUEST_SPAWNPOINT_KEY, current_spawn_point) + _state.set_value(GLOBAL_SECTION, SPAWNPOINT_KEY, current_spawn_point) _save() @@ -215,8 +215,8 @@ func _do_set_scene(scene_path: String, spawn_point: NodePath = ^"") -> void: intro_dialogue_shown = false current_spawn_point = spawn_point - _state.set_value(QUEST_SECTION, QUEST_CURRENTSCENE_KEY, scene_path) - _state.set_value(QUEST_SECTION, QUEST_SPAWNPOINT_KEY, current_spawn_point) + _state.set_value(GLOBAL_SECTION, CURRENTSCENE_KEY, scene_path) + _state.set_value(GLOBAL_SECTION, SPAWNPOINT_KEY, current_spawn_point) ## Add the [InventoryItem] to the [member inventory]. @@ -341,12 +341,12 @@ func clear() -> void: ## Check if there is persisted state. func can_restore() -> bool: - return _state.get_sections().size() + return get_scene_to_restore() != "" ## If there is a scene to restore, return it. func get_scene_to_restore() -> String: - return _state.get_value(QUEST_SECTION, QUEST_CURRENTSCENE_KEY, "") + return _state.get_value(GLOBAL_SECTION, CURRENTSCENE_KEY, "") ## Restore the persisted state. @@ -361,8 +361,8 @@ func restore() -> Dictionary: if _state.has_section_key(QUEST_SECTION, QUEST_PATH_KEY): current_quest = load(_state.get_value(QUEST_SECTION, QUEST_PATH_KEY)) as Quest - var scene_path: String = _state.get_value(QUEST_SECTION, QUEST_CURRENTSCENE_KEY, "") - current_spawn_point = _state.get_value(QUEST_SECTION, QUEST_SPAWNPOINT_KEY, ^"") + var scene_path: String = _state.get_value(GLOBAL_SECTION, CURRENTSCENE_KEY, "") + current_spawn_point = _state.get_value(GLOBAL_SECTION, SPAWNPOINT_KEY, ^"") incorporating_threads = _state.get_value( GLOBAL_SECTION, GLOBAL_INCORPORATING_THREADS_KEY, false ) diff --git a/scenes/globals/scene_switcher/scene_switcher.gd b/scenes/globals/scene_switcher/scene_switcher.gd index 1c9bb073ab..906e0fc752 100644 --- a/scenes/globals/scene_switcher/scene_switcher.gd +++ b/scenes/globals/scene_switcher/scene_switcher.gd @@ -104,6 +104,8 @@ func change_to_file_with_transition( enter_transition: Transition.Effect = Transition.Effect.RIGHT_TO_LEFT_WIPE, exit_transition: Transition.Effect = Transition.Effect.LEFT_TO_RIGHT_WIPE ) -> void: + assert(scene_path != "") + var err := ResourceLoader.load_threaded_request(scene_path) if err != OK: push_error("Failed to start loading %s: %s" % [scene_path, error_string(err)]) @@ -122,6 +124,8 @@ func change_to_packed_with_transition( enter_transition: Transition.Effect = Transition.Effect.RIGHT_TO_LEFT_WIPE, exit_transition: Transition.Effect = Transition.Effect.LEFT_TO_RIGHT_WIPE ) -> void: + assert(scene != null) + Transitions.do_transition( change_to_packed.bind(scene, spawn_point), enter_transition, exit_transition ) @@ -135,12 +139,16 @@ func reload_with_transition( func change_to_file(scene_path: String, spawn_point: NodePath = ^"") -> void: + assert(scene_path != "") + var scene: PackedScene = load(scene_path) if scene: change_to_packed(scene, spawn_point) func change_to_packed(scene: PackedScene, spawn_point: NodePath = ^"") -> void: + assert(scene != null) + GameState.clear_per_scene_state() if get_tree().change_scene_to_packed(scene) == OK: From 23138b9f83d42f680351a8661e6d7f29aca2d374 Mon Sep 17 00:00:00 2001 From: Will Thompson Date: Wed, 11 Mar 2026 15:24:01 +0000 Subject: [PATCH 20/22] Overworld prototype Introduce a QuestTeleporter that, when entered, starts a quest. Add staging areas representing the Song Sanctuary and Linenville with QuestTeleporters to the musician quest and the void quest respectively. Take the player back to a defined spawn point when they abandon a quest, rather than to Fray's End. Save progress within each quest so that if a quest is abandoned then resumed, the player picks up where they left off. Add an overworld, a zoomed-out space for fast travel between regions of the world. Link Fray's End to the Song Sanctuary and Linenville. Gate access to Linenville (represented by the temple) with a blocking area of void, removed when you complete the musician quest. Gate access to a third island by grappling, enabled only when the void quest is complete. (Imagine that the placeholder quest can be accessed here.) Remove the LoreQuest Elder's storybook. Have them give you directions to the next quest. Resolves https://github.com/endlessm/threadbare/issues/2021 --- .../characters/npcs/elder/components/elder.gd | 4 +- .../components/lore_quest_starter.dialogue | 34 +- scenes/globals/game_state/game_state.gd | 70 +- scenes/globals/pause/pause_overlay.gd | 7 +- scenes/menus/title/components/main_menu.tscn | 2 +- .../quest_002/1_void_runner/void_runner.tscn | 18 +- .../closing_transition.tscn | 3 +- scenes/world_map/components/bridget.dialogue | 11 + .../components/bridget.dialogue.import | 16 + .../world_map/components/quest_teleporter.gd | 48 + .../components/quest_teleporter.gd.uid | 1 + scenes/world_map/frays_end.tscn | 21 +- scenes/world_map/linenville.tscn | 129 ++ scenes/world_map/overworld.gd | 12 + scenes/world_map/overworld.gd.uid | 1 + scenes/world_map/overworld.tscn | 261 +++ scenes/world_map/song_sanctuary.tscn | 1733 +++++++++++++++++ 17 files changed, 2308 insertions(+), 63 deletions(-) create mode 100644 scenes/world_map/components/bridget.dialogue create mode 100644 scenes/world_map/components/bridget.dialogue.import create mode 100644 scenes/world_map/components/quest_teleporter.gd create mode 100644 scenes/world_map/components/quest_teleporter.gd.uid create mode 100644 scenes/world_map/linenville.tscn create mode 100644 scenes/world_map/overworld.gd create mode 100644 scenes/world_map/overworld.gd.uid create mode 100644 scenes/world_map/overworld.tscn create mode 100644 scenes/world_map/song_sanctuary.tscn diff --git a/scenes/game_elements/characters/npcs/elder/components/elder.gd b/scenes/game_elements/characters/npcs/elder/components/elder.gd index cf8de7a822..ac35508f6d 100644 --- a/scenes/game_elements/characters/npcs/elder/components/elder.gd +++ b/scenes/game_elements/characters/npcs/elder/components/elder.gd @@ -86,9 +86,9 @@ func _before_dialogue() -> void: func _on_interaction_ended() -> void: if chosen_quest: interact_area.disabled = true - GameState.start_quest(chosen_quest) + var target := GameState.start_quest(chosen_quest) SceneSwitcher.change_to_file_with_transition( - chosen_quest.first_scene, ^"", Transition.Effect.FADE, Transition.Effect.FADE + target.scene_path, target.spawn_point, Transition.Effect.FADE, Transition.Effect.FADE ) chosen_quest = null diff --git a/scenes/game_elements/characters/npcs/elder/components/lore_quest_starter.dialogue b/scenes/game_elements/characters/npcs/elder/components/lore_quest_starter.dialogue index 13b378765c..5f7f06231d 100644 --- a/scenes/game_elements/characters/npcs/elder/components/lore_quest_starter.dialogue +++ b/scenes/game_elements/characters/npcs/elder/components/lore_quest_starter.dialogue @@ -1,32 +1,16 @@ # SPDX-FileCopyrightText: The Threadbare Authors # SPDX-License-Identifier: MPL-2.0 ~ start -LoreQuest Elder: [[Hi|Hello|Greetings]], StoryWeaver. We've been waiting for you. Our world is unraveling! -LoreQuest Elder: We need you to recover the Sacred Elements: the threads of Memory, Imagination, and Spirit! Will you help us? -do show_storybook() -if chosen_quest == null: - % LoreQuest Elder: Please stay. Our world will perish without your help! - % LoreQuest Elder: I hope to see you again. We really need you! - % LoreQuest Elder: The people of Threadbare are counting on you. I hope you change your mind! -elif chosen_quest.resource_path in GameState.completed_quests: - # Custom dialogues for completed quests - if chosen_quest.resource_path == "res://scenes/quests/lore_quests/quest_001/quest.tres": - % LoreQuest Elder: Ah, the Song Sanctuary sings once more... a melody you already helped restore. - % LoreQuest Elder: If you wish to revisit its echoes, traveler, the sanctuary always welcomes a gentle hand to tune its harmony again. - - elif chosen_quest.resource_path == "res://scenes/quests/lore_quests/quest_002/quest.tres": - % LoreQuest Elder: The Void still stirs at the edges… even after the balance you once brought. - % LoreQuest Elder: Should you feel ready to face it again, your presence can steady the archipelago’s stories once more. - - elif chosen_quest.resource_path == "res://scenes/quests/lore_quests/quest_003/quest.tres": - % LoreQuest Elder: You’ve walked this path before—where Imagination and Spirit intertwine. - % LoreQuest Elder: If you seek its lessons again, the Loom is always willing to be rewoven by steady hands. - - else: - % LoreQuest Elder: This tale is one you already helped mend, traveler… yet its threads shift with each return. - % LoreQuest Elder: If your heart pulls you back to it, the story will open itself to you once again. +if not ("res://scenes/quests/lore_quests/quest_001/quest.tres" in GameState.completed_quests): + LoreQuest Elder: [[Hi|Hello|Greetings]], StoryWeaver. We've been waiting for you. Our world is unraveling! + LoreQuest Elder: We need you to recover the Sacred Elements: the threads of Memory, Imagination, and Spirit! Will you help us? + LoreQuest Elder: Seek out the musician. He lives in the Song Sanctuary. +elif not ("res://scenes/quests/lore_quests/quest_002/quest.tres" in GameState.completed_quests): + LoreQuest Elder: Hello again, StoryWeaver. Have you encountered the Void? + LoreQuest Elder: You must find Moss the Monk. She lives on an island outside Linenville. else: - LoreQuest Elder: We believe in you, StoryWeaver. + LoreQuest Elder: OK, I'm out of ideas now. Maybe you can still find some stuff to do. +LoreQuest Elder: We believe in you, StoryWeaver. => END ~ go_to_loom LoreQuest Elder: Go on, StoryWeaver: take the threads to the Eternal Loom. diff --git a/scenes/globals/game_state/game_state.gd b/scenes/globals/game_state/game_state.gd index 18075cdb65..26cd46c068 100644 --- a/scenes/globals/game_state/game_state.gd +++ b/scenes/globals/game_state/game_state.gd @@ -28,12 +28,13 @@ signal completed_quests_changed const GAME_STATE_PATH := "user://game_state.cfg" const INVENTORY_SECTION := "inventory" const INVENTORY_ITEMS_KEY := "items_collected" -const QUEST_SECTION := "quest" -const QUEST_PATH_KEY := "resource_path" const QUEST_CHALLENGE_START_KEY := "challenge_start_scene" +const QUEST_ABANDON_SCENE_KEY := "abandon_scene" +const QUEST_ABANDON_SPAWNPOINT_KEY := "abandon_spawn_point" const GLOBAL_SECTION := "global" const GLOBAL_INCORPORATING_THREADS_KEY := "incorporating_threads" const COMPLETED_QUESTS_KEY := "completed_quests" +const QUEST_PATH_KEY := "quest_path" const CURRENTSCENE_KEY := "current_scene" const SPAWNPOINT_KEY := "current_spawn_point" const LIVES_KEY := "current_lives" @@ -108,20 +109,29 @@ func set_incorporating_threads(new_incorporating_threads: bool) -> void: ## Set [member current_quest] and clear the [member inventory]. ## Also resets lives to maximum when starting a quest. -func start_quest(quest: Quest) -> void: +func start_quest( + quest: Quest, + abandon_scene: String = "", + abandon_spawn_point: NodePath = ^"", +) -> Dictionary: _do_clear_inventory() _update_inventory_state() current_quest = quest - _state.set_value(QUEST_SECTION, QUEST_PATH_KEY, quest.resource_path) - _do_set_scene(quest.first_scene, ^"") + _state.set_value(GLOBAL_SECTION, QUEST_PATH_KEY, quest.resource_path) - # Set the challenge start scene to the first scene of the quest - _state.set_value(QUEST_SECTION, QUEST_CHALLENGE_START_KEY, quest.first_scene) + _state.set_value(quest.resource_path, QUEST_ABANDON_SCENE_KEY, abandon_scene) + _state.set_value(quest.resource_path, QUEST_ABANDON_SPAWNPOINT_KEY, abandon_spawn_point) # Reset lives when starting a new quest reset_lives() _save() + var ret := { + "scene_path": _state.get_value(quest.resource_path, CURRENTSCENE_KEY, quest.first_scene), + "spawn_point": _state.get_value(quest.resource_path, SPAWNPOINT_KEY, ^""), + } + return ret + ## Guess which quest the given scene is part of, and set [member current_quest] ## accordingly. If the quest cannot be determined, unset [member current_quest]. @@ -157,34 +167,28 @@ func set_scene(scene_path: String, spawn_point: NodePath = ^"") -> void: func set_current_spawn_point(spawn_point: NodePath = ^"") -> void: current_spawn_point = spawn_point _state.set_value(GLOBAL_SECTION, SPAWNPOINT_KEY, current_spawn_point) + if current_quest: + _state.set_value(current_quest.resource_path, SPAWNPOINT_KEY, current_spawn_point) _save() ## Set the challenge start scene. This is the scene the player returns to ## when they run out of lives. func set_challenge_start_scene(scene_path: String) -> void: - _state.set_value(QUEST_SECTION, QUEST_CHALLENGE_START_KEY, scene_path) - - if DEBUG_LIVES: - prints("[LIVES DEBUG] Challenge start set to:", scene_path) - - _save() + if current_quest: + _state.set_value(current_quest.resource_path, QUEST_CHALLENGE_START_KEY, scene_path) + _save() ## Get the challenge start scene, or the first scene of the current quest ## if no challenge start has been set. func get_challenge_start_scene() -> String: - var challenge_start: String = _state.get_value(QUEST_SECTION, QUEST_CHALLENGE_START_KEY, "") - - if challenge_start.is_empty() and current_quest: - challenge_start = current_quest.first_scene - - if DEBUG_LIVES: - prints( - "[LIVES DEBUG] No challenge start set, using quest first scene:", challenge_start - ) + if not current_quest: + return "" - return challenge_start + return _state.get_value( + current_quest.resource_path, QUEST_CHALLENGE_START_KEY, current_quest.first_scene + ) ## Returns [code]true[/code] if the player is currently on a quest; i.e. if @@ -195,8 +199,8 @@ func is_on_quest() -> bool: ## Clear all quest-related state from the config file. func _clear_quest_state() -> void: - if _state.has_section(QUEST_SECTION): - _state.erase_section(QUEST_SECTION) + if _state.has_section_key(GLOBAL_SECTION, QUEST_PATH_KEY): + _state.erase_section_key(GLOBAL_SECTION, QUEST_PATH_KEY) ## If [member current_quest] is set, record this quest as having been completed, @@ -217,6 +221,9 @@ func _do_set_scene(scene_path: String, spawn_point: NodePath = ^"") -> void: current_spawn_point = spawn_point _state.set_value(GLOBAL_SECTION, CURRENTSCENE_KEY, scene_path) _state.set_value(GLOBAL_SECTION, SPAWNPOINT_KEY, current_spawn_point) + if current_quest: + _state.set_value(current_quest.resource_path, CURRENTSCENE_KEY, scene_path) + _state.set_value(current_quest.resource_path, SPAWNPOINT_KEY, current_spawn_point) ## Add the [InventoryItem] to the [member inventory]. @@ -230,11 +237,18 @@ func add_collected_item(item: InventoryItem) -> void: ## If [member current_quest] is set, unset it, without recording the quest as ## having been completed. Also resets lives to maximum. -func abandon_quest() -> void: +func abandon_quest() -> Dictionary: + assert(current_quest) + var ret := { + "scene_path": _state.get_value(current_quest.resource_path, QUEST_ABANDON_SCENE_KEY, ""), + "spawn_point": + _state.get_value(current_quest.resource_path, QUEST_ABANDON_SPAWNPOINT_KEY, ^""), + } set_incorporating_threads(false) _clear_quest_state() current_quest = null clear_inventory() + return ret ## Updates [member completed_quests] to include [param quest] if [param @@ -358,8 +372,8 @@ func restore() -> Dictionary: var item := InventoryItem.with_type(item_type) inventory.append(item) - if _state.has_section_key(QUEST_SECTION, QUEST_PATH_KEY): - current_quest = load(_state.get_value(QUEST_SECTION, QUEST_PATH_KEY)) as Quest + if _state.has_section_key(GLOBAL_SECTION, QUEST_PATH_KEY): + current_quest = load(_state.get_value(GLOBAL_SECTION, QUEST_PATH_KEY)) as Quest var scene_path: String = _state.get_value(GLOBAL_SECTION, CURRENTSCENE_KEY, "") current_spawn_point = _state.get_value(GLOBAL_SECTION, SPAWNPOINT_KEY, ^"") diff --git a/scenes/globals/pause/pause_overlay.gd b/scenes/globals/pause/pause_overlay.gd index 8f5a99e4cf..e2aeb93c89 100644 --- a/scenes/globals/pause/pause_overlay.gd +++ b/scenes/globals/pause/pause_overlay.gd @@ -34,9 +34,12 @@ func toggle_pause() -> void: func _on_abandon_quest_pressed() -> void: toggle_pause() - GameState.abandon_quest() + var abandon_target := GameState.abandon_quest() + var scene_path: String = abandon_target.get("scene_path", frays_end) + var spawn_point: NodePath = abandon_target.get("spawn_point", ^"") + SceneSwitcher.change_to_file_with_transition( - frays_end, ^"", Transition.Effect.FADE, Transition.Effect.FADE + scene_path, spawn_point, Transition.Effect.FADE, Transition.Effect.FADE ) diff --git a/scenes/menus/title/components/main_menu.tscn b/scenes/menus/title/components/main_menu.tscn index 3393e199a7..69df5ee7d7 100644 --- a/scenes/menus/title/components/main_menu.tscn +++ b/scenes/menus/title/components/main_menu.tscn @@ -4,7 +4,7 @@ [ext_resource type="Script" uid="uid://bkl8j1as8ylag" path="res://scenes/menus/title/components/main_menu.gd" id="1_xuf5f"] [ext_resource type="Script" uid="uid://dfx8s2ybd11mt" path="res://scenes/menus/storybook/components/animated_texture_rect.gd" id="4_rpgwp"] [ext_resource type="Script" uid="uid://i4urwefxrrdt" path="res://scenes/menus/title/components/version_label.gd" id="4_snvmp"] -[ext_resource type="SpriteFrames" uid="uid://bg538lufloka6" path="res://scenes/menus/title/components/threadbare_logo_animation.tres" id="5_rpgwp"] +[ext_resource type="SpriteFrames" uid="uid://bg538lufloka6" path="res://scenes/menus/title/components/logos/threadbare_logo_animation.tres" id="5_rpgwp"] [node name="MainMenu" type="Control" unique_id=1449128276] layout_mode = 3 diff --git a/scenes/quests/lore_quests/quest_002/1_void_runner/void_runner.tscn b/scenes/quests/lore_quests/quest_002/1_void_runner/void_runner.tscn index cc42589f90..91f3df5a19 100644 --- a/scenes/quests/lore_quests/quest_002/1_void_runner/void_runner.tscn +++ b/scenes/quests/lore_quests/quest_002/1_void_runner/void_runner.tscn @@ -38,6 +38,7 @@ [ext_resource type="PackedScene" uid="uid://dv4f232y8w8dv" path="res://scenes/game_elements/props/decoration/water_rock/water_rock.tscn" id="28_oo13r"] [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="29_gbo6l"] [ext_resource type="PackedScene" uid="uid://cf3cbl12wt6vr" path="res://scenes/game_elements/props/buildings/temple/temple.tscn" id="37_kgem8"] +[ext_resource type="Script" uid="uid://hqdquinbimce" path="res://scenes/game_elements/props/teleporter/teleporter.gd" id="39_5y4tu"] [sub_resource type="NavigationPolygon" id="NavigationPolygon_05yrb"] vertices = PackedVector2Array(2927.9531, 1448.9609, 2920.039, 3273.8203, -1078, 3206.1563, -1078, 1433.0313) @@ -61,6 +62,9 @@ script = ExtResource("23_amu0w") name = "Memory" metadata/_custom_type_script = "uid://bgmwplmj3bfls" +[sub_resource type="RectangleShape2D" id="RectangleShape2D_7xlw5"] +size = Vector2(151, 167) + [node name="VoidRunner" type="Node2D" unique_id=506997450] metadata/_edit_lock_ = true @@ -152,7 +156,7 @@ shape = SubResource("RectangleShape2D_kgem8") y_sort_enabled = true [node name="Player" parent="OnTheGround" unique_id=1051216917 instance=ExtResource("4_85y51")] -position = Vector2(38, 2855) +position = Vector2(-864, 2917) player_name = "StoryWeaver" sprite_frames = ExtResource("5_46vkj") @@ -1175,5 +1179,17 @@ position = Vector2(2461, 2732) [node name="HUD" parent="." unique_id=1953354605 instance=ExtResource("29_gbo6l")] +[node name="OverworldTeleporter" type="Area2D" parent="." unique_id=1303186387] +collision_layer = 4 +script = ExtResource("39_5y4tu") +next_scene = "uid://ds7q0lkarf2q5" +spawn_point_path = NodePath("TeleportersAndSpawnPoints/Temple") +exit_transition = 5 +metadata/_custom_type_script = "uid://hqdquinbimce" + +[node name="CollisionShape2D" type="CollisionShape2D" parent="OverworldTeleporter" unique_id=1819198331] +position = Vector2(-1013, 3047.5) +shape = SubResource("RectangleShape2D_7xlw5") + [connection signal="body_entered" from="EnemyTrigger" to="OnTheGround/VoidSpreadingEnemy" method="start" flags=6] [connection signal="body_entered" from="GoalReachedTrigger" to="OnTheGround/VoidSpreadingEnemy" method="defeat" flags=6 unbinds=1] diff --git a/scenes/quests/lore_quests/quest_002/4_closing_transition/closing_transition.tscn b/scenes/quests/lore_quests/quest_002/4_closing_transition/closing_transition.tscn index ed01e7cd2c..9adaee2265 100644 --- a/scenes/quests/lore_quests/quest_002/4_closing_transition/closing_transition.tscn +++ b/scenes/quests/lore_quests/quest_002/4_closing_transition/closing_transition.tscn @@ -388,7 +388,8 @@ stream = ExtResource("2_wfapt") script = ExtResource("4_wfapt") dialogue = ExtResource("5_nphcy") animation_player = NodePath("../AnimationPlayer") -next_scene = "uid://cufkthb25mpxy" +next_scene = "uid://4brs22b6le5p" +spawn_point_path = "SpawnPoints/Linenville" metadata/_custom_type_script = "uid://x1mxt6bmei2o" [node name="TileMapLayers" type="Node2D" parent="." unique_id=1076311957] diff --git a/scenes/world_map/components/bridget.dialogue b/scenes/world_map/components/bridget.dialogue new file mode 100644 index 0000000000..f660d0ffd8 --- /dev/null +++ b/scenes/world_map/components/bridget.dialogue @@ -0,0 +1,11 @@ +# SPDX-FileCopyrightText: The Threadbare Authors +# SPDX-License-Identifier: MPL-2.0 +~ start +# She's called Bridget because she's by a bridge. +Bridget: This bridge has been broken for ages. +Bridget: The musician would say that it’s because we stopped singing the old songs. +Bridget: Have you met him? He lives north of here. +% Bridget: Maybe you can help him put this place back together. +% Bridget: I still can’t figure out how he plays that triple-necked guitar. He only has two hands! +% Bridget: To be honest, I blame him. He stopped turning up for our weekly singalongs. +=> END diff --git a/scenes/world_map/components/bridget.dialogue.import b/scenes/world_map/components/bridget.dialogue.import new file mode 100644 index 0000000000..9f7d75932f --- /dev/null +++ b/scenes/world_map/components/bridget.dialogue.import @@ -0,0 +1,16 @@ +[remap] + +importer="dialogue_manager" +importer_version=15 +type="Resource" +uid="uid://dy14woa33pg8m" +path="res://.godot/imported/bridget.dialogue-ceb3cc9bbaead3839e5d86ff4316d56e.tres" + +[deps] + +source_file="res://scenes/world_map/components/bridget.dialogue" +dest_files=["res://.godot/imported/bridget.dialogue-ceb3cc9bbaead3839e5d86ff4316d56e.tres"] + +[params] + +defaults=true diff --git a/scenes/world_map/components/quest_teleporter.gd b/scenes/world_map/components/quest_teleporter.gd new file mode 100644 index 0000000000..a843c356fd --- /dev/null +++ b/scenes/world_map/components/quest_teleporter.gd @@ -0,0 +1,48 @@ +# SPDX-FileCopyrightText: The Threadbare Authors +# SPDX-License-Identifier: MPL-2.0 +@tool +class_name QuestTeleporter +extends Area2D + +## Scene to switch to when the player enters this teleport. If empty, the player +## will teleport within the current scene, to the position specified by [member +## spawn_point_path]. +@export var quest: Quest: + set(new_value): + quest = new_value + notify_property_list_changed() + +## Which [SpawnPoint] (in the current scene) to place the player-character at if +## the player abandons the quest. +@export var abandon_spawn_point: SpawnPoint + +@export_group("Transition") + +## Transition to use when the player enters this teleporter. The transition on +## the far side is always FADE. +@export var enter_transition: Transition.Effect = Transition.Effect.LEFT_TO_RIGHT_WIPE + + +func _ready() -> void: + collision_layer = 0 + collision_mask = 0 + set_collision_layer_value(3, true) + set_collision_mask_value(1, true) + + if Engine.is_editor_hint(): + notify_property_list_changed() + return + + self.body_entered.connect(_on_body_entered, CONNECT_ONE_SHOT) + + +func _on_body_entered(_body: PhysicsBody2D) -> void: + if not quest: + return + + var scene := get_tree().current_scene + var abandon_point_path := scene.get_path_to(abandon_spawn_point) + var target := GameState.start_quest(quest, scene.scene_file_path, abandon_point_path) + SceneSwitcher.change_to_file_with_transition( + target.scene_path, target.spawn_point, enter_transition, Transition.Effect.FADE + ) diff --git a/scenes/world_map/components/quest_teleporter.gd.uid b/scenes/world_map/components/quest_teleporter.gd.uid new file mode 100644 index 0000000000..d74b7e95ff --- /dev/null +++ b/scenes/world_map/components/quest_teleporter.gd.uid @@ -0,0 +1 @@ +uid://qv1pvkvd0vem diff --git a/scenes/world_map/frays_end.tscn b/scenes/world_map/frays_end.tscn index 0ce07e5f17..8d0d6ae79e 100644 --- a/scenes/world_map/frays_end.tscn +++ b/scenes/world_map/frays_end.tscn @@ -79,6 +79,9 @@ size = Vector2(161, 95) [sub_resource type="RectangleShape2D" id="RectangleShape2D_2vvub"] size = Vector2(52, 61) +[sub_resource type="RectangleShape2D" id="RectangleShape2D_f3823"] +size = Vector2(62, 314) + [sub_resource type="RectangleShape2D" id="RectangleShape2D_ulm71"] size = Vector2(128, 128) @@ -93,7 +96,7 @@ stream = ExtResource("2_epsnn") position = Vector2(0, 8) [node name="Water" type="TileMapLayer" parent="TileMapLayers" unique_id=1840175252] -tile_map_data = PackedByteArray("AAABABcAAAAAAAAAAAABABYAAAAAAAAAAAACABcAAAAAAAAAAAACABYAAAAAAAAAAAACABUAAAAAAAAAAAADABUAAAAAAAAAAAAEABUAAAAAAAAAAAADABYAAAAAAAAAAAAEABYAAAAAAAAAAAAFABYAAAAAAAAAAAAFABUAAAAAAAAAAAAGABYAAAAAAAAAAAAGABUAAAAAAAAAAAAHABUAAAAAAAAAAAAHABYAAAAAAAAAAAAIABUAAAAAAAAAAAAIABQAAAAAAAAAAAAJABQAAAAAAAAAAAAKABQAAAAAAAAAAAAKABUAAAAAAAAAAAAJABUAAAAAAAAAAAALABUAAAAAAAAAAAAMABUAAAAAAAAAAAANABUAAAAAAAAAAAANABQAAAAAAAAAAAAMABQAAAAAAAAAAAALABQAAAAAAAAAAAAOABQAAAAAAAAAAAAOABUAAAAAAAAAAAAQABUAAAAAAAAAAAARABUAAAAAAAAAAAARABQAAAAAAAAAAAAQABQAAAAAAAAAAAASABQAAAAAAAAAAAATABQAAAAAAAAAAAAUABQAAAAAAAAAAAAVABQAAAAAAAAAAAAWABQAAAAAAAAAAAAXABQAAAAAAAAAAAAYABQAAAAAAAAAAAAZABQAAAAAAAAAAAAaABQAAAAAAAAAAAAaABUAAAAAAAAAAAAZABUAAAAAAAAAAAAYABUAAAAAAAAAAAAXABUAAAAAAAAAAAAWABUAAAAAAAAAAAAVABUAAAAAAAAAAAAUABUAAAAAAAAAAAATABUAAAAAAAAAAAASABUAAAAAAAAAAAAZABYAAAAAAAAAAAAaABYAAAAAAAAAAAAaABcAAAAAAAAAAAAbABcAAAAAAAAAAAAcABcAAAAAAAAAAAAbABgAAAAAAAAAAAAcABgAAAAAAAAAAAAdABgAAAAAAAAAAAAcABkAAAAAAAAAAAAdABkAAAAAAAAAAAAeABkAAAAAAAAAAAAfABkAAAAAAAAAAAAdABoAAAAAAAAAAAAeABoAAAAAAAAAAAAfABoAAAAAAAAAAAADABcAAAAAAAAAAAAEABcAAAAAAAAAAAAFABcAAAAAAAAAAAAGABcAAAAAAAAAAAAHABcAAAAAAAAAAAAIABYAAAAAAAAAAAAJABYAAAAAAAAAAAAKABYAAAAAAAAAAAALABYAAAAAAAAAAAAMABYAAAAAAAAAAAANABYAAAAAAAAAAAAOABYAAAAAAAAAAAAQABYAAAAAAAAAAAARABYAAAAAAAAAAAASABYAAAAAAAAAAAATABYAAAAAAAAAAAAUABYAAAAAAAAAAAAVABYAAAAAAAAAAAAWABYAAAAAAAAAAAAXABYAAAAAAAAAAAAYABYAAAAAAAAAAAAZABcAAAAAAAAAAAAaABgAAAAAAAAAAAAaABkAAAAAAAAAAAAbABkAAAAAAAAAAAAbABoAAAAAAAAAAAAcABoAAAAAAAAAAAAcABQAAAAAAAAAAAAdABQAAAAAAAAAAAAcABUAAAAAAAAAAAAdABUAAAAAAAAAAAAeABUAAAAAAAAAAAAfABUAAAAAAAAAAAAfABYAAAAAAAAAAAAeABYAAAAAAAAAAAAdABYAAAAAAAAAAAAcABYAAAAAAAAAAAAdABcAAAAAAAAAAAAeABcAAAAAAAAAAAAfABcAAAAAAAAAAAAeABgAAAAAAAAAAAAfABgAAAAAAAAAAAAWABcAAAAAAAAAAAAWABgAAAAAAAAAAAAXABgAAAAAAAAAAAAYABgAAAAAAAAAAAAYABcAAAAAAAAAAAAXABcAAAAAAAAAAAAYABkAAAAAAAAAAAAXABkAAAAAAAAAAAAYABoAAAAAAAAAAAAZABkAAAAAAAAAAAAZABgAAAAAAAAAAAAZABoAAAAAAAAAAAAaABoAAAAAAAAAAAAXABoAAAAAAAAAAAAYABsAAAAAAAAAAAAZABsAAAAAAAAAAAAaABsAAAAAAAAAAAAbABsAAAAAAAAAAAAcABsAAAAAAAAAAAAdABsAAAAAAAAAAQAeABsAAAAAAAAAAQAfABsAAAAAAAAAAQAdABwAAAAAAAAAAQAeABwAAAAAAAAAAAAfABwAAAAAAAAAAAAAABYAAAAAAAAAAAAAABcAAAAAAAAAAAABABUAAAAAAAAAAgAAABUAAAAAAAAAAgAbABYAAAAAAAAAAgD//xcAAAAAAAAAAAD//xgAAAAAAAAAAAD//xkAAAAAAAAAAAD//xoAAAAAAAAAAAD//xsAAAAAAAAAAAD//xwAAAAAAAAAAAAPABQAAAAAAAAAAQAPABUAAAAAAAAAAQAPABYAAAAAAAAAAQAbABQAAAAAAAAAAQAbABUAAAAAAAAAAQAAABgAAAAAAAAAAQABABgAAAAAAAAAAQACABgAAAAAAAAAAQADABgAAAAAAAAAAQAEABgAAAAAAAAAAQAFABgAAAAAAAAAAQAGABgAAAAAAAAAAQAHABgAAAAAAAAAAQAIABcAAAAAAAAAAQAJABcAAAAAAAAAAQAKABcAAAAAAAAAAQALABcAAAAAAAAAAQAMABcAAAAAAAAAAQANABcAAAAAAAAAAQAOABcAAAAAAAAAAQAPABcAAAAAAAAAAQAQABcAAAAAAAAAAQARABcAAAAAAAAAAQASABcAAAAAAAAAAQATABcAAAAAAAAAAQAUABcAAAAAAAAAAQAVABcAAAAAAAAAAQAVABgAAAAAAAAAAQAWABkAAAAAAAAAAQAWABoAAAAAAAAAAQAXABsAAAAAAAAAAQAXABwAAAAAAAAAAQAYABwAAAAAAAAAAQAZABwAAAAAAAAAAQAaABwAAAAAAAAAAQAbABwAAAAAAAAAAQAcABwAAAAAAAAAAQA=") +tile_map_data = PackedByteArray("AAABABcAAAAAAAAAAAABABYAAAAAAAAAAAACABcAAAAAAAAAAAACABYAAAAAAAAAAAACABUAAAAAAAAAAAADABUAAAAAAAAAAAAEABUAAAAAAAAAAAADABYAAAAAAAAAAAAEABYAAAAAAAAAAAAFABYAAAAAAAAAAAAFABUAAAAAAAAAAAAGABYAAAAAAAAAAAAGABUAAAAAAAAAAAAHABUAAAAAAAAAAAAHABYAAAAAAAAAAAAIABUAAAAAAAAAAAAIABQAAAAAAAAAAAAJABQAAAAAAAAAAAAKABQAAAAAAAAAAAAKABUAAAAAAAAAAAAJABUAAAAAAAAAAAALABUAAAAAAAAAAAAMABUAAAAAAAAAAAANABUAAAAAAAAAAAANABQAAAAAAAAAAAAMABQAAAAAAAAAAAALABQAAAAAAAAAAAAOABQAAAAAAAAAAAAOABUAAAAAAAAAAAAQABUAAAAAAAAAAAARABUAAAAAAAAAAAARABQAAAAAAAAAAAAQABQAAAAAAAAAAAASABQAAAAAAAAAAAATABQAAAAAAAAAAAAUABQAAAAAAAAAAAAVABQAAAAAAAAAAAAWABQAAAAAAAAAAAAXABQAAAAAAAAAAAAYABQAAAAAAAAAAAAZABQAAAAAAAAAAAAaABQAAAAAAAAAAAAaABUAAAAAAAAAAAAZABUAAAAAAAAAAAAYABUAAAAAAAAAAAAXABUAAAAAAAAAAAAWABUAAAAAAAAAAAAVABUAAAAAAAAAAAAUABUAAAAAAAAAAAATABUAAAAAAAAAAAASABUAAAAAAAAAAAAZABYAAAAAAAAAAAAaABYAAAAAAAAAAAAaABcAAAAAAAAAAAAbABcAAAAAAAAAAAAcABcAAAAAAAAAAAAbABgAAAAAAAAAAAAcABgAAAAAAAAAAAAdABgAAAAAAAAAAAAcABkAAAAAAAAAAAAdABkAAAAAAAAAAAAeABkAAAAAAAAAAAAfABkAAAAAAAAAAAAdABoAAAAAAAAAAAAeABoAAAAAAAAAAAAfABoAAAAAAAAAAAADABcAAAAAAAAAAAAEABcAAAAAAAAAAAAFABcAAAAAAAAAAAAGABcAAAAAAAAAAAAHABcAAAAAAAAAAAAIABYAAAAAAAAAAAAJABYAAAAAAAAAAAAKABYAAAAAAAAAAAALABYAAAAAAAAAAAAMABYAAAAAAAAAAAANABYAAAAAAAAAAAAOABYAAAAAAAAAAAAQABYAAAAAAAAAAAARABYAAAAAAAAAAAASABYAAAAAAAAAAAATABYAAAAAAAAAAAAUABYAAAAAAAAAAAAVABYAAAAAAAAAAAAWABYAAAAAAAAAAAAXABYAAAAAAAAAAAAYABYAAAAAAAAAAAAZABcAAAAAAAAAAAAaABgAAAAAAAAAAAAaABkAAAAAAAAAAAAbABkAAAAAAAAAAAAbABoAAAAAAAAAAAAcABoAAAAAAAAAAAAcABQAAAAAAAAAAAAdABQAAAAAAAAAAAAcABUAAAAAAAAAAAAdABUAAAAAAAAAAAAeABUAAAAAAAAAAAAfABUAAAAAAAAAAAAfABYAAAAAAAAAAAAeABYAAAAAAAAAAAAdABYAAAAAAAAAAAAcABYAAAAAAAAAAAAdABcAAAAAAAAAAAAeABcAAAAAAAAAAAAfABcAAAAAAAAAAAAeABgAAAAAAAAAAAAfABgAAAAAAAAAAAAWABcAAAAAAAAAAAAWABgAAAAAAAAAAAAXABgAAAAAAAAAAAAYABgAAAAAAAAAAAAYABcAAAAAAAAAAAAXABcAAAAAAAAAAAAYABkAAAAAAAAAAAAXABkAAAAAAAAAAAAYABoAAAAAAAAAAAAZABkAAAAAAAAAAAAZABgAAAAAAAAAAAAZABoAAAAAAAAAAAAaABoAAAAAAAAAAAAXABoAAAAAAAAAAAAYABsAAAAAAAAAAAAZABsAAAAAAAAAAAAaABsAAAAAAAAAAAAbABsAAAAAAAAAAAAcABsAAAAAAAAAAAAdABsAAAAAAAAAAQAeABsAAAAAAAAAAQAfABsAAAAAAAAAAQAdABwAAAAAAAAAAQAeABwAAAAAAAAAAAAfABwAAAAAAAAAAAAAABYAAAAAAAAAAAAAABcAAAAAAAAAAAABABUAAAAAAAAAAgAAABUAAAAAAAAAAgAbABYAAAAAAAAAAgD//xcAAAAAAAAAAAAPABQAAAAAAAAAAQAPABUAAAAAAAAAAQAPABYAAAAAAAAAAQAbABQAAAAAAAAAAQAbABUAAAAAAAAAAQAAABgAAAAAAAAAAQABABgAAAAAAAAAAQACABgAAAAAAAAAAQADABgAAAAAAAAAAQAEABgAAAAAAAAAAQAFABgAAAAAAAAAAQAGABgAAAAAAAAAAQAHABgAAAAAAAAAAQAIABcAAAAAAAAAAQAJABcAAAAAAAAAAQAKABcAAAAAAAAAAQALABcAAAAAAAAAAQAMABcAAAAAAAAAAQANABcAAAAAAAAAAQAOABcAAAAAAAAAAQAPABcAAAAAAAAAAQAQABcAAAAAAAAAAQARABcAAAAAAAAAAQASABcAAAAAAAAAAQATABcAAAAAAAAAAQAUABcAAAAAAAAAAQAVABcAAAAAAAAAAQAVABgAAAAAAAAAAQAWABkAAAAAAAAAAQAWABoAAAAAAAAAAQAXABsAAAAAAAAAAQAXABwAAAAAAAAAAQAYABwAAAAAAAAAAQAZABwAAAAAAAAAAQAaABwAAAAAAAAAAQAbABwAAAAAAAAAAQAcABwAAAAAAAAAAQD+/xgAAAAAAAAAAAD+/xkAAAAAAAAAAAD+/xoAAAAAAAAAAAD+/xsAAAAAAAAAAAD+/xwAAAAAAAAAAAD+/xcAAAAAAAAAAAD+/x0AAAAAAAAAAAD//x0AAAAAAAAAAAA=") tile_set = ExtResource("4_6ss6a") [node name="ModulateAsSkyBehavior" type="Node" parent="TileMapLayers/Water" unique_id=1052174442 node_paths=PackedStringArray("canvas_item")] @@ -116,7 +119,7 @@ tile_map_data = PackedByteArray("AAAdABQAAAABAAMAAAA=") tile_set = ExtResource("9_duxxr") [node name="Grass_Level1" type="TileMapLayer" parent="TileMapLayers" unique_id=369983614] -tile_map_data = PackedByteArray("AAAPAAwAAQABAAEAAAAPAAsAAQABAAEAAAAPAAoAAQABAAEAAAAPAAkAAQABAAEAAAAPAAgAAQABAAEAAAAPAAcAAQABAAEAAAAPAAYAAQABAAEAAAAPAAUAAQABAAEAAAAPAAQAAQABAAEAAAAPAAMAAQABAAEAAAAPAAIAAQABAAEAAAAOAAwAAQABAAEAAAAOAAsAAQABAAEAAAAOAAoAAQABAAEAAAAOAAkAAQABAAEAAAAOAAgAAQABAAEAAAAOAAcAAQABAAEAAAAOAAYAAQABAAEAAAAOAAUAAQABAAEAAAAOAAQAAQABAAEAAAAOAAMAAQABAAEAAAAPABAAAQABAAEAAAAPAA8AAQABAAEAAAAPAA4AAQABAAEAAAAPAA0AAQABAAEAAAAOABAAAQABAAEAAAAOAA8AAQABAAEAAAAOAA4AAQABAAEAAAAOAA0AAQABAAEAAAAdAA8AAQABAAEAAAAcABAAAQABAAEAAAAcAA8AAQABAAEAAAAbABAAAQABAAEAAAAbAA8AAQABAAEAAAAaABAAAQABAAEAAAAaAA8AAQABAAEAAAAZABAAAQABAAEAAAAZAA8AAQABAAEAAAAYABAAAQABAAEAAAAYAA8AAQABAAEAAAAXABAAAQABAAEAAAAXAA8AAQABAAEAAAAWABAAAQABAAEAAAAWAA8AAQABAAEAAAAVABAAAQABAAEAAAAVAA8AAQABAAEAAAAUABAAAQABAAEAAAAUAA8AAQABAAEAAAATABAAAQABAAEAAAATAA8AAQABAAEAAAASABAAAQABAAEAAAASAA8AAQABAAEAAAARABAAAQABAAEAAAARAA8AAQABAAEAAAAQABAAAQABAAEAAAAQAA8AAQABAAEAAAANABAAAQABAAEAAAANAA8AAQABAAEAAAAMABAAAQABAAEAAAAMAA8AAQABAAEAAAALABAAAQABAAEAAAALAA8AAQABAAEAAAAKABAAAQABAAEAAAAKAA8AAQABAAEAAAAJABAAAQABAAEAAAAJAA8AAQABAAEAAAAIABAAAQABAAEAAAAIAA8AAQABAAEAAAAHABAAAQABAAEAAAAHAA8AAQABAAEAAAAGABAAAQABAAEAAAAGAA8AAQABAAEAAAAFABAAAQABAAEAAAAFAA8AAQABAAEAAAAEABAAAQABAAEAAAAEAA8AAQABAAEAAAADABAAAQABAAEAAAADAA8AAQABAAEAAAACAA8AAQABAAEAAAAPABgAAQABAAEAAAAPABcAAQABAAAAAAAPABIAAQABAAEAAAAPABEAAQABAAEAAAAOABgAAQABAAEAAAAOABcAAQABAAAAAAAOABMAAQABAAIAAAAOABIAAQABAAEAAAAOABEAAQABAAEAAAANAAkAAQABAAEAAAANAAgAAQABAAEAAAAMAAkAAQABAAEAAAAMAAgAAQABAAEAAAALAAkAAQABAAEAAAALAAgAAQABAAEAAAAKAAkAAQABAAEAAAAKAAgAAQABAAEAAAAJAAkAAQABAAEAAAAJAAgAAQABAAEAAAAIAAkAAQABAAEAAAAIAAgAAQABAAEAAAAHAAkAAQABAAEAAAAHAAgAAQABAAEAAAAGAAkAAQABAAEAAAAGAAgAAQABAAEAAAAFAAkAAQABAAEAAAAFAAgAAQABAAEAAAAEAAkAAQABAAEAAAAEAAgAAQABAAEAAAADAAkAAQABAAEAAAADAAgAAQABAAEAAAACAAkAAQABAAEAAAACAAgAAQABAAEAAAAbAAkAAQABAAEAAAAbAAgAAQABAAEAAAAaAAkAAQABAAEAAAAaAAgAAQABAAEAAAAZAAkAAQABAAEAAAAZAAgAAQABAAEAAAAYAAkAAQABAAEAAAAYAAgAAQABAAEAAAAXAAkAAQABAAEAAAAXAAgAAQABAAEAAAAWAAkAAQABAAEAAAAWAAgAAQABAAEAAAAVAAkAAQABAAEAAAAVAAgAAQABAAEAAAAUAAkAAQABAAEAAAAUAAgAAQABAAEAAAATAAkAAQABAAEAAAATAAgAAQABAAEAAAASAAkAAQABAAEAAAASAAgAAQABAAEAAAARAAkAAQABAAEAAAARAAgAAQABAAEAAAAQAAkAAQABAAEAAAAQAAgAAQABAAEAAAAPABsAAQABAAEAAAAPABoAAQABAAEAAAAPABkAAQABAAEAAAAOABsAAQABAAEAAAAOABoAAQABAAEAAAAOABkAAQABAAEAAAANABsAAQABAAEAAAANABoAAQABAAEAAAANABkAAQABAAEAAAANABgAAQABAAEAAAANABcAAQABAAAAAAANABMAAQABAAIAAAANABIAAQABAAEAAAANABEAAQABAAEAAAAMABsAAQABAAEAAAAMABoAAQABAAEAAAAMABkAAQABAAEAAAAMABgAAQABAAEAAAAMABcAAQABAAAAAAAMABMAAQABAAIAAAAMABIAAQABAAEAAAAMABEAAQABAAEAAAALABsAAQABAAEAAAALABoAAQABAAEAAAALABkAAQABAAEAAAALABgAAQABAAEAAAALABcAAQABAAAAAAALABMAAQABAAIAAAALABIAAQABAAEAAAALABEAAQABAAEAAAAKABsAAQABAAEAAAAKABoAAQABAAEAAAAKABkAAQABAAEAAAAKABgAAQABAAEAAAAKABcAAQABAAAAAAAKABMAAQABAAIAAAAKABIAAQABAAEAAAAKABEAAQABAAEAAAAJABsAAQABAAEAAAAJABoAAQABAAEAAAAJABkAAQABAAEAAAAJABgAAQABAAEAAAAJABcAAQABAAAAAAAJABMAAQABAAIAAAAJABIAAQABAAEAAAAJABEAAQABAAEAAAAIABsAAQABAAEAAAAIABoAAQABAAEAAAAIABkAAQABAAEAAAAIABgAAQABAAEAAAAIABcAAQAAAAAAAAAIABMAAQABAAIAAAAIABIAAQABAAEAAAAIABEAAQABAAEAAAAHABsAAQABAAEAAAAHABoAAQABAAEAAAAHABkAAQABAAEAAAAHABgAAQABAAAAAAAHABQAAQACAAIAAAAHABMAAQABAAEAAAAHABIAAQABAAEAAAAHABEAAQABAAEAAAAGABsAAQABAAEAAAAGABoAAQABAAEAAAAGABkAAQABAAEAAAAGABgAAQABAAAAAAAGABQAAQABAAIAAAAGABMAAQABAAEAAAAGABIAAQABAAEAAAAGABEAAQABAAEAAAAFABsAAQABAAEAAAAFABoAAQABAAEAAAAFABkAAQABAAEAAAAFABgAAQABAAAAAAAFABEAAQABAAEAAAAEABsAAQABAAEAAAAEABoAAQABAAEAAAAEABkAAQABAAEAAAAEABgAAQABAAAAAAAEABEAAQABAAEAAAADABsAAQABAAEAAAADABoAAQABAAEAAAADABkAAQABAAEAAAADABgAAQABAAAAAAADABQAAQABAAIAAAADABMAAQABAAEAAAADABIAAQABAAEAAAADABEAAQABAAEAAAACABsAAQABAAEAAAACABoAAQABAAEAAAACABQAAQABAAIAAAACAAMAAQABAAEAAAADAAQAAQABAAEAAAADAAUAAQABAAEAAAAEAAUAAQABAAEAAAAFAAYAAQABAAEAAAAFAAcAAQABAAEAAAAHAAoAAQABAAEAAAAHAAsAAQABAAEAAAAIAAwAAQABAAEAAAAJAA0AAQABAAEAAAAKAA4AAQABAAEAAAAfAB8AAQACAAIAAAAfAB4AAQACAAEAAAAfAB0AAQACAAEAAAAfABwAAQACAAAAAAAeAB8AAQABAAIAAAAeAB4AAQABAAEAAAAeAB0AAQABAAEAAAAeABwAAQABAAAAAAAdAB8AAQABAAIAAAAdAB4AAQABAAEAAAAdAB0AAQABAAEAAAAdABwAAQABAAAAAAAdAA4AAQABAAEAAAAdAA0AAQABAAEAAAAdAAwAAQABAAEAAAAdAAsAAQABAAEAAAAdAAUAAQABAAEAAAAcAB8AAQABAAIAAAAcAB4AAQABAAEAAAAcAB0AAQABAAEAAAAcABwAAQABAAAAAAAcABIAAQABAAEAAAAcABEAAQABAAEAAAAcAA4AAQABAAEAAAAcAA0AAQABAAEAAAAcAAwAAQABAAEAAAAcAAsAAQABAAEAAAAcAAoAAQABAAEAAAAcAAYAAQABAAEAAAAcAAUAAQABAAEAAAAcAAQAAQABAAEAAAAcAAMAAQABAAEAAAAbAB8AAQABAAIAAAAbAB4AAQABAAEAAAAbAB0AAQABAAEAAAAbABwAAQABAAAAAAAbABIAAQABAAEAAAAbABEAAQABAAEAAAAbAA4AAQABAAEAAAAbAA0AAQABAAEAAAAbAAwAAQABAAEAAAAbAAsAAQABAAEAAAAbAAoAAQABAAEAAAAbAAcAAQABAAEAAAAbAAYAAQABAAEAAAAbAAUAAQABAAEAAAAbAAQAAQABAAEAAAAbAAMAAQABAAEAAAAbAAIAAQABAAEAAAAbAAEAAQABAAEAAAAaAB8AAQABAAIAAAAaAB4AAQABAAEAAAAaAB0AAQABAAEAAAAaABwAAQABAAAAAAAaABMAAQABAAIAAAAaABIAAQABAAEAAAAaABEAAQABAAEAAAAaAA4AAQABAAEAAAAaAA0AAQABAAEAAAAaAAwAAQABAAEAAAAaAAsAAQABAAEAAAAaAAoAAQABAAEAAAAaAAcAAQABAAEAAAAaAAYAAQABAAEAAAAaAAUAAQABAAEAAAAaAAQAAQABAAEAAAAaAAMAAQABAAEAAAAaAAIAAQABAAEAAAAaAAEAAQABAAEAAAAZAB8AAQABAAIAAAAZAB4AAQABAAEAAAAZAB0AAQABAAEAAAAZABwAAQABAAAAAAAZABMAAQABAAIAAAAZABIAAQABAAEAAAAZABEAAQABAAEAAAAZAA4AAQABAAEAAAAZAA0AAQABAAEAAAAZAAwAAQABAAEAAAAZAAsAAQABAAEAAAAZAAoAAQABAAEAAAAZAAcAAQABAAEAAAAZAAYAAQABAAEAAAAZAAUAAQABAAEAAAAZAAQAAQABAAEAAAAZAAMAAQABAAEAAAAZAAIAAQABAAEAAAAZAAEAAQABAAEAAAAYAB8AAQABAAIAAAAYAB4AAQABAAEAAAAYAB0AAQABAAEAAAAYABwAAQABAAAAAAAYABMAAQABAAIAAAAYABIAAQABAAEAAAAYABEAAQABAAEAAAAYAA4AAQABAAEAAAAYAA0AAQABAAEAAAAYAAwAAQABAAEAAAAYAAsAAQABAAEAAAAYAAoAAQABAAEAAAAYAAcAAQABAAEAAAAYAAYAAQABAAEAAAAYAAUAAQABAAEAAAAYAAQAAQABAAEAAAAYAAMAAQABAAEAAAAYAAIAAQABAAEAAAAYAAEAAQABAAEAAAAXAB8AAQABAAIAAAAXAB4AAQABAAEAAAAXAB0AAQABAAEAAAAXABwAAQABAAEAAAAXABsAAQACAAAAAAAXABMAAQABAAIAAAAXABIAAQABAAEAAAAXABEAAQABAAEAAAAXAA4AAQABAAEAAAAXAA0AAQABAAEAAAAXAAwAAQABAAEAAAAXAAsAAQABAAEAAAAXAAoAAQABAAEAAAAXAAcAAQABAAEAAAAXAAYAAQABAAEAAAAXAAUAAQABAAEAAAAXAAQAAQABAAEAAAAXAAMAAQABAAEAAAAXAAIAAQABAAEAAAAXAAEAAQABAAEAAAAWAB8AAQABAAIAAAAWAB4AAQABAAEAAAAWAB0AAQABAAEAAAAWABwAAQABAAEAAAAWABsAAQABAAEAAAAWABoAAQACAAEAAAAWABkAAQACAAAAAAAWABMAAQABAAIAAAAWABIAAQABAAEAAAAWABEAAQABAAEAAAAWAA4AAQABAAEAAAAWAA0AAQABAAEAAAAWAAwAAQABAAEAAAAWAAsAAQABAAEAAAAWAAoAAQABAAEAAAAWAAcAAQABAAEAAAAWAAYAAQABAAEAAAAWAAUAAQABAAEAAAAWAAQAAQABAAEAAAAWAAMAAQABAAEAAAAWAAIAAQABAAEAAAAWAAEAAQABAAEAAAAVAB8AAQABAAIAAAAVAB4AAQABAAEAAAAVAB0AAQABAAEAAAAVABwAAQABAAEAAAAVABsAAQABAAEAAAAVABoAAQABAAEAAAAVABkAAQABAAEAAAAVABMAAQABAAIAAAAVABIAAQABAAEAAAAVABEAAQABAAEAAAAVAA4AAQABAAEAAAAVAA0AAQABAAEAAAAVAAwAAQABAAEAAAAVAAsAAQABAAEAAAAVAAoAAQABAAEAAAAVAAcAAQABAAEAAAAVAAYAAQABAAEAAAAVAAUAAQABAAEAAAAVAAQAAQABAAEAAAAVAAMAAQABAAEAAAAVAAIAAQABAAEAAAAVAAEAAQABAAEAAAAUAB8AAQABAAIAAAAUAB4AAQABAAEAAAAUAB0AAQABAAEAAAAUABwAAQABAAEAAAAUABsAAQABAAEAAAAUABoAAQABAAEAAAAUABkAAQABAAEAAAAUABgAAQABAAEAAAAUABcAAQABAAAAAAAUABMAAQABAAIAAAAUABIAAQABAAEAAAAUABEAAQABAAEAAAAUAA4AAQABAAEAAAAUAA0AAQABAAEAAAAUAAwAAQABAAEAAAAUAAsAAQABAAEAAAAUAAoAAQABAAEAAAAUAAcAAQABAAEAAAAUAAYAAQABAAEAAAAUAAUAAQABAAEAAAAUAAQAAQABAAEAAAAUAAMAAQABAAEAAAAUAAIAAQABAAEAAAAUAAEAAQABAAEAAAATAB8AAQABAAIAAAATAB4AAQABAAEAAAATAB0AAQABAAEAAAATABwAAQABAAEAAAATABsAAQABAAEAAAATABoAAQABAAEAAAATABkAAQABAAEAAAATABgAAQABAAEAAAATABcAAQABAAAAAAATABMAAQABAAIAAAATABIAAQABAAEAAAATABEAAQABAAEAAAATAA4AAQABAAEAAAATAA0AAQABAAEAAAATAAwAAQABAAEAAAATAAsAAQABAAEAAAATAAoAAQABAAEAAAATAAcAAQABAAEAAAATAAYAAQABAAEAAAATAAUAAQABAAEAAAATAAQAAQABAAEAAAATAAMAAQABAAEAAAATAAIAAQABAAEAAAATAAEAAQABAAEAAAASAB8AAQABAAIAAAASAB4AAQABAAEAAAASAB0AAQABAAEAAAASABwAAQABAAEAAAASABsAAQABAAEAAAASABoAAQABAAEAAAASABkAAQABAAEAAAASABgAAQABAAEAAAASABcAAQABAAAAAAASABMAAQABAAIAAAASABIAAQABAAEAAAASABEAAQABAAEAAAASAA4AAQABAAEAAAASAA0AAQABAAEAAAASAAwAAQABAAEAAAASAAsAAQABAAEAAAASAAoAAQABAAEAAAASAAcAAQABAAEAAAASAAYAAQABAAEAAAASAAUAAQABAAEAAAASAAQAAQABAAEAAAASAAMAAQABAAEAAAASAAIAAQABAAEAAAASAAEAAQABAAEAAAARAB8AAQABAAIAAAARAB4AAQABAAEAAAARAB0AAQABAAEAAAARABwAAQABAAEAAAARABsAAQABAAEAAAARABoAAQABAAEAAAARABkAAQABAAEAAAARABgAAQABAAEAAAARABcAAQABAAAAAAARABMAAQABAAIAAAARABIAAQABAAEAAAARABEAAQABAAEAAAARAA4AAQABAAEAAAARAA0AAQABAAEAAAARAAwAAQABAAEAAAARAAsAAQABAAEAAAARAAoAAQABAAEAAAARAAcAAQABAAEAAAARAAYAAQABAAEAAAARAAUAAQABAAEAAAARAAQAAQABAAEAAAARAAMAAQABAAEAAAARAAIAAQABAAEAAAAQAB8AAQABAAIAAAAQAB4AAQABAAEAAAAQAB0AAQABAAEAAAAQABwAAQABAAEAAAAQABsAAQABAAEAAAAQABoAAQABAAEAAAAQABkAAQABAAEAAAAQABgAAQABAAEAAAAQABcAAQABAAAAAAAQABMAAQABAAIAAAAQABIAAQABAAEAAAAQABEAAQABAAEAAAAQAA4AAQABAAEAAAAQAA0AAQABAAEAAAAQAAwAAQABAAEAAAAQAAsAAQABAAEAAAAQAAoAAQABAAEAAAAQAAcAAQABAAEAAAAQAAYAAQABAAEAAAAQAAUAAQABAAEAAAAQAAQAAQABAAEAAAAQAAMAAQABAAEAAAAQAAIAAQABAAEAAAAPAB8AAQABAAIAAAAPAB4AAQABAAEAAAAPAB0AAQABAAEAAAAPABwAAQABAAEAAAAOAB8AAQABAAIAAAAOAB4AAQABAAEAAAAOAB0AAQABAAEAAAAOABwAAQABAAEAAAANAB8AAQABAAIAAAANAB4AAQABAAEAAAANAB0AAQABAAEAAAANABwAAQABAAEAAAANAA4AAQABAAEAAAANAA0AAQABAAEAAAANAAwAAQABAAEAAAANAAsAAQABAAEAAAANAAoAAQABAAEAAAANAAcAAQABAAEAAAANAAYAAQABAAEAAAANAAUAAQABAAEAAAANAAQAAQABAAEAAAANAAMAAQABAAEAAAAMAB8AAQABAAIAAAAMAB4AAQABAAEAAAAMAB0AAQABAAEAAAAMABwAAQABAAEAAAAMAA4AAQABAAEAAAAMAA0AAQABAAEAAAAMAAwAAQABAAEAAAAMAAsAAQABAAEAAAAMAAoAAQABAAEAAAAMAAcAAQABAAEAAAAMAAYAAQABAAEAAAAMAAUAAQABAAEAAAAMAAQAAQABAAEAAAAMAAMAAQABAAEAAAALAB8AAQABAAIAAAALAB4AAQABAAEAAAALAB0AAQABAAEAAAALABwAAQABAAEAAAALAA4AAQABAAEAAAALAA0AAQABAAEAAAALAAwAAQABAAEAAAALAAsAAQABAAEAAAALAAoAAQABAAEAAAALAAcAAQABAAEAAAALAAYAAQABAAEAAAALAAUAAQABAAEAAAALAAQAAQABAAEAAAALAAMAAQABAAEAAAAKAB8AAQABAAIAAAAKAB4AAQABAAEAAAAKAB0AAQABAAEAAAAKABwAAQABAAEAAAAKAA0AAQABAAEAAAAKAAwAAQABAAEAAAAKAAsAAQABAAEAAAAKAAoAAQABAAEAAAAKAAcAAQABAAEAAAAKAAYAAQABAAEAAAAKAAUAAQABAAEAAAAKAAQAAQABAAEAAAAKAAMAAQABAAEAAAAKAAIAAQABAAEAAAAJAB8AAQABAAIAAAAJAB4AAQABAAEAAAAJAB0AAQABAAEAAAAJABwAAQABAAEAAAAJAA4AAQABAAEAAAAJAAwAAQABAAEAAAAJAAsAAQABAAEAAAAJAAoAAQABAAEAAAAJAAcAAQABAAEAAAAJAAYAAQABAAEAAAAJAAUAAQABAAEAAAAJAAQAAQABAAEAAAAJAAMAAQABAAEAAAAJAAIAAQABAAEAAAAIAB8AAQABAAIAAAAIAB4AAQABAAEAAAAIAB0AAQABAAEAAAAIABwAAQABAAEAAAAIAA4AAQABAAEAAAAIAA0AAQABAAEAAAAIAAsAAQABAAEAAAAIAAoAAQABAAEAAAAIAAcAAQABAAEAAAAIAAYAAQABAAEAAAAIAAUAAQABAAEAAAAIAAQAAQABAAEAAAAIAAMAAQABAAEAAAAHAB8AAQABAAIAAAAHAB4AAQABAAEAAAAHAB0AAQABAAEAAAAHABwAAQABAAEAAAAHAA4AAQABAAEAAAAHAA0AAQABAAEAAAAHAAwAAQABAAEAAAAHAAcAAQABAAEAAAAHAAYAAQABAAEAAAAHAAUAAQABAAEAAAAHAAQAAQABAAEAAAAHAAMAAQABAAEAAAAGAB8AAQABAAIAAAAGAB4AAQABAAEAAAAGAB0AAQABAAEAAAAGABwAAQABAAEAAAAGAA4AAQABAAEAAAAGAA0AAQABAAEAAAAGAAwAAQABAAEAAAAGAAsAAQABAAEAAAAGAAoAAQABAAEAAAAGAAcAAQABAAEAAAAGAAYAAQABAAEAAAAGAAUAAQABAAEAAAAGAAQAAQABAAEAAAAGAAMAAQABAAEAAAAFAB8AAQABAAIAAAAFAB4AAQABAAEAAAAFAB0AAQABAAEAAAAFABwAAQABAAEAAAAFAA4AAQABAAEAAAAFAA0AAQABAAEAAAAFAAwAAQABAAEAAAAFAAsAAQABAAEAAAAFAAoAAQABAAEAAAAFAAUAAQABAAEAAAAFAAQAAQABAAEAAAAFAAMAAQABAAEAAAAEAB8AAQABAAIAAAAEAB4AAQABAAEAAAAEAB0AAQABAAEAAAAEABwAAQABAAEAAAAEAA4AAQABAAEAAAAEAA0AAQABAAEAAAAEAAwAAQABAAEAAAAEAAsAAQABAAEAAAAEAAoAAQABAAEAAAAEAAcAAQABAAEAAAAEAAYAAQABAAEAAAAEAAQAAQABAAEAAAAEAAMAAQABAAEAAAADAB8AAQABAAIAAAADAB4AAQABAAEAAAADAB0AAQABAAEAAAADABwAAQABAAEAAAADAA4AAQABAAEAAAADAA0AAQABAAEAAAADAAwAAQABAAEAAAADAAsAAQABAAEAAAADAAoAAQABAAEAAAADAAcAAQABAAEAAAADAAYAAQABAAEAAAADAAMAAQABAAEAAAACAB8AAQABAAIAAAACAB4AAQABAAEAAAACAB0AAQABAAEAAAACABwAAQABAAEAAAACAA4AAQABAAEAAAACAA0AAQABAAEAAAACAAwAAQABAAEAAAACAAsAAQABAAEAAAACAAoAAQABAAEAAAACAAcAAQABAAEAAAACAAIAAQABAAEAAAABAB8AAQABAAIAAAABAB4AAQABAAEAAAABAB0AAQABAAEAAAABABwAAQABAAEAAAABAA0AAQABAAEAAAABAAwAAQABAAEAAAABAAsAAQABAAEAAAABAAoAAQABAAEAAAABAAkAAQABAAEAAAAAAB8AAQAAAAIAAAAAAB4AAQAAAAEAAAAAAB0AAQAAAAEAAAAAABwAAQAAAAEAAAAbABMAAQABAAIAAAAcABMAAQABAAIAAAAdABMAAQACAAIAAAAdABIAAQACAAEAAAAdABEAAQACAAEAAAAdABAAAQABAAEAAAAeABAAAQACAAIAAAAeAA8AAQACAAEAAAAeAA4AAQACAAEAAAAeAA0AAQACAAEAAAAeAAwAAQACAAEAAAAeAAsAAQACAAEAAAAeAAoAAQACAAAAAAAdAAoAAQABAAEAAAAdAAkAAQACAAAAAAAcAAkAAQABAAEAAAAcAAgAAQACAAEAAAAcAAcAAQABAAEAAAAdAAYAAQABAAEAAAAdAAcAAQACAAIAAAAeAAYAAQACAAIAAAAeAAUAAQACAAEAAAAeAAQAAQACAAEAAAAdAAQAAQABAAEAAAAdAAMAAQABAAEAAAAdAAIAAQACAAEAAAAcAAIAAQABAAEAAAAcAAEAAQABAAEAAAAdAAEAAQACAAEAAAAeAAMAAQACAAAAAAACABMAAQABAAEAAAACABIAAQABAAEAAAACABEAAQABAAEAAAACABAAAQABAAEAAAABABQAAQABAAIAAAABABMAAQABAAEAAAABABIAAQABAAEAAAABABEAAQABAAEAAAABABAAAQABAAEAAAABAA8AAQABAAEAAAAEABQAAQABAAIAAAAEABMAAQABAAEAAAAFABIAAQABAAEAAAAFABMAAQABAAEAAAAEABIAAQABAAEAAAAFABQAAQABAAIAAAABAA4AAQABAAEAAAAAAA0AAQAAAAEAAAAAAAwAAQABAAEAAAAAAAsAAQABAAEAAAAAAAoAAQABAAEAAAAAAAkAAQABAAEAAAABAAgAAQABAAEAAAAAAAgAAQABAAEAAAABAAcAAQABAAEAAAABAAYAAQABAAAAAAACAAYAAQABAAEAAAACAAUAAQAAAAEAAAACAAQAAQABAAEAAAABAAQAAQAAAAIAAAABAAMAAQAAAAEAAAABAAIAAQAAAAEAAAADAAIAAQABAAEAAAAEAAIAAQABAAEAAAAFAAIAAQABAAEAAAAGAAIAAQABAAEAAAAHAAIAAQABAAEAAAAIAAIAAQABAAEAAAAKAAEAAQABAAAAAAAJAAEAAQABAAAAAAAIAAEAAQABAAAAAAAHAAEAAQABAAAAAAAGAAEAAQABAAAAAAAFAAEAAQABAAAAAAAEAAEAAQABAAAAAAADAAEAAQABAAAAAAACAAEAAQABAAAAAAABAAEAAQAAAAAAAAALAAIAAQABAAEAAAAMAAIAAQABAAEAAAANAAIAAQABAAEAAAAOAAIAAQABAAEAAAALAAEAAQABAAAAAAAMAAEAAQABAAAAAAANAAEAAQABAAAAAAAOAAEAAQABAAAAAAAPAAEAAQABAAAAAAAQAAEAAQABAAAAAAARAAEAAQABAAEAAAARAAAAAQAAAAAAAAASAAAAAQABAAAAAAATAAAAAQABAAAAAAAUAAAAAQABAAAAAAAVAAAAAQABAAAAAAAWAAAAAQABAAAAAAAXAAAAAQABAAAAAAAYAAAAAQABAAAAAAAZAAAAAQABAAAAAAAaAAAAAQABAAAAAAAbAAAAAQABAAAAAAAcAAAAAQABAAAAAAAdAAAAAQACAAAAAAAVABcAAQACAAAAAAAVABgAAQACAAEAAAAAABsAAQAAAAEAAAABABsAAQABAAEAAAACABgAAQABAAAAAAAAABgAAQAAAAAAAAACABkAAQABAAEAAAABABkAAQABAAEAAAABABgAAQABAAAAAAAAABkAAQAAAAEAAAAAABoAAQAAAAEAAAABABoAAQABAAEAAAAPABMAAQABAAIAAAAAABQAAQAAAAIAAAAAABMAAQAAAAEAAAAAAA4AAQAAAAEAAAAAAA8AAQAAAAEAAAAAABAAAQAAAAEAAAAAABEAAQAAAAEAAAAAABIAAQAAAAEAAAAAAAYAAQABAAAAAAAAAAcAAQABAAEAAAA=") +tile_map_data = PackedByteArray("AAAPAAwAAQABAAEAAAAPAAsAAQABAAEAAAAPAAoAAQABAAEAAAAPAAkAAQABAAEAAAAPAAgAAQABAAEAAAAPAAcAAQABAAEAAAAPAAYAAQABAAEAAAAPAAUAAQABAAEAAAAPAAQAAQABAAEAAAAPAAMAAQABAAEAAAAPAAIAAQABAAEAAAAOAAwAAQABAAEAAAAOAAsAAQABAAEAAAAOAAoAAQABAAEAAAAOAAkAAQABAAEAAAAOAAgAAQABAAEAAAAOAAcAAQABAAEAAAAOAAYAAQABAAEAAAAOAAUAAQABAAEAAAAOAAQAAQABAAEAAAAOAAMAAQABAAEAAAAPABAAAQABAAEAAAAPAA8AAQABAAEAAAAPAA4AAQABAAEAAAAPAA0AAQABAAEAAAAOABAAAQABAAEAAAAOAA8AAQABAAEAAAAOAA4AAQABAAEAAAAOAA0AAQABAAEAAAAdAA8AAQABAAEAAAAcABAAAQABAAEAAAAcAA8AAQABAAEAAAAbABAAAQABAAEAAAAbAA8AAQABAAEAAAAaABAAAQABAAEAAAAaAA8AAQABAAEAAAAZABAAAQABAAEAAAAZAA8AAQABAAEAAAAYABAAAQABAAEAAAAYAA8AAQABAAEAAAAXABAAAQABAAEAAAAXAA8AAQABAAEAAAAWABAAAQABAAEAAAAWAA8AAQABAAEAAAAVABAAAQABAAEAAAAVAA8AAQABAAEAAAAUABAAAQABAAEAAAAUAA8AAQABAAEAAAATABAAAQABAAEAAAATAA8AAQABAAEAAAASABAAAQABAAEAAAASAA8AAQABAAEAAAARABAAAQABAAEAAAARAA8AAQABAAEAAAAQABAAAQABAAEAAAAQAA8AAQABAAEAAAANABAAAQABAAEAAAANAA8AAQABAAEAAAAMABAAAQABAAEAAAAMAA8AAQABAAEAAAALABAAAQABAAEAAAALAA8AAQABAAEAAAAKABAAAQABAAEAAAAKAA8AAQABAAEAAAAJABAAAQABAAEAAAAJAA8AAQABAAEAAAAIABAAAQABAAEAAAAIAA8AAQABAAEAAAAHABAAAQABAAEAAAAHAA8AAQABAAEAAAAGABAAAQABAAEAAAAGAA8AAQABAAEAAAAFABAAAQABAAEAAAAFAA8AAQABAAEAAAAEABAAAQABAAEAAAAEAA8AAQABAAEAAAADABAAAQABAAEAAAADAA8AAQABAAEAAAACAA8AAQABAAEAAAAPABgAAQABAAEAAAAPABcAAQABAAAAAAAPABIAAQABAAEAAAAPABEAAQABAAEAAAAOABgAAQABAAEAAAAOABcAAQABAAAAAAAOABMAAQABAAIAAAAOABIAAQABAAEAAAAOABEAAQABAAEAAAANAAkAAQABAAEAAAANAAgAAQABAAEAAAAMAAkAAQABAAEAAAAMAAgAAQABAAEAAAALAAkAAQABAAEAAAALAAgAAQABAAEAAAAKAAkAAQABAAEAAAAKAAgAAQABAAEAAAAJAAkAAQABAAEAAAAJAAgAAQABAAEAAAAIAAkAAQABAAEAAAAIAAgAAQABAAEAAAAHAAkAAQABAAEAAAAHAAgAAQABAAEAAAAGAAkAAQABAAEAAAAGAAgAAQABAAEAAAAFAAkAAQABAAEAAAAFAAgAAQABAAEAAAAEAAkAAQABAAEAAAAEAAgAAQABAAEAAAADAAkAAQABAAEAAAADAAgAAQABAAEAAAACAAkAAQABAAEAAAACAAgAAQABAAEAAAAbAAkAAQABAAEAAAAbAAgAAQABAAEAAAAaAAkAAQABAAEAAAAaAAgAAQABAAEAAAAZAAkAAQABAAEAAAAZAAgAAQABAAEAAAAYAAkAAQABAAEAAAAYAAgAAQABAAEAAAAXAAkAAQABAAEAAAAXAAgAAQABAAEAAAAWAAkAAQABAAEAAAAWAAgAAQABAAEAAAAVAAkAAQABAAEAAAAVAAgAAQABAAEAAAAUAAkAAQABAAEAAAAUAAgAAQABAAEAAAATAAkAAQABAAEAAAATAAgAAQABAAEAAAASAAkAAQABAAEAAAASAAgAAQABAAEAAAARAAkAAQABAAEAAAARAAgAAQABAAEAAAAQAAkAAQABAAEAAAAQAAgAAQABAAEAAAAPABsAAQABAAEAAAAPABoAAQABAAEAAAAPABkAAQABAAEAAAAOABsAAQABAAEAAAAOABoAAQABAAEAAAAOABkAAQABAAEAAAANABsAAQABAAEAAAANABoAAQABAAEAAAANABkAAQABAAEAAAANABgAAQABAAEAAAANABcAAQABAAAAAAANABMAAQABAAIAAAANABIAAQABAAEAAAANABEAAQABAAEAAAAMABsAAQABAAEAAAAMABoAAQABAAEAAAAMABkAAQABAAEAAAAMABgAAQABAAEAAAAMABcAAQABAAAAAAAMABMAAQABAAIAAAAMABIAAQABAAEAAAAMABEAAQABAAEAAAALABsAAQABAAEAAAALABoAAQABAAEAAAALABkAAQABAAEAAAALABgAAQABAAEAAAALABcAAQABAAAAAAALABMAAQABAAIAAAALABIAAQABAAEAAAALABEAAQABAAEAAAAKABsAAQABAAEAAAAKABoAAQABAAEAAAAKABkAAQABAAEAAAAKABgAAQABAAEAAAAKABcAAQABAAAAAAAKABMAAQABAAIAAAAKABIAAQABAAEAAAAKABEAAQABAAEAAAAJABsAAQABAAEAAAAJABoAAQABAAEAAAAJABkAAQABAAEAAAAJABgAAQABAAEAAAAJABcAAQABAAAAAAAJABMAAQABAAIAAAAJABIAAQABAAEAAAAJABEAAQABAAEAAAAIABsAAQABAAEAAAAIABoAAQABAAEAAAAIABkAAQABAAEAAAAIABgAAQABAAEAAAAIABcAAQAAAAAAAAAIABMAAQABAAIAAAAIABIAAQABAAEAAAAIABEAAQABAAEAAAAHABsAAQABAAEAAAAHABoAAQABAAEAAAAHABkAAQABAAEAAAAHABgAAQABAAAAAAAHABQAAQACAAIAAAAHABMAAQABAAEAAAAHABIAAQABAAEAAAAHABEAAQABAAEAAAAGABsAAQABAAEAAAAGABoAAQABAAEAAAAGABkAAQABAAEAAAAGABgAAQABAAAAAAAGABQAAQABAAIAAAAGABMAAQABAAEAAAAGABIAAQABAAEAAAAGABEAAQABAAEAAAAFABsAAQABAAEAAAAFABoAAQABAAEAAAAFABkAAQABAAEAAAAFABgAAQABAAAAAAAFABEAAQABAAEAAAAEABsAAQABAAEAAAAEABoAAQABAAEAAAAEABkAAQABAAEAAAAEABgAAQABAAAAAAAEABEAAQABAAEAAAADABsAAQABAAEAAAADABoAAQABAAEAAAADABkAAQABAAEAAAADABgAAQABAAAAAAADABQAAQABAAIAAAADABMAAQABAAEAAAADABIAAQABAAEAAAADABEAAQABAAEAAAACABsAAQABAAEAAAACABoAAQABAAEAAAACABQAAQABAAIAAAACAAMAAQABAAEAAAADAAQAAQABAAEAAAADAAUAAQABAAEAAAAEAAUAAQABAAEAAAAFAAYAAQABAAEAAAAFAAcAAQABAAEAAAAHAAoAAQABAAEAAAAHAAsAAQABAAEAAAAIAAwAAQABAAEAAAAJAA0AAQABAAEAAAAKAA4AAQABAAEAAAAfAB8AAQACAAIAAAAfAB4AAQACAAEAAAAfAB0AAQACAAEAAAAfABwAAQACAAAAAAAeAB8AAQABAAIAAAAeAB4AAQABAAEAAAAeAB0AAQABAAEAAAAeABwAAQABAAAAAAAdAB8AAQABAAIAAAAdAB4AAQABAAEAAAAdAB0AAQABAAEAAAAdABwAAQABAAAAAAAdAA4AAQABAAEAAAAdAA0AAQABAAEAAAAdAAwAAQABAAEAAAAdAAsAAQABAAEAAAAdAAUAAQABAAEAAAAcAB8AAQABAAIAAAAcAB4AAQABAAEAAAAcAB0AAQABAAEAAAAcABwAAQABAAAAAAAcABIAAQABAAEAAAAcABEAAQABAAEAAAAcAA4AAQABAAEAAAAcAA0AAQABAAEAAAAcAAwAAQABAAEAAAAcAAsAAQABAAEAAAAcAAoAAQABAAEAAAAcAAYAAQABAAEAAAAcAAUAAQABAAEAAAAcAAQAAQABAAEAAAAcAAMAAQABAAEAAAAbAB8AAQABAAIAAAAbAB4AAQABAAEAAAAbAB0AAQABAAEAAAAbABwAAQABAAAAAAAbABIAAQABAAEAAAAbABEAAQABAAEAAAAbAA4AAQABAAEAAAAbAA0AAQABAAEAAAAbAAwAAQABAAEAAAAbAAsAAQABAAEAAAAbAAoAAQABAAEAAAAbAAcAAQABAAEAAAAbAAYAAQABAAEAAAAbAAUAAQABAAEAAAAbAAQAAQABAAEAAAAbAAMAAQABAAEAAAAbAAIAAQABAAEAAAAbAAEAAQABAAEAAAAaAB8AAQABAAIAAAAaAB4AAQABAAEAAAAaAB0AAQABAAEAAAAaABwAAQABAAAAAAAaABMAAQABAAIAAAAaABIAAQABAAEAAAAaABEAAQABAAEAAAAaAA4AAQABAAEAAAAaAA0AAQABAAEAAAAaAAwAAQABAAEAAAAaAAsAAQABAAEAAAAaAAoAAQABAAEAAAAaAAcAAQABAAEAAAAaAAYAAQABAAEAAAAaAAUAAQABAAEAAAAaAAQAAQABAAEAAAAaAAMAAQABAAEAAAAaAAIAAQABAAEAAAAaAAEAAQABAAEAAAAZAB8AAQABAAIAAAAZAB4AAQABAAEAAAAZAB0AAQABAAEAAAAZABwAAQABAAAAAAAZABMAAQABAAIAAAAZABIAAQABAAEAAAAZABEAAQABAAEAAAAZAA4AAQABAAEAAAAZAA0AAQABAAEAAAAZAAwAAQABAAEAAAAZAAsAAQABAAEAAAAZAAoAAQABAAEAAAAZAAcAAQABAAEAAAAZAAYAAQABAAEAAAAZAAUAAQABAAEAAAAZAAQAAQABAAEAAAAZAAMAAQABAAEAAAAZAAIAAQABAAEAAAAZAAEAAQABAAEAAAAYAB8AAQABAAIAAAAYAB4AAQABAAEAAAAYAB0AAQABAAEAAAAYABwAAQABAAAAAAAYABMAAQABAAIAAAAYABIAAQABAAEAAAAYABEAAQABAAEAAAAYAA4AAQABAAEAAAAYAA0AAQABAAEAAAAYAAwAAQABAAEAAAAYAAsAAQABAAEAAAAYAAoAAQABAAEAAAAYAAcAAQABAAEAAAAYAAYAAQABAAEAAAAYAAUAAQABAAEAAAAYAAQAAQABAAEAAAAYAAMAAQABAAEAAAAYAAIAAQABAAEAAAAYAAEAAQABAAEAAAAXAB8AAQABAAIAAAAXAB4AAQABAAEAAAAXAB0AAQABAAEAAAAXABwAAQABAAEAAAAXABsAAQACAAAAAAAXABMAAQABAAIAAAAXABIAAQABAAEAAAAXABEAAQABAAEAAAAXAA4AAQABAAEAAAAXAA0AAQABAAEAAAAXAAwAAQABAAEAAAAXAAsAAQABAAEAAAAXAAoAAQABAAEAAAAXAAcAAQABAAEAAAAXAAYAAQABAAEAAAAXAAUAAQABAAEAAAAXAAQAAQABAAEAAAAXAAMAAQABAAEAAAAXAAIAAQABAAEAAAAXAAEAAQABAAEAAAAWAB8AAQABAAIAAAAWAB4AAQABAAEAAAAWAB0AAQABAAEAAAAWABwAAQABAAEAAAAWABsAAQABAAEAAAAWABoAAQACAAEAAAAWABkAAQACAAAAAAAWABMAAQABAAIAAAAWABIAAQABAAEAAAAWABEAAQABAAEAAAAWAA4AAQABAAEAAAAWAA0AAQABAAEAAAAWAAwAAQABAAEAAAAWAAsAAQABAAEAAAAWAAoAAQABAAEAAAAWAAcAAQABAAEAAAAWAAYAAQABAAEAAAAWAAUAAQABAAEAAAAWAAQAAQABAAEAAAAWAAMAAQABAAEAAAAWAAIAAQABAAEAAAAWAAEAAQABAAEAAAAVAB8AAQABAAIAAAAVAB4AAQABAAEAAAAVAB0AAQABAAEAAAAVABwAAQABAAEAAAAVABsAAQABAAEAAAAVABoAAQABAAEAAAAVABkAAQABAAEAAAAVABMAAQABAAIAAAAVABIAAQABAAEAAAAVABEAAQABAAEAAAAVAA4AAQABAAEAAAAVAA0AAQABAAEAAAAVAAwAAQABAAEAAAAVAAsAAQABAAEAAAAVAAoAAQABAAEAAAAVAAcAAQABAAEAAAAVAAYAAQABAAEAAAAVAAUAAQABAAEAAAAVAAQAAQABAAEAAAAVAAMAAQABAAEAAAAVAAIAAQABAAEAAAAVAAEAAQABAAEAAAAUAB8AAQABAAIAAAAUAB4AAQABAAEAAAAUAB0AAQABAAEAAAAUABwAAQABAAEAAAAUABsAAQABAAEAAAAUABoAAQABAAEAAAAUABkAAQABAAEAAAAUABgAAQABAAEAAAAUABcAAQABAAAAAAAUABMAAQABAAIAAAAUABIAAQABAAEAAAAUABEAAQABAAEAAAAUAA4AAQABAAEAAAAUAA0AAQABAAEAAAAUAAwAAQABAAEAAAAUAAsAAQABAAEAAAAUAAoAAQABAAEAAAAUAAcAAQABAAEAAAAUAAYAAQABAAEAAAAUAAUAAQABAAEAAAAUAAQAAQABAAEAAAAUAAMAAQABAAEAAAAUAAIAAQABAAEAAAAUAAEAAQABAAEAAAATAB8AAQABAAIAAAATAB4AAQABAAEAAAATAB0AAQABAAEAAAATABwAAQABAAEAAAATABsAAQABAAEAAAATABoAAQABAAEAAAATABkAAQABAAEAAAATABgAAQABAAEAAAATABcAAQABAAAAAAATABMAAQABAAIAAAATABIAAQABAAEAAAATABEAAQABAAEAAAATAA4AAQABAAEAAAATAA0AAQABAAEAAAATAAwAAQABAAEAAAATAAsAAQABAAEAAAATAAoAAQABAAEAAAATAAcAAQABAAEAAAATAAYAAQABAAEAAAATAAUAAQABAAEAAAATAAQAAQABAAEAAAATAAMAAQABAAEAAAATAAIAAQABAAEAAAATAAEAAQABAAEAAAASAB8AAQABAAIAAAASAB4AAQABAAEAAAASAB0AAQABAAEAAAASABwAAQABAAEAAAASABsAAQABAAEAAAASABoAAQABAAEAAAASABkAAQABAAEAAAASABgAAQABAAEAAAASABcAAQABAAAAAAASABMAAQABAAIAAAASABIAAQABAAEAAAASABEAAQABAAEAAAASAA4AAQABAAEAAAASAA0AAQABAAEAAAASAAwAAQABAAEAAAASAAsAAQABAAEAAAASAAoAAQABAAEAAAASAAcAAQABAAEAAAASAAYAAQABAAEAAAASAAUAAQABAAEAAAASAAQAAQABAAEAAAASAAMAAQABAAEAAAASAAIAAQABAAEAAAASAAEAAQABAAEAAAARAB8AAQABAAIAAAARAB4AAQABAAEAAAARAB0AAQABAAEAAAARABwAAQABAAEAAAARABsAAQABAAEAAAARABoAAQABAAEAAAARABkAAQABAAEAAAARABgAAQABAAEAAAARABcAAQABAAAAAAARABMAAQABAAIAAAARABIAAQABAAEAAAARABEAAQABAAEAAAARAA4AAQABAAEAAAARAA0AAQABAAEAAAARAAwAAQABAAEAAAARAAsAAQABAAEAAAARAAoAAQABAAEAAAARAAcAAQABAAEAAAARAAYAAQABAAEAAAARAAUAAQABAAEAAAARAAQAAQABAAEAAAARAAMAAQABAAEAAAARAAIAAQABAAEAAAAQAB8AAQABAAIAAAAQAB4AAQABAAEAAAAQAB0AAQABAAEAAAAQABwAAQABAAEAAAAQABsAAQABAAEAAAAQABoAAQABAAEAAAAQABkAAQABAAEAAAAQABgAAQABAAEAAAAQABcAAQABAAAAAAAQABMAAQABAAIAAAAQABIAAQABAAEAAAAQABEAAQABAAEAAAAQAA4AAQABAAEAAAAQAA0AAQABAAEAAAAQAAwAAQABAAEAAAAQAAsAAQABAAEAAAAQAAoAAQABAAEAAAAQAAcAAQABAAEAAAAQAAYAAQABAAEAAAAQAAUAAQABAAEAAAAQAAQAAQABAAEAAAAQAAMAAQABAAEAAAAQAAIAAQABAAEAAAAPAB8AAQABAAIAAAAPAB4AAQABAAEAAAAPAB0AAQABAAEAAAAPABwAAQABAAEAAAAOAB8AAQABAAIAAAAOAB4AAQABAAEAAAAOAB0AAQABAAEAAAAOABwAAQABAAEAAAANAB8AAQABAAIAAAANAB4AAQABAAEAAAANAB0AAQABAAEAAAANABwAAQABAAEAAAANAA4AAQABAAEAAAANAA0AAQABAAEAAAANAAwAAQABAAEAAAANAAsAAQABAAEAAAANAAoAAQABAAEAAAANAAcAAQABAAEAAAANAAYAAQABAAEAAAANAAUAAQABAAEAAAANAAQAAQABAAEAAAANAAMAAQABAAEAAAAMAB8AAQABAAIAAAAMAB4AAQABAAEAAAAMAB0AAQABAAEAAAAMABwAAQABAAEAAAAMAA4AAQABAAEAAAAMAA0AAQABAAEAAAAMAAwAAQABAAEAAAAMAAsAAQABAAEAAAAMAAoAAQABAAEAAAAMAAcAAQABAAEAAAAMAAYAAQABAAEAAAAMAAUAAQABAAEAAAAMAAQAAQABAAEAAAAMAAMAAQABAAEAAAALAB8AAQABAAIAAAALAB4AAQABAAEAAAALAB0AAQABAAEAAAALABwAAQABAAEAAAALAA4AAQABAAEAAAALAA0AAQABAAEAAAALAAwAAQABAAEAAAALAAsAAQABAAEAAAALAAoAAQABAAEAAAALAAcAAQABAAEAAAALAAYAAQABAAEAAAALAAUAAQABAAEAAAALAAQAAQABAAEAAAALAAMAAQABAAEAAAAKAB8AAQABAAIAAAAKAB4AAQABAAEAAAAKAB0AAQABAAEAAAAKABwAAQABAAEAAAAKAA0AAQABAAEAAAAKAAwAAQABAAEAAAAKAAsAAQABAAEAAAAKAAoAAQABAAEAAAAKAAcAAQABAAEAAAAKAAYAAQABAAEAAAAKAAUAAQABAAEAAAAKAAQAAQABAAEAAAAKAAMAAQABAAEAAAAKAAIAAQABAAEAAAAJAB8AAQABAAIAAAAJAB4AAQABAAEAAAAJAB0AAQABAAEAAAAJABwAAQABAAEAAAAJAA4AAQABAAEAAAAJAAwAAQABAAEAAAAJAAsAAQABAAEAAAAJAAoAAQABAAEAAAAJAAcAAQABAAEAAAAJAAYAAQABAAEAAAAJAAUAAQABAAEAAAAJAAQAAQABAAEAAAAJAAMAAQABAAEAAAAJAAIAAQABAAEAAAAIAB8AAQABAAIAAAAIAB4AAQABAAEAAAAIAB0AAQABAAEAAAAIABwAAQABAAEAAAAIAA4AAQABAAEAAAAIAA0AAQABAAEAAAAIAAsAAQABAAEAAAAIAAoAAQABAAEAAAAIAAcAAQABAAEAAAAIAAYAAQABAAEAAAAIAAUAAQABAAEAAAAIAAQAAQABAAEAAAAIAAMAAQABAAEAAAAHAB8AAQABAAIAAAAHAB4AAQABAAEAAAAHAB0AAQABAAEAAAAHABwAAQABAAEAAAAHAA4AAQABAAEAAAAHAA0AAQABAAEAAAAHAAwAAQABAAEAAAAHAAcAAQABAAEAAAAHAAYAAQABAAEAAAAHAAUAAQABAAEAAAAHAAQAAQABAAEAAAAHAAMAAQABAAEAAAAGAB8AAQABAAIAAAAGAB4AAQABAAEAAAAGAB0AAQABAAEAAAAGABwAAQABAAEAAAAGAA4AAQABAAEAAAAGAA0AAQABAAEAAAAGAAwAAQABAAEAAAAGAAsAAQABAAEAAAAGAAoAAQABAAEAAAAGAAcAAQABAAEAAAAGAAYAAQABAAEAAAAGAAUAAQABAAEAAAAGAAQAAQABAAEAAAAGAAMAAQABAAEAAAAFAB8AAQABAAIAAAAFAB4AAQABAAEAAAAFAB0AAQABAAEAAAAFABwAAQABAAEAAAAFAA4AAQABAAEAAAAFAA0AAQABAAEAAAAFAAwAAQABAAEAAAAFAAsAAQABAAEAAAAFAAoAAQABAAEAAAAFAAUAAQABAAEAAAAFAAQAAQABAAEAAAAFAAMAAQABAAEAAAAEAB8AAQABAAIAAAAEAB4AAQABAAEAAAAEAB0AAQABAAEAAAAEABwAAQABAAEAAAAEAA4AAQABAAEAAAAEAA0AAQABAAEAAAAEAAwAAQABAAEAAAAEAAsAAQABAAEAAAAEAAoAAQABAAEAAAAEAAcAAQABAAEAAAAEAAYAAQABAAEAAAAEAAQAAQABAAEAAAAEAAMAAQABAAEAAAADAB8AAQABAAIAAAADAB4AAQABAAEAAAADAB0AAQABAAEAAAADABwAAQABAAEAAAADAA4AAQABAAEAAAADAA0AAQABAAEAAAADAAwAAQABAAEAAAADAAsAAQABAAEAAAADAAoAAQABAAEAAAADAAcAAQABAAEAAAADAAYAAQABAAEAAAADAAMAAQABAAEAAAACAB8AAQABAAIAAAACAB4AAQABAAEAAAACAB0AAQABAAEAAAACABwAAQABAAEAAAACAA4AAQABAAEAAAACAA0AAQABAAEAAAACAAwAAQABAAEAAAACAAsAAQABAAEAAAACAAoAAQABAAEAAAACAAcAAQABAAEAAAACAAIAAQABAAEAAAABAB8AAQABAAIAAAABAB4AAQABAAEAAAABAB0AAQABAAEAAAABABwAAQABAAEAAAABAA0AAQABAAEAAAABAAwAAQABAAEAAAABAAsAAQABAAEAAAABAAoAAQABAAEAAAABAAkAAQABAAEAAAAAAB8AAQAAAAIAAAAAAB4AAQAAAAEAAAAAAB0AAQAAAAEAAAAAABwAAQABAAEAAAAbABMAAQABAAIAAAAcABMAAQABAAIAAAAdABMAAQACAAIAAAAdABIAAQACAAEAAAAdABEAAQACAAEAAAAdABAAAQABAAEAAAAeABAAAQACAAIAAAAeAA8AAQACAAEAAAAeAA4AAQACAAEAAAAeAA0AAQACAAEAAAAeAAwAAQACAAEAAAAeAAsAAQACAAEAAAAeAAoAAQACAAAAAAAdAAoAAQABAAEAAAAdAAkAAQACAAAAAAAcAAkAAQABAAEAAAAcAAgAAQACAAEAAAAcAAcAAQABAAEAAAAdAAYAAQABAAEAAAAdAAcAAQACAAIAAAAeAAYAAQACAAIAAAAeAAUAAQACAAEAAAAeAAQAAQACAAEAAAAdAAQAAQABAAEAAAAdAAMAAQABAAEAAAAdAAIAAQACAAEAAAAcAAIAAQABAAEAAAAcAAEAAQABAAEAAAAdAAEAAQACAAEAAAAeAAMAAQACAAAAAAACABMAAQABAAEAAAACABIAAQABAAEAAAACABEAAQABAAEAAAACABAAAQABAAEAAAABABQAAQABAAIAAAABABMAAQABAAEAAAABABIAAQABAAEAAAABABEAAQABAAEAAAABABAAAQABAAEAAAABAA8AAQABAAEAAAAEABQAAQABAAIAAAAEABMAAQABAAEAAAAFABIAAQABAAEAAAAFABMAAQABAAEAAAAEABIAAQABAAEAAAAFABQAAQABAAIAAAABAA4AAQABAAEAAAAAAA0AAQAAAAEAAAAAAAwAAQABAAEAAAAAAAsAAQABAAEAAAAAAAoAAQABAAEAAAAAAAkAAQABAAEAAAABAAgAAQABAAEAAAAAAAgAAQABAAEAAAABAAcAAQABAAEAAAABAAYAAQABAAAAAAACAAYAAQABAAEAAAACAAUAAQAAAAEAAAACAAQAAQABAAEAAAABAAQAAQAAAAIAAAABAAMAAQAAAAEAAAABAAIAAQAAAAEAAAADAAIAAQABAAEAAAAEAAIAAQABAAEAAAAFAAIAAQABAAEAAAAGAAIAAQABAAEAAAAHAAIAAQABAAEAAAAIAAIAAQABAAEAAAAKAAEAAQABAAAAAAAJAAEAAQABAAAAAAAIAAEAAQABAAAAAAAHAAEAAQABAAAAAAAGAAEAAQABAAAAAAAFAAEAAQABAAAAAAAEAAEAAQABAAAAAAADAAEAAQABAAAAAAACAAEAAQABAAAAAAABAAEAAQAAAAAAAAALAAIAAQABAAEAAAAMAAIAAQABAAEAAAANAAIAAQABAAEAAAAOAAIAAQABAAEAAAALAAEAAQABAAAAAAAMAAEAAQABAAAAAAANAAEAAQABAAAAAAAOAAEAAQABAAAAAAAPAAEAAQABAAAAAAAQAAEAAQABAAAAAAARAAEAAQABAAEAAAARAAAAAQAAAAAAAAASAAAAAQABAAAAAAATAAAAAQABAAAAAAAUAAAAAQABAAAAAAAVAAAAAQABAAAAAAAWAAAAAQABAAAAAAAXAAAAAQABAAAAAAAYAAAAAQABAAAAAAAZAAAAAQABAAAAAAAaAAAAAQABAAAAAAAbAAAAAQABAAAAAAAcAAAAAQABAAAAAAAdAAAAAQACAAAAAAAVABcAAQACAAAAAAAVABgAAQACAAEAAAAAABsAAQABAAEAAAABABsAAQABAAEAAAACABgAAQABAAAAAAAAABgAAQABAAAAAAACABkAAQABAAEAAAABABkAAQABAAEAAAABABgAAQABAAAAAAAAABkAAQABAAEAAAAAABoAAQABAAEAAAABABoAAQABAAEAAAAPABMAAQABAAIAAAAAABQAAQAAAAIAAAAAABMAAQAAAAEAAAAAAA4AAQAAAAEAAAAAAA8AAQAAAAEAAAAAABAAAQAAAAEAAAAAABEAAQAAAAEAAAAAABIAAQAAAAEAAAAAAAYAAQABAAAAAAAAAAcAAQABAAEAAAD//xgAAQAAAAAAAAD//xkAAQAAAAEAAAD//xoAAQAAAAEAAAD//xsAAQAAAAEAAAD//xwAAQAAAAIAAAA=") tile_set = ExtResource("7_r1ek1") metadata/_edit_lock_ = true @@ -125,7 +128,7 @@ tile_map_data = PackedByteArray("AAAaAAYABgACAAAAAAAaAAcABgACAAIAAAAZAAcABgABAAI tile_set = ExtResource("7_r1ek1") [node name="Paths_Level1" type="TileMapLayer" parent="TileMapLayers" unique_id=971351640] -tile_map_data = PackedByteArray("AAARAA0AAQAHAAIAAAARAAwAAQAHAAEAAAAQAA0AAQAGAAIAAAAQAAwAAQAGAAEAAAAPAA4AAQAIAAEAAAAPAA0AAQAGAAEAAAAPAAwAAQAGAAEAAAAOAA0AAQAGAAIAAAAOAAwAAQAGAAEAAAANAA0AAQAFAAIAAAANAAwAAQAFAAEAAAARAAsAAQAHAAEAAAAQAAsAAQAGAAEAAAAPABEAAQAIAAEAAAAPABAAAQAIAAEAAAAPAA8AAQAIAAEAAAAPAAsAAQAGAAEAAAAOAAsAAQAGAAEAAAANAAsAAQAFAAEAAAAPABkAAQAHAAIAAAAPABgAAQAIAAEAAAAOABkAAQAGAAMAAAAPABcAAQAIAAAAAAAPABMAAQAIAAIAAAABABkAAQAGAAAAAAACABkAAQAGAAAAAAADABkAAQAGAAAAAAAEABkAAQAGAAMAAAAFABkAAQAGAAMAAAAGABkAAQAGAAMAAAAHABkAAQAGAAMAAAAIABkAAQAGAAMAAAAJABkAAQAGAAMAAAAKABkAAQAGAAMAAAALABkAAQAGAAMAAAAMABkAAQAGAAMAAAANABkAAQAGAAMAAAAAABkAAQAFAAAAAAAAABoAAQAFAAEAAAABABoAAQAGAAEAAAACABoAAQAGAAEAAAADABoAAQAHAAEAAAAAABsAAQAFAAIAAAABABsAAQAGAAIAAAACABsAAQAGAAIAAAADABsAAQAHAAIAAAAPABIAAQAIAAEAAAARAAoAAQAHAAEAAAANAAoAAQAFAAEAAAANAAkAAQAFAAAAAAAOAAkAAQAGAAAAAAAPAAkAAQAGAAAAAAAQAAkAAQAGAAAAAAARAAkAAQAHAAAAAAAOAAoAAQAGAAEAAAAPAAoAAQAGAAEAAAAQAAoAAQAGAAEAAAA=") +tile_map_data = PackedByteArray("AAARAA0AAQAHAAIAAAARAAwAAQAHAAEAAAAQAA0AAQAGAAIAAAAQAAwAAQAGAAEAAAAPAA4AAQAIAAEAAAAPAA0AAQAGAAEAAAAPAAwAAQAGAAEAAAAOAA0AAQAGAAIAAAAOAAwAAQAGAAEAAAANAA0AAQAFAAIAAAANAAwAAQAFAAEAAAARAAsAAQAHAAEAAAAQAAsAAQAGAAEAAAAPABEAAQAIAAEAAAAPABAAAQAIAAEAAAAPAA8AAQAIAAEAAAAPAAsAAQAGAAEAAAAOAAsAAQAGAAEAAAANAAsAAQAFAAEAAAAPABkAAQAHAAIAAAAPABgAAQAIAAEAAAAOABkAAQAGAAMAAAAPABcAAQAIAAAAAAAPABMAAQAIAAIAAAABABkAAQAGAAAAAAACABkAAQAGAAAAAAADABkAAQAGAAAAAAAEABkAAQAGAAMAAAAFABkAAQAGAAMAAAAGABkAAQAGAAMAAAAHABkAAQAGAAMAAAAIABkAAQAGAAMAAAAJABkAAQAGAAMAAAAKABkAAQAGAAMAAAALABkAAQAGAAMAAAAMABkAAQAGAAMAAAANABkAAQAGAAMAAAAAABkAAQAGAAAAAAAAABoAAQAGAAEAAAABABoAAQAGAAEAAAACABoAAQAGAAEAAAADABoAAQAHAAEAAAAAABsAAQAGAAIAAAABABsAAQAGAAIAAAACABsAAQAGAAIAAAADABsAAQAHAAIAAAAPABIAAQAIAAEAAAARAAoAAQAHAAEAAAANAAoAAQAFAAEAAAANAAkAAQAFAAAAAAAOAAkAAQAGAAAAAAAPAAkAAQAGAAAAAAAQAAkAAQAGAAAAAAARAAkAAQAHAAAAAAAOAAoAAQAGAAEAAAAPAAoAAQAGAAEAAAAQAAoAAQAGAAEAAAD//xkAAQAFAAAAAAD//xoAAQAFAAEAAAD//xsAAQAFAAIAAAA=") tile_set = ExtResource("7_r1ek1") [node name="Paths_Level2" type="TileMapLayer" parent="TileMapLayers" unique_id=1784740911] @@ -1103,6 +1106,18 @@ dialogue = ExtResource("32_djq26") interact_area = NodePath("../InteractArea") metadata/_custom_type_script = "uid://edcifob4jc4s" +[node name="OverworldTeleporter" type="Area2D" parent="OnTheGround/Tutorial" unique_id=970966693] +position = Vector2(-39, 1701) +collision_layer = 4 +script = ExtResource("62_t7c6s") +next_scene = "uid://ds7q0lkarf2q5" +exit_transition = 4 +metadata/_custom_type_script = "uid://hqdquinbimce" + +[node name="CollisionShape2D" type="CollisionShape2D" parent="OnTheGround/Tutorial/OverworldTeleporter" unique_id=1817403573] +position = Vector2(7, 3) +shape = SubResource("RectangleShape2D_f3823") + [node name="WestPath" type="Node2D" parent="OnTheGround" unique_id=2042146768] y_sort_enabled = true diff --git a/scenes/world_map/linenville.tscn b/scenes/world_map/linenville.tscn new file mode 100644 index 0000000000..f2b2c8d6f2 --- /dev/null +++ b/scenes/world_map/linenville.tscn @@ -0,0 +1,129 @@ +[gd_scene format=4 uid="uid://4brs22b6le5p"] + +[ext_resource type="TileSet" uid="uid://oynx002hv8tl" path="res://tiles/water.tres" id="1_cwro0"] +[ext_resource type="TileSet" uid="uid://bjx3gvah0ycl1" path="res://tiles/foam_2.tres" id="2_fp8sx"] +[ext_resource type="TileSet" uid="uid://b8qnr0owsbhhn" path="res://tiles/exterior_floors.tres" id="2_uus3f"] +[ext_resource type="TileSet" uid="uid://do0ffypatd77h" path="res://tiles/bridges.tres" id="3_ke6f1"] +[ext_resource type="PackedScene" uid="uid://iu2q66clupc6" path="res://scenes/game_elements/characters/player/player.tscn" id="3_p4sxa"] +[ext_resource type="SpriteFrames" uid="uid://dtoylirwywk0j" path="res://scenes/game_elements/characters/components/sprite_frames/storyweaver_blue.tres" id="4_ke6f1"] +[ext_resource type="Material" uid="uid://64aeyjitacv3" path="res://scenes/game_elements/props/void/void_chromakey_material.tres" id="5_ymt83"] +[ext_resource type="TileSet" uid="uid://ciq5guijvlyb0" path="res://tiles/void_chromakey.tres" id="6_2qdpn"] +[ext_resource type="PackedScene" uid="uid://covsdqqsd6rsy" path="res://scenes/game_elements/props/sign/sign.tscn" id="6_6x6sw"] +[ext_resource type="Script" uid="uid://hqdquinbimce" path="res://scenes/game_elements/props/teleporter/teleporter.gd" id="7_iuykm"] +[ext_resource type="Script" uid="uid://qv1pvkvd0vem" path="res://scenes/world_map/components/quest_teleporter.gd" id="11_iyrla"] +[ext_resource type="Resource" uid="uid://t50glay2iqhg" path="res://scenes/quests/lore_quests/quest_002/quest.tres" id="12_uyrl0"] +[ext_resource type="Script" uid="uid://0enyu5v4ra34" path="res://scenes/game_elements/props/spawn_point/components/spawn_point.gd" id="13_37uns"] +[ext_resource type="PackedScene" uid="uid://2rbpl811wlv1" path="res://scenes/game_elements/props/background_music/background_music.tscn" id="14_iyrla"] +[ext_resource type="AudioStream" uid="uid://bbamdm6wtjjcn" path="res://assets/first_party/music/Threadbare_Bed.ogg" id="15_uyrl0"] +[ext_resource type="PackedScene" uid="uid://daqd67aro1o1m" path="res://scenes/game_elements/fx/time_and_weather/time_and_weather.tscn" id="16_37uns"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_p4iuv"] +size = Vector2(387, 79) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_fp8sx"] +size = Vector2(66.5, 255.5) + +[node name="Linenville" type="Node2D" unique_id=1423397536] + +[node name="TileMapLayers" type="Node2D" parent="." unique_id=558495237] +y_sort_enabled = true + +[node name="Water" type="TileMapLayer" parent="TileMapLayers" unique_id=1105903018] +tile_map_data = PackedByteArray("AAAHAP//AAAAAAAAAAAHAAAAAAAAAAAAAAAIAP//AAAAAAAAAAAIAAAAAAAAAAAAAAAJAP//AAAAAAAAAAAJAAAAAAAAAAAAAAAKAP//AAAAAAAAAAAKAAAAAAAAAAAAAAALAP//AAAAAAAAAAALAAAAAAAAAAAAAAAMAP//AAAAAAAAAAAMAAAAAAAAAAAAAAANAP//AAAAAAAAAAANAAAAAAAAAAAAAAAOAP//AAAAAAAAAAAOAAAAAAAAAAAAAAAPAP//AAAAAAAAAAAPAAAAAAAAAAAAAAAQAP//AAAAAAAAAAAQAAAAAAAAAAAAAAARAP//AAAAAAAAAAARAAAAAAAAAAAAAAASAP//AAAAAAAAAAASAAAAAAAAAAAAAAATAP//AAAAAAAAAAATAAAAAAAAAAAAAAAUAP//AAAAAAAAAAAUAAAAAAAAAAAAAAAVAP//AAAAAAAAAAAVAAAAAAAAAAAAAAAWAP//AAAAAAAAAAAWAAAAAAAAAAAAAAAXAP//AAAAAAAAAAAXAAAAAAAAAAAAAAAYAP//AAAAAAAAAAAYAAAAAAAAAAAAAAAZAP//AAAAAAAAAAAZAAAAAAAAAAAAAAAaAP//AAAAAAAAAAAaAAAAAAAAAAAAAAAbAP//AAAAAAAAAAAbAAAAAAAAAAAAAAAcAP//AAAAAAAAAAAcAAAAAAAAAAAAAAAdAP//AAAAAAAAAAAdAAAAAAAAAAAAAAAQAAEAAAAAAAAAAAAQAAIAAAAAAAAAAAAQAAMAAAAAAAAAAAAQAAQAAAAAAAAAAAAQAAUAAAAAAAAAAAARAAEAAAAAAAAAAAARAAIAAAAAAAAAAAARAAMAAAAAAAAAAAARAAQAAAAAAAAAAAARAAUAAAAAAAAAAAASAAEAAAAAAAAAAAASAAIAAAAAAAAAAAASAAMAAAAAAAAAAAASAAQAAAAAAAAAAAASAAUAAAAAAAAAAAATAAEAAAAAAAAAAAATAAIAAAAAAAAAAAATAAMAAAAAAAAAAAATAAQAAAAAAAAAAAATAAUAAAAAAAAAAAAUAAEAAAAAAAAAAAAUAAIAAAAAAAAAAAAUAAMAAAAAAAAAAAAUAAQAAAAAAAAAAAAUAAUAAAAAAAAAAAAVAAEAAAAAAAAAAAAVAAIAAAAAAAAAAAAVAAMAAAAAAAAAAAAVAAQAAAAAAAAAAAAVAAUAAAAAAAAAAAAWAAEAAAAAAAAAAAAWAAIAAAAAAAAAAAAWAAMAAAAAAAAAAAAWAAQAAAAAAAAAAAAWAAUAAAAAAAAAAAAXAAEAAAAAAAAAAAAXAAIAAAAAAAAAAAAXAAMAAAAAAAAAAAAXAAQAAAAAAAAAAAAXAAUAAAAAAAAAAAAYAAEAAAAAAAAAAAAYAAIAAAAAAAAAAAAYAAMAAAAAAAAAAAAYAAQAAAAAAAAAAAAYAAUAAAAAAAAAAAAZAAEAAAAAAAAAAAAZAAIAAAAAAAAAAAAZAAMAAAAAAAAAAAAZAAQAAAAAAAAAAAAZAAUAAAAAAAAAAAAaAAEAAAAAAAAAAAAaAAIAAAAAAAAAAAAaAAMAAAAAAAAAAAAaAAQAAAAAAAAAAAAaAAUAAAAAAAAAAAAbAAEAAAAAAAAAAAAbAAIAAAAAAAAAAAAbAAMAAAAAAAAAAAAbAAQAAAAAAAAAAAAbAAUAAAAAAAAAAAAcAAEAAAAAAAAAAAAcAAIAAAAAAAAAAAAcAAMAAAAAAAAAAAAcAAQAAAAAAAAAAAAcAAUAAAAAAAAAAAAdAAEAAAAAAAAAAAAdAAIAAAAAAAAAAAAdAAMAAAAAAAAAAAAdAAQAAAAAAAAAAAAdAAUAAAAAAAAAAAAKAAMAAAAAAAAAAAAKAAQAAAAAAAAAAAAKAAUAAAAAAAAAAAALAAMAAAAAAAAAAAALAAQAAAAAAAAAAAALAAUAAAAAAAAAAAAMAAMAAAAAAAAAAAAMAAQAAAAAAAAAAAAMAAUAAAAAAAAAAAANAAMAAAAAAAAAAAANAAQAAAAAAAAAAAANAAUAAAAAAAAAAAAOAAMAAAAAAAAAAAAOAAQAAAAAAAAAAAAOAAUAAAAAAAAAAAAPAAMAAAAAAAAAAAAPAAQAAAAAAAAAAAAPAAUAAAAAAAAAAAAUAAYAAAAAAAAAAAAVAAYAAAAAAAAAAAAWAAYAAAAAAAAAAAAXAAYAAAAAAAAAAAAYAAYAAAAAAAAAAAAZAAYAAAAAAAAAAAAaAAYAAAAAAAAAAAAbAAYAAAAAAAAAAAAcAAYAAAAAAAAAAAAdAAYAAAAAAAAAAAATAAYAAAAAAAAAAAAcAAcAAAAAAAAAAAAdAAcAAAAAAAAAAAAeAAcAAAAAAAAAAAAfAAcAAAAAAAAAAAAfAAgAAAAAAAAAAAAfAAkAAAAAAAAAAAAfAAoAAAAAAAAAAAAfAAsAAAAAAAAAAAAfAAwAAAAAAAAAAAAcAAwAAAAAAAAAAAAdAAwAAAAAAAAAAAAeAAwAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA8AAAAAAAAAAAAAABAAAAAAAAAAAAAAABEAAAAAAAAAAAAAABIAAAAAAAAAAAAAABMAAAAAAAAAAAABAA0AAAAAAAAAAAABAA4AAAAAAAAAAAABAA8AAAAAAAAAAAABABAAAAAAAAAAAAABABEAAAAAAAAAAAABABIAAAAAAAAAAAABABMAAAAAAAAAAAACAA0AAAAAAAAAAAACAA4AAAAAAAAAAAACAA8AAAAAAAAAAAACABAAAAAAAAAAAAACABEAAAAAAAAAAAACABIAAAAAAAAAAAACABMAAAAAAAAAAAADAA0AAAAAAAAAAAADAA4AAAAAAAAAAAADAA8AAAAAAAAAAAADABAAAAAAAAAAAAADABEAAAAAAAAAAAADABIAAAAAAAAAAAADABMAAAAAAAAAAAAEAA0AAAAAAAAAAAAEAA4AAAAAAAAAAAAEAA8AAAAAAAAAAAAEABAAAAAAAAAAAAAEABEAAAAAAAAAAAAEABIAAAAAAAAAAAAEABMAAAAAAAAAAAAFAA0AAAAAAAAAAAAFAA4AAAAAAAAAAAAFAA8AAAAAAAAAAAAFABAAAAAAAAAAAAAFABEAAAAAAAAAAAAFABIAAAAAAAAAAAAFABMAAAAAAAAAAAAGAA0AAAAAAAAAAAAGAA4AAAAAAAAAAAAGAA8AAAAAAAAAAAAGABAAAAAAAAAAAAAGABEAAAAAAAAAAAAGABIAAAAAAAAAAAAGABMAAAAAAAAAAAAHAA0AAAAAAAAAAAAHAA4AAAAAAAAAAAAHAA8AAAAAAAAAAAAHABAAAAAAAAAAAAAHABEAAAAAAAAAAAAHABIAAAAAAAAAAAAHABMAAAAAAAAAAAAIAA0AAAAAAAAAAAAIAA4AAAAAAAAAAAAIAA8AAAAAAAAAAAAIABAAAAAAAAAAAAAIABEAAAAAAAAAAAAIABIAAAAAAAAAAAAIABMAAAAAAAAAAAAJAA0AAAAAAAAAAAAJAA4AAAAAAAAAAAAJAA8AAAAAAAAAAAAJABAAAAAAAAAAAAAJABEAAAAAAAAAAAAJABIAAAAAAAAAAAAJABMAAAAAAAAAAAAKAA0AAAAAAAAAAAAKAA4AAAAAAAAAAAAKAA8AAAAAAAAAAAAKABAAAAAAAAAAAAAKABEAAAAAAAAAAAAKABIAAAAAAAAAAAAKABMAAAAAAAAAAAALAA0AAAAAAAAAAAALAA4AAAAAAAAAAAALAA8AAAAAAAAAAAALABAAAAAAAAAAAAALABEAAAAAAAAAAAALABIAAAAAAAAAAAALABMAAAAAAAAAAAAMAA0AAAAAAAAAAAAMAA4AAAAAAAAAAAAMAA8AAAAAAAAAAAAMABAAAAAAAAAAAAAMABEAAAAAAAAAAAAMABIAAAAAAAAAAAAMABMAAAAAAAAAAAANAA0AAAAAAAAAAAANAA4AAAAAAAAAAAANAA8AAAAAAAAAAAANABAAAAAAAAAAAAANABEAAAAAAAAAAAANABIAAAAAAAAAAAANABMAAAAAAAAAAAAOAA0AAAAAAAAAAAAOAA4AAAAAAAAAAAAOAA8AAAAAAAAAAAAOABAAAAAAAAAAAAAOABEAAAAAAAAAAAAOABIAAAAAAAAAAAAOABMAAAAAAAAAAAAPAA0AAAAAAAAAAAAPAA4AAAAAAAAAAAAPAA8AAAAAAAAAAAAPABAAAAAAAAAAAAAPABEAAAAAAAAAAAAPABIAAAAAAAAAAAAPABMAAAAAAAAAAAAQAA0AAAAAAAAAAAAQAA4AAAAAAAAAAAAQAA8AAAAAAAAAAAAQABAAAAAAAAAAAAAQABEAAAAAAAAAAAAQABIAAAAAAAAAAAAQABMAAAAAAAAAAAARAA0AAAAAAAAAAAARAA4AAAAAAAAAAAARAA8AAAAAAAAAAAARABAAAAAAAAAAAAARABEAAAAAAAAAAAARABIAAAAAAAAAAAARABMAAAAAAAAAAAASAA0AAAAAAAAAAAASAA4AAAAAAAAAAAASAA8AAAAAAAAAAAASABAAAAAAAAAAAAASABEAAAAAAAAAAAASABIAAAAAAAAAAAASABMAAAAAAAAAAAATAA0AAAAAAAAAAAATAA4AAAAAAAAAAAATAA8AAAAAAAAAAAATABAAAAAAAAAAAAATABEAAAAAAAAAAAATABIAAAAAAAAAAAATABMAAAAAAAAAAAAUAA0AAAAAAAAAAAAUAA4AAAAAAAAAAAAUAA8AAAAAAAAAAAAUABAAAAAAAAAAAAAUABEAAAAAAAAAAAAUABIAAAAAAAAAAAAUABMAAAAAAAAAAAAVAA0AAAAAAAAAAAAVAA4AAAAAAAAAAAAVAA8AAAAAAAAAAAAVABAAAAAAAAAAAAAVABEAAAAAAAAAAAAVABIAAAAAAAAAAAAVABMAAAAAAAAAAAAWAA0AAAAAAAAAAAAWAA4AAAAAAAAAAAAWAA8AAAAAAAAAAAAWABAAAAAAAAAAAAAWABEAAAAAAAAAAAAWABIAAAAAAAAAAAAWABMAAAAAAAAAAAAXAA0AAAAAAAAAAAAXAA4AAAAAAAAAAAAXAA8AAAAAAAAAAAAXABAAAAAAAAAAAAAXABEAAAAAAAAAAAAXABIAAAAAAAAAAAAXABMAAAAAAAAAAAAYAA0AAAAAAAAAAAAYAA4AAAAAAAAAAAAYAA8AAAAAAAAAAAAYABAAAAAAAAAAAAAYABEAAAAAAAAAAAAYABIAAAAAAAAAAAAYABMAAAAAAAAAAAAZAA0AAAAAAAAAAAAZAA4AAAAAAAAAAAAZAA8AAAAAAAAAAAAZABAAAAAAAAAAAAAZABEAAAAAAAAAAAAZABIAAAAAAAAAAAAZABMAAAAAAAAAAAAaAA0AAAAAAAAAAAAaAA4AAAAAAAAAAAAaAA8AAAAAAAAAAAAaABAAAAAAAAAAAAAaABEAAAAAAAAAAAAaABIAAAAAAAAAAAAaABMAAAAAAAAAAAAbAA0AAAAAAAAAAAAbAA4AAAAAAAAAAAAbAA8AAAAAAAAAAAAbABAAAAAAAAAAAAAbABEAAAAAAAAAAAAbABIAAAAAAAAAAAAbABMAAAAAAAAAAAAcAA0AAAAAAAAAAAAcAA4AAAAAAAAAAAAcAA8AAAAAAAAAAAAcABAAAAAAAAAAAAAcABEAAAAAAAAAAAAcABIAAAAAAAAAAAAcABMAAAAAAAAAAAAdAA0AAAAAAAAAAAAdAA4AAAAAAAAAAAAdAA8AAAAAAAAAAAAdABAAAAAAAAAAAAAdABEAAAAAAAAAAAAdABIAAAAAAAAAAAAdABMAAAAAAAAAAAAeAP//AAAAAAAAAAAeAAAAAAAAAAAAAAAeAAEAAAAAAAAAAAAeAAIAAAAAAAAAAAAeAAMAAAAAAAAAAAAeAAQAAAAAAAAAAAAeAAUAAAAAAAAAAAAeAAYAAAAAAAAAAAAfAP//AAAAAAAAAAAfAAAAAAAAAAAAAAAfAAEAAAAAAAAAAAAfAAIAAAAAAAAAAAAfAAMAAAAAAAAAAAAfAAQAAAAAAAAAAAAfAAUAAAAAAAAAAAAfAAYAAAAAAAAAAAAeAA0AAAAAAAAAAAAeAA4AAAAAAAAAAAAeAA8AAAAAAAAAAAAeABAAAAAAAAAAAAAeABEAAAAAAAAAAAAeABIAAAAAAAAAAAAeABMAAAAAAAAAAAAfAA0AAAAAAAAAAAAfAA4AAAAAAAAAAAAfAA8AAAAAAAAAAAAfABAAAAAAAAAAAAAfABEAAAAAAAAAAAAfABIAAAAAAAAAAAAfABMAAAAAAAAAAAD//xQAAAAAAAAAAAAAABQAAAAAAAAAAAABABQAAAAAAAAAAAACABQAAAAAAAAAAAADABQAAAAAAAAAAAAEABQAAAAAAAAAAAAFABQAAAAAAAAAAAAGABQAAAAAAAAAAAAHABQAAAAAAAAAAAAIABQAAAAAAAAAAAAJABQAAAAAAAAAAAAKABQAAAAAAAAAAAALABQAAAAAAAAAAAAMABQAAAAAAAAAAAANABQAAAAAAAAAAAAOABQAAAAAAAAAAAAPABQAAAAAAAAAAAAQABQAAAAAAAAAAAARABQAAAAAAAAAAAASABQAAAAAAAAAAAATABQAAAAAAAAAAAAUABQAAAAAAAAAAAAVABQAAAAAAAAAAAAWABQAAAAAAAAAAAAXABQAAAAAAAAAAAAYABQAAAAAAAAAAAAZABQAAAAAAAAAAAAaABQAAAAAAAAAAAAbABQAAAAAAAAAAAAcABQAAAAAAAAAAAAdABQAAAAAAAAAAAAeABQAAAAAAAAAAAAfABQAAAAAAAAAAAD//wgAAAAAAAAAAAD//wkAAAAAAAAAAAD//woAAAAAAAAAAAD//wsAAAAAAAAAAAD//wwAAAAAAAAAAAD//w0AAAAAAAAAAAD//w4AAAAAAAAAAAD//w8AAAAAAAAAAAD//xAAAAAAAAAAAAD//xEAAAAAAAAAAAD//xIAAAAAAAAAAAD//xMAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAwAAAAAAAAAAAABAAgAAAAAAAAAAAABAAkAAAAAAAAAAAABAAoAAAAAAAAAAAABAAsAAAAAAAAAAAABAAwAAAAAAAAAAAACAAgAAAAAAAAAAAACAAkAAAAAAAAAAAACAAoAAAAAAAAAAAACAAsAAAAAAAAAAAACAAwAAAAAAAAAAAADAAgAAAAAAAAAAAADAAkAAAAAAAAAAAADAAoAAAAAAAAAAAADAAsAAAAAAAAAAAADAAwAAAAAAAAAAAAEAAoAAAAAAAAAAAAEAAsAAAAAAAAAAAAEAAwAAAAAAAAAAAAFAAsAAAAAAAAAAAAFAAwAAAAAAAAAAAD/////AAAAAAAAAAD//wAAAAAAAAAAAAD//wEAAAAAAAAAAAD//wIAAAAAAAAAAAD//wMAAAAAAAAAAAD//wQAAAAAAAAAAAD//wUAAAAAAAAAAAD//wYAAAAAAAAAAAD//wcAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAcAAAAAAAAAAAABAP//AAAAAAAAAAABAAAAAAAAAAAAAAD///7/AAAAAAAAAAAAAP7/AAAAAAAAAAABAP7/AAAAAAAAAAACAP7/AAAAAAAAAAADAP7/AAAAAAAAAAAEAP7/AAAAAAAAAAAFAP7/AAAAAAAAAAAGAP7/AAAAAAAAAAAHAP7/AAAAAAAAAAAIAP7/AAAAAAAAAAAJAP7/AAAAAAAAAAAKAP7/AAAAAAAAAAALAP7/AAAAAAAAAAAMAP7/AAAAAAAAAAANAP7/AAAAAAAAAAAOAP7/AAAAAAAAAAAPAP7/AAAAAAAAAAAQAP7/AAAAAAAAAAARAP7/AAAAAAAAAAASAP7/AAAAAAAAAAATAP7/AAAAAAAAAAAUAP7/AAAAAAAAAAAVAP7/AAAAAAAAAAAWAP7/AAAAAAAAAAAXAP7/AAAAAAAAAAAYAP7/AAAAAAAAAAAZAP7/AAAAAAAAAAAaAP7/AAAAAAAAAAAbAP7/AAAAAAAAAAAcAP7/AAAAAAAAAAAdAP7/AAAAAAAAAAAeAP7/AAAAAAAAAAAfAP7/AAAAAAAAAAAUAAcAAAAAAAAAAAAUAAgAAAAAAAAAAAAVAAcAAAAAAAAAAAAVAAgAAAAAAAAAAAAWAAcAAAAAAAAAAAAWAAgAAAAAAAAAAAAXAAcAAAAAAAAAAAAXAAgAAAAAAAAAAAAYAAcAAAAAAAAAAAAYAAgAAAAAAAAAAAAZAAcAAAAAAAAAAAAZAAgAAAAAAAAAAAAaAAcAAAAAAAAAAAAaAAgAAAAAAAAAAAAbAAcAAAAAAAAAAAAbAAgAAAAAAAAAAAATAAcAAAAAAAAAAAAUAAkAAAAAAAAAAAAVAAkAAAAAAAAAAAAWAAkAAAAAAAAAAAAXAAkAAAAAAAAAAAAVAAsAAAAAAAAAAAAWAAsAAAAAAAAAAAAXAAsAAAAAAAAAAAATAAwAAAAAAAAAAAAUAAwAAAAAAAAAAAAVAAwAAAAAAAAAAAAWAAwAAAAAAAAAAAAXAAwAAAAAAAAAAAAYAAwAAAAAAAAAAAAZAAwAAAAAAAAAAAAaAAwAAAAAAAAAAAAbAAwAAAAAAAAAAAAVAAoAAAAAAAAAAQAWAAoAAAAAAAAAAQAXAAoAAAAAAAAAAQA=") +tile_set = ExtResource("1_cwro0") + +[node name="Foam" type="TileMapLayer" parent="TileMapLayers" unique_id=1841438815] +tile_map_data = PackedByteArray("AAAPAAEAAgAAAAAAAAAOAAEAAgAAAAAAAAANAAEAAgAAAAAAAAAMAAEAAgAAAAAAAAALAAEAAgAAAAAAAAAKAAEAAgAAAAAAAAAJAAEAAgAAAAAAAAAIAAEAAgAAAAAAAAAHAAEAAgAAAAAAAAAGAAEAAgAAAAAAAAAGAAAAAgAAAAAAAAAGAP//AgAAAAAAAAAFAP//AgAAAAAAAAAEAP//AgAAAAAAAAADAP//AgAAAAAAAAACAP//AgAAAAAAAAACAAAAAgAAAAAAAAACAAEAAgAAAAAAAAABAAEAAgAAAAAAAAABAAIAAgAAAAAAAAABAAMAAgAAAAAAAAABAAQAAgAAAAAAAAABAAUAAgAAAAAAAAABAAYAAgAAAAAAAAABAAcAAgAAAAAAAAACAAcAAgAAAAAAAAADAAcAAgAAAAAAAAAEAAcAAgAAAAAAAAAEAAgAAgAAAAAAAAAEAAkAAgAAAAAAAAAFAAkAAgAAAAAAAAAFAAoAAgAAAAAAAAAGAAoAAgAAAAAAAAAGAAsAAgAAAAAAAAAGAAwAAgAAAAAAAAAHAAwAAgAAAAAAAAAIAAwAAgAAAAAAAAAJAAwAAgAAAAAAAAAKAAwAAgAAAAAAAAALAAwAAgAAAAAAAAAMAAwAAgAAAAAAAAANAAwAAgAAAAAAAAAOAAwAAgAAAAAAAAAPAAwAAgAAAAAAAAAQAAwAAgAAAAAAAAARAAwAAgAAAAAAAAASAAwAAgAAAAAAAAASAAsAAgAAAAAAAAATAAsAAgAAAAAAAAAUAAsAAgAAAAAAAAAUAAoAAgAAAAAAAAAUAAkAAgAAAAAAAAATAAgAAgAAAAAAAAATAAkAAgAAAAAAAAASAAgAAgAAAAAAAAASAAcAAgAAAAAAAAASAAYAAgAAAAAAAAARAAYAAgAAAAAAAAAQAAYAAgAAAAAAAAAPAAYAAgAAAAAAAAAOAAYAAgAAAAAAAAANAAYAAgAAAAAAAAAMAAYAAgAAAAAAAAALAAYAAgAAAAAAAAAKAAYAAgAAAAAAAAAJAAYAAgAAAAAAAAAJAAIAAgAAAAAAAAAJAAMAAgAAAAAAAAAJAAQAAgAAAAAAAAAJAAUAAgAAAAAAAAAKAAIAAgAAAAAAAAALAAIAAgAAAAAAAAAMAAIAAgAAAAAAAAANAAIAAgAAAAAAAAAOAAIAAgAAAAAAAAAPAAIAAgAAAAAAAAAYAAkAAgAAAAAAAAAZAAkAAgAAAAAAAAAaAAkAAgAAAAAAAAAbAAkAAgAAAAAAAAAcAAkAAgAAAAAAAAAcAAgAAgAAAAAAAAAdAAgAAgAAAAAAAAAeAAgAAgAAAAAAAAAeAAkAAgAAAAAAAAAeAAoAAgAAAAAAAAAeAAsAAgAAAAAAAAAdAAsAAgAAAAAAAAAcAAsAAgAAAAAAAAAbAAsAAgAAAAAAAAAaAAsAAgAAAAAAAAAZAAsAAgAAAAAAAAAYAAsAAgAAAAAAAAAYAAoAAgAAAAAAAAA=") +tile_set = ExtResource("2_fp8sx") + +[node name="Grass" type="TileMapLayer" parent="TileMapLayers" unique_id=1989786436] +tile_map_data = PackedByteArray("AAACAAAAAQAAAAEAAAAEAAAAAQABAAEAAAADAAAAAQABAAEAAAAFAAEAAQABAAEAAAAGAAEAAQABAAEAAAAHAAIAAQABAAEAAAAHAAMAAQABAAEAAAAIAAQAAQABAAEAAAAIAAUAAQABAAEAAAAJAAcAAQABAAEAAAAJAAYAAQABAAEAAAAJAAUAAQACAAEAAAAJAAQAAQACAAEAAAAJAAMAAQACAAEAAAAJAAIAAQABAAEAAAAIAAcAAQABAAEAAAAIAAYAAQABAAEAAAAIAAMAAQABAAEAAAAIAAIAAQABAAEAAAAHAAcAAQABAAEAAAAHAAYAAQABAAEAAAAHAAUAAQABAAEAAAAHAAQAAQABAAEAAAAGAAcAAQABAAEAAAAGAAYAAQABAAEAAAAGAAUAAQABAAEAAAAGAAQAAQABAAEAAAAGAAMAAQABAAEAAAAGAAIAAQABAAEAAAAGAAAAAQACAAEAAAAGAP//AQACAAAAAAAFAAcAAQABAAEAAAAFAAYAAQABAAEAAAAFAAUAAQABAAEAAAAFAAQAAQABAAEAAAAFAAMAAQABAAEAAAAFAAIAAQABAAEAAAAFAAAAAQABAAEAAAAFAP//AQABAAAAAAAEAAcAAQABAAEAAAAEAAYAAQABAAEAAAAEAAUAAQABAAEAAAAEAAQAAQABAAEAAAAEAAMAAQABAAEAAAAEAAIAAQABAAEAAAAEAAEAAQABAAEAAAAEAP//AQABAAAAAAADAAcAAQABAAIAAAADAAYAAQABAAEAAAADAAUAAQABAAEAAAADAAQAAQABAAEAAAADAAMAAQABAAEAAAADAAIAAQABAAEAAAADAAEAAQABAAEAAAADAP//AQABAAAAAAACAAcAAQABAAIAAAACAAYAAQABAAEAAAACAAUAAQABAAEAAAACAAQAAQABAAEAAAACAAMAAQABAAEAAAACAAIAAQABAAEAAAACAAEAAQABAAEAAAACAP//AQAAAAAAAAABAAcAAQAAAAIAAAABAAYAAQAAAAEAAAABAAUAAQAAAAEAAAABAAQAAQAAAAEAAAABAAMAAQAAAAEAAAABAAIAAQAAAAEAAAABAAEAAQAAAAAAAAAeAAsAAQACAAIAAAAeAAoAAQACAAEAAAAeAAkAAQACAAEAAAAeAAgAAQACAAAAAAAdAAsAAQABAAIAAAAdAAoAAQABAAEAAAAdAAkAAQABAAEAAAAdAAgAAQABAAAAAAAcAAsAAQABAAIAAAAcAAoAAQABAAEAAAAcAAkAAQABAAEAAAAcAAgAAQAAAAAAAAASAAwAAQACAAIAAAASAAsAAQABAAEAAAASAAoAAQABAAEAAAASAAkAAQABAAEAAAASAAgAAQABAAEAAAASAAcAAQACAAEAAAASAAYAAQACAAAAAAARAAwAAQABAAIAAAARAAsAAQABAAEAAAARAAoAAQABAAEAAAARAAkAAQABAAEAAAARAAgAAQABAAEAAAARAAcAAQABAAEAAAARAAYAAQABAAAAAAAQAAwAAQABAAIAAAAQAAsAAQABAAEAAAAQAAoAAQABAAEAAAAQAAkAAQABAAEAAAAQAAgAAQABAAEAAAAQAAcAAQABAAEAAAAQAAYAAQABAAAAAAAPAAwAAQABAAIAAAAPAAsAAQABAAEAAAAPAAoAAQABAAEAAAAPAAkAAQABAAEAAAAPAAgAAQABAAEAAAAPAAcAAQABAAEAAAAPAAYAAQABAAAAAAAOAAwAAQABAAIAAAAOAAsAAQABAAEAAAAOAAoAAQABAAEAAAAOAAkAAQABAAEAAAAOAAgAAQABAAEAAAAOAAcAAQABAAEAAAAOAAYAAQABAAAAAAANAAwAAQABAAIAAAANAAsAAQABAAEAAAANAAoAAQABAAEAAAANAAkAAQABAAEAAAANAAgAAQABAAEAAAANAAcAAQABAAEAAAANAAYAAQABAAAAAAAMAAwAAQABAAIAAAAMAAsAAQABAAEAAAAMAAoAAQABAAEAAAAMAAkAAQABAAEAAAAMAAgAAQABAAEAAAAMAAcAAQABAAEAAAAMAAYAAQABAAAAAAALAAwAAQABAAIAAAALAAsAAQABAAEAAAALAAoAAQABAAEAAAALAAkAAQABAAEAAAALAAgAAQABAAEAAAALAAcAAQABAAEAAAALAAYAAQABAAAAAAAKAAwAAQABAAIAAAAKAAsAAQABAAEAAAAKAAoAAQABAAEAAAAKAAkAAQABAAEAAAAKAAgAAQABAAEAAAAKAAcAAQABAAEAAAAKAAYAAQABAAAAAAAJAAwAAQABAAIAAAAJAAsAAQABAAEAAAAJAAoAAQABAAEAAAAJAAkAAQABAAEAAAAJAAgAAQABAAEAAAAIAAwAAQABAAIAAAAIAAsAAQABAAEAAAAIAAoAAQABAAEAAAAIAAkAAQABAAEAAAAIAAgAAQABAAEAAAAHAAwAAQABAAIAAAAHAAsAAQABAAEAAAAHAAoAAQABAAEAAAAHAAkAAQABAAEAAAAHAAgAAQABAAEAAAAGAAwAAQAAAAIAAAAGAAsAAQAAAAEAAAAGAAoAAQABAAEAAAAGAAkAAQABAAEAAAAGAAgAAQABAAEAAAAFAAkAAQABAAEAAAAFAAgAAQABAAEAAAAEAAkAAQAAAAIAAAAEAAgAAQAAAAEAAAAHAAEAAQABAAAAAAAFAAoAAQAAAAIAAAAPAAIAAQACAAIAAAAPAAEAAQACAAAAAAAOAAIAAQABAAIAAAAOAAEAAQABAAAAAAANAAIAAQABAAIAAAANAAEAAQABAAAAAAAMAAIAAQABAAIAAAAMAAEAAQABAAAAAAALAAIAAQABAAIAAAALAAEAAQABAAAAAAAKAAIAAQABAAIAAAAKAAEAAQABAAAAAAAJAAEAAQABAAAAAAAIAAEAAQABAAAAAAAbAAsAAQABAAIAAAAbAAoAAQABAAEAAAAbAAkAAQABAAAAAAAaAAsAAQABAAIAAAAaAAoAAQABAAEAAAAaAAkAAQABAAAAAAAZAAsAAQABAAIAAAAZAAoAAQABAAEAAAAZAAkAAQABAAAAAAAYAAsAAQAAAAIAAAAYAAoAAQAAAAEAAAAYAAkAAQAAAAAAAAAUAAsAAQACAAIAAAAUAAoAAQACAAEAAAAUAAkAAQACAAAAAAATAAsAAQABAAIAAAATAAoAAQABAAEAAAATAAkAAQABAAEAAAATAAgAAQACAAAAAAA=") +tile_set = ExtResource("2_uus3f") + +[node name="Paths" type="TileMapLayer" parent="TileMapLayers" unique_id=1477063091] +tile_map_data = PackedByteArray("AAAIAAoAAQAFAAIAAAAJAAoAAQAGAAMAAAAKAAoAAQAGAAMAAAALAAoAAQAGAAMAAAAMAAoAAQAGAAMAAAANAAoAAQAGAAMAAAAOAAoAAQAGAAMAAAAPAAoAAQAGAAMAAAAQAAoAAQAGAAMAAAARAAoAAQAGAAMAAAASAAoAAQAGAAMAAAATAAoAAQAGAAMAAAAUAAoAAQAHAAMAAAAIAAgAAQAIAAEAAAAIAAkAAQAIAAEAAAAFAAcAAQAFAAIAAAAGAAcAAQAGAAMAAAAEAAQAAQAFAAIAAAAFAAUAAQAIAAEAAAAFAAYAAQAIAAEAAAAFAAMAAQAHAAEAAAAFAAQAAQAHAAEAAAAEAAMAAQAFAAEAAAAEAAEAAQAHAAEAAAAEAAIAAQAGAAEAAAADAAIAAQAFAAIAAAAEAAAAAQAIAAEAAAADAAEAAQAFAAAAAAAFAAIAAQAGAAAAAAAGAAIAAQAHAAMAAAAIAAcAAQAHAAAAAAAHAAcAAQAGAAMAAAAbAAoAAQAGAAMAAAAaAAoAAQAGAAMAAAAZAAoAAQAGAAMAAAAYAAoAAQAFAAMAAAAdAAoAAQAHAAIAAAAcAAoAAQAGAAMAAAAdAAkAAQAFAAAAAAAeAAkAAQAHAAMAAAAEAP//AQAIAAAAAAA=") +tile_set = ExtResource("2_uus3f") + +[node name="Bridges" type="TileMapLayer" parent="TileMapLayers" unique_id=1566328509] +tile_map_data = PackedByteArray("AAAUAAoAAwAAAAAAAAAVAAoAAwABAAAAAAAWAAoAAwABAAAAAAAXAAoAAwABAAAAAAAYAAoAAwACAAAAAAA=") +tile_set = ExtResource("3_ke6f1") + +[node name="Void" type="TileMapLayer" parent="TileMapLayers" unique_id=332905380] +material = ExtResource("5_ymt83") +tile_map_data = PackedByteArray("AAAhAP3/DQACAAAAAAAhAAUADQACAAIAAAAhAAQADQACAAEAAAAhAAMADQACAAEAAAAhAAIADQACAAEAAAAhAAEADQACAAEAAAAhAAAADQACAAEAAAAhAP//DQACAAEAAAAhAP7/DQACAAEAAAAgAAUADQABAAIAAAAgAAQADQABAAEAAAAgAAMADQABAAEAAAAgAAIADQABAAEAAAAgAAEADQABAAEAAAAgAAAADQABAAEAAAAgAP//DQABAAEAAAAgAP7/DQABAAEAAAAgAP3/DQABAAAAAAAfAAUADQABAAIAAAAfAAQADQABAAEAAAAfAAMADQABAAEAAAAfAAIADQABAAEAAAAfAAEADQABAAEAAAAfAAAADQABAAEAAAAfAP//DQABAAEAAAAfAP7/DQABAAEAAAAfAP3/DQABAAAAAAAeAAUADQABAAIAAAAeAAQADQABAAEAAAAeAAMADQABAAEAAAAeAAIADQABAAEAAAAeAAEADQABAAEAAAAeAAAADQABAAEAAAAeAP//DQABAAEAAAAeAP7/DQABAAEAAAAeAP3/DQABAAAAAAAdAAUADQABAAEAAAAdAAQADQABAAEAAAAdAAMADQABAAEAAAAdAAIADQABAAEAAAAdAAEADQABAAEAAAAdAAAADQABAAEAAAAdAP//DQABAAEAAAAdAP7/DQABAAEAAAAdAP3/DQABAAAAAAAcAAUADQABAAEAAAAcAAQADQABAAEAAAAcAAMADQABAAEAAAAcAAIADQABAAEAAAAcAAEADQABAAEAAAAcAAAADQABAAEAAAAcAP//DQABAAEAAAAcAP7/DQABAAEAAAAcAP3/DQABAAAAAAAbAAUADQABAAEAAAAbAAQADQABAAEAAAAbAAMADQABAAEAAAAbAAIADQABAAEAAAAbAAEADQABAAEAAAAbAAAADQABAAEAAAAbAP//DQABAAEAAAAbAP7/DQABAAEAAAAbAP3/DQABAAAAAAAaAAUADQABAAEAAAAaAAQADQABAAEAAAAaAAMADQABAAEAAAAaAAIADQABAAEAAAAaAAEADQABAAEAAAAaAAAADQABAAEAAAAaAP//DQABAAEAAAAaAP7/DQABAAEAAAAaAP3/DQABAAAAAAAZAAUADQABAAEAAAAZAAQADQABAAEAAAAZAAMADQABAAEAAAAZAAIADQABAAEAAAAZAAEADQABAAEAAAAZAAAADQABAAEAAAAZAP//DQABAAEAAAAZAP7/DQABAAEAAAAZAP3/DQABAAAAAAAYAAUADQABAAEAAAAYAAQADQABAAEAAAAYAAMADQABAAEAAAAYAAIADQABAAEAAAAYAAEADQABAAEAAAAYAAAADQABAAEAAAAYAP//DQABAAEAAAAYAP7/DQABAAEAAAAYAP3/DQABAAAAAAAXAAUADQABAAIAAAAXAAQADQABAAEAAAAXAAMADQABAAEAAAAXAAIADQABAAEAAAAXAAEADQABAAEAAAAXAAAADQABAAEAAAAXAP//DQABAAEAAAAXAP7/DQABAAEAAAAXAP3/DQABAAAAAAAWAAUADQABAAIAAAAWAAQADQABAAEAAAAWAAMADQABAAEAAAAWAAIADQABAAEAAAAWAAEADQABAAEAAAAWAAAADQABAAEAAAAWAP//DQABAAEAAAAWAP7/DQABAAEAAAAWAP3/DQABAAAAAAAVAAUADQAAAAIAAAAVAAQADQAAAAEAAAAVAAMADQAAAAEAAAAVAAIADQABAAEAAAAVAAEADQABAAEAAAAVAAAADQABAAEAAAAVAP//DQABAAEAAAAVAP7/DQAAAAEAAAAVAP3/DQAAAAAAAAAbAAYADQABAAEAAAAaAAYADQABAAIAAAAZAAYADQABAAIAAAAYAAYADQAAAAIAAAAdAAYADQACAAIAAAAcAAYADQABAAEAAAARAAcADQACAAIAAAARAAYADQABAAEAAAAQAAcADQABAAIAAAAQAAYADQABAAAAAAAPAAcADQAAAAIAAAAPAAYADQAAAAAAAAASAAUADQACAAEAAAARAAUADQAAAAEAAAASAAYADQACAAIAAAASAAQADQACAAEAAAASAAMADQADAAAAAAARAAQADQABAAAAAAAQAAQADQABAAMAAAAPAAQADQABAAMAAAAOAAEADQACAAIAAAAOAAAADQACAAEAAAAOAP//DQACAAAAAAANAAEADQAAAAEAAAANAAAADQAAAAEAAAANAP//DQAAAAAAAAAZAA4ADQACAAIAAAAZAA0ADQACAAAAAAAYAA4ADQAAAAIAAAAYAA0ADQAAAAAAAAAWABAADQACAAMAAAAVABAADQAAAAMAAAATABAADQACAAMAAAASABAADQABAAMAAAARABAADQABAAMAAAAQABAADQABAAIAAAAQAA8ADQACAAAAAAAPABAADQAAAAIAAAAPAA8ADQAAAAAAAAAcABAADQAAAAEAAAACAAkADQADAAMAAAADAA0ADQADAAIAAAADAAwADQADAAAAAAAFAA4ADQADAAAAAAAFAA8ADQADAAEAAAAFABAADQADAAIAAAACABAADQADAAMAAAALABEADQACAAIAAAALABAADQACAAEAAAALAA8ADQACAAEAAAALAA4ADQACAAAAAAAKABEADQABAAIAAAAKABAADQABAAEAAAAKAA8ADQABAAEAAAAKAA4ADQABAAAAAAAJABEADQAAAAIAAAAJABAADQAAAAEAAAAJAA8ADQAAAAEAAAAJAA4ADQAAAAAAAAAfABUADQACAAIAAAAfABQADQACAAEAAAAfABMADQACAAEAAAAfABIADQACAAEAAAAfABEADQACAAEAAAAfABAADQACAAEAAAAfAA8ADQACAAEAAAAfAA4ADQACAAEAAAAfAA0ADQACAAEAAAAfAAwADQACAAAAAAAeABUADQABAAIAAAAeABQADQABAAEAAAAeABMADQABAAEAAAAeABIADQABAAEAAAAeABEADQABAAEAAAAeABAADQABAAEAAAAeAA8ADQABAAEAAAAeAA4ADQABAAEAAAAeAA0ADQABAAEAAAAeAAwADQABAAAAAAAdABUADQABAAIAAAAdABQADQABAAEAAAAdABMADQABAAEAAAAdABIADQABAAEAAAAdABEADQABAAEAAAAdABAADQABAAEAAAAdAA8ADQABAAEAAAAdAA4ADQABAAEAAAAdAA0ADQABAAEAAAAdAAwADQAAAAAAAAAcABUADQAAAAIAAAAcABQADQAAAAEAAAAcABMADQAAAAEAAAAcABIADQAAAAEAAAAcABEADQAAAAEAAAAcAA8ADQAAAAEAAAAcAA4ADQAAAAEAAAAcAA0ADQAAAAAAAAAcAAcADQACAAEAAAAbAAcADQAAAAIAAAAcAAgADQADAAIAAAAZABMADQADAAIAAAAZABIADQADAAEAAAAZABEADQADAAAAAAANAAIADQADAAEAAAANAAQADQAAAAIAAAANAAMADQADAAEAAAAOAAQADQABAAMAAAAUAAIADQAAAAIAAAAUAAEADQAAAAEAAAAUAAAADQABAAEAAAAUAP//DQABAAAAAAATAAAADQAAAAIAAAATAP//DQAAAAAAAAACAAYADQADAAMAAAA=") +tile_set = ExtResource("6_2qdpn") + +[node name="OnTheGround" type="Node2D" parent="." unique_id=1229807614] +y_sort_enabled = true + +[node name="Player" parent="OnTheGround" unique_id=296354958 instance=ExtResource("3_p4sxa")] +position = Vector2(286, 185) +player_name = "StoryWeaver" +sprite_frames = ExtResource("4_ke6f1") + +[node name="Camera2D" type="Camera2D" parent="OnTheGround/Player" unique_id=2000451762] +limit_left = 0 +limit_top = 0 +limit_right = 1920 +limit_bottom = 1080 +position_smoothing_enabled = true +editor_draw_limits = true + +[node name="Signs" type="Node2D" parent="OnTheGround" unique_id=1341016750] + +[node name="Linenville" parent="OnTheGround/Signs" unique_id=1579530966 instance=ExtResource("6_6x6sw")] +position = Vector2(1667, 611) +direction = 1 +text = "Linenville " + +[node name="FraysEnd" parent="OnTheGround/Signs" unique_id=1214581715 instance=ExtResource("6_6x6sw")] +position = Vector2(433, 106) +text = "Fray's +End" + +[node name="Teleporters" type="Node2D" parent="." unique_id=1448543242] + +[node name="Overworld" type="Area2D" parent="Teleporters" unique_id=591926753] +collision_layer = 4 +script = ExtResource("7_iuykm") +next_scene = "uid://ds7q0lkarf2q5" +spawn_point_path = NodePath("TeleportersAndSpawnPoints/Temple") +enter_transition = 4 +exit_transition = 5 +metadata/_custom_type_script = "uid://hqdquinbimce" + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Teleporters/Overworld" unique_id=1490914939] +position = Vector2(288.5, -40.5) +shape = SubResource("RectangleShape2D_p4iuv") + +[node name="QuestTeleporter" type="Area2D" parent="Teleporters" unique_id=1793644420 node_paths=PackedStringArray("abandon_spawn_point")] +position = Vector2(-1, 0) +collision_layer = 4 +script = ExtResource("11_iyrla") +quest = ExtResource("12_uyrl0") +abandon_spawn_point = NodePath("../../SpawnPoints/Linenville") +enter_transition = 2 +metadata/_custom_type_script = "uid://qv1pvkvd0vem" + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Teleporters/QuestTeleporter" unique_id=1893157062] +position = Vector2(1954.25, 640.25) +shape = SubResource("RectangleShape2D_fp8sx") + +[node name="SpawnPoints" type="Node2D" parent="." unique_id=696691936] + +[node name="Overworld" type="Marker2D" parent="SpawnPoints" unique_id=10740789 groups=["spawn_point"]] +position = Vector2(291, 93) +script = ExtResource("13_37uns") +metadata/_custom_type_script = "uid://0enyu5v4ra34" + +[node name="Linenville" type="Marker2D" parent="SpawnPoints" unique_id=805440373 groups=["spawn_point"]] +position = Vector2(1802, 676) +script = ExtResource("13_37uns") +metadata/_custom_type_script = "uid://0enyu5v4ra34" + +[node name="ScreenOverlay" type="CanvasLayer" parent="." unique_id=540574971] + +[node name="BackgroundMusic" parent="." unique_id=1461759951 instance=ExtResource("14_iyrla")] +stream = ExtResource("15_uyrl0") + +[node name="TimeAndWeather" parent="." unique_id=1446545037 instance=ExtResource("16_37uns")] diff --git a/scenes/world_map/overworld.gd b/scenes/world_map/overworld.gd new file mode 100644 index 0000000000..df43b11467 --- /dev/null +++ b/scenes/world_map/overworld.gd @@ -0,0 +1,12 @@ +# SPDX-FileCopyrightText: The Threadbare Authors +# SPDX-License-Identifier: MPL-2.0 +extends Node2D + +@onready var player: Player = %Player + + +func _on_void_quest_unlocker_toggled(satisfied: bool) -> void: + if satisfied: + player.mode = Player.Mode.HOOKING + else: + player.mode = Player.Mode.COZY diff --git a/scenes/world_map/overworld.gd.uid b/scenes/world_map/overworld.gd.uid new file mode 100644 index 0000000000..fdc0f50609 --- /dev/null +++ b/scenes/world_map/overworld.gd.uid @@ -0,0 +1 @@ +uid://bk3302s3uauw5 diff --git a/scenes/world_map/overworld.tscn b/scenes/world_map/overworld.tscn new file mode 100644 index 0000000000..fef950b9b4 --- /dev/null +++ b/scenes/world_map/overworld.tscn @@ -0,0 +1,261 @@ +[gd_scene format=4 uid="uid://ds7q0lkarf2q5"] + +[ext_resource type="Script" uid="uid://bk3302s3uauw5" path="res://scenes/world_map/overworld.gd" id="1_8yqyo"] +[ext_resource type="TileSet" uid="uid://oynx002hv8tl" path="res://tiles/water.tres" id="1_lgqhf"] +[ext_resource type="TileSet" uid="uid://b8qnr0owsbhhn" path="res://tiles/exterior_floors.tres" id="2_p0ssl"] +[ext_resource type="TileSet" uid="uid://bjx3gvah0ycl1" path="res://tiles/foam_2.tres" id="2_u40xr"] +[ext_resource type="TileSet" uid="uid://do0ffypatd77h" path="res://tiles/bridges.tres" id="3_vldoy"] +[ext_resource type="PackedScene" uid="uid://iu2q66clupc6" path="res://scenes/game_elements/characters/player/player.tscn" id="4_u40xr"] +[ext_resource type="SpriteFrames" uid="uid://dtoylirwywk0j" path="res://scenes/game_elements/characters/components/sprite_frames/storyweaver_blue.tres" id="5_4op41"] +[ext_resource type="Material" uid="uid://64aeyjitacv3" path="res://scenes/game_elements/props/void/void_chromakey_material.tres" id="5_7npxb"] +[ext_resource type="TileSet" uid="uid://ciq5guijvlyb0" path="res://tiles/void_chromakey.tres" id="6_ac3tn"] +[ext_resource type="PackedScene" uid="uid://712saqgof3kf" path="res://scenes/game_elements/props/eternal_loom/eternal_loom.tscn" id="6_sgylu"] +[ext_resource type="Script" uid="uid://c5jp8y8mpge4w" path="res://scenes/world_map/components/ToggleableTileMapLayer.gd" id="7_8yqyo"] +[ext_resource type="PackedScene" uid="uid://lfvn4u30s4yf" path="res://scenes/game_elements/props/buildings/house/house_1.tscn" id="7_y687k"] +[ext_resource type="Texture2D" uid="uid://0xceungm1p8a" path="res://scenes/game_elements/props/buildings/house/components/House_Wool_Red_Stage2.png" id="8_vnleo"] +[ext_resource type="PackedScene" uid="uid://dohb701lxbe5s" path="res://scenes/game_elements/props/hookable_needle/hookable_needle.tscn" id="9_lc4f4"] +[ext_resource type="PackedScene" uid="uid://evb46lm6ssu2" path="res://scenes/game_elements/props/hookable_pin/hookable_pin.tscn" id="10_vldoy"] +[ext_resource type="Script" uid="uid://0enyu5v4ra34" path="res://scenes/game_elements/props/spawn_point/components/spawn_point.gd" id="13_4op41"] +[ext_resource type="PackedScene" uid="uid://daqd67aro1o1m" path="res://scenes/game_elements/fx/time_and_weather/time_and_weather.tscn" id="14_sgylu"] +[ext_resource type="PackedScene" uid="uid://2rbpl811wlv1" path="res://scenes/game_elements/props/background_music/background_music.tscn" id="14_vnleo"] +[ext_resource type="PackedScene" uid="uid://cf3cbl12wt6vr" path="res://scenes/game_elements/props/buildings/temple/temple.tscn" id="15_kd83f"] +[ext_resource type="AudioStream" uid="uid://bbamdm6wtjjcn" path="res://assets/first_party/music/Threadbare_Bed.ogg" id="15_lc4f4"] +[ext_resource type="PackedScene" uid="uid://covsdqqsd6rsy" path="res://scenes/game_elements/props/sign/sign.tscn" id="17_odpsm"] +[ext_resource type="Script" uid="uid://hqdquinbimce" path="res://scenes/game_elements/props/teleporter/teleporter.gd" id="18_ac3tn"] +[ext_resource type="Script" uid="uid://uaaaiviytliw" path="res://scenes/world_map/components/quest_progress_unlocker.gd" id="21_odpsm"] +[ext_resource type="Script" uid="uid://dts1hwdy3phin" path="res://scenes/menus/storybook/components/quest.gd" id="22_1t1mx"] +[ext_resource type="Resource" uid="uid://doovydomib7rj" path="res://scenes/quests/lore_quests/quest_001/quest.tres" id="23_afk26"] +[ext_resource type="Resource" uid="uid://t50glay2iqhg" path="res://scenes/quests/lore_quests/quest_002/quest.tres" id="26_kd83f"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_vldoy"] +size = Vector2(192, 64) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_4op41"] +size = Vector2(113, 64) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_8yqyo"] +size = Vector2(185.5, 97) + +[node name="Overworld" type="Node2D" unique_id=47798960] +script = ExtResource("1_8yqyo") +metadata/_edit_vertical_guides_ = [1746.0] +metadata/_edit_horizontal_guides_ = [1282.0] + +[node name="TileMapLayers" type="Node2D" parent="." unique_id=1564178979] + +[node name="Water" type="TileMapLayer" parent="TileMapLayers" unique_id=1303641310] +tile_map_data = PackedByteArray("AAAIAAMAAAAAAAAAAQAJAAMAAAAAAAAAAQAKAAMAAAAAAAAAAQALAAMAAAAAAAAAAQD///3/AAAAAAAAAAD///7/AAAAAAAAAAD/////AAAAAAAAAAD//wAAAAAAAAAAAAD//wEAAAAAAAAAAAD//wIAAAAAAAAAAAD//wMAAAAAAAAAAAD//wQAAAAAAAAAAAD//wUAAAAAAAAAAAD//wYAAAAAAAAAAAD//wcAAAAAAAAAAAD//wgAAAAAAAAAAAD//wkAAAAAAAAAAAD//woAAAAAAAAAAAD//wsAAAAAAAAAAAD//wwAAAAAAAAAAAD//w0AAAAAAAAAAAD//w4AAAAAAAAAAAD//w8AAAAAAAAAAAD//xAAAAAAAAAAAAD//xEAAAAAAAAAAAD//xIAAAAAAAAAAAD//xMAAAAAAAAAAAD//xQAAAAAAAAAAAD//xUAAAAAAAAAAAD//xYAAAAAAAAAAAD//xcAAAAAAAAAAAAAAP3/AAAAAAAAAAAAAP7/AAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA8AAAAAAAAAAAAAABAAAAAAAAAAAAAAABEAAAAAAAAAAAAAABIAAAAAAAAAAAAAABMAAAAAAAAAAAAAABQAAAAAAAAAAAAAABUAAAAAAAAAAAAAABYAAAAAAAAAAAAAABcAAAAAAAAAAAABAP3/AAAAAAAAAAABAP7/AAAAAAAAAAABAP//AAAAAAAAAAABAAAAAAAAAAAAAAABAAEAAAAAAAAAAAABAAIAAAAAAAAAAAABAAMAAAAAAAAAAAABAAQAAAAAAAAAAAABAAUAAAAAAAAAAAABAAYAAAAAAAAAAAABAAcAAAAAAAAAAAABAAgAAAAAAAAAAAABAAkAAAAAAAAAAAABAAoAAAAAAAAAAAABAAsAAAAAAAAAAAABAAwAAAAAAAAAAAABAA0AAAAAAAAAAAABAA4AAAAAAAAAAAABAA8AAAAAAAAAAAABABAAAAAAAAAAAAABABEAAAAAAAAAAAABABIAAAAAAAAAAAABABMAAAAAAAAAAAABABQAAAAAAAAAAAABABUAAAAAAAAAAAABABYAAAAAAAAAAAABABcAAAAAAAAAAAACAP3/AAAAAAAAAAACAP7/AAAAAAAAAAACAP//AAAAAAAAAAACAAAAAAAAAAAAAAACAAUAAAAAAAAAAAACAAYAAAAAAAAAAAACAAcAAAAAAAAAAAACAAgAAAAAAAAAAAACABEAAAAAAAAAAAACABIAAAAAAAAAAAACABMAAAAAAAAAAAACABQAAAAAAAAAAAACABUAAAAAAAAAAAACABYAAAAAAAAAAAACABcAAAAAAAAAAAADAP3/AAAAAAAAAAADAP7/AAAAAAAAAAADAP//AAAAAAAAAAADAAAAAAAAAAAAAAADAAUAAAAAAAAAAAADAAYAAAAAAAAAAAADAAcAAAAAAAAAAAADAAgAAAAAAAAAAAADABEAAAAAAAAAAAADABIAAAAAAAAAAAADABMAAAAAAAAAAAADABQAAAAAAAAAAAADABUAAAAAAAAAAAADABYAAAAAAAAAAAADABcAAAAAAAAAAAAEAP3/AAAAAAAAAAAEAP7/AAAAAAAAAAAEAP//AAAAAAAAAAAEAAAAAAAAAAAAAAAEAAUAAAAAAAAAAAAEAAYAAAAAAAAAAAAEAAcAAAAAAAAAAAAEAAgAAAAAAAAAAAAEABEAAAAAAAAAAAAEABIAAAAAAAAAAAAEABMAAAAAAAAAAAAEABQAAAAAAAAAAAAEABUAAAAAAAAAAAAEABYAAAAAAAAAAAAEABcAAAAAAAAAAAAFAP3/AAAAAAAAAAAFAP7/AAAAAAAAAAAFAP//AAAAAAAAAAAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAQAFAAYAAAAAAAAAAQAFAAcAAAAAAAAAAQAFAAgAAAAAAAAAAQAFAAwAAAAAAAAAAAAFAA0AAAAAAAAAAAAFAA4AAAAAAAAAAAAFAA8AAAAAAAAAAAAFABAAAAAAAAAAAAAFABEAAAAAAAAAAAAFABIAAAAAAAAAAAAFABMAAAAAAAAAAAAFABQAAAAAAAAAAAAFABUAAAAAAAAAAAAFABYAAAAAAAAAAAAFABcAAAAAAAAAAAAGAP3/AAAAAAAAAAAGAP7/AAAAAAAAAAAGAP//AAAAAAAAAAAGAAAAAAAAAAAAAAAGAAUAAAAAAAAAAAAGAAYAAAAAAAAAAAAGAAcAAAAAAAAAAAAGAAgAAAAAAAAAAAAGAAwAAAAAAAAAAAAGAA0AAAAAAAAAAAAGAA4AAAAAAAAAAAAGAA8AAAAAAAAAAAAGABAAAAAAAAAAAAAGABEAAAAAAAAAAAAGABIAAAAAAAAAAAAGABMAAAAAAAAAAAAGABQAAAAAAAAAAAAGABUAAAAAAAAAAAAGABYAAAAAAAAAAAAGABcAAAAAAAAAAAAHAP3/AAAAAAAAAAAHAP7/AAAAAAAAAAAHAP//AAAAAAAAAAAHAAAAAAAAAAAAAAAHAAUAAAAAAAAAAAAHAAYAAAAAAAAAAAAHAAcAAAAAAAAAAAAHAAgAAAAAAAAAAAAHAAwAAAAAAAAAAAAHAA0AAAAAAAAAAAAHAA4AAAAAAAAAAAAHAA8AAAAAAAAAAAAHABAAAAAAAAAAAAAHABEAAAAAAAAAAAAHABIAAAAAAAAAAAAHABMAAAAAAAAAAAAHABQAAAAAAAAAAAAHABUAAAAAAAAAAAAHABYAAAAAAAAAAAAHABcAAAAAAAAAAAAIAP3/AAAAAAAAAAAIAP7/AAAAAAAAAAAIAP//AAAAAAAAAAAIAAAAAAAAAAAAAAAIAAEAAAAAAAAAAAAIAAIAAAAAAAAAAAAIAAQAAAAAAAAAAAAIAAUAAAAAAAAAAAAIAAYAAAAAAAAAAAAIAAcAAAAAAAAAAAAIAAgAAAAAAAAAAAAIAAkAAAAAAAAAAAAIAAoAAAAAAAAAAAAIAAsAAAAAAAAAAAAIAAwAAAAAAAAAAAAIAA0AAAAAAAAAAAAIAA4AAAAAAAAAAAAIAA8AAAAAAAAAAAAIABAAAAAAAAAAAAAIABEAAAAAAAAAAAAIABIAAAAAAAAAAAAIABMAAAAAAAAAAAAIABQAAAAAAAAAAAAIABUAAAAAAAAAAAAIABYAAAAAAAAAAAAIABcAAAAAAAAAAAAJAP3/AAAAAAAAAAAJAP7/AAAAAAAAAAAJAP//AAAAAAAAAAAJAAAAAAAAAAAAAAAJAAEAAAAAAAAAAAAJAAIAAAAAAAAAAAAJAAQAAAAAAAAAAAAJAAUAAAAAAAAAAAAJAAYAAAAAAAAAAAAJAAcAAAAAAAAAAAAJAAgAAAAAAAAAAAAJAAkAAAAAAAAAAAAJAAoAAAAAAAAAAAAJAAsAAAAAAAAAAAAJAAwAAAAAAAAAAAAJAA0AAAAAAAAAAAAJAA4AAAAAAAAAAAAJAA8AAAAAAAAAAAAJABAAAAAAAAAAAAAJABEAAAAAAAAAAAAJABIAAAAAAAAAAAAJABMAAAAAAAAAAAAJABQAAAAAAAAAAAAJABUAAAAAAAAAAAAJABYAAAAAAAAAAAAJABcAAAAAAAAAAAAKAP3/AAAAAAAAAAAKAP7/AAAAAAAAAAAKAP//AAAAAAAAAAAKAAAAAAAAAAAAAAAKAAEAAAAAAAAAAAAKAAIAAAAAAAAAAAAKAAQAAAAAAAAAAAAKAAUAAAAAAAAAAAAKAAYAAAAAAAAAAAAKAAcAAAAAAAAAAAAKAAgAAAAAAAAAAAAKAAkAAAAAAAAAAAAKAAoAAAAAAAAAAAAKAAsAAAAAAAAAAAAKAAwAAAAAAAAAAAAKAA0AAAAAAAAAAAAKAA4AAAAAAAAAAAAKAA8AAAAAAAAAAAAKABAAAAAAAAAAAAAKABEAAAAAAAAAAAAKABIAAAAAAAAAAAAKABMAAAAAAAAAAAAKABQAAAAAAAAAAAAKABUAAAAAAAAAAAAKABYAAAAAAAAAAAAKABcAAAAAAAAAAAALAP3/AAAAAAAAAAALAP7/AAAAAAAAAAALAP//AAAAAAAAAAALAAAAAAAAAAAAAAALAAEAAAAAAAAAAAALAAIAAAAAAAAAAAALAAQAAAAAAAAAAAALAAUAAAAAAAAAAAALAAYAAAAAAAAAAAALAAcAAAAAAAAAAAALAAgAAAAAAAAAAAALABEAAAAAAAAAAAALABIAAAAAAAAAAAALABMAAAAAAAAAAAALABQAAAAAAAAAAAALABUAAAAAAAAAAAALABYAAAAAAAAAAAALABcAAAAAAAAAAAAMAP3/AAAAAAAAAAAMAP7/AAAAAAAAAAAMAP//AAAAAAAAAAAMAAAAAAAAAAAAAAAMAAUAAAAAAAAAAAAMAAYAAAAAAAAAAAAMAAcAAAAAAAAAAAAMAAgAAAAAAAAAAAAMABEAAAAAAAAAAAAMABIAAAAAAAAAAAAMABMAAAAAAAAAAAAMABQAAAAAAAAAAAAMABUAAAAAAAAAAAAMABYAAAAAAAAAAAAMABcAAAAAAAAAAAANAP3/AAAAAAAAAAANAP7/AAAAAAAAAAANAP//AAAAAAAAAAANAAAAAAAAAAAAAAANABEAAAAAAAAAAAANABIAAAAAAAAAAAANABMAAAAAAAAAAAANABQAAAAAAAAAAAANABUAAAAAAAAAAAANABYAAAAAAAAAAAANABcAAAAAAAAAAAAOAP3/AAAAAAAAAAAOAP7/AAAAAAAAAAAOAP//AAAAAAAAAAAOAAAAAAAAAAAAAAAOAAUAAAAAAAAAAAAOAAYAAAAAAAAAAAAOAAcAAAAAAAAAAAAOAAgAAAAAAAAAAAAOABEAAAAAAAAAAAAOABIAAAAAAAAAAAAOABMAAAAAAAAAAAAOABQAAAAAAAAAAAAOABUAAAAAAAAAAAAOABYAAAAAAAAAAAAOABcAAAAAAAAAAAAPAP3/AAAAAAAAAAAPAP7/AAAAAAAAAAAPAP//AAAAAAAAAAAPAAAAAAAAAAAAAAAPAAUAAAAAAAAAAAAPAAYAAAAAAAAAAAAPAAcAAAAAAAAAAAAPAAgAAAAAAAAAAAAPABEAAAAAAAAAAAAPABIAAAAAAAAAAAAPABMAAAAAAAAAAAAPABQAAAAAAAAAAAAPABUAAAAAAAAAAAAPABYAAAAAAAAAAAAPABcAAAAAAAAAAAAQAP3/AAAAAAAAAAAQAP7/AAAAAAAAAAAQAP//AAAAAAAAAAAQAAAAAAAAAAAAAAAQAAEAAAAAAAAAAAAQAAIAAAAAAAAAAAAQAAMAAAAAAAAAAAAQAAQAAAAAAAAAAAAQAAUAAAAAAAAAAAAQAAYAAAAAAAAAAAAQAAcAAAAAAAAAAAAQAAgAAAAAAAAAAAAQABEAAAAAAAAAAAAQABIAAAAAAAAAAAAQABMAAAAAAAAAAAAQABQAAAAAAAAAAAAQABUAAAAAAAAAAAAQABYAAAAAAAAAAAAQABcAAAAAAAAAAAARAP3/AAAAAAAAAAARAP7/AAAAAAAAAAARAP//AAAAAAAAAAARAAAAAAAAAAAAAAARAAEAAAAAAAAAAAARAAIAAAAAAAAAAAARAAMAAAAAAAAAAAARAAQAAAAAAAAAAAARAAUAAAAAAAAAAAARAAYAAAAAAAAAAAARAAcAAAAAAAAAAAARAAgAAAAAAAAAAAARABEAAAAAAAAAAAARABIAAAAAAAAAAAARABMAAAAAAAAAAAARABQAAAAAAAAAAAARABUAAAAAAAAAAAARABYAAAAAAAAAAAARABcAAAAAAAAAAAASAP3/AAAAAAAAAAASAP7/AAAAAAAAAAASAP//AAAAAAAAAAASAAAAAAAAAAAAAAASAAEAAAAAAAAAAAASAAIAAAAAAAAAAAASAAMAAAAAAAAAAAASAAQAAAAAAAAAAAASAAUAAAAAAAAAAAASAAYAAAAAAAAAAAASAAcAAAAAAAAAAAASAAgAAAAAAAAAAAASABEAAAAAAAAAAAASABIAAAAAAAAAAAASABMAAAAAAAAAAAASABQAAAAAAAAAAAASABUAAAAAAAAAAAASABYAAAAAAAAAAAASABcAAAAAAAAAAAATAP3/AAAAAAAAAAATAP7/AAAAAAAAAAATAP//AAAAAAAAAAATAAAAAAAAAAAAAAATAAEAAAAAAAAAAAATAAIAAAAAAAAAAAATAAMAAAAAAAAAAAATAAQAAAAAAAAAAAATAAUAAAAAAAAAAAATAAYAAAAAAAAAAAATAAcAAAAAAAAAAAATAAgAAAAAAAAAAAATAAkAAAAAAAAAAAATAAoAAAAAAAAAAAATAAsAAAAAAAAAAAATAAwAAAAAAAAAAAATAA0AAAAAAAAAAAATAA4AAAAAAAAAAAATAA8AAAAAAAAAAAATABAAAAAAAAAAAAATABEAAAAAAAAAAAATABIAAAAAAAAAAAATABMAAAAAAAAAAAATABQAAAAAAAAAAAATABUAAAAAAAAAAAATABYAAAAAAAAAAAATABcAAAAAAAAAAAAUAP3/AAAAAAAAAAAUAP7/AAAAAAAAAAAUAP//AAAAAAAAAAAUAAAAAAAAAAAAAAAUAAEAAAAAAAAAAAAUAAIAAAAAAAAAAAAUAAMAAAAAAAAAAAAUAAQAAAAAAAAAAAAUAAUAAAAAAAAAAAAUAAYAAAAAAAAAAAAUAAcAAAAAAAAAAAAUAAgAAAAAAAAAAAAUAAkAAAAAAAAAAAAUAAoAAAAAAAAAAAAUAAsAAAAAAAAAAAAUAAwAAAAAAAAAAAAUAA0AAAAAAAAAAAAUAA4AAAAAAAAAAAAUAA8AAAAAAAAAAAAUABAAAAAAAAAAAAAUABEAAAAAAAAAAAAUABIAAAAAAAAAAAAUABMAAAAAAAAAAAAUABQAAAAAAAAAAAAUABUAAAAAAAAAAAAUABYAAAAAAAAAAAAUABcAAAAAAAAAAAAVAP3/AAAAAAAAAAAVAP7/AAAAAAAAAAAVAP//AAAAAAAAAAAVAAAAAAAAAAAAAAAVAAEAAAAAAAAAAAAVAAIAAAAAAAAAAAAVAAMAAAAAAAAAAAAVAAQAAAAAAAAAAAAVAAUAAAAAAAAAAAAVAAYAAAAAAAAAAAAVAAcAAAAAAAAAAAAVAAgAAAAAAAAAAAAVAAkAAAAAAAAAAAAVAAoAAAAAAAAAAAAVAAsAAAAAAAAAAAAVAAwAAAAAAAAAAAAVAA0AAAAAAAAAAAAVAA4AAAAAAAAAAAAVAA8AAAAAAAAAAAAVABAAAAAAAAAAAAAVABEAAAAAAAAAAAAVABIAAAAAAAAAAAAVABMAAAAAAAAAAAAVABQAAAAAAAAAAAAVABUAAAAAAAAAAAAVABYAAAAAAAAAAAAVABcAAAAAAAAAAAAWAP3/AAAAAAAAAAAWAP7/AAAAAAAAAAAWAP//AAAAAAAAAAAWAAAAAAAAAAAAAAAWAAEAAAAAAAAAAAAWAAIAAAAAAAAAAAAWAAMAAAAAAAAAAAAWAAQAAAAAAAAAAAAWAAUAAAAAAAAAAAAWAAYAAAAAAAAAAAAWAAcAAAAAAAAAAAAWAAgAAAAAAAAAAAAWAAkAAAAAAAAAAAAWAAoAAAAAAAAAAAAWAAsAAAAAAAAAAAAWAAwAAAAAAAAAAAAWAA0AAAAAAAAAAAAWAA4AAAAAAAAAAAAWAA8AAAAAAAAAAAAWABAAAAAAAAAAAAAWABEAAAAAAAAAAAAWABIAAAAAAAAAAAAWABMAAAAAAAAAAAAWABQAAAAAAAAAAAAWABUAAAAAAAAAAAAWABYAAAAAAAAAAAAWABcAAAAAAAAAAAAXAP3/AAAAAAAAAAAXAP7/AAAAAAAAAAAXAP//AAAAAAAAAAAXAAAAAAAAAAAAAAAXAAEAAAAAAAAAAAAXAAIAAAAAAAAAAAAXAAMAAAAAAAAAAAAXAAQAAAAAAAAAAAAXAAUAAAAAAAAAAAAXAAYAAAAAAAAAAAAXAAcAAAAAAAAAAAAXAAgAAAAAAAAAAAAXAAkAAAAAAAAAAAAXAAoAAAAAAAAAAAAXAAsAAAAAAAAAAAAXAAwAAAAAAAAAAAAXAA0AAAAAAAAAAAAXAA4AAAAAAAAAAAAXAA8AAAAAAAAAAAAXABAAAAAAAAAAAAAXABEAAAAAAAAAAAAXABIAAAAAAAAAAAAXABMAAAAAAAAAAAAXABQAAAAAAAAAAAAXABUAAAAAAAAAAAAXABYAAAAAAAAAAAAXABcAAAAAAAAAAAAYAP3/AAAAAAAAAAAYAP7/AAAAAAAAAAAYAP//AAAAAAAAAAAYAAAAAAAAAAAAAAAYAAEAAAAAAAAAAAAYAAIAAAAAAAAAAAAYAAMAAAAAAAAAAAAYAAQAAAAAAAAAAAAYAAUAAAAAAAAAAAAYAAYAAAAAAAAAAAAYAAcAAAAAAAAAAAAYAAgAAAAAAAAAAAAYAAkAAAAAAAAAAAAYAAoAAAAAAAAAAAAYAAsAAAAAAAAAAAAYAAwAAAAAAAAAAAAYAA0AAAAAAAAAAAAYAA4AAAAAAAAAAAAYAA8AAAAAAAAAAAAYABAAAAAAAAAAAAAYABEAAAAAAAAAAAAYABIAAAAAAAAAAAAYABMAAAAAAAAAAAAYABQAAAAAAAAAAAAYABUAAAAAAAAAAAAYABYAAAAAAAAAAAAYABcAAAAAAAAAAAAZAP3/AAAAAAAAAAAZAP7/AAAAAAAAAAAZAP//AAAAAAAAAAAZAAAAAAAAAAAAAAAZAAEAAAAAAAAAAAAZAAIAAAAAAAAAAAAZAAMAAAAAAAAAAAAZAAQAAAAAAAAAAAAZAAUAAAAAAAAAAAAZAAYAAAAAAAAAAAAZAAcAAAAAAAAAAAAZAAgAAAAAAAAAAAAZAAkAAAAAAAAAAAAZAAoAAAAAAAAAAAAZAAsAAAAAAAAAAAAZAAwAAAAAAAAAAAAZAA0AAAAAAAAAAAAZAA4AAAAAAAAAAAAZAA8AAAAAAAAAAAAZABAAAAAAAAAAAAAZABEAAAAAAAAAAAAZABIAAAAAAAAAAAAZABMAAAAAAAAAAAAZABQAAAAAAAAAAAAZABUAAAAAAAAAAAAZABYAAAAAAAAAAAAZABcAAAAAAAAAAAAaAP3/AAAAAAAAAAAaAP7/AAAAAAAAAAAaAP//AAAAAAAAAAAaAAAAAAAAAAAAAAAaAAEAAAAAAAAAAAAaAAIAAAAAAAAAAAAaAAMAAAAAAAAAAAAaAAQAAAAAAAAAAAAaAAUAAAAAAAAAAAAaAAYAAAAAAAAAAAAaAAcAAAAAAAAAAAAaAAgAAAAAAAAAAAAaAAkAAAAAAAAAAAAaAAoAAAAAAAAAAAAaAAsAAAAAAAAAAAAaAAwAAAAAAAAAAAAaAA0AAAAAAAAAAAAaAA4AAAAAAAAAAAAaAA8AAAAAAAAAAAAaABAAAAAAAAAAAAAaABEAAAAAAAAAAAAaABIAAAAAAAAAAAAaABMAAAAAAAAAAAAaABQAAAAAAAAAAAAaABUAAAAAAAAAAAAaABYAAAAAAAAAAAAaABcAAAAAAAAAAAAbAP3/AAAAAAAAAAAbAP7/AAAAAAAAAAAbAP//AAAAAAAAAAAbAAAAAAAAAAAAAAAbAAEAAAAAAAAAAAAbAAIAAAAAAAAAAAAbAAMAAAAAAAAAAAAbAAQAAAAAAAAAAAAbAAUAAAAAAAAAAAAbAAYAAAAAAAAAAAAbAAcAAAAAAAAAAAAbAAgAAAAAAAAAAAAbAAkAAAAAAAAAAAAbAAoAAAAAAAAAAAAbAAsAAAAAAAAAAAAbAAwAAAAAAAAAAAAbAA0AAAAAAAAAAAAbAA4AAAAAAAAAAAAbAA8AAAAAAAAAAAAbABAAAAAAAAAAAAAbABEAAAAAAAAAAAAbABIAAAAAAAAAAAAbABMAAAAAAAAAAAAbABQAAAAAAAAAAAAbABUAAAAAAAAAAAAbABYAAAAAAAAAAAAbABcAAAAAAAAAAAAcAP3/AAAAAAAAAAAcAP7/AAAAAAAAAAAcAP//AAAAAAAAAAAcAAAAAAAAAAAAAAAcAAEAAAAAAAAAAAAcAAIAAAAAAAAAAAAcAAMAAAAAAAAAAAAcAAQAAAAAAAAAAAAcAAUAAAAAAAAAAAAcAAYAAAAAAAAAAAAcAAcAAAAAAAAAAAAcAAgAAAAAAAAAAAAcAAkAAAAAAAAAAAAcAAoAAAAAAAAAAAAcAAsAAAAAAAAAAAAcAAwAAAAAAAAAAAAcAA0AAAAAAAAAAAAcAA4AAAAAAAAAAAAcAA8AAAAAAAAAAAAcABAAAAAAAAAAAAAcABEAAAAAAAAAAAAcABIAAAAAAAAAAAAcABMAAAAAAAAAAAAcABQAAAAAAAAAAAAcABUAAAAAAAAAAAAcABYAAAAAAAAAAAAcABcAAAAAAAAAAAAdAP3/AAAAAAAAAAAdAP7/AAAAAAAAAAAdAP//AAAAAAAAAAAdAAAAAAAAAAAAAAAdAAEAAAAAAAAAAAAdAAIAAAAAAAAAAAAdAAMAAAAAAAAAAAAdAAQAAAAAAAAAAAAdAAUAAAAAAAAAAAAdAAYAAAAAAAAAAAAdAAcAAAAAAAAAAAAdAAgAAAAAAAAAAAAdAAkAAAAAAAAAAAAdAAoAAAAAAAAAAAAdAAsAAAAAAAAAAAAdAAwAAAAAAAAAAAAdAA0AAAAAAAAAAAAdAA4AAAAAAAAAAAAdAA8AAAAAAAAAAAAdABAAAAAAAAAAAAAdABEAAAAAAAAAAAAdABIAAAAAAAAAAAAdABMAAAAAAAAAAAAdABQAAAAAAAAAAAAdABUAAAAAAAAAAAAdABYAAAAAAAAAAAAdABcAAAAAAAAAAAAeAP3/AAAAAAAAAAAeAP7/AAAAAAAAAAAeAP//AAAAAAAAAAAeAAAAAAAAAAAAAAAeAAEAAAAAAAAAAAAeAAIAAAAAAAAAAAAeAAMAAAAAAAAAAAAeAAQAAAAAAAAAAAAeAAUAAAAAAAAAAAAeAAYAAAAAAAAAAAAeAAcAAAAAAAAAAAAeAAgAAAAAAAAAAAAeAAkAAAAAAAAAAAAeAAoAAAAAAAAAAAAeAAsAAAAAAAAAAAAeAAwAAAAAAAAAAAAeAA0AAAAAAAAAAAAeAA4AAAAAAAAAAAAeAA8AAAAAAAAAAAAeABAAAAAAAAAAAAAeABEAAAAAAAAAAAAeABIAAAAAAAAAAAAeABMAAAAAAAAAAAAeABQAAAAAAAAAAAAeABUAAAAAAAAAAAAeABYAAAAAAAAAAAAeABcAAAAAAAAAAAAfAP3/AAAAAAAAAAAfAP7/AAAAAAAAAAAfAP//AAAAAAAAAAAfAAAAAAAAAAAAAAAfAAEAAAAAAAAAAAAfAAIAAAAAAAAAAAAfAAMAAAAAAAAAAAAfAAQAAAAAAAAAAAAfAAUAAAAAAAAAAAAfAAYAAAAAAAAAAAAfAAcAAAAAAAAAAAAfAAgAAAAAAAAAAAAfAAkAAAAAAAAAAAAfAAoAAAAAAAAAAAAfAAsAAAAAAAAAAAAfAAwAAAAAAAAAAAAfAA0AAAAAAAAAAAAfAA4AAAAAAAAAAAAfAA8AAAAAAAAAAAAfABAAAAAAAAAAAAAfABEAAAAAAAAAAAAfABIAAAAAAAAAAAAfABMAAAAAAAAAAAAfABQAAAAAAAAAAAAfABUAAAAAAAAAAAAfABYAAAAAAAAAAAAfABcAAAAAAAAAAAAgAP3/AAAAAAAAAAAgAP7/AAAAAAAAAAAgAP//AAAAAAAAAAAgAAAAAAAAAAAAAAAgAAEAAAAAAAAAAAAgAAIAAAAAAAAAAAAgAAMAAAAAAAAAAAAgAAQAAAAAAAAAAAAgAAUAAAAAAAAAAAAgAAYAAAAAAAAAAAAgAAcAAAAAAAAAAAAgAAgAAAAAAAAAAAAgAAkAAAAAAAAAAAAgAAoAAAAAAAAAAAAgAAsAAAAAAAAAAAAgAAwAAAAAAAAAAAAgAA0AAAAAAAAAAAAgAA4AAAAAAAAAAAAgAA8AAAAAAAAAAAAgABAAAAAAAAAAAAAgABEAAAAAAAAAAAAgABIAAAAAAAAAAAAgABMAAAAAAAAAAAAgABQAAAAAAAAAAAAgABUAAAAAAAAAAAAgABYAAAAAAAAAAAAgABcAAAAAAAAAAAAhAP3/AAAAAAAAAAAhAP7/AAAAAAAAAAAhAP//AAAAAAAAAAAhAAAAAAAAAAAAAAAhAAEAAAAAAAAAAAAhAAIAAAAAAAAAAAAhAAMAAAAAAAAAAAAhAAQAAAAAAAAAAAAhAAUAAAAAAAAAAAAhAAYAAAAAAAAAAAAhAAcAAAAAAAAAAAAhAAgAAAAAAAAAAAAhAAkAAAAAAAAAAAAhAAoAAAAAAAAAAAAhAAsAAAAAAAAAAAAhAAwAAAAAAAAAAAAhAA0AAAAAAAAAAAAhAA4AAAAAAAAAAAAhAA8AAAAAAAAAAAAhABAAAAAAAAAAAAAhABEAAAAAAAAAAAAhABIAAAAAAAAAAAAhABMAAAAAAAAAAAAhABQAAAAAAAAAAAAhABUAAAAAAAAAAAAhABYAAAAAAAAAAAAhABcAAAAAAAAAAAAiAP3/AAAAAAAAAAAiAP7/AAAAAAAAAAAiAP//AAAAAAAAAAAiAAAAAAAAAAAAAAAiAAEAAAAAAAAAAAAiAAIAAAAAAAAAAAAiAAMAAAAAAAAAAAAiAAQAAAAAAAAAAAAiAAUAAAAAAAAAAAAiAAYAAAAAAAAAAAAiAAcAAAAAAAAAAAAiAAgAAAAAAAAAAAAiAAkAAAAAAAAAAAAiAAoAAAAAAAAAAAAiAAsAAAAAAAAAAAAiAAwAAAAAAAAAAAAiAA0AAAAAAAAAAAAiAA4AAAAAAAAAAAAiAA8AAAAAAAAAAAAiABAAAAAAAAAAAAAiABEAAAAAAAAAAAAiABIAAAAAAAAAAAAiABMAAAAAAAAAAAAiABQAAAAAAAAAAAAiABUAAAAAAAAAAAAiABYAAAAAAAAAAAAiABcAAAAAAAAAAAAjAP3/AAAAAAAAAAAjAP7/AAAAAAAAAAAjAP//AAAAAAAAAAAjAAAAAAAAAAAAAAAjAAEAAAAAAAAAAAAjAAIAAAAAAAAAAAAjAAMAAAAAAAAAAAAjAAQAAAAAAAAAAAAjAAUAAAAAAAAAAAAjAAYAAAAAAAAAAAAjAAcAAAAAAAAAAAAjAAgAAAAAAAAAAAAjAAkAAAAAAAAAAAAjAAoAAAAAAAAAAAAjAAsAAAAAAAAAAAAjAAwAAAAAAAAAAAAjAA0AAAAAAAAAAAAjAA4AAAAAAAAAAAAjAA8AAAAAAAAAAAAjABAAAAAAAAAAAAAjABEAAAAAAAAAAAAjABIAAAAAAAAAAAAjABMAAAAAAAAAAAAjABQAAAAAAAAAAAAjABUAAAAAAAAAAAAjABYAAAAAAAAAAAAjABcAAAAAAAAAAAAkAP3/AAAAAAAAAAAkAP7/AAAAAAAAAAAkAP//AAAAAAAAAAAkAAAAAAAAAAAAAAAkAAEAAAAAAAAAAAAkAAIAAAAAAAAAAAAkAAMAAAAAAAAAAAAkAAQAAAAAAAAAAAAkAAUAAAAAAAAAAAAkAAYAAAAAAAAAAAAkAAcAAAAAAAAAAAAkAAgAAAAAAAAAAAAkAAkAAAAAAAAAAAAkAAoAAAAAAAAAAAAkAAsAAAAAAAAAAAAkAAwAAAAAAAAAAAAkAA0AAAAAAAAAAAAkAA4AAAAAAAAAAAAkAA8AAAAAAAAAAAAkABAAAAAAAAAAAAAkABEAAAAAAAAAAAAkABIAAAAAAAAAAAAkABMAAAAAAAAAAAAkABQAAAAAAAAAAAAkABUAAAAAAAAAAAAkABYAAAAAAAAAAAAkABcAAAAAAAAAAAAlAP3/AAAAAAAAAAAlAP7/AAAAAAAAAAAlAP//AAAAAAAAAAAlAAAAAAAAAAAAAAAlAAEAAAAAAAAAAAAlAAIAAAAAAAAAAAAlAAMAAAAAAAAAAAAlAAQAAAAAAAAAAAAlAAUAAAAAAAAAAAAlAAYAAAAAAAAAAAAlAAcAAAAAAAAAAAAlAAgAAAAAAAAAAAAlAAkAAAAAAAAAAAAlAAoAAAAAAAAAAAAlAAsAAAAAAAAAAAAlAAwAAAAAAAAAAAAlAA0AAAAAAAAAAAAlAA4AAAAAAAAAAAAlAA8AAAAAAAAAAAAlABAAAAAAAAAAAAAlABEAAAAAAAAAAAAlABIAAAAAAAAAAAAlABMAAAAAAAAAAAAlABQAAAAAAAAAAAAlABUAAAAAAAAAAAAlABYAAAAAAAAAAAAlABcAAAAAAAAAAAAmAP3/AAAAAAAAAAAmAP7/AAAAAAAAAAAmAP//AAAAAAAAAAAmAAAAAAAAAAAAAAAmAAEAAAAAAAAAAAAmAAIAAAAAAAAAAAAmAAMAAAAAAAAAAAAmAAQAAAAAAAAAAAAmAAUAAAAAAAAAAAAmAAYAAAAAAAAAAAAmAAcAAAAAAAAAAAAmAAgAAAAAAAAAAAAmAAkAAAAAAAAAAAAmAAoAAAAAAAAAAAAmAAsAAAAAAAAAAAAmAAwAAAAAAAAAAAAmAA0AAAAAAAAAAAAmAA4AAAAAAAAAAAAmAA8AAAAAAAAAAAAmABAAAAAAAAAAAAAmABEAAAAAAAAAAAAmABIAAAAAAAAAAAAmABMAAAAAAAAAAAAmABQAAAAAAAAAAAAmABUAAAAAAAAAAAAmABYAAAAAAAAAAAAmABcAAAAAAAAAAAAnAP3/AAAAAAAAAAAnAP7/AAAAAAAAAAAnAP//AAAAAAAAAAAnAAAAAAAAAAAAAAAnAAEAAAAAAAAAAAAnAAIAAAAAAAAAAAAnAAMAAAAAAAAAAAAnAAQAAAAAAAAAAAAnAAUAAAAAAAAAAAAnAAYAAAAAAAAAAAAnAAcAAAAAAAAAAAAnAAgAAAAAAAAAAAAnAAkAAAAAAAAAAAAnAAoAAAAAAAAAAAAnAAsAAAAAAAAAAAAnAAwAAAAAAAAAAAAnAA0AAAAAAAAAAAAnAA4AAAAAAAAAAAAnAA8AAAAAAAAAAAAnABAAAAAAAAAAAAAnABEAAAAAAAAAAAAnABIAAAAAAAAAAAAnABMAAAAAAAAAAAAnABQAAAAAAAAAAAAnABUAAAAAAAAAAAAnABYAAAAAAAAAAAAnABcAAAAAAAAAAAAoAP3/AAAAAAAAAAAoAP7/AAAAAAAAAAAoAP//AAAAAAAAAAAoAAAAAAAAAAAAAAAoAAEAAAAAAAAAAAAoAAIAAAAAAAAAAAAoAAMAAAAAAAAAAAAoAAQAAAAAAAAAAAAoAAUAAAAAAAAAAAAoAAYAAAAAAAAAAAAoAAcAAAAAAAAAAAAoAAgAAAAAAAAAAAAoAAkAAAAAAAAAAAAoAAoAAAAAAAAAAAAoAAsAAAAAAAAAAAAoAAwAAAAAAAAAAAAoAA0AAAAAAAAAAAAoAA4AAAAAAAAAAAAoAA8AAAAAAAAAAAAoABAAAAAAAAAAAAAoABEAAAAAAAAAAAAoABIAAAAAAAAAAAAoABMAAAAAAAAAAAAoABQAAAAAAAAAAAAoABUAAAAAAAAAAAAoABYAAAAAAAAAAAAoABcAAAAAAAAAAAANAAUAAAAAAAAAAAANAAYAAAAAAAAAAAANAAcAAAAAAAAAAAANAAgAAAAAAAAAAAA=") +tile_set = ExtResource("1_lgqhf") + +[node name="Foam" type="TileMapLayer" parent="TileMapLayers" unique_id=2027673497] +tile_map_data = PackedByteArray("AAACAAEAAgAAAAAAAAACAAIAAgAAAAAAAAACAAMAAgAAAAAAAAACAAQAAgAAAAAAAAADAAEAAgAAAAAAAAADAAIAAgAAAAAAAAADAAMAAgAAAAAAAAADAAQAAgAAAAAAAAAEAAEAAgAAAAAAAAAEAAIAAgAAAAAAAAAEAAMAAgAAAAAAAAAEAAQAAgAAAAAAAAAFAAEAAgAAAAAAAAAFAAIAAgAAAAAAAAAFAAMAAgAAAAAAAAAFAAQAAgAAAAAAAAAGAAEAAgAAAAAAAAAGAAIAAgAAAAAAAAAGAAMAAgAAAAAAAAAGAAQAAgAAAAAAAAAHAAEAAgAAAAAAAAAHAAIAAgAAAAAAAAAHAAMAAgAAAAAAAAAHAAQAAgAAAAAAAAAMAAEAAgAAAAAAAAAMAAIAAgAAAAAAAAAMAAMAAgAAAAAAAAAMAAQAAgAAAAAAAAANAAEAAgAAAAAAAAANAAIAAgAAAAAAAAANAAMAAgAAAAAAAAANAAQAAgAAAAAAAAAOAAEAAgAAAAAAAAAOAAIAAgAAAAAAAAAOAAMAAgAAAAAAAAAOAAQAAgAAAAAAAAAPAAEAAgAAAAAAAAAPAAIAAgAAAAAAAAAPAAMAAgAAAAAAAAAPAAQAAgAAAAAAAAALAAkAAgAAAAAAAAALAAoAAgAAAAAAAAALAAsAAgAAAAAAAAALAAwAAgAAAAAAAAALAA0AAgAAAAAAAAALAA4AAgAAAAAAAAALAA8AAgAAAAAAAAALABAAAgAAAAAAAAAMAAkAAgAAAAAAAAAMAAoAAgAAAAAAAAAMAAsAAgAAAAAAAAAMAAwAAgAAAAAAAAAMAA0AAgAAAAAAAAAMAA4AAgAAAAAAAAAMAA8AAgAAAAAAAAAMABAAAgAAAAAAAAANAAkAAgAAAAAAAAANAAoAAgAAAAAAAAANAAsAAgAAAAAAAAANAAwAAgAAAAAAAAANAA0AAgAAAAAAAAANAA4AAgAAAAAAAAANAA8AAgAAAAAAAAANABAAAgAAAAAAAAAOAAkAAgAAAAAAAAAOAAoAAgAAAAAAAAAOAAsAAgAAAAAAAAAOAAwAAgAAAAAAAAAOAA0AAgAAAAAAAAAOAA4AAgAAAAAAAAAOAA8AAgAAAAAAAAAOABAAAgAAAAAAAAAPAAkAAgAAAAAAAAAPAAoAAgAAAAAAAAAPAAsAAgAAAAAAAAAPAAwAAgAAAAAAAAAPAA0AAgAAAAAAAAAPAA4AAgAAAAAAAAAPAA8AAgAAAAAAAAAPABAAAgAAAAAAAAAQAAkAAgAAAAAAAAAQAAoAAgAAAAAAAAAQAAsAAgAAAAAAAAAQAAwAAgAAAAAAAAAQAA0AAgAAAAAAAAAQAA4AAgAAAAAAAAAQAA8AAgAAAAAAAAAQABAAAgAAAAAAAAARAAkAAgAAAAAAAAARAAoAAgAAAAAAAAARAAsAAgAAAAAAAAARAAwAAgAAAAAAAAARAA0AAgAAAAAAAAARAA4AAgAAAAAAAAARAA8AAgAAAAAAAAARABAAAgAAAAAAAAASAAkAAgAAAAAAAAASAAoAAgAAAAAAAAASAAsAAgAAAAAAAAASAAwAAgAAAAAAAAASAA0AAgAAAAAAAAASAA4AAgAAAAAAAAASAA8AAgAAAAAAAAASABAAAgAAAAAAAAACAAwAAgAAAAAAAAACAA0AAgAAAAAAAAACAA4AAgAAAAAAAAACAA8AAgAAAAAAAAACABAAAgAAAAAAAAADAAwAAgAAAAAAAAADAA0AAgAAAAAAAAADAA4AAgAAAAAAAAADAA8AAgAAAAAAAAADABAAAgAAAAAAAAAEAAwAAgAAAAAAAAAEAA0AAgAAAAAAAAAEAA4AAgAAAAAAAAAEAA8AAgAAAAAAAAAEABAAAgAAAAAAAAACAAkAAgAAAAAAAAACAAoAAgAAAAAAAAACAAsAAgAAAAAAAAADAAkAAgAAAAAAAAADAAoAAgAAAAAAAAADAAsAAgAAAAAAAAAEAAkAAgAAAAAAAAAEAAoAAgAAAAAAAAAEAAsAAgAAAAAAAAAFAAkAAgAAAAAAAAAFAAoAAgAAAAAAAAAFAAsAAgAAAAAAAAAGAAkAAgAAAAAAAAAGAAoAAgAAAAAAAAAGAAsAAgAAAAAAAAAHAAkAAgAAAAAAAAAHAAoAAgAAAAAAAAAHAAsAAgAAAAAAAAA=") +tile_set = ExtResource("2_u40xr") + +[node name="Grass" type="TileMapLayer" parent="TileMapLayers" unique_id=1720828127] +tile_map_data = PackedByteArray("AAAHAAQAAQACAAIAAAAHAAMAAQACAAEAAAAHAAIAAQACAAEAAAAHAAEAAQACAAAAAAAGAAQAAQABAAIAAAAGAAMAAQABAAEAAAAGAAIAAQABAAEAAAAGAAEAAQABAAAAAAAFAAQAAQABAAIAAAAFAAMAAQABAAEAAAAFAAIAAQABAAEAAAAFAAEAAQABAAAAAAAEAAQAAQABAAIAAAAEAAMAAQABAAEAAAAEAAIAAQABAAEAAAAEAAEAAQABAAAAAAADAAQAAQABAAIAAAADAAMAAQABAAEAAAADAAIAAQABAAEAAAADAAEAAQABAAAAAAACAAQAAQAAAAIAAAACAAMAAQAAAAEAAAACAAIAAQAAAAEAAAACAAEAAQAAAAAAAAAEABAAAQACAAIAAAAEAA8AAQACAAEAAAAEAA4AAQACAAEAAAAEAA0AAQACAAEAAAAEAAwAAQACAAEAAAADABAAAQABAAIAAAADAA8AAQABAAEAAAADAA4AAQABAAEAAAADAA0AAQABAAEAAAADAAwAAQABAAEAAAACABAAAQAAAAIAAAACAA8AAQAAAAEAAAACAA4AAQAAAAEAAAACAA0AAQAAAAEAAAACAAwAAQAAAAEAAAAOAAwABgABAAEAAAAOAAsABgABAAEAAAAOAAoABgABAAEAAAAOAAkABgABAAAAAAANAAwABgABAAEAAAANAAsABgABAAEAAAANAAoABgABAAEAAAANAAkABgABAAAAAAAMAAwABgABAAEAAAAMAAsABgABAAEAAAAMAAoABgABAAEAAAAMAAkABgABAAAAAAAPAAQABgACAAIAAAAPAAMABgACAAEAAAAPAAIABgACAAEAAAAPAAEABgACAAAAAAAOAAQABgABAAIAAAAOAAMABgABAAEAAAAOAAIABgABAAEAAAAOAAEABgABAAAAAAANAAQABgABAAIAAAANAAMABgABAAEAAAANAAIABgABAAEAAAANAAEABgABAAAAAAAMAAQABgAAAAIAAAAMAAMABgAAAAEAAAAMAAIABgAAAAEAAAAMAAEABgAAAAAAAAARAA4ABgABAAEAAAAQAA0ABgABAAEAAAAPAAwABgABAAEAAAASABAABgACAAIAAAASAA8ABgACAAEAAAASAA4ABgACAAEAAAASAA0ABgACAAEAAAASAAwABgACAAEAAAASAAsABgACAAEAAAASAAoABgACAAEAAAASAAkABgACAAAAAAARABAABgABAAIAAAARAA8ABgABAAEAAAARAA0ABgABAAEAAAARAAwABgABAAEAAAARAAsABgABAAEAAAARAAoABgABAAEAAAARAAkABgABAAAAAAAQABAABgABAAIAAAAQAA8ABgABAAEAAAAQAA4ABgABAAEAAAAQAAwABgABAAEAAAAQAAsABgABAAEAAAAQAAoABgABAAEAAAAQAAkABgABAAAAAAAPABAABgABAAIAAAAPAA8ABgABAAEAAAAPAA4ABgABAAEAAAAPAA0ABgABAAEAAAAPAAsABgABAAEAAAAPAAoABgABAAEAAAAPAAkABgABAAAAAAAOABAABgABAAIAAAAOAA8ABgABAAEAAAAOAA4ABgABAAEAAAAOAA0ABgABAAEAAAANABAABgABAAIAAAANAA8ABgABAAEAAAANAA4ABgABAAEAAAANAA0ABgABAAEAAAAMABAABgABAAIAAAAMAA8ABgABAAEAAAAMAA4ABgABAAEAAAAMAA0ABgABAAEAAAALABAABgAAAAIAAAALAA8ABgAAAAEAAAALAA4ABgAAAAEAAAALAA0ABgAAAAEAAAALAAwABgAAAAEAAAALAAsABgAAAAEAAAALAAoABgAAAAEAAAALAAkABgAAAAAAAAAHAAsAAQACAAIAAAAHAAoAAQACAAEAAAAHAAkAAQACAAAAAAAGAAsAAQABAAIAAAAGAAoAAQABAAEAAAAGAAkAAQABAAAAAAAFAAsAAQABAAIAAAAFAAoAAQABAAEAAAAFAAkAAQABAAAAAAAEAAsAAQABAAEAAAAEAAoAAQABAAEAAAAEAAkAAQABAAAAAAADAAsAAQABAAEAAAADAAoAAQABAAEAAAADAAkAAQABAAAAAAACAAsAAQAAAAEAAAACAAoAAQAAAAEAAAACAAkAAQAAAAAAAAA=") +tile_set = ExtResource("2_p0ssl") + +[node name="Bridges" type="TileMapLayer" parent="TileMapLayers" unique_id=1392361028] +tile_map_data = PackedByteArray("AAAMAAMAAwACAAAAAAALAAMAAwABAAAAAAAKAAMAAwABAAAAAAAJAAMAAwABAAAAAAAIAAMAAwABAAAAAAAHAAMAAwAAAAAAAAAFAAkAAwAAAAMAAAAFAAgAAwAAAAIAAAAFAAcAAwAAAAIAAAAFAAYAAwAAAAIAAAAFAAUAAwAAAAIAAAAFAAQAAwAAAAEAAAA=") +tile_set = ExtResource("3_vldoy") + +[node name="Patches" type="TileMapLayer" parent="TileMapLayers" unique_id=2045111386] +tile_map_data = PackedByteArray("AAAEAAIABQACAAMAAAADAAIABQABAAMAAAACAAIABQAAAAMAAAAOAAIABQAAAAMAAAAPAAIABQACAAMAAAA=") +tile_set = ExtResource("2_p0ssl") + +[node name="Quest2BarrierVoid" type="TileMapLayer" parent="TileMapLayers" unique_id=756441386 node_paths=PackedStringArray("target")] +y_sort_enabled = true +material = ExtResource("5_7npxb") +tile_map_data = PackedByteArray("AAD//w4ADQAAAAAAAAD//w8ADQAAAAEAAAD//xAADQAAAAEAAAD//xEADQAAAAEAAAD//xIADQAAAAIAAAAAAA4ADQACAAAAAAAAAA8ADQACAAEAAAAAABAADQACAAEAAAAAABEADQACAAEAAAAAABIADQABAAIAAAABABIADQABAAMAAAACABIADQABAAMAAAADABIADQABAAMAAAAEAA0ADQAAAAMAAAAEABIADQABAAMAAAAFAAwADQAAAAAAAAAFAA0ADQABAAEAAAAFAA4ADQAAAAIAAAAFABIADQABAAMAAAAGAAgADQAAAAAAAAAGAAkADQAAAAEAAAAGAAoADQAAAAIAAAAGAAwADQABAAAAAAAGAA0ADQACAAEAAAAGAA4ADQACAAEAAAAGAA8ADQADAAEAAAAGABAADQADAAEAAAAGABEADQADAAEAAAAGABIADQACAAIAAAAHAAcADQADAAAAAAAHAAgADQACAAEAAAAHAAkADQABAAEAAAAHAAoADQABAAEAAAAHAAsADQAAAAEAAAAHAAwADQACAAIAAAAIAAkADQACAAAAAAAIAAoADQACAAEAAAAIAAsADQACAAIAAAA=") +tile_set = ExtResource("6_ac3tn") +script = ExtResource("7_8yqyo") +target = NodePath(".") + +[node name="Quest1BarrierVoid" type="TileMapLayer" parent="TileMapLayers" unique_id=1856196742 node_paths=PackedStringArray("target")] +y_sort_enabled = true +material = ExtResource("5_7npxb") +tile_map_data = PackedByteArray("AAACAA0ADQACAAIAAAACAAwADQACAAEAAAACAAsADQABAAEAAAACAAoADQABAAEAAAACAAkADQABAAAAAAABAA0ADQABAAIAAAABAAwADQABAAEAAAABAAsADQABAAEAAAABAAoADQABAAEAAAABAAkADQABAAAAAAAAAA0ADQABAAEAAAAAAAwADQABAAEAAAAAAAsADQABAAEAAAAAAAoADQABAAEAAAAAAAkADQABAAAAAAD//w0ADQAAAAEAAAD//wwADQAAAAEAAAD//wsADQAAAAEAAAD//woADQAAAAEAAAD//wkADQAAAAAAAAAAABEADQACAAEAAAAAABAADQACAAEAAAAAAA8ADQACAAEAAAAAAA4ADQACAAEAAAD//xEADQAAAAEAAAD//xAADQAAAAEAAAD//w8ADQAAAAEAAAD//w4ADQAAAAEAAAAEABIADQABAAMAAAADABIADQABAAMAAAACABIADQABAAMAAAABABIADQABAAMAAAAAABIADQABAAIAAAD//xIADQAAAAIAAAAFABIADQABAAMAAAAGABIADQACAAIAAAAGABEADQADAAEAAAAGABAADQADAAEAAAAGAA8ADQADAAEAAAAGAA4ADQACAAEAAAAGAA0ADQACAAEAAAAFAA4ADQAAAAIAAAAFAA0ADQABAAEAAAAEAA0ADQAAAAMAAAAHAAwADQACAAIAAAAHAAsADQABAAEAAAAHAAoADQABAAEAAAAHAAkADQABAAEAAAAHAAgADQACAAEAAAAHAAcADQACAAAAAAAGAAwADQABAAEAAAAGAAsADQABAAEAAAAGAAoADQABAAEAAAAGAAkADQAAAAEAAAAGAAgADQAAAAEAAAAGAAcADQAAAAAAAAAFAAwADQAAAAEAAAAFAAsADQABAAEAAAAFAAoADQABAAAAAAAEAAsADQABAAIAAAAEAAoADQABAAAAAAADAAsADQABAAIAAAADAAoADQABAAEAAAADAAkADQACAAAAAAAIAAsADQACAAIAAAAIAAoADQACAAEAAAAIAAkADQACAAAAAAA=") +tile_set = ExtResource("6_ac3tn") +script = ExtResource("7_8yqyo") +target = NodePath(".") + +[node name="OnTheGround" type="Node2D" parent="." unique_id=2000463552] +y_sort_enabled = true + +[node name="Player" parent="OnTheGround" unique_id=712655429 instance=ExtResource("4_u40xr")] +unique_name_in_owner = true +position = Vector2(221, 261) +player_name = "StoryWeaver" +walk_speed = 600.0 +run_speed = 1000.0 +stopping_step = 4500.0 +sprite_frames = ExtResource("5_4op41") + +[node name="Camera2D" type="Camera2D" parent="OnTheGround/Player" unique_id=2090076863] +zoom = Vector2(0.5, 0.5) +limit_left = 0 +limit_top = 0 +limit_right = 2560 +limit_bottom = 1440 + +[node name="EternalLoom" parent="OnTheGround" unique_id=297125763 instance=ExtResource("6_sgylu")] +position = Vector2(222, 62) +scale = Vector2(0.5, 0.5) + +[node name="InteractArea" parent="OnTheGround/EternalLoom" index="3" unique_id=1735004807] +collision_layer = 0 +disabled = true + +[node name="House_1" parent="OnTheGround" unique_id=1414670496 instance=ExtResource("7_y687k")] +position = Vector2(956, 139) +texture = ExtResource("8_vnleo") + +[node name="Grappling" type="Node2D" parent="OnTheGround" unique_id=184639175] +y_sort_enabled = true + +[node name="HookableNeedle" parent="OnTheGround/Grappling" unique_id=1030309014 instance=ExtResource("9_lc4f4")] +position = Vector2(814, 445) + +[node name="HookableNeedle2" parent="OnTheGround/Grappling" unique_id=2004419451 instance=ExtResource("9_lc4f4")] +position = Vector2(601, 749) + +[node name="HookableNeedle3" parent="OnTheGround/Grappling" unique_id=752202998 instance=ExtResource("9_lc4f4")] +position = Vector2(607, 498) + +[node name="HookableNeedle4" parent="OnTheGround/Grappling" unique_id=1857642963 instance=ExtResource("9_lc4f4")] +position = Vector2(1087, 471) + +[node name="HookableNeedle5" parent="OnTheGround/Grappling" unique_id=2100663938 instance=ExtResource("9_lc4f4")] +position = Vector2(1335, 612) + +[node name="HookableNeedle6" parent="OnTheGround/Grappling" unique_id=150433432 instance=ExtResource("9_lc4f4")] +position = Vector2(1298, 797) + +[node name="HookableNeedle7" parent="OnTheGround/Grappling" unique_id=1702642075 instance=ExtResource("9_lc4f4")] +position = Vector2(1311, 1039) + +[node name="HookableNeedle8" parent="OnTheGround/Grappling" unique_id=467719159 instance=ExtResource("9_lc4f4")] +position = Vector2(1179, 1177) + +[node name="HookableNeedle9" parent="OnTheGround/Grappling" unique_id=288762084 instance=ExtResource("9_lc4f4")] +position = Vector2(933, 1173) + +[node name="HookableNeedle10" parent="OnTheGround/Grappling" unique_id=751861951 instance=ExtResource("9_lc4f4")] +position = Vector2(775, 1205) + +[node name="HookableNeedle11" parent="OnTheGround/Grappling" unique_id=1831850060 instance=ExtResource("9_lc4f4")] +position = Vector2(562, 1064) + +[node name="HookableNeedle12" parent="OnTheGround/Grappling" unique_id=325773550 instance=ExtResource("9_lc4f4")] +position = Vector2(532, 809) + +[node name="HookablePin" parent="OnTheGround/Grappling" unique_id=147440122 instance=ExtResource("10_vldoy")] +position = Vector2(812, 281) + +[node name="HookablePin2" parent="OnTheGround/Grappling" unique_id=683785824 instance=ExtResource("10_vldoy")] +position = Vector2(964, 622) + +[node name="HookablePin3" parent="OnTheGround/Grappling" unique_id=2071223292 instance=ExtResource("10_vldoy")] +position = Vector2(287, 814) + +[node name="HookablePin4" parent="OnTheGround/Grappling" unique_id=1805320668 instance=ExtResource("10_vldoy")] +position = Vector2(741, 742) + +[node name="Temple" parent="OnTheGround" unique_id=84311494 instance=ExtResource("15_kd83f")] +position = Vector2(222, 1072) + +[node name="Sign" parent="OnTheGround" unique_id=1579530966 instance=ExtResource("17_odpsm")] +position = Vector2(407, 197) +text = "Fray's End" + +[node name="Sign2" parent="OnTheGround" unique_id=994913836 instance=ExtResource("17_odpsm")] +position = Vector2(813, 179) +direction = 1 +text = "Song +Sanctuary" + +[node name="Sign3" parent="OnTheGround" unique_id=670248939 instance=ExtResource("17_odpsm")] +position = Vector2(284, 619) +text = "Linenville" + +[node name="TeleportersAndSpawnPoints" type="Node2D" parent="." unique_id=148566915] + +[node name="FraysEnd" type="Marker2D" parent="TeleportersAndSpawnPoints" unique_id=663480483 groups=["spawn_point"]] +position = Vector2(220, 263) +script = ExtResource("13_4op41") +metadata/_custom_type_script = "uid://0enyu5v4ra34" + +[node name="FraysEndTeleporter" type="Area2D" parent="TeleportersAndSpawnPoints" unique_id=79945931] +collision_layer = 4 +script = ExtResource("18_ac3tn") +next_scene = "uid://cufkthb25mpxy" +spawn_point_path = NodePath("SpawnPointAfterIntro") +enter_transition = 4 +exit_transition = 1 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="TeleportersAndSpawnPoints/FraysEndTeleporter" unique_id=36904270] +position = Vector2(225, 158) +shape = SubResource("RectangleShape2D_vldoy") +debug_color = Color(0.9475735, 4.9093364e-06, 0.58477676, 0.41960785) + +[node name="SongSanctuary" type="Marker2D" parent="TeleportersAndSpawnPoints" unique_id=2090771158 groups=["spawn_point"]] +position = Vector2(960, 254) +script = ExtResource("13_4op41") +metadata/_custom_type_script = "uid://0enyu5v4ra34" + +[node name="SongSanctuaryTeleporter" type="Area2D" parent="TeleportersAndSpawnPoints" unique_id=188040946] +position = Vector2(-76, -29) +collision_layer = 4 +script = ExtResource("18_ac3tn") +next_scene = "uid://c0d4ixtvtafwe" +spawn_point_path = NodePath("SpawnPoints/Overworld") +enter_transition = 4 +exit_transition = 5 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="TeleportersAndSpawnPoints/SongSanctuaryTeleporter" unique_id=768683294] +position = Vector2(1036, 187) +shape = SubResource("RectangleShape2D_4op41") +debug_color = Color(0.9475735, 4.9093364e-06, 0.58477676, 0.41960785) + +[node name="LinenvilleTeleporter" type="Area2D" parent="TeleportersAndSpawnPoints" unique_id=1504924684] +collision_layer = 4 +script = ExtResource("18_ac3tn") +next_scene = "uid://4brs22b6le5p" +spawn_point_path = NodePath("SpawnPoints/Overworld") +enter_transition = 5 +exit_transition = 4 +metadata/_custom_type_script = "uid://hqdquinbimce" + +[node name="CollisionShape2D" type="CollisionShape2D" parent="TeleportersAndSpawnPoints/LinenvilleTeleporter" unique_id=1267028533] +position = Vector2(223.25, 1032.5) +shape = SubResource("RectangleShape2D_8yqyo") + +[node name="Temple" type="Marker2D" parent="TeleportersAndSpawnPoints" unique_id=2073021210 groups=["spawn_point"]] +position = Vector2(221, 869) +script = ExtResource("13_4op41") +metadata/_custom_type_script = "uid://0enyu5v4ra34" + +[node name="BackgroundMusic" parent="." unique_id=1461759951 instance=ExtResource("14_vnleo")] +stream = ExtResource("15_lc4f4") + +[node name="TimeAndWeather" parent="." unique_id=1446545037 instance=ExtResource("14_sgylu")] + +[node name="ScreenOverlay" type="CanvasLayer" parent="." unique_id=2107223659] + +[node name="Unlockers" type="Node" parent="." unique_id=2074902508] + +[node name="MusicQuestUnlocker" type="Node" parent="Unlockers" unique_id=533247812 node_paths=PackedStringArray("targets")] +script = ExtResource("21_odpsm") +targets = [NodePath("../../TileMapLayers/Quest1BarrierVoid")] +required_quests = Array[ExtResource("22_1t1mx")]([ExtResource("23_afk26")]) +metadata/_custom_type_script = "uid://uaaaiviytliw" + +[node name="VoidQuestUnlocker" type="Node" parent="Unlockers" unique_id=2094215607] +script = ExtResource("21_odpsm") +required_quests = Array[ExtResource("22_1t1mx")]([ExtResource("26_kd83f")]) +metadata/_custom_type_script = "uid://uaaaiviytliw" + +[connection signal="initialized" from="Unlockers/VoidQuestUnlocker" to="." method="_on_void_quest_unlocker_toggled"] +[connection signal="toggled" from="Unlockers/VoidQuestUnlocker" to="." method="_on_void_quest_unlocker_toggled"] + +[editable path="OnTheGround/EternalLoom"] diff --git a/scenes/world_map/song_sanctuary.tscn b/scenes/world_map/song_sanctuary.tscn new file mode 100644 index 0000000000..b871534326 --- /dev/null +++ b/scenes/world_map/song_sanctuary.tscn @@ -0,0 +1,1733 @@ +[gd_scene format=4 uid="uid://c0d4ixtvtafwe"] + +[ext_resource type="TileSet" uid="uid://oynx002hv8tl" path="res://tiles/water.tres" id="1_2f75q"] +[ext_resource type="TileSet" uid="uid://bjx3gvah0ycl1" path="res://tiles/foam_2.tres" id="2_66urp"] +[ext_resource type="TileSet" uid="uid://b8qnr0owsbhhn" path="res://tiles/exterior_floors.tres" id="3_qaen6"] +[ext_resource type="TileSet" uid="uid://do0ffypatd77h" path="res://tiles/bridges.tres" id="5_6dbrk"] +[ext_resource type="PackedScene" uid="uid://bp20cjimwi8l0" path="res://scenes/game_elements/props/buildings/house/house_2.tscn" id="6_iy8db"] +[ext_resource type="Texture2D" uid="uid://be3845r07rhkm" path="res://scenes/game_elements/props/buildings/house/components/House_Wool_Red_Stage3.png" id="7_yc75f"] +[ext_resource type="Texture2D" uid="uid://0xceungm1p8a" path="res://scenes/game_elements/props/buildings/house/components/House_Wool_Red_Stage2.png" id="8_ktw6q"] +[ext_resource type="Texture2D" uid="uid://cfkb8gpxylplg" path="res://scenes/game_elements/props/buildings/house/components/House_Patches_Red_Stage3.png" id="10_0oa7x"] +[ext_resource type="Texture2D" uid="uid://cy66l5b3uox84" path="res://scenes/game_elements/props/buildings/house/components/House_Patches_Red_Stage2.png" id="11_cegha"] +[ext_resource type="PackedScene" uid="uid://dgrrudegturnw" path="res://scenes/game_elements/characters/npcs/townie.tscn" id="13_00h6t"] +[ext_resource type="Script" uid="uid://edcifob4jc4s" path="res://scenes/game_logic/talk_behavior.gd" id="13_pagfm"] +[ext_resource type="Resource" uid="uid://dy14woa33pg8m" path="res://scenes/world_map/components/bridget.dialogue" id="14_1xj85"] +[ext_resource type="PackedScene" uid="uid://covsdqqsd6rsy" path="res://scenes/game_elements/props/sign/sign.tscn" id="14_4mhqc"] +[ext_resource type="PackedScene" uid="uid://2rbpl811wlv1" path="res://scenes/game_elements/props/background_music/background_music.tscn" id="15_aq1vr"] +[ext_resource type="PackedScene" uid="uid://dutgnbiy7xalb" path="res://scenes/game_elements/props/interact_area/interact_area.tscn" id="15_yr4nl"] +[ext_resource type="AudioStream" uid="uid://bbamdm6wtjjcn" path="res://assets/first_party/music/Threadbare_Bed.ogg" id="16_b045v"] +[ext_resource type="Script" uid="uid://bdhjixygupit1" path="res://scenes/game_elements/props/area_filler/area_filler.gd" id="17_00h6t"] +[ext_resource type="PackedScene" uid="uid://daqd67aro1o1m" path="res://scenes/game_elements/fx/time_and_weather/time_and_weather.tscn" id="17_dkj4p"] +[ext_resource type="PackedScene" uid="uid://7873qa54birk" path="res://scenes/game_elements/props/tree/tree.tscn" id="18_4mhqc"] +[ext_resource type="PackedScene" uid="uid://iu2q66clupc6" path="res://scenes/game_elements/characters/player/player.tscn" id="18_wv5oa"] +[ext_resource type="SpriteFrames" uid="uid://dtoylirwywk0j" path="res://scenes/game_elements/characters/components/sprite_frames/storyweaver_blue.tres" id="19_csaef"] +[ext_resource type="SpriteFrames" uid="uid://djwymcffy83" path="res://scenes/game_elements/props/tree/components/tree_spriteframes_red.tres" id="19_pvf7f"] +[ext_resource type="Script" uid="uid://hqdquinbimce" path="res://scenes/game_elements/props/teleporter/teleporter.gd" id="20_00h6t"] +[ext_resource type="Script" uid="uid://0enyu5v4ra34" path="res://scenes/game_elements/props/spawn_point/components/spawn_point.gd" id="21_4mhqc"] +[ext_resource type="Script" uid="uid://qv1pvkvd0vem" path="res://scenes/world_map/components/quest_teleporter.gd" id="23_yr4nl"] +[ext_resource type="Resource" uid="uid://doovydomib7rj" path="res://scenes/quests/lore_quests/quest_001/quest.tres" id="24_fgnem"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_fgnem"] +size = Vector2(52, 61) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_4mhqc"] +size = Vector2(849, 131.5) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_pvf7f"] +size = Vector2(849, 131.5) + +[node name="SongSanctuary" type="Node2D" unique_id=1049570333] + +[node name="TileMapLayers" type="Node2D" parent="." unique_id=699615603] + +[node name="Water_Level1" type="TileMapLayer" parent="TileMapLayers" unique_id=1890091167] +modulate = Color(0.592157, 0.27451, 0.247059, 1) +tile_map_data = PackedByteArray("AAD3/wcAAAAAAAAAAAD3/wgAAAAAAAAAAAD3/wkAAAAAAAAAAAD3/woAAAAAAAAAAAD4/wcAAAAAAAAAAAD4/wgAAAAAAAAAAAD4/wkAAAAAAAAAAAD4/woAAAAAAAAAAAD5/wcAAAAAAAAAAAD5/wgAAAAAAAAAAAD5/wkAAAAAAAAAAAD5/woAAAAAAAAAAAD6/wcAAAAAAAAAAAD6/wgAAAAAAAAAAAD6/wkAAAAAAAAAAAD6/woAAAAAAAAAAAD7/wcAAAAAAAAAAAD7/wgAAAAAAAAAAAD7/wkAAAAAAAAAAAD7/woAAAAAAAAAAAD8/wcAAAAAAAAAAAD8/wgAAAAAAAAAAAD8/wkAAAAAAAAAAAD8/woAAAAAAAAAAAD9/wcAAAAAAAAAAAD9/wgAAAAAAAAAAAD9/wkAAAAAAAAAAAD9/woAAAAAAAAAAAD+/wcAAAAAAAAAAAD+/wgAAAAAAAAAAAD+/wkAAAAAAAAAAAD+/woAAAAAAAAAAAD//wcAAAAAAAAAAAD//wgAAAAAAAAAAAD//wkAAAAAAAAAAAD//woAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAoAAAAAAAAAAAABAAcAAAAAAAAAAAABAAgAAAAAAAAAAAABAAkAAAAAAAAAAAABAAoAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA8AAAAAAAAAAAAAABAAAAAAAAAAAAAAABEAAAAAAAAAAAAAABIAAAAAAAAAAAABAAsAAAAAAAAAAAABAAwAAAAAAAAAAAABAA0AAAAAAAAAAAABAA4AAAAAAAAAAAABAA8AAAAAAAAAAAABABAAAAAAAAAAAAABABEAAAAAAAAAAAABABIAAAAAAAAAAAACAAkAAAAAAAAAAAACAAoAAAAAAAAAAAACAAsAAAAAAAAAAAACAAwAAAAAAAAAAAACAA0AAAAAAAAAAAACAA4AAAAAAAAAAAACAA8AAAAAAAAAAAACABAAAAAAAAAAAAACABEAAAAAAAAAAAACABIAAAAAAAAAAAD//xEAAAAAAAAAAAD//xIAAAAAAAAAAAD//xQAAAAAAAAAAAD//xUAAAAAAAAAAAD//xYAAAAAAAAAAAAAABQAAAAAAAAAAAAAABUAAAAAAAAAAAAAABYAAAAAAAAAAAABABQAAAAAAAAAAAABABUAAAAAAAAAAAABABYAAAAAAAAAAAACABQAAAAAAAAAAAACABUAAAAAAAAAAAACABYAAAAAAAAAAAD//xcAAAAAAAAAAAD//xgAAAAAAAAAAAD//xkAAAAAAAAAAAD//xoAAAAAAAAAAAD//xsAAAAAAAAAAAD//xwAAAAAAAAAAAD//x0AAAAAAAAAAAD//x4AAAAAAAAAAAD//x8AAAAAAAAAAAAAABcAAAAAAAAAAAAAABgAAAAAAAAAAAAAABkAAAAAAAAAAAAAABoAAAAAAAAAAAAAABsAAAAAAAAAAAAAABwAAAAAAAAAAAAAAB0AAAAAAAAAAAAAAB4AAAAAAAAAAAAAAB8AAAAAAAAAAAABABcAAAAAAAAAAAABABgAAAAAAAAAAAABABkAAAAAAAAAAAABABoAAAAAAAAAAAABABsAAAAAAAAAAAABABwAAAAAAAAAAAABAB0AAAAAAAAAAAABAB4AAAAAAAAAAAABAB8AAAAAAAAAAAD//yAAAAAAAAAAAAD//yEAAAAAAAAAAAAAACAAAAAAAAAAAAAAACEAAAAAAAAAAAABACAAAAAAAAAAAAABACEAAAAAAAAAAAD//xMAAAAAAAAAAQAAABMAAAAAAAAAAQABABMAAAAAAAAAAQACABMAAAAAAAAAAQA=") +tile_set = ExtResource("1_2f75q") +metadata/_edit_lock_ = true + +[node name="Foam" type="TileMapLayer" parent="TileMapLayers" unique_id=1058889860] +modulate = Color(0.592157, 0.27451, 0.247059, 1) +tile_map_data = PackedByteArray("AAD3/wYAAgAAAAAAAAD4/wYAAgAAAAAAAAD5/wYAAgAAAAAAAAD6/wYAAgAAAAAAAAD7/wYAAgAAAAAAAAD8/wYAAgAAAAAAAAD9/wYAAgAAAAAAAAD+/wYAAgAAAAAAAAD//wYAAgAAAAAAAAAAAAYAAgAAAAAAAAABAAYAAgAAAAAAAAACAAYAAgAAAAAAAAACAAcAAgAAAAAAAAACAAgAAgAAAAAAAAADAAgAAgAAAAAAAAADAAkAAgAAAAAAAAADAAoAAgAAAAAAAAADAAsAAgAAAAAAAAADAAwAAgAAAAAAAAADAA0AAgAAAAAAAAADAA4AAgAAAAAAAAADAA8AAgAAAAAAAAADABAAAgAAAAAAAAADABEAAgAAAAAAAAADABIAAgAAAAAAAAADABMAAgAAAAAAAAADABQAAgAAAAAAAAADABUAAgAAAAAAAAADABYAAgAAAAAAAAADABcAAgAAAAAAAAACABcAAgAAAAAAAAACABgAAgAAAAAAAAACABkAAgAAAAAAAAACABoAAgAAAAAAAAACABsAAgAAAAAAAAACABwAAgAAAAAAAAACAB0AAgAAAAAAAAACAB4AAgAAAAAAAAACACEAAgAAAAAAAAACACAAAgAAAAAAAAACAB8AAgAAAAAAAAD+/yEAAgAAAAAAAAD+/yAAAgAAAAAAAAD+/x8AAgAAAAAAAAD+/x4AAgAAAAAAAAD+/x0AAgAAAAAAAAD+/xwAAgAAAAAAAAD+/xsAAgAAAAAAAAD+/xoAAgAAAAAAAAD+/xkAAgAAAAAAAAD+/xgAAgAAAAAAAAD+/xcAAgAAAAAAAAD+/xYAAgAAAAAAAAD+/xUAAgAAAAAAAAD+/xQAAgAAAAAAAAD+/xMAAgAAAAAAAAD+/xIAAgAAAAAAAAD+/xEAAgAAAAAAAAD+/xAAAgAAAAAAAAD//xAAAgAAAAAAAAD//w8AAgAAAAAAAAD//w4AAgAAAAAAAAD//w0AAgAAAAAAAAD//wwAAgAAAAAAAAD//wsAAgAAAAAAAAD+/wsAAgAAAAAAAAD9/wsAAgAAAAAAAAD8/wsAAgAAAAAAAAD7/wsAAgAAAAAAAAD6/wsAAgAAAAAAAAD5/wsAAgAAAAAAAAD4/wsAAgAAAAAAAAD3/wsAAgAAAAAAAAA=") +tile_set = ExtResource("2_66urp") +metadata/_edit_lock_ = true + +[node name="Grass_Level0" type="TileMapLayer" parent="TileMapLayers" unique_id=1760785350] +modulate = Color(0.427493, 0.427493, 0.427493, 1) +tile_map_data = PackedByteArray("AADx/x8AAQABAAEAAADy/x8AAQABAAEAAADz/x8AAQABAAEAAAD0/x8AAQABAAEAAAD1/x8AAQABAAEAAAD2/x8AAQABAAEAAAD3/x8AAQABAAEAAAD4/x8AAQABAAEAAAD5/x8AAQABAAEAAAD6/x8AAQABAAEAAAD7/x8AAQABAAEAAAD8/x8AAQABAAEAAAD9/x8AAQABAAEAAAD+/x8AAQACAAEAAAD+/x4AAQACAAEAAAD9/x4AAQABAAEAAAD8/x4AAQABAAEAAAD7/x4AAQABAAEAAAD6/x4AAQABAAEAAAD5/x4AAQABAAEAAAD4/x4AAQABAAEAAAD3/x4AAQABAAEAAAD2/x4AAQABAAEAAAD1/x4AAQABAAEAAAD0/x4AAQABAAEAAADz/x4AAQABAAEAAADy/x4AAQABAAEAAADx/x4AAQABAAEAAADv/x4AAQAAAAEAAADv/x8AAQAAAAEAAADw/x8AAQABAAEAAADw/x4AAQABAAEAAADv/yAAAQAAAAEAAADw/yAAAQABAAEAAADx/yAAAQABAAEAAADy/yAAAQABAAEAAADz/yAAAQABAAEAAAD0/yAAAQABAAEAAAD1/yAAAQABAAEAAAD2/yAAAQABAAEAAAD3/yAAAQABAAEAAAD4/yAAAQABAAEAAAD5/yAAAQABAAEAAAD6/yAAAQABAAEAAAD7/yAAAQABAAEAAAD8/yAAAQABAAEAAAD9/yAAAQABAAEAAAD+/yAAAQACAAEAAAD+/yEAAQACAAIAAAD9/yEAAQABAAIAAAD8/yEAAQABAAIAAAD7/yEAAQABAAIAAAD6/yEAAQABAAIAAAD5/yEAAQABAAIAAAD4/yEAAQABAAIAAAD3/yEAAQABAAIAAAD2/yEAAQABAAIAAAD1/yEAAQABAAIAAAD0/yEAAQABAAIAAADz/yEAAQABAAIAAADy/yEAAQABAAIAAADx/yEAAQABAAIAAADw/yEAAQABAAIAAADv/yEAAQAAAAIAAAACAB8AAQAAAAEAAAADAB8AAQABAAEAAAAEAB8AAQABAAEAAAAEAB4AAQABAAEAAAAFAB8AAQABAAEAAAACAB4AAQAAAAEAAAADAB4AAQABAAEAAAALAB8AAQABAAEAAAAMAB8AAQABAAEAAAANAB8AAQABAAEAAAAOAB8AAQABAAEAAAAPAB8AAQABAAEAAAAQAB8AAQABAAEAAAARAB8AAQABAAEAAAASAB8AAQABAAEAAAATAB8AAQABAAEAAAAUAB8AAQABAAEAAAAVAB8AAQABAAEAAAAWAB8AAQABAAEAAAAXAB8AAQABAAEAAAAYAB8AAQABAAEAAAAZAB8AAQABAAEAAAAaAB8AAQABAAEAAAAbAB8AAQABAAEAAAAcAB8AAQABAAEAAAAdAB8AAQABAAEAAAAdAB4AAQABAAEAAAAeAB4AAQABAAEAAAAfAB4AAQABAAEAAAAeAB8AAQABAAEAAAAfAB8AAQABAAEAAAAcAB4AAQABAAEAAAAbAB4AAQABAAEAAAAaAB4AAQABAAEAAAATAB4AAQABAAEAAAASAB4AAQABAAEAAAARAB4AAQABAAEAAAAQAB4AAQABAAEAAAAPAB4AAQABAAEAAAAOAB4AAQABAAEAAAANAB4AAQABAAEAAAAMAB4AAQABAAEAAAALAB4AAQABAAEAAAAUAB4AAQABAAEAAAAVAB4AAQABAAEAAAAWAB4AAQABAAEAAAAXAB4AAQABAAEAAAAYAB4AAQABAAEAAAAZAB4AAQABAAEAAAACACAAAQAAAAEAAAADACAAAQABAAEAAAAEACAAAQABAAEAAAAFACAAAQABAAEAAAAGACAAAQABAAEAAAAHACAAAQABAAEAAAAKACAAAQABAAEAAAALACAAAQABAAEAAAAMACAAAQABAAEAAAANACAAAQABAAEAAAAOACAAAQABAAEAAAAPACAAAQABAAEAAAAQACAAAQABAAEAAAARACAAAQABAAEAAAASACAAAQABAAEAAAATACAAAQABAAEAAAAUACAAAQABAAEAAAAVACAAAQABAAEAAAAWACAAAQABAAEAAAAXACAAAQABAAEAAAAYACAAAQABAAEAAAAZACAAAQABAAEAAAAaACAAAQABAAEAAAAbACAAAQABAAEAAAAcACAAAQABAAEAAAAdACAAAQABAAEAAAAeACAAAQABAAEAAAAfACAAAQABAAEAAAACACEAAQAAAAIAAAADACEAAQABAAIAAAAEACEAAQABAAIAAAAFACEAAQABAAIAAAAGACEAAQABAAIAAAAHACEAAQABAAIAAAAIACEAAQABAAIAAAAJACEAAQABAAIAAAAKACEAAQABAAIAAAALACEAAQABAAIAAAAMACEAAQABAAIAAAANACEAAQABAAIAAAAOACEAAQABAAIAAAAPACEAAQABAAIAAAAQACEAAQABAAIAAAARACEAAQABAAIAAAASACEAAQABAAIAAAATACEAAQABAAIAAAAUACEAAQABAAIAAAAVACEAAQABAAIAAAAWACEAAQABAAIAAAAXACEAAQABAAIAAAAYACEAAQABAAIAAAAZACEAAQABAAIAAAAaACEAAQABAAIAAAAbACEAAQABAAIAAAAcACEAAQABAAIAAAAdACEAAQABAAIAAAAeACEAAQABAAIAAAAfACEAAQABAAIAAAAgACEAAQABAAIAAAAhACEAAQACAAIAAAAhACAAAQACAAEAAAAgACAAAQABAAEAAAAgAB8AAQABAAEAAAAhAB8AAQACAAEAAAAhAB4AAQACAAEAAAAgAB4AAQABAAEAAADv/x0AAQAAAAEAAADv/xwAAQAAAAEAAADv/xsAAQAAAAEAAADv/xoAAQAAAAEAAADv/xkAAQAAAAEAAADv/xUAAQAAAAEAAADv/xQAAQAAAAEAAADw/xQAAQABAAEAAADw/xkAAQABAAEAAADw/xoAAQABAAEAAADw/xsAAQABAAEAAADw/xwAAQABAAEAAADw/x0AAQABAAEAAADw//v/AQABAAEAAADw//z/AQABAAEAAADw//3/AQABAAEAAADw//7/AQABAAEAAADw////AQABAAEAAADw/wAAAQABAAEAAADw/wEAAQABAAEAAADw/wIAAQABAAEAAADw/wMAAQABAAEAAADw/wQAAQABAAEAAADw/wUAAQABAAEAAADw/wYAAQABAAEAAADw/wcAAQABAAEAAADw/wgAAQABAAEAAADw/wkAAQABAAEAAADw/woAAQABAAEAAADw/wsAAQABAAEAAADw/wwAAQABAAEAAADw/w0AAQABAAEAAADw/w4AAQABAAEAAADw/w8AAQABAAEAAADw/xAAAQABAAEAAADw/xEAAQABAAEAAADw/xIAAQABAAEAAADw/xMAAQABAAEAAADv/xMAAQAAAAEAAADv/xIAAQAAAAEAAADv/xEAAQAAAAEAAADv/xAAAQAAAAEAAADv/w8AAQAAAAEAAADv/w4AAQAAAAEAAADv/w0AAQAAAAEAAADv/wwAAQAAAAEAAADv/wsAAQAAAAEAAADv/woAAQAAAAEAAADv/wkAAQAAAAEAAADv/wgAAQAAAAEAAADv/wcAAQAAAAEAAADv/wYAAQAAAAEAAADv/wUAAQAAAAEAAADv/wQAAQAAAAEAAADv/wMAAQAAAAEAAADv/wIAAQAAAAEAAADv/wEAAQAAAAEAAADv/wAAAQAAAAEAAADv////AQAAAAEAAADv//7/AQAAAAEAAADv//3/AQAAAAEAAADv//z/AQAAAAEAAADv//v/AQAAAAEAAADv//r/AQAAAAAAAADw//r/AQABAAAAAADx//r/AQABAAAAAADy//r/AQABAAAAAADz//r/AQABAAAAAAD0//r/AQABAAAAAAD1//r/AQABAAAAAAD2//r/AQABAAAAAAD3//r/AQABAAAAAAD3//v/AQABAAEAAAD2//v/AQABAAEAAAD1//v/AQABAAEAAAD0//v/AQABAAEAAADz//v/AQABAAEAAADy//v/AQABAAEAAADx//v/AQABAAEAAAD4//r/AQABAAAAAAD5//r/AQABAAAAAAD6//r/AQABAAAAAAD7//r/AQABAAAAAAD8//r/AQABAAAAAAD9//r/AQABAAAAAAD4//v/AQABAAEAAAD5//v/AQABAAEAAAD6//v/AQABAAEAAAD7//v/AQABAAEAAAD8//v/AQABAAEAAAD9//v/AQABAAEAAAD+//v/AQABAAEAAAD///v/AQABAAEAAAAAAPv/AQABAAEAAAABAPv/AQABAAEAAAACAPv/AQABAAEAAAADAPv/AQABAAEAAAAEAPv/AQABAAEAAAAFAPv/AQABAAEAAAAGAPv/AQABAAEAAAAHAPv/AQABAAEAAAAEAPr/AQABAAAAAAADAPr/AQABAAAAAAACAPr/AQABAAAAAAABAPr/AQABAAAAAAAAAPr/AQABAAAAAAD///r/AQABAAAAAAD+//r/AQABAAAAAAAIAPv/AQABAAEAAAAJAPv/AQABAAEAAAAJAPr/AQABAAAAAAAKAPr/AQABAAAAAAALAPr/AQABAAAAAAAMAPr/AQABAAAAAAAIAPr/AQABAAAAAAAHAPr/AQABAAAAAAAGAPr/AQABAAAAAAAFAPr/AQABAAAAAAANAPr/AQABAAAAAAAOAPr/AQABAAAAAAAPAPr/AQABAAAAAAAQAPr/AQABAAAAAAARAPr/AQABAAAAAAASAPr/AQABAAAAAAATAPr/AQABAAAAAAAUAPr/AQABAAAAAAAVAPr/AQABAAAAAAAWAPr/AQABAAAAAAAXAPr/AQABAAAAAAAYAPr/AQABAAAAAAAZAPr/AQABAAAAAAAaAPr/AQABAAAAAAAbAPr/AQABAAAAAAAcAPr/AQABAAAAAAAdAPr/AQABAAAAAAAeAPr/AQABAAAAAAAfAPr/AQABAAAAAAAgAPr/AQABAAAAAAAhAPr/AQACAAAAAAAhAPv/AQACAAEAAAAfAPv/AQABAAEAAAAgAPv/AQABAAEAAAAeAPv/AQABAAEAAAAdAPv/AQABAAEAAAAcAPv/AQABAAEAAAAbAPv/AQABAAEAAAAaAPv/AQABAAEAAAAZAPv/AQABAAEAAAAYAPv/AQABAAEAAAAXAPv/AQABAAEAAAAWAPv/AQABAAEAAAAWAPz/AQABAAEAAAAVAPz/AQABAAEAAAAUAPz/AQABAAEAAAATAPz/AQABAAEAAAASAPz/AQABAAEAAAARAPz/AQABAAEAAAAQAPz/AQABAAEAAAAPAPz/AQABAAEAAAAOAPz/AQABAAEAAAANAPz/AQABAAEAAAAMAPz/AQABAAEAAAALAPz/AQABAAEAAAAKAPz/AQABAAEAAAAJAPz/AQABAAEAAAAIAPz/AQABAAEAAAAKAPv/AQABAAEAAAALAPv/AQABAAEAAAANAPv/AQABAAEAAAAMAPv/AQABAAEAAAAOAPv/AQABAAEAAAAPAPv/AQABAAEAAAAQAPv/AQABAAEAAAARAPv/AQABAAEAAAASAPv/AQABAAEAAAATAPv/AQABAAEAAAAUAPv/AQABAAEAAAAVAPv/AQABAAEAAAAgAPz/AQABAAEAAAAhAPz/AQACAAEAAAAhAP3/AQACAAEAAAAhAP7/AQACAAEAAAAhAP//AQACAAEAAAAhAAAAAQACAAEAAAAgAAAAAQABAAEAAAAgAP//AQABAAEAAAAgAP7/AQABAAEAAAAgAP3/AQABAAEAAAAgAAEAAQABAAEAAAAgAAIAAQABAAEAAAAgAAMAAQABAAEAAAAgAAQAAQABAAEAAAAgAAUAAQABAAEAAAAhAAEAAQACAAEAAAAhAAIAAQACAAEAAAAhAAMAAQACAAEAAAAhAAQAAQACAAEAAAAgAAYAAQABAAEAAAAgAAcAAQABAAEAAAAhAAUAAQACAAEAAAAhAAYAAQACAAEAAAAhAAcAAQACAAEAAAAhAAgAAQACAAEAAAAhAAkAAQACAAEAAAAgAAgAAQABAAEAAAAgAAkAAQABAAEAAAAgAAoAAQABAAEAAAAgAAsAAQABAAEAAAAhAAsAAQACAAEAAAAhAAoAAQACAAEAAAAgAAwAAQABAAEAAAAgAA0AAQABAAEAAAAgAA4AAQABAAEAAAAhAAwAAQABAAEAAAAhAA0AAQABAAEAAAAhAA4AAQABAAEAAAAgAA8AAQABAAEAAAAgABAAAQABAAEAAAAgABEAAQABAAEAAAAhAA8AAQABAAEAAAAhABAAAQABAAEAAAAhABEAAQABAAEAAAAgABIAAQABAAEAAAAgABMAAQABAAEAAAAhABIAAQABAAEAAAAhABMAAQABAAEAAAAhABgAAQABAAEAAAAgABgAAQABAAEAAAAgABkAAQABAAEAAAAhABkAAQABAAEAAAAhABoAAQABAAEAAAAgABoAAQABAAEAAAAgABsAAQABAAEAAAAgABwAAQABAAEAAAAgAB0AAQABAAEAAAAhABsAAQABAAEAAAAhABwAAQACAAEAAAAhAB0AAQACAAEAAADx//z/AQABAAEAAADy//z/AQABAAEAAAD0//z/AQABAAEAAADz//z/AQABAAEAAAD2//z/AQABAAEAAAD1//z/AQABAAEAAAD4//z/AQABAAEAAAD3//z/AQABAAEAAAD6//z/AQABAAEAAAD5//z/AQABAAEAAAD8//z/AQABAAEAAAD7//z/AQABAAEAAAD9//z/AQABAAEAAAD+//z/AQABAAEAAAD9//3/AQABAAEAAAD8//3/AQABAAEAAAD7//7/AQABAAEAAAD5//7/AQABAAEAAAD6//7/AQABAAEAAAD3////AQABAAEAAAD4//7/AQABAAEAAAD2////AQABAAEAAAD1/wAAAQABAAEAAAD1/wEAAQABAAEAAAD3/wEAAQABAAEAAAD2/wEAAQABAAEAAAD5/wEAAQABAAEAAAD4/wEAAQABAAEAAAD8/wIAAQABAAEAAAD7/wIAAQABAAEAAAD6/wEAAQABAAEAAAAAAAIAAQABAAEAAAD//wIAAQABAAEAAAD+/wIAAQABAAEAAAD9/wIAAQABAAEAAAACAAIAAQABAAEAAAABAAIAAQABAAEAAAAEAAIAAQABAAEAAAADAAIAAQABAAEAAAD4/wIAAQABAAEAAAD5/wIAAQABAAEAAAD6/wIAAQABAAEAAAD1/wMAAQABAAEAAAD2/wMAAQABAAEAAAD3/wIAAQABAAEAAAD0/wMAAQABAAEAAADz/wMAAQABAAEAAAD1/wQAAQABAAEAAAD4/wQAAQABAAEAAAD3/wQAAQABAAEAAAD2/wQAAQABAAEAAAD8/wUAAQABAAEAAAD7/wUAAQABAAEAAAD6/wQAAQABAAEAAAD5/wQAAQABAAEAAAABAAUAAQABAAEAAAAAAAUAAQABAAEAAAD//wUAAQABAAEAAAD+/wUAAQABAAEAAAD9/wUAAQABAAEAAAAFAAUAAQABAAEAAAAEAAUAAQABAAEAAAADAAUAAQABAAEAAAACAAUAAQABAAEAAAAIAAUAAQABAAEAAAAHAAUAAQABAAEAAAAGAAUAAQABAAEAAAAJAAUAAQABAAEAAAAEAAYAAQABAAEAAAAFAAYAAQABAAEAAAD+/wYAAQABAAIAAAD//wYAAQABAAIAAAAAAAYAAQABAAIAAAABAAYAAQABAAIAAAACAAYAAQABAAEAAAADAAYAAQABAAEAAAD5/wYAAQABAAIAAAD6/wYAAQABAAIAAAD7/wYAAQABAAIAAAD8/wYAAQABAAIAAAD9/wYAAQABAAIAAAD1/wcAAQABAAEAAAD2/wcAAQACAAEAAAD3/wYAAQABAAIAAAD4/wYAAQABAAIAAADz/wcAAQABAAEAAAD0/wcAAQABAAEAAADz/wgAAQABAAEAAAD0/wkAAQABAAEAAAD2/wkAAQACAAEAAAD1/wkAAQABAAEAAAAEAAkAAQABAAEAAAADAAkAAQAAAAEAAAAIAAkAAQABAAEAAAAHAAkAAQABAAEAAAAGAAkAAQABAAEAAAAFAAkAAQABAAEAAAAJAAkAAQABAAEAAAD4/wsAAQABAAAAAAD5/wsAAQABAAAAAAD8/wwAAQABAAEAAAD7/wwAAQABAAEAAAD6/wsAAQABAAAAAAD//wwAAQACAAEAAAD+/wwAAQABAAEAAAD9/wwAAQABAAEAAAAEAAwAAQABAAEAAAADAAwAAQAAAAEAAAAHAA0AAQABAAEAAAAGAA0AAQABAAEAAAAFAAwAAQABAAEAAAAJAA0AAQABAAEAAAAIAA0AAQABAAEAAAAKAA0AAQABAAEAAAAEAA0AAQABAAEAAAAFAA0AAQABAAEAAAADAA0AAQAAAAEAAAD+/w4AAQABAAEAAAD//w4AAQACAAEAAAD8/w4AAQABAAEAAAD9/w4AAQABAAEAAAD6/w8AAQABAAEAAAD7/w4AAQABAAEAAAD6/xAAAQABAAEAAAD8/xAAAQABAAEAAAD7/xAAAQABAAEAAAD+/xEAAQACAAEAAAD9/xAAAQABAAEAAAAHABIAAQABAAEAAAAGABIAAQABAAEAAAAFABIAAQABAAEAAAAEABEAAQABAAEAAAADABEAAQAAAAEAAAALABIAAQABAAEAAAAKABIAAQABAAEAAAAJABIAAQABAAEAAAAIABIAAQABAAEAAAAPABIAAQABAAEAAAAOABIAAQABAAEAAAANABIAAQABAAEAAAAMABIAAQABAAEAAAARABIAAQABAAEAAAAQABIAAQABAAEAAAAQABMAAQABAAEAAAANABMAAQABAAEAAAAOABMAAQABAAEAAAAPABMAAQABAAEAAAAIABMAAQABAAEAAAAJABMAAQABAAEAAAAKABMAAQABAAEAAAALABMAAQABAAEAAAAMABMAAQABAAEAAAADABQAAQAAAAEAAAAEABQAAQABAAEAAAAFABQAAQABAAEAAAAGABMAAQABAAEAAAAHABMAAQABAAEAAAACABoAAQAAAAEAAAADABoAAQABAAEAAAAEABoAAQABAAEAAAD+/xoAAQACAAEAAAD8/xoAAQABAAEAAAD9/xoAAQABAAEAAAD7/xoAAQABAAEAAAD7/xsAAQABAAEAAAD8/xsAAQABAAEAAAD9/xsAAQABAAEAAAD+/xsAAQACAAEAAAAEAB0AAQABAAEAAAADABwAAQABAAEAAAACABwAAQAAAAEAAAAMAB0AAQABAAEAAAAPAB0AAQABAAEAAAAOAB0AAQABAAEAAAANAB0AAQABAAEAAAAQAB0AAQABAAEAAAACAB0AAQAAAAEAAAADAB0AAQABAAEAAAD8/x0AAQABAAEAAAD9/x0AAQABAAEAAAD+/x0AAQACAAEAAAD6/x0AAQABAAEAAAD7/x0AAQABAAEAAAAKABwAAQABAAEAAAALABwAAQABAAEAAAAEABwAAQABAAEAAAAFABwAAQABAAEAAAD8/xwAAQABAAEAAAD9/xwAAQABAAEAAAD+/xwAAQACAAEAAAD6/xwAAQABAAEAAAD7/xwAAQABAAEAAAD5/x0AAQABAAEAAAD4/x0AAQABAAEAAAD3/x0AAQABAAEAAAD2/x0AAQABAAEAAAD0/x0AAQABAAEAAAD1/x0AAQABAAEAAADy/x0AAQABAAEAAADz/x0AAQABAAEAAADx/x0AAQABAAEAAAD2/xwAAQABAAEAAAD0/xwAAQABAAEAAAD1/xwAAQABAAEAAADz/xwAAQABAAEAAAD3/xwAAQABAAEAAAD5/xwAAQABAAEAAAD4/xwAAQABAAEAAAD6/xsAAQABAAEAAAD4/xsAAQABAAEAAAD5/xsAAQABAAEAAAD3/xsAAQABAAEAAADy/xwAAQABAAEAAAD1/xsAAQABAAEAAAD2/xsAAQABAAEAAADz/xsAAQABAAEAAAD0/xsAAQABAAEAAADx/xsAAQABAAEAAADy/xsAAQABAAEAAADx/xwAAQABAAEAAAD4/xoAAQABAAEAAAD3/xoAAQABAAEAAAD2/xoAAQABAAEAAAD1/xoAAQABAAEAAAD0/xoAAQABAAEAAADz/xoAAQABAAEAAAD6/xoAAQABAAEAAAD5/xoAAQABAAEAAADy/xoAAQABAAEAAADx/xoAAQABAAEAAAD6/xkAAQABAAEAAAD4/xkAAQABAAEAAAD5/xkAAQABAAEAAAD3/xkAAQABAAEAAAD2/xkAAQABAAEAAAD0/xkAAQABAAEAAAD1/xkAAQABAAEAAADz/xkAAQABAAEAAAD6/xgAAQABAAEAAAD5/xgAAQABAAEAAAD3/xgAAQABAAEAAAD4/xgAAQABAAEAAAD2/xgAAQABAAEAAAD1/xgAAQABAAEAAADz/xgAAQABAAEAAADy/xkAAQABAAEAAADy/xgAAQABAAEAAADx/xkAAQABAAEAAADx/xQAAQABAAEAAADy/xEAAQABAAEAAADx/xAAAQABAAEAAADx/w8AAQABAAEAAADx/xEAAQABAAEAAADz/xEAAQABAAEAAADz/xAAAQABAAEAAADz/w8AAQABAAEAAADz/w0AAQABAAEAAADz/w4AAQABAAEAAADz/wsAAQABAAEAAADz/wwAAQABAAEAAADy/woAAQABAAEAAADx/wkAAQABAAEAAADx/woAAQABAAEAAADx/wwAAQABAAEAAADx/wsAAQABAAEAAADy/w4AAQABAAEAAADx/w0AAQABAAEAAADy/xAAAQABAAEAAADy/w8AAQABAAEAAADy/w0AAQABAAEAAADy/wsAAQABAAEAAADy/wwAAQABAAEAAADy/wgAAQABAAEAAADy/wkAAQABAAEAAADx/wcAAQABAAEAAADx/wgAAQABAAEAAADx/w4AAQABAAEAAADx/wYAAQABAAEAAADz/woAAQABAAEAAAD0/wgAAQABAAEAAADz/wkAAQABAAEAAAD0/wUAAQABAAEAAAD0/wYAAQABAAEAAAD0/wQAAQABAAEAAADz/wQAAQABAAEAAADz/wUAAQABAAEAAAD0/woAAQABAAEAAAD0/wsAAQABAAEAAAD0/wIAAQABAAEAAADz/wEAAQABAAEAAADz/wIAAQABAAEAAADz/wYAAQABAAEAAADy/wEAAQABAAEAAADy/wAAAQABAAEAAADx////AQABAAEAAADx/wAAAQABAAEAAADy/wIAAQABAAEAAADx/wEAAQABAAEAAADy/wQAAQABAAEAAADy/wMAAQABAAEAAADy/wUAAQABAAEAAADy/wYAAQABAAEAAADy/wcAAQABAAEAAADx/wMAAQABAAEAAADx/wIAAQABAAEAAADx/wQAAQABAAEAAADx/wUAAQABAAEAAADx//7/AQABAAEAAADx//3/AQABAAEAAADy//3/AQABAAEAAADz//3/AQABAAEAAAD0//3/AQABAAEAAAD2//3/AQABAAEAAAD3//3/AQABAAEAAAD4//3/AQABAAEAAAD5//3/AQABAAEAAAD6//3/AQABAAEAAAD7//3/AQABAAEAAAD1//3/AQABAAEAAADy//7/AQABAAEAAADz//7/AQABAAEAAAD0//7/AQABAAEAAADy////AQABAAEAAADz/wAAAQABAAEAAAD0/wEAAQABAAEAAAD2/wAAAQABAAEAAAD2//7/AQABAAEAAAD3/wAAAQABAAEAAAD3//7/AQABAAEAAAD1//7/AQABAAEAAAD0////AQABAAEAAAD0/wAAAQABAAEAAADz////AQABAAEAAAD1////AQABAAEAAAD6////AQABAAEAAAD5////AQABAAEAAAD4////AQABAAEAAAD+//7/AQABAAEAAAD9//7/AQABAAEAAAD8////AQABAAEAAAD7////AQABAAEAAAACAP7/AQABAAEAAAABAP7/AQABAAEAAAAAAP7/AQABAAEAAAD///7/AQABAAEAAAAEAP3/AQABAAEAAAADAP7/AQABAAEAAAAFAP3/AQABAAEAAAAFAPz/AQABAAEAAAAEAPz/AQABAAEAAAADAPz/AQABAAEAAAACAPz/AQABAAEAAAAAAPz/AQABAAEAAAABAPz/AQABAAEAAAD///z/AQABAAEAAAD+//3/AQABAAEAAAD///3/AQABAAEAAAABAP3/AQABAAEAAAAAAP3/AQABAAEAAAADAP3/AQABAAEAAAACAP3/AQABAAEAAAAGAP3/AQABAAEAAAAGAPz/AQABAAEAAAAIAP3/AQABAAEAAAAHAP3/AQABAAEAAAAJAP3/AQABAAEAAAD8//7/AQABAAEAAAD9////AQABAAEAAAAAAP//AQABAAEAAAD/////AQABAAEAAAD+////AQABAAEAAAADAP//AQABAAEAAAACAP//AQABAAEAAAABAP//AQABAAEAAAAEAP//AQABAAEAAAAFAP//AQABAAEAAAAFAP7/AQABAAEAAAAEAP7/AQABAAEAAAD8/wAAAQABAAEAAAD6/wAAAQABAAEAAAD7/wAAAQABAAEAAAD4/wAAAQABAAEAAAD5/wAAAQABAAEAAAD8/wEAAQABAAEAAAD7/wEAAQABAAEAAAD+/wEAAQABAAEAAAD9/wEAAQABAAEAAAABAAEAAQABAAEAAAAAAAEAAQABAAEAAAD//wEAAQABAAEAAAACAAEAAQABAAEAAAADAAEAAQABAAEAAAD3/wMAAQABAAEAAAD6/wMAAQABAAEAAAD5/wMAAQABAAEAAAD4/wMAAQABAAEAAAD9/wMAAQABAAEAAAD8/wMAAQABAAEAAAD7/wMAAQABAAEAAAD//wMAAQABAAEAAAD+/wMAAQABAAEAAAACAAMAAQABAAEAAAABAAMAAQABAAEAAAAAAAMAAQABAAEAAAABAAAAAQABAAEAAAACAAAAAQABAAEAAAD2/wIAAQABAAEAAAD1/wIAAQABAAEAAAD3/wUAAQABAAEAAAD2/wUAAQABAAEAAAD1/wUAAQABAAEAAAD6/wUAAQABAAEAAAD5/wUAAQABAAEAAAD4/wUAAQABAAEAAAD8/wQAAQABAAEAAAD9/wQAAQABAAEAAAD+/wQAAQABAAEAAAD7/wQAAQABAAEAAAD1/wYAAQABAAEAAAD2/wYAAQABAAEAAAD2/wgAAQACAAEAAAD1/wgAAQABAAEAAAACAAgAAQAAAAIAAAACAAcAAQAAAAEAAAADAAgAAQABAAEAAAAGAAgAAQABAAEAAAAFAAgAAQABAAEAAAAEAAgAAQABAAEAAAAIAAgAAQABAAEAAAAHAAgAAQABAAEAAAAIAAcAAQABAAEAAAAHAAcAAQABAAEAAAAFAAcAAQABAAEAAAAGAAcAAQABAAEAAAADAAcAAQABAAEAAAAEAAcAAQABAAEAAAAJAAgAAQABAAEAAAANAAgAAQABAAEAAAAMAAgAAQABAAEAAAALAAgAAQABAAEAAAAKAAgAAQABAAEAAAAQAAcAAQABAAEAAAAPAAcAAQABAAEAAAAOAAgAAQABAAEAAAARAAcAAQABAAEAAAANAAcAAQABAAEAAAAOAAcAAQABAAEAAAAKAAcAAQABAAEAAAALAAcAAQABAAEAAAAMAAcAAQABAAEAAAAGAAYAAQABAAEAAAAHAAYAAQABAAEAAAAJAAcAAQABAAEAAAAQAAgAAQABAAEAAAAPAAgAAQABAAEAAAAVAAgAAQABAAEAAAAUAAgAAQABAAEAAAATAAgAAQABAAEAAAASAAgAAQABAAEAAAARAAgAAQABAAEAAAAWAAgAAQABAAEAAAAWAAcAAQABAAEAAAAVAAcAAQABAAEAAAATAAcAAQABAAEAAAAUAAcAAQABAAEAAAASAAcAAQABAAEAAAAKAAYAAQABAAEAAAALAAYAAQABAAEAAAAIAAYAAQABAAEAAAAJAAYAAQABAAEAAAAXAAcAAQABAAEAAAASAAYAAQABAAEAAAAPAAYAAQABAAEAAAAQAAYAAQABAAEAAAARAAYAAQABAAEAAAANAAYAAQABAAEAAAAOAAYAAQABAAEAAAAMAAYAAQABAAEAAAAZAAcAAQABAAEAAAAYAAcAAQABAAEAAAAbAAYAAQABAAEAAAAaAAcAAQABAAEAAAAaAAYAAQABAAEAAAAZAAYAAQABAAEAAAAXAAYAAQABAAEAAAAYAAYAAQABAAEAAAAWAAYAAQABAAEAAAAVAAYAAQABAAEAAAAdAAYAAQABAAEAAAAcAAYAAQABAAEAAAAeAAYAAQABAAEAAAAfAAYAAQABAAEAAAAfAAUAAQABAAEAAAAeAAUAAQABAAEAAAAdAAUAAQABAAEAAAAbAAUAAQABAAEAAAAcAAUAAQABAAEAAAAZAAUAAQABAAEAAAAaAAUAAQABAAEAAAAYAAUAAQABAAEAAAATAAYAAQABAAEAAAAUAAYAAQABAAEAAAANAAUAAQABAAEAAAAOAAUAAQABAAEAAAAKAAUAAQABAAEAAAALAAUAAQABAAEAAAAMAAUAAQABAAEAAAAPAAUAAQABAAEAAAAQAAUAAQABAAEAAAANAAQAAQABAAEAAAAOAAQAAQABAAEAAAAKAAQAAQABAAEAAAALAAQAAQABAAEAAAAMAAQAAQABAAEAAAAGAAQAAQABAAEAAAAHAAQAAQABAAEAAAAIAAQAAQABAAEAAAAJAAQAAQABAAEAAAACAAQAAQABAAEAAAADAAQAAQABAAEAAAAEAAQAAQABAAEAAAAFAAQAAQABAAEAAAD//wQAAQABAAEAAAAAAAQAAQABAAEAAAABAAQAAQABAAEAAAAKAAMAAQABAAEAAAAJAAMAAQABAAEAAAAMAAMAAQABAAEAAAALAAMAAQABAAEAAAALAAIAAQABAAEAAAAJAAIAAQABAAEAAAAKAAIAAQABAAEAAAAHAAIAAQABAAEAAAAIAAIAAQABAAEAAAAFAAIAAQABAAEAAAAGAAIAAQABAAEAAAAGAAEAAQABAAEAAAAFAAEAAQABAAEAAAAHAAEAAQABAAEAAAAIAAEAAQABAAEAAAAEAAEAAQABAAEAAAAJAAAAAQABAAEAAAAKAAAAAQABAAEAAAAGAAAAAQABAAEAAAAHAAAAAQABAAEAAAAIAAAAAQABAAEAAAAEAAAAAQABAAEAAAAFAAAAAQABAAEAAAADAAAAAQABAAEAAAD+/wAAAQABAAEAAAAAAAAAAQABAAEAAAD//wAAAQABAAEAAAALAAAAAQABAAEAAAD9/wAAAQABAAEAAAAJAP//AQABAAEAAAAIAP//AQABAAEAAAAGAP//AQABAAEAAAAHAP//AQABAAEAAAAMAP//AQABAAEAAAALAP//AQABAAEAAAAOAP//AQABAAEAAAANAP//AQABAAEAAAAOAP7/AQABAAEAAAANAP7/AQABAAEAAAAMAP7/AQABAAEAAAALAP7/AQABAAEAAAAKAP7/AQABAAEAAAAIAP7/AQABAAEAAAAJAP7/AQABAAEAAAAGAP7/AQABAAEAAAAHAP7/AQABAAEAAAALAP3/AQABAAEAAAAKAP3/AQABAAEAAAAMAP3/AQABAAEAAAANAP3/AQABAAEAAAAHAPz/AQABAAEAAAAXAPz/AQABAAEAAAAZAPz/AQABAAEAAAAYAPz/AQABAAEAAAAcAPz/AQABAAEAAAAdAPz/AQABAAEAAAAeAPz/AQABAAEAAAAfAPz/AQABAAEAAAAbAPz/AQABAAEAAAAZAP3/AQABAAEAAAAaAPz/AQABAAEAAAAYAP3/AQABAAEAAAAaAP3/AQABAAEAAAAcAP3/AQABAAEAAAAbAP3/AQABAAEAAAAXAP3/AQABAAEAAAAUAP3/AQABAAEAAAAVAP3/AQABAAEAAAAWAP3/AQABAAEAAAAQAP3/AQABAAEAAAARAP3/AQABAAEAAAASAP3/AQABAAEAAAATAP3/AQABAAEAAAAPAP3/AQABAAEAAAAQAP7/AQABAAEAAAAPAP7/AQABAAEAAAAUAP7/AQABAAEAAAATAP7/AQABAAEAAAASAP7/AQABAAEAAAARAP7/AQABAAEAAAAXAP7/AQABAAEAAAAWAP7/AQABAAEAAAAVAP7/AQABAAEAAAAYAP7/AQABAAEAAAAOAP3/AQABAAEAAAAJAAEAAQABAAEAAAANAAAAAQABAAEAAAAMAAAAAQABAAEAAAAPAP//AQABAAEAAAAOAAAAAQABAAEAAAAKAP//AQABAAEAAAAMAAIAAQABAAEAAAAPAAIAAQABAAEAAAAOAAIAAQABAAEAAAANAAIAAQABAAEAAAAGAAMAAQABAAEAAAAFAAMAAQABAAEAAAAEAAMAAQABAAEAAAADAAMAAQABAAEAAAAIAAMAAQABAAEAAAAHAAMAAQABAAEAAAANAAMAAQABAAEAAAAQAAIAAQABAAEAAAAOAAMAAQABAAEAAAARAAIAAQABAAEAAAARAAMAAQABAAEAAAAQAAMAAQABAAEAAAAPAAQAAQABAAEAAAATAAMAAQABAAEAAAASAAMAAQABAAEAAAAUAAIAAQABAAEAAAATAAIAAQABAAEAAAASAAIAAQABAAEAAAAQAAEAAQABAAEAAAANAAEAAQABAAEAAAAOAAEAAQABAAEAAAAPAAEAAQABAAEAAAAKAAEAAQABAAEAAAALAAEAAQABAAEAAAAMAAEAAQABAAEAAAAVAAIAAQABAAEAAAAYAAEAAQABAAEAAAAXAAEAAQABAAEAAAAWAAIAAQABAAEAAAAZAAEAAQABAAEAAAAXAAAAAQABAAEAAAAUAAAAAQABAAEAAAAVAAAAAQABAAEAAAAWAAAAAQABAAEAAAASAAAAAQABAAEAAAATAAAAAQABAAEAAAAPAAAAAQABAAEAAAAQAAAAAQABAAEAAAARAAAAAQABAAEAAAAXAP//AQABAAEAAAAWAP//AQABAAEAAAAZAP//AQABAAEAAAAYAP//AQABAAEAAAAaAP7/AQABAAEAAAAbAP7/AQABAAEAAAAZAP7/AQABAAEAAAAcAP7/AQABAAEAAAASAP//AQABAAEAAAARAP//AQABAAEAAAATAP//AQABAAEAAAAVAP//AQABAAEAAAAUAP//AQABAAEAAAAaAP//AQABAAEAAAAcAP//AQABAAEAAAAbAP//AQABAAEAAAAdAP//AQABAAEAAAAdAP7/AQABAAEAAAAdAP3/AQABAAEAAAAeAP3/AQABAAEAAAAfAP3/AQABAAEAAAAfAP7/AQABAAEAAAAeAP//AQABAAEAAAAeAP7/AQABAAEAAAAfAP//AQABAAEAAAAfAAAAAQABAAEAAAAfAAEAAQABAAEAAAAfAAIAAQABAAEAAAAeAAAAAQABAAEAAAAeAAEAAQABAAEAAAAeAAIAAQABAAEAAAAfAAQAAQABAAEAAAAeAAMAAQABAAEAAAAfAAMAAQABAAEAAAAdAAQAAQABAAEAAAAeAAQAAQABAAEAAAAdAAMAAQABAAEAAAAcAAQAAQABAAEAAAAbAAQAAQABAAEAAAAbAAMAAQABAAEAAAAbAAIAAQABAAEAAAAbAAEAAQABAAEAAAAbAAAAAQABAAEAAAAaAAMAAQABAAEAAAAaAAQAAQABAAEAAAAcAAMAAQABAAEAAAAdAAEAAQABAAEAAAAcAAIAAQABAAEAAAAdAAIAAQABAAEAAAAdAAAAAQABAAEAAAAcAAEAAQABAAEAAAAcAAAAAQABAAEAAAAaAAAAAQABAAEAAAAYAAIAAQABAAEAAAAXAAMAAQABAAEAAAAXAAQAAQABAAEAAAAXAAUAAQABAAEAAAAYAAQAAQABAAEAAAAZAAMAAQABAAEAAAAaAAIAAQABAAEAAAAYAAAAAQABAAEAAAAXAAIAAQABAAEAAAAWAAQAAQABAAEAAAAVAAUAAQABAAEAAAAUAAUAAQABAAEAAAAWAAUAAQABAAEAAAAaAAEAAQABAAEAAAAYAAMAAQABAAEAAAAZAAIAAQABAAEAAAAZAAQAAQABAAEAAAAZAAAAAQABAAEAAAAVAAQAAQABAAEAAAAWAAMAAQABAAEAAAATAAUAAQABAAEAAAAUAAQAAQABAAEAAAAVAAMAAQABAAEAAAAVAAEAAQABAAEAAAATAAQAAQABAAEAAAAUAAMAAQABAAEAAAASAAUAAQABAAEAAAAUAAEAAQABAAEAAAASAAEAAQABAAEAAAASAAQAAQABAAEAAAARAAUAAQABAAEAAAATAAEAAQABAAEAAAARAAEAAQABAAEAAAAWAAEAAQABAAEAAAAQAP//AQABAAEAAAAQAAQAAQABAAEAAAAPAAMAAQABAAEAAAARAAQAAQABAAEAAAAKABUAAQABAAEAAAAJABUAAQABAAEAAAANABQAAQABAAEAAAALABQAAQABAAEAAAAMABQAAQABAAEAAAAHABQAAQABAAEAAAAIABQAAQABAAEAAAAJABQAAQABAAEAAAAKABQAAQABAAEAAAADABMAAQAAAAEAAAAEABMAAQABAAEAAAAGABQAAQABAAEAAAD+/xMAAQACAAEAAAD9/xMAAQABAAEAAAAFABMAAQABAAEAAAADABIAAQAAAAEAAAAEABIAAQABAAEAAAD+/xIAAQACAAEAAAD6/xIAAQABAAEAAAD7/xIAAQABAAEAAAD8/xIAAQABAAEAAAD9/xIAAQABAAEAAAD4/xIAAQABAAEAAAD5/xIAAQABAAEAAAD3/xIAAQABAAEAAAD8/xEAAQABAAEAAAD9/xEAAQABAAEAAAD7/xEAAQABAAEAAAD6/xEAAQABAAEAAAD5/xEAAQABAAEAAAD5/xAAAQABAAEAAAD4/xEAAQABAAEAAAD3/xEAAQABAAEAAAD2/xIAAQABAAEAAAD1/xIAAQABAAEAAAD1/xMAAQABAAEAAAD2/xMAAQABAAEAAAD2/xEAAQABAAEAAAD1/xEAAQABAAEAAAD3/xAAAQABAAEAAAD2/w4AAQABAAEAAAD3/w8AAQABAAEAAAD1/w0AAQABAAEAAAD0/wwAAQABAAEAAAD2/xAAAQABAAEAAAD3/w4AAQABAAEAAAD2/w8AAQABAAEAAAD1/w8AAQABAAEAAAD0/w8AAQABAAEAAAD//w8AAQACAAEAAAAEAA8AAQABAAEAAAADAA8AAQAAAAEAAAAFAA4AAQABAAEAAAAGAA4AAQABAAEAAAAHAA4AAQABAAEAAAAEAA4AAQABAAEAAAADAA4AAQAAAAEAAAD8/w8AAQABAAEAAAD9/w8AAQABAAEAAAD+/w8AAQABAAEAAAADABAAAQAAAAEAAAAEABAAAQABAAEAAAD7/w8AAQABAAEAAAD0/w0AAQABAAEAAAD2/wwAAQABAAEAAAD2/wsAAQABAAEAAAD2/woAAQACAAEAAAD1/woAAQABAAEAAAD1/wsAAQABAAEAAAD0/w4AAQABAAEAAAD0/xAAAQABAAEAAAD1/xAAAQABAAEAAAD3/w0AAQABAAEAAAD3/wwAAQABAAEAAAD4/wwAAQABAAEAAAD3/wsAAQABAAAAAAD1/w4AAQABAAEAAAD2/w0AAQABAAEAAAD0/xEAAQABAAEAAAD1/wwAAQABAAEAAAD4/xAAAQABAAEAAAD5/w4AAQABAAEAAAD4/w8AAQABAAEAAAD6/w0AAQABAAEAAAD8/wsAAQABAAAAAAD7/w0AAQABAAEAAAD6/w4AAQABAAEAAAD8/w0AAQABAAEAAAD6/wwAAQABAAEAAAD5/w0AAQABAAEAAAD4/w0AAQABAAEAAAD4/w4AAQABAAEAAAD5/w8AAQABAAEAAAD7/wsAAQABAAAAAAD5/wwAAQABAAEAAAD+/w0AAQABAAEAAAD9/w0AAQABAAEAAAAIAA4AAQABAAEAAAD//w0AAQACAAEAAAATAA8AAQABAAEAAAASAA8AAQABAAEAAAARAA8AAQABAAEAAAAQAA8AAQABAAEAAAAPAA8AAQABAAEAAAAOAA8AAQABAAEAAAANAA4AAQABAAEAAAAMAA4AAQABAAEAAAALAA4AAQABAAEAAAAKAA4AAQABAAEAAAAJAA4AAQABAAEAAAAZAA8AAQABAAEAAAAYAA8AAQABAAEAAAAXAA8AAQABAAEAAAAWAA8AAQABAAEAAAAVAA8AAQABAAEAAAAUAA8AAQABAAEAAAAaAA8AAQABAAEAAAAYAA4AAQABAAEAAAATAA0AAQABAAEAAAAUAA0AAQABAAEAAAAVAA0AAQABAAEAAAAWAA4AAQABAAEAAAAXAA4AAQABAAEAAAAMAAwAAQABAAEAAAANAAwAAQABAAEAAAAOAAwAAQABAAEAAAAPAAwAAQABAAEAAAAQAA0AAQABAAEAAAARAA0AAQABAAEAAAASAA0AAQABAAEAAAAEAAsAAQABAAEAAAAFAAsAAQABAAEAAAAGAAsAAQABAAEAAAAHAAsAAQABAAEAAAAIAAwAAQABAAEAAAAJAAwAAQABAAEAAAAKAAwAAQABAAEAAAALAAwAAQABAAEAAAADAAsAAQAAAAEAAAAHAAwAAQABAAEAAAAGAAwAAQABAAEAAAAPAA0AAQABAAEAAAAOAA0AAQABAAEAAAANAA0AAQABAAEAAAAMAA0AAQABAAEAAAALAA0AAQABAAEAAAARAAwAAQABAAEAAAAQAAwAAQABAAEAAAAJAAsAAQABAAEAAAAKAAsAAQABAAEAAAAIAAsAAQABAAEAAAD//wsAAQACAAAAAAD9/wsAAQABAAAAAAD+/wsAAQABAAAAAAAMAAsAAQABAAEAAAALAAsAAQABAAEAAAAHAAoAAQABAAEAAAAIAAoAAQABAAEAAAADAAoAAQAAAAEAAAAEAAoAAQABAAEAAAAFAAoAAQABAAEAAAAGAAoAAQABAAEAAAANAAsAAQABAAEAAAARAAsAAQABAAEAAAAQAAsAAQABAAEAAAAPAAsAAQABAAEAAAAOAAsAAQABAAEAAAAWAAsAAQABAAEAAAAVAAsAAQABAAEAAAAUAAsAAQABAAEAAAATAAsAAQABAAEAAAASAAsAAQABAAEAAAAXAAsAAQABAAEAAAAXAAoAAQABAAEAAAAWAAoAAQABAAEAAAATAAkAAQABAAEAAAAUAAkAAQABAAEAAAAVAAoAAQABAAEAAAAQAAkAAQABAAEAAAARAAkAAQABAAEAAAASAAkAAQABAAEAAAANAAkAAQABAAEAAAAOAAkAAQABAAEAAAAPAAkAAQABAAEAAAALAAkAAQABAAEAAAAMAAkAAQABAAEAAAAKAAkAAQABAAEAAAAKAAoAAQABAAEAAAALAAoAAQABAAEAAAANAAoAAQABAAEAAAAMAAoAAQABAAEAAAAQAAoAAQABAAEAAAAPAAoAAQABAAEAAAAOAAoAAQABAAEAAAATAAoAAQABAAEAAAASAAoAAQABAAEAAAARAAoAAQABAAEAAAAUAAoAAQABAAEAAAAZAAwAAQABAAEAAAAYAAwAAQABAAEAAAAXAAwAAQABAAEAAAAdAAwAAQABAAEAAAAcAAwAAQABAAEAAAAbAAwAAQABAAEAAAAaAAwAAQABAAEAAAAeAAsAAQABAAEAAAAdAAoAAQABAAEAAAAaAAoAAQABAAEAAAAbAAoAAQABAAEAAAAcAAoAAQABAAEAAAAYAAkAAQABAAEAAAAZAAoAAQABAAEAAAAVAAkAAQABAAEAAAAWAAkAAQABAAEAAAAXAAkAAQABAAEAAAAYAAoAAQABAAEAAAAbAAkAAQABAAEAAAAbAAgAAQABAAEAAAAaAAgAAQABAAEAAAAZAAgAAQABAAEAAAAcAAgAAQABAAEAAAAeAAcAAQABAAEAAAAdAAgAAQABAAEAAAAfAAcAAQABAAEAAAAdAAcAAQABAAEAAAAcAAcAAQABAAEAAAAbAAcAAQABAAEAAAAaAAkAAQABAAEAAAAYAAsAAQABAAEAAAAZAAkAAQABAAEAAAAJAAoAAQABAAEAAAAFAA8AAQABAAEAAAAIABAAAQABAAEAAAAHABAAAQABAAEAAAAGAA8AAQABAAEAAAALABAAAQABAAEAAAAKABAAAQABAAEAAAAJABAAAQABAAEAAAANABAAAQABAAEAAAAMABAAAQABAAEAAAAPABAAAQABAAEAAAAOABAAAQABAAEAAAAQABAAAQABAAEAAAAOAA4AAQABAAEAAAAFABAAAQABAAEAAAAGABAAAQABAAEAAAASABEAAQABAAEAAAARABEAAQABAAEAAAATABEAAQABAAEAAAARABAAAQABAAEAAAAGABEAAQABAAEAAAAFABEAAQABAAEAAAAHABEAAQABAAEAAAARABMAAQABAAEAAAAIABEAAQABAAEAAAAJABEAAQABAAEAAAAKABEAAQABAAEAAAD+/xAAAQABAAEAAAD//xAAAQACAAIAAAD9/xgAAQABAAEAAAD9/xkAAQABAAEAAAD+/xkAAQACAAEAAAD8/xkAAQABAAEAAAD5/xcAAQABAAEAAAD7/xgAAQABAAEAAAD7/xkAAQABAAEAAAD8/xgAAQABAAEAAAD+/xgAAQACAAEAAAACABkAAQAAAAEAAAADABkAAQABAAEAAAAMABoAAQABAAEAAAANABoAAQABAAEAAAALABoAAQABAAEAAAAJABoAAQABAAEAAAAKABoAAQABAAEAAAAFABoAAQABAAEAAAAGABoAAQABAAEAAAAHABoAAQABAAEAAAAEABsAAQABAAEAAAAGABsAAQABAAEAAAAFABsAAQABAAEAAAAKABsAAQABAAEAAAACABsAAQAAAAEAAAADABsAAQABAAEAAAAMABwAAQABAAEAAAASAB0AAQABAAEAAAARAB0AAQABAAEAAAANABwAAQABAAEAAAAOABwAAQABAAEAAAAUAB0AAQABAAEAAAATAB0AAQABAAEAAAAWAB0AAQABAAEAAAAVAB0AAQABAAEAAAAXAB0AAQABAAEAAAASABwAAQABAAEAAAAQABwAAQABAAEAAAARABwAAQABAAEAAAAPABwAAQABAAEAAAAYAB0AAQABAAEAAAAaAB0AAQABAAEAAAAZAB0AAQABAAEAAAAbAB0AAQABAAEAAAAcAB0AAQABAAEAAAAdAB0AAQABAAEAAAAeAB0AAQABAAEAAAAfAB0AAQABAAEAAAAfABwAAQABAAEAAAAfABsAAQABAAEAAAAfABoAAQABAAEAAAAfABkAAQABAAEAAAAeABkAAQABAAEAAAAeABoAAQABAAEAAAAeABsAAQABAAEAAAAeABwAAQABAAEAAAAdABwAAQABAAEAAAAfABgAAQABAAEAAAAeABgAAQABAAEAAAAdABkAAQABAAEAAAAdABoAAQABAAEAAAAcABsAAQABAAEAAAAdABgAAQABAAEAAAAfABMAAQABAAEAAAAfABIAAQABAAEAAAAfABEAAQABAAEAAAAeABAAAQABAAEAAAAeABEAAQABAAEAAAAeABMAAQABAAEAAAAeABIAAQABAAEAAAAfABAAAQABAAEAAAAeAA8AAQABAAEAAAAeAA0AAQABAAEAAAAeAA4AAQABAAEAAAAeAAwAAQABAAEAAAAfAA4AAQABAAEAAAAfAA8AAQABAAEAAAAfAAwAAQABAAEAAAAfAA0AAQABAAEAAAAfAAoAAQABAAEAAAAfAAsAAQABAAEAAAAfAAkAAQABAAEAAAAeAAgAAQABAAEAAAAeAAkAAQABAAEAAAAeAAoAAQABAAEAAAAdAAsAAQABAAEAAAAfAAgAAQABAAEAAAAdAAkAAQABAAEAAAAcAAkAAQABAAEAAAAXAAgAAQABAAEAAAAYAAgAAQABAAEAAAAZAAsAAQABAAEAAAAaAAsAAQABAAEAAAAbAAsAAQABAAEAAAAcAAsAAQABAAEAAAASAAwAAQABAAEAAAATAAwAAQABAAEAAAAVAAwAAQABAAEAAAAUAAwAAQABAAEAAAAWAAwAAQABAAEAAAAWAA0AAQABAAEAAAAYAA0AAQABAAEAAAAXAA0AAQABAAEAAAAZAA0AAQABAAEAAAAQAA4AAQABAAEAAAAPAA4AAQABAAEAAAARAA4AAQABAAEAAAATAA4AAQABAAEAAAASAA4AAQABAAEAAAAUAA4AAQABAAEAAAAKAA8AAQABAAEAAAAMAA8AAQABAAEAAAALAA8AAQABAAEAAAANAA8AAQABAAEAAAASABAAAQABAAEAAAATABAAAQABAAEAAAAMABEAAQABAAEAAAANABEAAQABAAEAAAAOABEAAQABAAEAAAAPABEAAQABAAEAAAAQABEAAQABAAEAAAALABEAAQABAAEAAAAHAA8AAQABAAEAAAAJAA8AAQABAAEAAAAIAA8AAQABAAEAAAAdABAAAQABAAEAAAAcAA8AAQABAAEAAAAbAA8AAQABAAEAAAAdAA4AAQABAAEAAAAbAA4AAQABAAEAAAAcAA4AAQABAAEAAAAaAA4AAQABAAEAAAAZAA4AAQABAAEAAAAbAA0AAQABAAEAAAAcAA0AAQABAAEAAAAaAA0AAQABAAEAAAAdAA0AAQABAAEAAAAUABAAAQABAAEAAAAaABAAAQABAAEAAAAbABAAAQABAAEAAAAcABAAAQABAAEAAAAdAA8AAQABAAEAAAAcABEAAQABAAEAAAAcABIAAQABAAEAAAAdABIAAQABAAEAAAAdABEAAQABAAEAAAAcABoAAQABAAEAAAAcABkAAQABAAEAAAAcABgAAQABAAEAAAAdABsAAQABAAEAAAAcABwAAQABAAEAAAAbABwAAQABAAEAAAAaABwAAQABAAEAAAAbABsAAQABAAEAAAAaABsAAQABAAEAAAAZABwAAQABAAEAAAAYABwAAQABAAEAAAAXABwAAQABAAEAAAAZABsAAQABAAEAAAAXABsAAQABAAEAAAAYABsAAQABAAEAAAAVABsAAQABAAEAAAAWABsAAQABAAEAAAATABsAAQABAAEAAAAUABsAAQABAAEAAAARABsAAQABAAEAAAASABsAAQABAAEAAAAQABsAAQABAAEAAAATABwAAQABAAEAAAAVABwAAQABAAEAAAAUABwAAQABAAEAAAAWABwAAQABAAEAAAAOABsAAQABAAEAAAAPABsAAQABAAEAAAANABsAAQABAAEAAAALABsAAQABAAEAAAAMABsAAQABAAEAAAAPABoAAQABAAEAAAAOABoAAQABAAEAAAATABoAAQABAAEAAAASABoAAQABAAEAAAARABoAAQABAAEAAAAQABoAAQABAAEAAAAVABoAAQABAAEAAAAUABoAAQABAAEAAAAWABoAAQABAAEAAAAXABoAAQABAAEAAAAUABkAAQABAAEAAAASABkAAQABAAEAAAATABkAAQABAAEAAAARABkAAQABAAEAAAAWABgAAQABAAEAAAAVABgAAQABAAEAAAAXABgAAQABAAEAAAAYABgAAQABAAEAAAAZABgAAQABAAEAAAAXABMAAQABAAEAAAAWABIAAQABAAEAAAAVABIAAQABAAEAAAAUABIAAQABAAEAAAATABIAAQABAAEAAAASABIAAQABAAEAAAAVABEAAQABAAEAAAAWABEAAQABAAEAAAAWABAAAQABAAEAAAAVABAAAQABAAEAAAAUABEAAQABAAEAAAAVAA4AAQABAAEAAAATABMAAQABAAEAAAAUABMAAQABAAEAAAAXABEAAQABAAEAAAAXABAAAQABAAEAAAASABMAAQABAAEAAAAXABIAAQABAAEAAAAYABEAAQABAAEAAAAZABEAAQABAAEAAAAZABAAAQABAAEAAAAYABAAAQABAAEAAAAWABMAAQABAAEAAAAYABIAAQABAAEAAAAVABMAAQABAAEAAAAZABMAAQABAAEAAAAaABIAAQABAAEAAAAaABEAAQABAAEAAAAbABEAAQABAAEAAAAbABMAAQABAAEAAAAbABIAAQABAAEAAAAZABIAAQABAAEAAAAYABMAAQABAAEAAAAcABMAAQABAAEAAAAaABMAAQABAAEAAAAaABgAAQABAAEAAAAZABkAAQABAAEAAAAZABoAAQABAAEAAAAaABkAAQABAAEAAAAaABoAAQABAAEAAAAbABoAAQABAAEAAAAbABkAAQABAAEAAAAbABgAAQABAAEAAAAWABkAAQABAAEAAAAXABkAAQABAAEAAAAYABoAAQABAAEAAAAVABkAAQABAAEAAAAYABkAAQABAAEAAAAUABgAAQABAAEAAAATABgAAQABAAEAAAASABgAAQABAAEAAAARABgAAQABAAEAAAAKABkAAQABAAEAAAALABkAAQABAAEAAAAMABkAAQABAAEAAAAQABkAAQABAAEAAAAPABkAAQABAAEAAAAOABkAAQABAAEAAAANABkAAQABAAEAAAAGABkAAQABAAEAAAAFABkAAQABAAEAAAAEABkAAQABAAEAAAAFABUAAQABAAEAAAAGABUAAQABAAEAAAAHABUAAQABAAEAAAAIABUAAQABAAEAAAALABUAAQABAAEAAAAMABUAAQABAAEAAAANABUAAQABAAEAAAAOABQAAQABAAEAAAAPABQAAQABAAEAAAAQABQAAQABAAEAAAARABQAAQABAAEAAAASABQAAQABAAEAAAAdABMAAQABAAEAAAD+/xQAAQACAAEAAAD3/xMAAQABAAEAAAD4/xMAAQABAAEAAAD5/xMAAQABAAEAAAD6/xMAAQABAAEAAAD7/xMAAQABAAEAAAD8/xMAAQABAAEAAAD6/xcAAQABAAEAAAD4/xcAAQABAAEAAAD3/xcAAQABAAEAAAD0/xgAAQABAAEAAADx/xgAAQABAAEAAADw/xgAAQABAAEAAADv/xgAAQAAAAEAAADx/xMAAQABAAEAAADy/xMAAQABAAEAAADz/xMAAQABAAEAAAD0/xMAAQABAAEAAAD0/xIAAQABAAEAAADx/xIAAQABAAEAAADy/xIAAQABAAEAAADz/xIAAQABAAEAAADy/xQAAQABAAEAAAAHABkAAQABAAEAAAAJABkAAQABAAEAAAAFAB4AAQABAAEAAAAGAB4AAQABAAEAAAAGAB0AAQABAAEAAAAFAB0AAQABAAEAAAAGAB8AAQABAAEAAAAHAB8AAQABAAEAAAAHAB4AAQABAAEAAAAIAB8AAQABAAEAAAAJAB8AAQABAAEAAAAJAB4AAQABAAEAAAAIAB4AAQABAAEAAAAKAB8AAQABAAEAAAAKAB4AAQABAAEAAAAKAB0AAQABAAEAAAAJAB0AAQABAAEAAAAIAB0AAQABAAEAAAAJABwAAQABAAEAAAAIABwAAQABAAEAAAAHABwAAQABAAEAAAAHAB0AAQABAAEAAAAIABsAAQABAAEAAAAIABoAAQABAAEAAAAIABkAAQABAAEAAAALAB0AAQABAAEAAAAIACAAAQABAAEAAAAJACAAAQABAAEAAAAGABwAAQABAAEAAAAHABsAAQABAAEAAAAJABsAAQABAAEAAAAhABcAAQABAAEAAAAhABYAAQABAAEAAAAhABUAAQABAAEAAAAhABQAAQABAAEAAAAgABcAAQABAAEAAAAgABYAAQABAAEAAAAgABUAAQABAAEAAAAgABQAAQABAAEAAAAfABcAAQABAAEAAAAfABYAAQABAAEAAAAfABUAAQABAAEAAAAfABQAAQABAAEAAAAeABcAAQABAAEAAAAeABYAAQABAAEAAAAeABUAAQABAAEAAAAeABQAAQABAAEAAAAdABcAAQABAAEAAAAdABYAAQABAAEAAAAdABUAAQABAAEAAAAdABQAAQABAAEAAAAcABcAAQABAAEAAAAcABYAAQABAAEAAAAcABUAAQABAAEAAAAcABQAAQABAAEAAAAbABcAAQABAAEAAAAbABYAAQABAAEAAAAbABUAAQABAAEAAAAbABQAAQABAAEAAAAaABcAAQABAAEAAAAaABYAAQABAAEAAAAaABUAAQABAAEAAAAaABQAAQABAAEAAAAZABcAAQABAAEAAAAZABYAAQABAAEAAAAZABUAAQABAAEAAAAZABQAAQABAAEAAAAYABcAAQABAAEAAAAYABYAAQABAAEAAAAYABUAAQABAAEAAAAYABQAAQABAAEAAAAXABcAAQABAAEAAAAXABYAAQABAAEAAAAXABUAAQABAAEAAAAXABQAAQABAAEAAAAWABcAAQABAAEAAAAWABYAAQABAAEAAAAWABUAAQABAAEAAAAWABQAAQABAAEAAAAVABcAAQABAAEAAAAVABYAAQABAAEAAAAVABUAAQABAAEAAAAVABQAAQABAAEAAAAUABcAAQABAAEAAAAUABYAAQABAAEAAAAUABUAAQABAAEAAAAUABQAAQABAAEAAAATABcAAQABAAEAAAATABYAAQABAAEAAAATABUAAQABAAEAAAATABQAAQABAAEAAAASABcAAQABAAEAAAASABYAAQABAAEAAAASABUAAQABAAEAAAARABcAAQABAAEAAAARABYAAQABAAEAAAARABUAAQABAAEAAAAQABgAAQABAAEAAAAQABcAAQABAAEAAAAQABYAAQABAAEAAAAQABUAAQABAAEAAAAPABgAAQABAAEAAAAPABcAAQABAAEAAAAPABYAAQABAAEAAAAPABUAAQABAAEAAAAOABgAAQABAAEAAAAOABcAAQABAAEAAAAOABYAAQABAAEAAAAOABUAAQABAAEAAAANABgAAQABAAEAAAANABcAAQABAAEAAAANABYAAQABAAEAAAAMABgAAQABAAEAAAAMABcAAQABAAEAAAAMABYAAQABAAEAAAALABgAAQABAAEAAAALABcAAQABAAEAAAALABYAAQABAAEAAAAKABgAAQABAAEAAAAKABcAAQABAAEAAAAKABYAAQABAAEAAAAJABgAAQABAAEAAAAJABcAAQABAAEAAAAJABYAAQABAAEAAAAIABgAAQABAAEAAAAIABcAAQABAAEAAAAIABYAAQABAAEAAAAHABgAAQABAAEAAAAHABcAAQABAAEAAAAHABYAAQABAAEAAAAGABgAAQABAAEAAAAGABcAAQABAAEAAAAGABYAAQABAAEAAAAFABgAAQABAAEAAAAFABcAAQABAAEAAAAFABYAAQABAAEAAAAEABgAAQABAAEAAAAEABcAAQABAAEAAAAEABYAAQABAAEAAAAEABUAAQABAAEAAAADABgAAQABAAEAAAADABcAAQABAAEAAAADABYAAQAAAAEAAAADABUAAQAAAAEAAAACABgAAQAAAAEAAAACABcAAQAAAAAAAAD+/xcAAQACAAEAAAD+/xYAAQACAAEAAAD+/xUAAQACAAEAAAD9/xcAAQABAAEAAAD9/xYAAQABAAEAAAD9/xUAAQABAAEAAAD9/xQAAQABAAEAAAD8/xcAAQABAAEAAAD8/xYAAQABAAEAAAD8/xUAAQABAAEAAAD8/xQAAQABAAEAAAD7/xcAAQABAAEAAAD7/xYAAQABAAEAAAD7/xUAAQABAAEAAAD7/xQAAQABAAEAAAD6/xYAAQABAAEAAAD6/xUAAQABAAEAAAD6/xQAAQABAAEAAAD5/xYAAQABAAEAAAD5/xUAAQABAAEAAAD5/xQAAQABAAEAAAD4/xYAAQABAAEAAAD4/xUAAQABAAEAAAD4/xQAAQABAAEAAAD3/xYAAQABAAEAAAD3/xUAAQABAAEAAAD3/xQAAQABAAEAAAD2/xcAAQABAAEAAAD2/xYAAQABAAEAAAD2/xUAAQABAAEAAAD2/xQAAQABAAEAAAD1/xcAAQABAAEAAAD1/xYAAQABAAEAAAD1/xUAAQABAAEAAAD1/xQAAQABAAEAAAD0/xcAAQABAAEAAAD0/xYAAQABAAEAAAD0/xUAAQABAAEAAAD0/xQAAQABAAEAAADz/xcAAQABAAEAAADz/xYAAQABAAEAAADz/xUAAQABAAEAAADz/xQAAQABAAEAAADy/xcAAQABAAEAAADy/xYAAQABAAEAAADy/xUAAQABAAEAAADx/xcAAQABAAEAAADx/xYAAQABAAEAAADx/xUAAQABAAEAAADw/xcAAQABAAEAAADw/xYAAQABAAEAAADw/xUAAQABAAEAAADv/xcAAQAAAAEAAADv/xYAAQAAAAEAAAA=") +tile_set = ExtResource("3_qaen6") +metadata/_edit_lock_ = true + +[node name="Grass_Level1" type="TileMapLayer" parent="TileMapLayers" unique_id=1430764757] +modulate = Color(0.878431, 0.705882, 0.94902, 1) +tile_map_data = PackedByteArray("AADx/x8AAQABAAEAAADy/x8AAQABAAEAAADz/x8AAQABAAEAAAD0/x8AAQABAAEAAAD1/x8AAQABAAEAAAD2/x8AAQABAAEAAAD3/x8AAQABAAEAAAD4/x8AAQABAAEAAAD5/x8AAQABAAEAAAD6/x8AAQABAAEAAAD7/x8AAQABAAEAAAD8/x8AAQABAAEAAAD9/x8AAQABAAEAAAD+/x8AAQACAAEAAAD+/x4AAQACAAEAAAD9/x4AAQABAAEAAAD8/x4AAQABAAEAAAD7/x4AAQABAAEAAAD6/x4AAQABAAEAAAD5/x4AAQABAAEAAAD4/x4AAQABAAEAAAD3/x4AAQABAAEAAAD2/x4AAQABAAEAAAD1/x4AAQABAAEAAAD0/x4AAQABAAEAAADz/x4AAQABAAEAAADy/x4AAQABAAEAAADx/x4AAQABAAEAAADv/x4AAQAAAAEAAADv/x8AAQAAAAEAAADw/x8AAQABAAEAAADw/x4AAQABAAEAAADv/yAAAQAAAAEAAADw/yAAAQABAAEAAADx/yAAAQABAAEAAADy/yAAAQABAAEAAADz/yAAAQABAAEAAAD0/yAAAQABAAEAAAD1/yAAAQABAAEAAAD2/yAAAQABAAEAAAD3/yAAAQABAAEAAAD4/yAAAQABAAEAAAD5/yAAAQABAAEAAAD6/yAAAQABAAEAAAD7/yAAAQABAAEAAAD8/yAAAQABAAEAAAD9/yAAAQABAAEAAAD+/yAAAQACAAEAAAD+/yEAAQACAAIAAAD9/yEAAQABAAIAAAD8/yEAAQABAAIAAAD7/yEAAQABAAIAAAD6/yEAAQABAAIAAAD5/yEAAQABAAIAAAD4/yEAAQABAAIAAAD3/yEAAQABAAIAAAD2/yEAAQABAAIAAAD1/yEAAQABAAIAAAD0/yEAAQABAAIAAADz/yEAAQABAAIAAADy/yEAAQABAAIAAADx/yEAAQABAAIAAADw/yEAAQABAAIAAADv/yEAAQAAAAIAAAACAB8AAQAAAAEAAAADAB8AAQABAAEAAAAEAB8AAQABAAEAAAAEAB4AAQABAAEAAAAFAB4AAQABAAEAAAAFAB8AAQABAAEAAAACAB4AAQAAAAEAAAADAB4AAQABAAEAAAALAB8AAQABAAEAAAAMAB8AAQABAAEAAAANAB8AAQABAAEAAAAOAB8AAQABAAEAAAAPAB8AAQABAAEAAAAQAB8AAQABAAEAAAARAB8AAQABAAEAAAASAB8AAQABAAEAAAATAB8AAQABAAEAAAAUAB8AAQABAAEAAAAVAB8AAQABAAEAAAAWAB8AAQABAAEAAAAXAB8AAQABAAEAAAAYAB8AAQABAAEAAAAZAB8AAQABAAEAAAAaAB8AAQABAAEAAAAbAB8AAQABAAEAAAAcAB8AAQABAAEAAAAdAB8AAQABAAEAAAAdAB4AAQABAAEAAAAeAB4AAQABAAEAAAAfAB4AAQABAAEAAAAeAB8AAQABAAEAAAAfAB8AAQABAAEAAAAcAB4AAQABAAEAAAAbAB4AAQABAAEAAAAaAB4AAQABAAEAAAATAB4AAQABAAEAAAASAB4AAQABAAEAAAARAB4AAQABAAEAAAAQAB4AAQABAAEAAAAPAB4AAQABAAEAAAALAB4AAQABAAEAAAAUAB4AAQABAAEAAAAVAB4AAQABAAEAAAAWAB4AAQABAAEAAAAXAB4AAQABAAEAAAAYAB4AAQABAAEAAAAZAB4AAQABAAEAAAACACAAAQAAAAEAAAADACAAAQABAAEAAAAEACAAAQABAAEAAAAFACAAAQABAAEAAAAGACAAAQABAAEAAAAHACAAAQABAAEAAAAIACAAAQABAAEAAAAJACAAAQABAAEAAAAKACAAAQABAAEAAAALACAAAQABAAEAAAAMACAAAQABAAEAAAANACAAAQABAAEAAAAOACAAAQABAAEAAAAPACAAAQABAAEAAAAQACAAAQABAAEAAAARACAAAQABAAEAAAASACAAAQABAAEAAAATACAAAQABAAEAAAAUACAAAQABAAEAAAAVACAAAQABAAEAAAAWACAAAQABAAEAAAAXACAAAQABAAEAAAAYACAAAQABAAEAAAAZACAAAQABAAEAAAAaACAAAQABAAEAAAAbACAAAQABAAEAAAAcACAAAQABAAEAAAAdACAAAQABAAEAAAAeACAAAQABAAEAAAAfACAAAQABAAEAAAACACEAAQAAAAIAAAADACEAAQABAAIAAAAEACEAAQABAAIAAAAFACEAAQABAAIAAAAGACEAAQABAAIAAAAHACEAAQABAAIAAAAIACEAAQABAAIAAAAJACEAAQABAAIAAAAKACEAAQABAAIAAAALACEAAQABAAIAAAAMACEAAQABAAIAAAANACEAAQABAAIAAAAOACEAAQABAAIAAAAPACEAAQABAAIAAAAQACEAAQABAAIAAAARACEAAQABAAIAAAASACEAAQABAAIAAAATACEAAQABAAIAAAAUACEAAQABAAIAAAAVACEAAQABAAIAAAAWACEAAQABAAIAAAAXACEAAQABAAIAAAAYACEAAQABAAIAAAAZACEAAQABAAIAAAAaACEAAQABAAIAAAAbACEAAQABAAIAAAAcACEAAQABAAIAAAAdACEAAQABAAIAAAAeACEAAQABAAIAAAAfACEAAQABAAIAAAAgACEAAQABAAIAAAAhACEAAQACAAIAAAAhACAAAQACAAEAAAAgACAAAQABAAEAAAAgAB8AAQABAAEAAAAhAB8AAQACAAEAAAAhAB4AAQACAAEAAAAgAB4AAQABAAEAAADv/x0AAQAAAAEAAADv/xwAAQAAAAEAAADv/xsAAQAAAAEAAADv/xoAAQAAAAEAAADv/xkAAQAAAAEAAADv/xUAAQAAAAEAAADv/xQAAQAAAAEAAADw/xQAAQABAAEAAADw/xkAAQABAAEAAADw/xoAAQABAAEAAADw/xsAAQABAAEAAADw/xwAAQABAAEAAADw/x0AAQABAAEAAADw//v/AQABAAEAAADw//z/AQABAAEAAADw//3/AQABAAEAAADw//7/AQABAAEAAADw////AQABAAEAAADw/wAAAQABAAEAAADw/wEAAQABAAEAAADw/wIAAQABAAEAAADw/wMAAQABAAEAAADw/wQAAQABAAEAAADw/wUAAQABAAEAAADw/wYAAQABAAEAAADw/wcAAQABAAEAAADw/wgAAQABAAEAAADw/wkAAQABAAEAAADw/woAAQABAAEAAADw/wsAAQABAAEAAADw/wwAAQABAAEAAADw/w0AAQABAAEAAADw/w4AAQABAAEAAADw/w8AAQABAAEAAADw/xAAAQABAAEAAADw/xEAAQABAAEAAADw/xIAAQABAAEAAADw/xMAAQABAAEAAADv/xMAAQAAAAEAAADv/xIAAQAAAAEAAADv/xEAAQAAAAEAAADv/xAAAQAAAAEAAADv/w8AAQAAAAEAAADv/w4AAQAAAAEAAADv/w0AAQAAAAEAAADv/wwAAQAAAAEAAADv/wsAAQAAAAEAAADv/woAAQAAAAEAAADv/wkAAQAAAAEAAADv/wgAAQAAAAEAAADv/wcAAQAAAAEAAADv/wYAAQAAAAEAAADv/wUAAQAAAAEAAADv/wQAAQAAAAEAAADv/wMAAQAAAAEAAADv/wIAAQAAAAEAAADv/wEAAQAAAAEAAADv/wAAAQAAAAEAAADv////AQAAAAEAAADv//7/AQAAAAEAAADv//3/AQAAAAEAAADv//z/AQAAAAEAAADv//v/AQAAAAEAAADv//r/AQAAAAAAAADw//r/AQABAAAAAADx//r/AQABAAAAAADy//r/AQABAAAAAADz//r/AQABAAAAAAD0//r/AQABAAAAAAD1//r/AQABAAAAAAD2//r/AQABAAAAAAD3//r/AQABAAAAAAD3//v/AQABAAEAAAD2//v/AQABAAEAAAD1//v/AQABAAEAAAD0//v/AQABAAEAAADz//v/AQABAAEAAADy//v/AQABAAEAAADx//v/AQABAAEAAAD4//r/AQABAAAAAAD5//r/AQABAAAAAAD6//r/AQABAAAAAAD7//r/AQABAAAAAAD8//r/AQABAAAAAAD9//r/AQABAAAAAAD4//v/AQABAAEAAAD5//v/AQABAAEAAAD6//v/AQABAAEAAAD7//v/AQABAAEAAAD8//v/AQABAAEAAAD9//v/AQABAAEAAAD+//v/AQABAAEAAAD///v/AQABAAEAAAAAAPv/AQABAAEAAAABAPv/AQABAAEAAAACAPv/AQABAAEAAAADAPv/AQABAAEAAAAEAPv/AQABAAEAAAAFAPv/AQABAAEAAAAGAPv/AQABAAEAAAAHAPv/AQABAAEAAAAEAPr/AQABAAAAAAADAPr/AQABAAAAAAACAPr/AQABAAAAAAABAPr/AQABAAAAAAAAAPr/AQABAAAAAAD///r/AQABAAAAAAD+//r/AQABAAAAAAAIAPv/AQABAAEAAAAJAPv/AQABAAEAAAAJAPr/AQABAAAAAAAKAPr/AQABAAAAAAALAPr/AQABAAAAAAAMAPr/AQABAAAAAAAIAPr/AQABAAAAAAAHAPr/AQABAAAAAAAGAPr/AQABAAAAAAAFAPr/AQABAAAAAAANAPr/AQABAAAAAAAOAPr/AQABAAAAAAAPAPr/AQABAAAAAAAQAPr/AQABAAAAAAARAPr/AQABAAAAAAASAPr/AQABAAAAAAATAPr/AQABAAAAAAAUAPr/AQABAAAAAAAVAPr/AQABAAAAAAAWAPr/AQABAAAAAAAXAPr/AQABAAAAAAAYAPr/AQABAAAAAAAZAPr/AQABAAAAAAAaAPr/AQABAAAAAAAbAPr/AQABAAAAAAAcAPr/AQABAAAAAAAdAPr/AQABAAAAAAAeAPr/AQABAAAAAAAfAPr/AQABAAAAAAAgAPr/AQABAAAAAAAhAPr/AQACAAAAAAAhAPv/AQACAAEAAAAfAPv/AQABAAEAAAAgAPv/AQABAAEAAAAeAPv/AQABAAEAAAAdAPv/AQABAAEAAAAcAPv/AQABAAEAAAAbAPv/AQABAAEAAAAaAPv/AQABAAEAAAAZAPv/AQABAAEAAAAYAPv/AQABAAEAAAAXAPv/AQABAAEAAAAWAPv/AQABAAEAAAAWAPz/AQABAAEAAAAVAPz/AQABAAEAAAAUAPz/AQABAAEAAAATAPz/AQABAAEAAAASAPz/AQABAAEAAAARAPz/AQABAAEAAAAQAPz/AQABAAEAAAAPAPz/AQABAAEAAAAOAPz/AQABAAEAAAANAPz/AQABAAEAAAAMAPz/AQABAAEAAAALAPz/AQABAAEAAAAKAPz/AQABAAEAAAAJAPz/AQABAAEAAAAIAPz/AQABAAEAAAAKAPv/AQABAAEAAAALAPv/AQABAAEAAAANAPv/AQABAAEAAAAMAPv/AQABAAEAAAAOAPv/AQABAAEAAAAPAPv/AQABAAEAAAAQAPv/AQABAAEAAAARAPv/AQABAAEAAAASAPv/AQABAAEAAAATAPv/AQABAAEAAAAUAPv/AQABAAEAAAAVAPv/AQABAAEAAAAgAPz/AQABAAEAAAAhAPz/AQACAAEAAAAhAP3/AQACAAEAAAAhAP7/AQACAAEAAAAhAP//AQACAAEAAAAhAAAAAQACAAEAAAAgAAAAAQABAAEAAAAgAP//AQABAAEAAAAgAP7/AQABAAEAAAAgAP3/AQABAAEAAAAgAAEAAQABAAEAAAAgAAIAAQABAAEAAAAgAAMAAQABAAEAAAAgAAQAAQABAAEAAAAgAAUAAQABAAEAAAAhAAEAAQACAAEAAAAhAAIAAQACAAEAAAAhAAMAAQACAAEAAAAhAAQAAQACAAEAAAAgAAYAAQABAAEAAAAgAAcAAQABAAEAAAAhAAUAAQACAAEAAAAhAAYAAQACAAEAAAAhAAcAAQACAAEAAAAhAAgAAQACAAEAAAAhAAkAAQACAAEAAAAgAAgAAQABAAEAAAAgAAkAAQABAAEAAAAgAAoAAQABAAEAAAAgAAsAAQABAAEAAAAhAAsAAQACAAEAAAAhAAoAAQACAAEAAAAgAAwAAQABAAEAAAAgAA0AAQABAAEAAAAgAA4AAQABAAEAAAAhAAwAAQACAAEAAAAhAA0AAQACAAEAAAAhAA4AAQACAAEAAAAgAA8AAQABAAEAAAAgABAAAQABAAEAAAAgABEAAQABAAEAAAAhAA8AAQACAAEAAAAhABAAAQACAAEAAAAhABEAAQACAAEAAAAgABIAAQABAAEAAAAgABMAAQABAAEAAAAhABIAAQACAAEAAAAhABMAAQACAAEAAAAhABgAAQACAAEAAAAgABgAAQABAAEAAAAgABkAAQABAAEAAAAhABkAAQACAAEAAAAhABoAAQACAAEAAAAgABoAAQABAAEAAAAgABsAAQABAAEAAAAgABwAAQABAAEAAAAgAB0AAQABAAEAAAAhABsAAQACAAEAAAAhABwAAQACAAEAAAAhAB0AAQACAAEAAADx//z/AQABAAEAAADy//z/AQABAAEAAAD0//z/AQABAAEAAADz//z/AQABAAEAAAD2//z/AQABAAEAAAD1//z/AQABAAEAAAD4//z/AQABAAEAAAD3//z/AQABAAEAAAD6//z/AQABAAEAAAD5//z/AQABAAEAAAD8//z/AQABAAEAAAD7//z/AQABAAEAAAD9//z/AQABAAEAAAD+//z/AQABAAEAAAD9//3/AQABAAEAAAD8//3/AQABAAEAAAD7//7/AQABAAEAAAD5//7/AQABAAEAAAD6//7/AQABAAEAAAD3////AQABAAEAAAD4//7/AQABAAEAAAD2////AQABAAEAAAD1/wAAAQABAAEAAAD1/wEAAQABAAEAAAD3/wEAAQABAAEAAAD2/wEAAQABAAEAAAD5/wEAAQABAAEAAAD4/wEAAQABAAEAAAD8/wIAAQABAAEAAAD7/wIAAQABAAEAAAD6/wEAAQABAAEAAAAAAAIAAQABAAEAAAD//wIAAQABAAEAAAD+/wIAAQABAAEAAAD9/wIAAQABAAEAAAACAAIAAQABAAEAAAABAAIAAQABAAEAAAAEAAIAAQABAAEAAAADAAIAAQABAAEAAAD4/wIAAQABAAEAAAD5/wIAAQABAAEAAAD6/wIAAQABAAEAAAD1/wMAAQABAAEAAAD2/wMAAQABAAEAAAD3/wIAAQABAAEAAAD0/wMAAQABAAEAAADz/wMAAQABAAEAAAD1/wQAAQABAAEAAAD4/wQAAQABAAEAAAD3/wQAAQABAAEAAAD2/wQAAQABAAEAAAD8/wUAAQABAAEAAAD7/wUAAQABAAEAAAD6/wQAAQABAAEAAAD5/wQAAQABAAEAAAABAAUAAQABAAEAAAAAAAUAAQABAAEAAAD//wUAAQABAAEAAAD+/wUAAQABAAEAAAD9/wUAAQABAAEAAAAFAAUAAQABAAEAAAAEAAUAAQABAAEAAAADAAUAAQABAAEAAAACAAUAAQABAAEAAAAIAAUAAQABAAEAAAAHAAUAAQABAAEAAAAGAAUAAQABAAEAAAAJAAUAAQABAAEAAAAEAAYAAQABAAEAAAAFAAYAAQABAAEAAAD+/wYAAQABAAIAAAD//wYAAQABAAIAAAAAAAYAAQABAAIAAAABAAYAAQABAAIAAAACAAYAAQABAAEAAAADAAYAAQABAAEAAAD5/wYAAQABAAIAAAD6/wYAAQABAAIAAAD7/wYAAQABAAIAAAD8/wYAAQABAAIAAAD9/wYAAQABAAIAAAD1/wcAAQABAAEAAAD2/wcAAQACAAEAAAD3/wYAAQABAAIAAAD4/wYAAQABAAIAAADz/wcAAQABAAEAAAD0/wcAAQABAAEAAADz/wgAAQABAAEAAAD0/wkAAQABAAEAAAD2/wkAAQACAAEAAAD1/wkAAQABAAEAAAAEAAkAAQABAAEAAAADAAkAAQAAAAEAAAAIAAkAAQABAAEAAAAHAAkAAQABAAEAAAAGAAkAAQABAAEAAAAFAAkAAQABAAEAAAAJAAkAAQABAAEAAAD4/wsAAQABAAAAAAD5/wsAAQABAAAAAAD8/wwAAQABAAEAAAD7/wwAAQABAAEAAAD6/wsAAQABAAAAAAD//wwAAQACAAEAAAD+/wwAAQABAAEAAAD9/wwAAQABAAEAAAAEAAwAAQABAAEAAAADAAwAAQAAAAEAAAAHAA0AAQABAAEAAAAGAA0AAQABAAEAAAAFAAwAAQABAAEAAAAJAA0AAQABAAEAAAAIAA0AAQABAAEAAAAKAA0AAQABAAEAAAAEAA0AAQABAAEAAAAFAA0AAQABAAEAAAADAA0AAQAAAAEAAAD+/w4AAQABAAEAAAD//w4AAQACAAEAAAD8/w4AAQABAAEAAAD9/w4AAQABAAEAAAD6/w8AAQABAAEAAAD7/w4AAQABAAEAAAD6/xAAAQABAAEAAAD8/xAAAQABAAEAAAD7/xAAAQABAAEAAAD+/xEAAQACAAEAAAD9/xAAAQABAAEAAAAHABIAAQABAAEAAAAGABIAAQABAAEAAAAFABIAAQABAAEAAAAEABEAAQABAAEAAAADABEAAQAAAAEAAAALABIAAQABAAEAAAAKABIAAQABAAEAAAAJABIAAQABAAEAAAAIABIAAQABAAEAAAAPABIAAQABAAEAAAAOABIAAQABAAEAAAANABIAAQABAAEAAAAMABIAAQABAAEAAAARABIAAQABAAEAAAAQABIAAQABAAEAAAAQABMAAQABAAEAAAANABMAAQABAAEAAAAOABMAAQABAAEAAAAPABMAAQABAAEAAAAIABMAAQABAAEAAAAJABMAAQABAAEAAAAKABMAAQABAAEAAAALABMAAQABAAEAAAAMABMAAQABAAEAAAADABQAAQAAAAEAAAAEABQAAQABAAEAAAAFABQAAQABAAEAAAAGABMAAQABAAEAAAAHABMAAQABAAEAAAACABoAAQAAAAEAAAADABoAAQABAAEAAAAEABoAAQABAAEAAAD+/xoAAQACAAEAAAD8/xoAAQABAAEAAAD9/xoAAQABAAEAAAD7/xoAAQABAAEAAAD7/xsAAQABAAEAAAD8/xsAAQABAAEAAAD9/xsAAQABAAEAAAD+/xsAAQACAAEAAAAFAB0AAQABAAEAAAAEAB0AAQABAAEAAAADABwAAQABAAEAAAACABwAAQAAAAEAAAALAB0AAQABAAEAAAAPAB0AAQABAAEAAAAQAB0AAQABAAEAAAACAB0AAQAAAAEAAAADAB0AAQABAAEAAAD8/x0AAQABAAEAAAD9/x0AAQABAAEAAAD+/x0AAQACAAEAAAD6/x0AAQABAAEAAAD7/x0AAQABAAEAAAAKABwAAQABAAEAAAALABwAAQABAAEAAAAGABwAAQABAAEAAAAEABwAAQABAAEAAAAFABwAAQABAAEAAAD8/xwAAQABAAEAAAD9/xwAAQABAAEAAAD+/xwAAQACAAEAAAD6/xwAAQABAAEAAAD7/xwAAQABAAEAAAD5/x0AAQABAAEAAAD4/x0AAQABAAEAAAD3/x0AAQABAAEAAAD2/x0AAQABAAEAAAD0/x0AAQABAAEAAAD1/x0AAQABAAEAAADy/x0AAQABAAEAAADz/x0AAQABAAEAAADx/x0AAQABAAEAAAD2/xwAAQABAAEAAAD0/xwAAQABAAEAAAD1/xwAAQABAAEAAADz/xwAAQABAAEAAAD3/xwAAQABAAEAAAD5/xwAAQABAAEAAAD4/xwAAQABAAEAAAD6/xsAAQABAAEAAAD4/xsAAQABAAEAAAD5/xsAAQABAAEAAAD3/xsAAQABAAEAAADy/xwAAQABAAEAAAD1/xsAAQABAAEAAAD2/xsAAQABAAEAAADz/xsAAQABAAEAAAD0/xsAAQABAAEAAADx/xsAAQABAAEAAADy/xsAAQABAAEAAADx/xwAAQABAAEAAAD4/xoAAQABAAEAAAD3/xoAAQABAAEAAAD2/xoAAQABAAEAAAD1/xoAAQABAAEAAAD0/xoAAQABAAEAAADz/xoAAQABAAEAAAD6/xoAAQABAAEAAAD5/xoAAQABAAEAAADy/xoAAQABAAEAAADx/xoAAQABAAEAAAD6/xkAAQABAAEAAAD4/xkAAQABAAEAAAD5/xkAAQABAAEAAAD3/xkAAQABAAEAAAD2/xkAAQABAAEAAAD0/xkAAQABAAEAAAD1/xkAAQABAAEAAADz/xkAAQABAAEAAAD6/xgAAQABAAEAAAD5/xgAAQABAAEAAAD3/xgAAQABAAEAAAD4/xgAAQABAAEAAAD2/xgAAQABAAEAAAD1/xgAAQABAAEAAADz/xgAAQABAAEAAADy/xkAAQABAAEAAADy/xgAAQABAAEAAADx/xkAAQABAAEAAADx/xQAAQABAAEAAADy/xEAAQABAAEAAADx/xAAAQABAAEAAADx/w8AAQABAAEAAADx/xEAAQABAAEAAADz/xEAAQABAAEAAADz/xAAAQABAAEAAADz/w8AAQABAAEAAADz/w0AAQABAAEAAADz/w4AAQABAAEAAADz/wsAAQABAAEAAADz/wwAAQABAAEAAADy/woAAQABAAEAAADx/wkAAQABAAEAAADx/woAAQABAAEAAADx/wwAAQABAAEAAADx/wsAAQABAAEAAADy/w4AAQABAAEAAADx/w0AAQABAAEAAADy/xAAAQABAAEAAADy/w8AAQABAAEAAADy/w0AAQABAAEAAADy/wsAAQABAAEAAADy/wwAAQABAAEAAADy/wgAAQABAAEAAADy/wkAAQABAAEAAADx/wcAAQABAAEAAADx/wgAAQABAAEAAADx/w4AAQABAAEAAADx/wYAAQABAAEAAADz/woAAQABAAEAAAD0/wgAAQABAAEAAADz/wkAAQABAAEAAAD0/wUAAQABAAEAAAD0/wYAAQABAAEAAAD0/wQAAQABAAEAAADz/wQAAQABAAEAAADz/wUAAQABAAEAAAD0/woAAQABAAEAAAD0/wsAAQABAAEAAAD0/wIAAQABAAEAAADz/wEAAQABAAEAAADz/wIAAQABAAEAAADz/wYAAQABAAEAAADy/wEAAQABAAEAAADy/wAAAQABAAEAAADx////AQABAAEAAADx/wAAAQABAAEAAADy/wIAAQABAAEAAADx/wEAAQABAAEAAADy/wQAAQABAAEAAADy/wMAAQABAAEAAADy/wUAAQABAAEAAADy/wYAAQABAAEAAADy/wcAAQABAAEAAADx/wMAAQABAAEAAADx/wIAAQABAAEAAADx/wQAAQABAAEAAADx/wUAAQABAAEAAADx//7/AQABAAEAAADx//3/AQABAAEAAADy//3/AQABAAEAAADz//3/AQABAAEAAAD0//3/AQABAAEAAAD2//3/AQABAAEAAAD3//3/AQABAAEAAAD4//3/AQABAAEAAAD5//3/AQABAAEAAAD6//3/AQABAAEAAAD7//3/AQABAAEAAAD1//3/AQABAAEAAADy//7/AQABAAEAAADz//7/AQABAAEAAAD0//7/AQABAAEAAADy////AQABAAEAAADz/wAAAQABAAEAAAD0/wEAAQABAAEAAAD2/wAAAQABAAEAAAD2//7/AQABAAEAAAD3/wAAAQABAAEAAAD3//7/AQABAAEAAAD1//7/AQABAAEAAAD0////AQABAAEAAAD0/wAAAQABAAEAAADz////AQABAAEAAAD1////AQABAAEAAAD6////AQABAAEAAAD5////AQABAAEAAAD4////AQABAAEAAAD+//7/AQABAAEAAAD9//7/AQABAAEAAAD8////AQABAAEAAAD7////AQABAAEAAAACAP7/AQABAAEAAAABAP7/AQABAAEAAAAAAP7/AQABAAEAAAD///7/AQABAAEAAAAEAP3/AQABAAEAAAADAP7/AQABAAEAAAAFAP3/AQABAAEAAAAFAPz/AQABAAEAAAAEAPz/AQABAAEAAAADAPz/AQABAAEAAAACAPz/AQABAAEAAAAAAPz/AQABAAEAAAABAPz/AQABAAEAAAD///z/AQABAAEAAAD+//3/AQABAAEAAAD///3/AQABAAEAAAABAP3/AQABAAEAAAAAAP3/AQABAAEAAAADAP3/AQABAAEAAAACAP3/AQABAAEAAAAGAP3/AQABAAEAAAAGAPz/AQABAAEAAAAIAP3/AQABAAEAAAAHAP3/AQABAAEAAAAJAP3/AQABAAEAAAD8//7/AQABAAEAAAD9////AQABAAEAAAAAAP//AQABAAEAAAD/////AQABAAEAAAD+////AQABAAEAAAADAP//AQABAAEAAAACAP//AQABAAEAAAABAP//AQABAAEAAAAEAP//AQABAAEAAAAFAP//AQABAAEAAAAFAP7/AQABAAEAAAAEAP7/AQABAAEAAAD8/wAAAQABAAEAAAD6/wAAAQABAAEAAAD7/wAAAQABAAEAAAD4/wAAAQABAAEAAAD5/wAAAQABAAEAAAD8/wEAAQABAAEAAAD7/wEAAQABAAEAAAD+/wEAAQABAAEAAAD9/wEAAQABAAEAAAABAAEAAQABAAEAAAAAAAEAAQABAAEAAAD//wEAAQABAAEAAAACAAEAAQABAAEAAAADAAEAAQABAAEAAAD3/wMAAQABAAEAAAD6/wMAAQABAAEAAAD5/wMAAQABAAEAAAD4/wMAAQABAAEAAAD9/wMAAQABAAEAAAD8/wMAAQABAAEAAAD7/wMAAQABAAEAAAD//wMAAQABAAEAAAD+/wMAAQABAAEAAAACAAMAAQABAAEAAAABAAMAAQABAAEAAAAAAAMAAQABAAEAAAABAAAAAQABAAEAAAACAAAAAQABAAEAAAD2/wIAAQABAAEAAAD1/wIAAQABAAEAAAD3/wUAAQABAAEAAAD2/wUAAQABAAEAAAD1/wUAAQABAAEAAAD6/wUAAQABAAEAAAD5/wUAAQABAAEAAAD4/wUAAQABAAEAAAD8/wQAAQABAAEAAAD9/wQAAQABAAEAAAD+/wQAAQABAAEAAAD7/wQAAQABAAEAAAD1/wYAAQABAAEAAAD2/wYAAQABAAEAAAD2/wgAAQACAAEAAAD1/wgAAQABAAEAAAACAAgAAQAAAAIAAAACAAcAAQAAAAEAAAADAAgAAQABAAEAAAAGAAgAAQABAAEAAAAFAAgAAQABAAEAAAAEAAgAAQABAAEAAAAIAAgAAQABAAEAAAAHAAgAAQABAAEAAAAIAAcAAQABAAEAAAAHAAcAAQABAAEAAAAFAAcAAQABAAEAAAAGAAcAAQABAAEAAAADAAcAAQABAAEAAAAEAAcAAQABAAEAAAAJAAgAAQABAAEAAAANAAgAAQABAAEAAAAMAAgAAQABAAEAAAALAAgAAQABAAEAAAAKAAgAAQABAAEAAAAQAAcAAQABAAEAAAAPAAcAAQABAAEAAAAOAAgAAQABAAEAAAARAAcAAQABAAEAAAANAAcAAQABAAEAAAAOAAcAAQABAAEAAAAKAAcAAQABAAEAAAALAAcAAQABAAEAAAAMAAcAAQABAAEAAAAGAAYAAQABAAEAAAAHAAYAAQABAAEAAAAJAAcAAQABAAEAAAAQAAgAAQABAAEAAAAPAAgAAQABAAEAAAAVAAgAAQABAAEAAAAUAAgAAQABAAEAAAATAAgAAQABAAEAAAASAAgAAQABAAEAAAARAAgAAQABAAEAAAAWAAgAAQABAAEAAAAWAAcAAQABAAEAAAAVAAcAAQABAAEAAAATAAcAAQABAAEAAAAUAAcAAQABAAEAAAASAAcAAQABAAEAAAAKAAYAAQABAAEAAAALAAYAAQABAAEAAAAIAAYAAQABAAEAAAAJAAYAAQABAAEAAAAXAAcAAQABAAEAAAASAAYAAQABAAEAAAAPAAYAAQABAAEAAAAQAAYAAQABAAEAAAARAAYAAQABAAEAAAANAAYAAQABAAEAAAAOAAYAAQABAAEAAAAMAAYAAQABAAEAAAAZAAcAAQABAAEAAAAYAAcAAQABAAEAAAAbAAYAAQABAAEAAAAaAAcAAQABAAEAAAAaAAYAAQABAAEAAAAZAAYAAQABAAEAAAAXAAYAAQABAAEAAAAYAAYAAQABAAEAAAAWAAYAAQABAAEAAAAVAAYAAQABAAEAAAAdAAYAAQABAAEAAAAcAAYAAQABAAEAAAAeAAYAAQABAAEAAAAfAAYAAQABAAEAAAAfAAUAAQABAAEAAAAeAAUAAQABAAEAAAAdAAUAAQABAAEAAAAbAAUAAQABAAEAAAAcAAUAAQABAAEAAAAZAAUAAQABAAEAAAAaAAUAAQABAAEAAAAYAAUAAQABAAEAAAATAAYAAQABAAEAAAAUAAYAAQABAAEAAAANAAUAAQABAAEAAAAOAAUAAQABAAEAAAAKAAUAAQABAAEAAAALAAUAAQABAAEAAAAMAAUAAQABAAEAAAAPAAUAAQABAAEAAAAQAAUAAQABAAEAAAANAAQAAQABAAEAAAAOAAQAAQABAAEAAAAKAAQAAQABAAEAAAALAAQAAQABAAEAAAAMAAQAAQABAAEAAAAGAAQAAQABAAEAAAAHAAQAAQABAAEAAAAIAAQAAQABAAEAAAAJAAQAAQABAAEAAAACAAQAAQABAAEAAAADAAQAAQABAAEAAAAEAAQAAQABAAEAAAAFAAQAAQABAAEAAAD//wQAAQABAAEAAAAAAAQAAQABAAEAAAABAAQAAQABAAEAAAAKAAMAAQABAAEAAAAJAAMAAQABAAEAAAAMAAMAAQABAAEAAAALAAMAAQABAAEAAAALAAIAAQABAAEAAAAJAAIAAQABAAEAAAAKAAIAAQABAAEAAAAHAAIAAQABAAEAAAAIAAIAAQABAAEAAAAFAAIAAQABAAEAAAAGAAIAAQABAAEAAAAGAAEAAQABAAEAAAAFAAEAAQABAAEAAAAHAAEAAQABAAEAAAAIAAEAAQABAAEAAAAEAAEAAQABAAEAAAAJAAAAAQABAAEAAAAKAAAAAQABAAEAAAAGAAAAAQABAAEAAAAHAAAAAQABAAEAAAAIAAAAAQABAAEAAAAEAAAAAQABAAEAAAAFAAAAAQABAAEAAAADAAAAAQABAAEAAAD+/wAAAQABAAEAAAAAAAAAAQABAAEAAAD//wAAAQABAAEAAAALAAAAAQABAAEAAAD9/wAAAQABAAEAAAAJAP//AQABAAEAAAAIAP//AQABAAEAAAAGAP//AQABAAEAAAAHAP//AQABAAEAAAAMAP//AQABAAEAAAALAP//AQABAAEAAAAOAP//AQABAAEAAAANAP//AQABAAEAAAAOAP7/AQABAAEAAAANAP7/AQABAAEAAAAMAP7/AQABAAEAAAALAP7/AQABAAEAAAAKAP7/AQABAAEAAAAIAP7/AQABAAEAAAAJAP7/AQABAAEAAAAGAP7/AQABAAEAAAAHAP7/AQABAAEAAAALAP3/AQABAAEAAAAKAP3/AQABAAEAAAAMAP3/AQABAAEAAAANAP3/AQABAAEAAAAHAPz/AQABAAEAAAAXAPz/AQABAAEAAAAZAPz/AQABAAEAAAAYAPz/AQABAAEAAAAcAPz/AQABAAEAAAAdAPz/AQABAAEAAAAeAPz/AQABAAEAAAAfAPz/AQABAAEAAAAbAPz/AQABAAEAAAAZAP3/AQABAAEAAAAaAPz/AQABAAEAAAAYAP3/AQABAAEAAAAaAP3/AQABAAEAAAAcAP3/AQABAAEAAAAbAP3/AQABAAEAAAAXAP3/AQABAAEAAAAUAP3/AQABAAEAAAAVAP3/AQABAAEAAAAWAP3/AQABAAEAAAAQAP3/AQABAAEAAAARAP3/AQABAAEAAAASAP3/AQABAAEAAAATAP3/AQABAAEAAAAPAP3/AQABAAEAAAAQAP7/AQABAAEAAAAPAP7/AQABAAEAAAAUAP7/AQABAAEAAAATAP7/AQABAAEAAAASAP7/AQABAAEAAAARAP7/AQABAAEAAAAXAP7/AQABAAEAAAAWAP7/AQABAAEAAAAVAP7/AQABAAEAAAAYAP7/AQABAAEAAAAOAP3/AQABAAEAAAAJAAEAAQABAAEAAAANAAAAAQABAAEAAAAMAAAAAQABAAEAAAAPAP//AQABAAEAAAAOAAAAAQABAAEAAAAKAP//AQABAAEAAAAMAAIAAQABAAEAAAAPAAIAAQABAAEAAAAOAAIAAQABAAEAAAANAAIAAQABAAEAAAAGAAMAAQABAAEAAAAFAAMAAQABAAEAAAAEAAMAAQABAAEAAAADAAMAAQABAAEAAAAIAAMAAQABAAEAAAAHAAMAAQABAAEAAAANAAMAAQABAAEAAAAQAAIAAQABAAEAAAAOAAMAAQABAAEAAAARAAIAAQABAAEAAAARAAMAAQABAAEAAAAQAAMAAQABAAEAAAAPAAQAAQABAAEAAAATAAMAAQABAAEAAAASAAMAAQABAAEAAAAUAAIAAQABAAEAAAATAAIAAQABAAEAAAASAAIAAQABAAEAAAAQAAEAAQABAAEAAAANAAEAAQABAAEAAAAOAAEAAQABAAEAAAAPAAEAAQABAAEAAAAKAAEAAQABAAEAAAALAAEAAQABAAEAAAAMAAEAAQABAAEAAAAVAAIAAQABAAEAAAAYAAEAAQABAAEAAAAXAAEAAQABAAEAAAAWAAIAAQABAAEAAAAZAAEAAQABAAEAAAAXAAAAAQABAAEAAAAUAAAAAQABAAEAAAAVAAAAAQABAAEAAAAWAAAAAQABAAEAAAASAAAAAQABAAEAAAATAAAAAQABAAEAAAAPAAAAAQABAAEAAAAQAAAAAQABAAEAAAARAAAAAQABAAEAAAAXAP//AQABAAEAAAAWAP//AQABAAEAAAAZAP//AQABAAEAAAAYAP//AQABAAEAAAAaAP7/AQABAAEAAAAbAP7/AQABAAEAAAAZAP7/AQABAAEAAAAcAP7/AQABAAEAAAASAP//AQABAAEAAAARAP//AQABAAEAAAATAP//AQABAAEAAAAVAP//AQABAAEAAAAUAP//AQABAAEAAAAaAP//AQABAAEAAAAcAP//AQABAAEAAAAbAP//AQABAAEAAAAdAP//AQABAAEAAAAdAP7/AQABAAEAAAAdAP3/AQABAAEAAAAeAP3/AQABAAEAAAAfAP3/AQABAAEAAAAfAP7/AQABAAEAAAAeAP//AQABAAEAAAAeAP7/AQABAAEAAAAfAP//AQABAAEAAAAfAAAAAQABAAEAAAAfAAEAAQABAAEAAAAfAAIAAQABAAEAAAAeAAAAAQABAAEAAAAeAAEAAQABAAEAAAAeAAIAAQABAAEAAAAfAAQAAQABAAEAAAAeAAMAAQABAAEAAAAfAAMAAQABAAEAAAAdAAQAAQABAAEAAAAeAAQAAQABAAEAAAAdAAMAAQABAAEAAAAcAAQAAQABAAEAAAAbAAQAAQABAAEAAAAbAAMAAQABAAEAAAAbAAIAAQABAAEAAAAbAAEAAQABAAEAAAAbAAAAAQABAAEAAAAaAAMAAQABAAEAAAAaAAQAAQABAAEAAAAcAAMAAQABAAEAAAAdAAEAAQABAAEAAAAcAAIAAQABAAEAAAAdAAIAAQABAAEAAAAdAAAAAQABAAEAAAAcAAEAAQABAAEAAAAcAAAAAQABAAEAAAAaAAAAAQABAAEAAAAYAAIAAQABAAEAAAAXAAMAAQABAAEAAAAXAAQAAQABAAEAAAAXAAUAAQABAAEAAAAYAAQAAQABAAEAAAAZAAMAAQABAAEAAAAaAAIAAQABAAEAAAAYAAAAAQABAAEAAAAXAAIAAQABAAEAAAAWAAQAAQABAAEAAAAVAAUAAQABAAEAAAAUAAUAAQABAAEAAAAWAAUAAQABAAEAAAAaAAEAAQABAAEAAAAYAAMAAQABAAEAAAAZAAIAAQABAAEAAAAZAAQAAQABAAEAAAAZAAAAAQABAAEAAAAVAAQAAQABAAEAAAAWAAMAAQABAAEAAAATAAUAAQABAAEAAAAUAAQAAQABAAEAAAAVAAMAAQABAAEAAAAVAAEAAQABAAEAAAATAAQAAQABAAEAAAAUAAMAAQABAAEAAAASAAUAAQABAAEAAAAUAAEAAQABAAEAAAASAAEAAQABAAEAAAASAAQAAQABAAEAAAARAAUAAQABAAEAAAATAAEAAQABAAEAAAARAAEAAQABAAEAAAAWAAEAAQABAAEAAAAQAP//AQABAAEAAAAQAAQAAQABAAEAAAAPAAMAAQABAAEAAAARAAQAAQABAAEAAAAKABUAAQABAAEAAAAJABUAAQABAAEAAAANABQAAQABAAEAAAALABQAAQABAAEAAAAMABQAAQABAAEAAAAHABQAAQABAAEAAAAIABQAAQABAAEAAAAJABQAAQABAAEAAAAKABQAAQABAAEAAAADABMAAQAAAAEAAAAEABMAAQABAAEAAAAGABQAAQABAAEAAAD+/xMAAQACAAEAAAD9/xMAAQABAAEAAAAFABMAAQABAAEAAAADABIAAQAAAAEAAAAEABIAAQABAAEAAAD+/xIAAQACAAEAAAD6/xIAAQABAAEAAAD7/xIAAQABAAEAAAD8/xIAAQABAAEAAAD9/xIAAQABAAEAAAD4/xIAAQABAAEAAAD5/xIAAQABAAEAAAD3/xIAAQABAAEAAAD8/xEAAQABAAEAAAD9/xEAAQABAAEAAAD7/xEAAQABAAEAAAD6/xEAAQABAAEAAAD5/xEAAQABAAEAAAD5/xAAAQABAAEAAAD4/xEAAQABAAEAAAD3/xEAAQABAAEAAAD2/xIAAQABAAEAAAD1/xIAAQABAAEAAAD1/xMAAQABAAEAAAD2/xMAAQABAAEAAAD2/xEAAQABAAEAAAD1/xEAAQABAAEAAAD3/xAAAQABAAEAAAD2/w4AAQABAAEAAAD3/w8AAQABAAEAAAD1/w0AAQABAAEAAAD0/wwAAQABAAEAAAD2/xAAAQABAAEAAAD3/w4AAQABAAEAAAD2/w8AAQABAAEAAAD1/w8AAQABAAEAAAD0/w8AAQABAAEAAAD//w8AAQACAAEAAAAEAA8AAQABAAEAAAADAA8AAQAAAAEAAAAFAA4AAQABAAEAAAAGAA4AAQABAAEAAAAHAA4AAQABAAEAAAAEAA4AAQABAAEAAAADAA4AAQAAAAEAAAD8/w8AAQABAAEAAAD9/w8AAQABAAEAAAD+/w8AAQABAAEAAAADABAAAQAAAAEAAAAEABAAAQABAAEAAAD7/w8AAQABAAEAAAD0/w0AAQABAAEAAAD2/wwAAQABAAEAAAD2/wsAAQABAAEAAAD2/woAAQACAAEAAAD1/woAAQABAAEAAAD1/wsAAQABAAEAAAD0/w4AAQABAAEAAAD0/xAAAQABAAEAAAD1/xAAAQABAAEAAAD3/w0AAQABAAEAAAD3/wwAAQABAAEAAAD4/wwAAQABAAEAAAD3/wsAAQABAAAAAAD1/w4AAQABAAEAAAD2/w0AAQABAAEAAAD0/xEAAQABAAEAAAD1/wwAAQABAAEAAAD4/xAAAQABAAEAAAD5/w4AAQABAAEAAAD4/w8AAQABAAEAAAD6/w0AAQABAAEAAAD8/wsAAQABAAAAAAD7/w0AAQABAAEAAAD6/w4AAQABAAEAAAD8/w0AAQABAAEAAAD6/wwAAQABAAEAAAD5/w0AAQABAAEAAAD4/w0AAQABAAEAAAD4/w4AAQABAAEAAAD5/w8AAQABAAEAAAD7/wsAAQABAAAAAAD5/wwAAQABAAEAAAD+/w0AAQABAAEAAAD9/w0AAQABAAEAAAAIAA4AAQABAAEAAAD//w0AAQACAAEAAAATAA8AAQABAAEAAAASAA8AAQABAAEAAAARAA8AAQABAAEAAAAQAA8AAQABAAEAAAAPAA8AAQABAAEAAAAOAA8AAQABAAEAAAANAA4AAQABAAEAAAAMAA4AAQABAAEAAAALAA4AAQABAAEAAAAKAA4AAQABAAEAAAAJAA4AAQABAAEAAAAZAA8AAQABAAEAAAAYAA8AAQABAAEAAAAXAA8AAQABAAEAAAAWAA8AAQABAAEAAAAVAA8AAQABAAEAAAAUAA8AAQABAAEAAAAaAA8AAQABAAEAAAAYAA4AAQABAAEAAAATAA0AAQABAAEAAAAUAA0AAQABAAEAAAAVAA0AAQABAAEAAAAWAA4AAQABAAEAAAAXAA4AAQABAAEAAAAMAAwAAQABAAEAAAANAAwAAQABAAEAAAASAA0AAQABAAEAAAAEAAsAAQABAAEAAAAFAAsAAQABAAEAAAAGAAsAAQABAAEAAAAHAAsAAQABAAEAAAAIAAwAAQABAAEAAAAJAAwAAQABAAEAAAAKAAwAAQABAAEAAAALAAwAAQABAAEAAAADAAsAAQAAAAEAAAAHAAwAAQABAAEAAAAGAAwAAQABAAEAAAANAA0AAQABAAEAAAAMAA0AAQABAAEAAAALAA0AAQABAAEAAAAJAAsAAQABAAEAAAAKAAsAAQABAAEAAAAIAAsAAQABAAEAAAD//wsAAQACAAAAAAD9/wsAAQABAAAAAAD+/wsAAQABAAAAAAAMAAsAAQABAAEAAAALAAsAAQABAAEAAAAHAAoAAQABAAEAAAAIAAoAAQABAAEAAAADAAoAAQAAAAEAAAAEAAoAAQABAAEAAAAFAAoAAQABAAEAAAAGAAoAAQABAAEAAAANAAsAAQABAAEAAAAWAAsAAQABAAEAAAAVAAsAAQABAAEAAAAUAAsAAQABAAEAAAATAAsAAQABAAEAAAASAAsAAQABAAEAAAAXAAsAAQABAAEAAAAXAAoAAQABAAEAAAAWAAoAAQABAAEAAAATAAkAAQABAAEAAAAUAAkAAQABAAEAAAAVAAoAAQABAAEAAAAQAAkAAQABAAEAAAARAAkAAQABAAEAAAASAAkAAQABAAEAAAANAAkAAQABAAEAAAAOAAkAAQABAAEAAAAPAAkAAQABAAEAAAALAAkAAQABAAEAAAAMAAkAAQABAAEAAAAKAAkAAQABAAEAAAAKAAoAAQABAAEAAAALAAoAAQABAAEAAAANAAoAAQABAAEAAAAMAAoAAQABAAEAAAAOAAoAAQABAAEAAAATAAoAAQABAAEAAAASAAoAAQABAAEAAAAUAAoAAQABAAEAAAAZAAwAAQABAAEAAAAYAAwAAQABAAEAAAAXAAwAAQABAAEAAAAdAAwAAQABAAEAAAAcAAwAAQABAAEAAAAbAAwAAQABAAEAAAAaAAwAAQABAAEAAAAeAAsAAQABAAEAAAAdAAoAAQABAAEAAAAaAAoAAQABAAEAAAAbAAoAAQABAAEAAAAcAAoAAQABAAEAAAAYAAkAAQABAAEAAAAZAAoAAQABAAEAAAAVAAkAAQABAAEAAAAWAAkAAQABAAEAAAAXAAkAAQABAAEAAAAYAAoAAQABAAEAAAAbAAkAAQABAAEAAAAbAAgAAQABAAEAAAAaAAgAAQABAAEAAAAZAAgAAQABAAEAAAAcAAgAAQABAAEAAAAeAAcAAQABAAEAAAAdAAgAAQABAAEAAAAfAAcAAQABAAEAAAAdAAcAAQABAAEAAAAcAAcAAQABAAEAAAAbAAcAAQABAAEAAAAaAAkAAQABAAEAAAAYAAsAAQABAAEAAAAZAAkAAQABAAEAAAAJAAoAAQABAAEAAAAFAA8AAQABAAEAAAAIABAAAQABAAEAAAAHABAAAQABAAEAAAAGAA8AAQABAAEAAAALABAAAQABAAEAAAAKABAAAQABAAEAAAAJABAAAQABAAEAAAANABAAAQABAAEAAAAMABAAAQABAAEAAAAPABAAAQABAAEAAAAOABAAAQABAAEAAAAQABAAAQABAAEAAAAOAA4AAQABAAEAAAAFABAAAQABAAEAAAAGABAAAQABAAEAAAASABEAAQABAAEAAAARABEAAQABAAEAAAATABEAAQABAAEAAAARABAAAQABAAEAAAAGABEAAQABAAEAAAAFABEAAQABAAEAAAAHABEAAQABAAEAAAARABMAAQABAAEAAAAIABEAAQABAAEAAAAJABEAAQABAAEAAAAKABEAAQABAAEAAAD+/xAAAQABAAEAAAD//xAAAQACAAIAAAD9/xgAAQABAAEAAAD9/xkAAQABAAEAAAD+/xkAAQACAAEAAAD8/xkAAQABAAEAAAD5/xcAAQABAAEAAAD7/xgAAQABAAEAAAD7/xkAAQABAAEAAAD8/xgAAQABAAEAAAD+/xgAAQACAAEAAAACABkAAQAAAAEAAAADABkAAQABAAEAAAAMABoAAQABAAEAAAANABoAAQABAAEAAAALABoAAQABAAEAAAAJABoAAQABAAEAAAAKABoAAQABAAEAAAAFABoAAQABAAEAAAAGABoAAQABAAEAAAAHABoAAQABAAEAAAAHABsAAQABAAEAAAAJABsAAQABAAEAAAAEABsAAQABAAEAAAAGABsAAQABAAEAAAAFABsAAQABAAEAAAAKABsAAQABAAEAAAACABsAAQAAAAEAAAADABsAAQABAAEAAAAMABwAAQABAAEAAAASAB0AAQABAAEAAAARAB0AAQABAAEAAAANABwAAQABAAEAAAAOABwAAQABAAEAAAAUAB0AAQABAAEAAAATAB0AAQABAAEAAAAWAB0AAQABAAEAAAAVAB0AAQABAAEAAAAXAB0AAQABAAEAAAASABwAAQABAAEAAAAQABwAAQABAAEAAAARABwAAQABAAEAAAAPABwAAQABAAEAAAAYAB0AAQABAAEAAAAaAB0AAQABAAEAAAAZAB0AAQABAAEAAAAbAB0AAQABAAEAAAAcAB0AAQABAAEAAAAdAB0AAQABAAEAAAAeAB0AAQABAAEAAAAfAB0AAQABAAEAAAAfABwAAQABAAEAAAAfABsAAQABAAEAAAAfABoAAQABAAEAAAAfABkAAQABAAEAAAAeABkAAQABAAEAAAAeABoAAQABAAEAAAAeABsAAQABAAEAAAAeABwAAQABAAEAAAAdABwAAQABAAEAAAAfABgAAQABAAEAAAAeABgAAQABAAEAAAAdABkAAQABAAEAAAAdABoAAQABAAEAAAAcABsAAQABAAEAAAAdABgAAQABAAEAAAAfABMAAQABAAEAAAAfABIAAQABAAEAAAAfABEAAQABAAEAAAAeABAAAQABAAEAAAAeABEAAQABAAEAAAAeABMAAQABAAEAAAAeABIAAQABAAEAAAAfABAAAQABAAEAAAAeAA8AAQABAAEAAAAeAA0AAQABAAEAAAAeAA4AAQABAAEAAAAeAAwAAQABAAEAAAAfAA4AAQABAAEAAAAfAA8AAQABAAEAAAAfAAwAAQABAAEAAAAfAA0AAQABAAEAAAAfAAoAAQABAAEAAAAfAAsAAQABAAEAAAAfAAkAAQABAAEAAAAeAAgAAQABAAEAAAAeAAkAAQABAAEAAAAeAAoAAQABAAEAAAAdAAsAAQABAAEAAAAfAAgAAQABAAEAAAAdAAkAAQABAAEAAAAcAAkAAQABAAEAAAAXAAgAAQABAAEAAAAYAAgAAQABAAEAAAAZAAsAAQABAAEAAAAaAAsAAQABAAEAAAAbAAsAAQABAAEAAAAcAAsAAQABAAEAAAASAAwAAQABAAEAAAATAAwAAQABAAEAAAAVAAwAAQABAAEAAAAUAAwAAQABAAEAAAAWAAwAAQABAAEAAAAWAA0AAQABAAEAAAAYAA0AAQABAAEAAAAXAA0AAQABAAEAAAAZAA0AAQABAAEAAAAQAA4AAQABAAEAAAAPAA4AAQABAAEAAAARAA4AAQABAAEAAAATAA4AAQABAAEAAAASAA4AAQABAAEAAAAUAA4AAQABAAEAAAAKAA8AAQABAAEAAAAMAA8AAQABAAEAAAALAA8AAQABAAEAAAANAA8AAQABAAEAAAASABAAAQABAAEAAAATABAAAQABAAEAAAAMABEAAQABAAEAAAANABEAAQABAAEAAAAOABEAAQABAAEAAAAPABEAAQABAAEAAAAQABEAAQABAAEAAAALABEAAQABAAEAAAAHAA8AAQABAAEAAAAJAA8AAQABAAEAAAAIAA8AAQABAAEAAAAdABAAAQABAAEAAAAcAA8AAQABAAEAAAAbAA8AAQABAAEAAAAdAA4AAQABAAEAAAAbAA4AAQABAAEAAAAcAA4AAQABAAEAAAAaAA4AAQABAAEAAAAZAA4AAQABAAEAAAAbAA0AAQABAAEAAAAcAA0AAQABAAEAAAAaAA0AAQABAAEAAAAdAA0AAQABAAEAAAAUABAAAQABAAEAAAAaABAAAQABAAEAAAAbABAAAQABAAEAAAAcABAAAQABAAEAAAAdAA8AAQABAAEAAAAcABEAAQABAAEAAAAcABIAAQABAAEAAAAdABIAAQABAAEAAAAdABEAAQABAAEAAAAcABoAAQABAAEAAAAcABkAAQABAAEAAAAcABgAAQABAAEAAAAdABsAAQABAAEAAAAcABwAAQABAAEAAAAbABwAAQABAAEAAAAaABwAAQABAAEAAAAbABsAAQABAAEAAAAaABsAAQABAAEAAAAZABwAAQABAAEAAAAYABwAAQABAAEAAAAXABwAAQABAAEAAAAZABsAAQABAAEAAAAXABsAAQABAAEAAAAYABsAAQABAAEAAAAVABsAAQABAAEAAAAWABsAAQABAAEAAAATABsAAQABAAEAAAAUABsAAQABAAEAAAARABsAAQABAAEAAAASABsAAQABAAEAAAAQABsAAQABAAEAAAATABwAAQABAAEAAAAVABwAAQABAAEAAAAUABwAAQABAAEAAAAWABwAAQABAAEAAAAOABsAAQABAAEAAAAPABsAAQABAAEAAAANABsAAQABAAEAAAALABsAAQABAAEAAAAMABsAAQABAAEAAAAPABoAAQABAAEAAAAOABoAAQABAAEAAAATABoAAQABAAEAAAASABoAAQABAAEAAAARABoAAQABAAEAAAAQABoAAQABAAEAAAAVABoAAQABAAEAAAAUABoAAQABAAEAAAAWABoAAQABAAEAAAAXABoAAQABAAEAAAAUABkAAQABAAEAAAASABkAAQABAAEAAAATABkAAQABAAEAAAARABkAAQABAAEAAAAWABgAAQABAAEAAAAVABgAAQABAAEAAAAXABgAAQABAAEAAAAYABgAAQABAAEAAAAZABgAAQABAAEAAAAXABMAAQABAAEAAAAWABIAAQABAAEAAAAVABIAAQABAAEAAAAUABIAAQABAAEAAAATABIAAQABAAEAAAASABIAAQABAAEAAAAVABEAAQABAAEAAAAWABEAAQABAAEAAAAWABAAAQABAAEAAAAVABAAAQABAAEAAAAUABEAAQABAAEAAAAVAA4AAQABAAEAAAATABMAAQABAAEAAAAUABMAAQABAAEAAAAXABEAAQABAAEAAAAXABAAAQABAAEAAAASABMAAQABAAEAAAAXABIAAQABAAEAAAAYABEAAQABAAEAAAAZABEAAQABAAEAAAAZABAAAQABAAEAAAAYABAAAQABAAEAAAAWABMAAQABAAEAAAAYABIAAQABAAEAAAAVABMAAQABAAEAAAAZABMAAQABAAEAAAAaABIAAQABAAEAAAAaABEAAQABAAEAAAAbABEAAQABAAEAAAAbABMAAQABAAEAAAAbABIAAQABAAEAAAAZABIAAQABAAEAAAAYABMAAQABAAEAAAAcABMAAQABAAEAAAAaABMAAQABAAEAAAAaABgAAQABAAEAAAAZABkAAQABAAEAAAAZABoAAQABAAEAAAAaABkAAQABAAEAAAAaABoAAQABAAEAAAAbABoAAQABAAEAAAAbABkAAQABAAEAAAAbABgAAQABAAEAAAAWABkAAQABAAEAAAAXABkAAQABAAEAAAAYABoAAQABAAEAAAAVABkAAQABAAEAAAAYABkAAQABAAEAAAAUABgAAQABAAEAAAATABgAAQABAAEAAAASABgAAQABAAEAAAARABgAAQABAAEAAAAKABkAAQABAAEAAAALABkAAQABAAEAAAAMABkAAQABAAEAAAAQABkAAQABAAEAAAAPABkAAQABAAEAAAAOABkAAQABAAEAAAANABkAAQABAAEAAAAGABkAAQABAAEAAAAFABkAAQABAAEAAAAEABkAAQABAAEAAAAFABUAAQABAAEAAAAGABUAAQABAAEAAAAHABUAAQABAAEAAAAIABUAAQABAAEAAAALABUAAQABAAEAAAAMABUAAQABAAEAAAANABUAAQABAAEAAAAOABQAAQABAAEAAAAPABQAAQABAAEAAAAQABQAAQABAAEAAAARABQAAQABAAEAAAASABQAAQABAAEAAAAdABMAAQABAAEAAAD+/xQAAQACAAEAAAD3/xMAAQABAAEAAAD4/xMAAQABAAEAAAD5/xMAAQABAAEAAAD6/xMAAQABAAEAAAD7/xMAAQABAAEAAAD8/xMAAQABAAEAAAD6/xcAAQABAAEAAAD4/xcAAQABAAEAAAD3/xcAAQABAAEAAAD0/xgAAQABAAEAAADx/xgAAQABAAEAAADw/xgAAQABAAEAAADv/xgAAQAAAAEAAADx/xMAAQABAAEAAADy/xMAAQABAAEAAADz/xMAAQABAAEAAAD0/xMAAQABAAEAAAD0/xIAAQABAAEAAADx/xIAAQABAAEAAADy/xIAAQABAAEAAADz/xIAAQABAAEAAADy/xQAAQABAAEAAAAHABkAAQABAAEAAAAJABkAAQABAAEAAAAOAAsAAQABAAEAAAAOAAwAAQABAAEAAAAOAA0AAQABAAEAAAAPAA0AAQABAAEAAAAQAA0AAQABAAEAAAARAA0AAQABAAEAAAARAAwAAQABAAEAAAARAAsAAQABAAEAAAARAAoAAQABAAEAAAAQAAoAAQABAAEAAAAPAAoAAQABAAEAAADz/xcAAQABAAEAAADz/xYAAQABAAEAAADz/xUAAQABAAEAAADy/xcAAQABAAEAAADy/xYAAQABAAEAAADy/xUAAQABAAEAAADx/xcAAQABAAEAAADx/xYAAQABAAEAAADx/xUAAQABAAEAAADw/xcAAQABAAEAAADw/xYAAQABAAEAAADw/xUAAQABAAEAAAAhABcAAQACAAEAAAAhABYAAQACAAEAAAAhABUAAQACAAEAAAAhABQAAQACAAEAAAAgABcAAQABAAEAAAAgABYAAQABAAEAAAAgABUAAQABAAEAAAAgABQAAQABAAEAAAAfABcAAQABAAEAAAAfABYAAQABAAEAAAAfABUAAQABAAEAAAAfABQAAQABAAEAAAAeABcAAQABAAEAAAAeABYAAQABAAEAAAAeABUAAQABAAEAAAAeABQAAQABAAEAAAAdABcAAQABAAEAAAAdABYAAQABAAEAAAAdABUAAQABAAEAAAAdABQAAQABAAEAAAAcABcAAQABAAEAAAAcABYAAQABAAEAAAAcABUAAQABAAEAAAAcABQAAQABAAEAAAAbABcAAQABAAEAAAAbABYAAQABAAEAAAAbABUAAQABAAEAAAAbABQAAQABAAEAAAAaABcAAQABAAEAAAAaABYAAQABAAEAAAAaABUAAQABAAEAAAAaABQAAQABAAEAAAAZABcAAQABAAEAAAAZABYAAQABAAEAAAAZABUAAQABAAEAAAAZABQAAQABAAEAAAAYABcAAQABAAEAAAAYABYAAQABAAEAAAAYABUAAQABAAEAAAAYABQAAQABAAEAAAAXABcAAQABAAEAAAAXABYAAQABAAEAAAAXABUAAQABAAEAAAAXABQAAQABAAEAAAAWABcAAQABAAEAAAAWABYAAQABAAEAAAAWABUAAQABAAEAAAAWABQAAQABAAEAAAAVABcAAQABAAEAAAAVABYAAQABAAEAAAAVABUAAQABAAEAAAAVABQAAQABAAEAAAAUABcAAQABAAEAAAAUABYAAQABAAEAAAAUABUAAQABAAEAAAAUABQAAQABAAEAAAATABcAAQABAAEAAAATABYAAQABAAEAAAATABUAAQABAAEAAAATABQAAQABAAEAAAASABcAAQABAAEAAAASABYAAQABAAEAAAASABUAAQABAAEAAAARABcAAQABAAEAAAARABYAAQABAAEAAAARABUAAQABAAEAAAAQABgAAQABAAEAAAAQABcAAQABAAEAAAAQABYAAQABAAEAAAAQABUAAQABAAEAAAAPABgAAQABAAEAAAAPABcAAQABAAEAAAAPABYAAQABAAEAAAAPABUAAQABAAEAAAAOABgAAQABAAEAAAAOABcAAQABAAEAAAAOABYAAQABAAEAAAAOABUAAQABAAEAAAANABgAAQABAAEAAAANABcAAQABAAEAAAANABYAAQABAAEAAAAMABgAAQABAAEAAAAMABcAAQABAAEAAAAMABYAAQABAAEAAAALABgAAQABAAEAAAALABcAAQABAAEAAAALABYAAQABAAEAAAAKABgAAQABAAEAAAAKABcAAQABAAEAAAAKABYAAQABAAEAAAAJABgAAQABAAEAAAAJABcAAQABAAEAAAAJABYAAQABAAEAAAAIABgAAQABAAEAAAAIABcAAQABAAEAAAAIABYAAQABAAEAAAAHABgAAQABAAEAAAAHABcAAQABAAEAAAAHABYAAQABAAEAAAAGABgAAQABAAEAAAAGABcAAQABAAEAAAAGABYAAQABAAEAAAAFABgAAQABAAEAAAAFABcAAQABAAEAAAAFABYAAQABAAEAAAAEABgAAQABAAEAAAAEABcAAQABAAEAAAAEABYAAQABAAEAAAAEABUAAQABAAEAAAADABgAAQABAAEAAAADABcAAQABAAEAAAADABYAAQAAAAEAAAADABUAAQAAAAEAAAACABgAAQAAAAEAAAACABcAAQAAAAAAAAD+/xcAAQACAAEAAAD+/xYAAQACAAEAAAD+/xUAAQACAAEAAAD9/xcAAQABAAEAAAD9/xYAAQABAAEAAAD9/xUAAQABAAEAAAD9/xQAAQABAAEAAAD8/xcAAQABAAEAAAD8/xYAAQABAAEAAAD8/xUAAQABAAEAAAD8/xQAAQABAAEAAAD7/xcAAQABAAEAAAD7/xYAAQABAAEAAAD7/xUAAQABAAEAAAD7/xQAAQABAAEAAAD6/xYAAQABAAEAAAD6/xUAAQABAAEAAAD6/xQAAQABAAEAAAD5/xYAAQABAAEAAAD5/xUAAQABAAEAAAD5/xQAAQABAAEAAAD4/xYAAQABAAEAAAD4/xUAAQABAAEAAAD4/xQAAQABAAEAAAD3/xYAAQABAAEAAAD3/xUAAQABAAEAAAD3/xQAAQABAAEAAAD2/xcAAQABAAEAAAD2/xYAAQABAAEAAAD2/xUAAQABAAEAAAD2/xQAAQABAAEAAAD1/xcAAQABAAEAAAD1/xYAAQABAAEAAAD1/xUAAQABAAEAAAD1/xQAAQABAAEAAAD0/xcAAQABAAEAAAD0/xYAAQABAAEAAAD0/xUAAQABAAEAAAD0/xQAAQABAAEAAADz/xQAAQABAAEAAADv/xcAAQAAAAEAAADv/xYAAQAAAAEAAAAOAB4AAQABAAEAAAAOAB0AAQABAAEAAAANAB4AAQABAAEAAAANAB0AAQABAAEAAAAMAB4AAQABAAEAAAAMAB0AAQABAAEAAAAKAB8AAQABAAEAAAAKAB4AAQABAAEAAAAKAB0AAQABAAEAAAAJAB8AAQABAAEAAAAJAB4AAQABAAEAAAAJAB0AAQABAAEAAAAJABwAAQABAAEAAAAIAB8AAQABAAEAAAAIAB4AAQABAAEAAAAIAB0AAQABAAEAAAAIABwAAQABAAEAAAAIABsAAQABAAEAAAAIABoAAQABAAEAAAAIABkAAQABAAEAAAAHAB8AAQABAAEAAAAHAB4AAQABAAEAAAAHAB0AAQABAAEAAAAHABwAAQABAAEAAAAGAB8AAQABAAEAAAAGAB4AAQABAAEAAAAGAB0AAQABAAEAAAAQAAwAAQABAAEAAAAQAAsAAQABAAEAAAAPAAwAAQABAAEAAAAPAAsAAQABAAEAAAA=") +tile_set = ExtResource("3_qaen6") +metadata/_edit_lock_ = true + +[node name="Paths_Level1" type="TileMapLayer" parent="TileMapLayers" unique_id=507202143] +modulate = Color(0.501961, 0.52549, 0.631373, 1) +tile_map_data = PackedByteArray("AAAGAAIAAQAFAAIAAAAHAAIAAQAGAAEAAAAIAAIAAQAGAAEAAAAJAAIAAQAGAAEAAAAKAAIAAQAHAAIAAAAHAAMAAQAFAAEAAAAKAAEAAQAHAAAAAAAJAAEAAQAGAAAAAAAIAAEAAQAGAAAAAAAHAAEAAQAGAAAAAAAGAAEAAQAFAAAAAAAJAAMAAQAHAAEAAAAIAAMAAQAGAAEAAAAIAAUAAQAGAAEAAAAIAAQAAQAGAAEAAAAHAAUAAQAFAAEAAAAHAAQAAQAFAAEAAAAJAAUAAQAHAAEAAAAJAAQAAQAHAAEAAAAJAB8AAQAHAAEAAAAJAB4AAQAHAAEAAAAJAB0AAQAHAAEAAAAJABwAAQAHAAEAAAAJABsAAQAHAAEAAAAJABoAAQAHAAEAAAAJABkAAQAHAAEAAAAJABgAAQAHAAEAAAAJABcAAQAHAAEAAAAJABYAAQAHAAEAAAAJABUAAQAHAAEAAAAJABQAAQAHAAEAAAAJABMAAQAHAAEAAAAJABIAAQAHAAEAAAAJABEAAQAHAAEAAAAJABAAAQAHAAEAAAAJAA8AAQAGAAEAAAAJAA4AAQAGAAEAAAAJAA0AAQAHAAEAAAAJAAwAAQAHAAEAAAAJAAsAAQAHAAEAAAAJAAoAAQAHAAEAAAAJAAkAAQAHAAEAAAAJAAgAAQAHAAEAAAAJAAcAAQAHAAEAAAAJAAYAAQAHAAEAAAAIAB8AAQAGAAEAAAAIAB4AAQAGAAEAAAAIAB0AAQAGAAEAAAAIABwAAQAGAAEAAAAIABsAAQAGAAEAAAAIABoAAQAGAAEAAAAIABkAAQAGAAEAAAAIABgAAQAGAAEAAAAIABcAAQAGAAEAAAAIABYAAQAGAAEAAAAIABUAAQAGAAEAAAAIABQAAQAGAAEAAAAIABMAAQAGAAEAAAAIABIAAQAGAAEAAAAIABEAAQAGAAEAAAAIABAAAQAGAAEAAAAIAA8AAQAGAAEAAAAIAA4AAQAGAAEAAAAIAA0AAQAGAAEAAAAIAAwAAQAGAAEAAAAIAAsAAQAGAAEAAAAIAAoAAQAGAAEAAAAIAAkAAQAGAAEAAAAIAAgAAQAGAAEAAAAIAAcAAQAGAAEAAAAIAAYAAQAGAAEAAAAHAB8AAQAFAAEAAAAHAB4AAQAFAAEAAAAHAB0AAQAFAAEAAAAHABwAAQAFAAEAAAAHABsAAQAFAAEAAAAHABoAAQAFAAEAAAAHABkAAQAFAAEAAAAHABgAAQAFAAEAAAAHABcAAQAFAAEAAAAHABYAAQAFAAEAAAAHABUAAQAFAAEAAAAHABQAAQAFAAEAAAAHABMAAQAGAAEAAAAHABIAAQAFAAEAAAAHABEAAQAFAAEAAAAHABAAAQAFAAEAAAAHAA8AAQAFAAEAAAAHAA4AAQAFAAEAAAAHAA0AAQAFAAEAAAAHAAwAAQAFAAEAAAAHAAsAAQAFAAEAAAAHAAoAAQAFAAEAAAAHAAkAAQAFAAEAAAAHAAgAAQAFAAEAAAAHAAcAAQAFAAEAAAAHAAYAAQAFAAEAAAAUAA8AAQAHAAMAAAATAA8AAQAGAAIAAAATAA4AAQAHAAAAAAASAA8AAQAGAAIAAAASAA4AAQAGAAAAAAARAA8AAQAGAAIAAAARAA4AAQAGAAAAAAAQAA8AAQAGAAIAAAAQAA4AAQAGAAAAAAAPAA8AAQAGAAIAAAAPAA4AAQAGAAAAAAAOAA8AAQAGAAIAAAAOAA4AAQAGAAAAAAANAA8AAQAGAAIAAAANAA4AAQAGAAAAAAAMAA8AAQAGAAIAAAAMAA4AAQAGAAAAAAALAA8AAQAGAAIAAAALAA4AAQAGAAAAAAAKAA8AAQAGAAIAAAAKAA4AAQAGAAAAAAAGABMAAQAGAAMAAAAFABMAAQAGAAMAAAAEABMAAQAGAAMAAAADABMAAQAFAAMAAAD+/xMAAQAHAAMAAAD9/xMAAQAGAAMAAAD8/xMAAQAGAAMAAAAJACAAAQAHAAIAAAAIACAAAQAGAAIAAAAHACAAAQAFAAIAAAD7/xMAAQAGAAMAAAD6/xMAAQAGAAMAAAD5/xMAAQAGAAMAAAD4/xMAAQAFAAMAAAA=") +tile_set = ExtResource("3_qaen6") +metadata/_edit_lock_ = true + +[node name="BridgesShadow" type="TileMapLayer" parent="TileMapLayers" unique_id=750946971] +tile_set = ExtResource("5_6dbrk") + +[node name="Bridges" type="TileMapLayer" parent="TileMapLayers" unique_id=1313797666] +tile_map_data = PackedByteArray("AAABABMAAwACAAIAAAACABMAAwABAAAAAAADABMAAwACAAAAAAD//xMAAwABAAAAAAAAABMAAwABAAAAAAD+/xMAAwAAAAAAAAA=") +tile_set = ExtResource("5_6dbrk") +metadata/_edit_lock_ = true + +[node name="OnTheGround" type="Node2D" parent="." unique_id=366052046] +y_sort_enabled = true + +[node name="Houses" type="Node2D" parent="OnTheGround" unique_id=869957314] +y_sort_enabled = true + +[node name="HouseWoolRedStage3" parent="OnTheGround/Houses" unique_id=1939399966 instance=ExtResource("6_iy8db")] +position = Vector2(314, 480) +texture = ExtResource("7_yc75f") + +[node name="HouseWoolRedStage2" parent="OnTheGround/Houses" unique_id=1177307947 instance=ExtResource("6_iy8db")] +position = Vector2(861, 1689) +texture = ExtResource("8_ktw6q") + +[node name="HousePatchesRedStage3" parent="OnTheGround/Houses" unique_id=1290818604 instance=ExtResource("6_iy8db")] +position = Vector2(1126, 1240) +texture = ExtResource("10_0oa7x") + +[node name="HousePatchesRedStage4" parent="OnTheGround/Houses" unique_id=102580821 instance=ExtResource("6_iy8db")] +position = Vector2(222, 1808) +texture = ExtResource("10_0oa7x") + +[node name="HousePatchesRedStage7" parent="OnTheGround/Houses" unique_id=159916657 instance=ExtResource("6_iy8db")] +position = Vector2(902, 1860) +texture = ExtResource("10_0oa7x") + +[node name="HousePatchesRedStage2" parent="OnTheGround/Houses" unique_id=764939459 instance=ExtResource("6_iy8db")] +position = Vector2(944, 1457) +texture = ExtResource("11_cegha") + +[node name="HousePatchesRedStage6" parent="OnTheGround/Houses" unique_id=316359980 instance=ExtResource("6_iy8db")] +position = Vector2(311, 1151) +texture = ExtResource("11_cegha") + +[node name="Player" parent="OnTheGround" unique_id=2045681530 instance=ExtResource("18_wv5oa")] +position = Vector2(539, 1972) +player_name = "StoryWeaver" +sprite_frames = ExtResource("19_csaef") + +[node name="Camera2D" type="Camera2D" parent="OnTheGround/Player" unique_id=1831482842] +limit_left = -400 +limit_top = 125 +limit_right = 1500 +limit_bottom = 2048 +position_smoothing_enabled = true +editor_draw_limits = true + +[node name="BridgeTownie" parent="OnTheGround" unique_id=1098678013 instance=ExtResource("13_00h6t")] +position = Vector2(228, 1188) +character_seed = 2682248531 + +[node name="TalkBehavior" type="Node" parent="OnTheGround/BridgeTownie" unique_id=1235506984 node_paths=PackedStringArray("interact_area")] +script = ExtResource("13_pagfm") +dialogue = ExtResource("14_1xj85") +interact_area = NodePath("../InteractArea") +metadata/_custom_type_script = "uid://edcifob4jc4s" + +[node name="InteractArea" parent="OnTheGround/BridgeTownie" unique_id=248145530 instance=ExtResource("15_yr4nl")] +interact_label_position = Vector2(0, -100) +action = "Talk to Bridget" + +[node name="CollisionShape2D" type="CollisionShape2D" parent="OnTheGround/BridgeTownie/InteractArea" unique_id=1636031978] +position = Vector2(0, -23.5) +shape = SubResource("RectangleShape2D_fgnem") +debug_color = Color(0.600391, 0.54335, 0, 0.42) + +[node name="Sign" parent="OnTheGround" unique_id=1579530966 instance=ExtResource("14_4mhqc")] +position = Vector2(360, 261) +direction = 1 +text = "Musician's +House" + +[node name="ScreenOverlay" type="CanvasLayer" parent="." unique_id=1333274951] + +[node name="BackgroundMusic" parent="." unique_id=1461759951 instance=ExtResource("15_aq1vr")] +stream = ExtResource("16_b045v") + +[node name="TimeAndWeather" parent="." unique_id=1446545037 instance=ExtResource("17_dkj4p")] + +[node name="BoundaryForest" type="StaticBody2D" parent="." unique_id=181844171] +y_sort_enabled = true +collision_layer = 16 +collision_mask = 0 + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="BoundaryForest" unique_id=1178368768] +polygon = PackedVector2Array(76, 424, 135, 133, 157, -52, 1019, -71, 1023, 117, 1127, 239, 1234, 343, 1277, 679, 1287, 928, 1298, 1321, 1201, 1672, 924, 2047, 939, 2255, 1589, 2197, 1718, 2050, 1758, 1437, 1826, 932, 1841, 100, 1670, -124, -209, -217, -479, 444) + +[node name="AreaFiller" type="Node" parent="BoundaryForest" unique_id=814944044] +script = ExtResource("17_00h6t") +scenes = Array[PackedScene]([ExtResource("18_4mhqc")]) +sprite_frames = Array[SpriteFrames]([ExtResource("19_pvf7f")]) +metadata/_custom_type_script = "uid://bdhjixygupit1" + +[node name="Tree" parent="BoundaryForest" unique_id=1182216860 instance=ExtResource("18_4mhqc")] +position = Vector2(14.630493, -205.93155) +scale = Vector2(0.8422368, 0.86369115) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree2" parent="BoundaryForest" unique_id=302335493 instance=ExtResource("18_4mhqc")] +position = Vector2(-2.4856014, -100.79083) +scale = Vector2(1.0931156, 1.1894761) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree3" parent="BoundaryForest" unique_id=1607484825 instance=ExtResource("18_4mhqc")] +position = Vector2(106.23374, -166.41135) +scale = Vector2(1.2976753, 1.1954268) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree4" parent="BoundaryForest" unique_id=1282367450 instance=ExtResource("18_4mhqc")] +position = Vector2(-44.18856, -37.863407) +scale = Vector2(1.0993803, 1.0694087) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree5" parent="BoundaryForest" unique_id=312307307 instance=ExtResource("18_4mhqc")] +position = Vector2(125.0849, -68.2481) +scale = Vector2(1.198433, 1.1872325) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree6" parent="BoundaryForest" unique_id=2023928224 instance=ExtResource("18_4mhqc")] +position = Vector2(224.79916, -163.11472) +scale = Vector2(1.28175, 1.1955006) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree7" parent="BoundaryForest" unique_id=1998499084 instance=ExtResource("18_4mhqc")] +position = Vector2(197.8977, -81.79516) +scale = Vector2(0.7771443, 0.82416344) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree8" parent="BoundaryForest" unique_id=810265917 instance=ExtResource("18_4mhqc")] +position = Vector2(-76.22904, -126.01812) +scale = Vector2(1.0381308, 0.9834031) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree9" parent="BoundaryForest" unique_id=1284617308 instance=ExtResource("18_4mhqc")] +position = Vector2(305.22723, -58.720047) +scale = Vector2(1.1713709, 1.0649378) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree10" parent="BoundaryForest" unique_id=104113794 instance=ExtResource("18_4mhqc")] +position = Vector2(-133.1924, -59.89818) +scale = Vector2(1.0856808, 1.1970322) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree11" parent="BoundaryForest" unique_id=239646520 instance=ExtResource("18_4mhqc")] +position = Vector2(290.7099, -149.74985) +scale = Vector2(1.2608598, 1.1603571) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree12" parent="BoundaryForest" unique_id=1216256088 instance=ExtResource("18_4mhqc")] +position = Vector2(167.15222, -196.39182) +scale = Vector2(0.7853449, 0.8441533) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree13" parent="BoundaryForest" unique_id=1886021388 instance=ExtResource("18_4mhqc")] +position = Vector2(-86.600845, 19.07618) +scale = Vector2(0.8297843, 0.8207531) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree14" parent="BoundaryForest" unique_id=1259610331 instance=ExtResource("18_4mhqc")] +position = Vector2(-159.13646, -204.03983) +scale = Vector2(1.0563822, 0.98986554) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree15" parent="BoundaryForest" unique_id=2100243128 instance=ExtResource("18_4mhqc")] +position = Vector2(-14.598944, 30.612164) +scale = Vector2(1.0832034, 1.0848687) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree16" parent="BoundaryForest" unique_id=1052215470 instance=ExtResource("18_4mhqc")] +position = Vector2(-177.15665, 32.039604) +scale = Vector2(1.2473167, 1.1931475) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree17" parent="BoundaryForest" unique_id=2088314760 instance=ExtResource("18_4mhqc")] +position = Vector2(116.3111, 13.885361) +scale = Vector2(0.9413178, 0.92242074) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree18" parent="BoundaryForest" unique_id=399541806 instance=ExtResource("18_4mhqc")] +position = Vector2(-191.0683, -133.65874) +scale = Vector2(0.78756887, 0.81904644) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree19" parent="BoundaryForest" unique_id=1866740080 instance=ExtResource("18_4mhqc")] +position = Vector2(-73.34671, -194.56602) +scale = Vector2(1.0035964, 0.97970045) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree20" parent="BoundaryForest" unique_id=79339988 instance=ExtResource("18_4mhqc")] +position = Vector2(61.9039, -108.28677) +scale = Vector2(1.0399923, 0.99788606) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree21" parent="BoundaryForest" unique_id=552161628 instance=ExtResource("18_4mhqc")] +position = Vector2(-240.35995, 43.234344) +scale = Vector2(1.0596998, 1.0649726) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree22" parent="BoundaryForest" unique_id=216056335 instance=ExtResource("18_4mhqc")] +position = Vector2(383.72, -92.985855) +scale = Vector2(0.9732109, 1.0339102) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree23" parent="BoundaryForest" unique_id=952578651 instance=ExtResource("18_4mhqc")] +position = Vector2(-204.56546, 130.33633) +scale = Vector2(0.8780728, 0.93380797) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree24" parent="BoundaryForest" unique_id=1927471269 instance=ExtResource("18_4mhqc")] +position = Vector2(-298.3497, 170.12436) +scale = Vector2(1.0996205, 1.0122702) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree25" parent="BoundaryForest" unique_id=381460166 instance=ExtResource("18_4mhqc")] +position = Vector2(38.054214, -27.409378) +scale = Vector2(1.083005, 1.0497146) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree26" parent="BoundaryForest" unique_id=582996005 instance=ExtResource("18_4mhqc")] +position = Vector2(-114.639046, 92.20072) +scale = Vector2(0.9967949, 1.0022204) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree27" parent="BoundaryForest" unique_id=963671279 instance=ExtResource("18_4mhqc")] +position = Vector2(56.449738, 40.36418) +scale = Vector2(0.79549587, 0.8390684) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree28" parent="BoundaryForest" unique_id=1477318187 instance=ExtResource("18_4mhqc")] +position = Vector2(-283.70154, -19.534237) +scale = Vector2(0.90159535, 0.95254076) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree29" parent="BoundaryForest" unique_id=1783694211 instance=ExtResource("18_4mhqc")] +position = Vector2(-84.155594, 212.20294) +scale = Vector2(0.8337088, 0.8648388) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree30" parent="BoundaryForest" unique_id=1267187077 instance=ExtResource("18_4mhqc")] +position = Vector2(-171.0697, 204.91463) +scale = Vector2(0.853965, 0.91570485) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree31" parent="BoundaryForest" unique_id=1188271624 instance=ExtResource("18_4mhqc")] +position = Vector2(-148.25249, 303.18347) +scale = Vector2(1.1231142, 1.1713406) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree32" parent="BoundaryForest" unique_id=1014208056 instance=ExtResource("18_4mhqc")] +position = Vector2(-228.5173, -76.16485) +scale = Vector2(0.91273886, 0.9132714) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree33" parent="BoundaryForest" unique_id=829304107 instance=ExtResource("18_4mhqc")] +position = Vector2(-79.1516, 283.80933) +scale = Vector2(1.1299423, 1.0856894) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree34" parent="BoundaryForest" unique_id=1864665425 instance=ExtResource("18_4mhqc")] +position = Vector2(-42.896606, 90.43021) +scale = Vector2(0.97228605, 0.98333895) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree35" parent="BoundaryForest" unique_id=1499131222 instance=ExtResource("18_4mhqc")] +position = Vector2(-251.75339, 338.47076) +scale = Vector2(0.8420719, 0.81927) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree36" parent="BoundaryForest" unique_id=1749970603 instance=ExtResource("18_4mhqc")] +position = Vector2(72.810776, 118.29075) +scale = Vector2(0.8042163, 0.8412871) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree37" parent="BoundaryForest" unique_id=957872398 instance=ExtResource("18_4mhqc")] +position = Vector2(411.71054, -162.20988) +scale = Vector2(0.857671, 0.9119225) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree38" parent="BoundaryForest" unique_id=796016918 instance=ExtResource("18_4mhqc")] +position = Vector2(495.1577, -170.73196) +scale = Vector2(1.0353997, 1.0178056) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree39" parent="BoundaryForest" unique_id=1920308461 instance=ExtResource("18_4mhqc")] +position = Vector2(-3.3861961, 181.93231) +scale = Vector2(0.98660773, 0.9210462) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree40" parent="BoundaryForest" unique_id=1487609027 instance=ExtResource("18_4mhqc")] +position = Vector2(32.401672, 247.90764) +scale = Vector2(0.9022902, 0.9008161) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree41" parent="BoundaryForest" unique_id=1167908823 instance=ExtResource("18_4mhqc")] +position = Vector2(-112.60669, 388.2657) +scale = Vector2(1.1211557, 1.1847581) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree42" parent="BoundaryForest" unique_id=426889891 instance=ExtResource("18_4mhqc")] +position = Vector2(-206.5524, 273.70792) +scale = Vector2(0.8095741, 0.85169744) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree43" parent="BoundaryForest" unique_id=2026132219 instance=ExtResource("18_4mhqc")] +position = Vector2(114.93036, 179.32101) +scale = Vector2(0.93003315, 0.88224757) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree44" parent="BoundaryForest" unique_id=281020929 instance=ExtResource("18_4mhqc")] +position = Vector2(-187.67697, 370.47235) +scale = Vector2(1.067436, 1.0043987) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree45" parent="BoundaryForest" unique_id=611714825 instance=ExtResource("18_4mhqc")] +position = Vector2(132.57898, 95.376686) +scale = Vector2(1.1026659, 1.1282699) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree46" parent="BoundaryForest" unique_id=1996598759 instance=ExtResource("18_4mhqc")] +position = Vector2(-24.53963, 357.69495) +scale = Vector2(0.78274924, 0.84015393) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree47" parent="BoundaryForest" unique_id=556932174 instance=ExtResource("18_4mhqc")] +position = Vector2(-315.13666, 105.77468) +scale = Vector2(1.064121, 1.1639613) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree48" parent="BoundaryForest" unique_id=918333140 instance=ExtResource("18_4mhqc")] +position = Vector2(-377.87167, 231.07498) +scale = Vector2(0.84922093, 0.83233744) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree49" parent="BoundaryForest" unique_id=158043544 instance=ExtResource("18_4mhqc")] +position = Vector2(-287.52286, 404.07535) +scale = Vector2(0.77642953, 0.80491644) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree50" parent="BoundaryForest" unique_id=1436328789 instance=ExtResource("18_4mhqc")] +position = Vector2(-362.35428, 378.55453) +scale = Vector2(1.0395665, 0.98552585) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree51" parent="BoundaryForest" unique_id=1724368276 instance=ExtResource("18_4mhqc")] +position = Vector2(-394.65692, 298.12488) +scale = Vector2(1.0438104, 0.99893624) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree52" parent="BoundaryForest" unique_id=1796123024 instance=ExtResource("18_4mhqc")] +position = Vector2(83.81668, 330.08994) +scale = Vector2(1.1871818, 1.1467652) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree53" parent="BoundaryForest" unique_id=417744530 instance=ExtResource("18_4mhqc")] +position = Vector2(-240.0374, 219.0115) +scale = Vector2(1.1819043, 1.0769455) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree54" parent="BoundaryForest" unique_id=538668368 instance=ExtResource("18_4mhqc")] +position = Vector2(-325.49084, 318.54608) +scale = Vector2(1.159228, 1.0592068) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree55" parent="BoundaryForest" unique_id=943528241 instance=ExtResource("18_4mhqc")] +position = Vector2(345.17993, -186.47017) +scale = Vector2(0.9682553, 0.9847494) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree56" parent="BoundaryForest" unique_id=2022140616 instance=ExtResource("18_4mhqc")] +position = Vector2(579.63586, -153.3863) +scale = Vector2(1.0687035, 0.9796805) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree57" parent="BoundaryForest" unique_id=1604867180 instance=ExtResource("18_4mhqc")] +position = Vector2(-303.7478, 246.28857) +scale = Vector2(0.75371027, 0.8182159) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree58" parent="BoundaryForest" unique_id=329435877 instance=ExtResource("18_4mhqc")] +position = Vector2(-413.19397, 418.05972) +scale = Vector2(1.173165, 1.0967726) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree59" parent="BoundaryForest" unique_id=145526827 instance=ExtResource("18_4mhqc")] +position = Vector2(-431.55554, 352.98166) +scale = Vector2(0.92376435, 1.0119218) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree60" parent="BoundaryForest" unique_id=2077481791 instance=ExtResource("18_4mhqc")] +position = Vector2(-216.19646, 428.99106) +scale = Vector2(1.1533015, 1.0502765) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree61" parent="BoundaryForest" unique_id=931996731 instance=ExtResource("18_4mhqc")] +position = Vector2(456.9729, -97.86566) +scale = Vector2(0.8548509, 0.9353702) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree62" parent="BoundaryForest" unique_id=1598741486 instance=ExtResource("18_4mhqc")] +position = Vector2(580.0489, -72.855225) +scale = Vector2(0.9748221, 0.9977253) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree63" parent="BoundaryForest" unique_id=331167885 instance=ExtResource("18_4mhqc")] +position = Vector2(77.20764, 404.66714) +scale = Vector2(1.1078855, 1.1743366) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree64" parent="BoundaryForest" unique_id=140295015 instance=ExtResource("18_4mhqc")] +position = Vector2(104.884384, 249.2265) +scale = Vector2(0.9181408, 0.9671134) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree65" parent="BoundaryForest" unique_id=639013863 instance=ExtResource("18_4mhqc")] +position = Vector2(700.5477, -108.197525) +scale = Vector2(0.8724241, 0.868043) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree66" parent="BoundaryForest" unique_id=1828978362 instance=ExtResource("18_4mhqc")] +position = Vector2(515.79083, -65.803955) +scale = Vector2(1.025821, 1.0704641) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree67" parent="BoundaryForest" unique_id=1650335579 instance=ExtResource("18_4mhqc")] +position = Vector2(-31.9649, 426.42358) +scale = Vector2(1.1191603, 1.0883682) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree68" parent="BoundaryForest" unique_id=958327396 instance=ExtResource("18_4mhqc")] +position = Vector2(646.0181, -152.01936) +scale = Vector2(1.0086503, 1.0484836) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree69" parent="BoundaryForest" unique_id=1620112301 instance=ExtResource("18_4mhqc")] +position = Vector2(801.53156, -118.00391) +scale = Vector2(1.1914963, 1.1051694) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree70" parent="BoundaryForest" unique_id=169426201 instance=ExtResource("18_4mhqc")] +position = Vector2(746.95557, -164.87122) +scale = Vector2(1.0264376, 1.0521096) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree71" parent="BoundaryForest" unique_id=1554456833 instance=ExtResource("18_4mhqc")] +position = Vector2(857.1541, -149.9844) +scale = Vector2(1.0361446, 1.0259953) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree72" parent="BoundaryForest" unique_id=1969621936 instance=ExtResource("18_4mhqc")] +position = Vector2(928.1512, -87.76448) +scale = Vector2(1.2631751, 1.1798322) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree73" parent="BoundaryForest" unique_id=2073537364 instance=ExtResource("18_4mhqc")] +position = Vector2(1014.11945, -95.32537) +scale = Vector2(0.9845862, 0.9258448) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree74" parent="BoundaryForest" unique_id=1520903803 instance=ExtResource("18_4mhqc")] +position = Vector2(1088.4554, 7.16584) +scale = Vector2(1.1635368, 1.1133364) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree75" parent="BoundaryForest" unique_id=1741145404 instance=ExtResource("18_4mhqc")] +position = Vector2(965.0161, -145.81761) +scale = Vector2(0.79962796, 0.8705042) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree76" parent="BoundaryForest" unique_id=1423625361 instance=ExtResource("18_4mhqc")] +position = Vector2(1203.3916, -3.1456566) +scale = Vector2(1.0413189, 1.1425873) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree77" parent="BoundaryForest" unique_id=2758723 instance=ExtResource("18_4mhqc")] +position = Vector2(1070.1512, -126.785) +scale = Vector2(1.1789926, 1.099893) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree78" parent="BoundaryForest" unique_id=331132833 instance=ExtResource("18_4mhqc")] +position = Vector2(1133.153, -73.37275) +scale = Vector2(0.91717595, 0.8561736) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree79" parent="BoundaryForest" unique_id=884959391 instance=ExtResource("18_4mhqc")] +position = Vector2(1167.7026, -134.9606) +scale = Vector2(0.8575511, 0.94091827) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree80" parent="BoundaryForest" unique_id=1737119520 instance=ExtResource("18_4mhqc")] +position = Vector2(1250.3472, -87.55472) +scale = Vector2(1.1265188, 1.1622205) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree81" parent="BoundaryForest" unique_id=1240460263 instance=ExtResource("18_4mhqc")] +position = Vector2(1067.685, -60.090347) +scale = Vector2(1.1892655, 1.1241431) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree82" parent="BoundaryForest" unique_id=1272108751 instance=ExtResource("18_4mhqc")] +position = Vector2(1024.4766, 38.960808) +scale = Vector2(1.018772, 0.9332196) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree83" parent="BoundaryForest" unique_id=18370433 instance=ExtResource("18_4mhqc")] +position = Vector2(1115.2943, 80.51389) +scale = Vector2(1.1147976, 1.0568966) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree84" parent="BoundaryForest" unique_id=290504663 instance=ExtResource("18_4mhqc")] +position = Vector2(1301.6011, 58.261574) +scale = Vector2(0.9390244, 0.9226363) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree85" parent="BoundaryForest" unique_id=1436204690 instance=ExtResource("18_4mhqc")] +position = Vector2(1360.8713, -118.688995) +scale = Vector2(1.2350892, 1.1525041) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree86" parent="BoundaryForest" unique_id=989708187 instance=ExtResource("18_4mhqc")] +position = Vector2(1068.2332, 142.5888) +scale = Vector2(0.9203047, 0.9086335) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree87" parent="BoundaryForest" unique_id=1386321376 instance=ExtResource("18_4mhqc")] +position = Vector2(1128.327, 179.7179) +scale = Vector2(0.80291253, 0.8229403) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree88" parent="BoundaryForest" unique_id=963143913 instance=ExtResource("18_4mhqc")] +position = Vector2(1177.2706, 227.88191) +scale = Vector2(0.92924917, 0.9417204) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree89" parent="BoundaryForest" unique_id=2045819666 instance=ExtResource("18_4mhqc")] +position = Vector2(1255.9498, 203.24666) +scale = Vector2(0.9780505, 0.90853554) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree90" parent="BoundaryForest" unique_id=1156604155 instance=ExtResource("18_4mhqc")] +position = Vector2(1247.7345, 125.35688) +scale = Vector2(1.1709741, 1.1003134) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree91" parent="BoundaryForest" unique_id=627855537 instance=ExtResource("18_4mhqc")] +position = Vector2(1343.0759, -23.821476) +scale = Vector2(0.91745627, 0.8862784) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree92" parent="BoundaryForest" unique_id=239763415 instance=ExtResource("18_4mhqc")] +position = Vector2(1166.9258, 124.91626) +scale = Vector2(0.9488785, 0.93602717) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree93" parent="BoundaryForest" unique_id=1877240208 instance=ExtResource("18_4mhqc")] +position = Vector2(1313.7651, 306.74597) +scale = Vector2(0.99245733, 1.047933) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree94" parent="BoundaryForest" unique_id=1061925635 instance=ExtResource("18_4mhqc")] +position = Vector2(1216.2926, 310.53058) +scale = Vector2(0.7598241, 0.8038783) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree95" parent="BoundaryForest" unique_id=1829288773 instance=ExtResource("18_4mhqc")] +position = Vector2(1288.9227, 399.37097) +scale = Vector2(0.9626898, 0.96328634) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree96" parent="BoundaryForest" unique_id=469525889 instance=ExtResource("18_4mhqc")] +position = Vector2(1445.3116, -68.45508) +scale = Vector2(1.0610113, 1.1647406) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree97" parent="BoundaryForest" unique_id=1924594993 instance=ExtResource("18_4mhqc")] +position = Vector2(1516.3802, -42.129868) +scale = Vector2(0.9124166, 0.895316) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree98" parent="BoundaryForest" unique_id=84964819 instance=ExtResource("18_4mhqc")] +position = Vector2(1484.5908, -128.33173) +scale = Vector2(0.86816937, 0.86094046) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree99" parent="BoundaryForest" unique_id=876137533 instance=ExtResource("18_4mhqc")] +position = Vector2(1363.3477, 148.83107) +scale = Vector2(0.9263868, 0.92581946) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree100" parent="BoundaryForest" unique_id=642711492 instance=ExtResource("18_4mhqc")] +position = Vector2(1641.689, -46.655144) +scale = Vector2(1.1867819, 1.1124536) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree101" parent="BoundaryForest" unique_id=1716982815 instance=ExtResource("18_4mhqc")] +position = Vector2(1398.377, 390.4632) +scale = Vector2(0.88584846, 0.8215905) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree102" parent="BoundaryForest" unique_id=1099102184 instance=ExtResource("18_4mhqc")] +position = Vector2(1482.8289, 395.72534) +scale = Vector2(1.0354286, 1.0102317) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree103" parent="BoundaryForest" unique_id=1874042314 instance=ExtResource("18_4mhqc")] +position = Vector2(1583.1464, -126.10892) +scale = Vector2(0.9828543, 0.90372115) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree104" parent="BoundaryForest" unique_id=204689416 instance=ExtResource("18_4mhqc")] +position = Vector2(1477.1683, 30.782654) +scale = Vector2(1.1948594, 1.1849681) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree105" parent="BoundaryForest" unique_id=2006623197 instance=ExtResource("18_4mhqc")] +position = Vector2(1368.6658, 226.6769) +scale = Vector2(1.1088215, 1.026525) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree106" parent="BoundaryForest" unique_id=2027347282 instance=ExtResource("18_4mhqc")] +position = Vector2(1379.4578, 58.301727) +scale = Vector2(1.1681099, 1.1339077) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree107" parent="BoundaryForest" unique_id=1338928157 instance=ExtResource("18_4mhqc")] +position = Vector2(1437.0598, 124.789536) +scale = Vector2(0.9079659, 1.0082465) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree108" parent="BoundaryForest" unique_id=1623786583 instance=ExtResource("18_4mhqc")] +position = Vector2(1402.3274, 289.20923) +scale = Vector2(1.0659354, 1.1756948) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree109" parent="BoundaryForest" unique_id=1222741567 instance=ExtResource("18_4mhqc")] +position = Vector2(1441.7544, 225.35382) +scale = Vector2(0.84855914, 0.93224275) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree110" parent="BoundaryForest" unique_id=1473359397 instance=ExtResource("18_4mhqc")] +position = Vector2(1271.355, -5.6761527) +scale = Vector2(1.1149538, 1.1355255) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree111" parent="BoundaryForest" unique_id=1999884308 instance=ExtResource("18_4mhqc")] +position = Vector2(1418.5095, -0.16169739) +scale = Vector2(0.78875285, 0.8415496) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree112" parent="BoundaryForest" unique_id=718954580 instance=ExtResource("18_4mhqc")] +position = Vector2(1219.1891, 67.079834) +scale = Vector2(1.0607567, 0.99261725) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree113" parent="BoundaryForest" unique_id=654244450 instance=ExtResource("18_4mhqc")] +position = Vector2(1627.4691, 78.78587) +scale = Vector2(0.91366786, 0.9892985) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree114" parent="BoundaryForest" unique_id=1569593390 instance=ExtResource("18_4mhqc")] +position = Vector2(1585.3628, -11.925659) +scale = Vector2(0.9219082, 0.98552364) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree115" parent="BoundaryForest" unique_id=1825131677 instance=ExtResource("18_4mhqc")] +position = Vector2(1507.2543, 230.92213) +scale = Vector2(0.8548843, 0.9266615) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree116" parent="BoundaryForest" unique_id=63375856 instance=ExtResource("18_4mhqc")] +position = Vector2(1505.2705, 121.65574) +scale = Vector2(1.0823131, 1.0671916) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree117" parent="BoundaryForest" unique_id=494870524 instance=ExtResource("18_4mhqc")] +position = Vector2(1549.0973, 178.69933) +scale = Vector2(1.1088679, 1.171559) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree118" parent="BoundaryForest" unique_id=1526703003 instance=ExtResource("18_4mhqc")] +position = Vector2(1540.837, 58.903397) +scale = Vector2(0.95814276, 1.0382171) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree119" parent="BoundaryForest" unique_id=1958883875 instance=ExtResource("18_4mhqc")] +position = Vector2(1498.1803, 316.02948) +scale = Vector2(0.9065815, 0.8275329) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree120" parent="BoundaryForest" unique_id=410330357 instance=ExtResource("18_4mhqc")] +position = Vector2(1695.353, -83.37407) +scale = Vector2(0.9034863, 0.84618855) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree121" parent="BoundaryForest" unique_id=1347981994 instance=ExtResource("18_4mhqc")] +position = Vector2(1600.5773, 333.54898) +scale = Vector2(1.0588355, 1.072846) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree122" parent="BoundaryForest" unique_id=1290140852 instance=ExtResource("18_4mhqc")] +position = Vector2(1575.1836, 253.0412) +scale = Vector2(1.0376058, 1.1088883) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree123" parent="BoundaryForest" unique_id=1332633395 instance=ExtResource("18_4mhqc")] +position = Vector2(1534.5399, 437.82562) +scale = Vector2(0.9666086, 0.96346045) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree124" parent="BoundaryForest" unique_id=125295358 instance=ExtResource("18_4mhqc")] +position = Vector2(1645.8925, 176.84644) +scale = Vector2(1.158323, 1.1102383) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree125" parent="BoundaryForest" unique_id=828543144 instance=ExtResource("18_4mhqc")] +position = Vector2(1746.1356, 31.222485) +scale = Vector2(1.0030999, 0.9743619) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree126" parent="BoundaryForest" unique_id=1830367223 instance=ExtResource("18_4mhqc")] +position = Vector2(1757.3452, 127.83304) +scale = Vector2(0.81470203, 0.83531934) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree127" parent="BoundaryForest" unique_id=1308555306 instance=ExtResource("18_4mhqc")] +position = Vector2(1801.8192, 247.38907) +scale = Vector2(1.1624519, 1.153929) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree128" parent="BoundaryForest" unique_id=1754149829 instance=ExtResource("18_4mhqc")] +position = Vector2(1806.2294, 70.1434) +scale = Vector2(0.96466297, 0.939699) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree129" parent="BoundaryForest" unique_id=1789490231 instance=ExtResource("18_4mhqc")] +position = Vector2(1702.7885, 280.911) +scale = Vector2(0.92232955, 0.88314176) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree130" parent="BoundaryForest" unique_id=335254889 instance=ExtResource("18_4mhqc")] +position = Vector2(1837.0552, 180.98312) +scale = Vector2(0.98408145, 0.9237023) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree131" parent="BoundaryForest" unique_id=1852396022 instance=ExtResource("18_4mhqc")] +position = Vector2(1570.3124, 534.6219) +scale = Vector2(1.1507322, 1.1197813) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree132" parent="BoundaryForest" unique_id=1344126866 instance=ExtResource("18_4mhqc")] +position = Vector2(1632.6658, 398.31836) +scale = Vector2(0.9050325, 0.87724006) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree133" parent="BoundaryForest" unique_id=283446451 instance=ExtResource("18_4mhqc")] +position = Vector2(1361.779, 446.1892) +scale = Vector2(1.0487185, 1.024843) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree134" parent="BoundaryForest" unique_id=1644743426 instance=ExtResource("18_4mhqc")] +position = Vector2(1407.4509, 510.69434) +scale = Vector2(0.93316853, 0.9867709) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree135" parent="BoundaryForest" unique_id=2002153998 instance=ExtResource("18_4mhqc")] +position = Vector2(1453.7615, 459.0794) +scale = Vector2(0.8144535, 0.8258046) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree136" parent="BoundaryForest" unique_id=1010156925 instance=ExtResource("18_4mhqc")] +position = Vector2(1688.5369, 102.80932) +scale = Vector2(1.1141924, 1.0330113) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree137" parent="BoundaryForest" unique_id=1776882700 instance=ExtResource("18_4mhqc")] +position = Vector2(1488.9536, 561.4202) +scale = Vector2(1.0349593, 1.0407692) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree138" parent="BoundaryForest" unique_id=233625631 instance=ExtResource("18_4mhqc")] +position = Vector2(1726.0944, 215.23502) +scale = Vector2(0.87187356, 0.8222884) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree139" parent="BoundaryForest" unique_id=72264346 instance=ExtResource("18_4mhqc")] +position = Vector2(1441.8291, 676.40045) +scale = Vector2(0.9610005, 1.0103669) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree140" parent="BoundaryForest" unique_id=1793299663 instance=ExtResource("18_4mhqc")] +position = Vector2(1832.2917, 306.14453) +scale = Vector2(1.1343554, 1.096547) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree141" parent="BoundaryForest" unique_id=655253732 instance=ExtResource("18_4mhqc")] +position = Vector2(1661.327, 570.1611) +scale = Vector2(0.9912053, 1.0529324) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree142" parent="BoundaryForest" unique_id=882307970 instance=ExtResource("18_4mhqc")] +position = Vector2(1409.8916, 610.36115) +scale = Vector2(0.8843165, 0.8192113) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree143" parent="BoundaryForest" unique_id=1985690937 instance=ExtResource("18_4mhqc")] +position = Vector2(1322.4186, 517.2669) +scale = Vector2(1.0635004, 1.0290549) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree144" parent="BoundaryForest" unique_id=804501377 instance=ExtResource("18_4mhqc")] +position = Vector2(1787.5093, 418.04037) +scale = Vector2(1.0913334, 1.1330456) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree145" parent="BoundaryForest" unique_id=1018269555 instance=ExtResource("18_4mhqc")] +position = Vector2(1676.1238, 637.5417) +scale = Vector2(0.9117422, 0.8392956) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree146" parent="BoundaryForest" unique_id=1905356303 instance=ExtResource("18_4mhqc")] +position = Vector2(1553.744, 669.3331) +scale = Vector2(0.8565778, 0.94368064) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree147" parent="BoundaryForest" unique_id=339594991 instance=ExtResource("18_4mhqc")] +position = Vector2(1689.1067, -2.3697634) +scale = Vector2(1.1326985, 1.1116494) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree148" parent="BoundaryForest" unique_id=1616671327 instance=ExtResource("18_4mhqc")] +position = Vector2(1623.027, 702.41736) +scale = Vector2(1.1576899, 1.0575943) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree149" parent="BoundaryForest" unique_id=1268396651 instance=ExtResource("18_4mhqc")] +position = Vector2(1570.9072, 604.8028) +scale = Vector2(0.99585295, 1.0236557) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree150" parent="BoundaryForest" unique_id=1050852738 instance=ExtResource("18_4mhqc")] +position = Vector2(1271.5044, 588.81226) +scale = Vector2(1.1192572, 1.149756) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree151" parent="BoundaryForest" unique_id=1470998279 instance=ExtResource("18_4mhqc")] +position = Vector2(1757.2926, 324.55338) +scale = Vector2(1.0912596, 1.133986) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree152" parent="BoundaryForest" unique_id=314962352 instance=ExtResource("18_4mhqc")] +position = Vector2(1363.3075, 737.67145) +scale = Vector2(0.87970084, 0.9541752) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree153" parent="BoundaryForest" unique_id=2055521184 instance=ExtResource("18_4mhqc")] +position = Vector2(1542.5121, 748.40894) +scale = Vector2(0.91736895, 1.0181041) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree154" parent="BoundaryForest" unique_id=1220378715 instance=ExtResource("18_4mhqc")] +position = Vector2(1338.6702, 603.4348) +scale = Vector2(1.0728451, 1.1297683) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree155" parent="BoundaryForest" unique_id=522406373 instance=ExtResource("18_4mhqc")] +position = Vector2(1633.6328, 462.44696) +scale = Vector2(0.94060266, 0.88145) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree156" parent="BoundaryForest" unique_id=905120763 instance=ExtResource("18_4mhqc")] +position = Vector2(1718.1827, 503.3143) +scale = Vector2(0.76430184, 0.82090384) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree157" parent="BoundaryForest" unique_id=245357361 instance=ExtResource("18_4mhqc")] +position = Vector2(1715.5309, 411.8659) +scale = Vector2(1.0861168, 1.1635771) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree158" parent="BoundaryForest" unique_id=1291193212 instance=ExtResource("18_4mhqc")] +position = Vector2(1621.0098, 793.8987) +scale = Vector2(1.1547962, 1.1046644) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree159" parent="BoundaryForest" unique_id=1544663242 instance=ExtResource("18_4mhqc")] +position = Vector2(1787.9225, 504.85922) +scale = Vector2(1.0389463, 1.0503722) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree160" parent="BoundaryForest" unique_id=584730286 instance=ExtResource("18_4mhqc")] +position = Vector2(1496.3206, 810.98566) +scale = Vector2(1.0746325, 1.1022506) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree161" parent="BoundaryForest" unique_id=1070534932 instance=ExtResource("18_4mhqc")] +position = Vector2(1315.878, 687.1385) +scale = Vector2(1.1795019, 1.136491) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree162" parent="BoundaryForest" unique_id=1668277115 instance=ExtResource("18_4mhqc")] +position = Vector2(1262.0211, 477.27585) +scale = Vector2(1.1348126, 1.1360523) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree163" parent="BoundaryForest" unique_id=593359621 instance=ExtResource("18_4mhqc")] +position = Vector2(1788.8308, 625.0216) +scale = Vector2(0.92077494, 0.8456164) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree164" parent="BoundaryForest" unique_id=381397410 instance=ExtResource("18_4mhqc")] +position = Vector2(1691.2737, 761.03656) +scale = Vector2(0.9735528, 0.95824265) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree165" parent="BoundaryForest" unique_id=1415642586 instance=ExtResource("18_4mhqc")] +position = Vector2(1743.4447, 707.841) +scale = Vector2(1.1428707, 1.1544272) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree166" parent="BoundaryForest" unique_id=1731532854 instance=ExtResource("18_4mhqc")] +position = Vector2(1639.4957, 900.93964) +scale = Vector2(0.8975592, 0.90752673) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree167" parent="BoundaryForest" unique_id=959357060 instance=ExtResource("18_4mhqc")] +position = Vector2(1734.8146, 570.16644) +scale = Vector2(0.98820335, 0.97440726) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree168" parent="BoundaryForest" unique_id=1562690299 instance=ExtResource("18_4mhqc")] +position = Vector2(1788.0293, 810.13776) +scale = Vector2(1.0319216, 0.9656806) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree169" parent="BoundaryForest" unique_id=506499307 instance=ExtResource("18_4mhqc")] +position = Vector2(1823.065, 570.09924) +scale = Vector2(0.96374536, 0.91846216) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree170" parent="BoundaryForest" unique_id=1544847180 instance=ExtResource("18_4mhqc")] +position = Vector2(1825.6493, 725.5922) +scale = Vector2(0.7893671, 0.82410777) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree171" parent="BoundaryForest" unique_id=231519660 instance=ExtResource("18_4mhqc")] +position = Vector2(1317.7836, 786.5913) +scale = Vector2(1.125641, 1.0939771) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree172" parent="BoundaryForest" unique_id=543739037 instance=ExtResource("18_4mhqc")] +position = Vector2(1399.5793, 825.85547) +scale = Vector2(0.9463756, 1.0192788) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree173" parent="BoundaryForest" unique_id=1262345591 instance=ExtResource("18_4mhqc")] +position = Vector2(1742.5365, 855.6751) +scale = Vector2(0.81850725, 0.90083736) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree174" parent="BoundaryForest" unique_id=813031790 instance=ExtResource("18_4mhqc")] +position = Vector2(1677.2125, 833.3097) +scale = Vector2(1.1236334, 1.1240172) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree175" parent="BoundaryForest" unique_id=451723333 instance=ExtResource("18_4mhqc")] +position = Vector2(1440.0757, 769.4486) +scale = Vector2(0.9539123, 0.9995277) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree176" parent="BoundaryForest" unique_id=1045840469 instance=ExtResource("18_4mhqc")] +position = Vector2(1532.5876, 921.19714) +scale = Vector2(1.1683925, 1.0833083) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree177" parent="BoundaryForest" unique_id=1669184825 instance=ExtResource("18_4mhqc")] +position = Vector2(1582.6908, 862.63104) +scale = Vector2(0.82814044, 0.86259925) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree178" parent="BoundaryForest" unique_id=586786542 instance=ExtResource("18_4mhqc")] +position = Vector2(1726.4105, 923.0558) +scale = Vector2(0.88880247, 0.8472692) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree179" parent="BoundaryForest" unique_id=1874670807 instance=ExtResource("18_4mhqc")] +position = Vector2(1453.9395, 891.25037) +scale = Vector2(0.9861454, 1.0938561) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree180" parent="BoundaryForest" unique_id=1737492661 instance=ExtResource("18_4mhqc")] +position = Vector2(1337.1526, 860.74725) +scale = Vector2(1.0998466, 1.0301442) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree181" parent="BoundaryForest" unique_id=1666773807 instance=ExtResource("18_4mhqc")] +position = Vector2(1376.1661, 921.1471) +scale = Vector2(0.9211144, 1.0004576) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree182" parent="BoundaryForest" unique_id=479159256 instance=ExtResource("18_4mhqc")] +position = Vector2(1625.4182, 965.9235) +scale = Vector2(0.7637044, 0.80249393) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree183" parent="BoundaryForest" unique_id=471804696 instance=ExtResource("18_4mhqc")] +position = Vector2(1295.0272, 942.67615) +scale = Vector2(0.9767293, 0.93130934) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree184" parent="BoundaryForest" unique_id=522850495 instance=ExtResource("18_4mhqc")] +position = Vector2(1669.2091, 1018.4533) +scale = Vector2(0.8669226, 0.8327714) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree185" parent="BoundaryForest" unique_id=299530621 instance=ExtResource("18_4mhqc")] +position = Vector2(1327.5859, 1001.3754) +scale = Vector2(0.9742232, 1.0421154) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree186" parent="BoundaryForest" unique_id=1012600186 instance=ExtResource("18_4mhqc")] +position = Vector2(1381.9393, 1043.6522) +scale = Vector2(0.9192818, 0.9341099) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree187" parent="BoundaryForest" unique_id=378782371 instance=ExtResource("18_4mhqc")] +position = Vector2(1732.5571, 1042.3843) +scale = Vector2(0.9214814, 0.842537) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree188" parent="BoundaryForest" unique_id=490741252 instance=ExtResource("18_4mhqc")] +position = Vector2(1572.8397, 1057.5518) +scale = Vector2(0.9405671, 0.99137163) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree189" parent="BoundaryForest" unique_id=1624893383 instance=ExtResource("18_4mhqc")] +position = Vector2(1822.6973, 923.4727) +scale = Vector2(0.9554416, 0.88232934) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree190" parent="BoundaryForest" unique_id=1897045945 instance=ExtResource("18_4mhqc")] +position = Vector2(1474.3772, 973.1322) +scale = Vector2(1.0972695, 1.1767561) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree191" parent="BoundaryForest" unique_id=1159586395 instance=ExtResource("18_4mhqc")] +position = Vector2(1789.2522, 980.0506) +scale = Vector2(0.7659448, 0.8401228) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree192" parent="BoundaryForest" unique_id=1912854998 instance=ExtResource("18_4mhqc")] +position = Vector2(1473.9951, 1038.0437) +scale = Vector2(1.1951308, 1.1476216) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree193" parent="BoundaryForest" unique_id=1283181512 instance=ExtResource("18_4mhqc")] +position = Vector2(1300.1486, 1103.3881) +scale = Vector2(1.1158637, 1.0608279) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree194" parent="BoundaryForest" unique_id=470665969 instance=ExtResource("18_4mhqc")] +position = Vector2(1410.8479, 981.49963) +scale = Vector2(1.1469284, 1.1477413) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree195" parent="BoundaryForest" unique_id=988059381 instance=ExtResource("18_4mhqc")] +position = Vector2(1570.8462, 1171.38) +scale = Vector2(0.92191696, 0.90252805) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree196" parent="BoundaryForest" unique_id=1483253476 instance=ExtResource("18_4mhqc")] +position = Vector2(1410.5763, 1139.8895) +scale = Vector2(0.8919424, 0.84996194) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree197" parent="BoundaryForest" unique_id=1976731537 instance=ExtResource("18_4mhqc")] +position = Vector2(1612.517, 1110.1947) +scale = Vector2(0.9846667, 0.90643096) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree198" parent="BoundaryForest" unique_id=1901228304 instance=ExtResource("18_4mhqc")] +position = Vector2(1362.2255, 1227.2788) +scale = Vector2(1.0248036, 1.0702406) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree199" parent="BoundaryForest" unique_id=1863660700 instance=ExtResource("18_4mhqc")] +position = Vector2(1513.782, 1131.5115) +scale = Vector2(1.0583348, 1.1565208) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree200" parent="BoundaryForest" unique_id=136832606 instance=ExtResource("18_4mhqc")] +position = Vector2(1659.3168, 1170.3976) +scale = Vector2(0.80085754, 0.8790221) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree201" parent="BoundaryForest" unique_id=1074500134 instance=ExtResource("18_4mhqc")] +position = Vector2(1619.4888, 1227.2264) +scale = Vector2(1.0915698, 1.167509) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree202" parent="BoundaryForest" unique_id=1624316466 instance=ExtResource("18_4mhqc")] +position = Vector2(1523.6172, 1280.0323) +scale = Vector2(1.006732, 0.9959915) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree203" parent="BoundaryForest" unique_id=1672303919 instance=ExtResource("18_4mhqc")] +position = Vector2(1729.9747, 1141.4941) +scale = Vector2(0.8334166, 0.85724854) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree204" parent="BoundaryForest" unique_id=1823859297 instance=ExtResource("18_4mhqc")] +position = Vector2(1747.9657, 1207.4142) +scale = Vector2(0.8526353, 0.8402649) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree205" parent="BoundaryForest" unique_id=1660437246 instance=ExtResource("18_4mhqc")] +position = Vector2(1559.0302, 989.2608) +scale = Vector2(1.0564641, 1.0425899) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree206" parent="BoundaryForest" unique_id=1225798719 instance=ExtResource("18_4mhqc")] +position = Vector2(1678.3295, 1086.9379) +scale = Vector2(0.93469894, 0.8899497) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree207" parent="BoundaryForest" unique_id=1619112471 instance=ExtResource("18_4mhqc")] +position = Vector2(1683.7487, 1283.1621) +scale = Vector2(0.86094964, 0.81605744) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree208" parent="BoundaryForest" unique_id=568028452 instance=ExtResource("18_4mhqc")] +position = Vector2(1468.725, 1186.3308) +scale = Vector2(0.8997674, 0.9441201) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree209" parent="BoundaryForest" unique_id=1394472806 instance=ExtResource("18_4mhqc")] +position = Vector2(1785.158, 1089.6946) +scale = Vector2(1.1578027, 1.130241) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree210" parent="BoundaryForest" unique_id=678515469 instance=ExtResource("18_4mhqc")] +position = Vector2(1331.5657, 1160.9518) +scale = Vector2(1.1278889, 1.0323303) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree211" parent="BoundaryForest" unique_id=1686469176 instance=ExtResource("18_4mhqc")] +position = Vector2(1442.8279, 1261.1193) +scale = Vector2(0.9493341, 0.90158695) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree212" parent="BoundaryForest" unique_id=978078660 instance=ExtResource("18_4mhqc")] +position = Vector2(1590.0856, 1296.7471) +scale = Vector2(0.859439, 0.9014251) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree213" parent="BoundaryForest" unique_id=1668508520 instance=ExtResource("18_4mhqc")] +position = Vector2(1508.786, 1356.8062) +scale = Vector2(1.2133067, 1.141675) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree214" parent="BoundaryForest" unique_id=122388160 instance=ExtResource("18_4mhqc")] +position = Vector2(1500.0546, 1460.2572) +scale = Vector2(0.7984536, 0.87988585) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree215" parent="BoundaryForest" unique_id=1449551247 instance=ExtResource("18_4mhqc")] +position = Vector2(1607.906, 1359.0232) +scale = Vector2(0.9046431, 0.8276964) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree216" parent="BoundaryForest" unique_id=1985438016 instance=ExtResource("18_4mhqc")] +position = Vector2(1307.7681, 1326.4341) +scale = Vector2(0.9112505, 0.8871744) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree217" parent="BoundaryForest" unique_id=1065257897 instance=ExtResource("18_4mhqc")] +position = Vector2(1436.2936, 1444.8193) +scale = Vector2(1.0642972, 1.0984741) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree218" parent="BoundaryForest" unique_id=1011662660 instance=ExtResource("18_4mhqc")] +position = Vector2(1368.5271, 1301.2051) +scale = Vector2(1.0634369, 1.1349131) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree219" parent="BoundaryForest" unique_id=1774474281 instance=ExtResource("18_4mhqc")] +position = Vector2(1425.5851, 1552.9972) +scale = Vector2(1.0354649, 0.9662469) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree220" parent="BoundaryForest" unique_id=1582020539 instance=ExtResource("18_4mhqc")] +position = Vector2(1735.1587, 1386.353) +scale = Vector2(1.0568415, 1.1625727) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree221" parent="BoundaryForest" unique_id=287419170 instance=ExtResource("18_4mhqc")] +position = Vector2(1413.1107, 1360.762) +scale = Vector2(1.1168455, 1.196664) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree222" parent="BoundaryForest" unique_id=703066840 instance=ExtResource("18_4mhqc")] +position = Vector2(1360.4917, 1440.5645) +scale = Vector2(1.0709068, 1.1194698) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree223" parent="BoundaryForest" unique_id=315842025 instance=ExtResource("18_4mhqc")] +position = Vector2(1669.5917, 1395.1161) +scale = Vector2(1.1141883, 1.0902863) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree224" parent="BoundaryForest" unique_id=1949115445 instance=ExtResource("18_4mhqc")] +position = Vector2(1780.8522, 1264.1105) +scale = Vector2(1.1865892, 1.1173049) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree225" parent="BoundaryForest" unique_id=465783265 instance=ExtResource("18_4mhqc")] +position = Vector2(1299.9, 1392.9564) +scale = Vector2(0.98843265, 0.96662533) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree226" parent="BoundaryForest" unique_id=1304980680 instance=ExtResource("18_4mhqc")] +position = Vector2(1300.8807, 1466.2882) +scale = Vector2(1.0761206, 1.0124946) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree227" parent="BoundaryForest" unique_id=1147647451 instance=ExtResource("18_4mhqc")] +position = Vector2(1766.7327, 1329.1619) +scale = Vector2(1.0951883, 1.1058735) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree228" parent="BoundaryForest" unique_id=24695367 instance=ExtResource("18_4mhqc")] +position = Vector2(1255.0247, 1581.0992) +scale = Vector2(0.90479296, 0.99191654) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree229" parent="BoundaryForest" unique_id=108175557 instance=ExtResource("18_4mhqc")] +position = Vector2(1743.7485, 1505.8743) +scale = Vector2(0.9194772, 0.98106563) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree230" parent="BoundaryForest" unique_id=717486217 instance=ExtResource("18_4mhqc")] +position = Vector2(1366.8269, 1609.3384) +scale = Vector2(1.2079751, 1.1753365) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree231" parent="BoundaryForest" unique_id=1025984409 instance=ExtResource("18_4mhqc")] +position = Vector2(1556.2184, 1399.9335) +scale = Vector2(0.83302975, 0.83980346) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree232" parent="BoundaryForest" unique_id=1034358078 instance=ExtResource("18_4mhqc")] +position = Vector2(1643.6132, 1458.0599) +scale = Vector2(1.0025325, 1.107048) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree233" parent="BoundaryForest" unique_id=176215360 instance=ExtResource("18_4mhqc")] +position = Vector2(1314.5541, 1549.3608) +scale = Vector2(0.8145727, 0.85119045) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree234" parent="BoundaryForest" unique_id=1931521048 instance=ExtResource("18_4mhqc")] +position = Vector2(1294.9775, 1687.3253) +scale = Vector2(1.059092, 1.1543928) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree235" parent="BoundaryForest" unique_id=56090964 instance=ExtResource("18_4mhqc")] +position = Vector2(1568.3558, 1490.4835) +scale = Vector2(0.9308417, 1.0335081) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree236" parent="BoundaryForest" unique_id=381290541 instance=ExtResource("18_4mhqc")] +position = Vector2(1661.6072, 1582.4512) +scale = Vector2(1.0649942, 1.0408225) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree237" parent="BoundaryForest" unique_id=364958169 instance=ExtResource("18_4mhqc")] +position = Vector2(1729.6072, 1620.355) +scale = Vector2(1.0136813, 0.9301032) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree238" parent="BoundaryForest" unique_id=183104876 instance=ExtResource("18_4mhqc")] +position = Vector2(1394.1403, 1716.9568) +scale = Vector2(0.9575094, 0.9853566) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree239" parent="BoundaryForest" unique_id=91651163 instance=ExtResource("18_4mhqc")] +position = Vector2(1204.7867, 1676.0739) +scale = Vector2(0.8805444, 0.8740981) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree240" parent="BoundaryForest" unique_id=471634725 instance=ExtResource("18_4mhqc")] +position = Vector2(1593.6852, 1562.4069) +scale = Vector2(0.95239776, 1.0399119) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree241" parent="BoundaryForest" unique_id=862648287 instance=ExtResource("18_4mhqc")] +position = Vector2(1400.9503, 1809.6161) +scale = Vector2(1.0642895, 0.9688884) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree242" parent="BoundaryForest" unique_id=1854619034 instance=ExtResource("18_4mhqc")] +position = Vector2(1597.1497, 1685.8807) +scale = Vector2(1.0505791, 1.0614694) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree243" parent="BoundaryForest" unique_id=1551202999 instance=ExtResource("18_4mhqc")] +position = Vector2(1344.7821, 1765.7765) +scale = Vector2(0.80770224, 0.802024) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree244" parent="BoundaryForest" unique_id=1890137721 instance=ExtResource("18_4mhqc")] +position = Vector2(1448.6626, 1635.8657) +scale = Vector2(0.8415392, 0.89867187) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree245" parent="BoundaryForest" unique_id=873454188 instance=ExtResource("18_4mhqc")] +position = Vector2(1519.5842, 1644.1357) +scale = Vector2(1.283199, 1.179225) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree246" parent="BoundaryForest" unique_id=1268599040 instance=ExtResource("18_4mhqc")] +position = Vector2(1519.1581, 1719.4078) +scale = Vector2(0.92773086, 0.8577648) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree247" parent="BoundaryForest" unique_id=793142661 instance=ExtResource("18_4mhqc")] +position = Vector2(1458.5334, 1755.3467) +scale = Vector2(0.97366786, 1.0540414) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree248" parent="BoundaryForest" unique_id=954131116 instance=ExtResource("18_4mhqc")] +position = Vector2(1471.4393, 1818.6586) +scale = Vector2(1.1228064, 1.1984704) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree249" parent="BoundaryForest" unique_id=579455568 instance=ExtResource("18_4mhqc")] +position = Vector2(1498.2427, 1540.2606) +scale = Vector2(0.84599185, 0.9297019) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree250" parent="BoundaryForest" unique_id=698634365 instance=ExtResource("18_4mhqc")] +position = Vector2(1671.9701, 1784.8511) +scale = Vector2(1.0755153, 1.0259879) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree251" parent="BoundaryForest" unique_id=2075998782 instance=ExtResource("18_4mhqc")] +position = Vector2(1706.2938, 1705.2437) +scale = Vector2(0.8795645, 0.811957) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree252" parent="BoundaryForest" unique_id=1710222128 instance=ExtResource("18_4mhqc")] +position = Vector2(1137.4031, 1759.1624) +scale = Vector2(0.74205863, 0.8005367) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree253" parent="BoundaryForest" unique_id=1209090220 instance=ExtResource("18_4mhqc")] +position = Vector2(1577.3702, 1790.3002) +scale = Vector2(1.0122522, 1.1242745) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree254" parent="BoundaryForest" unique_id=263807125 instance=ExtResource("18_4mhqc")] +position = Vector2(1314.9952, 1858.5391) +scale = Vector2(0.97894955, 0.9116491) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree255" parent="BoundaryForest" unique_id=1167021858 instance=ExtResource("18_4mhqc")] +position = Vector2(1302.9388, 1958.8022) +scale = Vector2(1.2254828, 1.1295575) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree256" parent="BoundaryForest" unique_id=1179955841 instance=ExtResource("18_4mhqc")] +position = Vector2(1249.7922, 1829.7789) +scale = Vector2(1.0527617, 1.0930238) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree257" parent="BoundaryForest" unique_id=105791823 instance=ExtResource("18_4mhqc")] +position = Vector2(1151.8556, 1825.2699) +scale = Vector2(1.1627138, 1.1506871) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree258" parent="BoundaryForest" unique_id=1639680420 instance=ExtResource("18_4mhqc")] +position = Vector2(1165.3218, 1914.2975) +scale = Vector2(1.0510784, 1.0522617) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree259" parent="BoundaryForest" unique_id=33990123 instance=ExtResource("18_4mhqc")] +position = Vector2(1256.3015, 1758.5184) +scale = Vector2(1.0828294, 1.0617502) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree260" parent="BoundaryForest" unique_id=1713397075 instance=ExtResource("18_4mhqc")] +position = Vector2(1046.7269, 1896.625) +scale = Vector2(1.2603399, 1.1563303) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree261" parent="BoundaryForest" unique_id=1060786590 instance=ExtResource("18_4mhqc")] +position = Vector2(1680.2877, 1518.8337) +scale = Vector2(1.165954, 1.1483182) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree262" parent="BoundaryForest" unique_id=1443374638 instance=ExtResource("18_4mhqc")] +position = Vector2(996.8049, 1959.2997) +scale = Vector2(1.0117561, 1.0041846) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree263" parent="BoundaryForest" unique_id=1916447555 instance=ExtResource("18_4mhqc")] +position = Vector2(1249.8854, 1903.9855) +scale = Vector2(1.1501203, 1.0619035) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree264" parent="BoundaryForest" unique_id=1660207994 instance=ExtResource("18_4mhqc")] +position = Vector2(1552.1215, 1871.4161) +scale = Vector2(0.89163923, 0.86604536) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree265" parent="BoundaryForest" unique_id=1666049897 instance=ExtResource("18_4mhqc")] +position = Vector2(1445.6566, 1888.1354) +scale = Vector2(0.97304744, 0.90865535) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree266" parent="BoundaryForest" unique_id=1063506750 instance=ExtResource("18_4mhqc")] +position = Vector2(1500.4672, 1934.7849) +scale = Vector2(1.0035309, 0.96197116) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree267" parent="BoundaryForest" unique_id=446173706 instance=ExtResource("18_4mhqc")] +position = Vector2(1077.8085, 2041.6698) +scale = Vector2(1.1025676, 1.0992887) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree268" parent="BoundaryForest" unique_id=1912328391 instance=ExtResource("18_4mhqc")] +position = Vector2(1379.8635, 1905.6785) +scale = Vector2(0.95162576, 0.9158799) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree269" parent="BoundaryForest" unique_id=1972294617 instance=ExtResource("18_4mhqc")] +position = Vector2(1147.7292, 2022.5865) +scale = Vector2(0.9315139, 0.9629159) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree270" parent="BoundaryForest" unique_id=1841278409 instance=ExtResource("18_4mhqc")] +position = Vector2(1083.8158, 1830.9279) +scale = Vector2(0.90887547, 0.8750178) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree271" parent="BoundaryForest" unique_id=504776948 instance=ExtResource("18_4mhqc")] +position = Vector2(1105.3151, 1950.2433) +scale = Vector2(0.7732408, 0.8255271) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree272" parent="BoundaryForest" unique_id=6663081 instance=ExtResource("18_4mhqc")] +position = Vector2(1654.9402, 1871.5322) +scale = Vector2(1.1283045, 1.1033677) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree273" parent="BoundaryForest" unique_id=831448132 instance=ExtResource("18_4mhqc")] +position = Vector2(1238.8129, 2025.7301) +scale = Vector2(0.87001663, 0.87048626) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree274" parent="BoundaryForest" unique_id=1797590964 instance=ExtResource("18_4mhqc")] +position = Vector2(1727.7163, 1882.1719) +scale = Vector2(0.94220155, 0.9967213) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree275" parent="BoundaryForest" unique_id=1500770664 instance=ExtResource("18_4mhqc")] +position = Vector2(1007.03033, 2119.1438) +scale = Vector2(1.2658327, 1.1870893) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree276" parent="BoundaryForest" unique_id=1702725093 instance=ExtResource("18_4mhqc")] +position = Vector2(1613.7405, 1924.305) +scale = Vector2(1.0444596, 1.137791) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree277" parent="BoundaryForest" unique_id=109385070 instance=ExtResource("18_4mhqc")] +position = Vector2(1132.428, 2102.2036) +scale = Vector2(1.0900257, 1.0181639) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree278" parent="BoundaryForest" unique_id=234703084 instance=ExtResource("18_4mhqc")] +position = Vector2(1447.8672, 1972.6989) +scale = Vector2(0.97909963, 1.0382065) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree279" parent="BoundaryForest" unique_id=1080618861 instance=ExtResource("18_4mhqc")] +position = Vector2(1338.935, 2020.1772) +scale = Vector2(1.0251391, 0.96305805) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree280" parent="BoundaryForest" unique_id=65310307 instance=ExtResource("18_4mhqc")] +position = Vector2(1199.3054, 2202.1382) +scale = Vector2(0.9578968, 0.9920627) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree281" parent="BoundaryForest" unique_id=1879959413 instance=ExtResource("18_4mhqc")] +position = Vector2(1570.5714, 1980.645) +scale = Vector2(1.1346573, 1.0451268) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree282" parent="BoundaryForest" unique_id=329231057 instance=ExtResource("18_4mhqc")] +position = Vector2(969.42224, 2050.243) +scale = Vector2(1.0686092, 0.99756616) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree283" parent="BoundaryForest" unique_id=826451796 instance=ExtResource("18_4mhqc")] +position = Vector2(1546.3395, 2077.2383) +scale = Vector2(0.9496846, 0.9721638) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree284" parent="BoundaryForest" unique_id=1670685976 instance=ExtResource("18_4mhqc")] +position = Vector2(1535.3273, 2151.7268) +scale = Vector2(1.1591941, 1.1629114) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree285" parent="BoundaryForest" unique_id=1679252230 instance=ExtResource("18_4mhqc")] +position = Vector2(1226.9487, 2114.7998) +scale = Vector2(1.1134315, 1.0502908) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree286" parent="BoundaryForest" unique_id=1976073173 instance=ExtResource("18_4mhqc")] +position = Vector2(1136.1371, 2175.7483) +scale = Vector2(0.86691123, 0.83775693) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree287" parent="BoundaryForest" unique_id=1427518392 instance=ExtResource("18_4mhqc")] +position = Vector2(1732.3269, 1814.4785) +scale = Vector2(1.2633384, 1.1893778) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree288" parent="BoundaryForest" unique_id=773821537 instance=ExtResource("18_4mhqc")] +position = Vector2(1308.2015, 2079.568) +scale = Vector2(0.9357632, 0.9179954) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree289" parent="BoundaryForest" unique_id=2013856387 instance=ExtResource("18_4mhqc")] +position = Vector2(1612.0366, 2079.5017) +scale = Vector2(0.87404364, 0.941441) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree290" parent="BoundaryForest" unique_id=1115082115 instance=ExtResource("18_4mhqc")] +position = Vector2(1279.5875, 2163.1387) +scale = Vector2(1.0120089, 1.0545248) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree291" parent="BoundaryForest" unique_id=1682825368 instance=ExtResource("18_4mhqc")] +position = Vector2(1090.8873, 2233.0583) +scale = Vector2(1.1613202, 1.080583) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree292" parent="BoundaryForest" unique_id=963010270 instance=ExtResource("18_4mhqc")] +position = Vector2(1666.0648, 1992.632) +scale = Vector2(1.0855576, 1.1488888) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree293" parent="BoundaryForest" unique_id=1627284982 instance=ExtResource("18_4mhqc")] +position = Vector2(993.2519, 2222.073) +scale = Vector2(1.0934484, 1.1531216) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree294" parent="BoundaryForest" unique_id=2058221422 instance=ExtResource("18_4mhqc")] +position = Vector2(1705.4302, 2064.0894) +scale = Vector2(0.95278925, 0.88673854) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree295" parent="BoundaryForest" unique_id=112686880 instance=ExtResource("18_4mhqc")] +position = Vector2(1388.9271, 2159.1807) +scale = Vector2(0.9306843, 0.9560727) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree296" parent="BoundaryForest" unique_id=1114224379 instance=ExtResource("18_4mhqc")] +position = Vector2(1448.6501, 2131.2954) +scale = Vector2(0.80468684, 0.8174034) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree297" parent="BoundaryForest" unique_id=1925086580 instance=ExtResource("18_4mhqc")] +position = Vector2(1383.4111, 1972.1091) +scale = Vector2(1.0990118, 1.1301054) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree298" parent="BoundaryForest" unique_id=1916846220 instance=ExtResource("18_4mhqc")] +position = Vector2(1420.5509, 2033.7428) +scale = Vector2(1.1190913, 1.1879542) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree299" parent="BoundaryForest" unique_id=1869497115 instance=ExtResource("18_4mhqc")] +position = Vector2(1489.1719, 2031.1469) +scale = Vector2(0.9733223, 0.8901786) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree300" parent="BoundaryForest" unique_id=823344815 instance=ExtResource("18_4mhqc")] +position = Vector2(947.5014, 2173.6467) +scale = Vector2(1.105641, 1.0335587) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree301" parent="BoundaryForest" unique_id=2097306121 instance=ExtResource("18_4mhqc")] +position = Vector2(1620.06, 2158.0852) +scale = Vector2(1.0638945, 1.040795) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree302" parent="BoundaryForest" unique_id=176273824 instance=ExtResource("18_4mhqc")] +position = Vector2(1041.9951, 2177.111) +scale = Vector2(1.1367224, 1.1108347) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree303" parent="BoundaryForest" unique_id=576161656 instance=ExtResource("18_4mhqc")] +position = Vector2(1473.2499, 2206.742) +scale = Vector2(1.1198391, 1.1894369) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree304" parent="BoundaryForest" unique_id=2055096406 instance=ExtResource("18_4mhqc")] +position = Vector2(1376.5212, 2084.1387) +scale = Vector2(0.9049666, 0.94586235) +sprite_frames = ExtResource("19_pvf7f") + +[node name="Tree305" parent="BoundaryForest" unique_id=1817464724 instance=ExtResource("18_4mhqc")] +position = Vector2(1359.2329, 2216.9678) +scale = Vector2(1.1312716, 1.1856748) +sprite_frames = ExtResource("19_pvf7f") + +[node name="MusicPuzzleTeleporter" type="Area2D" parent="." unique_id=1394055190 node_paths=PackedStringArray("abandon_spawn_point")] +position = Vector2(571, 56) +collision_layer = 4 +script = ExtResource("23_yr4nl") +quest = ExtResource("24_fgnem") +abandon_spawn_point = NodePath("../SpawnPoints/MusicPuzzle") +enter_transition = 4 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="MusicPuzzleTeleporter" unique_id=1318641544] +shape = SubResource("RectangleShape2D_4mhqc") + +[node name="OverworldTeleporter" type="Area2D" parent="." unique_id=658641364] +position = Vector2(552, 2107) +collision_layer = 4 +script = ExtResource("20_00h6t") +next_scene = "uid://ds7q0lkarf2q5" +spawn_point_path = NodePath("TeleportersAndSpawnPoints/SongSanctuary") +enter_transition = 5 +exit_transition = 4 +metadata/_custom_type_script = "uid://hqdquinbimce" + +[node name="CollisionShape2D" type="CollisionShape2D" parent="OverworldTeleporter" unique_id=1120104693] +shape = SubResource("RectangleShape2D_pvf7f") + +[node name="SpawnPoints" type="Node2D" parent="." unique_id=1278126152] + +[node name="Overworld" type="Marker2D" parent="SpawnPoints" unique_id=1508270956 groups=["spawn_point"]] +position = Vector2(539, 1972) +script = ExtResource("21_4mhqc") +metadata/_custom_type_script = "uid://0enyu5v4ra34" + +[node name="MusicPuzzle" type="Marker2D" parent="SpawnPoints" unique_id=1915832390 groups=["spawn_point"]] +position = Vector2(550, 229) +script = ExtResource("21_4mhqc") +metadata/_custom_type_script = "uid://0enyu5v4ra34" From d3d126f3d7a17cfa8b8b1a73d6cc7223611b14f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Qui=C3=B1ones?= Date: Wed, 11 Mar 2026 16:47:40 -0300 Subject: [PATCH 21/22] Comment SQ abilities after merging overworld prototype --- scenes/globals/game_state/game_state.gd | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/scenes/globals/game_state/game_state.gd b/scenes/globals/game_state/game_state.gd index 1e1ff63793..2e72685ca5 100644 --- a/scenes/globals/game_state/game_state.gd +++ b/scenes/globals/game_state/game_state.gd @@ -156,7 +156,7 @@ func start_quest( if not current_quest.is_lore_quest: storyquest_player_abilities = 0 - _state.set_value(QUEST_SECTION, QUEST_PLAYER_ABILITIES_KEY, storyquest_player_abilities) + # _state.set_value(QUEST_SECTION, QUEST_PLAYER_ABILITIES_KEY, storyquest_player_abilities) # Reset lives when starting a new quest reset_lives() @@ -347,7 +347,8 @@ func set_ability(ability: Enums.PlayerAbilities, is_enabled: bool) -> void: if _use_lore_abilities(): _state.set_value(GLOBAL_SECTION, LORE_PLAYER_ABILITIES_KEY, lore_player_abilities) else: - _state.set_value(QUEST_SECTION, QUEST_PLAYER_ABILITIES_KEY, storyquest_player_abilities) + pass + # _state.set_value(QUEST_SECTION, QUEST_PLAYER_ABILITIES_KEY, storyquest_player_abilities) _save() @@ -475,7 +476,7 @@ func restore() -> Dictionary: completed_quests = _state.get_value(GLOBAL_SECTION, COMPLETED_QUESTS_KEY, [] as Array[String]) lore_player_abilities = _state.get_value(GLOBAL_SECTION, LORE_PLAYER_ABILITIES_KEY, 0) - storyquest_player_abilities = _state.get_value(QUEST_SECTION, QUEST_PLAYER_ABILITIES_KEY, 0) + # storyquest_player_abilities = _state.get_value(QUEST_SECTION, QUEST_PLAYER_ABILITIES_KEY, 0) # Restore lives from saved state, default to MAX_LIVES if not found current_lives = _state.get_value(GLOBAL_SECTION, LIVES_KEY, MAX_LIVES) From 5e3112b820367da6b6b0db88b670fa3dc6f7dcd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Qui=C3=B1ones?= Date: Wed, 11 Mar 2026 18:34:55 -0300 Subject: [PATCH 22/22] Quest separator --- scenes/globals/game_state/game_state.gd | 5 + .../components/quest_separator.gd | 26 ++++ .../components/quest_separator.gd.uid | 1 + .../quest_separator/quest_separator.tscn | 113 ++++++++++++++++++ .../world_map/components/quest_teleporter.gd | 14 ++- 5 files changed, 156 insertions(+), 3 deletions(-) create mode 100644 scenes/menus/quest_separator/components/quest_separator.gd create mode 100644 scenes/menus/quest_separator/components/quest_separator.gd.uid create mode 100644 scenes/menus/quest_separator/quest_separator.tscn diff --git a/scenes/globals/game_state/game_state.gd b/scenes/globals/game_state/game_state.gd index 2e72685ca5..e3d3b048ea 100644 --- a/scenes/globals/game_state/game_state.gd +++ b/scenes/globals/game_state/game_state.gd @@ -97,6 +97,9 @@ var current_quest: Quest var persist_progress: bool var _state := ConfigFile.new() +var _quest_scene_path: String +var _quest_spawn_point: String + func _validate_property(property: Dictionary) -> void: match property["name"]: @@ -166,6 +169,8 @@ func start_quest( "scene_path": _state.get_value(quest.resource_path, CURRENTSCENE_KEY, quest.first_scene), "spawn_point": _state.get_value(quest.resource_path, SPAWNPOINT_KEY, ^""), } + _quest_scene_path = ret.scene_path + _quest_spawn_point = ret.spawn_point return ret diff --git a/scenes/menus/quest_separator/components/quest_separator.gd b/scenes/menus/quest_separator/components/quest_separator.gd new file mode 100644 index 0000000000..733966fa87 --- /dev/null +++ b/scenes/menus/quest_separator/components/quest_separator.gd @@ -0,0 +1,26 @@ +# SPDX-FileCopyrightText: The Threadbare Authors +# SPDX-License-Identifier: MPL-2.0 +extends Control + +@onready var title: Label = %Title +@onready var animated_texture_rect: AnimatedTextureRect = %AnimatedTextureRect +@onready var rich_text_label: RichTextLabel = %RichTextLabel + + +func _ready() -> void: + var quest := GameState.current_quest + title.text = quest.title + animated_texture_rect.sprite_frames = quest.sprite_frames + rich_text_label.text = quest.description + + await get_tree().create_timer(3).timeout + + ( + SceneSwitcher + . change_to_file_with_transition( + GameState._quest_scene_path, + GameState._quest_spawn_point, + Transition.Effect.RADIAL, + Transition.Effect.FADE, + ) + ) diff --git a/scenes/menus/quest_separator/components/quest_separator.gd.uid b/scenes/menus/quest_separator/components/quest_separator.gd.uid new file mode 100644 index 0000000000..97acb53a7b --- /dev/null +++ b/scenes/menus/quest_separator/components/quest_separator.gd.uid @@ -0,0 +1 @@ +uid://dccjkvox5cjsy diff --git a/scenes/menus/quest_separator/quest_separator.tscn b/scenes/menus/quest_separator/quest_separator.tscn new file mode 100644 index 0000000000..42c74eea24 --- /dev/null +++ b/scenes/menus/quest_separator/quest_separator.tscn @@ -0,0 +1,113 @@ +[gd_scene format=3 uid="uid://c0fdh0ttv7brl"] + +[ext_resource type="Theme" uid="uid://cvitou84ni7qe" path="res://scenes/ui_elements/components/theme.tres" id="1_7uacu"] +[ext_resource type="Texture2D" uid="uid://lg5dl13njsg3" path="res://assets/first_party/tiles/Grass_And_Sand_Tiles.png" id="1_m3hp4"] +[ext_resource type="Script" uid="uid://dccjkvox5cjsy" path="res://scenes/menus/quest_separator/components/quest_separator.gd" id="2_ayaqs"] +[ext_resource type="Texture2D" uid="uid://csbhg24hsxecd" path="res://scenes/quests/lore_quests/quest_002/Void.png" id="4_fqr5p"] +[ext_resource type="Script" uid="uid://dfx8s2ybd11mt" path="res://scenes/menus/storybook/components/animated_texture_rect.gd" id="4_olqir"] +[ext_resource type="Texture2D" uid="uid://dcwmaoqgu5t84" path="res://scenes/globals/scene_switcher/transitions/Radial.png" id="6_wq0a1"] + +[sub_resource type="SpriteFrames" id="SpriteFrames_l1xe8"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": ExtResource("4_fqr5p") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}] + +[sub_resource type="Shader" id="Shader_wq0a1"] +code = "shader_type canvas_item; +render_mode blend_sub; + +void vertex() { + // Called for every vertex the material is visible on. +} + +void fragment() { + // Called for every pixel the material is visible on. +} + +//void light() { +// // Called for every pixel for every light affecting the CanvasItem. +// // Uncomment to replace the default light processing function with this one. +//} +" + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_amr4g"] +shader = SubResource("Shader_wq0a1") + +[node name="QuestSeparator" type="Control" unique_id=277155232] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme = ExtResource("1_7uacu") +script = ExtResource("2_ayaqs") + +[node name="FabricBackground" type="NinePatchRect" parent="." unique_id=321321864] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = ExtResource("1_m3hp4") +region_rect = Rect2(384, 64, 64, 64) +axis_stretch_horizontal = 1 +axis_stretch_vertical = 1 + +[node name="MarginContainer" type="MarginContainer" parent="." unique_id=1658580560] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer" unique_id=1354617346] +layout_mode = 2 + +[node name="TitleBox" type="PanelContainer" parent="MarginContainer/VBoxContainer" unique_id=495174348] +custom_minimum_size = Vector2(370, 64) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +theme_type_variation = &"PlayerRibbon" + +[node name="Title" type="Label" parent="MarginContainer/VBoxContainer/TitleBox" unique_id=3731616] +unique_name_in_owner = true +layout_mode = 2 +text = "The Void" +horizontal_alignment = 1 + +[node name="AnimatedTextureRect" type="TextureRect" parent="MarginContainer/VBoxContainer" unique_id=2119895536] +unique_name_in_owner = true +layout_mode = 2 +size_flags_vertical = 3 +expand_mode = 1 +stretch_mode = 5 +script = ExtResource("4_olqir") +sprite_frames = SubResource("SpriteFrames_l1xe8") +animation_name = &"default" +metadata/_custom_type_script = "uid://dfx8s2ybd11mt" + +[node name="RichTextLabel" type="RichTextLabel" parent="MarginContainer/VBoxContainer" unique_id=822544477] +unique_name_in_owner = true +layout_mode = 2 +text = "StoryWeaver runs away from a growing emptiness that spreads across the land, smothering and swallowing everything it covers." +fit_content = true + +[node name="TextureRect" type="TextureRect" parent="." unique_id=279230856] +material = SubResource("ShaderMaterial_amr4g") +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = ExtResource("6_wq0a1") diff --git a/scenes/world_map/components/quest_teleporter.gd b/scenes/world_map/components/quest_teleporter.gd index a843c356fd..5651d66f75 100644 --- a/scenes/world_map/components/quest_teleporter.gd +++ b/scenes/world_map/components/quest_teleporter.gd @@ -4,6 +4,8 @@ class_name QuestTeleporter extends Area2D +const QUEST_SEPARATOR = preload("uid://c0fdh0ttv7brl") + ## Scene to switch to when the player enters this teleport. If empty, the player ## will teleport within the current scene, to the position specified by [member ## spawn_point_path]. @@ -42,7 +44,13 @@ func _on_body_entered(_body: PhysicsBody2D) -> void: var scene := get_tree().current_scene var abandon_point_path := scene.get_path_to(abandon_spawn_point) - var target := GameState.start_quest(quest, scene.scene_file_path, abandon_point_path) - SceneSwitcher.change_to_file_with_transition( - target.scene_path, target.spawn_point, enter_transition, Transition.Effect.FADE + GameState.start_quest(quest, scene.scene_file_path, abandon_point_path) + ( + SceneSwitcher + . change_to_packed_with_transition( + QUEST_SEPARATOR, + "", + enter_transition, + Transition.Effect.FADE, + ) )