From f8c949533841e82af0cb7130db44491a009a6f53 Mon Sep 17 00:00:00 2001 From: Bryce Date: Sat, 21 Feb 2026 07:55:11 -0800 Subject: [PATCH] tweaks --- .clj-kondo/.cache/v1/lock | 0 .lsp/.cache/db.transit.json | 1 + .opencode/skills/kq4-room-creator/SKILL.md | 147 ++++++++++++ AGENTS.md | 219 ++++++++++++++++++ TransitionPiece.gd | 6 +- TransitionPiece.tscn | 2 +- make_uid.py | 29 +++ .../archive/cave_entrance/cave_entrance.tscn | 4 +- scenes/archive/cave_top/cave_top.tscn | 4 +- scenes/archive/critter_area/critter_area.tscn | 2 +- scenes/archive/deep_cave/deep_cave.tscn | 2 +- .../healer_interior/healer_interior.tscn | 2 +- .../healer_pasture/healer_pasture.tscn | 2 +- scenes/archive/healers/healers.tscn | 6 +- scenes/archive/pit/pit.tscn | 6 +- .../kq4_003_fountain_pool.tscn | 6 +- .../kq4_003_fountain_pool.tscn.uid | 1 + .../kq4_004_ogres_cottage.tscn | 10 +- .../kq4_004_ogres_cottage.tscn.uid | 1 + .../kq4_010_forest_path.gd | 4 + .../kq4_010_forest_path.gd.uid | 2 +- .../kq4_010_forest_path.tscn | 42 ++-- .../kq4_010_forest_path.tscn.uid | 2 +- .../pic_010_visual.png.import | 8 +- .../kq4_011_enchanted_grove.gd | 12 + .../kq4_011_enchanted_grove.tscn | 20 +- scenes/kq4_016_graveyard/kq4_016_graveyard.gd | 9 + .../kq4_016_graveyard.gd.uid | 1 + .../kq4_016_graveyard/kq4_016_graveyard.tscn | 70 ++++++ .../kq4_016_graveyard.tscn.uid | 1 + scenes/kq4_016_graveyard/pic_016_visual.png | 3 + .../pic_016_visual.png.import | 40 ++++ .../kq4_019_coastal_cliffs.tscn | 10 +- .../kq4_019_coastal_cliffs.tscn.uid | 1 + scenes/kq4_020_meadow/kq4_020_meadow.gd.uid | 2 +- scenes/kq4_020_meadow/kq4_020_meadow.tscn | 8 +- scenes/kq4_020_meadow/kq4_020_meadow.tscn.uid | 1 + .../kq4_022_gnomes_cottage.gd | 17 ++ .../kq4_022_gnomes_cottage.gd.uid | 1 + .../kq4_022_gnomes_cottage.tscn | 98 ++++++++ .../kq4_022_gnomes_cottage.tscn.uid | 1 + .../kq4_022_gnomes_cottage/pic_022_visual.png | 3 + .../pic_022_visual.png.import | 40 ++++ .../kq4_023_forest_path_with_cottage.gd | 5 + .../kq4_023_forest_path_with_cottage.gd.uid | 1 + .../kq4_023_forest_path_with_cottage.tscn | 93 ++++++++ .../kq4_023_forest_path_with_cottage.tscn.uid | 1 + .../pic_023_visual.png | 3 + .../pic_023_visual.png.import | 40 ++++ .../kq4_025_beach_at_river_delta.gd.uid | 1 + .../kq4_025_beach_at_river_delta.tscn | 6 +- .../kq4_025_beach_at_river_delta.tscn.uid | 1 + .../kq4_028_mine_entrance.gd | 17 ++ .../kq4_028_mine_entrance.gd.uid | 1 + .../kq4_028_mine_entrance.tscn | 96 ++++++++ .../kq4_028_mine_entrance.tscn.uid | 1 + .../kq4_028_mine_entrance/pic_028_visual.png | 3 + .../pic_028_visual.png.import | 40 ++++ .../kq4_placeholder_template.tscn | 6 +- 59 files changed, 1076 insertions(+), 85 deletions(-) create mode 100644 .clj-kondo/.cache/v1/lock create mode 100644 .lsp/.cache/db.transit.json create mode 100644 .opencode/skills/kq4-room-creator/SKILL.md create mode 100644 AGENTS.md create mode 100644 make_uid.py create mode 100644 scenes/kq4_003_fountain_pool/kq4_003_fountain_pool.tscn.uid create mode 100644 scenes/kq4_004_ogres_cottage/kq4_004_ogres_cottage.tscn.uid create mode 100644 scenes/kq4_016_graveyard/kq4_016_graveyard.gd create mode 100644 scenes/kq4_016_graveyard/kq4_016_graveyard.gd.uid create mode 100644 scenes/kq4_016_graveyard/kq4_016_graveyard.tscn create mode 100644 scenes/kq4_016_graveyard/kq4_016_graveyard.tscn.uid create mode 100644 scenes/kq4_016_graveyard/pic_016_visual.png create mode 100644 scenes/kq4_016_graveyard/pic_016_visual.png.import create mode 100644 scenes/kq4_019_coastal_cliffs/kq4_019_coastal_cliffs.tscn.uid create mode 100644 scenes/kq4_020_meadow/kq4_020_meadow.tscn.uid create mode 100644 scenes/kq4_022_gnomes_cottage/kq4_022_gnomes_cottage.gd create mode 100644 scenes/kq4_022_gnomes_cottage/kq4_022_gnomes_cottage.gd.uid create mode 100644 scenes/kq4_022_gnomes_cottage/kq4_022_gnomes_cottage.tscn create mode 100644 scenes/kq4_022_gnomes_cottage/kq4_022_gnomes_cottage.tscn.uid create mode 100644 scenes/kq4_022_gnomes_cottage/pic_022_visual.png create mode 100644 scenes/kq4_022_gnomes_cottage/pic_022_visual.png.import create mode 100644 scenes/kq4_023_forest_path_with_cottage/kq4_023_forest_path_with_cottage.gd create mode 100644 scenes/kq4_023_forest_path_with_cottage/kq4_023_forest_path_with_cottage.gd.uid create mode 100644 scenes/kq4_023_forest_path_with_cottage/kq4_023_forest_path_with_cottage.tscn create mode 100644 scenes/kq4_023_forest_path_with_cottage/kq4_023_forest_path_with_cottage.tscn.uid create mode 100644 scenes/kq4_023_forest_path_with_cottage/pic_023_visual.png create mode 100644 scenes/kq4_023_forest_path_with_cottage/pic_023_visual.png.import create mode 100644 scenes/kq4_025_beach_at_river_delta/kq4_025_beach_at_river_delta.gd.uid create mode 100644 scenes/kq4_025_beach_at_river_delta/kq4_025_beach_at_river_delta.tscn.uid create mode 100644 scenes/kq4_028_mine_entrance/kq4_028_mine_entrance.gd create mode 100644 scenes/kq4_028_mine_entrance/kq4_028_mine_entrance.gd.uid create mode 100644 scenes/kq4_028_mine_entrance/kq4_028_mine_entrance.tscn create mode 100644 scenes/kq4_028_mine_entrance/kq4_028_mine_entrance.tscn.uid create mode 100644 scenes/kq4_028_mine_entrance/pic_028_visual.png create mode 100644 scenes/kq4_028_mine_entrance/pic_028_visual.png.import diff --git a/.clj-kondo/.cache/v1/lock b/.clj-kondo/.cache/v1/lock new file mode 100644 index 0000000..e69de29 diff --git a/.lsp/.cache/db.transit.json b/.lsp/.cache/db.transit.json new file mode 100644 index 0000000..b0ca5b3 --- /dev/null +++ b/.lsp/.cache/db.transit.json @@ -0,0 +1 @@ +["^ ","~:classpath",["~#set",[]],"~:project-hash","","~:project-root","Z:\\home\\notid\\dev\\ai-game-2","~:settings-hash","99914b932bd37a50b983c5e7c90ae93b","~:kondo-config-hash","8ecb0913fae8a8f4652e0f43d82a6e95329cbe7a2d47083a17af8dff8a817fbb","~:dependency-scheme","jar","~:analysis",null,"~:analysis-checksums",["^ "],"~:project-analysis-type","~:project-and-full-dependencies","~:version",13,"~:stubs-generation-namespaces",["^1",[]]] \ No newline at end of file diff --git a/.opencode/skills/kq4-room-creator/SKILL.md b/.opencode/skills/kq4-room-creator/SKILL.md new file mode 100644 index 0000000..9cfd88a --- /dev/null +++ b/.opencode/skills/kq4-room-creator/SKILL.md @@ -0,0 +1,147 @@ +--- +name: kq4-room-creator +description: Create new King's Quest IV room scenes from the decompiled room specs. Handles template copying, visual image setup, transition wiring, and connecting to existing rooms. +--- + +# KQ4 Room Creator + +## Overview +This skill automates the creation of new King's Quest IV rooms from the decompiled room specs. + +## When to Use +Use this skill when you need to create a new game room scene. The skill will: +1. Copy the placeholder template +2. Set up cardinal exits based on room spec +3. Wire up connections to existing rooms +4. Copy the visual image from decompile + +## How to Use + +### Step 1: Get Room Spec +First, read the room specification from: +``` +kq4-sierra-decompile/rooms/kq4-XXX-room-name/kq4-XXX-room-name.md +``` + +Look for the "Exits" section to determine which directions connect to which room numbers. + +Example from room 010: +``` +- **Exits**: North→4, South→16, East→11, West→9 +``` + +### Step 2: Copy Template +```bash +cp -r scenes/kq4_placeholder_template scenes/kq4_XXX_room_name +mv scenes/kq4_XXX_room_name/kq4_placeholder_template.gd scenes/kq4_XXX_room_name/kq4_XXX_room_name.gd +mv scenes/kq4_XXX_room_name/kq4_placeholder_template.tscn scenes/kq4_XXX_room_name/kq4_XXX_room_name.tscn +``` + +### Step 3: Copy Visual Image +```bash +cp kq4-sierra-decompile/rooms/kq4-XXX-room-name/pic_XXX_visual.png scenes/kq4_XXX_room_name/ +``` + +### Step 4: Create Import File +Reference the template import file, remember to use create_uid.py to create a uid + +### Step 5: Update .tscn File - Transition Pieces + +When adding a transition piece to the CURRENT room that leads to a DESTINATION room: + +- **Node name**: The node name should match the destination room name (e.g., `kq4_016_graveyard`) +- **target**: The SCENE UID of the destination room (from the destination's .tscn file) +- **appear_at_node**: The NAME of the transition node in the DESTINATION room that leads BACK to the current room. This is almost always the name of the current room, as it it is saying which exit in the destination room to transition move the player to. +- **label**: Human-readable name for the destination (e.g., "Graveyard") + +Example - Adding a south exit from room 010 to room 016: +```gdscript +[node name="kq4_016_graveyard" parent="." instance=ExtResource("4_abc")] +position = Vector2(910, 542) +polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381) +appear_at_node = "kq4_010_forest_path" # Name of transition in ROOM 016 that goes back to 010 +target = "uid://621uqunr9pm" # Scene UID of room 016 +label = "Graveyard" + +[node name="entrance" parent="kq4_016_graveyard" index="0"] +position = Vector2(118, 514) + +[node name="exit" parent="kq4_016_graveyard" index="1"] +position = Vector2(151, 615) +``` + +Then add the signal connection in the current room: +```gdscript +[connection signal="interacted" from="kq4_016_graveyard" to="." method="_on_graveyard_interacted"] +``` + +And add the handler in the current room's .gd file: +```gdscript +func _on_graveyard_interacted() -> void: + $kq4_016_graveyard.default_script(self) +``` + +### Step 6: Update .gd File +Remove template functions and add only handlers for connected rooms: +```gdscript +extends Scene + + +func _on_forest_path_interacted() -> void: + $kq4_010_forest_path.default_script(self) +``` + +### Step 7: Update the Destination Room + +For each exit you add, you need to add a corresponding transition in the DESTINATION room that leads back to the current room. + +Example - In room 016 (Graveyard), add north exit back to room 010: +```gdscript +[node name="kq4_010_forest_path" parent="." instance=ExtResource("4_abc")] +position = Vector2(910, -213) +polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381) +appear_at_node = "kq4_010_forest_path" # Name of THIS transition (room 016's exit to 010) +target = "uid://bxsxv6esxljit" # Scene UID of room 010 (the room we're going TO) +label = "Forest Path" + +[node name="entrance" parent="kq4_010_forest_path" index="0"] +position = Vector2(133, 643) + +[node name="exit" parent="kq4_010_forest_path" index="1"] +position = Vector2(174, 519) + +[connection signal="interacted" from="kq4_010_forest_path" to="." method="_on_forest_path_interacted"] +``` + +Then add the handler in room 016's .gd file: +```gdscript +func _on_forest_path_interacted() -> void: + $kq4_010_forest_path.default_script(self) +``` + +### Summary: target vs appear_at_node + +| Field | Value | Meaning | +|-------|-------|---------| +| `target` | Scene UID of destination room | Which scene to load | +| `appear_at_node` | Node name of exit in destination room | Which transition in that scene should appear at + + +## Room Number Mapping +Reference the spec for cardinal direction matches + +## Existing Rooms +Currently created rooms: +- kq4_003_fountain_pool (room 003) +- kq4_004_ogres_cottage (room 004) +- kq4_010_forest_path (room 010) +- kq4_011_enchanted_grove (room 011) +- kq4_019_coastal_cliffs (room 019) +- kq4_020_meadow (room 020) +- kq4_025_beach_at_river_delta (room 025) + +## Key Files +- Template: `scenes/kq4_placeholder_template/` +- Room specs: `kq4-sierra-decompile/rooms/kq4-XXX-room-name/` +- TransitionPiece: `TransitionPiece.tscn` +- Base Scene class: `Scene.gd` diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..01994c4 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,219 @@ +# AGENTS.md - AI Agent Guidelines for ai-game-2 + +## Project Overview + +This is a **Godot 4.6** game project (King's Quest IV remake). The project uses: +- Godot's scene system (`.tscn` files) +- GDScript (`.gd` files) for game logic +- NavigationServer2D for pathfinding +- Custom script builder pattern for game scripts + + +## Build & Development Commands + +### Running the Game +```bash +# Open in Godot editor (headless for CI) +godot --headless --path . + +# Or run the exported game (if built) +./export/linux/ai-game +``` + +### Single Test/Scene Testing +Godot doesn't have a traditional test framework. To test a single scene: +1. Open the project in Godot +2. Set the scene as the main scene in project.godot +3. Run with F5 + +### Code Quality +```bash +# Godot's built-in lint (via editor) +# Tools > Analyze > Check Code + +# For CI, you can run headless: +godot --headless --script-check . +``` + +## Code Style Guidelines + +*** CRITICAL **** +When you need to create a new uid, run python make_uid.py, and it will return a unique uid. When creating scenes, at a .tscn.uid with the contents uid:// + +### File Organization +- **Scenes**: `scenes/kq4_XXX_room_name/` +- **Scripts**: `scenes/kq4_XXX_room_name/kq4_XXX_room_name.gd` +- **Resources**: Visual assets copied to room folders +- **Template**: Use `scenes/kq4_placeholder_template/` when creating new rooms + +### Naming Conventions + +| Element | Convention | Example | +|---------|------------|---------| +| Scenes | `kq4_XXX_description` (snake_case) | `kq4_010_forest_path` | +| Nodes | PascalCase | `kq4_004_ogres_cottage` | +| Scripts | snake_case.gd | `kq4_010_forest_path.gd` | +| Variables | snake_case | `appear_at_node` | +| Constants | SCREAMING_SNAKE | `const MAX_SPEED = 100` | +| Classes | PascalCase | `class_name Scene` | + +### GDScript Patterns + +#### Class Definition +```gdscript +extends Node2D +class_name MyClass + +# Use @export for editor-exposed variables +@export var my_var: int = 0 +@export_file("*.tscn") var target_scene: String +``` + +#### Type Hints (Required) +```gdscript +var player: Node2D +var score: int = 0 +var name: String = "" + +func move_to(position: Vector2) -> void: + pass +``` + +#### Signals +```gdscript +signal my_signal(value: int) + +# Connecting +some_node.my_signal.connect(_on_my_signal) + +# Or in editor-created connections: +[connection signal="interacted" from="transition_piece" to="." method="_on_interacted"] +``` + +### Scene Structure (.tscn) + +#### Header +```gdscript +[gd_scene format=3 uid="uid://xxxxx"] + +[ext_resource type="Script" uid="uid://xxxxx" path="res://path/to/script.gd" id="1_abc"] +[ext_resource type="Texture2D" uid="uid://xxxxx" path="res://path/to/texture.png" id="2_abc"] +[ext_resource type="PackedScene" uid="uid://xxxxx" path="res://TransitionPiece.tscn" id="3_abc"] +``` + +#### Node Hierarchy +- Use meaningful node names +- Prefix private nodes with underscore when appropriate +- Use `unique_id=` for editor-managed nodes + +#### Transition Pieces +When adding exits to rooms: +```gdscript +[node name="kq4_004_ogres_cottage" parent="." instance=ExtResource("4_abc")] +position = Vector2(910, -213) +polygon = PackedVector2Array(...) +appear_at_node = "kq4_010_forest_path" # Node name in target scene +target = "uid://xxxxxxxx" # Scene UID +label = "Ogre's Cottage" + +[node name="entrance" parent="kq4_004_ogres_cottage" index="0"] +position = Vector2(163, 598) + +[node name="exit" parent="kq4_004_ogres_cottage" index="1"] +position = Vector2(159, 459) + +[connection signal="interacted" from="kq4_004_ogres_cottage" to="." method="_on_ogres_cottage_interacted"] + +[editable path="kq4_004_ogres_cottage"] +``` + +### Error Handling +- Use `push_error()` for critical issues +- Use `push_warning()` for non-critical issues +- Always check `load()` returns with `if resource:` before using +- Use `@onready` for node references (handles load order) + +### Room Creation Process + +1. **Copy template**: `cp -r scenes/kq4_placeholder_template scenes/kq4_XXX_name` +2. **Rename files**: Update `.gd` and `.tscn` filenames +3. **Copy visual**: Copy `pic_XXX_visual.png` from decompile +4. **Update .tscn**: + - Remove hardcoded UIDs (let Godot generate) + - Add transition pieces for cardinal directions + - Set labels to human-readable names +5. **Update .gd**: Add signal handlers for connected rooms +6. **Generate UIDs**: Let Godot import, then create `.uid` files +7. **Wire transitions**: Update `target` fields with real UIDs + +### Import Files + +When creating new room textures, create `.import` files: +```ini +[remap] +importer="texture" +type="CompressedTexture2D" +uid="uid://xxxxxxxx" +path="res://.godot/imported/image.png-xxx.ctex" + +[deps] +source_file="res://scenes/room_name/image.png" +dest_files=[...] + +[params] +compress/mode=0 +# ... standard Godot texture params +``` + +### What NOT to Do + +- **Don't** commit secrets/keys (use `.gitignore`) +- **Don't** use `print()` for debugging in production (use `push_warning()`) +- **Don't** hardcode paths - use `res://` relative paths +- **Don't** modify `project.godot` unless necessary +- **Don't** delete the `meadow-2` scene (unrelated to KQ4 rooms) + +### File Extensions to Know + +| Extension | Purpose | +|-----------|---------| +| `.gd` | GDScript source | +| `.tscn` | Godot scene | +| `.tres` | Godot resource | +| `.import` | Import configuration | +| `.uid` | Resource UID cache | +| `.md` | Room documentation (in kq4-sierra-decompile) | + +### Room Specs Reference + +Room specifications are in `kq4-sierra-decompile/rooms/kq4-XXX-name/`. +Each room has: +- `kq4-XXX-name.md` - Technical documentation +- `pic_XXX_visual.png` - Background image +- `pic_XXX_control.png` - Control/hitbox areas +- `pic_XXX_priority.png` - Priority/z-ordering + +### Key Classes + +- `Scene` (Scene.gd) - Base room class with navigation +- `TransitionPiece` (TransitionPiece.gd) - Exit/entry points +- `GameScript` (GameScript.gd) - Script builder for cutscenes +- `Ego` (Ego.gd) - Player character + +### Common Patterns + +#### Navigation +```gdscript +var path = NavigationServer2D.map_get_path(map, start, end, true) +``` + +#### Pathfinding Movement +```gdscript +scene.start_main_script(scene.ScriptBuilder.init(scene.ScriptBuilder.walk_path(ego, path)).build()) +``` + +#### Scene Transitions +```gdscript +func _on_exit_interacted() -> void: + $target_scene.default_script(self) +``` diff --git a/TransitionPiece.gd b/TransitionPiece.gd index 75abf73..60710ee 100644 --- a/TransitionPiece.gd +++ b/TransitionPiece.gd @@ -1,6 +1,6 @@ extends "res://SetPiece_.gd" -@export var target_transition: String +@export var appear_at_node: String @export_file("*.tscn") var target # Called when the node enters the scene tree for the first time. func _ready(): @@ -14,6 +14,6 @@ func _process(delta): func default_script(scene: Scene): var path = NavigationServer2D.map_get_path(scene.map, scene.pathfind.to_local(scene.ego.global_position), scene.pathfind.to_local($"exit".global_position), true) scene.start_main_script(scene.ScriptBuilder.init(scene.ScriptBuilder.walk_path(scene.ego, path)) - .and_then(scene.ScriptBuilder.transition(scene, load(target), target_transition + "/exit")) - .and_then(scene.ScriptBuilder.walk_to_deferred(target_transition + "/exit", target_transition + "/entrance")) + .and_then(scene.ScriptBuilder.transition(scene, load(target), appear_at_node + "/exit")) + .and_then(scene.ScriptBuilder.walk_to_deferred(appear_at_node + "/exit", appear_at_node + "/entrance")) .can_interrupt().build(scene, "_on_script_complete")) diff --git a/TransitionPiece.tscn b/TransitionPiece.tscn index d465d43..9ac07a9 100644 --- a/TransitionPiece.tscn +++ b/TransitionPiece.tscn @@ -5,7 +5,7 @@ [node name="Node2D" groups=["transition-set-piece"] instance=ExtResource("1_62o58")] script = ExtResource("2_krgqh") -target_transition = "" +appear_at_node = "" target = null [node name="entrance" type="Node2D" parent="." index="0"] diff --git a/make_uid.py b/make_uid.py new file mode 100644 index 0000000..e8f3f5b --- /dev/null +++ b/make_uid.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python3 +import secrets + +ALPHABET = "0123456789abcdefghijklmnopqrstuvwxyz" + +def to_base36(num: int) -> str: + """Convert integer to lowercase base36 (like Godot).""" + if num == 0: + return "0" + + chars = [] + while num: + num, rem = divmod(num, 36) + chars.append(ALPHABET[rem]) + return "".join(reversed(chars)) + + +def generate_godot_uid() -> str: + # Generate a random 64-bit unsigned integer + value = secrets.randbits(64) + + # Encode to base36 + encoded = to_base36(value) + + return encoded + + +if __name__ == "__main__": + print(generate_godot_uid()) diff --git a/scenes/archive/cave_entrance/cave_entrance.tscn b/scenes/archive/cave_entrance/cave_entrance.tscn index 01155e1..8d4a87b 100644 --- a/scenes/archive/cave_entrance/cave_entrance.tscn +++ b/scenes/archive/cave_entrance/cave_entrance.tscn @@ -50,7 +50,7 @@ offset = Vector2(-9.34324, -70.3448) [node name="pit" parent="." instance=ExtResource("6_ecdpw")] color = Color(1, 1, 1, 1) polygon = PackedVector2Array(-76, 724, -143, 1020, 290, 1123, 356, 743) -target_transition = "cave" +appear_at_node = "cave" target = "res://scenes/pit/pit.tscn" label = "Pit" @@ -63,7 +63,7 @@ position = Vector2(-50, 873) [node name="cave_top" parent="." instance=ExtResource("6_ecdpw")] color = Color(1, 1, 1, 1) polygon = PackedVector2Array(1528, 486, 1407, 869, 1939, 852, 1999, 491, 1784, 356) -target_transition = "cave_entrance" +appear_at_node = "cave_entrance" target = "res://scenes/cave_top/cave_top.tscn" label = "Into cave" diff --git a/scenes/archive/cave_top/cave_top.tscn b/scenes/archive/cave_top/cave_top.tscn index c327895..117625b 100644 --- a/scenes/archive/cave_top/cave_top.tscn +++ b/scenes/archive/cave_top/cave_top.tscn @@ -50,7 +50,7 @@ offset = Vector2(-9.34324, -70.3448) [node name="deep_cave" parent="." instance=ExtResource("5_lcni5")] color = Color(1, 1, 1, 1) polygon = PackedVector2Array(-76, 724, -143, 1020, 290, 1123, 356, 743) -target_transition = "cave_top" +appear_at_node = "cave_top" target = "res://scenes/deep_cave/deep_cave.tscn" label = "Deeper" @@ -63,7 +63,7 @@ position = Vector2(-77, 973) [node name="cave_entrance" parent="." instance=ExtResource("5_lcni5")] color = Color(1, 1, 1, 1) polygon = PackedVector2Array(146, 284, 358, 278, 290, 117, 98, 137) -target_transition = "cave_top" +appear_at_node = "cave_top" target = "res://scenes/cave_entrance/cave_entrance.tscn" label = "Outside" diff --git a/scenes/archive/critter_area/critter_area.tscn b/scenes/archive/critter_area/critter_area.tscn index 0af4723..71b28dc 100644 --- a/scenes/archive/critter_area/critter_area.tscn +++ b/scenes/archive/critter_area/critter_area.tscn @@ -50,7 +50,7 @@ offset = Vector2(-9.34324, -70.3448) [node name="pit" parent="." instance=ExtResource("5_rjb3g")] color = Color(1, 1, 1, 0.231373) polygon = PackedVector2Array(1121, 364, 994, 453, 1288, 519, 1384, 343) -target_transition = "critter_area" +appear_at_node = "critter_area" target = "res://scenes/pit/pit.tscn" label = "Pit" diff --git a/scenes/archive/deep_cave/deep_cave.tscn b/scenes/archive/deep_cave/deep_cave.tscn index 5df554b..89caa5a 100644 --- a/scenes/archive/deep_cave/deep_cave.tscn +++ b/scenes/archive/deep_cave/deep_cave.tscn @@ -50,7 +50,7 @@ offset = Vector2(-9.34324, -70.3448) [node name="cave_top" parent="." instance=ExtResource("5_8e185")] color = Color(1, 1, 1, 0.196078) polygon = PackedVector2Array(1907, 104, 1322, 200, 1895, 323, 2131, 304, 2197, 135) -target_transition = "deep_cave" +appear_at_node = "deep_cave" target = "res://scenes/cave_top/cave_top.tscn" label = "Cave top" diff --git a/scenes/archive/healer_interior/healer_interior.tscn b/scenes/archive/healer_interior/healer_interior.tscn index bc9aab7..c4ee21d 100644 --- a/scenes/archive/healer_interior/healer_interior.tscn +++ b/scenes/archive/healer_interior/healer_interior.tscn @@ -51,7 +51,7 @@ offset = Vector2(-9.34324, -70.3448) [node name="healers" parent="." instance=ExtResource("5_wtua6")] color = Color(1, 1, 1, 0.196078) polygon = PackedVector2Array(2047, 788, 1827, 1075, 2139, 1180, 2424, 1046, 2350, 837) -target_transition = "healer_interior" +appear_at_node = "healer_interior" target = "res://scenes/healers/healers.tscn" label = "outside" diff --git a/scenes/archive/healer_pasture/healer_pasture.tscn b/scenes/archive/healer_pasture/healer_pasture.tscn index 394cb2d..2944132 100644 --- a/scenes/archive/healer_pasture/healer_pasture.tscn +++ b/scenes/archive/healer_pasture/healer_pasture.tscn @@ -41,7 +41,7 @@ position = Vector2(788, 916) [node name="healers" parent="." instance=ExtResource("5_vvsg8")] color = Color(1, 1, 1, 1) polygon = PackedVector2Array(3852, 705, 3759, 1075, 4195, 1108, 4205, 725) -target_transition = "pasture" +appear_at_node = "pasture" target = "res://scenes/healers/healers.tscn" label = "Healers" diff --git a/scenes/archive/healers/healers.tscn b/scenes/archive/healers/healers.tscn index 4ed5479..0c1d0bf 100644 --- a/scenes/archive/healers/healers.tscn +++ b/scenes/archive/healers/healers.tscn @@ -362,7 +362,7 @@ texture = ExtResource("17_i0x0u") [node name="pasture" parent="." instance=ExtResource("17_wwn3l")] color = Color(1, 1, 1, 1) polygon = PackedVector2Array(-209, 888, -209, 1180, 220, 1090, 172, 830) -target_transition = "healers" +appear_at_node = "healers" target = "res://scenes/healer_pasture/healer_pasture.tscn" label = "Pasture" @@ -375,7 +375,7 @@ position = Vector2(-126, 1005) [node name="pit" parent="." instance=ExtResource("17_wwn3l")] color = Color(1, 1, 1, 1) polygon = PackedVector2Array(1976, 896, 1916, 1246, 2480, 1299, 2389, 938) -target_transition = "healers" +appear_at_node = "healers" target = "res://scenes/pit/pit.tscn" label = "Pit" @@ -390,7 +390,7 @@ visible = false position = Vector2(78, 6) color = Color(1, 1, 1, 0.27451) polygon = PackedVector2Array(344, 556, 296, 818, 614, 885, 735, 751, 636, 561) -target_transition = "healers" +appear_at_node = "healers" target = "res://scenes/healer_interior/healer_interior.tscn" label = "Inside" diff --git a/scenes/archive/pit/pit.tscn b/scenes/archive/pit/pit.tscn index 6e08f03..e8293ba 100644 --- a/scenes/archive/pit/pit.tscn +++ b/scenes/archive/pit/pit.tscn @@ -50,7 +50,7 @@ offset = Vector2(-9.34324, -70.3448) [node name="cave" parent="." instance=ExtResource("6_2u4ri")] color = Color(1, 1, 1, 1) polygon = PackedVector2Array(1866, 754, 1870, 1027, 2243, 1120, 2256, 738) -target_transition = "pit" +appear_at_node = "pit" target = "res://scenes/cave_entrance/cave_entrance.tscn" label = "Cave" @@ -63,7 +63,7 @@ position = Vector2(2217, 953) [node name="healers" parent="." instance=ExtResource("6_2u4ri")] color = Color(1, 1, 1, 1) polygon = PackedVector2Array(-115, 709, -130, 1082, 384, 1016, 377, 684) -target_transition = "pit" +appear_at_node = "pit" target = "res://scenes/healers/healers.tscn" label = "Healers" @@ -76,7 +76,7 @@ position = Vector2(-68, 930) [node name="critter_area" parent="." instance=ExtResource("6_2u4ri")] color = Color(1, 1, 1, 1) polygon = PackedVector2Array(1112, 1155, 1046, 1235, 2002, 1299, 1986, 1101, 1240, 1071) -target_transition = "pit" +appear_at_node = "pit" target = "res://scenes/critter_area/critter_area.tscn" label = "South" diff --git a/scenes/kq4_003_fountain_pool/kq4_003_fountain_pool.tscn b/scenes/kq4_003_fountain_pool/kq4_003_fountain_pool.tscn index b8e1a37..914d7de 100644 --- a/scenes/kq4_003_fountain_pool/kq4_003_fountain_pool.tscn +++ b/scenes/kq4_003_fountain_pool/kq4_003_fountain_pool.tscn @@ -1,4 +1,4 @@ -[gd_scene format=3 uid="uid://dx5rhiwa1tnvx"] +[gd_scene format=3 uid="uid://151dbn9bybiwx"] [ext_resource type="Script" uid="uid://2mmn5y4b67lg" path="res://scenes/kq4_003_fountain_pool/kq4_003_fountain_pool.gd" id="1_heq0u"] [ext_resource type="Texture2D" uid="uid://0ak807tg6jso" path="res://scenes/kq4_003_fountain_pool/ComfyUI_10001_.png" id="2_heq0u"] @@ -42,8 +42,8 @@ position = Vector2(194, 819) position = Vector2(1912, 756) color = Color(1, 1, 1, 1) polygon = PackedVector2Array(-235, -142, -147, 252, 155, 148, 102, -85) -target_transition = "kq4_003_fountain_pool" -target = "uid://detumfmmcd0jw" +appear_at_node = "kq4_003_fountain_pool" +target = "uid://1nxmm3b1kcdm1" label = "Ogre's House" [node name="entrance" parent="kq4_004_ogres_cottage" index="0"] diff --git a/scenes/kq4_003_fountain_pool/kq4_003_fountain_pool.tscn.uid b/scenes/kq4_003_fountain_pool/kq4_003_fountain_pool.tscn.uid new file mode 100644 index 0000000..6a8d0ca --- /dev/null +++ b/scenes/kq4_003_fountain_pool/kq4_003_fountain_pool.tscn.uid @@ -0,0 +1 @@ +uid://151dbn9bybiwx \ No newline at end of file diff --git a/scenes/kq4_004_ogres_cottage/kq4_004_ogres_cottage.tscn b/scenes/kq4_004_ogres_cottage/kq4_004_ogres_cottage.tscn index 836f29e..653c883 100644 --- a/scenes/kq4_004_ogres_cottage/kq4_004_ogres_cottage.tscn +++ b/scenes/kq4_004_ogres_cottage/kq4_004_ogres_cottage.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=6 format=3 uid="uid://detumfmmcd0jw"] +[gd_scene load_steps=6 format=3 uid="uid://1nxmm3b1kcdm1"] [ext_resource type="Script" uid="uid://bo6vtorh56ik4" path="res://scenes/kq4_004_ogres_cottage/kq4_004_ogres_cottage.gd" id="1_rgthv"] [ext_resource type="Texture2D" uid="uid://br1qpwa1hpcr7" path="res://scenes/kq4_004_ogres_cottage/ComfyUI_09922_.png" id="2_rgthv"] @@ -41,8 +41,8 @@ position = Vector2(194, 819) position = Vector2(5, 888) color = Color(1, 1, 1, 1) polygon = PackedVector2Array(-85, -86, -65, 128, 264, 167, 260, -78) -target_transition = "kq4_004_ogres_cottage" -target = "uid://dx5rhiwa1tnvx" +appear_at_node = "kq4_004_ogres_cottage" +target = "uid://151dbn9bybiwx" label = "Fountain Pool" [node name="entrance" parent="kq4_003_fountain_pool" index="0"] @@ -57,8 +57,8 @@ position = Vector2(-61, 74) position = Vector2(910, 542) color = Color(1, 1, 1, 1) polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381) -target_transition = "kq4_004_ogres_cottage" -target = "uid://cxqpbv3y2mkd0" +appear_at_node = "kq4_004_ogres_cottage" +target = "uid://3ujj97iw54vo5" label = "Forest Path" [node name="entrance" parent="kq4_010_forest_path" index="0"] diff --git a/scenes/kq4_004_ogres_cottage/kq4_004_ogres_cottage.tscn.uid b/scenes/kq4_004_ogres_cottage/kq4_004_ogres_cottage.tscn.uid new file mode 100644 index 0000000..d835963 --- /dev/null +++ b/scenes/kq4_004_ogres_cottage/kq4_004_ogres_cottage.tscn.uid @@ -0,0 +1 @@ +uid://1nxmm3b1kcdm1 \ No newline at end of file diff --git a/scenes/kq4_010_forest_path/kq4_010_forest_path.gd b/scenes/kq4_010_forest_path/kq4_010_forest_path.gd index c42a296..882b797 100644 --- a/scenes/kq4_010_forest_path/kq4_010_forest_path.gd +++ b/scenes/kq4_010_forest_path/kq4_010_forest_path.gd @@ -7,3 +7,7 @@ func _on_ogres_cottage_interacted() -> void: func _on_enchanted_grove_interacted() -> void: $kq4_011_enchanted_grove.default_script(self) + + +func _on_graveyard_interacted() -> void: + $kq4_016_graveyard.default_script(self) diff --git a/scenes/kq4_010_forest_path/kq4_010_forest_path.gd.uid b/scenes/kq4_010_forest_path/kq4_010_forest_path.gd.uid index c13dfde..a3f722e 100644 --- a/scenes/kq4_010_forest_path/kq4_010_forest_path.gd.uid +++ b/scenes/kq4_010_forest_path/kq4_010_forest_path.gd.uid @@ -1 +1 @@ -uid://bk8q2nad4pu44 +uid://32lvmgp4avr38 \ No newline at end of file diff --git a/scenes/kq4_010_forest_path/kq4_010_forest_path.tscn b/scenes/kq4_010_forest_path/kq4_010_forest_path.tscn index a5816e1..a1429e3 100644 --- a/scenes/kq4_010_forest_path/kq4_010_forest_path.tscn +++ b/scenes/kq4_010_forest_path/kq4_010_forest_path.tscn @@ -1,14 +1,14 @@ -[gd_scene format=3 uid="uid://cxqpbv3y2mkd0"] +[gd_scene format=3 uid="uid://3ujj97iw54vo5"] -[ext_resource type="Script" uid="uid://bk8q2nad4pu44" path="res://scenes/kq4_010_forest_path/kq4_010_forest_path.gd" id="1_abc"] -[ext_resource type="Texture2D" uid="uid://cxqpbv3y2mkd1" path="res://scenes/kq4_010_forest_path/pic_010_visual.png" id="2_abc"] +[ext_resource type="Script" uid="uid://32lvmgp4avr38" path="res://scenes/kq4_010_forest_path/kq4_010_forest_path.gd" id="1_abc"] +[ext_resource type="Texture2D" uid="uid://dklgpyc5de7gm" path="res://scenes/kq4_010_forest_path/pic_010_visual.png" id="2_abc"] [ext_resource type="Script" uid="uid://xmphq3i0wbg3" path="res://ScalePoint_.gd" id="3_abc"] [ext_resource type="PackedScene" uid="uid://c4vc1wx7k6cw" path="res://TransitionPiece.tscn" id="4_abc"] [sub_resource type="NavigationPolygon" id="NavigationPolygon_ppo6b"] -vertices = PackedVector2Array(374.47656, 1145.0078, -140.75781, 1180.2031, -76.11719, 588.6797, -53.679688, 490.4922, 1222.4688, 227.3125, 1994.2422, 468.4297, 2012.7031, 1020.2031, 1268.1875, 1113.0234) -polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3), PackedInt32Array(3, 4, 5, 6, 7, 0)]) -outlines = Array[PackedVector2Array]([PackedVector2Array(-62, 482, 1223, 217, 2004, 461, 2023, 1029, 1269, 1123, 375, 1155, -152, 1191, -86, 587)]) +vertices = PackedVector2Array(366.85156, 1243.1484, -140.97656, 1182.2422, -76.0625, 588.09375, -30.171875, 216.07031, 1221.4063, 226.97656, 1994.1406, 468.39844, 2011.7969, 1321.9766, 1052.7422, 1419.8672, -76.0625, 588.0781) +polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3), PackedInt32Array(3, 4, 5, 6, 7, 0), PackedInt32Array(3, 2, 8)]) +outlines = Array[PackedVector2Array]([PackedVector2Array(-39, 206, 1223, 217, 2004, 461, 2022, 1331, 1052, 1430, 365, 1253, -152, 1191, -86, 587)]) [node name="background" type="Node2D" unique_id=657573819] y_sort_enabled = true @@ -40,20 +40,20 @@ position = Vector2(194, 819) [node name="kq4_004_ogres_cottage" parent="." unique_id=484638394 instance=ExtResource("4_abc")] position = Vector2(910, -213) polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381) -target_transition = "kq4_004_ogres_cottage" -target = "uid://detumfmmcd0jw" +appear_at_node = "kq4_010_forest_path" +target = "uid://1nxmm3b1kcdm1" label = "Ogre's Cottage" [node name="entrance" parent="kq4_004_ogres_cottage" index="0"] -position = Vector2(163, 598) +position = Vector2(133, 643) [node name="exit" parent="kq4_004_ogres_cottage" index="1"] -position = Vector2(159, 459) +position = Vector2(174, 519) [node name="kq4_011_enchanted_grove" parent="." unique_id=1916756563 instance=ExtResource("4_abc")] position = Vector2(1766, 74) polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381) -target_transition = "kq4_010_forest_path" +appear_at_node = "kq4_010_forest_path" target = "uid://ujxktwdn8l8r" label = "Enchanted Grove" @@ -63,11 +63,11 @@ position = Vector2(24, 565) [node name="exit" parent="kq4_011_enchanted_grove" index="1"] position = Vector2(293, 554) -[node name="kq4_016_graveyard" parent="." unique_id=990092106 instance=ExtResource("4_abc")] +[node name="kq4_016_graveyard" parent="." unique_id=1802494566 instance=ExtResource("4_abc")] position = Vector2(910, 542) polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381) -target_transition = "kq4_010_forest_path" -target = "uid://pending" +appear_at_node = "kq4_010_forest_path" +target = "uid://27b2k6gky3afg" label = "Graveyard" [node name="entrance" parent="kq4_016_graveyard" index="0"] @@ -76,22 +76,10 @@ position = Vector2(118, 514) [node name="exit" parent="kq4_016_graveyard" index="1"] position = Vector2(151, 615) -[node name="kq4_009_shady_wooded_area" parent="." unique_id=1117747814 instance=ExtResource("4_abc")] -polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381) -target_transition = "kq4_010_forest_path" -target = "uid://pending" -label = "Shady Wooded Area" - -[node name="entrance" parent="kq4_009_shady_wooded_area" index="0"] -position = Vector2(506, 555) - -[node name="exit" parent="kq4_009_shady_wooded_area" index="1"] -position = Vector2(-64, 534) - [connection signal="interacted" from="kq4_004_ogres_cottage" to="." method="_on_ogres_cottage_interacted"] [connection signal="interacted" from="kq4_011_enchanted_grove" to="." method="_on_enchanted_grove_interacted"] +[connection signal="interacted" from="kq4_016_graveyard" to="." method="_on_graveyard_interacted"] [editable path="kq4_004_ogres_cottage"] [editable path="kq4_011_enchanted_grove"] [editable path="kq4_016_graveyard"] -[editable path="kq4_009_shady_wooded_area"] diff --git a/scenes/kq4_010_forest_path/kq4_010_forest_path.tscn.uid b/scenes/kq4_010_forest_path/kq4_010_forest_path.tscn.uid index 7088bfe..975a3db 100644 --- a/scenes/kq4_010_forest_path/kq4_010_forest_path.tscn.uid +++ b/scenes/kq4_010_forest_path/kq4_010_forest_path.tscn.uid @@ -1 +1 @@ -uid://cxqpbv3y2mkd0 \ No newline at end of file +uid://3ujj97iw54vo5 \ No newline at end of file diff --git a/scenes/kq4_010_forest_path/pic_010_visual.png.import b/scenes/kq4_010_forest_path/pic_010_visual.png.import index 35d18af..db9bf30 100644 --- a/scenes/kq4_010_forest_path/pic_010_visual.png.import +++ b/scenes/kq4_010_forest_path/pic_010_visual.png.import @@ -2,8 +2,8 @@ importer="texture" type="CompressedTexture2D" -uid="uid://cxqpbv3y2mkd1" -path="res://.godot/imported/pic_010_visual.png-1b09a738c2247c5c8a974df856174173.ctex" +uid="uid://1q1oabunqmgy7" +path="res://.godot/imported/pic_010_visual.png-1736a285094562efe04b38ec4dd1dc80.ctex" metadata={ "vram_texture": false } @@ -11,7 +11,7 @@ metadata={ [deps] source_file="res://scenes/kq4_010_forest_path/pic_010_visual.png" -dest_files=["res://.godot/imported/pic_010_visual.png-1b09a738c2247c5c8a974df856174173.ctex"] +dest_files=["res://.godot/imported/pic_010_visual.png-1736a285094562efe04b38ec4dd1dc80.ctex"] [params] @@ -30,7 +30,7 @@ roughness/src_normal="" process/channel_remap/red=0 process/channel_remap/green=1 process/channel_remap/blue=2 -process/channel_remap/alpha=10 +process/channel_remap/alpha=3 process/fix_alpha_border=true process/premult_alpha=false process/normal_map_invert_y=false diff --git a/scenes/kq4_011_enchanted_grove/kq4_011_enchanted_grove.gd b/scenes/kq4_011_enchanted_grove/kq4_011_enchanted_grove.gd index 0e45e8a..941f54d 100644 --- a/scenes/kq4_011_enchanted_grove/kq4_011_enchanted_grove.gd +++ b/scenes/kq4_011_enchanted_grove/kq4_011_enchanted_grove.gd @@ -1,5 +1,17 @@ extends Scene +func _on_forest_grove_interacted() -> void: + $kq4_005_forest_grove.default_script(self) + + func _on_forest_path_interacted() -> void: $kq4_010_forest_path.default_script(self) + + +func _on_haunted_forest_interacted() -> void: + $kq4_012_haunted_forest.default_script(self) + + +func _on_spooky_house_exterior_interacted() -> void: + $kq4_017_spooky_house_exterior.default_script(self) diff --git a/scenes/kq4_011_enchanted_grove/kq4_011_enchanted_grove.tscn b/scenes/kq4_011_enchanted_grove/kq4_011_enchanted_grove.tscn index 7ebb62a..8d2c0c7 100644 --- a/scenes/kq4_011_enchanted_grove/kq4_011_enchanted_grove.tscn +++ b/scenes/kq4_011_enchanted_grove/kq4_011_enchanted_grove.tscn @@ -1,7 +1,7 @@ [gd_scene format=3 uid="uid://ujxktwdn8l8r"] [ext_resource type="Script" uid="uid://bulhkgdox6uan" path="res://scenes/kq4_011_enchanted_grove/kq4_011_enchanted_grove.gd" id="1_abc"] -[ext_resource type="Texture2D" uid="uid://r4tba15getlv" path="res://scenes/kq4_011_enchanted_grove/pic_011_visual.png" id="2_abc"] +[ext_resource type="Texture2D" uid="uid://b7r13k8iqy8kn" path="res://scenes/kq4_011_enchanted_grove/pic_011_visual.png" id="2_4yweh"] [ext_resource type="Script" uid="uid://xmphq3i0wbg3" path="res://ScalePoint_.gd" id="3_abc"] [ext_resource type="PackedScene" uid="uid://c4vc1wx7k6cw" path="res://TransitionPiece.tscn" id="4_abc"] @@ -16,7 +16,7 @@ script = ExtResource("1_abc") [node name="bg" type="Sprite2D" parent="." unique_id=874052749] scale = Vector2(6, 6) -texture = ExtResource("2_abc") +texture = ExtResource("2_4yweh") centered = false [node name="StartScalePoint" type="Node2D" parent="." unique_id=1640687858] @@ -40,8 +40,7 @@ position = Vector2(194, 819) [node name="kq4_005_forest_grove" parent="." unique_id=484638394 instance=ExtResource("4_abc")] position = Vector2(910, -213) polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381) -target_transition = "kq4_011_enchanted_grove" -target = "uid://pending" +appear_at_node = "kq4_011_enchanted_grove" label = "Forest Grove" [node name="entrance" parent="kq4_005_forest_grove" index="0"] @@ -53,8 +52,7 @@ position = Vector2(151, 615) [node name="kq4_012_haunted_forest" parent="." unique_id=1916756563 instance=ExtResource("4_abc")] position = Vector2(1766, 74) polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381) -target_transition = "kq4_011_enchanted_grove" -target = "uid://pending" +appear_at_node = "kq4_011_enchanted_grove" label = "Haunted Forest" [node name="entrance" parent="kq4_012_haunted_forest" index="0"] @@ -66,8 +64,7 @@ position = Vector2(293, 554) [node name="kq4_017_spooky_house_exterior" parent="." unique_id=990092106 instance=ExtResource("4_abc")] position = Vector2(910, 542) polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381) -target_transition = "kq4_011_enchanted_grove" -target = "uid://pending" +appear_at_node = "kq4_011_enchanted_grove" label = "Spooky House Exterior" [node name="entrance" parent="kq4_017_spooky_house_exterior" index="0"] @@ -78,8 +75,8 @@ position = Vector2(151, 615) [node name="kq4_010_forest_path" parent="." unique_id=1117747814 instance=ExtResource("4_abc")] polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381) -target_transition = "kq4_011_enchanted_grove" -target = "uid://cxqpbv3y2mkd0" +appear_at_node = "kq4_010_forest_path" +target = "uid://3ujj97iw54vo5" label = "Forest Path" [node name="entrance" parent="kq4_010_forest_path" index="0"] @@ -88,7 +85,10 @@ position = Vector2(506, 555) [node name="exit" parent="kq4_010_forest_path" index="1"] position = Vector2(-64, 534) +[connection signal="interacted" from="kq4_005_forest_grove" to="." method="_on_forest_grove_interacted"] [connection signal="interacted" from="kq4_010_forest_path" to="." method="_on_forest_path_interacted"] +[connection signal="interacted" from="kq4_012_haunted_forest" to="." method="_on_haunted_forest_interacted"] +[connection signal="interacted" from="kq4_017_spooky_house_exterior" to="." method="_on_spooky_house_exterior_interacted"] [editable path="kq4_005_forest_grove"] [editable path="kq4_012_haunted_forest"] diff --git a/scenes/kq4_016_graveyard/kq4_016_graveyard.gd b/scenes/kq4_016_graveyard/kq4_016_graveyard.gd new file mode 100644 index 0000000..9790a0f --- /dev/null +++ b/scenes/kq4_016_graveyard/kq4_016_graveyard.gd @@ -0,0 +1,9 @@ +extends Scene + + +func _on_forest_path_interacted() -> void: + $kq4_010_forest_path.default_script(self) + + +func _on_gnomes_cottage_interacted() -> void: + $kq4_022_gnomes_cottage.default_script(self) diff --git a/scenes/kq4_016_graveyard/kq4_016_graveyard.gd.uid b/scenes/kq4_016_graveyard/kq4_016_graveyard.gd.uid new file mode 100644 index 0000000..962ebc2 --- /dev/null +++ b/scenes/kq4_016_graveyard/kq4_016_graveyard.gd.uid @@ -0,0 +1 @@ +uid://b7elji15ea6kg diff --git a/scenes/kq4_016_graveyard/kq4_016_graveyard.tscn b/scenes/kq4_016_graveyard/kq4_016_graveyard.tscn new file mode 100644 index 0000000..805b950 --- /dev/null +++ b/scenes/kq4_016_graveyard/kq4_016_graveyard.tscn @@ -0,0 +1,70 @@ +[gd_scene format=3 uid="uid://27b2k6gky3afg"] + +[ext_resource type="Script" uid="uid://b7elji15ea6kg" path="res://scenes/kq4_016_graveyard/kq4_016_graveyard.gd" id="1_abc"] +[ext_resource type="Texture2D" uid="uid://b1sd2bt2j641b" path="res://scenes/kq4_016_graveyard/pic_016_visual.png" id="2_abc"] +[ext_resource type="Script" uid="uid://xmphq3i0wbg3" path="res://ScalePoint_.gd" id="3_abc"] +[ext_resource type="PackedScene" uid="uid://c4vc1wx7k6cw" path="res://TransitionPiece.tscn" id="4_abc"] + +[sub_resource type="NavigationPolygon" id="NavigationPolygon_ppo6b"] +vertices = PackedVector2Array(366.85156, 1243.1484, -140.97656, 1182.2422, -76.0625, 588.09375, -30.171875, 216.07031, 1221.4063, 226.97656, 1994.1406, 468.39844, 2011.7969, 1321.9766, 1052.7422, 1419.8672, -76.0625, 588.0781) +polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3), PackedInt32Array(3, 4, 5, 6, 7, 0), PackedInt32Array(3, 2, 8)]) +outlines = Array[PackedVector2Array]([PackedVector2Array(-39, 206, 1223, 217, 2004, 461, 2022, 1331, 1052, 1430, 365, 1253, -152, 1191, -86, 587)]) + +[node name="background" type="Node2D" unique_id=657573819] +y_sort_enabled = true +script = ExtResource("1_abc") + +[node name="bg" type="Sprite2D" parent="." unique_id=874052749] +scale = Vector2(6, 6) +texture = ExtResource("2_abc") +centered = false + +[node name="StartScalePoint" type="Node2D" parent="." unique_id=1640687858] +position = Vector2(1476, 742) +script = ExtResource("3_abc") +target_scale = 0.25 + +[node name="EndScalePoint" type="Node2D" parent="." unique_id=1996763530] +position = Vector2(1408, 1097) +scale = Vector2(0.44, 0.44) +script = ExtResource("3_abc") +target_scale = 0.35 + +[node name="pathfind" type="NavigationRegion2D" parent="." unique_id=1418661203] +position = Vector2(-1, 0) +navigation_polygon = SubResource("NavigationPolygon_ppo6b") + +[node name="default-starting-point" type="Node2D" parent="." unique_id=1018141532] +position = Vector2(194, 819) + +[node name="kq4_010_forest_path" parent="." unique_id=1290603997 instance=ExtResource("4_abc")] +position = Vector2(910, -213) +polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381) +appear_at_node = "kq4_016_graveyard" +target = "uid://3ujj97iw54vo5" +label = "Forest Path" + +[node name="entrance" parent="kq4_010_forest_path" index="0"] +position = Vector2(133, 643) + +[node name="exit" parent="kq4_010_forest_path" index="1"] +position = Vector2(174, 519) + +[node name="kq4_022_gnomes_cottage" parent="." unique_id=1761087950 instance=ExtResource("4_abc")] +position = Vector2(910, 542) +polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381) +appear_at_node = "kq4_016_graveyard" +target = "uid://3oq4x3exoimdb" +label = "Gnomes Cottage" + +[node name="entrance" parent="kq4_022_gnomes_cottage" index="0"] +position = Vector2(133, 643) + +[node name="exit" parent="kq4_022_gnomes_cottage" index="1"] +position = Vector2(174, 519) + +[connection signal="interacted" from="kq4_010_forest_path" to="." method="_on_forest_path_interacted"] +[connection signal="interacted" from="kq4_022_gnomes_cottage" to="." method="_on_gnomes_cottage_interacted"] + +[editable path="kq4_010_forest_path"] +[editable path="kq4_022_gnomes_cottage"] diff --git a/scenes/kq4_016_graveyard/kq4_016_graveyard.tscn.uid b/scenes/kq4_016_graveyard/kq4_016_graveyard.tscn.uid new file mode 100644 index 0000000..5307ba0 --- /dev/null +++ b/scenes/kq4_016_graveyard/kq4_016_graveyard.tscn.uid @@ -0,0 +1 @@ +uid://27b2k6gky3afg \ No newline at end of file diff --git a/scenes/kq4_016_graveyard/pic_016_visual.png b/scenes/kq4_016_graveyard/pic_016_visual.png new file mode 100644 index 0000000..ca86171 --- /dev/null +++ b/scenes/kq4_016_graveyard/pic_016_visual.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0bd55035434b6e5382c14e2291b0d73996227209747694e52f15c52fb717ed8 +size 13223 diff --git a/scenes/kq4_016_graveyard/pic_016_visual.png.import b/scenes/kq4_016_graveyard/pic_016_visual.png.import new file mode 100644 index 0000000..c7486b6 --- /dev/null +++ b/scenes/kq4_016_graveyard/pic_016_visual.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b1sd2bt2j641b" +path="res://.godot/imported/pic_016_visual.png-5b819133df0c0ff81f9522385fb3f2fa.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://scenes/kq4_016_graveyard/pic_016_visual.png" +dest_files=["res://.godot/imported/pic_016_visual.png-5b819133df0c0ff81f9522385fb3f2fa.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/scenes/kq4_019_coastal_cliffs/kq4_019_coastal_cliffs.tscn b/scenes/kq4_019_coastal_cliffs/kq4_019_coastal_cliffs.tscn index 40d9fa1..e1c12d2 100644 --- a/scenes/kq4_019_coastal_cliffs/kq4_019_coastal_cliffs.tscn +++ b/scenes/kq4_019_coastal_cliffs/kq4_019_coastal_cliffs.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=5 format=3 uid="uid://bnywifkj64juu"] +[gd_scene load_steps=5 format=3 uid="uid://3eh8ys3v25m45"] [ext_resource type="PackedScene" uid="uid://ctkmgtcvpnkm8" path="res://TemplateScene.tscn" id="1_fcvak"] [ext_resource type="Texture2D" uid="uid://blus266j2vw5o" path="res://scenes/kq4_019_coastal_cliffs/ComfyUI_10031_.png" id="2_xrxwv"] @@ -19,8 +19,8 @@ navigation_polygon = SubResource("NavigationPolygon_mt6rs") [node name="kq4_020_meadow" parent="." index="5" instance=ExtResource("4_8xjvi")] polygon = PackedVector2Array(1821, 506, 1756, 1110, 2122, 1104, 2067, 511) -target_transition = "kq4_019_coastal_cliffs" -target = "uid://dnyfhcvbsecvy" +appear_at_node = "kq4_019_coastal_cliffs" +target = "uid://2yy1t1lic39gp" label = "Meadow" [node name="entrance" parent="kq4_020_meadow" index="0"] @@ -31,8 +31,8 @@ position = Vector2(2048, 766) [node name="kq4_025_beach_at_river_delta" parent="." index="6" instance=ExtResource("4_8xjvi")] polygon = PackedVector2Array(999, 905, 2014, 941, 1973, 1208, 938, 1204) -target_transition = "kq4_025_beach_at_river_delta" -target = "uid://bdssynip0x1ki" +appear_at_node = "kq4_025_beach_at_river_delta" +target = "uid://3vcewxyhbqica" label = "River Delta" [node name="entrance" parent="kq4_025_beach_at_river_delta" index="0"] diff --git a/scenes/kq4_019_coastal_cliffs/kq4_019_coastal_cliffs.tscn.uid b/scenes/kq4_019_coastal_cliffs/kq4_019_coastal_cliffs.tscn.uid new file mode 100644 index 0000000..4bd8bdd --- /dev/null +++ b/scenes/kq4_019_coastal_cliffs/kq4_019_coastal_cliffs.tscn.uid @@ -0,0 +1 @@ +uid://3eh8ys3v25m45 \ No newline at end of file diff --git a/scenes/kq4_020_meadow/kq4_020_meadow.gd.uid b/scenes/kq4_020_meadow/kq4_020_meadow.gd.uid index 962ebc2..f1025fd 100644 --- a/scenes/kq4_020_meadow/kq4_020_meadow.gd.uid +++ b/scenes/kq4_020_meadow/kq4_020_meadow.gd.uid @@ -1 +1 @@ -uid://b7elji15ea6kg +uid://239gc95e8fguu \ No newline at end of file diff --git a/scenes/kq4_020_meadow/kq4_020_meadow.tscn b/scenes/kq4_020_meadow/kq4_020_meadow.tscn index 2af58b5..2560a73 100644 --- a/scenes/kq4_020_meadow/kq4_020_meadow.tscn +++ b/scenes/kq4_020_meadow/kq4_020_meadow.tscn @@ -1,6 +1,6 @@ -[gd_scene format=3 uid="uid://dnyfhcvbsecvy"] +[gd_scene format=3 uid="uid://2yy1t1lic39gp"] -[ext_resource type="Script" uid="uid://b7elji15ea6kg" path="res://scenes/kq4_020_meadow/kq4_020_meadow.gd" id="1_bn14v"] +[ext_resource type="Script" uid="uid://239gc95e8fguu" path="res://scenes/kq4_020_meadow/kq4_020_meadow.gd" id="1_bn14v"] [ext_resource type="Texture2D" uid="uid://mo525tcuoqes" path="res://scenes/kq4_020_meadow/ComfyUI_09941_.png" id="2_bn14v"] [ext_resource type="Script" uid="uid://xmphq3i0wbg3" path="res://ScalePoint_.gd" id="3_6lc2m"] [ext_resource type="PackedScene" uid="uid://c4vc1wx7k6cw" path="res://TransitionPiece.tscn" id="4_nrc7r"] @@ -41,8 +41,8 @@ position = Vector2(194, 819) [node name="kq4_019_coastal_cliffs" parent="." unique_id=1117747814 instance=ExtResource("4_nrc7r")] polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381) -target_transition = "kq4_019_coastal_cliffs" -target = "uid://bnywifkj64juu" +appear_at_node = "kq4_019_coastal_cliffs" +target = "uid://3eh8ys3v25m45" label = "Beach" [node name="entrance" parent="kq4_019_coastal_cliffs" index="0"] diff --git a/scenes/kq4_020_meadow/kq4_020_meadow.tscn.uid b/scenes/kq4_020_meadow/kq4_020_meadow.tscn.uid new file mode 100644 index 0000000..2fb5e8d --- /dev/null +++ b/scenes/kq4_020_meadow/kq4_020_meadow.tscn.uid @@ -0,0 +1 @@ +uid://2yy1t1lic39gp \ No newline at end of file diff --git a/scenes/kq4_022_gnomes_cottage/kq4_022_gnomes_cottage.gd b/scenes/kq4_022_gnomes_cottage/kq4_022_gnomes_cottage.gd new file mode 100644 index 0000000..5c03db0 --- /dev/null +++ b/scenes/kq4_022_gnomes_cottage/kq4_022_gnomes_cottage.gd @@ -0,0 +1,17 @@ +extends Scene + + +func _on_graveyard_interacted() -> void: + $kq4_016_graveyard.default_script(self) + + +func _on_028_interacted() -> void: + $kq4_028.default_script(self) + + +func _on_023_interacted() -> void: + $kq4_023_forest_path_with_cottage.default_script(self) + + +func _on_021_interacted() -> void: + $kq4_021.default_script(self) diff --git a/scenes/kq4_022_gnomes_cottage/kq4_022_gnomes_cottage.gd.uid b/scenes/kq4_022_gnomes_cottage/kq4_022_gnomes_cottage.gd.uid new file mode 100644 index 0000000..077d02a --- /dev/null +++ b/scenes/kq4_022_gnomes_cottage/kq4_022_gnomes_cottage.gd.uid @@ -0,0 +1 @@ +uid://g13phptwh3s8 diff --git a/scenes/kq4_022_gnomes_cottage/kq4_022_gnomes_cottage.tscn b/scenes/kq4_022_gnomes_cottage/kq4_022_gnomes_cottage.tscn new file mode 100644 index 0000000..57c676c --- /dev/null +++ b/scenes/kq4_022_gnomes_cottage/kq4_022_gnomes_cottage.tscn @@ -0,0 +1,98 @@ +[gd_scene format=3 uid="uid://3oq4x3exoimdb"] + +[ext_resource type="Script" uid="uid://g13phptwh3s8" path="res://scenes/kq4_022_gnomes_cottage/kq4_022_gnomes_cottage.gd" id="1_abc"] +[ext_resource type="Texture2D" uid="uid://cyiqg0y171nos" path="res://scenes/kq4_022_gnomes_cottage/pic_022_visual.png" id="2_abc"] +[ext_resource type="Script" uid="uid://xmphq3i0wbg3" path="res://ScalePoint_.gd" id="3_abc"] +[ext_resource type="PackedScene" uid="uid://c4vc1wx7k6cw" path="res://TransitionPiece.tscn" id="4_abc"] + +[sub_resource type="NavigationPolygon" id="NavigationPolygon_ppo6b"] +vertices = PackedVector2Array(374.47656, 1145.0078, -140.75781, 1180.2031, -76.11719, 588.6797, -53.679688, 490.4922, 1222.4688, 227.3125, 1994.2422, 468.4297, 2012.7031, 1020.2031, 1268.1875, 1113.0234) +polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3), PackedInt32Array(3, 4, 5, 6, 7, 0)]) +outlines = Array[PackedVector2Array]([PackedVector2Array(-62, 482, 1223, 217, 2004, 461, 2023, 1029, 1269, 1123, 375, 1155, -152, 1191, -86, 587)]) + +[node name="background" type="Node2D" unique_id=657573819] +y_sort_enabled = true +script = ExtResource("1_abc") + +[node name="bg" type="Sprite2D" parent="." unique_id=874052749] +scale = Vector2(6, 6) +texture = ExtResource("2_abc") +centered = false + +[node name="StartScalePoint" type="Node2D" parent="." unique_id=1640687858] +position = Vector2(1476, 742) +script = ExtResource("3_abc") +target_scale = 0.25 + +[node name="EndScalePoint" type="Node2D" parent="." unique_id=1996763530] +position = Vector2(1408, 1097) +scale = Vector2(0.44, 0.44) +script = ExtResource("3_abc") +target_scale = 0.35 + +[node name="pathfind" type="NavigationRegion2D" parent="." unique_id=1418661203] +position = Vector2(-1, 0) +navigation_polygon = SubResource("NavigationPolygon_ppo6b") + +[node name="default-starting-point" type="Node2D" parent="." unique_id=1018141532] +position = Vector2(194, 819) + +[node name="kq4_016_graveyard" parent="." unique_id=484638394 instance=ExtResource("4_abc")] +position = Vector2(910, -213) +polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381) +appear_at_node = "kq4_022_gnomes_cottage" +target = "uid://27b2k6gky3afg" +label = "Graveyard" + +[node name="entrance" parent="kq4_016_graveyard" index="0"] +position = Vector2(133, 643) + +[node name="exit" parent="kq4_016_graveyard" index="1"] +position = Vector2(174, 519) + +[node name="kq4_028" parent="." unique_id=1916756563 instance=ExtResource("4_abc")] +position = Vector2(910, 542) +polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381) +appear_at_node = "kq4_022_gnomes_cottage" +target = "uid://qkcwifq2lb9m" +label = "South Exit" + +[node name="entrance" parent="kq4_028" index="0"] +position = Vector2(118, 514) + +[node name="exit" parent="kq4_028" index="1"] +position = Vector2(151, 615) + +[node name="kq4_023_forest_path_with_cottage" parent="." unique_id=990092106 instance=ExtResource("4_abc")] +position = Vector2(1766, 74) +polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381) +appear_at_node = "kq4_023_forest_path_with_cottage" +target = "uid://1mhkt47y9jjhc" +label = "Forest Path with Cottage" + +[node name="entrance" parent="kq4_023_forest_path_with_cottage" index="0"] +position = Vector2(24, 565) + +[node name="exit" parent="kq4_023_forest_path_with_cottage" index="1"] +position = Vector2(293, 554) + +[node name="kq4_021" parent="." unique_id=1117747814 instance=ExtResource("4_abc")] +polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381) +appear_at_node = "kq4_022_gnomes_cottage" +label = "West Exit" + +[node name="entrance" parent="kq4_021" index="0"] +position = Vector2(506, 555) + +[node name="exit" parent="kq4_021" index="1"] +position = Vector2(-64, 534) + +[connection signal="interacted" from="kq4_016_graveyard" to="." method="_on_graveyard_interacted"] +[connection signal="interacted" from="kq4_028" to="." method="_on_028_interacted"] +[connection signal="interacted" from="kq4_023_forest_path_with_cottage" to="." method="_on_023_interacted"] +[connection signal="interacted" from="kq4_021" to="." method="_on_021_interacted"] + +[editable path="kq4_016_graveyard"] +[editable path="kq4_028"] +[editable path="kq4_023_forest_path_with_cottage"] +[editable path="kq4_021"] diff --git a/scenes/kq4_022_gnomes_cottage/kq4_022_gnomes_cottage.tscn.uid b/scenes/kq4_022_gnomes_cottage/kq4_022_gnomes_cottage.tscn.uid new file mode 100644 index 0000000..f74829f --- /dev/null +++ b/scenes/kq4_022_gnomes_cottage/kq4_022_gnomes_cottage.tscn.uid @@ -0,0 +1 @@ +uid://3oq4x3exoimdb \ No newline at end of file diff --git a/scenes/kq4_022_gnomes_cottage/pic_022_visual.png b/scenes/kq4_022_gnomes_cottage/pic_022_visual.png new file mode 100644 index 0000000..94ea474 --- /dev/null +++ b/scenes/kq4_022_gnomes_cottage/pic_022_visual.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:35fc5216372079a72e90fa4776d354de648355b5dd44410a3421f986ae8356bd +size 15783 diff --git a/scenes/kq4_022_gnomes_cottage/pic_022_visual.png.import b/scenes/kq4_022_gnomes_cottage/pic_022_visual.png.import new file mode 100644 index 0000000..be2806b --- /dev/null +++ b/scenes/kq4_022_gnomes_cottage/pic_022_visual.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cyiqg0y171nos" +path="res://.godot/imported/pic_022_visual.png-78c622a8d365c413a2988f64b6256373.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://scenes/kq4_022_gnomes_cottage/pic_022_visual.png" +dest_files=["res://.godot/imported/pic_022_visual.png-78c622a8d365c413a2988f64b6256373.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=10 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/scenes/kq4_023_forest_path_with_cottage/kq4_023_forest_path_with_cottage.gd b/scenes/kq4_023_forest_path_with_cottage/kq4_023_forest_path_with_cottage.gd new file mode 100644 index 0000000..812b53f --- /dev/null +++ b/scenes/kq4_023_forest_path_with_cottage/kq4_023_forest_path_with_cottage.gd @@ -0,0 +1,5 @@ +extends Scene + + +func _on_gnomes_cottage_interacted() -> void: + $kq4_022_gnomes_cottage.default_script(self) diff --git a/scenes/kq4_023_forest_path_with_cottage/kq4_023_forest_path_with_cottage.gd.uid b/scenes/kq4_023_forest_path_with_cottage/kq4_023_forest_path_with_cottage.gd.uid new file mode 100644 index 0000000..6907226 --- /dev/null +++ b/scenes/kq4_023_forest_path_with_cottage/kq4_023_forest_path_with_cottage.gd.uid @@ -0,0 +1 @@ +uid://cjqj7aaixs44q diff --git a/scenes/kq4_023_forest_path_with_cottage/kq4_023_forest_path_with_cottage.tscn b/scenes/kq4_023_forest_path_with_cottage/kq4_023_forest_path_with_cottage.tscn new file mode 100644 index 0000000..ad02093 --- /dev/null +++ b/scenes/kq4_023_forest_path_with_cottage/kq4_023_forest_path_with_cottage.tscn @@ -0,0 +1,93 @@ +[gd_scene format=3 uid="uid://1mhkt47y9jjhc"] + +[ext_resource type="Script" uid="uid://cjqj7aaixs44q" path="res://scenes/kq4_023_forest_path_with_cottage/kq4_023_forest_path_with_cottage.gd" id="1_abc"] +[ext_resource type="Texture2D" uid="uid://pic023visual" path="res://scenes/kq4_023_forest_path_with_cottage/pic_023_visual.png" id="2_abc"] +[ext_resource type="Script" uid="uid://xmphq3i0wbg3" path="res://ScalePoint_.gd" id="3_abc"] +[ext_resource type="PackedScene" uid="uid://c4vc1wx7k6cw" path="res://TransitionPiece.tscn" id="4_abc"] + +[sub_resource type="NavigationPolygon" id="NavigationPolygon_ppo6b"] +vertices = PackedVector2Array(374.47656, 1145.0078, -140.75781, 1180.2031, -76.11719, 588.6797, -53.679688, 490.4922, 1222.4688, 227.3125, 1994.2422, 468.4297, 2012.7031, 1020.2031, 1268.1875, 1113.0234) +polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3), PackedInt32Array(3, 4, 5, 6, 7, 0)]) +outlines = Array[PackedVector2Array]([PackedVector2Array(-62, 482, 1223, 217, 2004, 461, 2023, 1029, 1269, 1123, 375, 1155, -152, 1191, -86, 587)]) + +[node name="background" type="Node2D" unique_id=657573819] +y_sort_enabled = true +script = ExtResource("1_abc") + +[node name="bg" type="Sprite2D" parent="." unique_id=874052749] +scale = Vector2(6, 6) +texture = ExtResource("2_abc") +centered = false + +[node name="StartScalePoint" type="Node2D" parent="." unique_id=1640687858] +position = Vector2(1476, 742) +script = ExtResource("3_abc") +target_scale = 0.25 + +[node name="EndScalePoint" type="Node2D" parent="." unique_id=1996763530] +position = Vector2(1408, 1097) +scale = Vector2(0.44, 0.44) +script = ExtResource("3_abc") +target_scale = 0.35 + +[node name="pathfind" type="NavigationRegion2D" parent="." unique_id=1418661203] +position = Vector2(-1, 0) +navigation_polygon = SubResource("NavigationPolygon_ppo6b") + +[node name="default-starting-point" type="Node2D" parent="." unique_id=1018141532] +position = Vector2(194, 819) + +[node name="kq4_017_spooky_house_exterior" parent="." unique_id=484638394 instance=ExtResource("4_abc")] +position = Vector2(910, -213) +polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381) +appear_at_node = "kq4_017_spooky_house_exterior" +label = "Spooky House Exterior" + +[node name="entrance" parent="kq4_017_spooky_house_exterior" index="0"] +position = Vector2(133, 643) + +[node name="exit" parent="kq4_017_spooky_house_exterior" index="1"] +position = Vector2(174, 519) + +[node name="kq4_024_waterfall_and_pool" parent="." unique_id=1916756563 instance=ExtResource("4_abc")] +position = Vector2(1766, 74) +polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381) +appear_at_node = "kq4_024_waterfall_and_pool" +label = "Waterfall and Pool" + +[node name="entrance" parent="kq4_024_waterfall_and_pool" index="0"] +position = Vector2(24, 565) + +[node name="exit" parent="kq4_024_waterfall_and_pool" index="1"] +position = Vector2(293, 554) + +[node name="kq4_029_dense_forest" parent="." unique_id=990092106 instance=ExtResource("4_abc")] +position = Vector2(910, 542) +polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381) +appear_at_node = "kq4_029_dense_forest" +label = "Dense Forest" + +[node name="entrance" parent="kq4_029_dense_forest" index="0"] +position = Vector2(118, 514) + +[node name="exit" parent="kq4_029_dense_forest" index="1"] +position = Vector2(151, 615) + +[node name="kq4_022_gnomes_cottage" parent="." unique_id=1117747814 instance=ExtResource("4_abc")] +polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381) +appear_at_node = "kq4_022_gnomes_cottage" +target = "uid://3oq4x3exoimdb" +label = "Gnome's Cottage" + +[node name="entrance" parent="kq4_022_gnomes_cottage" index="0"] +position = Vector2(506, 555) + +[node name="exit" parent="kq4_022_gnomes_cottage" index="1"] +position = Vector2(-64, 534) + +[connection signal="interacted" from="kq4_022_gnomes_cottage" to="." method="_on_gnomes_cottage_interacted"] + +[editable path="kq4_017_spooky_house_exterior"] +[editable path="kq4_024_waterfall_and_pool"] +[editable path="kq4_029_dense_forest"] +[editable path="kq4_022_gnomes_cottage"] diff --git a/scenes/kq4_023_forest_path_with_cottage/kq4_023_forest_path_with_cottage.tscn.uid b/scenes/kq4_023_forest_path_with_cottage/kq4_023_forest_path_with_cottage.tscn.uid new file mode 100644 index 0000000..38d5d8c --- /dev/null +++ b/scenes/kq4_023_forest_path_with_cottage/kq4_023_forest_path_with_cottage.tscn.uid @@ -0,0 +1 @@ +uid://1mhkt47y9jjhc \ No newline at end of file diff --git a/scenes/kq4_023_forest_path_with_cottage/pic_023_visual.png b/scenes/kq4_023_forest_path_with_cottage/pic_023_visual.png new file mode 100644 index 0000000..24a8a93 --- /dev/null +++ b/scenes/kq4_023_forest_path_with_cottage/pic_023_visual.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e46e01a8f0d0e54a5fc9c86080ceae26ddfa0811aa2bfa7e745c8f8f0d4ff6a +size 16437 diff --git a/scenes/kq4_023_forest_path_with_cottage/pic_023_visual.png.import b/scenes/kq4_023_forest_path_with_cottage/pic_023_visual.png.import new file mode 100644 index 0000000..c599225 --- /dev/null +++ b/scenes/kq4_023_forest_path_with_cottage/pic_023_visual.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://pic023visual" +path="res://.godot/imported/pic_023_visual.png-af2fa2df923c54802b144dfd73c998c6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://scenes/kq4_023_forest_path_with_cottage/pic_023_visual.png" +dest_files=["res://.godot/imported/pic_023_visual.png-af2fa2df923c54802b144dfd73c998c6.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=1 +process/channel_remap/green=2 +process/channel_remap/blue=3 +process/channel_remap/alpha=0 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/scenes/kq4_025_beach_at_river_delta/kq4_025_beach_at_river_delta.gd.uid b/scenes/kq4_025_beach_at_river_delta/kq4_025_beach_at_river_delta.gd.uid new file mode 100644 index 0000000..fdb0b03 --- /dev/null +++ b/scenes/kq4_025_beach_at_river_delta/kq4_025_beach_at_river_delta.gd.uid @@ -0,0 +1 @@ +uid://376inubvugqod \ No newline at end of file diff --git a/scenes/kq4_025_beach_at_river_delta/kq4_025_beach_at_river_delta.tscn b/scenes/kq4_025_beach_at_river_delta/kq4_025_beach_at_river_delta.tscn index c53c632..a6e56c2 100644 --- a/scenes/kq4_025_beach_at_river_delta/kq4_025_beach_at_river_delta.tscn +++ b/scenes/kq4_025_beach_at_river_delta/kq4_025_beach_at_river_delta.tscn @@ -1,4 +1,4 @@ -[gd_scene format=3 uid="uid://bdssynip0x1ki"] +[gd_scene format=3 uid="uid://3vcewxyhbqica"] [ext_resource type="PackedScene" uid="uid://ctkmgtcvpnkm8" path="res://TemplateScene.tscn" id="1_vunpr"] [ext_resource type="Texture2D" uid="uid://bjt8wovxf8m1b" path="res://scenes/kq4_025_beach_at_river_delta/reg.png" id="2_uc3vv"] @@ -21,8 +21,8 @@ navigation_polygon = SubResource("NavigationPolygon_n0vbh") [node name="kq4_019_coastal_cliffs" parent="." index="5" unique_id=893874410 instance=ExtResource("3_slrk6")] polygon = PackedVector2Array(1442, 94, 973, 238, 939, 386, 1753, 367, 1751, 180) -target_transition = "kq4_19_coastal_cliffs" -target = "" +appear_at_node = "kq4_19_coastal_cliffs" +target = "uid://3eh8ys3v25m45" label = "Coastal Cliffs" [node name="entrance" parent="kq4_019_coastal_cliffs" index="0"] diff --git a/scenes/kq4_025_beach_at_river_delta/kq4_025_beach_at_river_delta.tscn.uid b/scenes/kq4_025_beach_at_river_delta/kq4_025_beach_at_river_delta.tscn.uid new file mode 100644 index 0000000..f26bd4f --- /dev/null +++ b/scenes/kq4_025_beach_at_river_delta/kq4_025_beach_at_river_delta.tscn.uid @@ -0,0 +1 @@ +uid://3vcewxyhbqica \ No newline at end of file diff --git a/scenes/kq4_028_mine_entrance/kq4_028_mine_entrance.gd b/scenes/kq4_028_mine_entrance/kq4_028_mine_entrance.gd new file mode 100644 index 0000000..2692060 --- /dev/null +++ b/scenes/kq4_028_mine_entrance/kq4_028_mine_entrance.gd @@ -0,0 +1,17 @@ +extends Scene + + +func _on_gnomes_cottage_interacted() -> void: + $kq4_022_gnomes_cottage.default_script(self) + + +func _on_029_interacted() -> void: + $kq4_029.default_script(self) + + +func _on_004_interacted() -> void: + $kq4_004.default_script(self) + + +func _on_027_interacted() -> void: + $kq4_027.default_script(self) diff --git a/scenes/kq4_028_mine_entrance/kq4_028_mine_entrance.gd.uid b/scenes/kq4_028_mine_entrance/kq4_028_mine_entrance.gd.uid new file mode 100644 index 0000000..e4b2be8 --- /dev/null +++ b/scenes/kq4_028_mine_entrance/kq4_028_mine_entrance.gd.uid @@ -0,0 +1 @@ +uid://dggmtxqdq8216 diff --git a/scenes/kq4_028_mine_entrance/kq4_028_mine_entrance.tscn b/scenes/kq4_028_mine_entrance/kq4_028_mine_entrance.tscn new file mode 100644 index 0000000..b5782f7 --- /dev/null +++ b/scenes/kq4_028_mine_entrance/kq4_028_mine_entrance.tscn @@ -0,0 +1,96 @@ +[gd_scene format=3 uid="uid://qkcwifq2lb9m"] + +[ext_resource type="Script" uid="uid://dggmtxqdq8216" path="res://scenes/kq4_028_mine_entrance/kq4_028_mine_entrance.gd" id="1_abc"] +[ext_resource type="Texture2D" uid="uid://b2v134dmq3qdu" path="res://scenes/kq4_028_mine_entrance/pic_028_visual.png" id="2_abc"] +[ext_resource type="Script" uid="uid://xmphq3i0wbg3" path="res://ScalePoint_.gd" id="3_abc"] +[ext_resource type="PackedScene" uid="uid://c4vc1wx7k6cw" path="res://TransitionPiece.tscn" id="4_abc"] + +[sub_resource type="NavigationPolygon" id="NavigationPolygon_ppo6b"] +vertices = PackedVector2Array(374.47656, 1145.0078, -140.75781, 1180.2031, -76.11719, 588.6797, -53.679688, 490.4922, 1222.4688, 227.3125, 1994.2422, 468.4297, 2012.7031, 1020.2031, 1268.1875, 1113.0234) +polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3), PackedInt32Array(3, 4, 5, 6, 7, 0)]) +outlines = Array[PackedVector2Array]([PackedVector2Array(-62, 482, 1223, 217, 2004, 461, 2023, 1029, 1269, 1123, 375, 1155, -152, 1191, -86, 587)]) + +[node name="background" type="Node2D" unique_id=657573819] +y_sort_enabled = true +script = ExtResource("1_abc") + +[node name="bg" type="Sprite2D" parent="." unique_id=874052749] +scale = Vector2(6, 6) +texture = ExtResource("2_abc") +centered = false + +[node name="StartScalePoint" type="Node2D" parent="." unique_id=1640687858] +position = Vector2(1476, 742) +script = ExtResource("3_abc") +target_scale = 0.25 + +[node name="EndScalePoint" type="Node2D" parent="." unique_id=1996763530] +position = Vector2(1408, 1097) +scale = Vector2(0.44, 0.44) +script = ExtResource("3_abc") +target_scale = 0.35 + +[node name="pathfind" type="NavigationRegion2D" parent="." unique_id=1418661203] +position = Vector2(-1, 0) +navigation_polygon = SubResource("NavigationPolygon_ppo6b") + +[node name="default-starting-point" type="Node2D" parent="." unique_id=1018141532] +position = Vector2(194, 819) + +[node name="kq4_022_gnomes_cottage" parent="." unique_id=484638394 instance=ExtResource("4_abc")] +position = Vector2(910, -213) +polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381) +appear_at_node = "kq4_028_mine_entrance" +target = "uid://3oq4x3exoimdb" +label = "Gnome's Cottage" + +[node name="entrance" parent="kq4_022_gnomes_cottage" index="0"] +position = Vector2(133, 643) + +[node name="exit" parent="kq4_022_gnomes_cottage" index="1"] +position = Vector2(174, 519) + +[node name="kq4_029" parent="." unique_id=1916756563 instance=ExtResource("4_abc")] +position = Vector2(1766, 74) +polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381) +appear_at_node = "kq4_028_mine_entrance" +label = "East Exit" + +[node name="entrance" parent="kq4_029" index="0"] +position = Vector2(24, 565) + +[node name="exit" parent="kq4_029" index="1"] +position = Vector2(293, 554) + +[node name="kq4_004" parent="." unique_id=990092106 instance=ExtResource("4_abc")] +position = Vector2(910, 542) +polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381) +appear_at_node = "kq4_028_mine_entrance" +label = "South Exit" + +[node name="entrance" parent="kq4_004" index="0"] +position = Vector2(118, 514) + +[node name="exit" parent="kq4_004" index="1"] +position = Vector2(151, 615) + +[node name="kq4_027" parent="." unique_id=1117747814 instance=ExtResource("4_abc")] +polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381) +appear_at_node = "kq4_028_mine_entrance" +label = "West Exit" + +[node name="entrance" parent="kq4_027" index="0"] +position = Vector2(506, 555) + +[node name="exit" parent="kq4_027" index="1"] +position = Vector2(-64, 534) + +[connection signal="interacted" from="kq4_022_gnomes_cottage" to="." method="_on_gnomes_cottage_interacted"] +[connection signal="interacted" from="kq4_029" to="." method="_on_029_interacted"] +[connection signal="interacted" from="kq4_004" to="." method="_on_004_interacted"] +[connection signal="interacted" from="kq4_027" to="." method="_on_027_interacted"] + +[editable path="kq4_022_gnomes_cottage"] +[editable path="kq4_029"] +[editable path="kq4_004"] +[editable path="kq4_027"] diff --git a/scenes/kq4_028_mine_entrance/kq4_028_mine_entrance.tscn.uid b/scenes/kq4_028_mine_entrance/kq4_028_mine_entrance.tscn.uid new file mode 100644 index 0000000..d085512 --- /dev/null +++ b/scenes/kq4_028_mine_entrance/kq4_028_mine_entrance.tscn.uid @@ -0,0 +1 @@ +uid://qkcwifq2lb9m \ No newline at end of file diff --git a/scenes/kq4_028_mine_entrance/pic_028_visual.png b/scenes/kq4_028_mine_entrance/pic_028_visual.png new file mode 100644 index 0000000..b9b24b4 --- /dev/null +++ b/scenes/kq4_028_mine_entrance/pic_028_visual.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3cfd2a1dbd0dbd1368a69c5616671a6f51a154722218ca08cf045c1457807cf +size 16209 diff --git a/scenes/kq4_028_mine_entrance/pic_028_visual.png.import b/scenes/kq4_028_mine_entrance/pic_028_visual.png.import new file mode 100644 index 0000000..451c28b --- /dev/null +++ b/scenes/kq4_028_mine_entrance/pic_028_visual.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b2v134dmq3qdu" +path="res://.godot/imported/pic_028_visual.png-eb51f50728c63f920568dfd492511ab5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://scenes/kq4_028_mine_entrance/pic_028_visual.png" +dest_files=["res://.godot/imported/pic_028_visual.png-eb51f50728c63f920568dfd492511ab5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/scenes/kq4_placeholder_template/kq4_placeholder_template.tscn b/scenes/kq4_placeholder_template/kq4_placeholder_template.tscn index 96b82fd..2f063f5 100644 --- a/scenes/kq4_placeholder_template/kq4_placeholder_template.tscn +++ b/scenes/kq4_placeholder_template/kq4_placeholder_template.tscn @@ -6,9 +6,9 @@ [ext_resource type="PackedScene" uid="uid://c4vc1wx7k6cw" path="res://TransitionPiece.tscn" id="4_lfiav"] [sub_resource type="NavigationPolygon" id="NavigationPolygon_ppo6b"] -vertices = PackedVector2Array(374.47656, 1145.0078, -140.75781, 1180.2031, -76.11719, 588.6797, -53.679688, 490.4922, 1222.4688, 227.3125, 1994.2422, 468.4297, 2012.7031, 1020.2031, 1268.1875, 1113.0234) -polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3), PackedInt32Array(3, 4, 5, 6, 7, 0)]) -outlines = Array[PackedVector2Array]([PackedVector2Array(-62, 482, 1223, 217, 2004, 461, 2023, 1029, 1269, 1123, 375, 1155, -152, 1191, -86, 587)]) +vertices = PackedVector2Array(366.85156, 1243.1484, -140.97656, 1182.2422, -76.0625, 588.09375, -30.171875, 216.07031, 1221.4063, 226.97656, 1994.1406, 468.39844, 2011.7969, 1321.9766, 1052.7422, 1419.8672, -76.0625, 588.0781) +polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3), PackedInt32Array(3, 4, 5, 6, 7, 0), PackedInt32Array(3, 2, 8)]) +outlines = Array[PackedVector2Array]([PackedVector2Array(-39, 206, 1223, 217, 2004, 461, 2022, 1331, 1052, 1430, 365, 1253, -152, 1191, -86, 587)]) [node name="background" type="Node2D" unique_id=657573819] y_sort_enabled = true