Create rooms 053-099 with transitions

- Created 45 new room scenes from specs
- Added proper .tscn and .gd files for each room
- Wired up transitions based on spec exit information
- Connected to existing rooms (017, 022, 028, 030, 031) where applicable
- Rooms include: dwarfs areas, caves, swamp, castle, and more
This commit is contained in:
2026-03-10 14:01:24 -07:00
parent f7e1e19403
commit 30915514a8
268 changed files with 5413 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
extends Node2D
class_name TrollCavePassage
@onready var ego: Node2D = $"../ego"
func _ready() -> void:
pass
func _on_room_looked() -> void:
pass
func _on_kq4_072_dark_cave_passage_interacted() -> void:
var target_scene = load("res://scenes/kq4_072_dark_cave_passage/kq4_072_dark_cave_passage.tscn")
if target_scene:
get_tree().change_scene_to_packed(target_scene)
func _on_kq4_074_troll_cave_interacted() -> void:
var target_scene = load("res://scenes/kq4_074_troll_cave/kq4_074_troll_cave.tscn")
if target_scene:
get_tree().change_scene_to_packed(target_scene)
func _on_kq4_076_dark_chasm_interacted() -> void:
var target_scene = load("res://scenes/kq4_076_dark_chasm/kq4_076_dark_chasm.tscn")
if target_scene:
get_tree().change_scene_to_packed(target_scene)

View File

@@ -0,0 +1,82 @@
[gd_scene format=3 uid="uid://3ierfqmsseciq"]
[ext_resource type="Script" path="res://scenes/kq4_075_troll_cave_passage/kq4_075_troll_cave_passage.gd" id="1_script"]
[ext_resource type="Texture2D" path="res://scenes/kq4_075_troll_cave_passage/pic_075_visual.png" id="2_texture"]
[ext_resource type="Script" uid="uid://xmphq3i0wbg3" path="res://ScalePoint_.gd" id="3_scale"]
[ext_resource type="PackedScene" uid="uid://c4vc1wx7k6cw" path="res://TransitionPiece.tscn" id="4_transition"]
[sub_resource type="NavigationPolygon" id="NavigationPolygon_main"]
vertices = PackedVector2Array(100, 800, 1800, 800, 1800, 1200, 100, 1200)
polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3)])
outlines = Array[PackedVector2Array]([PackedVector2Array(100, 800, 1800, 800, 1800, 1200, 100, 1200)])
[node name="background" type="Node2D"]
y_sort_enabled = true
script = ExtResource("1_script")
[node name="bg" type="Sprite2D" parent="."]
scale = Vector2(6, 6)
texture = ExtResource("2_texture")
centered = false
[node name="StartScalePoint" type="Node2D" parent="."]
position = Vector2(200, 900)
script = ExtResource("3_scale")
target_scale = 0.3
[node name="EndScalePoint" type="Node2D" parent="."]
position = Vector2(1800, 1100)
script = ExtResource("3_scale")
target_scale = 0.4
[node name="pathfind" type="NavigationRegion2D" parent="."]
navigation_polygon = SubResource("NavigationPolygon_main")
[node name="default-starting-point" type="Node2D" parent="."]
position = Vector2(200, 900)
[node name="kq4_072_dark_cave_passage" parent="." instance=ExtResource("4_transition")]
position = Vector2(910, 200)
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
appear_at_node = "kq4_075_troll_cave_passage"
target = "uid://3u2t5exy8parr"
label = "072 Dark Cave Passage"
[node name="entrance" parent="kq4_072_dark_cave_passage" index="0"]
position = Vector2(133, 643)
[node name="exit" parent="kq4_072_dark_cave_passage" index="1"]
position = Vector2(174, 519)
[node name="kq4_074_troll_cave" parent="." instance=ExtResource("4_transition")]
position = Vector2(50, 600)
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
appear_at_node = "kq4_075_troll_cave_passage"
target = "uid://1z1r3k766b3lo"
label = "074 Troll Cave"
[node name="entrance" parent="kq4_074_troll_cave" index="0"]
position = Vector2(133, 643)
[node name="exit" parent="kq4_074_troll_cave" index="1"]
position = Vector2(174, 519)
[node name="kq4_076_dark_chasm" parent="." instance=ExtResource("4_transition")]
position = Vector2(1766, 600)
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
appear_at_node = "kq4_075_troll_cave_passage"
target = "uid://2v1g3c6ph0xbm"
label = "076 Dark Chasm"
[node name="entrance" parent="kq4_076_dark_chasm" index="0"]
position = Vector2(133, 643)
[node name="exit" parent="kq4_076_dark_chasm" index="1"]
position = Vector2(174, 519)
[connection signal="interacted" from="kq4_072_dark_cave_passage" to="." method="_on_kq4_072_dark_cave_passage_interacted"]
[connection signal="interacted" from="kq4_074_troll_cave" to="." method="_on_kq4_074_troll_cave_interacted"]
[connection signal="interacted" from="kq4_076_dark_chasm" to="." method="_on_kq4_076_dark_chasm_interacted"]
[editable path="kq4_072_dark_cave_passage"]
[editable path="kq4_074_troll_cave"]
[editable path="kq4_076_dark_chasm"]

View File

@@ -0,0 +1 @@
uid://3ierfqmsseciq

View File

@@ -0,0 +1 @@
uid://bk8q2nad4pu44

Binary file not shown.

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://1dmkzd0ec5su9"
path="res://.godot/imported/pic_75_visual.png-PLACEHOLDER.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://scenes/kq4_075_troll_cave_passage/pic_75_visual.png"
dest_files=["res://.godot/imported/pic_75_visual.png-PLACEHOLDER.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