From a30ef8e6238d38f8fe8a416484b18c1897b4630d Mon Sep 17 00:00:00 2001 From: Will Thompson Date: Tue, 11 Aug 2026 11:50:37 +0100 Subject: [PATCH 1/7] Store InventoryItems as separate resource files Previously we defined InventoryItem resources inline in every scene that uses them; and we hardcoded the world texture, HUD texture, and colour for each in the script. Turn these into properties of the resource. Create 3 on-disk resources for the memory, imagination, and spirit threads. Add migration code to collectible_item.gd, and a script to load and save all scenes that reference collectible_item.tscn. Leave the migration code in-place so that as out-of-tree quests are merged we can easily update them. Change the inventory storage to refer to those, rather than saving just the item type name and reconstructing resources on load. I think this will make it easier to add collectibles which are not threads in future, and also to remember which threads have been collected when loading or replaying a quest, though I haven't attempted to do that here. --- .../components/collectible_item.gd | 11 ++++- .../game_state/inventory/imagination.tres | 13 ++++++ .../game_state/inventory/inventory_item.gd | 44 ++++++------------ .../globals/game_state/inventory/memory.tres | 12 +++++ .../globals/game_state/inventory/spirit.tres | 13 ++++++ scenes/globals/game_state/inventory_state.gd | 23 ---------- .../dialogue/components/response_button.gd | 3 +- .../item_slot/components/item_slot.gd | 4 +- .../components/story_quest_progress.gd | 4 +- tools/bulk_resave_scenes.gd | 45 +++++++++++++++++++ tools/bulk_resave_scenes.gd.uid | 1 + 11 files changed, 115 insertions(+), 58 deletions(-) create mode 100644 scenes/globals/game_state/inventory/imagination.tres create mode 100644 scenes/globals/game_state/inventory/memory.tres create mode 100644 scenes/globals/game_state/inventory/spirit.tres create mode 100644 tools/bulk_resave_scenes.gd create mode 100644 tools/bulk_resave_scenes.gd.uid diff --git a/scenes/game_elements/props/collectible_item/components/collectible_item.gd b/scenes/game_elements/props/collectible_item/components/collectible_item.gd index be753d4850..76583394e7 100644 --- a/scenes/game_elements/props/collectible_item/components/collectible_item.gd +++ b/scenes/game_elements/props/collectible_item/components/collectible_item.gd @@ -17,6 +17,7 @@ extends SceneLink ## [InventoryItem] provided by this collectible when interacted with. @export var item: InventoryItem: + get = _get_item, set = _set_item @export_category("Dialogue") @@ -52,11 +53,19 @@ func _get_configuration_warnings() -> PackedStringArray: return warnings +func _get_item() -> InventoryItem: + # Replace anonymous resource stored in scene file with separately-stored resource. + # Can be removed when we don't expect to have to rewrite any new quests being merged. + if item and item.is_built_in(): + item = InventoryItem.with_type(item.type) + return item + + func _set_item(new_value: InventoryItem) -> void: item = new_value if sprite_2d: - sprite_2d.texture = item.get_world_texture() if item else null + sprite_2d.texture = item.world_texture if item else null if interact_area: interact_area.action = "Collect " + item.type_name() if item else "Collect" diff --git a/scenes/globals/game_state/inventory/imagination.tres b/scenes/globals/game_state/inventory/imagination.tres new file mode 100644 index 0000000000..d8b687900f --- /dev/null +++ b/scenes/globals/game_state/inventory/imagination.tres @@ -0,0 +1,13 @@ +[gd_resource type="Resource" script_class="InventoryItem" format=3 uid="uid://cchnv5pn6fa8e"] + +[ext_resource type="Texture2D" uid="uid://wyiamtqmp4gk" path="res://assets/first_party/collectibles/imagination.png" id="1_f7k4n"] +[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="2_mhd08"] +[ext_resource type="Texture2D" uid="uid://6bf8rum68wq3" path="res://assets/first_party/collectibles/world_imagination.png" id="3_vln5c"] + +[resource] +script = ExtResource("2_mhd08") +type = 1 +color = Color(0.969, 0.792, 0, 1) +hud_texture = ExtResource("1_f7k4n") +world_texture = ExtResource("3_vln5c") +metadata/_custom_type_script = "uid://bgmwplmj3bfls" diff --git a/scenes/globals/game_state/inventory/inventory_item.gd b/scenes/globals/game_state/inventory/inventory_item.gd index f4ef6b78f6..6b31b6161b 100644 --- a/scenes/globals/game_state/inventory/inventory_item.gd +++ b/scenes/globals/game_state/inventory/inventory_item.gd @@ -8,42 +8,26 @@ enum ItemType { MEMORY, IMAGINATION, SPIRIT, - NONE, -} - -const COLORS_PER_TYPE: Dictionary[ItemType, Color] = { - ItemType.MEMORY: Color(0.459, 0.867, 0.0, 1.0), - ItemType.IMAGINATION: Color(0.969, 0.792, 0.0, 1.0), - ItemType.SPIRIT: Color(0.929, 0.0, 0.0, 1.0) -} - -const HUD_TEXTURES: Dictionary[ItemType, Texture2D] = { - ItemType.MEMORY: preload("uid://brspc1u02oawt"), - ItemType.IMAGINATION: preload("uid://wyiamtqmp4gk"), - ItemType.SPIRIT: preload("uid://c4fefrg0tfkpl") -} - -const WORLD_TEXTURES: Dictionary[ItemType, Texture2D] = { - ItemType.MEMORY: preload("uid://5wscjc8yqqts"), - ItemType.IMAGINATION: preload("uid://6bf8rum68wq3"), - ItemType.SPIRIT: preload("uid://cepg1o3ihp055") } @export var type: ItemType +@export var color: Color +@export var hud_texture: Texture2D +@export var world_texture: Texture2D -func get_hud_texture() -> Texture2D: - return HUD_TEXTURES[type] - - -func get_world_texture() -> Texture2D: - return WORLD_TEXTURES[type] - - +# TODO: can we eliminate this? static func with_type(a_type: ItemType) -> InventoryItem: - var item := new() - item.type = a_type - return item + match a_type: + ItemType.MEMORY: + return load("res://scenes/globals/game_state/inventory/memory.tres") + ItemType.IMAGINATION: + return load("res://scenes/globals/game_state/inventory/imagination.tres") + ItemType.SPIRIT: + return load("res://scenes/globals/game_state/inventory/spirit.tres") + _: + push_error("Unknown ItemType %d" % a_type) + return null func type_name() -> String: diff --git a/scenes/globals/game_state/inventory/memory.tres b/scenes/globals/game_state/inventory/memory.tres new file mode 100644 index 0000000000..72d81499dc --- /dev/null +++ b/scenes/globals/game_state/inventory/memory.tres @@ -0,0 +1,12 @@ +[gd_resource type="Resource" script_class="InventoryItem" format=3 uid="uid://ck0wbckgm5un8"] + +[ext_resource type="Texture2D" uid="uid://brspc1u02oawt" path="res://assets/first_party/collectibles/memory.png" id="1_kqroc"] +[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="2_5x7xc"] +[ext_resource type="Texture2D" uid="uid://5wscjc8yqqts" path="res://assets/first_party/collectibles/world_memory.png" id="3_t6yoc"] + +[resource] +script = ExtResource("2_5x7xc") +color = Color(0.459, 0.867, 0, 1) +hud_texture = ExtResource("1_kqroc") +world_texture = ExtResource("3_t6yoc") +metadata/_custom_type_script = "uid://bgmwplmj3bfls" diff --git a/scenes/globals/game_state/inventory/spirit.tres b/scenes/globals/game_state/inventory/spirit.tres new file mode 100644 index 0000000000..820aaab17f --- /dev/null +++ b/scenes/globals/game_state/inventory/spirit.tres @@ -0,0 +1,13 @@ +[gd_resource type="Resource" script_class="InventoryItem" format=3 uid="uid://c44l6x4e7sfx3"] + +[ext_resource type="Texture2D" uid="uid://c4fefrg0tfkpl" path="res://assets/first_party/collectibles/spirit.png" id="1_puqvu"] +[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="2_glbdd"] +[ext_resource type="Texture2D" uid="uid://cepg1o3ihp055" path="res://assets/first_party/collectibles/world_spirit.png" id="3_45k8j"] + +[resource] +script = ExtResource("2_glbdd") +type = 2 +color = Color(0.929, 0, 0, 1) +hud_texture = ExtResource("1_puqvu") +world_texture = ExtResource("3_45k8j") +metadata/_custom_type_script = "uid://bgmwplmj3bfls" diff --git a/scenes/globals/game_state/inventory_state.gd b/scenes/globals/game_state/inventory_state.gd index d7f1b98928..ec7899afe8 100644 --- a/scenes/globals/game_state/inventory_state.gd +++ b/scenes/globals/game_state/inventory_state.gd @@ -15,23 +15,6 @@ signal item_consumed(item: InventoryItem) ## [member clear_inventory]. @export var items: Array[InventoryItem] -## Types of items in [member inventory], for storage. Use [member inventory] -## in game code. -@export_storage var item_types: Array[String]: - get(): - var types: Array[String] - for item: InventoryItem in items: - types.append(InventoryItem.ItemType.keys()[item.type]) - return types - set(new_value): - items = [] - for type_name: String in new_value: - if InventoryItem.ItemType.has(type_name): - items.append(InventoryItem.with_type(InventoryItem.ItemType[type_name])) - else: - push_warning("Ignoring unknown inventory item type: %s" % type_name) - emit_changed() - ## Add the [InventoryItem] to [member items]. func add_collected_item(item: InventoryItem) -> void: @@ -46,9 +29,3 @@ func clear_inventory() -> void: items.erase(item) item_consumed.emit(item) emit_changed() - - -func _validate_property(property: Dictionary) -> void: - match property.name: - "inventory": - property.usage &= ~PROPERTY_USAGE_STORAGE diff --git a/scenes/ui_elements/dialogue/components/response_button.gd b/scenes/ui_elements/dialogue/components/response_button.gd index 668e1e550d..1f2309e313 100644 --- a/scenes/ui_elements/dialogue/components/response_button.gd +++ b/scenes/ui_elements/dialogue/components/response_button.gd @@ -13,6 +13,7 @@ func set_response(value: DialogueResponse) -> void: var thread_type := response.get_tag_value("thread") if thread_type and thread_type.to_upper() in InventoryItem.ItemType: - icon = InventoryItem.HUD_TEXTURES[InventoryItem.ItemType[thread_type.to_upper()]] + var item_type: InventoryItem.ItemType = InventoryItem.ItemType[thread_type.to_upper()] + icon = InventoryItem.with_type(item_type).hud_texture else: icon = null diff --git a/scenes/ui_elements/story_quest_progress/components/item_slot/components/item_slot.gd b/scenes/ui_elements/story_quest_progress/components/item_slot/components/item_slot.gd index a1dcea909d..e1f964f409 100644 --- a/scenes/ui_elements/story_quest_progress/components/item_slot/components/item_slot.gd +++ b/scenes/ui_elements/story_quest_progress/components/item_slot/components/item_slot.gd @@ -8,7 +8,7 @@ var filled_with_item: InventoryItem = null: set(new_item): filled_with_item = new_item if filled_with_item: - texture = filled_with_item.get_hud_texture() + texture = filled_with_item.hud_texture @onready var animation_player: AnimationPlayer = $AnimationPlayer @@ -32,7 +32,7 @@ func fill(inventory_item: InventoryItem) -> void: return filled_with_item = inventory_item - texture = inventory_item.get_hud_texture() + texture = inventory_item.hud_texture pivot_offset = size / 2.0 animation_player.play(&"item_collected") await animation_player.animation_finished diff --git a/scenes/ui_elements/story_quest_progress/components/story_quest_progress.gd b/scenes/ui_elements/story_quest_progress/components/story_quest_progress.gd index d7d65c01d3..6c3b50146f 100644 --- a/scenes/ui_elements/story_quest_progress/components/story_quest_progress.gd +++ b/scenes/ui_elements/story_quest_progress/components/story_quest_progress.gd @@ -51,7 +51,9 @@ func _on_helper_state_changed() -> void: head.reparent(helper_container) head.process_mode = Node.PROCESS_MODE_DISABLED remove_child(helper_character) - helper_color.color = InventoryItem.COLORS_PER_TYPE[GameState.global.helper.helper_type] + # TODO: store item in game state instead? + var item := InventoryItem.with_type(GameState.global.helper.helper_type) + helper_color.color = item.color func _on_item_collected(item: InventoryItem) -> void: diff --git a/tools/bulk_resave_scenes.gd b/tools/bulk_resave_scenes.gd new file mode 100644 index 0000000000..e5a9962efc --- /dev/null +++ b/tools/bulk_resave_scenes.gd @@ -0,0 +1,45 @@ +# SPDX-FileCopyrightText: The Threadbare Authors +# SPDX-License-Identifier: MPL-2.0 +@tool +class_name BulkResaveScenes +extends EditorScript +## Loads and saves all scenes which depend on particular resource(s) +## +## Edit [const DEPENDENCIES] then run this in the editor. +## [br][br] +## This can be useful when the dependency has code that adjusts the scene (or +## itself) when opened in the editor. You can also use Project -> Tools -> +## Upgrade Project Files... but that saves every scene in the project and takes +## ages. + +const Util = preload("./util.gd") +const DEPENDENCIES := [ + "res://scenes/game_elements/props/collectible_item/collectible_item.tscn", +] + + +func _matches(scene_path: String) -> bool: + for dependency: String in ResourceLoader.get_dependencies(scene_path): + var path := dependency.get_slice("::", 2) if dependency.contains("::") else dependency + if path in DEPENDENCIES: + return true + + return false + + +func resave(ps: PackedScene) -> void: + var root_node := ps.instantiate(PackedScene.GenEditState.GEN_EDIT_STATE_INSTANCE) + var result := ps.pack(root_node) + if result == OK: + result = ResourceSaver.save(ps) + if result != OK: + prints("failed to save", ps, result) + else: + prints("failed to pack", ps, result) + root_node.queue_free() + + +func _run() -> void: + for ps: PackedScene in Util.find_scenes("res://scenes/quests", _matches): + prints("-", ps.resource_path) + resave(ps) diff --git a/tools/bulk_resave_scenes.gd.uid b/tools/bulk_resave_scenes.gd.uid new file mode 100644 index 0000000000..a09fcf2eef --- /dev/null +++ b/tools/bulk_resave_scenes.gd.uid @@ -0,0 +1 @@ +uid://ckmx0dwqwraju From 5dc4280c377679f6601995b331c5fea1fff1d34b Mon Sep 17 00:00:00 2001 From: Will Thompson Date: Mon, 10 Aug 2026 20:32:04 +0100 Subject: [PATCH 2/7] Rewrite all scenes --- .../quest_000/2_stealth/tutorial_stealth.tscn | 8 ++------ .../5_void_runner/tutorial_void_runner.tscn | 9 ++------- .../quest_000/6_grappling/tutorial_grappling.tscn | 9 ++------- .../quest_001/1_music_puzzle/music_puzzle.tscn | 8 ++------ .../quest_001/2_ink_combat/ink_combat_round_3.tscn | 9 ++------- .../quest_001/3_stealth_level/stealth_level.tscn | 9 ++------- .../quest_002/1_void_runner/void_runner.tscn | 8 ++------ .../2_grappling_hook/grappling_hook_start.tscn | 9 ++------- .../lore_quests/quest_004/mythical_meadows.tscn | 9 ++------- .../stealth_sequence_combo.tscn | 9 ++------- .../1_ink_drinker_levels/ink_combat_round_6.tscn | 9 ++------- .../after_the_tremor_colegiojuego.tscn | 8 ++------ .../2_sequence_puzzle/2_tallerjuego/minijuego2.tscn | 8 ++------ .../3_combat/after_the_tremor_combat.tscn | 8 ++------ .../story_quests/champ/1_combat/champ_combat.tscn | 9 ++------- .../2_sequence_puzzle/champ_sequence_puzzle.tscn | 9 ++------- .../story_quests/champ/3_stealth/champ_stealth.tscn | 10 +++------- .../el_abrigo_sequence_puzzle.tscn | 9 ++------- .../2_el_abrigo_stealth/el_abrigo_stealth1.tscn | 8 ++------ .../3_el_abrigo_runner/el_abrigo_runner.tscn | 8 ++------ .../el_juguete_perdido/1_stealth/stealth.tscn | 8 ++------ .../el_juguete_perdido/2_combat/combat.tscn | 9 ++------- .../3_sequence_puzzle/sequence_puzzle.tscn | 9 ++------- .../1_stealth/el_ojo_revelador_stealth.tscn | 8 ++------ .../2_combat/el_ojo_revelador_combat.tscn | 9 ++------- .../eldrune/1_stealth/eldrune_stealth.tscn | 8 ++------ .../eldrune/2_combat/eldrune_combat.tscn | 12 ++---------- .../eldrune/3_sequence_puzzle/eldrune_puzzle_2.tscn | 9 ++------- .../1_combat/renya_combat_round_3.tscn | 9 ++------- .../2_sequence_puzzle/renya_sequence_puzzle.tscn | 9 ++------- .../3_stealth/renya_beyond_sorrow_stealth.tscn | 8 ++------ .../shjourney/4_Laberinto/Laberinto.tscn | 8 ++------ .../shjourney_sequence_puzzle.tscn | 9 ++------- .../shjourney/7_shjourney_combate/Combate.tscn | 8 ++------ .../stella/1_stella_stealth/stella_stealth.tscn | 8 ++------ .../stella/2_stella_combat/stella_combat.tscn | 9 ++------- .../stella_sequence_puzzle.tscn | 9 ++------- .../verso/1_verso_combat_anger/verso_combat.tscn | 9 ++------- .../verso/2_verso_stealth_sadness/verso_stealth.tscn | 8 ++------ .../verso_sequence_puzzle.tscn | 9 ++------- .../NO_EDIT/1_NO_EDIT_stealth/NO_EDIT_stealth.tscn | 8 ++------ .../NO_EDIT/2_NO_EDIT_combat/NO_EDIT_combat.tscn | 9 ++------- .../NO_EDIT_sequence_puzzle.tscn | 9 ++------- 43 files changed, 87 insertions(+), 287 deletions(-) diff --git a/scenes/quests/lore_quests/quest_000/2_stealth/tutorial_stealth.tscn b/scenes/quests/lore_quests/quest_000/2_stealth/tutorial_stealth.tscn index 8158f2cce2..088fe7700e 100644 --- a/scenes/quests/lore_quests/quest_000/2_stealth/tutorial_stealth.tscn +++ b/scenes/quests/lore_quests/quest_000/2_stealth/tutorial_stealth.tscn @@ -17,7 +17,6 @@ [ext_resource type="PackedScene" uid="uid://b2mj4jggli0ci" path="res://scenes/quests/lore_quests/quest_000/tutorial_npc/tutorial_npc.tscn" id="9_be8bo"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="10_pbknt"] [ext_resource type="Resource" uid="uid://bvxfbfjv2oleg" path="res://scenes/quests/lore_quests/quest_000/2_stealth/components/tutorial_stealth.dialogue" id="11_hiptn"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="11_nil71"] [ext_resource type="PackedScene" uid="uid://dv4f232y8w8dv" path="res://scenes/game_elements/props/decoration/water_rock/water_rock.tscn" id="12_es244"] [ext_resource type="Script" uid="uid://x1mxt6bmei2o" path="res://scenes/ui_elements/cinematic/cinematic.gd" id="13_qj7hh"] [ext_resource type="SpriteFrames" uid="uid://c5q1t8qd1h1pl" path="res://scenes/game_elements/props/decoration/water_rock/components/water_rock_02.tres" id="13_thfh2"] @@ -29,6 +28,7 @@ [ext_resource type="SpriteFrames" uid="uid://tchths61dylv" path="res://scenes/game_elements/characters/enemies/guard/components/storyvoretorch_frames_green.tres" id="22_ym6ys"] [ext_resource type="Script" uid="uid://c8405c212rbn6" path="res://scenes/game_elements/props/background_music/components/background_music.gd" id="25_qj7hh"] [ext_resource type="AudioStream" uid="uid://qnqpd21qyfnc" path="res://assets/first_party/music/Threadbare_Stealth.ogg" id="26_m6viv"] +[ext_resource type="Resource" uid="uid://ck0wbckgm5un8" path="res://scenes/globals/game_state/inventory/memory.tres" id="27_bh43r"] [ext_resource type="SpriteFrames" uid="uid://d000bjl2xdg0g" path="res://scenes/game_elements/props/checkpoint/components/knitwitch_frames_green.tres" id="28_06hgc"] [ext_resource type="PackedScene" uid="uid://7873qa54birk" path="res://scenes/game_elements/props/tree/tree.tscn" id="30_06hgc"] [ext_resource type="SpriteFrames" uid="uid://2ek86nvw6y28" path="res://scenes/game_elements/props/tree/components/tree_spriteframes_yellow.tres" id="31_thfh2"] @@ -55,10 +55,6 @@ size = Vector2(168.25, 122) [sub_resource type="RectangleShape2D" id="RectangleShape2D_thfh2"] size = Vector2(168.25, 122) -[sub_resource type="Resource" id="Resource_rl5ft"] -script = ExtResource("11_nil71") -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [sub_resource type="RectangleShape2D" id="RectangleShape2D_es244"] size = Vector2(1216, 1473) @@ -259,7 +255,7 @@ debug_color = Color(0, 0, 0, 0.42) unique_name_in_owner = true position = Vector2(2881, 254) revealed = false -item = SubResource("Resource_rl5ft") +item = ExtResource("27_bh43r") next_scene = "uid://c2cdgfy31u86r" exit_transition = 5 diff --git a/scenes/quests/lore_quests/quest_000/5_void_runner/tutorial_void_runner.tscn b/scenes/quests/lore_quests/quest_000/5_void_runner/tutorial_void_runner.tscn index 8b0db82f57..3d93cce29a 100644 --- a/scenes/quests/lore_quests/quest_000/5_void_runner/tutorial_void_runner.tscn +++ b/scenes/quests/lore_quests/quest_000/5_void_runner/tutorial_void_runner.tscn @@ -12,8 +12,8 @@ [ext_resource type="PackedScene" uid="uid://iu2q66clupc6" path="res://scenes/game_elements/characters/player/player.tscn" id="9_41blb"] [ext_resource type="SpriteFrames" uid="uid://dtoylirwywk0j" path="res://scenes/game_elements/characters/components/sprite_frames/storyweaver_blue.tres" id="10_pxyem"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="11_wdt4i"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="12_rogtb"] [ext_resource type="PackedScene" uid="uid://cokul8w425pja" path="res://scenes/game_elements/characters/enemies/void_spreading_enemy/void_spreading_enemy.tscn" id="13_app83"] +[ext_resource type="Resource" uid="uid://c44l6x4e7sfx3" path="res://scenes/globals/game_state/inventory/spirit.tres" id="13_tjonm"] [ext_resource type="Script" uid="uid://bdhjixygupit1" path="res://scenes/game_elements/props/area_filler/area_filler.gd" id="14_2lxhj"] [ext_resource type="PackedScene" uid="uid://b2mj4jggli0ci" path="res://scenes/quests/lore_quests/quest_000/tutorial_npc/tutorial_npc.tscn" id="14_sdmwi"] [ext_resource type="PackedScene" uid="uid://7873qa54birk" path="res://scenes/game_elements/props/tree/tree.tscn" id="15_m0rx6"] @@ -27,11 +27,6 @@ [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="25_xfbr2"] [ext_resource type="PackedScene" uid="uid://dv4f232y8w8dv" path="res://scenes/game_elements/props/decoration/water_rock/water_rock.tscn" id="28_af6h4"] -[sub_resource type="Resource" id="Resource_6rywr"] -script = ExtResource("12_rogtb") -type = 2 -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [sub_resource type="RectangleShape2D" id="RectangleShape2D_fwbcl"] size = Vector2(337.5, 826) @@ -130,7 +125,7 @@ editor_draw_limits = true unique_name_in_owner = true position = Vector2(2943, -135) revealed = false -item = SubResource("Resource_6rywr") +item = ExtResource("13_tjonm") next_scene = "uid://dmoxtp65y3r2w" [node name="VoidSpreadingEnemy" parent="OnTheGround" unique_id=1007896559 node_paths=PackedStringArray("void_layer", "idle_patrol_path") instance=ExtResource("13_app83")] diff --git a/scenes/quests/lore_quests/quest_000/6_grappling/tutorial_grappling.tscn b/scenes/quests/lore_quests/quest_000/6_grappling/tutorial_grappling.tscn index eb69fd91ec..8a0c446fdd 100644 --- a/scenes/quests/lore_quests/quest_000/6_grappling/tutorial_grappling.tscn +++ b/scenes/quests/lore_quests/quest_000/6_grappling/tutorial_grappling.tscn @@ -16,7 +16,6 @@ [ext_resource type="PackedScene" uid="uid://1vunygl4wpj6" path="res://scenes/game_elements/props/button_item/button_item.tscn" id="11_umhh8"] [ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="12_512nx"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="12_s8bcj"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="13_qywun"] [ext_resource type="Script" uid="uid://bhexx6mj1xv3q" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_2d.gd" id="13_r0dvx"] [ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="14_d5yvg"] [ext_resource type="PackedScene" uid="uid://covsdqqsd6rsy" path="res://scenes/game_elements/props/sign/sign.tscn" id="14_o5vgf"] @@ -25,6 +24,7 @@ [ext_resource type="SpriteFrames" uid="uid://cfgahyntmtfgu" path="res://scenes/game_elements/props/powerup/components/powerup_thread.tres" id="17_k7scg"] [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="18_ifd06"] [ext_resource type="PackedScene" uid="uid://b2mj4jggli0ci" path="res://scenes/quests/lore_quests/quest_000/tutorial_npc/tutorial_npc.tscn" id="18_x2ecx"] +[ext_resource type="Resource" uid="uid://cchnv5pn6fa8e" path="res://scenes/globals/game_state/inventory/imagination.tres" id="19_512nx"] [ext_resource type="Resource" uid="uid://ci8ll31uofkiw" path="res://scenes/quests/lore_quests/quest_000/6_grappling/components/tutorial_grappling.dialogue" id="21_x2ecx"] [ext_resource type="Script" uid="uid://x1mxt6bmei2o" path="res://scenes/ui_elements/cinematic/cinematic.gd" id="24_fhcwk"] [ext_resource type="PackedScene" uid="uid://dv4f232y8w8dv" path="res://scenes/game_elements/props/decoration/water_rock/water_rock.tscn" id="26_3gauf"] @@ -39,11 +39,6 @@ [sub_resource type="Resource" id="Resource_atjeb"] script = ExtResource("14_d5yvg") -[sub_resource type="Resource" id="Resource_u8qfb"] -script = ExtResource("13_qywun") -type = 1 -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [node name="TutorialGrappling" type="Node2D" unique_id=217609538] script = ExtResource("1_512nx") @@ -239,7 +234,7 @@ position = Vector2(-865, 781) [node name="ImaginationThread" parent="OnTheGround" unique_id=1678374994 instance=ExtResource("12_s8bcj")] position = Vector2(-575, 315) -item = SubResource("Resource_u8qfb") +item = ExtResource("19_512nx") collected_dialogue = ExtResource("21_x2ecx") dialogue_title = &"thread_collected" next_scene = "uid://cufkthb25mpxy" diff --git a/scenes/quests/lore_quests/quest_001/1_music_puzzle/music_puzzle.tscn b/scenes/quests/lore_quests/quest_001/1_music_puzzle/music_puzzle.tscn index 6717d88557..defb1f43ac 100644 --- a/scenes/quests/lore_quests/quest_001/1_music_puzzle/music_puzzle.tscn +++ b/scenes/quests/lore_quests/quest_001/1_music_puzzle/music_puzzle.tscn @@ -17,7 +17,6 @@ [ext_resource type="PackedScene" uid="uid://be4o3ythda4cu" path="res://scenes/game_elements/props/sequence_puzzle_hint_sign/sequence_puzzle_hint_sign.tscn" id="9_evicy"] [ext_resource type="PackedScene" uid="uid://7873qa54birk" path="res://scenes/game_elements/props/tree/tree.tscn" id="13_inhg4"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="14_src2c"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="15_rxyid"] [ext_resource type="SpriteFrames" uid="uid://dtoylirwywk0j" path="res://scenes/game_elements/characters/components/sprite_frames/storyweaver_blue.tres" id="15_s3slv"] [ext_resource type="SpriteFrames" uid="uid://djwymcffy83" path="res://scenes/game_elements/props/tree/components/tree_spriteframes_red.tres" id="16_8nm0x"] [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="16_ytxvq"] @@ -45,6 +44,7 @@ [ext_resource type="AudioStream" uid="uid://c7om8kdork2rx" path="res://assets/third_party/sounds/characters/enemies/guard/Torch.ogg" id="31_ink4c"] [ext_resource type="SpriteFrames" uid="uid://cefk7kf0bpm3q" path="res://scenes/quests/lore_quests/quest_001/1_music_puzzle/components/bonfire_sign/bonfire_sign_backward.tres" id="32_0wfv2"] [ext_resource type="AudioStream" uid="uid://xuqj6b5qqs3w" path="res://assets/third_party/sounds/ambient/459405__pfannkuchn__small-river-1-fast-semi-close.ogg" id="35_l8fgn"] +[ext_resource type="Resource" uid="uid://ck0wbckgm5un8" path="res://scenes/globals/game_state/inventory/memory.tres" id="41_icnj0"] [ext_resource type="PackedScene" uid="uid://dgrrudegturnw" path="res://scenes/game_elements/characters/npcs/townie.tscn" id="42_ps6xw"] [ext_resource type="Script" uid="uid://edcifob4jc4s" path="res://scenes/game_logic/talk_behavior.gd" id="43_icnj0"] [ext_resource type="Resource" uid="uid://jf1tng8jxd3o" path="res://scenes/quests/lore_quests/quest_001/1_music_puzzle/components/dialogues/music_lore_helper.dialogue" id="44_pgedt"] @@ -53,10 +53,6 @@ [ext_resource type="Script" uid="uid://diskln3jup064" path="res://scenes/game_elements/characters/npcs/components/helper_character.gd" id="46_jaqfj"] [ext_resource type="AudioStream" uid="uid://wkn0u0npcijf" path="res://scenes/quests/lore_quests/quest_001/1_music_puzzle/components/song_sanctuary_music.tres" id="47_orlow"] -[sub_resource type="Resource" id="Resource_dp3eg"] -script = ExtResource("15_rxyid") -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [sub_resource type="RectangleShape2D" id="RectangleShape2D_vigmf"] size = Vector2(52, 61) @@ -1477,7 +1473,7 @@ hint_sign = NodePath("../../Bonfires/BonfireSign4") unique_name_in_owner = true position = Vector2(-726, 43) revealed = false -item = SubResource("Resource_dp3eg") +item = ExtResource("41_icnj0") collected_dialogue = ExtResource("6_l4i5r") dialogue_title = &"well_done" next_scene = "uid://cgemeabsewy1f" diff --git a/scenes/quests/lore_quests/quest_001/2_ink_combat/ink_combat_round_3.tscn b/scenes/quests/lore_quests/quest_001/2_ink_combat/ink_combat_round_3.tscn index f93ee97687..82b677a035 100644 --- a/scenes/quests/lore_quests/quest_001/2_ink_combat/ink_combat_round_3.tscn +++ b/scenes/quests/lore_quests/quest_001/2_ink_combat/ink_combat_round_3.tscn @@ -17,12 +17,12 @@ [ext_resource type="TileSet" uid="uid://dfp36ffpanjq2" path="res://tiles/elevation.tres" id="7_vstxf"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="8_hyj3v"] [ext_resource type="SpriteFrames" uid="uid://3ujiuhj7wpm2" path="res://scenes/game_elements/characters/enemies/throwing_enemy/components/ink_drinker_frames_red.tres" id="8_k5uk8"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="9_rww0x"] [ext_resource type="SpriteFrames" uid="uid://dxbt7cgoq3dg5" path="res://scenes/game_elements/characters/enemies/throwing_enemy/components/ink_drinker_frames_blue.tres" id="9_te0v3"] [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="10_i5hhc"] [ext_resource type="AudioStream" uid="uid://qf2d38rabx8o" path="res://assets/third_party/sounds/characters/enemies/throwing_enemy/Wings.ogg" id="10_uyhkg"] [ext_resource type="AudioStream" uid="uid://bbnj2fog3rdy8" path="res://assets/first_party/sounds/throwing_enemy/Spray.wav" id="11_7kldn"] [ext_resource type="PackedScene" uid="uid://c5jedlvvnnbi0" path="res://scenes/game_elements/props/projectile/ink_blob_projectile.tscn" id="12_ms350"] +[ext_resource type="Resource" uid="uid://cchnv5pn6fa8e" path="res://scenes/globals/game_state/inventory/imagination.tres" id="21_2anko"] [ext_resource type="PackedScene" uid="uid://dgrrudegturnw" path="res://scenes/game_elements/characters/npcs/townie.tscn" id="23_2anko"] [ext_resource type="Script" uid="uid://edcifob4jc4s" path="res://scenes/game_logic/talk_behavior.gd" id="24_7ypla"] [ext_resource type="Resource" uid="uid://cm0wl5emmorln" path="res://scenes/quests/lore_quests/quest_001/2_ink_combat/components/dialogues/ink_helper.dialogue" id="25_tlsag"] @@ -52,11 +52,6 @@ _data = { &"goal_completed": SubResource("Animation_k5uk8") } -[sub_resource type="Resource" id="Resource_na0be"] -script = ExtResource("9_rww0x") -type = 1 -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [sub_resource type="RectangleShape2D" id="RectangleShape2D_0kgrx"] size = Vector2(52, 61) @@ -172,7 +167,7 @@ color = Color(1, 1, 0, 1) unique_name_in_owner = true position = Vector2(542, 510) revealed = false -item = SubResource("Resource_na0be") +item = ExtResource("21_2anko") collected_dialogue = ExtResource("2_fgs83") dialogue_title = &"well_done" next_scene = "uid://db6vhi7s2f37c" diff --git a/scenes/quests/lore_quests/quest_001/3_stealth_level/stealth_level.tscn b/scenes/quests/lore_quests/quest_001/3_stealth_level/stealth_level.tscn index 0784d9afa8..c75847ddd5 100644 --- a/scenes/quests/lore_quests/quest_001/3_stealth_level/stealth_level.tscn +++ b/scenes/quests/lore_quests/quest_001/3_stealth_level/stealth_level.tscn @@ -6,7 +6,6 @@ [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="2_1b8xw"] [ext_resource type="AudioStream" uid="uid://qnqpd21qyfnc" path="res://assets/first_party/music/Threadbare_Stealth.ogg" id="2_p2u32"] [ext_resource type="PackedScene" uid="uid://iu2q66clupc6" path="res://scenes/game_elements/characters/player/player.tscn" id="3_1b8xw"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="3_idy4y"] [ext_resource type="TileSet" uid="uid://oynx002hv8tl" path="res://tiles/water.tres" id="4_xuyoh"] [ext_resource type="TileSet" uid="uid://bjx3gvah0ycl1" path="res://tiles/foam_2.tres" id="5_86cpf"] [ext_resource type="SpriteFrames" uid="uid://bapks76u4hipj" path="res://scenes/game_elements/props/decoration/bush/components/bush_spriteframes_green_small.tres" id="7_p2u32"] @@ -56,6 +55,7 @@ [ext_resource type="SpriteFrames" uid="uid://qwlhm21ndgn2" path="res://scenes/game_elements/characters/enemies/guard/components/storyvore_frames_orange.tres" id="33_pld6d"] [ext_resource type="PackedScene" uid="uid://dgrrudegturnw" path="res://scenes/game_elements/characters/npcs/townie.tscn" id="51_c2gs0"] [ext_resource type="Script" uid="uid://edcifob4jc4s" path="res://scenes/game_logic/talk_behavior.gd" id="52_4qmxg"] +[ext_resource type="Resource" uid="uid://c44l6x4e7sfx3" path="res://scenes/globals/game_state/inventory/spirit.tres" id="53_54yji"] [ext_resource type="Resource" uid="uid://vlfqwpiuf0i2" path="res://scenes/quests/lore_quests/quest_001/3_stealth_level/components/bridge_helper.dialogue" id="53_c2gs0"] [ext_resource type="Script" uid="uid://du8wfijr35r35" path="res://scenes/game_elements/props/interact_area/interact_area.gd" id="54_llwyy"] [ext_resource type="Script" uid="uid://diskln3jup064" path="res://scenes/game_elements/characters/npcs/components/helper_character.gd" id="55_vnfb8"] @@ -154,11 +154,6 @@ size = Vector2(137, 126) [sub_resource type="RectangleShape2D" id="RectangleShape2D_n0bwe"] size = Vector2(212, 254) -[sub_resource type="Resource" id="Resource_idy4y"] -script = ExtResource("3_idy4y") -type = 2 -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [sub_resource type="Curve2D" id="Curve2D_86cpf"] _data = { "points": PackedVector2Array(0, 0, 0, 0, -96, 224, 0, 0, 0, 0, 672, 232, 0, 0, 0, 0, 1952, 288, 0, 0, 0, 0, 2528, 424, 0, 0, 0, 0, 2528, 920, 0, 0, 0, 0, 2784, 1184, 0, 0, 0, 0, 3360, 1184, 0, 0, 0, 0, 4256, 1120, 0, 0, 0, 0, 5288, 1120, 0, 0, 0, 0, 5600, 1056, 0, 0, 0, 0, 6496, 896, 0, 0, 0, 0, 7096, 896) @@ -1040,7 +1035,7 @@ debug_color = Color(0, 0, 0, 0.42) [node name="CollectibleItem" parent="." unique_id=1252493919 instance=ExtResource("2_1b8xw")] position = Vector2(7199, 888) -item = SubResource("Resource_idy4y") +item = ExtResource("53_54yji") next_scene = "uid://cd2p2udmkif80" [node name="Door" parent="." unique_id=1358622977 instance=ExtResource("25_ulxtw")] 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 db446fc0c3..587348901b 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 @@ -35,7 +35,6 @@ [ext_resource type="SpriteFrames" uid="uid://brspwu70qbdaf" path="res://scenes/game_elements/props/tree/components/tree_spriteframes_blue.tres" id="21_xqo3t"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="22_auh5r"] [ext_resource type="Resource" uid="uid://cy6q1djsmma1f" path="res://scenes/quests/lore_quests/quest_002/1_void_runner/components/townie.dialogue" id="22_tsnue"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="23_amu0w"] [ext_resource type="PackedScene" uid="uid://dgrrudegturnw" path="res://scenes/game_elements/characters/npcs/townie.tscn" id="23_kfcfu"] [ext_resource type="PackedScene" uid="uid://dme77bdscoo1o" path="res://scenes/quests/lore_quests/quest_002/1_void_runner/components/monk.tscn" id="23_swnl7"] [ext_resource type="SpriteFrames" uid="uid://2ek86nvw6y28" path="res://scenes/game_elements/props/tree/components/tree_spriteframes_yellow.tres" id="23_wtoj6"] @@ -49,6 +48,7 @@ [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="29_gbo6l"] [ext_resource type="Resource" uid="uid://cki0neredlfou" path="res://scenes/quests/lore_quests/quest_002/1_void_runner/components/runner_lore_helper.dialogue" id="29_tsnue"] [ext_resource type="PackedScene" uid="uid://cf3cbl12wt6vr" path="res://scenes/game_elements/props/buildings/temple/temple.tscn" id="37_kgem8"] +[ext_resource type="Resource" uid="uid://ck0wbckgm5un8" path="res://scenes/globals/game_state/inventory/memory.tres" id="43_auh5r"] [ext_resource type="PackedScene" uid="uid://dua6mynlw2ptw" path="res://scenes/game_elements/props/checkpoint/checkpoint.tscn" id="48_auh5r"] [sub_resource type="NavigationPolygon" id="NavigationPolygon_05yrb"] @@ -77,10 +77,6 @@ point_count = 17 [sub_resource type="RectangleShape2D" id="RectangleShape2D_rrp37"] size = Vector2(52, 61) -[sub_resource type="Resource" id="Resource_8l6e1"] -script = ExtResource("23_amu0w") -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [sub_resource type="RectangleShape2D" id="RectangleShape2D_amu0w"] size = Vector2(64, 64) @@ -1228,7 +1224,7 @@ polygon = PackedVector2Array(-221.5, 55.5, -226.5, 102.5, -174.5, 105.5, -158.5, [node name="CollectibleItem" parent="OnTheGround" unique_id=1898669578 instance=ExtResource("22_auh5r")] position = Vector2(474, 1058) revealed = false -item = SubResource("Resource_8l6e1") +item = ExtResource("43_auh5r") collected_dialogue = ExtResource("27_g2rto") next_scene = "uid://b8mfigsd8y5qs" 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 c0ec8e3c67..d685e4b542 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 @@ -15,13 +15,13 @@ [ext_resource type="PackedScene" uid="uid://dvj15pnuqr2ua" path="res://scenes/game_elements/props/hookable_button_item/hookable_button_item.tscn" id="6_3g3x4"] [ext_resource type="TileSet" uid="uid://b8qnr0owsbhhn" path="res://tiles/exterior_floors.tres" id="6_ngr1v"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="7_upilw"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="8_jqq45"] [ext_resource type="PackedScene" uid="uid://cokul8w425pja" path="res://scenes/game_elements/characters/enemies/void_spreading_enemy/void_spreading_enemy.tscn" id="9_3g3x4"] [ext_resource type="PackedScene" uid="uid://covsdqqsd6rsy" path="res://scenes/game_elements/props/sign/sign.tscn" id="9_vdhd3"] [ext_resource type="Script" uid="uid://csev4hv57utxv" path="res://scenes/game_logic/walk_behaviors/character_speeds.gd" id="10_upilw"] [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="11_p44d7"] [ext_resource type="Script" uid="uid://0enyu5v4ra34" path="res://scenes/game_elements/props/spawn_point/components/spawn_point.gd" id="14_jqq45"] [ext_resource type="PackedScene" uid="uid://1vunygl4wpj6" path="res://scenes/game_elements/props/button_item/button_item.tscn" id="15_wv4km"] +[ext_resource type="Resource" uid="uid://cchnv5pn6fa8e" path="res://scenes/globals/game_state/inventory/imagination.tres" id="17_wv4km"] [ext_resource type="PackedScene" uid="uid://crqjcicx0vdu" path="res://scenes/game_elements/props/decoration/bush/bush.tscn" id="18_wv4km"] [ext_resource type="SpriteFrames" uid="uid://bapks76u4hipj" path="res://scenes/game_elements/props/decoration/bush/components/bush_spriteframes_green_small.tres" id="19_6n4qp"] [ext_resource type="PackedScene" uid="uid://0ull24fvmhwk" path="res://scenes/game_elements/props/teleporter/teleporter.tscn" id="23_wv4km"] @@ -63,11 +63,6 @@ _data = { &"eat_floor": SubResource("Animation_aiq76") } -[sub_resource type="Resource" id="Resource_kr8u1"] -script = ExtResource("8_jqq45") -type = 1 -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [sub_resource type="Resource" id="Resource_jqq45"] script = ExtResource("10_upilw") walk_speed = 1500.0 @@ -227,7 +222,7 @@ position = Vector2(1132, 1079) [node name="CollectibleItem" parent="OnTheGround" unique_id=317578047 instance=ExtResource("7_upilw")] position = Vector2(1434, 520) -item = SubResource("Resource_kr8u1") +item = ExtResource("17_wv4km") next_scene = "uid://ce7nk8qmi64d2" exit_transition = 1 diff --git a/scenes/quests/lore_quests/quest_004/mythical_meadows.tscn b/scenes/quests/lore_quests/quest_004/mythical_meadows.tscn index bf44ee1b68..ef74854066 100644 --- a/scenes/quests/lore_quests/quest_004/mythical_meadows.tscn +++ b/scenes/quests/lore_quests/quest_004/mythical_meadows.tscn @@ -13,14 +13,9 @@ [ext_resource type="TileSet" uid="uid://ciq5guijvlyb0" path="res://tiles/void_chromakey.tres" id="9_q603x"] [ext_resource type="PackedScene" uid="uid://iu2q66clupc6" path="res://scenes/game_elements/characters/player/player.tscn" id="10_1wq77"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="12_q0isu"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="13_33k3i"] [ext_resource type="SpriteFrames" uid="uid://dtoylirwywk0j" path="res://scenes/game_elements/characters/components/sprite_frames/storyweaver_blue.tres" id="13_ag7vv"] [ext_resource type="PackedScene" uid="uid://dv4f232y8w8dv" path="res://scenes/game_elements/props/decoration/water_rock/water_rock.tscn" id="14_brig6"] - -[sub_resource type="Resource" id="Resource_g27r7"] -script = ExtResource("13_33k3i") -type = 2 -metadata/_custom_type_script = "uid://bgmwplmj3bfls" +[ext_resource type="Resource" uid="uid://c44l6x4e7sfx3" path="res://scenes/globals/game_state/inventory/spirit.tres" id="15_ag7vv"] [node name="MythicalMeadows" type="Node2D" unique_id=78806229] @@ -89,7 +84,7 @@ editor_draw_limits = true [node name="CollectibleItem" parent="OnTheGround" unique_id=327991066 instance=ExtResource("12_q0isu")] position = Vector2(1945, 338) -item = SubResource("Resource_g27r7") +item = ExtResource("15_ag7vv") target = 1 [node name="InTheWater" type="Node2D" parent="." unique_id=2028481663] diff --git a/scenes/quests/lore_quests/song_sanctuary_2/1_stealth_sequence_combo/stealth_sequence_combo.tscn b/scenes/quests/lore_quests/song_sanctuary_2/1_stealth_sequence_combo/stealth_sequence_combo.tscn index dd96a66720..9d33a0f01e 100644 --- a/scenes/quests/lore_quests/song_sanctuary_2/1_stealth_sequence_combo/stealth_sequence_combo.tscn +++ b/scenes/quests/lore_quests/song_sanctuary_2/1_stealth_sequence_combo/stealth_sequence_combo.tscn @@ -15,7 +15,6 @@ [ext_resource type="AudioStream" uid="uid://4ec6e2alns71" path="res://assets/third_party/sounds/characters/enemies/guard/GrassFoot.ogg" id="8_bc7ib"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="8_u3d8g"] [ext_resource type="AudioStream" uid="uid://c7om8kdork2rx" path="res://assets/third_party/sounds/characters/enemies/guard/Torch.ogg" id="9_00lb2"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="9_1l5nh"] [ext_resource type="AudioStream" uid="uid://bwif2oo6ymiu2" path="res://assets/third_party/sounds/characters/enemies/guard/TorchHit.ogg" id="10_f0rs2"] [ext_resource type="SpriteFrames" uid="uid://d1k25io0tiiij" path="res://scenes/game_elements/characters/enemies/guard/components/storyvoretorch_frames_blue.tres" id="11_bc7ib"] [ext_resource type="Script" uid="uid://c68oh8dtr21ti" path="res://scenes/game_logic/sequence_puzzle.gd" id="14_qhjva"] @@ -30,6 +29,7 @@ [ext_resource type="AudioStream" uid="uid://shckj7dsimyt" path="res://assets/third_party/nepalese_hand_bells/handBells-g#4.ogg" id="20_lxyj7"] [ext_resource type="PackedScene" uid="uid://be4o3ythda4cu" path="res://scenes/game_elements/props/sequence_puzzle_hint_sign/sequence_puzzle_hint_sign.tscn" id="22_4t55h"] [ext_resource type="PackedScene" uid="uid://dv4f232y8w8dv" path="res://scenes/game_elements/props/decoration/water_rock/water_rock.tscn" id="25_bc7ib"] +[ext_resource type="Resource" uid="uid://c44l6x4e7sfx3" path="res://scenes/globals/game_state/inventory/spirit.tres" id="28_w608l"] [ext_resource type="Script" uid="uid://c8405c212rbn6" path="res://scenes/game_elements/props/background_music/components/background_music.gd" id="30_togfe"] [ext_resource type="AudioStream" uid="uid://c831gmm3rlklr" path="res://scenes/quests/lore_quests/song_sanctuary_2/1_stealth_sequence_combo/music/stealth_sequence_combo_music.tres" id="31_w608l"] @@ -45,11 +45,6 @@ _data = { } point_count = 4 -[sub_resource type="Resource" id="Resource_idy4y"] -script = ExtResource("9_1l5nh") -type = 2 -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [node name="StealthSequenceCombo" type="Node2D" unique_id=1761996320] y_sort_enabled = true script = ExtResource("1_w6fk3") @@ -212,7 +207,7 @@ curve = SubResource("Curve2D_qhjva") unique_name_in_owner = true position = Vector2(2429, 1936) revealed = false -item = SubResource("Resource_idy4y") +item = ExtResource("28_w608l") collected_dialogue = ExtResource("19_gwj3x") dialogue_title = &"collected" target = 1 diff --git a/scenes/quests/lore_quests/song_sanctuary_3/1_ink_drinker_levels/ink_combat_round_6.tscn b/scenes/quests/lore_quests/song_sanctuary_3/1_ink_drinker_levels/ink_combat_round_6.tscn index af82294fbe..d2434aaf6a 100644 --- a/scenes/quests/lore_quests/song_sanctuary_3/1_ink_drinker_levels/ink_combat_round_6.tscn +++ b/scenes/quests/lore_quests/song_sanctuary_3/1_ink_drinker_levels/ink_combat_round_6.tscn @@ -27,7 +27,7 @@ [ext_resource type="PackedScene" uid="uid://crqjcicx0vdu" path="res://scenes/game_elements/props/decoration/bush/bush.tscn" id="23_0oabu"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="27_4co4a"] [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="27_7y6db"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="28_ihx08"] +[ext_resource type="Resource" uid="uid://cchnv5pn6fa8e" path="res://scenes/globals/game_state/inventory/imagination.tres" id="29_t7x86"] [ext_resource type="PackedScene" uid="uid://dy8ohrl7j24qy" path="res://scenes/game_elements/characters/enemies/mothsache/Mothsache.tscn" id="30_4co4a"] [ext_resource type="Script" uid="uid://x1mxt6bmei2o" path="res://scenes/ui_elements/cinematic/cinematic.gd" id="30_t7x86"] [ext_resource type="Resource" uid="uid://1q4ntvf11y4l" path="res://scenes/quests/lore_quests/song_sanctuary_3/1_ink_drinker_levels/components/musician.dialogue" id="31_n0ti8"] @@ -54,11 +54,6 @@ _data = { &"goal_completed": SubResource("Animation_k5uk8") } -[sub_resource type="Resource" id="Resource_rlfef"] -script = ExtResource("28_ihx08") -type = 1 -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [node name="InkCombatRound6" type="Node2D" unique_id=559694113] [node name="BackgroundMusic" parent="." unique_id=1117240436 instance=ExtResource("1_7y6db")] @@ -235,7 +230,7 @@ scale = Vector2(0.8, 0.8) unique_name_in_owner = true position = Vector2(593, 356) revealed = false -item = SubResource("Resource_rlfef") +item = ExtResource("29_t7x86") dialogue_title = &"well_done" target = 1 diff --git a/scenes/quests/story_quests/after_the_tremor/2_colegiojuego/after_the_tremor_colegiojuego.tscn b/scenes/quests/story_quests/after_the_tremor/2_colegiojuego/after_the_tremor_colegiojuego.tscn index f09ffb3ffb..cba95c72c9 100644 --- a/scenes/quests/story_quests/after_the_tremor/2_colegiojuego/after_the_tremor_colegiojuego.tscn +++ b/scenes/quests/story_quests/after_the_tremor/2_colegiojuego/after_the_tremor_colegiojuego.tscn @@ -4,11 +4,11 @@ [ext_resource type="Script" uid="uid://dnp0tjloec2d7" path="res://scenes/game_logic/stealth_game_logic.gd" id="1_wwgeh"] [ext_resource type="PackedScene" uid="uid://iu2q66clupc6" path="res://scenes/game_elements/characters/player/player.tscn" id="3_hg8ka"] [ext_resource type="SpriteFrames" uid="uid://dbe6l18tss360" path="res://scenes/quests/story_quests/after_the_tremor/charlie_components/after_the_tremor_charlie.tres" id="3_uy1rd"] +[ext_resource type="Resource" uid="uid://ck0wbckgm5un8" path="res://scenes/globals/game_state/inventory/memory.tres" id="7_dm3hp"] [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="9_xqa6r"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="10_2ikh1"] [ext_resource type="TileSet" uid="uid://4ewcvb1sibsf" path="res://scenes/quests/story_quests/after_the_tremor/3_combat/2_cinematicacombate/tile/tilestaller.tres" id="10_dm3hp"] [ext_resource type="Texture2D" uid="uid://dma605ym4kwoi" path="res://scenes/quests/story_quests/after_the_tremor/2_colegiojuego/stealth_components/Captura de pantalla 2025-11-13 182221.png" id="11_dskj3"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="11_etnks"] [ext_resource type="Texture2D" uid="uid://bkjnj3xgy4qnn" path="res://scenes/quests/story_quests/after_the_tremor/cables.png" id="11_lsxbb"] [ext_resource type="Resource" uid="uid://ckjcd1twpgfcw" path="res://scenes/quests/story_quests/after_the_tremor/2_colegiojuego/stealth_components/after_the_tremor_collected.dialogue" id="12_6cc12"] [ext_resource type="Script" uid="uid://cujdidbq78hl7" path="res://scenes/quests/story_quests/after_the_tremor/2_colegiojuego/zone_focus_1.gd" id="12_h8y0j"] @@ -31,10 +31,6 @@ radius = 21.333328 height = 74.666626 -[sub_resource type="Resource" id="Resource_ltp2f"] -script = ExtResource("11_etnks") -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [sub_resource type="RectangleShape2D" id="RectangleShape2D_dskj3"] size = Vector2(166.65625, 124.5) @@ -89,7 +85,7 @@ horizontal_alignment = 1 modulate = Color(1, 1, 1, 0) position = Vector2(447, 531) revealed = false -item = SubResource("Resource_ltp2f") +item = ExtResource("7_dm3hp") collected_dialogue = ExtResource("12_6cc12") next_scene = "uid://byqluh4f76sqn" diff --git a/scenes/quests/story_quests/after_the_tremor/2_sequence_puzzle/2_tallerjuego/minijuego2.tscn b/scenes/quests/story_quests/after_the_tremor/2_sequence_puzzle/2_tallerjuego/minijuego2.tscn index b3640a7045..403ddeef3e 100644 --- a/scenes/quests/story_quests/after_the_tremor/2_sequence_puzzle/2_tallerjuego/minijuego2.tscn +++ b/scenes/quests/story_quests/after_the_tremor/2_sequence_puzzle/2_tallerjuego/minijuego2.tscn @@ -12,8 +12,8 @@ [ext_resource type="SpriteFrames" uid="uid://dkcv15as5d6gw" path="res://scenes/quests/story_quests/after_the_tremor/bryan_components/after_the_tremor_bryan.tres" id="9_cbqvq"] [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="10_8cyi3"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="11_gek8f"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="12_321x3"] [ext_resource type="Resource" uid="uid://dtqascp25vdgx" path="res://scenes/quests/story_quests/after_the_tremor/2_sequence_puzzle/2_tallerjuego/dialogofinal.dialogue" id="13_ea4l7"] +[ext_resource type="Resource" uid="uid://ck0wbckgm5un8" path="res://scenes/globals/game_state/inventory/memory.tres" id="13_fikee"] [ext_resource type="Script" uid="uid://c68oh8dtr21ti" path="res://scenes/game_logic/sequence_puzzle.gd" id="14_0n12u"] [ext_resource type="PackedScene" uid="uid://b8sok264erfoc" path="res://scenes/game_elements/props/sequence_puzzle_object/sequence_puzzle_object.tscn" id="15_ea4l7"] [ext_resource type="SpriteFrames" uid="uid://bosdk18pjhyo0" path="res://scenes/quests/story_quests/after_the_tremor/2_sequence_puzzle/botonfuente.tres" id="16_8drhf"] @@ -46,10 +46,6 @@ size = Vector2(80, 162.66667) radius = 21.333328 height = 74.666626 -[sub_resource type="Resource" id="Resource_cbqvq"] -script = ExtResource("12_321x3") -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [node name="Minijuego2" type="Node2D" unique_id=1172299557] y_sort_enabled = true @@ -130,7 +126,7 @@ shape = SubResource("CapsuleShape2D_p26tb") modulate = Color(1, 1, 1, 0) position = Vector2(452, -41) revealed = false -item = SubResource("Resource_cbqvq") +item = ExtResource("13_fikee") collected_dialogue = ExtResource("13_ea4l7") next_scene = "uid://iywmch2pilxk" diff --git a/scenes/quests/story_quests/after_the_tremor/3_combat/after_the_tremor_combat.tscn b/scenes/quests/story_quests/after_the_tremor/3_combat/after_the_tremor_combat.tscn index 66f8109e76..23e30d461d 100644 --- a/scenes/quests/story_quests/after_the_tremor/3_combat/after_the_tremor_combat.tscn +++ b/scenes/quests/story_quests/after_the_tremor/3_combat/after_the_tremor_combat.tscn @@ -18,8 +18,8 @@ [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="13_3lgw8"] [ext_resource type="Resource" uid="uid://dkuosu241la84" path="res://scenes/quests/story_quests/after_the_tremor/3_combat/componentes/dialogofinal.dialogue" id="13_ilkny"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="15_25fjq"] +[ext_resource type="Resource" uid="uid://ck0wbckgm5un8" path="res://scenes/globals/game_state/inventory/memory.tres" id="15_hh6bx"] [ext_resource type="Script" uid="uid://72qfdsx7ftfu" path="res://scenes/quests/story_quests/after_the_tremor/3_combat/scripts/throwing_enemytremor.gd" id="15_omu5o"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="16_epny2"] [ext_resource type="SpriteFrames" uid="uid://k5tiiho1vva0" path="res://scenes/quests/story_quests/after_the_tremor/3_combat/componentes/bryanpalo.tres" id="16_ilkny"] [ext_resource type="PackedScene" uid="uid://covsdqqsd6rsy" path="res://scenes/game_elements/props/sign/sign.tscn" id="18_epny2"] [ext_resource type="Script" uid="uid://chpgq8d41toca" path="res://scenes/quests/story_quests/after_the_tremor/3_combat/scripts/scriptsthreadbare/bosshealth.gd" id="18_fq20r"] @@ -312,10 +312,6 @@ _data = { script = ExtResource("5_aisso") metadata/_custom_type_script = "uid://csev4hv57utxv" -[sub_resource type="Resource" id="Resource_ilkny"] -script = ExtResource("16_epny2") -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_fq20r"] bg_color = Color(0, 0, 0, 1) border_width_left = 2 @@ -464,7 +460,7 @@ metadata/_custom_type_script = "uid://x1mxt6bmei2o" modulate = Color(1, 1, 1, 0) position = Vector2(794, 309) revealed = false -item = SubResource("Resource_ilkny") +item = ExtResource("15_hh6bx") collected_dialogue = ExtResource("13_ilkny") next_scene = "uid://c0rr6ow3dhecj" diff --git a/scenes/quests/story_quests/champ/1_combat/champ_combat.tscn b/scenes/quests/story_quests/champ/1_combat/champ_combat.tscn index 81d45a711a..e4c755ae6e 100644 --- a/scenes/quests/story_quests/champ/1_combat/champ_combat.tscn +++ b/scenes/quests/story_quests/champ/1_combat/champ_combat.tscn @@ -18,7 +18,6 @@ [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="13_45tp4"] [ext_resource type="PackedScene" uid="uid://driu5llb873ns" path="res://scenes/quests/story_quests/champ/1_combat/combat_components/champ_projectile_3.tscn" id="13_418m7"] [ext_resource type="Texture2D" uid="uid://dyyu8w3qtm6q5" path="res://scenes/quests/story_quests/champ/1_combat/combat_components/champ_combat_bait_sign.png" id="14_1o4lf"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="14_bn425"] [ext_resource type="Texture2D" uid="uid://ckjior4vavgpy" path="res://scenes/quests/story_quests/champ/1_combat/combat_components/champ_bait_projectile_1.png" id="15_nn4ti"] [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="15_qewm5"] [ext_resource type="PackedScene" uid="uid://cd24crxnn6c3n" path="res://scenes/quests/story_quests/champ/1_combat/combat_components/buoy.tscn" id="15_sm7tj"] @@ -26,11 +25,7 @@ [ext_resource type="Texture2D" uid="uid://ct7ux8rnh0gyo" path="res://scenes/quests/story_quests/champ/1_combat/combat_components/champ_bait_projectile_3.png" id="17_j60m7"] [ext_resource type="Texture2D" uid="uid://b8bo7js8fgtvq" path="res://scenes/quests/story_quests/champ/1_combat/combat_components/circular_ripples.png" id="21_yidpm"] [ext_resource type="Texture2D" uid="uid://bopnrtenvp4sm" path="res://scenes/quests/story_quests/champ/tiles/assets/water_ripples.png" id="22_hv7kx"] - -[sub_resource type="Resource" id="Resource_no6r0"] -script = ExtResource("14_bn425") -type = 1 -metadata/_custom_type_script = "uid://bgmwplmj3bfls" +[ext_resource type="Resource" uid="uid://cchnv5pn6fa8e" path="res://scenes/globals/game_state/inventory/imagination.tres" id="23_8ja4x"] [sub_resource type="AtlasTexture" id="AtlasTexture_p0sed"] atlas = ExtResource("21_yidpm") @@ -344,7 +339,7 @@ offset = Vector2(-1, -10) unique_name_in_owner = true position = Vector2(1155, 900) revealed = false -item = SubResource("Resource_no6r0") +item = ExtResource("23_8ja4x") collected_dialogue = ExtResource("2_sm7tj") dialogue_title = &"well_done" next_scene = "uid://gr7ykelwh6u1" diff --git a/scenes/quests/story_quests/champ/2_sequence_puzzle/champ_sequence_puzzle.tscn b/scenes/quests/story_quests/champ/2_sequence_puzzle/champ_sequence_puzzle.tscn index 88da4f60eb..3422078293 100644 --- a/scenes/quests/story_quests/champ/2_sequence_puzzle/champ_sequence_puzzle.tscn +++ b/scenes/quests/story_quests/champ/2_sequence_puzzle/champ_sequence_puzzle.tscn @@ -12,9 +12,9 @@ [ext_resource type="PackedScene" uid="uid://be4o3ythda4cu" path="res://scenes/game_elements/props/sequence_puzzle_hint_sign/sequence_puzzle_hint_sign.tscn" id="13_jn76l"] [ext_resource type="SpriteFrames" uid="uid://cbu01r36cmdrh" path="res://scenes/quests/story_quests/champ/2_sequence_puzzle/champ_sign.tres" id="14_wt3t3"] [ext_resource type="SpriteFrames" uid="uid://c40qep1qluqlm" path="res://scenes/quests/story_quests/champ/2_sequence_puzzle/champ_sign_2.tres" id="15_daq40"] +[ext_resource type="Resource" uid="uid://c44l6x4e7sfx3" path="res://scenes/globals/game_state/inventory/spirit.tres" id="15_fiojq"] [ext_resource type="Script" uid="uid://ccc78coj2b1li" path="res://scenes/game_logic/sequence_puzzle_step.gd" id="16_sgian"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="17_hjeem"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="18_34sng"] [ext_resource type="PackedScene" uid="uid://ipvcfv2g0oi1" path="res://scenes/game_elements/characters/npcs/talker/talker.tscn" id="18_f2rba"] [ext_resource type="Resource" uid="uid://btfqnw51oyy81" path="res://scenes/quests/story_quests/champ/2_sequence_puzzle/champ_sequence_puzzle.dialogue" id="19_00tvj"] [ext_resource type="Resource" uid="uid://c4eaioxcrhg07" path="res://scenes/quests/story_quests/champ/2_sequence_puzzle/learner_edits/champ_sequence_puzzle_lore.dialogue" id="19_27hsp"] @@ -23,11 +23,6 @@ [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="21_wpffp"] [ext_resource type="Script" uid="uid://x1mxt6bmei2o" path="res://scenes/ui_elements/cinematic/cinematic.gd" id="22_hebqh"] -[sub_resource type="Resource" id="Resource_qrg6i"] -script = ExtResource("18_34sng") -type = 2 -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [node name="SequencePuzzleTemplate" type="Node2D" unique_id=489705438] [node name="PlayerMode" type="Node" parent="." unique_id=307696843] @@ -235,7 +230,7 @@ hint_sign = NodePath("../../Signs/HintSign2") [node name="CollectibleItem" parent="OnTheGround" unique_id=205185299 instance=ExtResource("17_hjeem")] position = Vector2(1807, -927) revealed = false -item = SubResource("Resource_qrg6i") +item = ExtResource("15_fiojq") collected_dialogue = ExtResource("19_00tvj") dialogue_title = &"well_done" next_scene = "uid://d0hvx8x3o7q4f" diff --git a/scenes/quests/story_quests/champ/3_stealth/champ_stealth.tscn b/scenes/quests/story_quests/champ/3_stealth/champ_stealth.tscn index f10f6d92d0..25bced0cac 100644 --- a/scenes/quests/story_quests/champ/3_stealth/champ_stealth.tscn +++ b/scenes/quests/story_quests/champ/3_stealth/champ_stealth.tscn @@ -21,7 +21,6 @@ [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="10_saf7v"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="11_680ig"] [ext_resource type="Texture2D" uid="uid://bwqo8f7jg5df6" path="res://scenes/quests/story_quests/champ/tiles/assets/wood_floor_tiles.png" id="11_b83kw"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="12_epx14"] [ext_resource type="Texture2D" uid="uid://cn8v0dfqm3f1h" path="res://scenes/quests/story_quests/champ/tiles/assets/evan_room_tiles.png" id="12_rlxqi"] [ext_resource type="Texture2D" uid="uid://cx0o1blte7xjj" path="res://scenes/quests/story_quests/champ/tiles/assets/shore_tiles.png" id="13_nk1ag"] [ext_resource type="Resource" uid="uid://c51ad5akpk8j8" path="res://scenes/quests/story_quests/champ/3_stealth/stealth_components/champ_collected.dialogue" id="13_oswsn"] @@ -56,6 +55,7 @@ [ext_resource type="Script" uid="uid://cbj0406q05dly" path="res://scenes/game_elements/props/hint/input_key/interact_input.gd" id="30_nyycj"] [ext_resource type="Texture2D" uid="uid://bbvedlx2ahdxk" path="res://assets/third_party/kenney_input_prompts/keyboard-&-mouse_sheet_default.png" id="31_y8c8x"] [ext_resource type="Resource" uid="uid://bmharix12w26t" path="res://scenes/quests/story_quests/champ/3_stealth/stealth_components/champ_blink.dialogue" id="34_g76pt"] +[ext_resource type="Resource" uid="uid://ck0wbckgm5un8" path="res://scenes/globals/game_state/inventory/memory.tres" id="35_y8c8x"] [ext_resource type="Texture2D" uid="uid://h606ovawbm0x" path="res://scenes/quests/story_quests/champ/3_stealth/stealth_components/BlinkMarker.png" id="44_onp74"] [ext_resource type="PackedScene" uid="uid://0ull24fvmhwk" path="res://scenes/game_elements/props/teleporter/teleporter.tscn" id="46_8k5n0"] [ext_resource type="Resource" uid="uid://cxjgjjb44ssnm" path="res://scenes/quests/story_quests/champ/3_stealth/stealth_components/champ_walking_on_water.dialogue" id="55_rosy4"] @@ -1632,10 +1632,6 @@ region = Rect2(192, 704, 64, 64) atlas = ExtResource("31_y8c8x") region = Rect2(64, 576, 64, 64) -[sub_resource type="Resource" id="Resource_x1dad"] -script = ExtResource("12_epx14") -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [sub_resource type="CapsuleShape2D" id="CapsuleShape2D_fw64s"] radius = 24.0 height = 50.0 @@ -1788,13 +1784,13 @@ text = "Walk on water" [node name="CollectibleItem" parent="." unique_id=1250372978 instance=ExtResource("11_680ig")] position = Vector2(892, -2934) -item = SubResource("Resource_x1dad") +item = ExtResource("35_y8c8x") collected_dialogue = ExtResource("13_oswsn") next_scene = "uid://bbjh0yoqbchuo" [node name="CollectibleItem2" parent="." unique_id=327991066 instance=ExtResource("11_680ig")] position = Vector2(2510, 513) -item = SubResource("Resource_x1dad") +item = ExtResource("35_y8c8x") collected_dialogue = ExtResource("13_oswsn") next_scene = "uid://bbjh0yoqbchuo" diff --git a/scenes/quests/story_quests/el_abrigo/1_el_abrigo_sequence_puzzle/el_abrigo_sequence_puzzle.tscn b/scenes/quests/story_quests/el_abrigo/1_el_abrigo_sequence_puzzle/el_abrigo_sequence_puzzle.tscn index 014cecd4fd..bc678843d9 100644 --- a/scenes/quests/story_quests/el_abrigo/1_el_abrigo_sequence_puzzle/el_abrigo_sequence_puzzle.tscn +++ b/scenes/quests/story_quests/el_abrigo/1_el_abrigo_sequence_puzzle/el_abrigo_sequence_puzzle.tscn @@ -18,17 +18,12 @@ [ext_resource type="SpriteFrames" uid="uid://dcs82hf75j3mp" path="res://scenes/quests/story_quests/el_abrigo/1_el_abrigo_sequence_puzzle/el_abrigo_sign_2.tres" id="15_auted"] [ext_resource type="Script" uid="uid://ccc78coj2b1li" path="res://scenes/game_logic/sequence_puzzle_step.gd" id="16_nbjmb"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="17_qilgh"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="18_13w3u"] [ext_resource type="Resource" uid="uid://ctq1rlb53bsr7" path="res://scenes/quests/story_quests/el_abrigo/1_el_abrigo_sequence_puzzle/el_abrigo_sequence_puzzle.dialogue" id="19_et0ln"] +[ext_resource type="Resource" uid="uid://c44l6x4e7sfx3" path="res://scenes/globals/game_state/inventory/spirit.tres" id="19_q4xxt"] [ext_resource type="PackedScene" uid="uid://covsdqqsd6rsy" path="res://scenes/game_elements/props/sign/sign.tscn" id="20_5lqbj"] [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="21_ls5ve"] [ext_resource type="Script" uid="uid://x1mxt6bmei2o" path="res://scenes/ui_elements/cinematic/cinematic.gd" id="22_k8jmo"] -[sub_resource type="Resource" id="Resource_wsnfe"] -script = ExtResource("18_13w3u") -type = 2 -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [node name="SequencePuzzleTemplate" type="Node2D" unique_id=341518395] position = Vector2(0, 47) @@ -283,7 +278,7 @@ hint_sign = NodePath("../../Signs/HintSign3") [node name="CollectibleItem" parent="OnTheGround" unique_id=975173069 instance=ExtResource("17_qilgh")] position = Vector2(386, 914) revealed = false -item = SubResource("Resource_wsnfe") +item = ExtResource("19_q4xxt") collected_dialogue = ExtResource("19_et0ln") dialogue_title = &"well_done" next_scene = "uid://dfwpehorj34mx" diff --git a/scenes/quests/story_quests/el_abrigo/2_el_abrigo_stealth/el_abrigo_stealth1.tscn b/scenes/quests/story_quests/el_abrigo/2_el_abrigo_stealth/el_abrigo_stealth1.tscn index b8a2875f7a..4fcec1fc92 100644 --- a/scenes/quests/story_quests/el_abrigo/2_el_abrigo_stealth/el_abrigo_stealth1.tscn +++ b/scenes/quests/story_quests/el_abrigo/2_el_abrigo_stealth/el_abrigo_stealth1.tscn @@ -10,7 +10,7 @@ [ext_resource type="SpriteFrames" uid="uid://c828jcbsnsvkr" path="res://scenes/quests/story_quests/el_abrigo/2_el_abrigo_stealth/el_abrigo_stealth1components/champ_guard_enemy.tres" id="7_nkr5o"] [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="8_0402c"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="9_pjl46"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="10_3pb1g"] +[ext_resource type="Resource" uid="uid://ck0wbckgm5un8" path="res://scenes/globals/game_state/inventory/memory.tres" id="11_gaxyh"] [ext_resource type="Resource" uid="uid://bx25bjdfjux36" path="res://scenes/quests/story_quests/el_abrigo/2_el_abrigo_stealth/el_abrigo_stealth1components/champ_collected.dialogue" id="11_ih7cc"] [ext_resource type="Script" uid="uid://x1mxt6bmei2o" path="res://scenes/ui_elements/cinematic/cinematic.gd" id="12_cflgt"] [ext_resource type="Resource" uid="uid://ci5vw13idgxl4" path="res://scenes/quests/story_quests/el_abrigo/2_el_abrigo_stealth/el_abrigo_stealth1components/champ_stealth.dialogue" id="13_eh4r8"] @@ -28,10 +28,6 @@ _data = { } point_count = 8 -[sub_resource type="Resource" id="Resource_x1dad"] -script = ExtResource("10_3pb1g") -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [node name="StealthTemplateLevel" type="Node2D" unique_id=1915503757] y_sort_enabled = true @@ -150,7 +146,7 @@ curve = SubResource("Curve2D_2hewv") [node name="CollectibleItem" parent="." unique_id=1299879609 instance=ExtResource("9_pjl46")] position = Vector2(5787, 1348) -item = SubResource("Resource_x1dad") +item = ExtResource("11_gaxyh") collected_dialogue = ExtResource("11_ih7cc") next_scene = "uid://ikqwy7kpa5ly" diff --git a/scenes/quests/story_quests/el_abrigo/3_el_abrigo_runner/el_abrigo_runner.tscn b/scenes/quests/story_quests/el_abrigo/3_el_abrigo_runner/el_abrigo_runner.tscn index 4217ae3ffa..91f0df9c31 100644 --- a/scenes/quests/story_quests/el_abrigo/3_el_abrigo_runner/el_abrigo_runner.tscn +++ b/scenes/quests/story_quests/el_abrigo/3_el_abrigo_runner/el_abrigo_runner.tscn @@ -17,7 +17,6 @@ [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="10_4rp0h"] [ext_resource type="Script" uid="uid://bx30ncvhcbprn" path="res://scenes/quests/story_quests/el_abrigo/3_el_abrigo_runner/el_abrigo_runner_components/farmer_trap.gd" id="10_m0dfd"] [ext_resource type="PackedScene" uid="uid://bp20cjimwi8l0" path="res://scenes/game_elements/props/buildings/house/house_2.tscn" id="10_udqck"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="11_1pd1l"] [ext_resource type="SpriteFrames" uid="uid://cpm5o35ede3qs" path="res://scenes/game_elements/characters/npcs/npc_prop/sprite_frames/fray_idle_purple.tres" id="11_6hci7"] [ext_resource type="Resource" uid="uid://cv3cmfe06hf57" path="res://scenes/quests/story_quests/el_abrigo/3_el_abrigo_runner/el_abrigo_runner_components/el_abrigo_collected.dialogue" id="12_fsmso"] [ext_resource type="Texture2D" uid="uid://ol20om7xc1o7" path="res://scenes/game_elements/props/buildings/house/components/House_Wool_Red_Stage1.png" id="13_c45fb"] @@ -30,6 +29,7 @@ [ext_resource type="Script" uid="uid://b4ga88hhtoqd5" path="res://scenes/quests/story_quests/el_abrigo/3_el_abrigo_runner/path_follow_2d.gd" id="21_hjkle"] [ext_resource type="Script" uid="uid://c6gowmuxoxlg7" path="res://scenes/quests/story_quests/el_abrigo/3_el_abrigo_runner/area_2d.gd" id="21_r7i8v"] [ext_resource type="PackedScene" uid="uid://c78fj5em5tpm5" path="res://scenes/game_elements/props/decoration/crops/carrot.tscn" id="23_udqck"] +[ext_resource type="Resource" uid="uid://ck0wbckgm5un8" path="res://scenes/globals/game_state/inventory/memory.tres" id="26_301yh"] [ext_resource type="Script" uid="uid://cj5gw0bqwm326" path="res://scenes/quests/story_quests/el_abrigo/3_el_abrigo_runner/el_abrigo_runner_components/carrot_trap.gd" id="26_c45fb"] [ext_resource type="AudioStream" uid="uid://kc657macgib4" path="res://assets/first_party/music/Threadbare_Main_Loud.ogg" id="31_0ldiv"] @@ -155,10 +155,6 @@ animations = [{ [sub_resource type="RectangleShape2D" id="RectangleShape2D_6hci7"] size = Vector2(359.75, 452.75) -[sub_resource type="Resource" id="Resource_jyt4x"] -script = ExtResource("11_1pd1l") -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [node name="StealthTemplateLevel" type="Node2D" unique_id=1958537541] y_sort_enabled = true @@ -1892,7 +1888,7 @@ shape = SubResource("RectangleShape2D_6hci7") [node name="CollectibleItem" parent="." unique_id=120029080 instance=ExtResource("10_4rp0h")] position = Vector2(6703, 2210) -item = SubResource("Resource_jyt4x") +item = ExtResource("26_301yh") collected_dialogue = ExtResource("12_fsmso") next_scene = "uid://c5mblxkgfxr8r" diff --git a/scenes/quests/story_quests/el_juguete_perdido/1_stealth/stealth.tscn b/scenes/quests/story_quests/el_juguete_perdido/1_stealth/stealth.tscn index 1a9cb3e95c..2d38df859a 100644 --- a/scenes/quests/story_quests/el_juguete_perdido/1_stealth/stealth.tscn +++ b/scenes/quests/story_quests/el_juguete_perdido/1_stealth/stealth.tscn @@ -15,8 +15,8 @@ [ext_resource type="SpriteFrames" uid="uid://dbdys7gewepba" path="res://scenes/quests/story_quests/el_juguete_perdido/1_stealth/components/guard_enemy.tres" id="11_otj14"] [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="12_15dag"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="13_6cv6u"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="14_d1ucx"] [ext_resource type="Resource" uid="uid://cn16ax75gxewu" path="res://scenes/quests/story_quests/el_juguete_perdido/1_stealth/components/collected.dialogue" id="15_bfns3"] +[ext_resource type="Resource" uid="uid://ck0wbckgm5un8" path="res://scenes/globals/game_state/inventory/memory.tres" id="16_u77sa"] [ext_resource type="Script" uid="uid://x1mxt6bmei2o" path="res://scenes/ui_elements/cinematic/cinematic.gd" id="16_xanj6"] [ext_resource type="Resource" uid="uid://dekuveqofa52e" path="res://scenes/quests/story_quests/el_juguete_perdido/1_stealth/components/stealth.dialogue" id="17_rcrkg"] @@ -63,10 +63,6 @@ _data = { } point_count = 4 -[sub_resource type="Resource" id="Resource_idy4y"] -script = ExtResource("14_d1ucx") -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [node name="StealthTemplateLevel" type="Node2D" unique_id=1461105729] y_sort_enabled = true @@ -278,7 +274,7 @@ metadata/_edit_lock_ = true [node name="CollectibleItem" parent="." unique_id=416302336 instance=ExtResource("13_6cv6u")] position = Vector2(2089, 2144) -item = SubResource("Resource_idy4y") +item = ExtResource("16_u77sa") collected_dialogue = ExtResource("15_bfns3") next_scene = "uid://be2gr1lptrhxu" diff --git a/scenes/quests/story_quests/el_juguete_perdido/2_combat/combat.tscn b/scenes/quests/story_quests/el_juguete_perdido/2_combat/combat.tscn index 4c23f6f236..48c753f6ba 100644 --- a/scenes/quests/story_quests/el_juguete_perdido/2_combat/combat.tscn +++ b/scenes/quests/story_quests/el_juguete_perdido/2_combat/combat.tscn @@ -14,7 +14,6 @@ [ext_resource type="Texture2D" uid="uid://bdhfcs6igu6di" path="res://assets/third_party/tiny-swords/Deco/14.png" id="8_x8tfn"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="8_xvhfb"] [ext_resource type="Texture2D" uid="uid://b8t4t3n4syqli" path="res://assets/third_party/tiny-swords/Deco/15.png" id="9_7xnls"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="9_w3dy0"] [ext_resource type="Texture2D" uid="uid://8ujtwgp8fb1v" path="res://scenes/quests/story_quests/stella/1_stella_stealth/stella_stealth_components/stella_stealth_fire.png" id="10_0konm"] [ext_resource type="Texture2D" uid="uid://cw330muutqql7" path="res://assets/third_party/tiny-swords/Deco/05.png" id="10_adm0l"] [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="10_obsym"] @@ -26,6 +25,7 @@ [ext_resource type="SpriteFrames" uid="uid://dygrlyqhiy6j0" path="res://scenes/quests/story_quests/el_juguete_perdido/2_combat/components/target_spriteframes.tres" id="17_f8rx3"] [ext_resource type="PackedScene" uid="uid://nve5vecg5q5q" path="res://scenes/quests/story_quests/el_juguete_perdido/2_combat/components/projectile.tscn" id="18_v0l6r"] [ext_resource type="PackedScene" uid="uid://lmh7sal3fkyl" path="res://scenes/quests/story_quests/el_juguete_perdido/objects_components/barrel.tscn" id="20_adm0l"] +[ext_resource type="Resource" uid="uid://cchnv5pn6fa8e" path="res://scenes/globals/game_state/inventory/imagination.tres" id="22_ouleg"] [sub_resource type="AtlasTexture" id="AtlasTexture_0ownb"] atlas = ExtResource("10_0konm") @@ -84,11 +84,6 @@ animations = [{ "speed": 13.0 }] -[sub_resource type="Resource" id="Resource_a51xm"] -script = ExtResource("9_w3dy0") -type = 1 -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [node name="Combat" type="Node2D" unique_id=1428810130] y_sort_enabled = true @@ -444,7 +439,7 @@ projectile_duration = 2.0 unique_name_in_owner = true position = Vector2(1156, 1882) revealed = false -item = SubResource("Resource_a51xm") +item = ExtResource("22_ouleg") collected_dialogue = ExtResource("2_j6s2f") dialogue_title = &"well_done" next_scene = "uid://7hehs33no2j3" diff --git a/scenes/quests/story_quests/el_juguete_perdido/3_sequence_puzzle/sequence_puzzle.tscn b/scenes/quests/story_quests/el_juguete_perdido/3_sequence_puzzle/sequence_puzzle.tscn index 7db4ae3945..585fc9211d 100644 --- a/scenes/quests/story_quests/el_juguete_perdido/3_sequence_puzzle/sequence_puzzle.tscn +++ b/scenes/quests/story_quests/el_juguete_perdido/3_sequence_puzzle/sequence_puzzle.tscn @@ -6,19 +6,14 @@ [ext_resource type="TileSet" uid="uid://b8qnr0owsbhhn" path="res://tiles/exterior_floors.tres" id="2_io7px"] [ext_resource type="PackedScene" uid="uid://boc4ibh8o13d2" path="res://scenes/quests/story_quests/el_juguete_perdido/0_intro/components/trees1.tscn" id="2_yiahn"] [ext_resource type="SpriteFrames" uid="uid://b7oxscw47ykwj" path="res://scenes/quests/story_quests/el_juguete_perdido/player_components/player_with_apolo_components/storyweaver_apolo.tres" id="3_yiahn"] +[ext_resource type="Resource" uid="uid://c44l6x4e7sfx3" path="res://scenes/globals/game_state/inventory/spirit.tres" id="8_acxkl"] [ext_resource type="PackedScene" uid="uid://c4vbokn408f2c" path="res://scenes/game_elements/props/decoration/sheep/sheep.tscn" id="10_acxkl"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="14_y2gkn"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="15_i80sc"] [ext_resource type="Resource" uid="uid://b6umdn3fee6tf" path="res://scenes/quests/story_quests/el_juguete_perdido/3_sequence_puzzle/components/sequence_puzzle.dialogue" id="16_6jc5p"] [ext_resource type="PackedScene" uid="uid://covsdqqsd6rsy" path="res://scenes/game_elements/props/sign/sign.tscn" id="17_64xko"] [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="18_hstlp"] [ext_resource type="Script" uid="uid://x1mxt6bmei2o" path="res://scenes/ui_elements/cinematic/cinematic.gd" id="19_my15m"] -[sub_resource type="Resource" id="Resource_u8qfb"] -script = ExtResource("15_i80sc") -type = 2 -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [node name="SequencePuzzleTemplate" type="Node2D" unique_id=1912634357] [node name="PlayerMode" type="Node" parent="." unique_id=2087262417] @@ -77,7 +72,7 @@ editor_draw_limits = true [node name="CollectibleItem" parent="OnTheGround" unique_id=548589429 instance=ExtResource("14_y2gkn")] position = Vector2(1407, 384) -item = SubResource("Resource_u8qfb") +item = ExtResource("8_acxkl") collected_dialogue = ExtResource("16_6jc5p") dialogue_title = &"well_done" next_scene = "uid://da7akt4pqtvpk" diff --git a/scenes/quests/story_quests/el_ojo_revelador/1_stealth/el_ojo_revelador_stealth.tscn b/scenes/quests/story_quests/el_ojo_revelador/1_stealth/el_ojo_revelador_stealth.tscn index 51ccc6c348..d0207622ef 100644 --- a/scenes/quests/story_quests/el_ojo_revelador/1_stealth/el_ojo_revelador_stealth.tscn +++ b/scenes/quests/story_quests/el_ojo_revelador/1_stealth/el_ojo_revelador_stealth.tscn @@ -13,11 +13,11 @@ [ext_resource type="AudioStream" uid="uid://dfhy5ea7edbxf" path="res://scenes/quests/story_quests/el_ojo_revelador/el_ojo_revelador_audios/Suspenso.wav" id="9_o0bil"] [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="9_rli1d"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="10_cb2x4"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="11_gja4x"] [ext_resource type="Resource" uid="uid://n546p2kle1fv" path="res://scenes/quests/story_quests/el_ojo_revelador/1_stealth/stealth_components/el_ojo_revelador_collected.dialogue" id="12_udwbx"] [ext_resource type="Script" uid="uid://x1mxt6bmei2o" path="res://scenes/ui_elements/cinematic/cinematic.gd" id="13_5gpbs"] [ext_resource type="Resource" uid="uid://4jyo5vuumh23" path="res://scenes/quests/story_quests/el_ojo_revelador/1_stealth/stealth_components/el_ojo_revelador_stealth.dialogue" id="14_0rw02"] [ext_resource type="Texture2D" uid="uid://daf2ilk2ingia" path="res://scenes/quests/story_quests/el_ojo_revelador/0_intro/intro_components/luz.png" id="15_jkgkj"] +[ext_resource type="Resource" uid="uid://ck0wbckgm5un8" path="res://scenes/globals/game_state/inventory/memory.tres" id="15_yd3qj"] [ext_resource type="PackedScene" uid="uid://2rbpl811wlv1" path="res://scenes/game_elements/props/background_music/background_music.tscn" id="16_xvtq7"] [sub_resource type="Curve2D" id="Curve2D_sqg5n"] @@ -59,10 +59,6 @@ point_count = 5 [sub_resource type="RectangleShape2D" id="RectangleShape2D_4i8s0"] size = Vector2(175.0625, 55) -[sub_resource type="Resource" id="Resource_rx2mx"] -script = ExtResource("11_gja4x") -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [node name="StealthTemplateLevel" type="Node2D" unique_id=1974814176] y_sort_enabled = true @@ -226,7 +222,7 @@ debug_color = Color(0, 0, 0, 0.42) [node name="CollectibleItem" parent="." unique_id=756034815 instance=ExtResource("10_cb2x4")] position = Vector2(2681, 2246) -item = SubResource("Resource_rx2mx") +item = ExtResource("15_yd3qj") collected_dialogue = ExtResource("12_udwbx") next_scene = "uid://oos7ity34uiy" diff --git a/scenes/quests/story_quests/el_ojo_revelador/2_combat/el_ojo_revelador_combat.tscn b/scenes/quests/story_quests/el_ojo_revelador/2_combat/el_ojo_revelador_combat.tscn index 15d3f6c270..e593a236aa 100644 --- a/scenes/quests/story_quests/el_ojo_revelador/2_combat/el_ojo_revelador_combat.tscn +++ b/scenes/quests/story_quests/el_ojo_revelador/2_combat/el_ojo_revelador_combat.tscn @@ -13,18 +13,13 @@ [ext_resource type="SpriteFrames" uid="uid://b0t6gxuhl8feg" path="res://scenes/quests/story_quests/el_ojo_revelador/2_combat/combat_components/el_ojo_revelador_target_spriteframes.tres" id="10_pcbux"] [ext_resource type="AudioStream" uid="uid://bparraclv55l6" path="res://scenes/quests/story_quests/el_ojo_revelador/el_ojo_revelador_audios/Efecto_fireball.ogg" id="10_t1ovd"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="11_bqjni"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="12_01dyg"] [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="13_7t6f5"] [ext_resource type="Texture2D" uid="uid://daf2ilk2ingia" path="res://scenes/quests/story_quests/el_ojo_revelador/0_intro/intro_components/luz.png" id="14_7k2ib"] +[ext_resource type="Resource" uid="uid://cchnv5pn6fa8e" path="res://scenes/globals/game_state/inventory/imagination.tres" id="14_u1uqs"] [ext_resource type="PackedScene" uid="uid://2rbpl811wlv1" path="res://scenes/game_elements/props/background_music/background_music.tscn" id="15_3otej"] [ext_resource type="AudioStream" uid="uid://b44mmo4fh5s60" path="res://scenes/quests/story_quests/el_ojo_revelador/el_ojo_revelador_audios/Ambiente2_01.ogg" id="17_63hqo"] [ext_resource type="PackedScene" uid="uid://covsdqqsd6rsy" path="res://scenes/game_elements/props/sign/sign.tscn" id="18_63hqo"] -[sub_resource type="Resource" id="Resource_dkfwt"] -script = ExtResource("12_01dyg") -type = 1 -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [node name="Combat" type="Node2D" unique_id=1120252753] y_sort_enabled = true @@ -271,7 +266,7 @@ color = Color(1, 1, 1, 1) unique_name_in_owner = true position = Vector2(3265, 259) revealed = false -item = SubResource("Resource_dkfwt") +item = ExtResource("14_u1uqs") collected_dialogue = ExtResource("2_7k2ib") dialogue_title = &"well_done" next_scene = "uid://dd12p8od2ec3w" diff --git a/scenes/quests/story_quests/eldrune/1_stealth/eldrune_stealth.tscn b/scenes/quests/story_quests/eldrune/1_stealth/eldrune_stealth.tscn index f5654d2acf..cc87bb01c8 100644 --- a/scenes/quests/story_quests/eldrune/1_stealth/eldrune_stealth.tscn +++ b/scenes/quests/story_quests/eldrune/1_stealth/eldrune_stealth.tscn @@ -21,13 +21,13 @@ [ext_resource type="Resource" uid="uid://bbfxjku2ka16q" path="res://scenes/quests/story_quests/eldrune/1_stealth/stealth_components/eldrune_checkpoint2.dialogue" id="10_p0b5d"] [ext_resource type="SpriteFrames" uid="uid://cal8squrkef" path="res://scenes/quests/story_quests/eldrune/eldrune_checkpoint/eldrune_knitwitch_frames_purple.tres" id="11_8bwwe"] [ext_resource type="Resource" uid="uid://dwx8skx5dms6a" path="res://scenes/quests/story_quests/eldrune/1_stealth/stealth_components/eldrune_checkpoint4.dialogue" id="11_gksxr"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="11_ycvx8"] [ext_resource type="Resource" uid="uid://b8l6wf0v8qui6" path="res://scenes/quests/story_quests/eldrune/1_stealth/stealth_components/eldrune_collected.dialogue" id="12_dojuq"] [ext_resource type="Resource" uid="uid://batfvm4hnf05w" path="res://scenes/quests/story_quests/eldrune/1_stealth/stealth_components/eldrune_checkpoint3.dialogue" id="12_p6mhu"] [ext_resource type="Resource" uid="uid://ddu51fy1a7xow" path="res://scenes/quests/story_quests/eldrune/1_stealth/stealth_components/eldrune_checkpoint5.dialogue" id="13_8bwwe"] [ext_resource type="AudioStream" uid="uid://da0ptap0tsujw" path="res://scenes/quests/story_quests/eldrune/Musica/Construction.mp3" id="13_dq3if"] [ext_resource type="Script" uid="uid://x1mxt6bmei2o" path="res://scenes/ui_elements/cinematic/cinematic.gd" id="13_hsvk0"] [ext_resource type="Resource" uid="uid://de765vp54x228" path="res://scenes/quests/story_quests/eldrune/1_stealth/stealth_components/eldrune_stealth.dialogue" id="14_dq3if"] +[ext_resource type="Resource" uid="uid://ck0wbckgm5un8" path="res://scenes/globals/game_state/inventory/memory.tres" id="25_66jkx"] [sub_resource type="Curve2D" id="Curve2D_v71t3"] _data = { @@ -134,10 +134,6 @@ point_count = 8 [sub_resource type="RectangleShape2D" id="RectangleShape2D_4yknk"] size = Vector2(148, 158) -[sub_resource type="Resource" id="Resource_ieb5r"] -script = ExtResource("11_ycvx8") -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [node name="StealthTemplateLevel" type="Node2D" unique_id=936922053] y_sort_enabled = true @@ -567,7 +563,7 @@ debug_color = Color(0, 0, 0, 0.42) [node name="CollectibleItem" parent="." unique_id=1827110448 instance=ExtResource("10_8bwwe")] position = Vector2(478, 2155) -item = SubResource("Resource_ieb5r") +item = ExtResource("25_66jkx") collected_dialogue = ExtResource("12_dojuq") next_scene = "uid://cakexw1g553y1" diff --git a/scenes/quests/story_quests/eldrune/2_combat/eldrune_combat.tscn b/scenes/quests/story_quests/eldrune/2_combat/eldrune_combat.tscn index 1bfc51fb00..c650fc1ece 100644 --- a/scenes/quests/story_quests/eldrune/2_combat/eldrune_combat.tscn +++ b/scenes/quests/story_quests/eldrune/2_combat/eldrune_combat.tscn @@ -13,16 +13,11 @@ [ext_resource type="SpriteFrames" uid="uid://lrhngrxfpq7i" path="res://scenes/quests/story_quests/eldrune/2_combat/combat_components/eldrune_target_spriteframes.tres" id="10_51j36"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="11_1wb1m"] [ext_resource type="Script" uid="uid://cjt2u8fd0b2hp" path="res://scenes/quests/story_quests/eldrune/2_combat/combat_components/eldrune_filling_barrel.gd" id="12_flf2v"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="12_t7msw"] [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="13_1o1pe"] +[ext_resource type="Resource" uid="uid://cchnv5pn6fa8e" path="res://scenes/globals/game_state/inventory/imagination.tres" id="14_prm6u"] [ext_resource type="PackedScene" uid="uid://2rbpl811wlv1" path="res://scenes/game_elements/props/background_music/background_music.tscn" id="16_as4dr"] [ext_resource type="AudioStream" uid="uid://b5d1eexymi57m" path="res://scenes/quests/story_quests/eldrune/Musica/Fantasy Choir 3.mp3" id="17_as4dr"] -[sub_resource type="Resource" id="Resource_3tuwf"] -script = ExtResource("12_t7msw") -type = 1 -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [node name="Combat" type="Node2D" unique_id=65657651] y_sort_enabled = true @@ -74,9 +69,6 @@ position = Vector2(464, 152) distance = 30.0 projectile_scene = ExtResource("8_dsveo") projectile_duration = 7.0 -walking_time = 0.0 -walking_range = 300.0 -walking_speed = 0.0 [node name="Target" parent="OnTheGround" unique_id=480602029 instance=ExtResource("9_525xp")] position = Vector2(341, 419) @@ -110,7 +102,7 @@ color = Color(1, 1, 1, 1) unique_name_in_owner = true position = Vector2(443, 200) revealed = false -item = SubResource("Resource_3tuwf") +item = ExtResource("14_prm6u") collected_dialogue = ExtResource("2_evre0") dialogue_title = &"well_done" next_scene = "uid://d2ao3ikovpb26" diff --git a/scenes/quests/story_quests/eldrune/3_sequence_puzzle/eldrune_puzzle_2.tscn b/scenes/quests/story_quests/eldrune/3_sequence_puzzle/eldrune_puzzle_2.tscn index 9533b0e0c0..9b0db1b920 100644 --- a/scenes/quests/story_quests/eldrune/3_sequence_puzzle/eldrune_puzzle_2.tscn +++ b/scenes/quests/story_quests/eldrune/3_sequence_puzzle/eldrune_puzzle_2.tscn @@ -29,19 +29,14 @@ [ext_resource type="SpriteFrames" uid="uid://cs30ce3ijcp2e" path="res://scenes/quests/story_quests/eldrune/3_sequence_puzzle/eldrune_sign.tres" id="14_uvao7"] [ext_resource type="SpriteFrames" uid="uid://m1prpwp3v5nb" path="res://scenes/quests/story_quests/eldrune/3_sequence_puzzle/eldrune_sign_2.tres" id="16_wwgta"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="19_qse1j"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="20_j4pla"] [ext_resource type="Resource" uid="uid://t8ki7hxqccco" path="res://scenes/quests/story_quests/eldrune/3_sequence_puzzle/eldrune_sequence_puzzle.dialogue" id="21_eovs1"] +[ext_resource type="Resource" uid="uid://c44l6x4e7sfx3" path="res://scenes/globals/game_state/inventory/spirit.tres" id="21_vel5v"] [ext_resource type="PackedScene" uid="uid://covsdqqsd6rsy" path="res://scenes/game_elements/props/sign/sign.tscn" id="22_vwra0"] [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="33_h8wpy"] [ext_resource type="Script" uid="uid://x1mxt6bmei2o" path="res://scenes/ui_elements/cinematic/cinematic.gd" id="34_urqxy"] [ext_resource type="Script" uid="uid://c8405c212rbn6" path="res://scenes/game_elements/props/background_music/components/background_music.gd" id="35_vel5v"] [ext_resource type="AudioStream" uid="uid://ddhhyo7lojhuu" path="res://scenes/quests/story_quests/eldrune/Musica/TownTheme.ogg" id="36_vel5v"] -[sub_resource type="Resource" id="Resource_lyrk4"] -script = ExtResource("20_j4pla") -type = 2 -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [sub_resource type="SpriteFrames" id="SpriteFrames_oefbf"] animations = [{ "frames": [{ @@ -206,7 +201,7 @@ hint_sign = NodePath("../../Signs/HintSign4") [node name="CollectibleItem" parent="OnTheGround" unique_id=1199875283 instance=ExtResource("19_qse1j")] position = Vector2(624, 558) revealed = false -item = SubResource("Resource_lyrk4") +item = ExtResource("21_vel5v") collected_dialogue = ExtResource("21_eovs1") dialogue_title = &"well_done" next_scene = "uid://cfi1hvtuesjjk" diff --git a/scenes/quests/story_quests/renya_beyond_sorrow/1_combat/renya_combat_round_3.tscn b/scenes/quests/story_quests/renya_beyond_sorrow/1_combat/renya_combat_round_3.tscn index 2fda1537db..29effd6bc4 100644 --- a/scenes/quests/story_quests/renya_beyond_sorrow/1_combat/renya_combat_round_3.tscn +++ b/scenes/quests/story_quests/renya_beyond_sorrow/1_combat/renya_combat_round_3.tscn @@ -17,8 +17,8 @@ [ext_resource type="SpriteFrames" uid="uid://ci6o3o7ti17l0" path="res://scenes/quests/story_quests/renya_beyond_sorrow/1_combat/enemies_components/negacion_enemy_spriteframes.tres" id="14_ip8a5"] [ext_resource type="SpriteFrames" uid="uid://lt1fwrvd4a5h" path="res://scenes/quests/story_quests/renya_beyond_sorrow/1_combat/relleno/filling_spriteframes.tres" id="16_fmb00"] [ext_resource type="PackedScene" uid="uid://y8ha8abfyap2" path="res://scenes/game_elements/props/filling_barrel/filling_barrel.tscn" id="18_nj7sv"] +[ext_resource type="Resource" uid="uid://cchnv5pn6fa8e" path="res://scenes/globals/game_state/inventory/imagination.tres" id="19_djale"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="19_g15s0"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="20_oa8k8"] [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="22_i4pom"] [ext_resource type="Resource" uid="uid://ctmbv8jkb5j48" path="res://scenes/quests/story_quests/renya_beyond_sorrow/1_combat/components/dialogues/renya_combat.dialogue" id="24_886ht"] @@ -44,11 +44,6 @@ _data = { &"goal_completed": SubResource("Animation_k5uk8") } -[sub_resource type="Resource" id="Resource_na0be"] -script = ExtResource("20_oa8k8") -type = 1 -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [node name="InkCombat" type="Node2D" unique_id=441167742] [node name="PlayerMode" type="Node" parent="." unique_id=295226476] @@ -236,7 +231,7 @@ color = Color(0.17254902, 0.7254902, 0.011764706, 1) unique_name_in_owner = true position = Vector2(137, 175) revealed = false -item = SubResource("Resource_na0be") +item = ExtResource("19_djale") collected_dialogue = ExtResource("24_886ht") dialogue_title = &"well_done" next_scene = "uid://bkri3sutwl4uq" diff --git a/scenes/quests/story_quests/renya_beyond_sorrow/2_sequence_puzzle/renya_sequence_puzzle.tscn b/scenes/quests/story_quests/renya_beyond_sorrow/2_sequence_puzzle/renya_sequence_puzzle.tscn index 685b9e8df6..fe373e96eb 100644 --- a/scenes/quests/story_quests/renya_beyond_sorrow/2_sequence_puzzle/renya_sequence_puzzle.tscn +++ b/scenes/quests/story_quests/renya_beyond_sorrow/2_sequence_puzzle/renya_sequence_puzzle.tscn @@ -21,17 +21,12 @@ [ext_resource type="SpriteFrames" uid="uid://b4swsfng58ikl" path="res://scenes/quests/story_quests/renya_beyond_sorrow/2_sequence_puzzle/components/renya_beyond_sorrow_sign_2.tres" id="15_tr7dq"] [ext_resource type="Script" uid="uid://ccc78coj2b1li" path="res://scenes/game_logic/sequence_puzzle_step.gd" id="16_jj8cg"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="17_5myqv"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="18_xxhkl"] [ext_resource type="Resource" uid="uid://kh4o027dgo6k" path="res://scenes/quests/story_quests/renya_beyond_sorrow/2_sequence_puzzle/components/dialogue/renya_beyond_sorrow_sequence_puzzle.dialogue" id="19_j7r3o"] [ext_resource type="PackedScene" uid="uid://covsdqqsd6rsy" path="res://scenes/game_elements/props/sign/sign.tscn" id="20_68hfe"] [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="21_vm8rx"] +[ext_resource type="Resource" uid="uid://c44l6x4e7sfx3" path="res://scenes/globals/game_state/inventory/spirit.tres" id="22_jppep"] [ext_resource type="Script" uid="uid://x1mxt6bmei2o" path="res://scenes/ui_elements/cinematic/cinematic.gd" id="22_l45x2"] -[sub_resource type="Resource" id="Resource_344oq"] -script = ExtResource("18_xxhkl") -type = 2 -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [node name="SequencePuzzleTemplate" type="Node2D" unique_id=130441569] [node name="PlayerMode" type="Node" parent="." unique_id=1380778650] @@ -148,7 +143,7 @@ hint_sign = NodePath("../../Signs/HintSign2") [node name="CollectibleItem" parent="OnTheGround" unique_id=456727147 instance=ExtResource("17_5myqv")] position = Vector2(524, 1288) revealed = false -item = SubResource("Resource_344oq") +item = ExtResource("22_jppep") collected_dialogue = ExtResource("19_j7r3o") dialogue_title = &"well_done" next_scene = "uid://bnrkqt6j6ph7u" diff --git a/scenes/quests/story_quests/renya_beyond_sorrow/3_stealth/renya_beyond_sorrow_stealth.tscn b/scenes/quests/story_quests/renya_beyond_sorrow/3_stealth/renya_beyond_sorrow_stealth.tscn index 7f52f9a821..60f88b47c9 100644 --- a/scenes/quests/story_quests/renya_beyond_sorrow/3_stealth/renya_beyond_sorrow_stealth.tscn +++ b/scenes/quests/story_quests/renya_beyond_sorrow/3_stealth/renya_beyond_sorrow_stealth.tscn @@ -13,10 +13,10 @@ [ext_resource type="Resource" uid="uid://by6kjm8sh7sx8" path="res://scenes/quests/story_quests/renya_beyond_sorrow/3_stealth/stealth_components/dialogue/renya_beyond_sorrow_checkpoint.dialogue" id="8_1mg1v"] [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="9_pnswv"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="10_k330u"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="11_x3apo"] [ext_resource type="Resource" uid="uid://c1gowkhyn68ih" path="res://scenes/quests/story_quests/renya_beyond_sorrow/3_stealth/stealth_components/dialogue/renya_beyond_sorrow_collected.dialogue" id="12_1cfkr"] [ext_resource type="Script" uid="uid://x1mxt6bmei2o" path="res://scenes/ui_elements/cinematic/cinematic.gd" id="13_m7vwu"] [ext_resource type="Resource" uid="uid://c3ljyi2iw3duc" path="res://scenes/quests/story_quests/renya_beyond_sorrow/3_stealth/stealth_components/dialogue/renya_beyond_sorrow_stealth.dialogue" id="14_ooi2f"] +[ext_resource type="Resource" uid="uid://ck0wbckgm5un8" path="res://scenes/globals/game_state/inventory/memory.tres" id="14_tc2kh"] [sub_resource type="Curve2D" id="Curve2D_r7y04"] _data = { @@ -81,10 +81,6 @@ point_count = 12 [sub_resource type="RectangleShape2D" id="RectangleShape2D_ilxtq"] size = Vector2(168.25, 122) -[sub_resource type="Resource" id="Resource_el81k"] -script = ExtResource("11_x3apo") -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [sub_resource type="RectangleShape2D" id="RectangleShape2D_v54vi"] size = Vector2(133, 87) @@ -325,7 +321,7 @@ debug_color = Color(0, 0, 0, 0.42) [node name="CollectibleItem" parent="." unique_id=892574903 instance=ExtResource("10_k330u")] position = Vector2(3644, 1324) -item = SubResource("Resource_el81k") +item = ExtResource("14_tc2kh") collected_dialogue = ExtResource("12_1cfkr") next_scene = "uid://cqs18blj5pvx7" diff --git a/scenes/quests/story_quests/shjourney/4_Laberinto/Laberinto.tscn b/scenes/quests/story_quests/shjourney/4_Laberinto/Laberinto.tscn index 68e53c8bc2..a3b5c8856c 100644 --- a/scenes/quests/story_quests/shjourney/4_Laberinto/Laberinto.tscn +++ b/scenes/quests/story_quests/shjourney/4_Laberinto/Laberinto.tscn @@ -15,7 +15,6 @@ [ext_resource type="PackedScene" uid="uid://bkbyhmwv0v78v" path="res://scenes/quests/story_quests/shjourney/4_Laberinto/personajes/arbol_11.tscn" id="8_f2sr3"] [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="8_w3xtx"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="9_q6p3d"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="10_r8s28"] [ext_resource type="SpriteFrames" uid="uid://vrthlt7kah8w" path="res://scenes/quests/story_quests/shjourney/Otros_componentes/tim_sprite_frames.tres" id="11_38eo7"] [ext_resource type="Script" uid="uid://x1mxt6bmei2o" path="res://scenes/ui_elements/cinematic/cinematic.gd" id="12_37aoh"] [ext_resource type="SpriteFrames" uid="uid://bjfl1ii3am8ll" path="res://scenes/quests/story_quests/shjourney/Otros_componentes/guardia_sprite_frames.tres" id="13_656p3"] @@ -33,6 +32,7 @@ [ext_resource type="Resource" uid="uid://crc4ayn4316ly" path="res://scenes/quests/story_quests/shjourney/Angel/components/dialogo-angel-puerta.dialogue" id="19_lna1e"] [ext_resource type="Script" uid="uid://b46ce6fs3hjco" path="res://scenes/quests/story_quests/shjourney/4_Laberinto/llave.gd" id="22_r751j"] [ext_resource type="Texture2D" uid="uid://d0yyk0dikkltr" path="res://scenes/quests/story_quests/shjourney/4_Laberinto/personajes/estructuras(decoracion)/puertagrande2.png" id="23_r751j"] +[ext_resource type="Resource" uid="uid://ck0wbckgm5un8" path="res://scenes/globals/game_state/inventory/memory.tres" id="26_37sn7"] [ext_resource type="AudioStream" uid="uid://dbwjolg3xlntq" path="res://scenes/quests/story_quests/shjourney/2_shjourney_intro/template_intro_components/EffectSounds/amazon-rainforest.ogg" id="32_jg4bf"] [ext_resource type="AudioStream" uid="uid://beoi7axeloxrk" path="res://scenes/quests/story_quests/shjourney/2_shjourney_intro/template_intro_components/EffectSounds/male-scream.wav" id="34_3ri7t"] [ext_resource type="PackedScene" uid="uid://due8sqsrtdke1" path="res://scenes/quests/story_quests/shjourney/Otros_componentes/fire_fly.tscn" id="35_lldb0"] @@ -82,10 +82,6 @@ point_count = 25 [sub_resource type="RectangleShape2D" id="RectangleShape2D_idy4y"] size = Vector2(168.25, 122) -[sub_resource type="Resource" id="Resource_idy4y"] -script = ExtResource("10_r8s28") -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [sub_resource type="CircleShape2D" id="CircleShape2D_t5n4b"] radius = 45.6777 @@ -1500,7 +1496,7 @@ follow_viewport_enabled = true [node name="CollectibleItem" parent="." unique_id=1822326188 instance=ExtResource("9_q6p3d")] show_behind_parent = true position = Vector2(2710, 188) -item = SubResource("Resource_idy4y") +item = ExtResource("26_37sn7") collected_dialogue = ExtResource("17_c1lxt") next_scene = "uid://b2e7wpdr7ebsp" diff --git a/scenes/quests/story_quests/shjourney/5_shjourney_sequence_puzzle/shjourney_sequence_puzzle.tscn b/scenes/quests/story_quests/shjourney/5_shjourney_sequence_puzzle/shjourney_sequence_puzzle.tscn index 1b14353977..ed3c395dbd 100644 --- a/scenes/quests/story_quests/shjourney/5_shjourney_sequence_puzzle/shjourney_sequence_puzzle.tscn +++ b/scenes/quests/story_quests/shjourney/5_shjourney_sequence_puzzle/shjourney_sequence_puzzle.tscn @@ -20,7 +20,6 @@ [ext_resource type="SpriteFrames" uid="uid://cauuocuqonixc" path="res://scenes/quests/story_quests/shjourney/5_shjourney_sequence_puzzle/shjourney_sequence_components/shjourney_sign.tres" id="14_50kek"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="14_fmuso"] [ext_resource type="AudioStream" uid="uid://b83x8h0ob5mpq" path="res://assets/third_party/nepalese_hand_bells/handBells-d4.ogg" id="14_it68j"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="15_daurq"] [ext_resource type="AudioStream" uid="uid://5dtwojx17yy3" path="res://assets/third_party/nepalese_hand_bells/handBells-d#4.ogg" id="16_at0ry"] [ext_resource type="SpriteFrames" uid="uid://b57jvrpdva2lg" path="res://scenes/quests/story_quests/shjourney/5_shjourney_sequence_puzzle/shjourney_sequence_components/shjourney_Eye6.tres" id="16_hvqie"] [ext_resource type="PackedScene" uid="uid://covsdqqsd6rsy" path="res://scenes/game_elements/props/sign/sign.tscn" id="17_w086l"] @@ -33,6 +32,7 @@ [ext_resource type="PackedScene" uid="uid://ipvcfv2g0oi1" path="res://scenes/game_elements/characters/npcs/talker/talker.tscn" id="27_m0770"] [ext_resource type="Resource" uid="uid://de4oyrbo2yvok" path="res://scenes/quests/story_quests/shjourney/5_shjourney_sequence_puzzle/shjourney_sequence_components/shjourney_guardian.dialogue" id="28_vpkld"] [ext_resource type="SpriteFrames" uid="uid://bkg2yqajvfipw" path="res://scenes/quests/story_quests/shjourney/5_shjourney_sequence_puzzle/shjourney_sequence_components/shjourney_guardian.tres" id="29_hvqie"] +[ext_resource type="Resource" uid="uid://c44l6x4e7sfx3" path="res://scenes/globals/game_state/inventory/spirit.tres" id="30_it68j"] [ext_resource type="Resource" uid="uid://m3wugmcg8r6m" path="res://scenes/quests/story_quests/shjourney/5_shjourney_sequence_puzzle/shjourney_sequence_components/shjourney_sequence_puzzle.dialogue" id="32_1fi4m"] [ext_resource type="AudioStream" uid="uid://wh36l3rfb7xa" path="res://scenes/quests/story_quests/shjourney/Otros_componentes/musicas/Minds Eye Full.ogg" id="33_at0ry"] [ext_resource type="PackedScene" uid="uid://dpbsi065gmh8a" path="res://scenes/game_elements/fx/fog/fog.tscn" id="35_at0ry"] @@ -43,11 +43,6 @@ walk_speed = 190.0 run_speed = 200.0 metadata/_custom_type_script = "uid://csev4hv57utxv" -[sub_resource type="Resource" id="Resource_u8qfb"] -script = ExtResource("15_daurq") -type = 2 -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [node name="SequencePuzzleTemplate" type="Node2D" unique_id=1909753078] [node name="PlayerMode" type="Node" parent="." unique_id=1442821943] @@ -328,7 +323,7 @@ hint_sign = NodePath("../../Signs/HintSign2") [node name="CollectibleItem" parent="OnTheGround" unique_id=1303420710 instance=ExtResource("14_fmuso")] position = Vector2(993, 491) revealed = false -item = SubResource("Resource_u8qfb") +item = ExtResource("30_it68j") next_scene = "uid://bc7mh0pmjqcmw" [node name="Sign" parent="OnTheGround" unique_id=1343996570 instance=ExtResource("17_w086l")] diff --git a/scenes/quests/story_quests/shjourney/7_shjourney_combate/Combate.tscn b/scenes/quests/story_quests/shjourney/7_shjourney_combate/Combate.tscn index 5ebe34bd5d..7e792dae10 100644 --- a/scenes/quests/story_quests/shjourney/7_shjourney_combate/Combate.tscn +++ b/scenes/quests/story_quests/shjourney/7_shjourney_combate/Combate.tscn @@ -11,7 +11,6 @@ [ext_resource type="PackedScene" uid="uid://b82nsrh332syj" path="res://scenes/game_elements/characters/enemies/throwing_enemy/throwing_enemy.tscn" id="5_xtx35"] [ext_resource type="PackedScene" uid="uid://y8ha8abfyap2" path="res://scenes/game_elements/props/filling_barrel/filling_barrel.tscn" id="6_t000m"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="8_0st60"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="9_14l1t"] [ext_resource type="SpriteFrames" uid="uid://dnuphrwcns6p" path="res://scenes/quests/story_quests/shjourney/7_shjourney_combate/template_combat_components/template_throwing_enemy.tres" id="9_lpt11"] [ext_resource type="AudioStream" uid="uid://cspabpdyggh4c" path="res://scenes/quests/story_quests/shjourney/2_shjourney_intro/template_intro_components/EffectSounds/fireball-woosh-pass-fast.wav" id="10_4ji03"] [ext_resource type="Texture2D" uid="uid://wftkywqu7g0k" path="res://scenes/quests/story_quests/shjourney/7_shjourney_combate/assets/heart_pixelart_64x64_clean_transparent-Sheet.png" id="10_l82d5"] @@ -21,6 +20,7 @@ [ext_resource type="PackedScene" uid="uid://duetu3j6jpxqx" path="res://scenes/quests/story_quests/shjourney/7_shjourney_combate/template_combat_components/fireball1.tscn" id="11_mtgbq"] [ext_resource type="PackedScene" uid="uid://gnqum6w7qe4a" path="res://scenes/quests/story_quests/shjourney/7_shjourney_combate/template_combat_components/fireball2.tscn" id="12_lpt11"] [ext_resource type="PackedScene" uid="uid://dkx3dgc1br3b4" path="res://scenes/ui_elements/input_hints/repel_input_hint.tscn" id="19_mtgbq"] +[ext_resource type="Resource" uid="uid://ck0wbckgm5un8" path="res://scenes/globals/game_state/inventory/memory.tres" id="19_r2vdt"] [ext_resource type="AudioStream" uid="uid://dxoui232ly161" path="res://scenes/quests/story_quests/shjourney/Otros_componentes/musicas/Hunting in the Reeds.ogg" id="22_r2vdt"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_jqvha"] @@ -83,10 +83,6 @@ animations = [{ "speed": 10.0 }] -[sub_resource type="Resource" id="Resource_inexp"] -script = ExtResource("9_14l1t") -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [node name="Combat" type="Node2D" unique_id=1753395573] y_sort_enabled = true @@ -196,7 +192,7 @@ color = Color(1, 1, 1, 1) unique_name_in_owner = true position = Vector2(1152, 120) revealed = false -item = SubResource("Resource_inexp") +item = ExtResource("19_r2vdt") dialogue_title = &"well_done" next_scene = "uid://b4dotq384vljq" diff --git a/scenes/quests/story_quests/stella/1_stella_stealth/stella_stealth.tscn b/scenes/quests/story_quests/stella/1_stella_stealth/stella_stealth.tscn index 6dc467ca6b..248bb42445 100644 --- a/scenes/quests/story_quests/stella/1_stella_stealth/stella_stealth.tscn +++ b/scenes/quests/story_quests/stella/1_stella_stealth/stella_stealth.tscn @@ -14,7 +14,6 @@ [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="7_n4o8u"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="8_jobnx"] [ext_resource type="Resource" uid="uid://c025q6p1owbcu" path="res://scenes/quests/story_quests/stella/1_stella_stealth/stella_stealth_components/stella_checkpoint.dialogue" id="8_wgqmn"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="9_h858g"] [ext_resource type="Script" uid="uid://x1mxt6bmei2o" path="res://scenes/ui_elements/cinematic/cinematic.gd" id="11_mehsu"] [ext_resource type="Resource" uid="uid://d3gr543f34pwh" path="res://scenes/quests/story_quests/stella/1_stella_stealth/stella_stealth_components/stella_collected.dialogue" id="12_rlkm0"] [ext_resource type="Texture2D" uid="uid://8ujtwgp8fb1v" path="res://scenes/quests/story_quests/stella/1_stella_stealth/stella_stealth_components/stella_stealth_fire.png" id="13_rlkm0"] @@ -24,6 +23,7 @@ [ext_resource type="PackedScene" uid="uid://7873qa54birk" path="res://scenes/game_elements/props/tree/tree.tscn" id="16_0ownb"] [ext_resource type="Resource" uid="uid://fgepu5pdp6wu" path="res://scenes/quests/story_quests/stella/1_stella_stealth/stella_stealth_components/stella_firekeeper.dialogue" id="16_rlkm0"] [ext_resource type="SpriteFrames" uid="uid://dktcbyom7px88" path="res://scenes/quests/story_quests/stella/1_stella_stealth/stella_stealth_components/stella_firekeeper.tres" id="17_0ownb"] +[ext_resource type="Resource" uid="uid://ck0wbckgm5un8" path="res://scenes/globals/game_state/inventory/memory.tres" id="17_l3kdm"] [sub_resource type="Curve2D" id="Curve2D_vnsq3"] _data = { @@ -112,10 +112,6 @@ point_count = 9 [sub_resource type="RectangleShape2D" id="RectangleShape2D_idy4y"] size = Vector2(264, 74.25) -[sub_resource type="Resource" id="Resource_idy4y"] -script = ExtResource("9_h858g") -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [sub_resource type="AtlasTexture" id="AtlasTexture_0ownb"] atlas = ExtResource("13_rlkm0") region = Rect2(0, 0, 128, 128) @@ -500,7 +496,7 @@ debug_color = Color(0, 0, 0, 0.42) [node name="CollectibleItem" parent="OnTheGround" unique_id=1494033634 instance=ExtResource("8_jobnx")] position = Vector2(451, 775) -item = SubResource("Resource_idy4y") +item = ExtResource("17_l3kdm") collected_dialogue = ExtResource("12_rlkm0") next_scene = "uid://bfr7svwx5hqkf" diff --git a/scenes/quests/story_quests/stella/2_stella_combat/stella_combat.tscn b/scenes/quests/story_quests/stella/2_stella_combat/stella_combat.tscn index 48afde099f..3c62f1e7be 100644 --- a/scenes/quests/story_quests/stella/2_stella_combat/stella_combat.tscn +++ b/scenes/quests/story_quests/stella/2_stella_combat/stella_combat.tscn @@ -15,12 +15,12 @@ [ext_resource type="TileSet" uid="uid://b8qnr0owsbhhn" path="res://tiles/exterior_floors.tres" id="7_fttab"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="8_2svos"] [ext_resource type="TileSet" uid="uid://dfp36ffpanjq2" path="res://tiles/elevation.tres" id="8_gsim2"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="9_chxci"] [ext_resource type="TileSet" uid="uid://do0ffypatd77h" path="res://tiles/bridges.tres" id="9_ky4po"] [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="10_xeai8"] [ext_resource type="Texture2D" uid="uid://cpqvaoatvjc2d" path="res://scenes/quests/story_quests/stella/2_stella_combat/stella_combat_components/stella_target.png" id="13_ndyje"] [ext_resource type="PackedScene" uid="uid://ipvcfv2g0oi1" path="res://scenes/game_elements/characters/npcs/talker/talker.tscn" id="14_asncp"] [ext_resource type="SpriteFrames" uid="uid://b8ib21ye5xvwb" path="res://scenes/quests/story_quests/stella/2_stella_combat/stella_combat_components/stella_fisherman.tres" id="14_e46so"] +[ext_resource type="Resource" uid="uid://cchnv5pn6fa8e" path="res://scenes/globals/game_state/inventory/imagination.tres" id="20_17ppw"] [sub_resource type="AtlasTexture" id="AtlasTexture_btmjw"] atlas = ExtResource("13_ndyje") @@ -61,11 +61,6 @@ animations = [{ [sub_resource type="RectangleShape2D" id="RectangleShape2D_ndyje"] size = Vector2(101, 91.5) -[sub_resource type="Resource" id="Resource_a51xm"] -script = ExtResource("9_chxci") -type = 1 -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [node name="StellaCombat" type="Node2D" unique_id=1263390013] script = ExtResource("1_17ppw") @@ -172,7 +167,7 @@ shape = SubResource("RectangleShape2D_ndyje") unique_name_in_owner = true position = Vector2(139, 254) revealed = false -item = SubResource("Resource_a51xm") +item = ExtResource("20_17ppw") collected_dialogue = ExtResource("2_awu4o") dialogue_title = &"well_done" next_scene = "uid://b7j5em2h1m2j7" diff --git a/scenes/quests/story_quests/stella/3_stella_sequence_puzzle/stella_sequence_puzzle.tscn b/scenes/quests/story_quests/stella/3_stella_sequence_puzzle/stella_sequence_puzzle.tscn index 47600cc5af..37d15dadd0 100644 --- a/scenes/quests/story_quests/stella/3_stella_sequence_puzzle/stella_sequence_puzzle.tscn +++ b/scenes/quests/story_quests/stella/3_stella_sequence_puzzle/stella_sequence_puzzle.tscn @@ -7,9 +7,9 @@ [ext_resource type="Script" uid="uid://c68oh8dtr21ti" path="res://scenes/game_logic/sequence_puzzle.gd" id="3_an7xq"] [ext_resource type="SpriteFrames" uid="uid://dn0ivusgamrg3" path="res://scenes/quests/story_quests/stella/stella_player_components/stella_player.tres" id="3_r0gok"] [ext_resource type="PackedScene" uid="uid://be4o3ythda4cu" path="res://scenes/game_elements/props/sequence_puzzle_hint_sign/sequence_puzzle_hint_sign.tscn" id="11_c8urv"] +[ext_resource type="Resource" uid="uid://c44l6x4e7sfx3" path="res://scenes/globals/game_state/inventory/spirit.tres" id="12_moe01"] [ext_resource type="Script" uid="uid://ccc78coj2b1li" path="res://scenes/game_logic/sequence_puzzle_step.gd" id="13_cyoxr"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="14_edmpl"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="15_2p35u"] [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="18_w255e"] [ext_resource type="PackedScene" uid="uid://ipvcfv2g0oi1" path="res://scenes/game_elements/characters/npcs/talker/talker.tscn" id="19_iwkby"] [ext_resource type="Script" uid="uid://x1mxt6bmei2o" path="res://scenes/ui_elements/cinematic/cinematic.gd" id="19_mt5a1"] @@ -21,11 +21,6 @@ [ext_resource type="PackedScene" uid="uid://7873qa54birk" path="res://scenes/game_elements/props/tree/tree.tscn" id="32_7w21t"] [ext_resource type="Resource" uid="uid://wpifv4dfofm2" path="res://scenes/quests/story_quests/stella/3_stella_sequence_puzzle/stella_sequence_components/stella_sequence_puzzle.dialogue" id="33_g4uwj"] -[sub_resource type="Resource" id="Resource_u8qfb"] -script = ExtResource("15_2p35u") -type = 2 -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [node name="StellaSequencePuzzle" type="Node2D" unique_id=1076373484] [node name="PlayerMode" type="Node" parent="." unique_id=1973535693] @@ -100,7 +95,7 @@ hint_sign = NodePath("../../Signs/HintSign3") [node name="CollectibleItem" parent="OnTheGround" unique_id=838740229 instance=ExtResource("14_edmpl")] position = Vector2(831, 462) revealed = false -item = SubResource("Resource_u8qfb") +item = ExtResource("12_moe01") collected_dialogue = ExtResource("33_g4uwj") dialogue_title = &"well_done" next_scene = "uid://dd8wip76jpadr" diff --git a/scenes/quests/story_quests/verso/1_verso_combat_anger/verso_combat.tscn b/scenes/quests/story_quests/verso/1_verso_combat_anger/verso_combat.tscn index d5c2c874ee..88759135f0 100644 --- a/scenes/quests/story_quests/verso/1_verso_combat_anger/verso_combat.tscn +++ b/scenes/quests/story_quests/verso/1_verso_combat_anger/verso_combat.tscn @@ -17,11 +17,11 @@ [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="8_weewi"] [ext_resource type="Texture2D" uid="uid://jh8ohi4wxxid" path="res://scenes/quests/story_quests/verso/assets/Scribbled_Stack_Papers_Tiles.png" id="9_7yave"] [ext_resource type="Texture2D" uid="uid://dcq6v7mx3h1fl" path="res://assets/first_party/tiles/Dirt_Tiles.png" id="9_d4ogx"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="9_ml8ui"] [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="10_ntgxy"] [ext_resource type="Texture2D" uid="uid://bvanws8kq1xde" path="res://scenes/quests/story_quests/verso/assets/Eraser_Tiles.png" id="13_qh7o3"] [ext_resource type="SpriteFrames" uid="uid://dy4hi40ctxeno" path="res://scenes/quests/story_quests/verso/verso_player_components/verso_player.tres" id="18_2bah4"] [ext_resource type="PackedScene" uid="uid://bwqrh7clivubq" path="res://scenes/quests/story_quests/verso/assets/sharpener/pencil_sharpener.tscn" id="22_gbl6x"] +[ext_resource type="Resource" uid="uid://cchnv5pn6fa8e" path="res://scenes/globals/game_state/inventory/imagination.tres" id="22_qh7o3"] [ext_resource type="PackedScene" uid="uid://dcoas3imo10p5" path="res://scenes/quests/story_quests/verso/1_verso_combat_anger/verso_combat_components/ThrowingEnemyHealth.tscn" id="26_d6umq"] [ext_resource type="Resource" uid="uid://dbjm7schpu1dk" path="res://scenes/quests/story_quests/verso/1_verso_combat_anger/verso_combat_components/verso_combat.dialogue" id="26_m5ihe"] @@ -311,11 +311,6 @@ sources/4 = SubResource("TileSetAtlasSource_dn5jo") sources/0 = SubResource("TileSetAtlasSource_m5ihe") sources/5 = SubResource("TileSetAtlasSource_yxv4n") -[sub_resource type="Resource" id="Resource_a51xm"] -script = ExtResource("9_ml8ui") -type = 1 -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [node name="Combat" type="Node2D" unique_id=139364543] y_sort_enabled = true @@ -361,7 +356,7 @@ position = Vector2(1450, 606) unique_name_in_owner = true position = Vector2(868, 303) revealed = false -item = SubResource("Resource_a51xm") +item = ExtResource("22_qh7o3") collected_dialogue = ExtResource("26_m5ihe") dialogue_title = &"well_done" next_scene = "uid://runaj1nwk77c" diff --git a/scenes/quests/story_quests/verso/2_verso_stealth_sadness/verso_stealth.tscn b/scenes/quests/story_quests/verso/2_verso_stealth_sadness/verso_stealth.tscn index e30feb348c..b20a3fbbc4 100644 --- a/scenes/quests/story_quests/verso/2_verso_stealth_sadness/verso_stealth.tscn +++ b/scenes/quests/story_quests/verso/2_verso_stealth_sadness/verso_stealth.tscn @@ -16,13 +16,13 @@ [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="8_12nev"] [ext_resource type="Texture2D" uid="uid://cophwiv5rmm1" path="res://scenes/quests/story_quests/verso/assets/Hallway_Tiles.png" id="8_nsaju"] [ext_resource type="Texture2D" uid="uid://dqcacyxq3xdcx" path="res://scenes/quests/story_quests/verso/assets/Teacher_Desk_Prop.png" id="9_6m3nq"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="9_fn542"] [ext_resource type="Texture2D" uid="uid://c7oht7wudd8wa" path="res://assets/first_party/tiles/Cliff_Tiles.png" id="9_lsgvj"] [ext_resource type="TileSet" uid="uid://b8qnr0owsbhhn" path="res://tiles/exterior_floors.tres" id="10_e83wv"] [ext_resource type="Resource" uid="uid://de2hf2j6lfmcj" path="res://scenes/quests/story_quests/verso/2_verso_stealth_sadness/verso_stealth_components/verso_collected.dialogue" id="10_gidvg"] [ext_resource type="PackedScene" uid="uid://b2gi1i8mpyp6x" path="res://scenes/quests/story_quests/verso/assets/teacher_desk/teacher_desk.tscn" id="10_wdmba"] [ext_resource type="Script" uid="uid://x1mxt6bmei2o" path="res://scenes/ui_elements/cinematic/cinematic.gd" id="11_0lwn1"] [ext_resource type="SpriteFrames" uid="uid://dy4hi40ctxeno" path="res://scenes/quests/story_quests/verso/verso_player_components/verso_player.tres" id="13_4e5pa"] +[ext_resource type="Resource" uid="uid://ck0wbckgm5un8" path="res://scenes/globals/game_state/inventory/memory.tres" id="21_e83wv"] [ext_resource type="Resource" uid="uid://de1u8st6lbktc" path="res://scenes/quests/story_quests/verso/2_verso_stealth_sadness/verso_stealth_components/verso_stealth.dialogue" id="21_lsgvj"] [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_lib0f"] @@ -564,10 +564,6 @@ point_count = 12 [sub_resource type="RectangleShape2D" id="RectangleShape2D_idy4y"] size = Vector2(107.5, 95) -[sub_resource type="Resource" id="Resource_idy4y"] -script = ExtResource("9_fn542") -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [node name="StealthTemplateLevel2" type="Node2D" unique_id=884215565] y_sort_enabled = true @@ -954,7 +950,7 @@ debug_color = Color(0, 0, 0, 0.42) [node name="CollectibleItem" parent="." unique_id=1327166988 instance=ExtResource("8_12nev")] position = Vector2(3424, 2833) -item = SubResource("Resource_idy4y") +item = ExtResource("21_e83wv") collected_dialogue = ExtResource("10_gidvg") next_scene = "uid://c0a4bblbj21b7" diff --git a/scenes/quests/story_quests/verso/3_verso_sequence_puzzle_happiness/verso_sequence_puzzle.tscn b/scenes/quests/story_quests/verso/3_verso_sequence_puzzle_happiness/verso_sequence_puzzle.tscn index cc4fa27ff7..ada02be7aa 100644 --- a/scenes/quests/story_quests/verso/3_verso_sequence_puzzle_happiness/verso_sequence_puzzle.tscn +++ b/scenes/quests/story_quests/verso/3_verso_sequence_puzzle_happiness/verso_sequence_puzzle.tscn @@ -16,7 +16,7 @@ [ext_resource type="SpriteFrames" uid="uid://kl603uwmtosm" path="res://scenes/quests/story_quests/verso/3_verso_sequence_puzzle_happiness/verso_hint_book.tres" id="12_dbfhi"] [ext_resource type="Script" uid="uid://ccc78coj2b1li" path="res://scenes/game_logic/sequence_puzzle_step.gd" id="13_c1wqg"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="14_y31ij"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="15_5k7sg"] +[ext_resource type="Resource" uid="uid://c44l6x4e7sfx3" path="res://scenes/globals/game_state/inventory/spirit.tres" id="17_x86hm"] [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="18_g781g"] [ext_resource type="Script" uid="uid://x1mxt6bmei2o" path="res://scenes/ui_elements/cinematic/cinematic.gd" id="19_w3ler"] [ext_resource type="Resource" uid="uid://buibv2w6d1mjg" path="res://scenes/quests/story_quests/verso/3_verso_sequence_puzzle_happiness/verso_sequence_puzzle.dialogue" id="20_x86hm"] @@ -89,11 +89,6 @@ tile_size = Vector2i(64, 64) physics_layer_0/collision_layer = 1 sources/2 = SubResource("TileSetAtlasSource_wnk0x") -[sub_resource type="Resource" id="Resource_u8qfb"] -script = ExtResource("15_5k7sg") -type = 2 -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [node name="SequencePuzzleTemplate" type="Node2D" unique_id=1071676546] [node name="PlayerMode" type="Node" parent="." unique_id=115442219] @@ -318,7 +313,7 @@ hint_sign = NodePath("../../Signs/HintSign2") [node name="CollectibleItem" parent="OnTheGround" unique_id=1302492123 instance=ExtResource("14_y31ij")] position = Vector2(1045, 958) revealed = false -item = SubResource("Resource_u8qfb") +item = ExtResource("17_x86hm") collected_dialogue = ExtResource("20_x86hm") dialogue_title = &"well_done" next_scene = "uid://daokn3huj1lsy" diff --git a/scenes/quests/template_quests/NO_EDIT/1_NO_EDIT_stealth/NO_EDIT_stealth.tscn b/scenes/quests/template_quests/NO_EDIT/1_NO_EDIT_stealth/NO_EDIT_stealth.tscn index a763873e4c..e105902faf 100644 --- a/scenes/quests/template_quests/NO_EDIT/1_NO_EDIT_stealth/NO_EDIT_stealth.tscn +++ b/scenes/quests/template_quests/NO_EDIT/1_NO_EDIT_stealth/NO_EDIT_stealth.tscn @@ -10,7 +10,7 @@ [ext_resource type="Resource" uid="uid://cppk2qynt485b" path="res://scenes/quests/template_quests/NO_EDIT/1_NO_EDIT_stealth/NO_EDIT_stealth_components/NO_EDIT_checkpoint.dialogue" id="7_eujsg"] [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="8_gxd2f"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="9_v0n5i"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="10_tbnoi"] +[ext_resource type="Resource" uid="uid://ck0wbckgm5un8" path="res://scenes/globals/game_state/inventory/memory.tres" id="10_axd4p"] [ext_resource type="Resource" uid="uid://dpv4wurvaamhb" path="res://scenes/quests/template_quests/NO_EDIT/1_NO_EDIT_stealth/NO_EDIT_stealth_components/NO_EDIT_collected.dialogue" id="11_f7iof"] [ext_resource type="Script" uid="uid://x1mxt6bmei2o" path="res://scenes/ui_elements/cinematic/cinematic.gd" id="12_bs0vj"] [ext_resource type="Resource" uid="uid://cggywn8t6s4le" path="res://scenes/quests/template_quests/NO_EDIT/1_NO_EDIT_stealth/NO_EDIT_stealth_components/NO_EDIT_stealth.dialogue" id="13_y0fxw"] @@ -32,10 +32,6 @@ point_count = 8 [sub_resource type="RectangleShape2D" id="RectangleShape2D_idy4y"] size = Vector2(168.25, 122) -[sub_resource type="Resource" id="Resource_idy4y"] -script = ExtResource("10_tbnoi") -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [node name="NoEditStealth" type="Node2D" unique_id=528815133] [node name="StealthGameLogic" type="Node" parent="." unique_id=1734695953] @@ -114,7 +110,7 @@ debug_color = Color(0, 0, 0, 0.42) [node name="CollectibleItem" parent="OnTheGround" unique_id=1779229490 instance=ExtResource("9_v0n5i")] position = Vector2(2335, 955) -item = SubResource("Resource_idy4y") +item = ExtResource("10_axd4p") collected_dialogue = ExtResource("11_f7iof") next_scene = "uid://thwcu5akkqp5" diff --git a/scenes/quests/template_quests/NO_EDIT/2_NO_EDIT_combat/NO_EDIT_combat.tscn b/scenes/quests/template_quests/NO_EDIT/2_NO_EDIT_combat/NO_EDIT_combat.tscn index d29dc097ce..260dbec144 100644 --- a/scenes/quests/template_quests/NO_EDIT/2_NO_EDIT_combat/NO_EDIT_combat.tscn +++ b/scenes/quests/template_quests/NO_EDIT/2_NO_EDIT_combat/NO_EDIT_combat.tscn @@ -10,9 +10,9 @@ [ext_resource type="SpriteFrames" uid="uid://c50725q5ey5j5" path="res://scenes/quests/template_quests/NO_EDIT/2_NO_EDIT_combat/NO_EDIT_combat_components/NO_EDIT_target_spriteframes.tres" id="7_sdnn7"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="10_a6ony"] [ext_resource type="PackedScene" uid="uid://iu2q66clupc6" path="res://scenes/game_elements/characters/player/player.tscn" id="10_rcv3t"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="11_4lmqk"] [ext_resource type="PackedScene" uid="uid://b82nsrh332syj" path="res://scenes/game_elements/characters/enemies/throwing_enemy/throwing_enemy.tscn" id="11_64btt"] [ext_resource type="PackedScene" uid="uid://y8ha8abfyap2" path="res://scenes/game_elements/props/filling_barrel/filling_barrel.tscn" id="12_2eyq6"] +[ext_resource type="Resource" uid="uid://cchnv5pn6fa8e" path="res://scenes/globals/game_state/inventory/imagination.tres" id="13_ku1na"] [ext_resource type="PackedScene" uid="uid://dmevaymmt6wco" path="res://scenes/game_elements/props/powerup/powerup.tscn" id="14_6xf5p"] [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="14_ttfgd"] [ext_resource type="Script" uid="uid://c8405c212rbn6" path="res://scenes/game_elements/props/background_music/components/background_music.gd" id="16_t2kes"] @@ -20,11 +20,6 @@ [ext_resource type="AudioStream" uid="uid://bbamdm6wtjjcn" path="res://assets/first_party/music/Threadbare_Bed.ogg" id="18_bxavx"] [ext_resource type="Script" uid="uid://c2lx7gvkonxaa" path="res://scenes/game_elements/props/background_music/components/clip_switcher.gd" id="18_ku1na"] -[sub_resource type="Resource" id="Resource_a51xm"] -script = ExtResource("11_4lmqk") -type = 1 -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [sub_resource type="AudioStreamInteractive" id="AudioStreamInteractive_niajk"] clip_count = 2 clip_0/name = &"combat" @@ -121,7 +116,7 @@ color = Color(1, 1, 1, 1) unique_name_in_owner = true position = Vector2(868, 303) revealed = false -item = SubResource("Resource_a51xm") +item = ExtResource("13_ku1na") collected_dialogue = ExtResource("2_3qn31") dialogue_title = &"well_done" next_scene = "uid://x3wm2ce0ax8i" diff --git a/scenes/quests/template_quests/NO_EDIT/3_NO_EDIT_sequence_puzzle/NO_EDIT_sequence_puzzle.tscn b/scenes/quests/template_quests/NO_EDIT/3_NO_EDIT_sequence_puzzle/NO_EDIT_sequence_puzzle.tscn index 8265d39ba1..8929e16a57 100644 --- a/scenes/quests/template_quests/NO_EDIT/3_NO_EDIT_sequence_puzzle/NO_EDIT_sequence_puzzle.tscn +++ b/scenes/quests/template_quests/NO_EDIT/3_NO_EDIT_sequence_puzzle/NO_EDIT_sequence_puzzle.tscn @@ -17,18 +17,13 @@ [ext_resource type="SpriteFrames" uid="uid://bhcgkxhy4cqf4" path="res://scenes/quests/template_quests/NO_EDIT/3_NO_EDIT_sequence_puzzle/NO_EDIT_sign_2.tres" id="12_8jbpq"] [ext_resource type="Script" uid="uid://ccc78coj2b1li" path="res://scenes/game_logic/sequence_puzzle_step.gd" id="13_ewc4v"] [ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="14_opnjc"] -[ext_resource type="Script" uid="uid://bgmwplmj3bfls" path="res://scenes/globals/game_state/inventory/inventory_item.gd" id="15_5fyey"] [ext_resource type="Resource" uid="uid://bb1g8ftnxjhvh" path="res://scenes/quests/template_quests/NO_EDIT/3_NO_EDIT_sequence_puzzle/NO_EDIT_sequence_puzzle.dialogue" id="16_bt1lb"] [ext_resource type="PackedScene" uid="uid://covsdqqsd6rsy" path="res://scenes/game_elements/props/sign/sign.tscn" id="17_757eh"] +[ext_resource type="Resource" uid="uid://c44l6x4e7sfx3" path="res://scenes/globals/game_state/inventory/spirit.tres" id="18_e434m"] [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="18_fip7f"] [ext_resource type="Script" uid="uid://x1mxt6bmei2o" path="res://scenes/ui_elements/cinematic/cinematic.gd" id="19_7si2r"] [ext_resource type="Script" uid="uid://c8405c212rbn6" path="res://scenes/game_elements/props/background_music/components/background_music.gd" id="23_42ab1"] -[sub_resource type="Resource" id="Resource_u8qfb"] -script = ExtResource("15_5fyey") -type = 2 -metadata/_custom_type_script = "uid://bgmwplmj3bfls" - [node name="NoEditSequencePuzzle" type="Node2D" unique_id=217609538] [node name="TileMapLayers" type="Node2D" parent="." unique_id=2088852286] @@ -128,7 +123,7 @@ hint_sign = NodePath("../../Signs/HintSign2") [node name="CollectibleItem" parent="OnTheGround" unique_id=1678374994 instance=ExtResource("14_opnjc")] position = Vector2(861, 282) revealed = false -item = SubResource("Resource_u8qfb") +item = ExtResource("18_e434m") collected_dialogue = ExtResource("16_bt1lb") dialogue_title = &"well_done" next_scene = "uid://cqjdjcwwfg0xi" From a23f8e429889d6fa9e59398f6b228e57a6605061 Mon Sep 17 00:00:00 2001 From: Will Thompson Date: Tue, 11 Aug 2026 10:55:15 +0100 Subject: [PATCH 3/7] DO NOT MERGE ME --- .../quest_004/mythical_meadows.tscn | 25 +++++++++++++++++-- .../quests/lore_quests/quest_004/quest.tres | 1 - 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/scenes/quests/lore_quests/quest_004/mythical_meadows.tscn b/scenes/quests/lore_quests/quest_004/mythical_meadows.tscn index ef74854066..9a21fbbbb5 100644 --- a/scenes/quests/lore_quests/quest_004/mythical_meadows.tscn +++ b/scenes/quests/lore_quests/quest_004/mythical_meadows.tscn @@ -16,6 +16,11 @@ [ext_resource type="SpriteFrames" uid="uid://dtoylirwywk0j" path="res://scenes/game_elements/characters/components/sprite_frames/storyweaver_blue.tres" id="13_ag7vv"] [ext_resource type="PackedScene" uid="uid://dv4f232y8w8dv" path="res://scenes/game_elements/props/decoration/water_rock/water_rock.tscn" id="14_brig6"] [ext_resource type="Resource" uid="uid://c44l6x4e7sfx3" path="res://scenes/globals/game_state/inventory/spirit.tres" id="15_ag7vv"] +[ext_resource type="Resource" uid="uid://cchnv5pn6fa8e" path="res://scenes/globals/game_state/inventory/imagination.tres" id="16_y5fl1"] +[ext_resource type="Resource" uid="uid://ck0wbckgm5un8" path="res://scenes/globals/game_state/inventory/memory.tres" id="17_gejpg"] +[ext_resource type="PackedScene" uid="uid://d37mebu7atru7" path="res://scenes/game_elements/characters/enemies/guard/guard.tscn" id="18_q603x"] +[ext_resource type="Script" uid="uid://dnp0tjloec2d7" path="res://scenes/game_logic/stealth_game_logic.gd" id="20_gejpg"] +[ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="21_q603x"] [node name="MythicalMeadows" type="Node2D" unique_id=78806229] @@ -28,7 +33,6 @@ metadata/_custom_type_script = "uid://c8405c212rbn6" [node name="Water" type="TileMapLayer" parent="TileMapLayers" unique_id=1934786228] z_index = -1 -tile_map_data = PackedByteArray("AAADAAEAAAAAAAAAAAADAAIAAAAAAAAAAAADAAMAAAAAAAAAAAADAAQAAAAAAAAAAAADAAUAAAAAAAAAAAADAAYAAAAAAAAAAAADAAcAAAAAAAAAAAADAAgAAAAAAAAAAAADAAkAAAAAAAAAAAAEAAEAAAAAAAAAAAAFAAEAAAAAAAAAAAAFAAkAAAAAAAAAAAAGAAEAAAAAAAAAAAAGAAkAAAAAAAAAAAAHAAEAAAAAAAAAAAAHAAkAAAAAAAAAAAAIAAEAAAAAAAAAAAAIAAkAAAAAAAAAAAAJAAEAAAAAAAAAAAAJAAkAAAAAAAAAAAAKAAEAAAAAAAAAAAAKAAkAAAAAAAAAAAALAAEAAAAAAAAAAAALAAkAAAAAAAAAAAAMAAEAAAAAAAAAAAAMAAkAAAAAAAAAAAANAAEAAAAAAAAAAAANAAkAAAAAAAAAAAAOAAEAAAAAAAAAAAAOAAkAAAAAAAAAAAAPAAEAAAAAAAAAAAAPAAkAAAAAAAAAAAAQAAEAAAAAAAAAAAAQAAkAAAAAAAAAAAARAAEAAAAAAAAAAAARAAkAAAAAAAAAAAASAAEAAAAAAAAAAAASAAkAAAAAAAAAAAATAAEAAAAAAAAAAAATAAkAAAAAAAAAAAAUAAEAAAAAAAAAAAAUAAkAAAAAAAAAAAAVAAEAAAAAAAAAAAAVAAkAAAAAAAAAAAAWAAEAAAAAAAAAAAAWAAkAAAAAAAAAAAAXAAEAAAAAAAAAAAAXAAkAAAAAAAAAAAAYAAEAAAAAAAAAAAAYAAkAAAAAAAAAAAAZAAEAAAAAAAAAAAAZAAkAAAAAAAAAAAAaAAEAAAAAAAAAAAAaAAkAAAAAAAAAAAAbAAEAAAAAAAAAAAAbAAkAAAAAAAAAAAAcAAEAAAAAAAAAAAAcAAkAAAAAAAAAAAAdAAEAAAAAAAAAAAAdAAkAAAAAAAAAAAAeAAEAAAAAAAAAAAAeAAkAAAAAAAAAAAAfAAEAAAAAAAAAAAAfAAkAAAAAAAAAAAAgAAEAAAAAAAAAAAAgAAkAAAAAAAAAAAAhAAEAAAAAAAAAAAAhAAkAAAAAAAAAAAAiAAEAAAAAAAAAAAAiAAIAAAAAAAAAAAAiAAMAAAAAAAAAAAAiAAQAAAAAAAAAAAAiAAUAAAAAAAAAAAAiAAYAAAAAAAAAAAAiAAcAAAAAAAAAAAAiAAgAAAAAAAAAAAAiAAkAAAAAAAAAAAAEAAkAAAAAAAAAAAADAAoAAAAAAAAAAAADAAsAAAAAAAAAAAAEAAsAAAAAAAAAAAAEAAoAAAAAAAAAAAAFAAoAAAAAAAAAAAAGAAoAAAAAAAAAAAAHAAoAAAAAAAAAAAAIAAoAAAAAAAAAAAAJAAoAAAAAAAAAAAAKAAoAAAAAAAAAAAALAAoAAAAAAAAAAAAMAAoAAAAAAAAAAAAMAAsAAAAAAAAAAAANAAsAAAAAAAAAAAANAAwAAAAAAAAAAAAMAAwAAAAAAAAAAAALAAwAAAAAAAAAAAAKAAwAAAAAAAAAAAAJAAwAAAAAAAAAAAAIAAwAAAAAAAAAAAAHAAwAAAAAAAAAAAAGAAwAAAAAAAAAAAAFAAwAAAAAAAAAAAAEAAwAAAAAAAAAAAADAAwAAAAAAAAAAAAFAAsAAAAAAAAAAAAGAAsAAAAAAAAAAAAHAAsAAAAAAAAAAAAIAAsAAAAAAAAAAAAJAAsAAAAAAAAAAAAKAAsAAAAAAAAAAAALAAsAAAAAAAAAAAANAAoAAAAAAAAAAAAOAAoAAAAAAAAAAAAOAAsAAAAAAAAAAAAOAAwAAAAAAAAAAAAOAA0AAAAAAAAAAAANAA4AAAAAAAAAAAAMAA4AAAAAAAAAAAALAA4AAAAAAAAAAAALAA8AAAAAAAAAAAAKAA8AAAAAAAAAAAAJAA8AAAAAAAAAAAAJAA4AAAAAAAAAAAAIAA4AAAAAAAAAAAAHAA4AAAAAAAAAAAAGAA4AAAAAAAAAAAAFAA4AAAAAAAAAAAAEAA4AAAAAAAAAAAADAA4AAAAAAAAAAAACAA4AAAAAAAAAAAACAA0AAAAAAAAAAAADAA0AAAAAAAAAAAAEAA0AAAAAAAAAAAAFAA0AAAAAAAAAAAAGAA0AAAAAAAAAAAAHAA0AAAAAAAAAAAAIAA0AAAAAAAAAAAAJAA0AAAAAAAAAAAAKAA0AAAAAAAAAAAALAA0AAAAAAAAAAAAMAA0AAAAAAAAAAAANAA0AAAAAAAAAAAAKAA4AAAAAAAAAAAACAAEAAAAAAAAAAAACAAIAAAAAAAAAAAACAAMAAAAAAAAAAAACAAQAAAAAAAAAAAACAAUAAAAAAAAAAAACAAYAAAAAAAAAAAACAAcAAAAAAAAAAAACAAgAAAAAAAAAAAACAAkAAAAAAAAAAAACAAoAAAAAAAAAAAACAAsAAAAAAAAAAAACAAwAAAAAAAAAAAACAA8AAAAAAAAAAAADAA8AAAAAAAAAAAAEAA8AAAAAAAAAAAAFAA8AAAAAAAAAAAAGAA8AAAAAAAAAAAAHAA8AAAAAAAAAAAAIAA8AAAAAAAAAAAAMAA8AAAAAAAAAAAANAA8AAAAAAAAAAAAOAA8AAAAAAAAAAAAPAA8AAAAAAAAAAAAQAA8AAAAAAAAAAAAOAA4AAAAAAAAAAAAPAA4AAAAAAAAAAAAQAA4AAAAAAAAAAAAQAA0AAAAAAAAAAAAQAAwAAAAAAAAAAAAQAAsAAAAAAAAAAAAQAAoAAAAAAAAAAAAPAAoAAAAAAAAAAAAPAAsAAAAAAAAAAAAPAAwAAAAAAAAAAAAPAA0AAAAAAAAAAAARAAoAAAAAAAAAAAARAAsAAAAAAAAAAAARAAwAAAAAAAAAAAARAA0AAAAAAAAAAAARAA4AAAAAAAAAAAARAA8AAAAAAAAAAAARABAAAAAAAAAAAAAQABAAAAAAAAAAAAAPABAAAAAAAAAAAAAOABEAAAAAAAAAAAANABEAAAAAAAAAAAAMABEAAAAAAAAAAAALABEAAAAAAAAAAAAKABEAAAAAAAAAAAAJABEAAAAAAAAAAAAIABEAAAAAAAAAAAAHABEAAAAAAAAAAAAGABEAAAAAAAAAAAAFABEAAAAAAAAAAAAEABEAAAAAAAAAAAADABEAAAAAAAAAAAACABEAAAAAAAAAAAACABAAAAAAAAAAAAADABAAAAAAAAAAAAAEABAAAAAAAAAAAAAFABAAAAAAAAAAAAAGABAAAAAAAAAAAAAHABAAAAAAAAAAAAAIABAAAAAAAAAAAAAJABAAAAAAAAAAAAAKABAAAAAAAAAAAAALABAAAAAAAAAAAAAMABAAAAAAAAAAAAANABAAAAAAAAAAAAAOABAAAAAAAAAAAAAPABEAAAAAAAAAAAAQABEAAAAAAAAAAAARABEAAAAAAAAAAAASABAAAAAAAAAAAAASAA8AAAAAAAAAAAASAA4AAAAAAAAAAAASAA0AAAAAAAAAAAASAAwAAAAAAAAAAAASAAsAAAAAAAAAAAASAAoAAAAAAAAAAAATAAoAAAAAAAAAAAAUAAoAAAAAAAAAAAAVAAoAAAAAAAAAAAAWAAoAAAAAAAAAAAAXAAoAAAAAAAAAAAAYAAoAAAAAAAAAAAAZAAoAAAAAAAAAAAAaAAoAAAAAAAAAAAAbAAoAAAAAAAAAAAAcAAoAAAAAAAAAAAAdAAoAAAAAAAAAAAAeAAoAAAAAAAAAAAAfAAoAAAAAAAAAAAAgAAoAAAAAAAAAAAAhAAoAAAAAAAAAAAAiAAoAAAAAAAAAAAAiAAsAAAAAAAAAAAAiAAwAAAAAAAAAAAAiAA0AAAAAAAAAAAAiAA4AAAAAAAAAAAAiAA8AAAAAAAAAAAAiABAAAAAAAAAAAAAhABAAAAAAAAAAAAAhABEAAAAAAAAAAAAgABEAAAAAAAAAAAAfABEAAAAAAAAAAAAeABEAAAAAAAAAAAAdABEAAAAAAAAAAAAcABEAAAAAAAAAAAAbABEAAAAAAAAAAAAaABEAAAAAAAAAAAAZABEAAAAAAAAAAAAYABEAAAAAAAAAAAAXABEAAAAAAAAAAAAWABEAAAAAAAAAAAAVABEAAAAAAAAAAAAUABEAAAAAAAAAAAATABEAAAAAAAAAAAASABEAAAAAAAAAAAATABAAAAAAAAAAAAAUABAAAAAAAAAAAAAVABAAAAAAAAAAAAAWABAAAAAAAAAAAAAXABAAAAAAAAAAAAAYABAAAAAAAAAAAAAZABAAAAAAAAAAAAAaABAAAAAAAAAAAAAbABAAAAAAAAAAAAAcABAAAAAAAAAAAAAdABAAAAAAAAAAAAAeABAAAAAAAAAAAAAfABAAAAAAAAAAAAAgABAAAAAAAAAAAAAhAA8AAAAAAAAAAAAhAA4AAAAAAAAAAAAhAA0AAAAAAAAAAAAhAAwAAAAAAAAAAAAhAAsAAAAAAAAAAAAgAAsAAAAAAAAAAAAfAAsAAAAAAAAAAAAeAAsAAAAAAAAAAAAdAAsAAAAAAAAAAAAcAAsAAAAAAAAAAAAbAAsAAAAAAAAAAAAaAAsAAAAAAAAAAAAZAAsAAAAAAAAAAAAYAAsAAAAAAAAAAAAXAAsAAAAAAAAAAAAWAAsAAAAAAAAAAAAVAAsAAAAAAAAAAAAUAAsAAAAAAAAAAAAUAAwAAAAAAAAAAAATAAwAAAAAAAAAAAATAA0AAAAAAAAAAAATAA4AAAAAAAAAAAATAA8AAAAAAAAAAAATAAsAAAAAAAAAAAAVAAwAAAAAAAAAAAAVAA0AAAAAAAAAAAAVAA4AAAAAAAAAAAAUAA4AAAAAAAAAAAAUAA8AAAAAAAAAAAAVAA8AAAAAAAAAAAAWAA8AAAAAAAAAAAAXAA8AAAAAAAAAAAAYAA8AAAAAAAAAAAAXAA4AAAAAAAAAAAAWAA4AAAAAAAAAAAAUAA0AAAAAAAAAAAAWAA0AAAAAAAAAAAAXAA0AAAAAAAAAAAAYAA0AAAAAAAAAAAAZAA0AAAAAAAAAAAAaAA0AAAAAAAAAAAAbAA0AAAAAAAAAAAAcAA0AAAAAAAAAAAAdAA0AAAAAAAAAAAAeAA0AAAAAAAAAAAAfAA0AAAAAAAAAAAAfAAwAAAAAAAAAAAAgAAwAAAAAAAAAAAAeAAwAAAAAAAAAAAAdAAwAAAAAAAAAAAAcAAwAAAAAAAAAAAAbAAwAAAAAAAAAAAAaAAwAAAAAAAAAAAAZAAwAAAAAAAAAAAAYAAwAAAAAAAAAAAAXAAwAAAAAAAAAAAAWAAwAAAAAAAAAAAAYAA4AAAAAAAAAAAAZAA4AAAAAAAAAAAAZAA8AAAAAAAAAAAAcAA8AAAAAAAAAAAAdAA8AAAAAAAAAAAAeAA8AAAAAAAAAAAAfAA8AAAAAAAAAAAAgAA8AAAAAAAAAAAAgAA0AAAAAAAAAAAAgAA4AAAAAAAAAAAAeAA4AAAAAAAAAAAAdAA4AAAAAAAAAAAAcAA4AAAAAAAAAAAAbAA4AAAAAAAAAAAAaAA4AAAAAAAAAAAAaAA8AAAAAAAAAAAAbAA8AAAAAAAAAAAAfAA4AAAAAAAAAAAACABIAAAAAAAAAAAADABIAAAAAAAAAAAAEABIAAAAAAAAAAAAFABIAAAAAAAAAAAAGABIAAAAAAAAAAAAHABIAAAAAAAAAAAAIABIAAAAAAAAAAAAJABIAAAAAAAAAAAAKABIAAAAAAAAAAAALABIAAAAAAAAAAAAMABIAAAAAAAAAAAANABIAAAAAAAAAAAAOABIAAAAAAAAAAAAPABIAAAAAAAAAAAAQABIAAAAAAAAAAAARABIAAAAAAAAAAAASABIAAAAAAAAAAAATABIAAAAAAAAAAAAUABIAAAAAAAAAAAAVABIAAAAAAAAAAAAWABIAAAAAAAAAAAAXABIAAAAAAAAAAAAYABIAAAAAAAAAAAAZABIAAAAAAAAAAAAaABIAAAAAAAAAAAAbABIAAAAAAAAAAAAcABIAAAAAAAAAAAAdABIAAAAAAAAAAAAeABIAAAAAAAAAAAAfABIAAAAAAAAAAAAgABIAAAAAAAAAAAAhABIAAAAAAAAAAAAiABEAAAAAAAAAAAAiABIAAAAAAAAAAAAiABMAAAAAAAAAAAAiABQAAAAAAAAAAAAhABQAAAAAAAAAAAAgABQAAAAAAAAAAAAfABQAAAAAAAAAAAAeABQAAAAAAAAAAAAdABQAAAAAAAAAAAAcABQAAAAAAAAAAAAbABQAAAAAAAAAAAAaABQAAAAAAAAAAAAZABQAAAAAAAAAAAAYABQAAAAAAAAAAAAXABQAAAAAAAAAAAAWABQAAAAAAAAAAAAVABQAAAAAAAAAAAAUABQAAAAAAAAAAAATABQAAAAAAAAAAAASABQAAAAAAAAAAAARABQAAAAAAAAAAAAQABQAAAAAAAAAAAAPABQAAAAAAAAAAAAOABQAAAAAAAAAAAANABQAAAAAAAAAAAAMABQAAAAAAAAAAAALABQAAAAAAAAAAAAKABQAAAAAAAAAAAAJABQAAAAAAAAAAAAIABQAAAAAAAAAAAAHABQAAAAAAAAAAAAGABQAAAAAAAAAAAAFABQAAAAAAAAAAAAEABQAAAAAAAAAAAADABQAAAAAAAAAAAACABQAAAAAAAAAAAACABMAAAAAAAAAAAADABMAAAAAAAAAAAAEABMAAAAAAAAAAAAFABMAAAAAAAAAAAAGABMAAAAAAAAAAAAHABMAAAAAAAAAAAAIABMAAAAAAAAAAAAJABMAAAAAAAAAAAAKABMAAAAAAAAAAAALABMAAAAAAAAAAAAMABMAAAAAAAAAAAANABMAAAAAAAAAAAAOABMAAAAAAAAAAAAPABMAAAAAAAAAAAAQABMAAAAAAAAAAAARABMAAAAAAAAAAAASABMAAAAAAAAAAAAeABMAAAAAAAAAAAAfABMAAAAAAAAAAAAgABMAAAAAAAAAAAAhABMAAAAAAAAAAAAdABMAAAAAAAAAAAAcABMAAAAAAAAAAAAbABMAAAAAAAAAAAAaABMAAAAAAAAAAAAZABMAAAAAAAAAAAAYABMAAAAAAAAAAAAXABMAAAAAAAAAAAAWABMAAAAAAAAAAAAVABMAAAAAAAAAAAAUABMAAAAAAAAAAAATABMAAAAAAAAAAAACABUAAAAAAAAAAAAEABUAAAAAAAAAAAADABUAAAAAAAAAAAAFABUAAAAAAAAAAAAGABUAAAAAAAAAAAAHABUAAAAAAAAAAAAIABUAAAAAAAAAAAAJABUAAAAAAAAAAAAKABUAAAAAAAAAAAALABUAAAAAAAAAAAAMABUAAAAAAAAAAAANABUAAAAAAAAAAAAOABUAAAAAAAAAAAAPABUAAAAAAAAAAAAQABUAAAAAAAAAAAARABUAAAAAAAAAAAASABUAAAAAAAAAAAATABUAAAAAAAAAAAAUABUAAAAAAAAAAAAVABUAAAAAAAAAAAAWABUAAAAAAAAAAAAXABUAAAAAAAAAAAAYABUAAAAAAAAAAAAZABUAAAAAAAAAAAAaABUAAAAAAAAAAAAbABUAAAAAAAAAAAAcABUAAAAAAAAAAAAdABUAAAAAAAAAAAAeABUAAAAAAAAAAAAfABUAAAAAAAAAAAAgABUAAAAAAAAAAAAhABUAAAAAAAAAAAAiABUAAAAAAAAAAAAiABYAAAAAAAAAAAAhABYAAAAAAAAAAAAgABYAAAAAAAAAAAAfABYAAAAAAAAAAAAeABYAAAAAAAAAAAAdABYAAAAAAAAAAAAcABYAAAAAAAAAAAAbABYAAAAAAAAAAAAaABYAAAAAAAAAAAAZABYAAAAAAAAAAAAYABYAAAAAAAAAAAAXABYAAAAAAAAAAAAWABcAAAAAAAAAAAAVABcAAAAAAAAAAAAUABcAAAAAAAAAAAATABcAAAAAAAAAAAASABcAAAAAAAAAAAARABcAAAAAAAAAAAAQABcAAAAAAAAAAAAPABcAAAAAAAAAAAAOABcAAAAAAAAAAAANABcAAAAAAAAAAAAMABcAAAAAAAAAAAALABcAAAAAAAAAAAAKABcAAAAAAAAAAAAJABcAAAAAAAAAAAAIABcAAAAAAAAAAAAHABcAAAAAAAAAAAAGABcAAAAAAAAAAAAFABYAAAAAAAAAAAAEABYAAAAAAAAAAAADABYAAAAAAAAAAAACABYAAAAAAAAAAAACABcAAAAAAAAAAAADABcAAAAAAAAAAAAEABcAAAAAAAAAAAAFABcAAAAAAAAAAAAHABYAAAAAAAAAAAAGABYAAAAAAAAAAAAIABYAAAAAAAAAAAAJABYAAAAAAAAAAAAKABYAAAAAAAAAAAALABYAAAAAAAAAAAAMABYAAAAAAAAAAAANABYAAAAAAAAAAAAOABYAAAAAAAAAAAAPABYAAAAAAAAAAAAQABYAAAAAAAAAAAARABYAAAAAAAAAAAASABYAAAAAAAAAAAATABYAAAAAAAAAAAAUABYAAAAAAAAAAAAVABYAAAAAAAAAAAAWABYAAAAAAAAAAAAXABcAAAAAAAAAAAAYABcAAAAAAAAAAAAZABcAAAAAAAAAAAAaABcAAAAAAAAAAAAbABcAAAAAAAAAAAAcABcAAAAAAAAAAAAdABcAAAAAAAAAAAAeABcAAAAAAAAAAAAfABcAAAAAAAAAAAAgABcAAAAAAAAAAAAhABcAAAAAAAAAAAAiABcAAAAAAAAAAAAiABgAAAAAAAAAAAAhABgAAAAAAAAAAAAgABgAAAAAAAAAAAAfABgAAAAAAAAAAAAeABgAAAAAAAAAAAAdABgAAAAAAAAAAAAcABgAAAAAAAAAAAAbABgAAAAAAAAAAAAaABgAAAAAAAAAAAAZABgAAAAAAAAAAAAYABgAAAAAAAAAAAAXABgAAAAAAAAAAAAWABgAAAAAAAAAAAAVABgAAAAAAAAAAAAUABgAAAAAAAAAAAATABgAAAAAAAAAAAASABgAAAAAAAAAAAARABgAAAAAAAAAAAAQABgAAAAAAAAAAAAPABgAAAAAAAAAAAAOABgAAAAAAAAAAAANABgAAAAAAAAAAAAMABgAAAAAAAAAAAALABgAAAAAAAAAAAAKABgAAAAAAAAAAAAJABgAAAAAAAAAAAAIABgAAAAAAAAAAAAHABgAAAAAAAAAAAAGABgAAAAAAAAAAAAFABgAAAAAAAAAAAAEABgAAAAAAAAAAAADABgAAAAAAAAAAAACABgAAAAAAAAAAAABABgAAAAAAAAAAAABABkAAAAAAAAAAAACABkAAAAAAAAAAAADABkAAAAAAAAAAAAEABkAAAAAAAAAAAAFABkAAAAAAAAAAAAGABkAAAAAAAAAAAAHABkAAAAAAAAAAAAIABkAAAAAAAAAAAAJABkAAAAAAAAAAAAKABkAAAAAAAAAAAALABkAAAAAAAAAAAAMABkAAAAAAAAAAAANABkAAAAAAAAAAAAOABkAAAAAAAAAAAAPABkAAAAAAAAAAAAQABkAAAAAAAAAAAARABkAAAAAAAAAAAASABkAAAAAAAAAAAATABkAAAAAAAAAAAAUABkAAAAAAAAAAAAVABkAAAAAAAAAAAAWABkAAAAAAAAAAAAXABoAAAAAAAAAAAAYABoAAAAAAAAAAAAZABoAAAAAAAAAAAAaABoAAAAAAAAAAAAbABoAAAAAAAAAAAAcABoAAAAAAAAAAAAdABoAAAAAAAAAAAAeABoAAAAAAAAAAAAfABoAAAAAAAAAAAAgABoAAAAAAAAAAAAhABoAAAAAAAAAAAAhABkAAAAAAAAAAAAiABkAAAAAAAAAAAAgABkAAAAAAAAAAAAfABkAAAAAAAAAAAAeABkAAAAAAAAAAAAdABkAAAAAAAAAAAAcABkAAAAAAAAAAAAbABkAAAAAAAAAAAAaABkAAAAAAAAAAAAZABkAAAAAAAAAAAAYABkAAAAAAAAAAAAXABkAAAAAAAAAAAAWABoAAAAAAAAAAAAVABoAAAAAAAAAAAAUABoAAAAAAAAAAAATABoAAAAAAAAAAAASABoAAAAAAAAAAAARABoAAAAAAAAAAAAQABoAAAAAAAAAAAAPABoAAAAAAAAAAAAOABoAAAAAAAAAAAANABoAAAAAAAAAAAAMABoAAAAAAAAAAAALABoAAAAAAAAAAAAKABoAAAAAAAAAAAAJABoAAAAAAAAAAAAIABoAAAAAAAAAAAAHABoAAAAAAAAAAAAGABoAAAAAAAAAAAAFABoAAAAAAAAAAAAEABoAAAAAAAAAAAADABoAAAAAAAAAAAACABoAAAAAAAAAAAABABoAAAAAAAAAAAABAAEAAAAAAAAAAAABAAIAAAAAAAAAAAABAAMAAAAAAAAAAAABAAQAAAAAAAAAAAABAAUAAAAAAAAAAAABAAYAAAAAAAAAAAABAAcAAAAAAAAAAAABAAgAAAAAAAAAAAABAAkAAAAAAAAAAAABAAoAAAAAAAAAAAABAAsAAAAAAAAAAAABAAwAAAAAAAAAAAABAA0AAAAAAAAAAAABAA4AAAAAAAAAAAABAA8AAAAAAAAAAAABABAAAAAAAAAAAAABABEAAAAAAAAAAAABABIAAAAAAAAAAAABABMAAAAAAAAAAAABABQAAAAAAAAAAAABABUAAAAAAAAAAAABABYAAAAAAAAAAAABABcAAAAAAAAAAAABAPv/AAAAAAAAAAABAPz/AAAAAAAAAAABAP3/AAAAAAAAAAABAP7/AAAAAAAAAAABAP//AAAAAAAAAAABAAAAAAAAAAAAAAACAPv/AAAAAAAAAAACAPz/AAAAAAAAAAACAP3/AAAAAAAAAAACAP7/AAAAAAAAAAACAP//AAAAAAAAAAACAAAAAAAAAAAAAAADAPv/AAAAAAAAAAADAPz/AAAAAAAAAAADAP3/AAAAAAAAAAADAP7/AAAAAAAAAAADAP//AAAAAAAAAAADAAAAAAAAAAAAAAAEAPv/AAAAAAAAAAAEAPz/AAAAAAAAAAAEAP3/AAAAAAAAAAAEAP7/AAAAAAAAAAAEAP//AAAAAAAAAAAEAAAAAAAAAAAAAAAFAPv/AAAAAAAAAAAFAPz/AAAAAAAAAAAFAP3/AAAAAAAAAAAFAP7/AAAAAAAAAAAFAP//AAAAAAAAAAAFAAAAAAAAAAAAAAAGAPv/AAAAAAAAAAAGAPz/AAAAAAAAAAAGAP3/AAAAAAAAAAAGAP7/AAAAAAAAAAAGAP//AAAAAAAAAAAGAAAAAAAAAAAAAAAHAPv/AAAAAAAAAAAHAPz/AAAAAAAAAAAHAP3/AAAAAAAAAAAHAP7/AAAAAAAAAAAHAP//AAAAAAAAAAAHAAAAAAAAAAAAAAAIAPv/AAAAAAAAAAAIAPz/AAAAAAAAAAAIAP3/AAAAAAAAAAAIAP7/AAAAAAAAAAAIAP//AAAAAAAAAAAIAAAAAAAAAAAAAAAJAPv/AAAAAAAAAAAJAPz/AAAAAAAAAAAJAP3/AAAAAAAAAAAJAP7/AAAAAAAAAAAJAP//AAAAAAAAAAAJAAAAAAAAAAAAAAAKAPv/AAAAAAAAAAAKAPz/AAAAAAAAAAAKAP3/AAAAAAAAAAAKAP7/AAAAAAAAAAAKAP//AAAAAAAAAAAKAAAAAAAAAAAAAAALAPv/AAAAAAAAAAALAPz/AAAAAAAAAAALAP3/AAAAAAAAAAALAP7/AAAAAAAAAAALAP//AAAAAAAAAAALAAAAAAAAAAAAAAAMAPv/AAAAAAAAAAAMAPz/AAAAAAAAAAAMAP3/AAAAAAAAAAAMAP7/AAAAAAAAAAAMAP//AAAAAAAAAAAMAAAAAAAAAAAAAAANAPv/AAAAAAAAAAANAPz/AAAAAAAAAAANAP3/AAAAAAAAAAANAP7/AAAAAAAAAAANAP//AAAAAAAAAAANAAAAAAAAAAAAAAAOAPv/AAAAAAAAAAAOAPz/AAAAAAAAAAAOAP3/AAAAAAAAAAAOAP7/AAAAAAAAAAAOAP//AAAAAAAAAAAOAAAAAAAAAAAAAAAPAPv/AAAAAAAAAAAPAPz/AAAAAAAAAAAPAP3/AAAAAAAAAAAPAP7/AAAAAAAAAAAPAP//AAAAAAAAAAAPAAAAAAAAAAAAAAAQAPv/AAAAAAAAAAAQAPz/AAAAAAAAAAAQAP3/AAAAAAAAAAAQAP7/AAAAAAAAAAAQAP//AAAAAAAAAAAQAAAAAAAAAAAAAAARAPv/AAAAAAAAAAARAPz/AAAAAAAAAAARAP3/AAAAAAAAAAARAP7/AAAAAAAAAAARAP//AAAAAAAAAAARAAAAAAAAAAAAAAASAPv/AAAAAAAAAAASAPz/AAAAAAAAAAASAP3/AAAAAAAAAAASAP7/AAAAAAAAAAASAP//AAAAAAAAAAASAAAAAAAAAAAAAAATAPv/AAAAAAAAAAATAPz/AAAAAAAAAAATAP3/AAAAAAAAAAATAP7/AAAAAAAAAAATAP//AAAAAAAAAAATAAAAAAAAAAAAAAAUAPv/AAAAAAAAAAAUAPz/AAAAAAAAAAAUAP3/AAAAAAAAAAAUAP7/AAAAAAAAAAAUAP//AAAAAAAAAAAUAAAAAAAAAAAAAAAVAPv/AAAAAAAAAAAVAPz/AAAAAAAAAAAVAP3/AAAAAAAAAAAVAP7/AAAAAAAAAAAVAP//AAAAAAAAAAAVAAAAAAAAAAAAAAAWAPv/AAAAAAAAAAAWAPz/AAAAAAAAAAAWAP3/AAAAAAAAAAAWAP7/AAAAAAAAAAAWAP//AAAAAAAAAAAWAAAAAAAAAAAAAAAXAPv/AAAAAAAAAAAXAPz/AAAAAAAAAAAXAP3/AAAAAAAAAAAXAP7/AAAAAAAAAAAXAP//AAAAAAAAAAAXAAAAAAAAAAAAAAAYAPv/AAAAAAAAAAAYAPz/AAAAAAAAAAAYAP3/AAAAAAAAAAAYAP7/AAAAAAAAAAAYAP//AAAAAAAAAAAYAAAAAAAAAAAAAAAZAPv/AAAAAAAAAAAZAPz/AAAAAAAAAAAZAP3/AAAAAAAAAAAZAP7/AAAAAAAAAAAZAP//AAAAAAAAAAAZAAAAAAAAAAAAAAAaAPv/AAAAAAAAAAAaAPz/AAAAAAAAAAAaAP3/AAAAAAAAAAAaAP7/AAAAAAAAAAAaAP//AAAAAAAAAAAaAAAAAAAAAAAAAAAbAPv/AAAAAAAAAAAbAPz/AAAAAAAAAAAbAP3/AAAAAAAAAAAbAP7/AAAAAAAAAAAbAP//AAAAAAAAAAAbAAAAAAAAAAAAAAAcAPv/AAAAAAAAAAAcAPz/AAAAAAAAAAAcAP3/AAAAAAAAAAAcAP7/AAAAAAAAAAAcAP//AAAAAAAAAAAcAAAAAAAAAAAAAAAdAPv/AAAAAAAAAAAdAPz/AAAAAAAAAAAdAP3/AAAAAAAAAAAdAP7/AAAAAAAAAAAdAP//AAAAAAAAAAAdAAAAAAAAAAAAAAAeAPv/AAAAAAAAAAAeAPz/AAAAAAAAAAAeAP3/AAAAAAAAAAAeAP7/AAAAAAAAAAAeAP//AAAAAAAAAAAeAAAAAAAAAAAAAAAfAPv/AAAAAAAAAAAfAPz/AAAAAAAAAAAfAP3/AAAAAAAAAAAfAP7/AAAAAAAAAAAfAP//AAAAAAAAAAAfAAAAAAAAAAAAAAAgAPv/AAAAAAAAAAAgAPz/AAAAAAAAAAAgAP3/AAAAAAAAAAAgAP7/AAAAAAAAAAAgAP//AAAAAAAAAAAgAAAAAAAAAAAAAAAhAPv/AAAAAAAAAAAhAPz/AAAAAAAAAAAhAP3/AAAAAAAAAAAhAP7/AAAAAAAAAAAhAP//AAAAAAAAAAAhAAAAAAAAAAAAAAAiAPv/AAAAAAAAAAAiAPz/AAAAAAAAAAAiAP3/AAAAAAAAAAAiAP7/AAAAAAAAAAAiAP//AAAAAAAAAAAiAAAAAAAAAAAAAAA=") tile_set = ExtResource("1_elkht") [node name="Foam" type="TileMapLayer" parent="TileMapLayers" unique_id=170161388] @@ -76,6 +80,7 @@ player_name = "StoryWeaver" sprite_frames = ExtResource("13_ag7vv") [node name="Camera2D" type="Camera2D" parent="OnTheGround/Player" unique_id=2102827971] +limit_enabled = false limit_left = 128 limit_top = -128 limit_right = 2240 @@ -85,7 +90,17 @@ editor_draw_limits = true [node name="CollectibleItem" parent="OnTheGround" unique_id=327991066 instance=ExtResource("12_q0isu")] position = Vector2(1945, 338) item = ExtResource("15_ag7vv") -target = 1 + +[node name="CollectibleItem2" parent="OnTheGround" unique_id=1201603811 instance=ExtResource("12_q0isu")] +position = Vector2(1324, -259) +item = ExtResource("16_y5fl1") + +[node name="CollectibleItem3" parent="OnTheGround" unique_id=1793952499 instance=ExtResource("12_q0isu")] +position = Vector2(1325, 801) +item = ExtResource("17_gejpg") + +[node name="Guard" parent="OnTheGround" unique_id=689832587 instance=ExtResource("18_q603x")] +position = Vector2(2063, -301) [node name="InTheWater" type="Node2D" parent="." unique_id=2028481663] z_index = -1 @@ -93,3 +108,9 @@ y_sort_enabled = true [node name="WaterRock" parent="InTheWater" unique_id=200189883 instance=ExtResource("14_brig6")] position = Vector2(234, 607) + +[node name="StealthGameLogic" type="Node" parent="." unique_id=1141831210] +script = ExtResource("20_gejpg") +metadata/_custom_type_script = "uid://dnp0tjloec2d7" + +[node name="HUD" parent="." unique_id=1426591993 instance=ExtResource("21_q603x")] diff --git a/scenes/quests/lore_quests/quest_004/quest.tres b/scenes/quests/lore_quests/quest_004/quest.tres index 2ce82779bd..9027ddbeb6 100644 --- a/scenes/quests/lore_quests/quest_004/quest.tres +++ b/scenes/quests/lore_quests/quest_004/quest.tres @@ -6,5 +6,4 @@ script = ExtResource("1_rp1q0") title = "Mythical Meadows" first_scene = "uid://bsptn2yxyv22" -threads_to_collect = 1 metadata/_custom_type_script = "uid://dts1hwdy3phin" From 200e886e534b1632298fc6a279792d157a7da484 Mon Sep 17 00:00:00 2001 From: Will Thompson Date: Tue, 14 Jul 2026 15:47:22 +0100 Subject: [PATCH 4/7] WIP: Record where items were collected --- .../collectible_item/collectible_item.tscn | 7 ++++ .../components/collectible_item.gd | 8 +++- .../components/collectible_item.gdshader | 17 ++++++++ .../components/collectible_item.gdshader.uid | 1 + .../eternal_loom/components/eternal_loom.gd | 6 +-- scenes/globals/game_state/global_state.gd | 2 + .../game_state/inventory/collected_item.gd | 26 +++++++++++++ .../inventory/collected_item.gd.uid | 1 + scenes/globals/game_state/inventory_state.gd | 39 +++++++++++++++---- .../quest_004/mythical_meadows.tscn | 17 ++++---- .../components/story_quest_progress.gd | 2 +- 11 files changed, 105 insertions(+), 21 deletions(-) create mode 100644 scenes/game_elements/props/collectible_item/components/collectible_item.gdshader create mode 100644 scenes/game_elements/props/collectible_item/components/collectible_item.gdshader.uid create mode 100644 scenes/globals/game_state/inventory/collected_item.gd create mode 100644 scenes/globals/game_state/inventory/collected_item.gd.uid diff --git a/scenes/game_elements/props/collectible_item/collectible_item.tscn b/scenes/game_elements/props/collectible_item/collectible_item.tscn index b9aece7947..f40bfa111b 100644 --- a/scenes/game_elements/props/collectible_item/collectible_item.tscn +++ b/scenes/game_elements/props/collectible_item/collectible_item.tscn @@ -2,6 +2,7 @@ [ext_resource type="Script" uid="uid://be7lr8ty24cix" path="res://scenes/game_elements/props/collectible_item/components/collectible_item.gd" id="1_7ff3m"] [ext_resource type="Script" uid="uid://du8wfijr35r35" path="res://scenes/game_elements/props/interact_area/interact_area.gd" id="2_1kegn"] +[ext_resource type="Shader" uid="uid://cj250ayvmpwf3" path="res://scenes/game_elements/props/collectible_item/components/collectible_item.gdshader" id="4_hhgm5"] [ext_resource type="AudioStream" uid="uid://bhgpds38q0j4r" path="res://assets/third_party/sounds/collectibles/MemoryCollectable.ogg" id="5_hhgm5"] [ext_resource type="AudioStream" uid="uid://38xwdjm46478" path="res://assets/third_party/sounds/collectibles/CollectibleAppear.ogg" id="5_oh62b"] @@ -294,6 +295,11 @@ _data = { &"reveal": SubResource("Animation_qy0vu") } +[sub_resource type="ShaderMaterial" id="ShaderMaterial_md2w2"] +resource_local_to_scene = true +shader = ExtResource("4_hhgm5") +shader_parameter/intensity = 0.0 + [sub_resource type="CapsuleShape2D" id="CapsuleShape2D_hhgm5"] radius = 9.0 height = 28.0 @@ -322,6 +328,7 @@ libraries/ = SubResource("AnimationLibrary_8dm1m") [node name="Sprite2D" type="Sprite2D" parent="." unique_id=1620327010] visible = false modulate = Color(1, 1, 1, 0) +material = SubResource("ShaderMaterial_md2w2") [node name="CollectedSound" type="AudioStreamPlayer" parent="." unique_id=420528907] unique_name_in_owner = true diff --git a/scenes/game_elements/props/collectible_item/components/collectible_item.gd b/scenes/game_elements/props/collectible_item/components/collectible_item.gd index 76583394e7..9e1567d12c 100644 --- a/scenes/game_elements/props/collectible_item/components/collectible_item.gd +++ b/scenes/game_elements/props/collectible_item/components/collectible_item.gd @@ -66,6 +66,12 @@ func _set_item(new_value: InventoryItem) -> void: if sprite_2d: sprite_2d.texture = item.world_texture if item else null + if not Engine.is_editor_hint(): + var previously_collected := GameState.quest.inventory.has(item, self) + # TODO: effect is ugly + (sprite_2d.material as ShaderMaterial).set_shader_parameter( + "intensity", 0.25 if previously_collected else 0.0 + ) if interact_area: interact_area.action = "Collect " + item.type_name() if item else "Collect" @@ -111,7 +117,7 @@ func _on_interacted(player: Player, _from_right: bool) -> void: animation_player.play("collected") await animation_player.animation_finished - GameState.quest.inventory.add_collected_item(item) + GameState.quest.inventory.add_collected_item(item, self) if collected_dialogue: DialogueManager.show_dialogue_balloon(collected_dialogue, dialogue_title, [self, player]) diff --git a/scenes/game_elements/props/collectible_item/components/collectible_item.gdshader b/scenes/game_elements/props/collectible_item/components/collectible_item.gdshader new file mode 100644 index 0000000000..c557289174 --- /dev/null +++ b/scenes/game_elements/props/collectible_item/components/collectible_item.gdshader @@ -0,0 +1,17 @@ +// Copyright 2024 KingToot +// SPDX-License-Identifier: CC0-1.0 +// https://godotshaders.com/shader/dithering-screen-door-transparency/ +shader_type canvas_item; + +uniform float intensity: hint_range(0.0, 1.0, 0.05) = 0.0; + +const mat4 THRESHOLD_MATRIX = mat4( + vec4(1.0 / 17.0, 9.0 / 17.0, 3.0 / 17.0, 11.0 / 17.0), + vec4(13.0 / 17.0, 5.0 / 17.0, 15.0 / 17.0, 7.0 / 17.0), + vec4(4.0 / 17.0, 12.0 / 17.0, 2.0 / 17.0, 10.0 / 17.0), + vec4(16.0 / 17.0, 8.0 / 17.0, 14.0 / 17.0, 6.0 / 17.0)); + +void fragment() { + vec2 uv = UV / TEXTURE_PIXEL_SIZE; + COLOR.a *= step(0.0, THRESHOLD_MATRIX[int(uv.x) % 4][int(uv.y) % 4] - intensity); +} diff --git a/scenes/game_elements/props/collectible_item/components/collectible_item.gdshader.uid b/scenes/game_elements/props/collectible_item/components/collectible_item.gdshader.uid new file mode 100644 index 0000000000..7a12241974 --- /dev/null +++ b/scenes/game_elements/props/collectible_item/components/collectible_item.gdshader.uid @@ -0,0 +1 @@ +uid://cj250ayvmpwf3 diff --git a/scenes/game_elements/props/eternal_loom/components/eternal_loom.gd b/scenes/game_elements/props/eternal_loom/components/eternal_loom.gd index b263e7900f..1c27ad0450 100644 --- a/scenes/game_elements/props/eternal_loom/components/eternal_loom.gd +++ b/scenes/game_elements/props/eternal_loom/components/eternal_loom.gd @@ -38,8 +38,8 @@ func show_retelling_dialogue() -> void: func _has_magical_thread_of_type(type: InventoryItem.ItemType) -> bool: - for item: InventoryItem in GameState.quest.inventory.items: - if item.type == type: + for ci: CollectedItem in GameState.quest.inventory.items: + if ci.item.type == type: return true return false @@ -81,7 +81,7 @@ func on_offering_succeeded() -> void: loom_offering_animation_player.play(&"loom_offering") await loom_offering_animation_player.animation_finished - GameState.quest.inventory.clear_inventory() + GameState.global.inventory.merge(GameState.quest.inventory) play_cinematic.emit() diff --git a/scenes/globals/game_state/global_state.gd b/scenes/globals/game_state/global_state.gd index bc08101cdf..0a585a78e4 100644 --- a/scenes/globals/game_state/global_state.gd +++ b/scenes/globals/game_state/global_state.gd @@ -45,6 +45,8 @@ signal helper_changed @export var helper: HelperCharacterState +@export var inventory: InventoryState = InventoryState.new() + ## Quests that were started & abandoned without being completed, keyed by ## [member Resource.resource_path] of each [Quest]. ## Captures the [QuestState] and [PerSceneState] at point, so that the player diff --git a/scenes/globals/game_state/inventory/collected_item.gd b/scenes/globals/game_state/inventory/collected_item.gd new file mode 100644 index 0000000000..67b1183146 --- /dev/null +++ b/scenes/globals/game_state/inventory/collected_item.gd @@ -0,0 +1,26 @@ +# SPDX-FileCopyrightText: The Threadbare Authors +# SPDX-License-Identifier: MPL-2.0 +class_name CollectedItem +extends Resource + +@export var item: InventoryItem +@export var source_scene: String +@export var source_node: NodePath + + +static func make(an_item: InventoryItem, a_source_node: Node = null) -> CollectedItem: + var ci := new() + ci.item = an_item + var current_scene := (Engine.get_main_loop() as SceneTree).current_scene + ci.source_scene = current_scene.scene_file_path + if a_source_node: + ci.source_node = current_scene.get_path_to(a_source_node) + return ci + + +func matches(that: CollectedItem) -> bool: + return ( + self.item == that.item + and self.source_scene == that.source_scene + and self.source_node == that.source_node + ) diff --git a/scenes/globals/game_state/inventory/collected_item.gd.uid b/scenes/globals/game_state/inventory/collected_item.gd.uid new file mode 100644 index 0000000000..8003d1ee50 --- /dev/null +++ b/scenes/globals/game_state/inventory/collected_item.gd.uid @@ -0,0 +1 @@ +uid://cvmcbvc6skodh diff --git a/scenes/globals/game_state/inventory_state.gd b/scenes/globals/game_state/inventory_state.gd index ec7899afe8..f7d835d972 100644 --- a/scenes/globals/game_state/inventory_state.gd +++ b/scenes/globals/game_state/inventory_state.gd @@ -13,19 +13,44 @@ signal item_consumed(item: InventoryItem) ## Collected threads. Modify with [member add_collected_item] and ## [member clear_inventory]. -@export var items: Array[InventoryItem] +@export var items: Array[CollectedItem] + + +## Move all items from [param other] to this inventory. +func merge(other: InventoryState) -> void: + for ci: CollectedItem in other.items: + _add(ci) + other.clear_inventory() + + +## Returns true if the inventory contains [param item], +## collected in the current scene, +## specifically from node [param source_node] (if provided). +func has(item: InventoryItem, source_node: Node = null) -> bool: + return _has(CollectedItem.make(item, source_node)) ## Add the [InventoryItem] to [member items]. -func add_collected_item(item: InventoryItem) -> void: - items.append(item) - item_collected.emit(item) +func add_collected_item(item: InventoryItem, source_node: Node = null) -> void: + _add(CollectedItem.make(item, source_node)) + + +func _has(ci: CollectedItem) -> bool: + return items.find_custom(ci.matches) >= 0 + + +func _add(ci: CollectedItem) -> void: + if _has(ci): + return + + items.append(ci) + item_collected.emit(ci.item) emit_changed() ## Remove all [InventoryItem]s from [member items]. func clear_inventory() -> void: - for item: InventoryItem in items.duplicate(): - items.erase(item) - item_consumed.emit(item) + for ci: CollectedItem in items.duplicate(): + items.erase(ci) + item_consumed.emit(ci.item) emit_changed() diff --git a/scenes/quests/lore_quests/quest_004/mythical_meadows.tscn b/scenes/quests/lore_quests/quest_004/mythical_meadows.tscn index 9a21fbbbb5..dea6138fc4 100644 --- a/scenes/quests/lore_quests/quest_004/mythical_meadows.tscn +++ b/scenes/quests/lore_quests/quest_004/mythical_meadows.tscn @@ -17,7 +17,6 @@ [ext_resource type="PackedScene" uid="uid://dv4f232y8w8dv" path="res://scenes/game_elements/props/decoration/water_rock/water_rock.tscn" id="14_brig6"] [ext_resource type="Resource" uid="uid://c44l6x4e7sfx3" path="res://scenes/globals/game_state/inventory/spirit.tres" id="15_ag7vv"] [ext_resource type="Resource" uid="uid://cchnv5pn6fa8e" path="res://scenes/globals/game_state/inventory/imagination.tres" id="16_y5fl1"] -[ext_resource type="Resource" uid="uid://ck0wbckgm5un8" path="res://scenes/globals/game_state/inventory/memory.tres" id="17_gejpg"] [ext_resource type="PackedScene" uid="uid://d37mebu7atru7" path="res://scenes/game_elements/characters/enemies/guard/guard.tscn" id="18_q603x"] [ext_resource type="Script" uid="uid://dnp0tjloec2d7" path="res://scenes/game_logic/stealth_game_logic.gd" id="20_gejpg"] [ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="21_q603x"] @@ -88,19 +87,19 @@ limit_bottom = 848 editor_draw_limits = true [node name="CollectibleItem" parent="OnTheGround" unique_id=327991066 instance=ExtResource("12_q0isu")] -position = Vector2(1945, 338) +position = Vector2(965, 365) item = ExtResource("15_ag7vv") -[node name="CollectibleItem2" parent="OnTheGround" unique_id=1201603811 instance=ExtResource("12_q0isu")] -position = Vector2(1324, -259) -item = ExtResource("16_y5fl1") +[node name="CollectibleItem2" parent="OnTheGround" unique_id=1756805605 instance=ExtResource("12_q0isu")] +position = Vector2(969, 450) +item = ExtResource("15_ag7vv") -[node name="CollectibleItem3" parent="OnTheGround" unique_id=1793952499 instance=ExtResource("12_q0isu")] -position = Vector2(1325, 801) -item = ExtResource("17_gejpg") +[node name="CollectibleItem3" parent="OnTheGround" unique_id=2082928407 instance=ExtResource("12_q0isu")] +position = Vector2(878, 263) +item = ExtResource("16_y5fl1") [node name="Guard" parent="OnTheGround" unique_id=689832587 instance=ExtResource("18_q603x")] -position = Vector2(2063, -301) +position = Vector2(1088, 229) [node name="InTheWater" type="Node2D" parent="." unique_id=2028481663] z_index = -1 diff --git a/scenes/ui_elements/story_quest_progress/components/story_quest_progress.gd b/scenes/ui_elements/story_quest_progress/components/story_quest_progress.gd index 6c3b50146f..ac9345b3ba 100644 --- a/scenes/ui_elements/story_quest_progress/components/story_quest_progress.gd +++ b/scenes/ui_elements/story_quest_progress/components/story_quest_progress.gd @@ -31,7 +31,7 @@ func _ready() -> void: # far in the quest. var items_collected := GameState.quest.inventory.items for i: int in min(items_collected.size(), n): - items_container.get_child(i).start_as_filled(items_collected[i]) + items_container.get_child(i).start_as_filled(items_collected[i].item) # Then, when each new item is collected, it is added to the progress UI GameState.quest.inventory.item_collected.connect(self._on_item_collected) From 7b2236062be6118062fa4f0386694a21b54ef848 Mon Sep 17 00:00:00 2001 From: Will Thompson Date: Tue, 11 Aug 2026 13:59:26 +0100 Subject: [PATCH 5/7] CollectibleItem: Move to "walls" physics layer They are not really walls, but they are certainly not "players", the default collision_ --- .../game_elements/props/collectible_item/collectible_item.tscn | 1 + 1 file changed, 1 insertion(+) diff --git a/scenes/game_elements/props/collectible_item/collectible_item.tscn b/scenes/game_elements/props/collectible_item/collectible_item.tscn index f40bfa111b..fd8c8fdf78 100644 --- a/scenes/game_elements/props/collectible_item/collectible_item.tscn +++ b/scenes/game_elements/props/collectible_item/collectible_item.tscn @@ -340,6 +340,7 @@ stream = ExtResource("5_oh62b") bus = &"SFX" [node name="StaticBody2D" type="StaticBody2D" parent="." unique_id=9475262] +collision_layer = 16 collision_mask = 0 [node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D" unique_id=1204681631] From 72f6e2002a739de33271dbfdbb9fb8a053e9f992 Mon Sep 17 00:00:00 2001 From: Will Thompson Date: Tue, 11 Aug 2026 15:33:45 +0100 Subject: [PATCH 6/7] wip --- .../optional_threads.dialogue | 10 + .../optional_threads.dialogue.import | 16 ++ .../optional_threads/optional_threads.tscn | 235 ++++++++++++++++++ .../level_design/optional_threads/quest.tres | 10 + 4 files changed, 271 insertions(+) create mode 100644 scenes/dev/level_design/optional_threads/optional_threads.dialogue create mode 100644 scenes/dev/level_design/optional_threads/optional_threads.dialogue.import create mode 100644 scenes/dev/level_design/optional_threads/optional_threads.tscn create mode 100644 scenes/dev/level_design/optional_threads/quest.tres diff --git a/scenes/dev/level_design/optional_threads/optional_threads.dialogue b/scenes/dev/level_design/optional_threads/optional_threads.dialogue new file mode 100644 index 0000000000..5d5426772f --- /dev/null +++ b/scenes/dev/level_design/optional_threads/optional_threads.dialogue @@ -0,0 +1,10 @@ +# SPDX-FileCopyrightText: The Threadbare Authors +# SPDX-License-Identifier: MPL-2.0 +~ start +Ulysses Thriftweed: If you go East, you can get out of here. +Ulysses Thriftweed: If you go through the cave up North, there's another thread you can collect first, if you're feeling brave. +=> END + +~ wow +Ulysses Thriftweed: Wow, {{player_name}}, you're so stealthy! +=> END diff --git a/scenes/dev/level_design/optional_threads/optional_threads.dialogue.import b/scenes/dev/level_design/optional_threads/optional_threads.dialogue.import new file mode 100644 index 0000000000..ef43f99c3f --- /dev/null +++ b/scenes/dev/level_design/optional_threads/optional_threads.dialogue.import @@ -0,0 +1,16 @@ +[remap] + +importer="dialogue_manager" +importer_version=15 +type="Resource" +uid="uid://b1ywwu7aese02" +path="res://.godot/imported/optional_threads.dialogue-f583759440f80634b369fea5863492be.tres" + +[deps] + +source_file="res://scenes/dev/level_design/optional_threads/optional_threads.dialogue" +dest_files=["res://.godot/imported/optional_threads.dialogue-f583759440f80634b369fea5863492be.tres"] + +[params] + +defaults=true diff --git a/scenes/dev/level_design/optional_threads/optional_threads.tscn b/scenes/dev/level_design/optional_threads/optional_threads.tscn new file mode 100644 index 0000000000..284dcdd2e2 --- /dev/null +++ b/scenes/dev/level_design/optional_threads/optional_threads.tscn @@ -0,0 +1,235 @@ +[gd_scene format=4 uid="uid://cplmo457h47p8"] + +[ext_resource type="TileSet" uid="uid://oynx002hv8tl" path="res://tiles/water.tres" id="2_dhrfw"] +[ext_resource type="TileSet" uid="uid://bjx3gvah0ycl1" path="res://tiles/foam_2.tres" id="3_8uyjj"] +[ext_resource type="TileSet" uid="uid://b8qnr0owsbhhn" path="res://tiles/exterior_floors.tres" id="4_4c3u0"] +[ext_resource type="TileSet" uid="uid://bdc7ucso7bx0s" path="res://tiles/shadows.tres" id="4_pppnl"] +[ext_resource type="TileSet" uid="uid://b778cuoftt88r" path="res://tiles/elevation_2.tres" id="5_vs7wd"] +[ext_resource type="Script" uid="uid://du8wfijr35r35" path="res://scenes/game_elements/props/interact_area/interact_area.gd" id="6_6kkli"] +[ext_resource type="PackedScene" uid="uid://iu2q66clupc6" path="res://scenes/game_elements/characters/player/player.tscn" id="7_a3wsq"] +[ext_resource type="PackedScene" uid="uid://fuhl3l6gxq5k" path="res://scenes/game_elements/props/collectible_item/collectible_item.tscn" id="7_r84jh"] +[ext_resource type="SpriteFrames" uid="uid://dtoylirwywk0j" path="res://scenes/game_elements/characters/components/sprite_frames/storyweaver_blue.tres" id="8_f3fhx"] +[ext_resource type="Resource" uid="uid://ck0wbckgm5un8" path="res://scenes/globals/game_state/inventory/memory.tres" id="8_me0l1"] +[ext_resource type="Resource" uid="uid://c44l6x4e7sfx3" path="res://scenes/globals/game_state/inventory/spirit.tres" id="9_vii7y"] +[ext_resource type="PackedScene" uid="uid://dgrrudegturnw" path="res://scenes/game_elements/characters/npcs/townie.tscn" id="10_fvfn2"] +[ext_resource type="PackedScene" uid="uid://d37mebu7atru7" path="res://scenes/game_elements/characters/enemies/guard/guard.tscn" id="11_8y2ta"] +[ext_resource type="Script" uid="uid://edcifob4jc4s" path="res://scenes/game_logic/talk_behavior.gd" id="11_fvfn2"] +[ext_resource type="Resource" uid="uid://b1ywwu7aese02" path="res://scenes/dev/level_design/optional_threads/optional_threads.dialogue" id="12_8y2ta"] +[ext_resource type="SpriteFrames" uid="uid://d1k25io0tiiij" path="res://scenes/game_elements/characters/enemies/guard/components/storyvoretorch_frames_blue.tres" id="12_pppnl"] +[ext_resource type="AudioStream" uid="uid://dgpeb1dtmfqud" path="res://assets/third_party/sounds/characters/enemies/guard/AlertSound.ogg" id="13_vs7wd"] +[ext_resource type="AudioStream" uid="uid://4ec6e2alns71" path="res://assets/third_party/sounds/characters/enemies/guard/GrassFoot.ogg" id="14_72lml"] +[ext_resource type="AudioStream" uid="uid://c7om8kdork2rx" path="res://assets/third_party/sounds/characters/enemies/guard/Torch.ogg" id="15_l2eis"] +[ext_resource type="AudioStream" uid="uid://bwif2oo6ymiu2" path="res://assets/third_party/sounds/characters/enemies/guard/TorchHit.ogg" id="16_mxlxh"] +[ext_resource type="Script" uid="uid://dnp0tjloec2d7" path="res://scenes/game_logic/stealth_game_logic.gd" id="19_pppnl"] +[ext_resource type="SpriteFrames" uid="uid://tchths61dylv" path="res://scenes/game_elements/characters/enemies/guard/components/storyvoretorch_frames_green.tres" id="21_vs7wd"] +[ext_resource type="PackedScene" uid="uid://dua6mynlw2ptw" path="res://scenes/game_elements/props/checkpoint/checkpoint.tscn" id="22_l2eis"] +[ext_resource type="PackedScene" uid="uid://cfcgrfvtn04yp" path="res://scenes/ui_elements/hud/hud.tscn" id="23_72lml"] +[ext_resource type="SpriteFrames" uid="uid://3elulifvmamm" path="res://scenes/game_elements/props/checkpoint/components/knitwitch_frames_blue.tres" id="23_mxlxh"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_vs7wd"] +size = Vector2(52, 61) + +[sub_resource type="Curve2D" id="Curve2D_gyr7v"] +_data = { +"points": PackedVector2Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, 256, 384, 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, 0, 0) +} +point_count = 5 + +[sub_resource type="Curve2D" id="Curve2D_72lml"] +_data = { +"points": PackedVector2Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, 256, 384, 0, 0, 0, 0, 0, 384, 0, 0, 0, 0, 0, 0) +} +point_count = 5 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_s5hwq"] +size = Vector2(192, 192) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_me0l1"] +size = Vector2(1358, 654) + +[sub_resource type="Animation" id="Animation_ixkep"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("CanvasModulate:color") +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_r84jh"] +resource_name = "darken" +length = 0.5 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("CanvasModulate:color") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.5), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 1), Color(0.48, 0.48, 0.48, 1)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_me0l1"] +_data = { +&"RESET": SubResource("Animation_ixkep"), +&"darken": SubResource("Animation_r84jh") +} + +[node name="OptionalThreadsTest" type="Node2D" unique_id=60120374] + +[node name="TileMapLayers" type="Node2D" parent="." unique_id=1892145315] + +[node name="Water" type="TileMapLayer" parent="TileMapLayers" unique_id=568547056] +tile_map_data = PackedByteArray("AAAEAPf/AAAAAAAAAAAEAPj/AAAAAAAAAAAEAPn/AAAAAAAAAAAEAPr/AAAAAAAAAAAEAPv/AAAAAAAAAAAEAPz/AAAAAAAAAAAEAP3/AAAAAAAAAAAEAP7/AAAAAAAAAAAEAP//AAAAAAAAAAAEAAAAAAAAAAAAAAAEAAEAAAAAAAAAAAAEAAIAAAAAAAAAAAAEAAMAAAAAAAAAAAAEAAQAAAAAAAAAAAAEAAUAAAAAAAAAAAAEAAYAAAAAAAAAAAAEAAcAAAAAAAAAAAAEAAgAAAAAAAAAAAAEAAkAAAAAAAAAAAAEAAoAAAAAAAAAAAAEAAsAAAAAAAAAAAAEAAwAAAAAAAAAAAAEAA0AAAAAAAAAAAAEAA4AAAAAAAAAAAAEAA8AAAAAAAAAAAAFAPf/AAAAAAAAAAAFAPj/AAAAAAAAAAAFAPn/AAAAAAAAAAAFAPr/AAAAAAAAAAAFAPv/AAAAAAAAAAAFAPz/AAAAAAAAAAAFAP3/AAAAAAAAAAAFAP7/AAAAAAAAAAAFAP//AAAAAAAAAAAFAAAAAAAAAAAAAAAFAAEAAAAAAAAAAAAFAAIAAAAAAAAAAAAFAAMAAAAAAAAAAAAFAAQAAAAAAAAAAAAFAAUAAAAAAAAAAAAFAAYAAAAAAAAAAAAFAAcAAAAAAAAAAAAFAAgAAAAAAAAAAAAFAAkAAAAAAAAAAAAFAAoAAAAAAAAAAAAFAAsAAAAAAAAAAAAFAAwAAAAAAAAAAAAFAA0AAAAAAAAAAAAFAA4AAAAAAAAAAAAFAA8AAAAAAAAAAAAGAPf/AAAAAAAAAAAGAPj/AAAAAAAAAAAGAPn/AAAAAAAAAAAGAPr/AAAAAAAAAAAGAPv/AAAAAAAAAAAGAPz/AAAAAAAAAAAGAP3/AAAAAAAAAAAGAP7/AAAAAAAAAAAGAP//AAAAAAAAAAAGAAAAAAAAAAAAAAAGAAEAAAAAAAAAAAAGAAIAAAAAAAAAAAAGAAMAAAAAAAAAAAAGAAQAAAAAAAAAAAAGAAUAAAAAAAAAAAAGAAYAAAAAAAAAAAAGAAcAAAAAAAAAAAAGAAgAAAAAAAAAAAAGAAkAAAAAAAAAAAAGAAoAAAAAAAAAAAAGAAsAAAAAAAAAAAAGAAwAAAAAAAAAAAAGAA0AAAAAAAAAAAAGAA4AAAAAAAAAAAAGAA8AAAAAAAAAAAAHAPf/AAAAAAAAAAAHAPj/AAAAAAAAAAAHAPn/AAAAAAAAAAAHAPr/AAAAAAAAAAAHAPv/AAAAAAAAAAAHAA4AAAAAAAAAAAAHAA8AAAAAAAAAAAAIAPf/AAAAAAAAAAAIAPj/AAAAAAAAAAAIAPn/AAAAAAAAAAAIAPr/AAAAAAAAAAAIAPv/AAAAAAAAAAAIAA4AAAAAAAAAAAAIAA8AAAAAAAAAAAAJAPf/AAAAAAAAAAAJAPj/AAAAAAAAAAAJAPn/AAAAAAAAAAAJAPr/AAAAAAAAAAAJAPv/AAAAAAAAAAAJAA4AAAAAAAAAAAAJAA8AAAAAAAAAAAAKAPf/AAAAAAAAAAAKAPj/AAAAAAAAAAAKAPn/AAAAAAAAAAAKAPr/AAAAAAAAAAAKAPv/AAAAAAAAAAAKAAkAAAAAAAAAAAAKAAoAAAAAAAAAAAAKAAsAAAAAAAAAAAAKAAwAAAAAAAAAAAAKAA0AAAAAAAAAAAAKAA4AAAAAAAAAAAAKAA8AAAAAAAAAAAALAPf/AAAAAAAAAAALAPj/AAAAAAAAAAALAPn/AAAAAAAAAAALAPr/AAAAAAAAAAALAPv/AAAAAAAAAAALAAkAAAAAAAAAAAALAAoAAAAAAAAAAAALAAsAAAAAAAAAAAALAAwAAAAAAAAAAAALAA0AAAAAAAAAAAALAA4AAAAAAAAAAAALAA8AAAAAAAAAAAAMAPf/AAAAAAAAAAAMAPj/AAAAAAAAAAAMAPn/AAAAAAAAAAAMAPr/AAAAAAAAAAAMAPv/AAAAAAAAAAAMAAkAAAAAAAAAAAAMAAoAAAAAAAAAAAAMAAsAAAAAAAAAAAAMAAwAAAAAAAAAAAAMAA0AAAAAAAAAAAAMAA4AAAAAAAAAAAAMAA8AAAAAAAAAAAANAPf/AAAAAAAAAAANAPj/AAAAAAAAAAANAPn/AAAAAAAAAAANAPr/AAAAAAAAAAANAPv/AAAAAAAAAAANAAkAAAAAAAAAAAANAAoAAAAAAAAAAAANAAsAAAAAAAAAAAANAAwAAAAAAAAAAAANAA0AAAAAAAAAAAANAA4AAAAAAAAAAAANAA8AAAAAAAAAAAAOAPf/AAAAAAAAAAAOAPj/AAAAAAAAAAAOAPn/AAAAAAAAAAAOAPr/AAAAAAAAAAAOAPv/AAAAAAAAAAAOAAkAAAAAAAAAAAAOAAoAAAAAAAAAAAAOAAsAAAAAAAAAAAAOAAwAAAAAAAAAAAAOAA0AAAAAAAAAAAAOAA4AAAAAAAAAAAAOAA8AAAAAAAAAAAAPAPf/AAAAAAAAAAAPAPj/AAAAAAAAAAAPAPn/AAAAAAAAAAAPAPr/AAAAAAAAAAAPAPv/AAAAAAAAAAAPAAkAAAAAAAAAAAAPAAoAAAAAAAAAAAAPAAsAAAAAAAAAAAAPAAwAAAAAAAAAAAAPAA0AAAAAAAAAAAAPAA4AAAAAAAAAAAAPAA8AAAAAAAAAAAAQAPf/AAAAAAAAAAAQAPj/AAAAAAAAAAAQAPn/AAAAAAAAAAAQAPr/AAAAAAAAAAAQAPv/AAAAAAAAAAAQAAkAAAAAAAAAAAAQAAoAAAAAAAAAAAAQAAsAAAAAAAAAAAAQAAwAAAAAAAAAAAAQAA0AAAAAAAAAAAAQAA4AAAAAAAAAAAAQAA8AAAAAAAAAAAARAPf/AAAAAAAAAAARAPj/AAAAAAAAAAARAPn/AAAAAAAAAAARAPr/AAAAAAAAAAARAPv/AAAAAAAAAAARAAkAAAAAAAAAAAARAAoAAAAAAAAAAAARAAsAAAAAAAAAAAARAAwAAAAAAAAAAAARAA0AAAAAAAAAAAARAA4AAAAAAAAAAAARAA8AAAAAAAAAAAASAPf/AAAAAAAAAAASAPj/AAAAAAAAAAASAPn/AAAAAAAAAAASAPr/AAAAAAAAAAASAPv/AAAAAAAAAAASAAkAAAAAAAAAAAASAAoAAAAAAAAAAAASAAsAAAAAAAAAAAASAAwAAAAAAAAAAAASAA0AAAAAAAAAAAASAA4AAAAAAAAAAAASAA8AAAAAAAAAAAATAPf/AAAAAAAAAAATAPj/AAAAAAAAAAATAPn/AAAAAAAAAAATAPr/AAAAAAAAAAATAPv/AAAAAAAAAAATAAkAAAAAAAAAAAATAAoAAAAAAAAAAAATAAsAAAAAAAAAAAATAAwAAAAAAAAAAAATAA0AAAAAAAAAAAATAA4AAAAAAAAAAAATAA8AAAAAAAAAAAAUAPf/AAAAAAAAAAAUAPj/AAAAAAAAAAAUAPn/AAAAAAAAAAAUAPr/AAAAAAAAAAAUAPv/AAAAAAAAAAAUAAkAAAAAAAAAAAAUAAoAAAAAAAAAAAAUAAsAAAAAAAAAAAAUAAwAAAAAAAAAAAAUAA0AAAAAAAAAAAAUAA4AAAAAAAAAAAAUAA8AAAAAAAAAAAAVAPf/AAAAAAAAAAAVAPj/AAAAAAAAAAAVAPn/AAAAAAAAAAAVAPr/AAAAAAAAAAAVAPv/AAAAAAAAAAAVAAkAAAAAAAAAAAAVAAoAAAAAAAAAAAAVAAsAAAAAAAAAAAAVAAwAAAAAAAAAAAAVAA0AAAAAAAAAAAAVAA4AAAAAAAAAAAAVAA8AAAAAAAAAAAAWAPf/AAAAAAAAAAAWAPj/AAAAAAAAAAAWAPn/AAAAAAAAAAAWAPr/AAAAAAAAAAAWAPv/AAAAAAAAAAAWAAkAAAAAAAAAAAAWAAoAAAAAAAAAAAAWAAsAAAAAAAAAAAAWAAwAAAAAAAAAAAAWAA0AAAAAAAAAAAAWAA4AAAAAAAAAAAAWAA8AAAAAAAAAAAAXAPf/AAAAAAAAAAAXAPj/AAAAAAAAAAAXAPn/AAAAAAAAAAAXAAIAAAAAAAAAAAAXAAMAAAAAAAAAAAAXAAQAAAAAAAAAAAAXAAkAAAAAAAAAAAAXAAoAAAAAAAAAAAAXAAsAAAAAAAAAAAAXAAwAAAAAAAAAAAAXAA0AAAAAAAAAAAAXAA4AAAAAAAAAAAAXAA8AAAAAAAAAAAAYAPf/AAAAAAAAAAAYAPj/AAAAAAAAAAAYAPn/AAAAAAAAAAAYAAIAAAAAAAAAAAAYAAMAAAAAAAAAAAAYAAQAAAAAAAAAAAAYAAkAAAAAAAAAAAAYAAoAAAAAAAAAAAAYAAsAAAAAAAAAAAAYAAwAAAAAAAAAAAAYAA0AAAAAAAAAAAAYAA4AAAAAAAAAAAAYAA8AAAAAAAAAAAAZAPf/AAAAAAAAAAAZAPj/AAAAAAAAAAAZAPn/AAAAAAAAAAAZAAIAAAAAAAAAAAAZAAMAAAAAAAAAAAAZAAQAAAAAAAAAAAAZAAkAAAAAAAAAAAAZAAoAAAAAAAAAAAAZAAsAAAAAAAAAAAAZAAwAAAAAAAAAAAAZAA0AAAAAAAAAAAAZAA4AAAAAAAAAAAAZAA8AAAAAAAAAAAAaAPf/AAAAAAAAAAAaAPj/AAAAAAAAAAAaAPn/AAAAAAAAAAAaAP//AAAAAAAAAAAaAAAAAAAAAAAAAAAaAAEAAAAAAAAAAAAaAAIAAAAAAAAAAAAaAAMAAAAAAAAAAAAaAAQAAAAAAAAAAAAaAAUAAAAAAAAAAAAaAAYAAAAAAAAAAAAaAAcAAAAAAAAAAAAaAAgAAAAAAAAAAAAaAAkAAAAAAAAAAAAaAAoAAAAAAAAAAAAaAAsAAAAAAAAAAAAaAAwAAAAAAAAAAAAaAA0AAAAAAAAAAAAaAA4AAAAAAAAAAAAaAA8AAAAAAAAAAAAbAPf/AAAAAAAAAAAbAPj/AAAAAAAAAAAbAPn/AAAAAAAAAAAbAPr/AAAAAAAAAAAbAPv/AAAAAAAAAAAbAPz/AAAAAAAAAAAbAP3/AAAAAAAAAAAbAP7/AAAAAAAAAAAbAP//AAAAAAAAAAAbAAAAAAAAAAAAAAAbAAEAAAAAAAAAAAAbAAIAAAAAAAAAAAAbAAMAAAAAAAAAAAAbAAQAAAAAAAAAAAAbAAUAAAAAAAAAAAAbAAYAAAAAAAAAAAAbAAcAAAAAAAAAAAAbAAgAAAAAAAAAAAAbAAkAAAAAAAAAAAAbAAoAAAAAAAAAAAAbAAsAAAAAAAAAAAAbAAwAAAAAAAAAAAAbAA0AAAAAAAAAAAAbAA4AAAAAAAAAAAAbAA8AAAAAAAAAAAAcAPf/AAAAAAAAAAAcAPj/AAAAAAAAAAAcAPn/AAAAAAAAAAAcAPr/AAAAAAAAAAAcAPv/AAAAAAAAAAAcAPz/AAAAAAAAAAAcAP3/AAAAAAAAAAAcAP7/AAAAAAAAAAAcAP//AAAAAAAAAAAcAAAAAAAAAAAAAAAcAAEAAAAAAAAAAAAcAAIAAAAAAAAAAAAcAAMAAAAAAAAAAAAcAAQAAAAAAAAAAAAcAAUAAAAAAAAAAAAcAAYAAAAAAAAAAAAcAAcAAAAAAAAAAAAcAAgAAAAAAAAAAAAcAAkAAAAAAAAAAAAcAAoAAAAAAAAAAAAcAAsAAAAAAAAAAAAcAAwAAAAAAAAAAAAcAA0AAAAAAAAAAAAcAA4AAAAAAAAAAAAcAA8AAAAAAAAAAAAdAPf/AAAAAAAAAAAdAPj/AAAAAAAAAAAdAPn/AAAAAAAAAAAdAPr/AAAAAAAAAAAdAPv/AAAAAAAAAAAdAPz/AAAAAAAAAAAdAP3/AAAAAAAAAAAdAP7/AAAAAAAAAAAdAP//AAAAAAAAAAAdAAAAAAAAAAAAAAAdAAEAAAAAAAAAAAAdAAIAAAAAAAAAAAAdAAMAAAAAAAAAAAAdAAQAAAAAAAAAAAAdAAUAAAAAAAAAAAAdAAYAAAAAAAAAAAAdAAcAAAAAAAAAAAAdAAgAAAAAAAAAAAAdAAkAAAAAAAAAAAAdAAoAAAAAAAAAAAAdAAsAAAAAAAAAAAAdAAwAAAAAAAAAAAAdAA0AAAAAAAAAAAAdAA4AAAAAAAAAAAAdAA8AAAAAAAAAAAAeAPf/AAAAAAAAAAAeAPj/AAAAAAAAAAAeAPn/AAAAAAAAAAAeAPr/AAAAAAAAAAAeAPv/AAAAAAAAAAAeAPz/AAAAAAAAAAAeAP3/AAAAAAAAAAAeAP7/AAAAAAAAAAAeAP//AAAAAAAAAAAeAAAAAAAAAAAAAAAeAAEAAAAAAAAAAAAeAAIAAAAAAAAAAAAeAAMAAAAAAAAAAAAeAAQAAAAAAAAAAAAeAAUAAAAAAAAAAAAeAAYAAAAAAAAAAAAeAAcAAAAAAAAAAAAeAAgAAAAAAAAAAAAeAAkAAAAAAAAAAAAeAAoAAAAAAAAAAAAeAAsAAAAAAAAAAAAeAAwAAAAAAAAAAAAeAA0AAAAAAAAAAAAeAA4AAAAAAAAAAAAeAA8AAAAAAAAAAAA=") +tile_set = ExtResource("2_dhrfw") + +[node name="Foam" type="TileMapLayer" parent="TileMapLayers" unique_id=1920376928] +tile_map_data = PackedByteArray("AAAHAPz/AgAAAAAAAAAIAPz/AgAAAAAAAAAJAPz/AgAAAAAAAAAKAPz/AgAAAAAAAAALAPz/AgAAAAAAAAAMAPz/AgAAAAAAAAANAPz/AgAAAAAAAAAOAPz/AgAAAAAAAAAPAPz/AgAAAAAAAAAQAPz/AgAAAAAAAAARAPz/AgAAAAAAAAASAPz/AgAAAAAAAAATAPz/AgAAAAAAAAAUAPz/AgAAAAAAAAAVAPz/AgAAAAAAAAAWAPz/AgAAAAAAAAAXAPz/AgAAAAAAAAAXAPr/AgAAAAAAAAAXAPv/AgAAAAAAAAAYAPr/AgAAAAAAAAAZAPr/AgAAAAAAAAAaAPr/AgAAAAAAAAAaAPv/AgAAAAAAAAAaAPz/AgAAAAAAAAAaAP3/AgAAAAAAAAAaAP7/AgAAAAAAAAAZAP//AgAAAAAAAAAZAAAAAgAAAAAAAAAZAAEAAgAAAAAAAAAYAAEAAgAAAAAAAAAXAAEAAgAAAAAAAAAWAAEAAgAAAAAAAAAWAAIAAgAAAAAAAAAWAAMAAgAAAAAAAAAWAAQAAgAAAAAAAAAWAAUAAgAAAAAAAAAXAAUAAgAAAAAAAAAYAAUAAgAAAAAAAAAZAAUAAgAAAAAAAAAZAAYAAgAAAAAAAAAZAAcAAgAAAAAAAAAZAAgAAgAAAAAAAAAYAAgAAgAAAAAAAAAXAAgAAgAAAAAAAAAWAAgAAgAAAAAAAAAVAAgAAgAAAAAAAAAUAAgAAgAAAAAAAAATAAgAAgAAAAAAAAASAAgAAgAAAAAAAAARAAgAAgAAAAAAAAAQAAgAAgAAAAAAAAAPAAgAAgAAAAAAAAAOAAgAAgAAAAAAAAANAAgAAgAAAAAAAAAMAAgAAgAAAAAAAAALAAgAAgAAAAAAAAAKAAgAAgAAAAAAAAAJAAgAAgAAAAAAAAAJAA0AAgAAAAAAAAAJAAwAAgAAAAAAAAAJAAsAAgAAAAAAAAAJAAoAAgAAAAAAAAAJAAkAAgAAAAAAAAAIAA0AAgAAAAAAAAAHAA0AAgAAAAAAAAAHAAwAAgAAAAAAAAAHAAsAAgAAAAAAAAAHAAoAAgAAAAAAAAAHAAkAAgAAAAAAAAAHAAgAAgAAAAAAAAAHAAcAAgAAAAAAAAAHAAYAAgAAAAAAAAAHAAUAAgAAAAAAAAAHAAQAAgAAAAAAAAAHAAMAAgAAAAAAAAAHAAIAAgAAAAAAAAAHAAEAAgAAAAAAAAAHAAAAAgAAAAAAAAAHAP//AgAAAAAAAAAHAP7/AgAAAAAAAAAHAP3/AgAAAAAAAAA=") +tile_set = ExtResource("3_8uyjj") + +[node name="Ground" type="TileMapLayer" parent="TileMapLayers" unique_id=284844611] +tile_map_data = PackedByteArray("AAAZAAgAAQACAAIAAAAYAAgAAQABAAIAAAAXAAgAAQABAAIAAAAWAAgAAQABAAIAAAAVAAgAAQABAAIAAAAUAAgAAQABAAIAAAATAAgAAQABAAIAAAASAAgAAQABAAIAAAARAAgAAQABAAIAAAAQAAgAAQABAAIAAAAPAAgAAQABAAIAAAAOAAgAAQABAAIAAAANAAgAAQABAAIAAAAMAAgAAQABAAIAAAALAAgAAQABAAIAAAAKAAgAAQABAAIAAAAJAAgAAQABAAEAAAAIAAgAAQABAAEAAAAHAAgAAQAAAAEAAAAJAAcAAQABAAEAAAAJAAYAAQABAAEAAAAJAAUAAQABAAEAAAAJAAQAAQABAAEAAAAJAAMAAQABAAEAAAAJAAIAAQABAAEAAAAJAAEAAQABAAEAAAAJAAAAAQABAAEAAAAJAP//AQABAAEAAAAIAAcAAQABAAEAAAAIAAYAAQABAAEAAAAIAAUAAQABAAEAAAAIAAQAAQABAAEAAAAIAAMAAQABAAEAAAAIAAIAAQABAAEAAAAIAAEAAQABAAEAAAAIAAAAAQABAAEAAAAIAP//AQABAAEAAAAHAAcAAQAAAAEAAAAHAAYAAQAAAAEAAAAHAAUAAQAAAAEAAAAHAAQAAQAAAAEAAAAHAAMAAQAAAAEAAAAHAAIAAQAAAAEAAAAHAAEAAQAAAAEAAAAHAAAAAQAAAAEAAAAHAP//AQAAAAEAAAAZAAEAAQACAAIAAAAZAAAAAQACAAEAAAAZAP//AQACAAEAAAAYAAEAAQABAAIAAAAYAAAAAQABAAEAAAAYAP//AQABAAEAAAAXAAEAAQABAAIAAAAXAAAAAQABAAEAAAAXAP//AQABAAEAAAAWAAIAAQACAAEAAAAWAAEAAQABAAEAAAAWAAAAAQABAAEAAAAWAP//AQABAAEAAAAVAAIAAQABAAEAAAAVAAEAAQABAAEAAAAVAAAAAQABAAEAAAAVAP//AQABAAEAAAAUAAIAAQABAAEAAAAUAAEAAQABAAEAAAAUAAAAAQABAAEAAAAUAP//AQABAAEAAAATAAIAAQABAAEAAAATAAEAAQABAAEAAAATAAAAAQABAAEAAAATAP//AQABAAEAAAASAAIAAQABAAEAAAASAAEAAQABAAEAAAASAAAAAQABAAEAAAASAP//AQABAAEAAAARAAIAAQABAAEAAAARAAEAAQABAAEAAAARAAAAAQABAAEAAAARAP//AQABAAEAAAAQAAIAAQABAAEAAAAQAAEAAQABAAEAAAAQAAAAAQABAAEAAAAQAP//AQABAAEAAAAPAAIAAQABAAEAAAAPAAEAAQABAAEAAAAPAAAAAQABAAEAAAAPAP//AQABAAEAAAAOAAIAAQABAAEAAAAOAAEAAQABAAEAAAAOAAAAAQABAAEAAAAOAP//AQABAAEAAAANAAIAAQABAAEAAAANAAEAAQABAAEAAAANAAAAAQABAAEAAAANAP//AQABAAEAAAAMAAIAAQABAAEAAAAMAAEAAQABAAEAAAAMAAAAAQABAAEAAAAMAP//AQABAAEAAAALAAIAAQABAAEAAAALAAEAAQABAAEAAAALAAAAAQABAAEAAAALAP//AQABAAEAAAAKAAIAAQABAAEAAAAKAAEAAQABAAEAAAAKAAAAAQABAAEAAAAKAP//AQABAAEAAAAZAP7/AQABAAEAAAAYAP7/AQABAAEAAAAXAP7/AQABAAEAAAAWAP7/AQABAAEAAAAVAP7/AQABAAEAAAAUAP7/AQABAAEAAAATAP7/AQABAAEAAAASAP7/AQABAAEAAAARAP7/AQABAAEAAAAQAP7/AQABAAEAAAAPAP7/AQABAAEAAAAOAP7/AQABAAEAAAANAP7/AQABAAEAAAAMAP7/AQABAAEAAAALAP7/AQABAAEAAAAKAP7/AQABAAEAAAAJAP7/AQABAAEAAAAIAP7/AQABAAEAAAAHAP7/AQAAAAEAAAAZAAcAAQACAAEAAAAYAAcAAQABAAEAAAAXAAcAAQABAAEAAAAWAAcAAQABAAEAAAAWAAMAAQACAAEAAAAVAAMAAQABAAEAAAAUAAMAAQABAAEAAAATAAMAAQABAAEAAAASAAMAAQABAAEAAAARAAMAAQABAAEAAAAQAAMAAQABAAEAAAAPAAMAAQABAAEAAAAOAAMAAQABAAEAAAANAAMAAQABAAEAAAAMAAMAAQABAAEAAAALAAMAAQABAAEAAAAKAAMAAQABAAEAAAAVAP3/AQABAAEAAAAUAP3/AQABAAEAAAATAP3/AQABAAEAAAASAP3/AQABAAEAAAARAP3/AQABAAEAAAAQAP3/AQABAAEAAAAPAP3/AQABAAEAAAAOAP3/AQABAAEAAAANAP3/AQABAAEAAAAMAP3/AQABAAEAAAALAP3/AQABAAEAAAAKAP3/AQABAAEAAAAZAAYAAQACAAEAAAAZAAUAAQACAAAAAAAYAAYAAQABAAEAAAAYAAUAAQABAAAAAAAXAAYAAQABAAEAAAAXAAUAAQABAAAAAAAWAAYAAQABAAEAAAAWAAUAAQABAAEAAAAWAAQAAQACAAEAAAAVAAcAAQABAAEAAAAVAAYAAQABAAEAAAAVAAUAAQABAAEAAAAVAAQAAQABAAEAAAAUAAcAAQABAAEAAAAUAAYAAQABAAEAAAAUAAUAAQABAAEAAAAUAAQAAQABAAEAAAATAAcAAQABAAEAAAATAAYAAQABAAEAAAATAAUAAQABAAEAAAATAAQAAQABAAEAAAASAAcAAQABAAEAAAASAAYAAQABAAEAAAASAAUAAQABAAEAAAASAAQAAQABAAEAAAARAAcAAQABAAEAAAARAAYAAQABAAEAAAARAAUAAQABAAEAAAARAAQAAQABAAEAAAAQAAcAAQABAAEAAAAQAAYAAQABAAEAAAAQAAUAAQABAAEAAAAQAAQAAQABAAEAAAAPAAcAAQABAAEAAAAPAAYAAQABAAEAAAAPAAUAAQABAAEAAAAPAAQAAQABAAEAAAAOAAcAAQABAAEAAAAOAAYAAQABAAEAAAAOAAUAAQABAAEAAAAOAAQAAQABAAEAAAANAAcAAQABAAEAAAANAAYAAQABAAEAAAANAAUAAQABAAEAAAANAAQAAQABAAEAAAAMAAcAAQABAAEAAAAMAAYAAQABAAEAAAAMAAUAAQABAAEAAAAMAAQAAQABAAEAAAALAAcAAQABAAEAAAALAAYAAQABAAEAAAALAAUAAQABAAEAAAALAAQAAQABAAEAAAAKAAcAAQABAAEAAAAKAAYAAQABAAEAAAAKAAUAAQABAAEAAAAKAAQAAQABAAEAAAAJAA0AAQACAAIAAAAJAAwAAQACAAEAAAAJAAsAAQACAAEAAAAJAAoAAQACAAEAAAAJAAkAAQACAAEAAAAIAA0AAQABAAIAAAAIAAwAAQABAAEAAAAIAAsAAQABAAEAAAAIAAoAAQABAAEAAAAIAAkAAQABAAEAAAAHAA0AAQAAAAIAAAAHAAwAAQAAAAEAAAAHAAsAAQAAAAEAAAAHAAoAAQAAAAEAAAAHAAkAAQAAAAEAAAAKAPz/AQABAAAAAAAJAP3/AQABAAEAAAAJAPz/AQABAAAAAAAIAP3/AQABAAEAAAAIAPz/AQABAAAAAAAHAP3/AQAAAAEAAAAHAPz/AQAAAAAAAAAaAP3/AQACAAEAAAAaAPz/AQACAAEAAAAZAP3/AQABAAEAAAAZAPz/AQABAAEAAAAYAP3/AQABAAEAAAAYAPz/AQABAAEAAAAXAP3/AQABAAEAAAAXAPz/AQABAAEAAAAWAP3/AQABAAEAAAAWAPz/AQABAAAAAAAVAPz/AQABAAAAAAAUAPz/AQABAAAAAAATAPz/AQABAAAAAAASAPz/AQABAAAAAAARAPz/AQABAAAAAAAQAPz/AQABAAAAAAAPAPz/AQABAAAAAAAOAPz/AQABAAAAAAANAPz/AQABAAAAAAAMAPz/AQABAAAAAAALAPz/AQABAAAAAAAaAP7/AQACAAIAAAAaAPv/AQACAAEAAAAaAPr/AQACAAAAAAAZAPv/AQABAAEAAAAZAPr/AQABAAAAAAAYAPv/AQABAAEAAAAYAPr/AQABAAAAAAAXAPv/AQAAAAEAAAAXAPr/AQAAAAAAAAA=") +tile_set = ExtResource("4_4c3u0") + +[node name="Paths" type="TileMapLayer" parent="TileMapLayers" unique_id=1247853237] +tile_map_data = PackedByteArray("AAAIAAYAAQAIAAEAAAAIAAUAAQAIAAEAAAAIAAQAAQAIAAEAAAAIAAMAAQAIAAEAAAAIAAIAAQAIAAEAAAAIAAEAAQAIAAEAAAAXAAAAAQAGAAMAAAAWAAAAAQAGAAMAAAAVAAAAAQAGAAMAAAAUAAAAAQAFAAEAAAAMAAAAAQAHAAEAAAALAAAAAQAGAAMAAAAKAAAAAQAGAAMAAAAJAAAAAQAGAAMAAAAIAAAAAQAFAAAAAAAYAAAAAQAHAAIAAAAYAP//AQAIAAEAAAAUAP7/AQAIAAEAAAAUAP//AQAIAAEAAAAMAP3/AQAFAAAAAAANAP3/AQAGAAMAAAAOAP3/AQAGAAMAAAAPAP3/AQAGAAMAAAAQAP3/AQAGAAAAAAARAP3/AQAGAAMAAAASAP3/AQAGAAMAAAATAP3/AQAGAAMAAAAUAP3/AQAHAAAAAAAMAP//AQAIAAEAAAAMAP7/AQAIAAEAAAAMAAEAAQAIAAEAAAAMAAIAAQAIAAEAAAAMAAMAAQAFAAIAAAANAAMAAQAGAAMAAAAOAAMAAQAGAAMAAAAPAAMAAQAGAAMAAAAQAAMAAQAGAAIAAAARAAMAAQAGAAMAAAASAAMAAQAGAAMAAAATAAMAAQAGAAMAAAAUAAMAAQAHAAIAAAAUAAEAAQAIAAEAAAAUAAIAAQAIAAEAAAAYAPz/AQAFAAEAAAAYAP3/AQAIAAEAAAAYAP7/AQAIAAEAAAAYAPv/AQAFAAAAAAAZAPz/AQAHAAIAAAAZAPv/AQAHAAAAAAAIAAcAAQAFAAEAAAAXAAcAAQAGAAIAAAAYAAcAAQAHAAIAAAAJAAcAAQAGAAMAAAAKAAcAAQAGAAMAAAALAAcAAQAGAAMAAAAMAAcAAQAGAAMAAAANAAcAAQAGAAMAAAAOAAcAAQAGAAMAAAAPAAcAAQAGAAMAAAAQAAcAAQAGAAMAAAARAAcAAQAGAAMAAAASAAcAAQAGAAMAAAATAAcAAQAGAAMAAAAUAAcAAQAGAAMAAAAVAAcAAQAGAAMAAAAWAAcAAQAGAAMAAAAXAAYAAQAFAAAAAAAYAAYAAQAHAAAAAAAIAAwAAQAIAAIAAAAIAAsAAQAIAAEAAAAIAAoAAQAIAAEAAAAIAAkAAQAIAAEAAAAIAAgAAQAIAAEAAAAQAAIAAQAIAAEAAAAQAAEAAQAIAAEAAAAQAAAAAQAIAAEAAAAQAP//AQAIAAEAAAAQAP7/AQAIAAEAAAA=") +tile_set = ExtResource("4_4c3u0") + +[node name="Shadows" type="TileMapLayer" parent="TileMapLayers" unique_id=1138255870] +tile_map_data = PackedByteArray("AAAKAAUAAAAAAAAAAAALAAUAAAAAAAAAAAAMAAUAAAAAAAAAAAANAAUAAAAAAAAAAAAOAAUAAAAAAAAAAAAPAAUAAAAAAAAAAAAQAAUAAAAAAAAAAAARAAUAAAAAAAAAAAASAAUAAAAAAAAAAAATAAUAAAAAAAAAAAAUAAUAAAAAAAAAAAAVAAUAAAAAAAAAAAAWAAUAAAAAAAAAAAAWAAQAAAAAAAAAAAAWAAMAAAAAAAAAAAAWAAIAAAAAAAAAAAAKAAQAAAAAAAAAAAAKAAMAAAAAAAAAAAAKAAIAAAAAAAAAAAAKAPz/AAAAAAAAAAAKAP3/AAAAAAAAAAAKAP7/AAAAAAAAAAAKAP//AAAAAAAAAAALAPz/AAAAAAAAAAAMAPz/AAAAAAAAAAANAPz/AAAAAAAAAAAOAPz/AAAAAAAAAAAPAPz/AAAAAAAAAAAQAPz/AAAAAAAAAAARAPz/AAAAAAAAAAASAPz/AAAAAAAAAAATAPz/AAAAAAAAAAAUAPz/AAAAAAAAAAAVAPz/AAAAAAAAAAAWAPz/AAAAAAAAAAAWAP3/AAAAAAAAAAAWAP7/AAAAAAAAAAAWAP//AAAAAAAAAAASAAEAAAAAAAAAAAASAAAAAAAAAAAAAAAOAAEAAAAAAAAAAAAOAAAAAAAAAAAAAAA=") +tile_set = ExtResource("4_pppnl") + +[node name="Stones" type="TileMapLayer" parent="TileMapLayers" unique_id=15259980] +tile_map_data = PackedByteArray("AAAKAAEABAADAAAAAAAKAP3/BAADAAEAAAAKAAIABAADAAEAAAAKAPz/BAADAAEAAAASAAAABAADAAIAAAASAP//BAADAAAAAAAOAAAABAADAAIAAAAOAP//BAADAAAAAAAWAPz/BAADAAEAAAAWAP3/BAADAAEAAAAWAP7/BAADAAIAAAAWAAEABAADAAAAAAAWAAIABAADAAEAAAAVAPv/BAABAAQAAAAUAPv/BAABAAQAAAATAPv/BAABAAQAAAASAPv/BAABAAQAAAARAPv/BAABAAQAAAAQAPv/BAABAAQAAAAPAPv/BAABAAQAAAAOAPv/BAABAAQAAAANAPv/BAABAAQAAAAMAPv/BAABAAQAAAALAPv/BAABAAQAAAAKAPv/BAAAAAAAAAAWAPv/BAACAAAAAAAKAAQABAAAAAIAAAAKAAMABAADAAEAAAAWAAQABAACAAIAAAAVAAQABAABAAQAAAAUAAQABAABAAQAAAATAAQABAABAAQAAAASAAQABAABAAQAAAARAAQABAABAAQAAAAQAAQABAABAAQAAAAPAAQABAABAAQAAAAOAAQABAABAAQAAAANAAQABAABAAQAAAAMAAQABAABAAQAAAALAAQABAABAAQAAAAWAAMABAADAAEAAAAKAP7/BAADAAIAAAA=") +tile_set = ExtResource("5_vs7wd") + +[node name="OnTheGround" type="Node2D" parent="." unique_id=1769700087] +y_sort_enabled = true + +[node name="Player" parent="OnTheGround" unique_id=296354958 instance=ExtResource("7_a3wsq")] +position = Vector2(538, 810) +sprite_frames = ExtResource("8_f3fhx") + +[node name="Camera2D" type="Camera2D" parent="OnTheGround/Player" unique_id=2136918817] +limit_enabled = false +limit_left = -100 +limit_top = -1700 +limit_right = 2200 +limit_bottom = 1000 + +[node name="Signs" type="Node2D" parent="OnTheGround" unique_id=540449734] +y_sort_enabled = true + +[node name="MandatoryCollectibleItem" parent="OnTheGround" unique_id=327991066 instance=ExtResource("7_r84jh")] +position = Vector2(1536, 440) +item = ExtResource("8_me0l1") +target = 1 + +[node name="OptionalCollectibleItem" parent="OnTheGround" unique_id=510029093 instance=ExtResource("7_r84jh")] +position = Vector2(1599, -259) +item = ExtResource("9_vii7y") +collected_dialogue = ExtResource("12_8y2ta") +dialogue_title = &"wow" + +[node name="Townie" parent="OnTheGround" unique_id=1098678013 instance=ExtResource("10_fvfn2")] +position = Vector2(615, 426) +scale = Vector2(-1, 1) +look_at_side = 1 + +[node name="InteractArea" type="Area2D" parent="OnTheGround/Townie" unique_id=1795419351 node_paths=PackedStringArray("marker")] +unique_name_in_owner = true +collision_layer = 32 +collision_mask = 0 +script = ExtResource("6_6kkli") +marker = NodePath("Marker2D") +metadata/_custom_type_script = "uid://du8wfijr35r35" + +[node name="CollisionShape2D" type="CollisionShape2D" parent="OnTheGround/Townie/InteractArea" unique_id=1395317728] +position = Vector2(0, -23.5) +shape = SubResource("RectangleShape2D_vs7wd") +debug_color = Color(0.600391, 0.54335, 0, 0.42) + +[node name="Marker2D" type="Marker2D" parent="OnTheGround/Townie/InteractArea" unique_id=1604575681] +position = Vector2(0, -88) + +[node name="TalkBehavior" type="Node" parent="OnTheGround/Townie" unique_id=1777083832 node_paths=PackedStringArray("interact_area")] +unique_name_in_owner = true +script = ExtResource("11_fvfn2") +dialogue = ExtResource("12_8y2ta") +interact_area = NodePath("../InteractArea") +metadata/_custom_type_script = "uid://edcifob4jc4s" + +[node name="Guard" parent="OnTheGround" unique_id=689832587 node_paths=PackedStringArray("patrol_path") instance=ExtResource("11_8y2ta")] +position = Vector2(1056, -160) +sprite_frames = ExtResource("12_pppnl") +alerted_sound_stream = ExtResource("13_vs7wd") +footsteps_sound_stream = ExtResource("14_72lml") +idle_sound_stream = ExtResource("15_l2eis") +alert_others_sound_stream = ExtResource("16_mxlxh") +patrol_path = NodePath("../PatrolPath") +move_speed = 200.0 + +[node name="PatrolPath" type="Path2D" parent="OnTheGround" unique_id=224740749] +position = Vector2(1056, -160) +curve = SubResource("Curve2D_gyr7v") + +[node name="Guard2" parent="OnTheGround" unique_id=123245618 node_paths=PackedStringArray("patrol_path") instance=ExtResource("11_8y2ta")] +position = Vector2(800, -160) +sprite_frames = ExtResource("21_vs7wd") +alerted_sound_stream = ExtResource("13_vs7wd") +footsteps_sound_stream = ExtResource("14_72lml") +idle_sound_stream = ExtResource("15_l2eis") +alert_others_sound_stream = ExtResource("16_mxlxh") +patrol_path = NodePath("../PatrolPath2") +move_speed = 200.0 + +[node name="PatrolPath2" type="Path2D" parent="OnTheGround" unique_id=2135394700] +position = Vector2(800, -160) +curve = SubResource("Curve2D_72lml") + +[node name="Checkpoint" parent="OnTheGround" unique_id=1789892556 instance=ExtResource("22_l2eis")] +position = Vector2(544, 35) +sprite_frames = ExtResource("23_mxlxh") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="OnTheGround/Checkpoint" unique_id=1934354000] +shape = SubResource("RectangleShape2D_s5hwq") + +[node name="Checkpoint2" parent="OnTheGround" unique_id=1673516805 instance=ExtResource("22_l2eis")] +position = Vector2(1569, 34) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="OnTheGround/Checkpoint2" unique_id=1467543648] +shape = SubResource("RectangleShape2D_s5hwq") + +[node name="CaveLighting" type="Area2D" parent="." unique_id=1100100279] +unique_name_in_owner = true +position = Vector2(-232, -213) +collision_layer = 0 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="CaveLighting" unique_id=2136984051] +position = Vector2(1287, 171) +shape = SubResource("RectangleShape2D_me0l1") +debug_color = Color(0.95686275, 0, 0.53333336, 0.13333334) +metadata/_edit_lock_ = true + +[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=2022221289] +unique_name_in_owner = true +libraries/ = SubResource("AnimationLibrary_me0l1") +playback_default_blend_time = 1.0 + +[node name="CanvasModulate" type="CanvasModulate" parent="." unique_id=839196292] +unique_name_in_owner = true + +[node name="StealthGameLogic" type="Node" parent="." unique_id=2135139021] +script = ExtResource("19_pppnl") +metadata/_custom_type_script = "uid://dnp0tjloec2d7" + +[node name="HUD" parent="." unique_id=1426591993 instance=ExtResource("23_72lml")] diff --git a/scenes/dev/level_design/optional_threads/quest.tres b/scenes/dev/level_design/optional_threads/quest.tres new file mode 100644 index 0000000000..36c573ebb4 --- /dev/null +++ b/scenes/dev/level_design/optional_threads/quest.tres @@ -0,0 +1,10 @@ +[gd_resource type="Resource" script_class="Quest" format=3 uid="uid://pdpqinul8nu5"] + +[ext_resource type="Script" uid="uid://dts1hwdy3phin" path="res://scenes/menus/storybook/components/quest.gd" id="1_cjuqo"] + +[resource] +script = ExtResource("1_cjuqo") +title = "Optional Threads" +description = "Shows how to add an optional thread to a scene." +threads_to_collect = 2 +metadata/_custom_type_script = "uid://dts1hwdy3phin" From 7c38b74f2faa70d8d4f0422175781d4b9880576b Mon Sep 17 00:00:00 2001 From: Will Thompson Date: Tue, 11 Aug 2026 18:02:31 +0100 Subject: [PATCH 7/7] the tiger is out --- scenes/dev/dev_archipelago.tscn | 1 + .../optional_threads.dialogue | 9 ++++--- .../optional_threads/optional_threads.gd | 7 ++++++ .../optional_threads/optional_threads.gd.uid | 1 + .../optional_threads/optional_threads.tscn | 16 +++++++------ .../level_design/optional_threads/quest.tres | 1 + .../components/collectible_item.gd | 24 +++++++++++++------ .../eternal_loom/components/eternal_loom.gd | 2 ++ 8 files changed, 44 insertions(+), 17 deletions(-) create mode 100644 scenes/dev/level_design/optional_threads/optional_threads.gd create mode 100644 scenes/dev/level_design/optional_threads/optional_threads.gd.uid diff --git a/scenes/dev/dev_archipelago.tscn b/scenes/dev/dev_archipelago.tscn index 39af90d812..0c4da37852 100644 --- a/scenes/dev/dev_archipelago.tscn +++ b/scenes/dev/dev_archipelago.tscn @@ -174,6 +174,7 @@ position = Vector2(0, 64) [node name="TemplateElder" parent="OnTheGround/Elders" unique_id=1625796178 node_paths=PackedStringArray("abandon_point") instance=ExtResource("11_ui3i3")] position = Vector2(481, 1107) +quest_directory = "res://scenes/dev/level_design/" abandon_point = NodePath("SpawnPoint") [node name="SpawnPoint" parent="OnTheGround/Elders/TemplateElder" unique_id=1656237801 instance=ExtResource("18_elr7o")] diff --git a/scenes/dev/level_design/optional_threads/optional_threads.dialogue b/scenes/dev/level_design/optional_threads/optional_threads.dialogue index 5d5426772f..46755d7402 100644 --- a/scenes/dev/level_design/optional_threads/optional_threads.dialogue +++ b/scenes/dev/level_design/optional_threads/optional_threads.dialogue @@ -1,10 +1,13 @@ # SPDX-FileCopyrightText: The Threadbare Authors # SPDX-License-Identifier: MPL-2.0 ~ start -Ulysses Thriftweed: If you go East, you can get out of here. -Ulysses Thriftweed: If you go through the cave up North, there's another thread you can collect first, if you're feeling brave. +if optional_collectible_item: + Ulysses Thriftweed: If you go East, you can get out of here. + Ulysses Thriftweed: If you go through the cave up North, there's another thread you can collect first, if you're feeling brave. +else: + Ulysses Thriftweed: I hope now you've learned to stop picking your nose. => END ~ wow -Ulysses Thriftweed: Wow, {{player_name}}, you're so stealthy! +Ulysses Thriftweed: You run THAT fast? => END diff --git a/scenes/dev/level_design/optional_threads/optional_threads.gd b/scenes/dev/level_design/optional_threads/optional_threads.gd new file mode 100644 index 0000000000..a66ac128f2 --- /dev/null +++ b/scenes/dev/level_design/optional_threads/optional_threads.gd @@ -0,0 +1,7 @@ +extends Node2D + +@onready var optional_collectible_item: CollectibleItem = %OptionalCollectibleItem + + +func _ready() -> void: + optional_collectible_item.tree_exiting.connect(func(): optional_collectible_item = null) diff --git a/scenes/dev/level_design/optional_threads/optional_threads.gd.uid b/scenes/dev/level_design/optional_threads/optional_threads.gd.uid new file mode 100644 index 0000000000..c73c000501 --- /dev/null +++ b/scenes/dev/level_design/optional_threads/optional_threads.gd.uid @@ -0,0 +1 @@ +uid://b4muk3fixh36l diff --git a/scenes/dev/level_design/optional_threads/optional_threads.tscn b/scenes/dev/level_design/optional_threads/optional_threads.tscn index 284dcdd2e2..ba90de61c0 100644 --- a/scenes/dev/level_design/optional_threads/optional_threads.tscn +++ b/scenes/dev/level_design/optional_threads/optional_threads.tscn @@ -1,5 +1,6 @@ [gd_scene format=4 uid="uid://cplmo457h47p8"] +[ext_resource type="Script" uid="uid://b4muk3fixh36l" path="res://scenes/dev/level_design/optional_threads/optional_threads.gd" id="1_gyr7v"] [ext_resource type="TileSet" uid="uid://oynx002hv8tl" path="res://tiles/water.tres" id="2_dhrfw"] [ext_resource type="TileSet" uid="uid://bjx3gvah0ycl1" path="res://tiles/foam_2.tres" id="3_8uyjj"] [ext_resource type="TileSet" uid="uid://b8qnr0owsbhhn" path="res://tiles/exterior_floors.tres" id="4_4c3u0"] @@ -85,6 +86,7 @@ _data = { } [node name="OptionalThreadsTest" type="Node2D" unique_id=60120374] +script = ExtResource("1_gyr7v") [node name="TileMapLayers" type="Node2D" parent="." unique_id=1892145315] @@ -120,11 +122,11 @@ position = Vector2(538, 810) sprite_frames = ExtResource("8_f3fhx") [node name="Camera2D" type="Camera2D" parent="OnTheGround/Player" unique_id=2136918817] -limit_enabled = false -limit_left = -100 -limit_top = -1700 -limit_right = 2200 -limit_bottom = 1000 +limit_left = 416 +limit_top = -448 +limit_right = 1760 +limit_bottom = 960 +editor_draw_limits = true [node name="Signs" type="Node2D" parent="OnTheGround" unique_id=540449734] y_sort_enabled = true @@ -135,6 +137,7 @@ item = ExtResource("8_me0l1") target = 1 [node name="OptionalCollectibleItem" parent="OnTheGround" unique_id=510029093 instance=ExtResource("7_r84jh")] +unique_name_in_owner = true position = Vector2(1599, -259) item = ExtResource("9_vii7y") collected_dialogue = ExtResource("12_8y2ta") @@ -143,10 +146,10 @@ dialogue_title = &"wow" [node name="Townie" parent="OnTheGround" unique_id=1098678013 instance=ExtResource("10_fvfn2")] position = Vector2(615, 426) scale = Vector2(-1, 1) +character_seed = 738434190 look_at_side = 1 [node name="InteractArea" type="Area2D" parent="OnTheGround/Townie" unique_id=1795419351 node_paths=PackedStringArray("marker")] -unique_name_in_owner = true collision_layer = 32 collision_mask = 0 script = ExtResource("6_6kkli") @@ -162,7 +165,6 @@ debug_color = Color(0.600391, 0.54335, 0, 0.42) position = Vector2(0, -88) [node name="TalkBehavior" type="Node" parent="OnTheGround/Townie" unique_id=1777083832 node_paths=PackedStringArray("interact_area")] -unique_name_in_owner = true script = ExtResource("11_fvfn2") dialogue = ExtResource("12_8y2ta") interact_area = NodePath("../InteractArea") diff --git a/scenes/dev/level_design/optional_threads/quest.tres b/scenes/dev/level_design/optional_threads/quest.tres index 36c573ebb4..551e7f4eda 100644 --- a/scenes/dev/level_design/optional_threads/quest.tres +++ b/scenes/dev/level_design/optional_threads/quest.tres @@ -6,5 +6,6 @@ script = ExtResource("1_cjuqo") title = "Optional Threads" description = "Shows how to add an optional thread to a scene." +first_scene = "uid://cplmo457h47p8" threads_to_collect = 2 metadata/_custom_type_script = "uid://dts1hwdy3phin" diff --git a/scenes/game_elements/props/collectible_item/components/collectible_item.gd b/scenes/game_elements/props/collectible_item/components/collectible_item.gd index 9e1567d12c..3fbafcc70d 100644 --- a/scenes/game_elements/props/collectible_item/components/collectible_item.gd +++ b/scenes/game_elements/props/collectible_item/components/collectible_item.gd @@ -31,6 +31,13 @@ extends SceneLink ## The dialogue title from where [member collected_dialogue] will start. @export var dialogue_title: StringName = "" +var _ghost := false: + set(new_value): + _ghost = new_value + # TODO: effect is ugly + var sm := sprite_2d.material as ShaderMaterial + sm.set_shader_parameter("intensity", 0.25 if _ghost else 0.0) + @onready var interact_area: InteractArea = $InteractArea @onready var animation_player: AnimationPlayer = $AnimationPlayer @onready var sprite_2d: Sprite2D = $Sprite2D @@ -66,12 +73,6 @@ func _set_item(new_value: InventoryItem) -> void: if sprite_2d: sprite_2d.texture = item.world_texture if item else null - if not Engine.is_editor_hint(): - var previously_collected := GameState.quest.inventory.has(item, self) - # TODO: effect is ugly - (sprite_2d.material as ShaderMaterial).set_shader_parameter( - "intensity", 0.25 if previously_collected else 0.0 - ) if interact_area: interact_area.action = "Collect " + item.type_name() if item else "Collect" @@ -88,6 +89,14 @@ func _ready() -> void: if Engine.is_editor_hint(): return + # Collected in previous run.................? or in this run..............................? + if GameState.global.inventory.has(item, self) or GameState.quest.inventory.has(item, self): + if next_scene: + # Need to keep it because this is how we link scenes together. + _ghost = true + else: + queue_free() + interact_area.interaction_started.connect(self._on_interacted) @@ -117,7 +126,8 @@ func _on_interacted(player: Player, _from_right: bool) -> void: animation_player.play("collected") await animation_player.animation_finished - GameState.quest.inventory.add_collected_item(item, self) + if not _ghost: + GameState.quest.inventory.add_collected_item(item, self) if collected_dialogue: DialogueManager.show_dialogue_balloon(collected_dialogue, dialogue_title, [self, player]) diff --git a/scenes/game_elements/props/eternal_loom/components/eternal_loom.gd b/scenes/game_elements/props/eternal_loom/components/eternal_loom.gd index 1c27ad0450..a959f32246 100644 --- a/scenes/game_elements/props/eternal_loom/components/eternal_loom.gd +++ b/scenes/game_elements/props/eternal_loom/components/eternal_loom.gd @@ -103,6 +103,8 @@ func is_item_offering_possible() -> bool: if not GameState.quest: return false + return true + if GameState.quest.quest.threads_to_collect <= 0: return false