most areas connected
This commit is contained in:
@@ -19,6 +19,8 @@ Use this skill when you need to verify that room transitions are properly wired
|
|||||||
|
|
||||||
### Step 1: Run the Skill
|
### Step 1: Run the Skill
|
||||||
When you invoke this skill, specify the room number (e.g., "9", "009", or "kq4_009_shady_wooded_area").
|
When you invoke this skill, specify the room number (e.g., "9", "009", or "kq4_009_shady_wooded_area").
|
||||||
|
Begin by running python ./scripts/check_transitions.py, which will show each room's transitions
|
||||||
|
|
||||||
|
|
||||||
The skill will:
|
The skill will:
|
||||||
1. Load the specified room's .tscn file
|
1. Load the specified room's .tscn file
|
||||||
@@ -28,8 +30,10 @@ The skill will:
|
|||||||
- The `appear_at_node` value matches a node in the target scene
|
- The `appear_at_node` value matches a node in the target scene
|
||||||
- The node name follows the naming convention
|
- The node name follows the naming convention
|
||||||
- A return transition exists in the destination room
|
- A return transition exists in the destination room
|
||||||
|
- The room actually goes to the correct room specified in the room's spec (./kq4-sierra-decompile/rooms/)
|
||||||
|
|
||||||
### Step 2: Review Results
|
### Step 2: Review Results
|
||||||
|
|
||||||
The skill outputs:
|
The skill outputs:
|
||||||
- **Valid transitions**: Confirmed working connections
|
- **Valid transitions**: Confirmed working connections
|
||||||
- **Invalid transitions**: Issues found with target UIDs or appear_at_node names
|
- **Invalid transitions**: Issues found with target UIDs or appear_at_node names
|
||||||
|
|||||||
@@ -14,4 +14,4 @@ func _on_meadow_interacted() -> void:
|
|||||||
|
|
||||||
|
|
||||||
func _on_open_ocean_interacted() -> void:
|
func _on_open_ocean_interacted() -> void:
|
||||||
$west_exit.default_script(self)
|
$kq4_031_open_ocean.default_script(self)
|
||||||
|
|||||||
@@ -15,3 +15,7 @@ func _on_shady_wooded_area_interacted() -> void:
|
|||||||
|
|
||||||
func _on_forest_path_interacted() -> void:
|
func _on_forest_path_interacted() -> void:
|
||||||
$kq4_010_forest_path.default_script(self)
|
$kq4_010_forest_path.default_script(self)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_forest_path_27_interacted() -> void:
|
||||||
|
$kq4_027_forest_path.default_script(self)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[gd_scene format=3 uid="uid://151dbn9bybiwx"]
|
[gd_scene format=3 uid="uid://dyk4rcqsk3aed"]
|
||||||
|
|
||||||
[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="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"]
|
[ext_resource type="Texture2D" uid="uid://0ak807tg6jso" path="res://scenes/kq4_003_fountain_pool/ComfyUI_10001_.png" id="2_heq0u"]
|
||||||
@@ -11,34 +11,34 @@ vertices = PackedVector2Array(2047.41, 716.57, 2016.32, 718.031, 2012.05, 588.46
|
|||||||
polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3), PackedInt32Array(4, 5, 6, 7), PackedInt32Array(8, 9, 10, 11, 12), PackedInt32Array(13, 14, 12), PackedInt32Array(14, 13, 15), PackedInt32Array(16, 14, 15, 17), PackedInt32Array(11, 13, 12), PackedInt32Array(18, 19, 20, 21), PackedInt32Array(22, 23, 18, 24, 25), PackedInt32Array(26, 27, 28, 29), PackedInt32Array(30, 31, 32, 33), PackedInt32Array(16, 17, 10, 9, 24, 34), PackedInt32Array(21, 34, 24), PackedInt32Array(18, 21, 24), PackedInt32Array(35, 22, 25), PackedInt32Array(28, 35, 25), PackedInt32Array(28, 25, 29), PackedInt32Array(26, 29, 36), PackedInt32Array(12, 26, 36, 30, 33), PackedInt32Array(12, 33, 8)])
|
polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3), PackedInt32Array(4, 5, 6, 7), PackedInt32Array(8, 9, 10, 11, 12), PackedInt32Array(13, 14, 12), PackedInt32Array(14, 13, 15), PackedInt32Array(16, 14, 15, 17), PackedInt32Array(11, 13, 12), PackedInt32Array(18, 19, 20, 21), PackedInt32Array(22, 23, 18, 24, 25), PackedInt32Array(26, 27, 28, 29), PackedInt32Array(30, 31, 32, 33), PackedInt32Array(16, 17, 10, 9, 24, 34), PackedInt32Array(21, 34, 24), PackedInt32Array(18, 21, 24), PackedInt32Array(35, 22, 25), PackedInt32Array(28, 35, 25), PackedInt32Array(28, 25, 29), PackedInt32Array(26, 29, 36), PackedInt32Array(12, 26, 36, 30, 33), PackedInt32Array(12, 33, 8)])
|
||||||
outlines = Array[PackedVector2Array]([PackedVector2Array(-13, 516, 1548, 556, 2000, 526, 2021, 1163, -39, 1107), PackedVector2Array(577, 565, 247, 917, 324, 994, 515, 989, 538, 927, 1260, 927, 1359, 996, 1543, 964, 1588, 893, 1318, 576), PackedVector2Array(-43, 689, 354, 679, 358, 571, -36, 544), PackedVector2Array(1526, 653, 1655, 745, 2060, 726, 2024, 578, 1531, 597), PackedVector2Array(1702, 805, 1678, 872, 1848, 902, 1927, 861, 1906, 779)])
|
outlines = Array[PackedVector2Array]([PackedVector2Array(-13, 516, 1548, 556, 2000, 526, 2021, 1163, -39, 1107), PackedVector2Array(577, 565, 247, 917, 324, 994, 515, 989, 538, 927, 1260, 927, 1359, 996, 1543, 964, 1588, 893, 1318, 576), PackedVector2Array(-43, 689, 354, 679, 358, 571, -36, 544), PackedVector2Array(1526, 653, 1655, 745, 2060, 726, 2024, 578, 1531, 597), PackedVector2Array(1702, 805, 1678, 872, 1848, 902, 1927, 861, 1906, 779)])
|
||||||
|
|
||||||
[node name="background" type="Node2D"]
|
[node name="background" type="Node2D" unique_id=47039231]
|
||||||
y_sort_enabled = true
|
y_sort_enabled = true
|
||||||
script = ExtResource("1_heq0u")
|
script = ExtResource("1_heq0u")
|
||||||
|
|
||||||
[node name="bg" type="Sprite2D" parent="."]
|
[node name="bg" type="Sprite2D" parent="." unique_id=56586945]
|
||||||
scale = Vector2(0.470459, 0.467949)
|
scale = Vector2(0.470459, 0.467949)
|
||||||
texture = ExtResource("2_heq0u")
|
texture = ExtResource("2_heq0u")
|
||||||
centered = false
|
centered = false
|
||||||
|
|
||||||
[node name="StartScalePoint" type="Node2D" parent="."]
|
[node name="StartScalePoint" type="Node2D" parent="." unique_id=248986742]
|
||||||
position = Vector2(1476, 742)
|
position = Vector2(1476, 742)
|
||||||
script = ExtResource("3_1g2ot")
|
script = ExtResource("3_1g2ot")
|
||||||
target_scale = 0.25
|
target_scale = 0.25
|
||||||
|
|
||||||
[node name="EndScalePoint" type="Node2D" parent="."]
|
[node name="EndScalePoint" type="Node2D" parent="." unique_id=141160145]
|
||||||
position = Vector2(1408, 1097)
|
position = Vector2(1408, 1097)
|
||||||
scale = Vector2(0.44, 0.44)
|
scale = Vector2(0.44, 0.44)
|
||||||
script = ExtResource("3_1g2ot")
|
script = ExtResource("3_1g2ot")
|
||||||
target_scale = 0.35
|
target_scale = 0.35
|
||||||
|
|
||||||
[node name="pathfind" type="NavigationRegion2D" parent="."]
|
[node name="pathfind" type="NavigationRegion2D" parent="." unique_id=1039746920]
|
||||||
position = Vector2(-1, 0)
|
position = Vector2(-1, 0)
|
||||||
navigation_polygon = SubResource("NavigationPolygon_heq0u")
|
navigation_polygon = SubResource("NavigationPolygon_heq0u")
|
||||||
|
|
||||||
[node name="default-starting-point" type="Node2D" parent="."]
|
[node name="default-starting-point" type="Node2D" parent="." unique_id=1811687548]
|
||||||
position = Vector2(194, 819)
|
position = Vector2(194, 819)
|
||||||
|
|
||||||
[node name="kq4_002_meadow" parent="." instance=ExtResource("4_6r684")]
|
[node name="kq4_002_meadow" parent="." unique_id=1924834520 instance=ExtResource("4_6r684")]
|
||||||
position = Vector2(-150, 100)
|
position = Vector2(-150, 100)
|
||||||
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
||||||
appear_at_node = "kq4_003_fountain_pool"
|
appear_at_node = "kq4_003_fountain_pool"
|
||||||
@@ -51,20 +51,7 @@ position = Vector2(350, 500)
|
|||||||
[node name="exit" parent="kq4_002_meadow" index="1"]
|
[node name="exit" parent="kq4_002_meadow" index="1"]
|
||||||
position = Vector2(100, 480)
|
position = Vector2(100, 480)
|
||||||
|
|
||||||
[node name="kq4_010_forest_path" parent="." instance=ExtResource("4_6r684")]
|
[node name="kq4_004_ogres_cottage" parent="." unique_id=670184730 instance=ExtResource("4_6r684")]
|
||||||
position = Vector2(910, -213)
|
|
||||||
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
|
||||||
appear_at_node = "kq4_003_fountain_pool"
|
|
||||||
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_004_ogres_cottage" parent="." instance=ExtResource("4_6r684")]
|
|
||||||
position = Vector2(1912, 756)
|
position = Vector2(1912, 756)
|
||||||
color = Color(1, 1, 1, 1)
|
color = Color(1, 1, 1, 1)
|
||||||
polygon = PackedVector2Array(-235, -142, -147, 252, 155, 148, 102, -85)
|
polygon = PackedVector2Array(-235, -142, -147, 252, 155, 148, 102, -85)
|
||||||
@@ -78,7 +65,7 @@ position = Vector2(-79, 65)
|
|||||||
[node name="exit" parent="kq4_004_ogres_cottage" index="1"]
|
[node name="exit" parent="kq4_004_ogres_cottage" index="1"]
|
||||||
position = Vector2(66, 71)
|
position = Vector2(66, 71)
|
||||||
|
|
||||||
[node name="kq4_009_shady_wooded_area" parent="." instance=ExtResource("4_6r684")]
|
[node name="kq4_009_shady_wooded_area" parent="." unique_id=1832225568 instance=ExtResource("4_6r684")]
|
||||||
position = Vector2(910, 542)
|
position = Vector2(910, 542)
|
||||||
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
||||||
appear_at_node = "kq4_003_fountain_pool"
|
appear_at_node = "kq4_003_fountain_pool"
|
||||||
@@ -91,16 +78,30 @@ position = Vector2(118, 514)
|
|||||||
[node name="exit" parent="kq4_009_shady_wooded_area" index="1"]
|
[node name="exit" parent="kq4_009_shady_wooded_area" index="1"]
|
||||||
position = Vector2(151, 615)
|
position = Vector2(151, 615)
|
||||||
|
|
||||||
[node name="Fg" type="Sprite2D" parent="."]
|
[node name="kq4_027_forest_path" parent="." unique_id=1810021557 instance=ExtResource("4_6r684")]
|
||||||
|
position = Vector2(500, 100)
|
||||||
|
polygon = PackedVector2Array(122, 279, -87, 649, 688, 583, 650, 277)
|
||||||
|
appear_at_node = "kq4_003_fountain_pool"
|
||||||
|
target = "uid://1fpyosj18xls7"
|
||||||
|
label = "Forest Path"
|
||||||
|
|
||||||
|
[node name="entrance" parent="kq4_027_forest_path" index="0"]
|
||||||
|
position = Vector2(207, 489)
|
||||||
|
|
||||||
|
[node name="exit" parent="kq4_027_forest_path" index="1"]
|
||||||
|
position = Vector2(396, 438)
|
||||||
|
|
||||||
|
[node name="Fg" type="Sprite2D" parent="." unique_id=1431047880]
|
||||||
scale = Vector2(1.163, 1.179)
|
scale = Vector2(1.163, 1.179)
|
||||||
texture = ExtResource("5_cu368")
|
texture = ExtResource("5_cu368")
|
||||||
centered = false
|
centered = false
|
||||||
|
|
||||||
[connection signal="interacted" from="kq4_002_meadow" to="." method="_on_meadow_interacted"]
|
[connection signal="interacted" from="kq4_002_meadow" to="." method="_on_meadow_interacted"]
|
||||||
[connection signal="interacted" from="kq4_010_forest_path" to="." method="_on_forest_path_interacted"]
|
|
||||||
[connection signal="interacted" from="kq4_004_ogres_cottage" to="." method="_on_ogre_house_interacted"]
|
[connection signal="interacted" from="kq4_004_ogres_cottage" to="." method="_on_ogre_house_interacted"]
|
||||||
[connection signal="interacted" from="kq4_009_shady_wooded_area" to="." method="_on_shady_wooded_area_interacted"]
|
[connection signal="interacted" from="kq4_009_shady_wooded_area" to="." method="_on_shady_wooded_area_interacted"]
|
||||||
|
[connection signal="interacted" from="kq4_027_forest_path" to="." method="_on_forest_path_27_interacted"]
|
||||||
|
|
||||||
[editable path="kq4_002_meadow"]
|
[editable path="kq4_002_meadow"]
|
||||||
[editable path="kq4_004_ogres_cottage"]
|
[editable path="kq4_004_ogres_cottage"]
|
||||||
[editable path="kq4_009_shady_wooded_area"]
|
[editable path="kq4_009_shady_wooded_area"]
|
||||||
|
[editable path="kq4_027_forest_path"]
|
||||||
|
|||||||
@@ -11,3 +11,7 @@ func _on_pool_interacted() -> void:
|
|||||||
|
|
||||||
func _on_forest_path_interacted() -> void:
|
func _on_forest_path_interacted() -> void:
|
||||||
$kq4_010_forest_path.default_script(self)
|
$kq4_010_forest_path.default_script(self)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_forest_grove_interacted() -> void:
|
||||||
|
$kq4_005_forest_grove.default_script(self)
|
||||||
|
|||||||
@@ -82,8 +82,24 @@ position = Vector2(118, 514)
|
|||||||
[node name="exit" parent="kq4_010_forest_path" index="1"]
|
[node name="exit" parent="kq4_010_forest_path" index="1"]
|
||||||
position = Vector2(151, 615)
|
position = Vector2(151, 615)
|
||||||
|
|
||||||
|
[node name="kq4_005_forest_grove" parent="." instance=ExtResource("4_67nph")]
|
||||||
|
position = Vector2(1766, 74)
|
||||||
|
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
||||||
|
appear_at_node = "kq4_004_ogres_cottage"
|
||||||
|
target = "uid://1c470jsfmdhxx"
|
||||||
|
label = "Forest Grove"
|
||||||
|
|
||||||
|
[node name="entrance" parent="kq4_005_forest_grove" index="0"]
|
||||||
|
position = Vector2(24, 565)
|
||||||
|
|
||||||
|
[node name="exit" parent="kq4_005_forest_grove" index="1"]
|
||||||
|
position = Vector2(293, 554)
|
||||||
|
|
||||||
[connection signal="interacted" from="kq4_010_forest_path" to="." method="_on_forest_path_interacted"]
|
[connection signal="interacted" from="kq4_010_forest_path" to="." method="_on_forest_path_interacted"]
|
||||||
|
|
||||||
|
[connection signal="interacted" from="kq4_005_forest_grove" to="." method="_on_forest_grove_interacted"]
|
||||||
|
|
||||||
[editable path="kq4_028_mine_entrance"]
|
[editable path="kq4_028_mine_entrance"]
|
||||||
[editable path="kq4_003_fountain_pool"]
|
[editable path="kq4_003_fountain_pool"]
|
||||||
[editable path="kq4_010_forest_path"]
|
[editable path="kq4_010_forest_path"]
|
||||||
|
[editable path="kq4_005_forest_grove"]
|
||||||
|
|||||||
17
scenes/kq4_005_forest_grove/kq4_005_forest_grove.gd
Normal file
17
scenes/kq4_005_forest_grove/kq4_005_forest_grove.gd
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
extends Scene
|
||||||
|
|
||||||
|
|
||||||
|
func _on_dense_forest_interacted() -> void:
|
||||||
|
$kq4_029_dense_forest.default_script(self)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_enchanted_grove_interacted() -> void:
|
||||||
|
$kq4_011_enchanted_grove.default_script(self)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_cave_entrance_interacted() -> void:
|
||||||
|
$kq4_006_cave_entrance.default_script(self)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_ogres_cottage_interacted() -> void:
|
||||||
|
$kq4_004_ogres_cottage.default_script(self)
|
||||||
1
scenes/kq4_005_forest_grove/kq4_005_forest_grove.gd.uid
Normal file
1
scenes/kq4_005_forest_grove/kq4_005_forest_grove.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://dlpvtnjxp0uq7
|
||||||
98
scenes/kq4_005_forest_grove/kq4_005_forest_grove.tscn
Normal file
98
scenes/kq4_005_forest_grove/kq4_005_forest_grove.tscn
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
[gd_scene format=3 uid="uid://1c470jsfmdhxx"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://scenes/kq4_005_forest_grove/kq4_005_forest_grove.gd" id="1_abc"]
|
||||||
|
[ext_resource type="Texture2D" path="res://scenes/kq4_005_forest_grove/pic_005_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_029_dense_forest" 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_005_forest_grove"
|
||||||
|
target = "uid://1sfzaldfq5kn1"
|
||||||
|
label = "Dense Forest"
|
||||||
|
|
||||||
|
[node name="entrance" parent="kq4_029_dense_forest" index="0"]
|
||||||
|
position = Vector2(133, 643)
|
||||||
|
|
||||||
|
[node name="exit" parent="kq4_029_dense_forest" index="1"]
|
||||||
|
position = Vector2(174, 519)
|
||||||
|
|
||||||
|
[node name="kq4_006_cave_entrance" 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_005_forest_grove"
|
||||||
|
label = "Cave Entrance"
|
||||||
|
|
||||||
|
[node name="entrance" parent="kq4_006_cave_entrance" index="0"]
|
||||||
|
position = Vector2(24, 565)
|
||||||
|
|
||||||
|
[node name="exit" parent="kq4_006_cave_entrance" index="1"]
|
||||||
|
position = Vector2(293, 554)
|
||||||
|
|
||||||
|
[node name="kq4_011_enchanted_grove" 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_005_forest_grove"
|
||||||
|
target = "uid://ujxktwdn8l8r"
|
||||||
|
label = "Enchanted Grove"
|
||||||
|
|
||||||
|
[node name="entrance" parent="kq4_011_enchanted_grove" index="0"]
|
||||||
|
position = Vector2(118, 514)
|
||||||
|
|
||||||
|
[node name="exit" parent="kq4_011_enchanted_grove" index="1"]
|
||||||
|
position = Vector2(151, 615)
|
||||||
|
|
||||||
|
[node name="kq4_004_ogres_cottage" parent="." unique_id=1117747814 instance=ExtResource("4_abc")]
|
||||||
|
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
||||||
|
appear_at_node = "kq4_005_forest_grove"
|
||||||
|
target = "uid://1nxmm3b1kcdm1"
|
||||||
|
label = "Ogre's Cottage"
|
||||||
|
|
||||||
|
[node name="entrance" parent="kq4_004_ogres_cottage" index="0"]
|
||||||
|
position = Vector2(506, 555)
|
||||||
|
|
||||||
|
[node name="exit" parent="kq4_004_ogres_cottage" index="1"]
|
||||||
|
position = Vector2(-64, 534)
|
||||||
|
|
||||||
|
[connection signal="interacted" from="kq4_029_dense_forest" to="." method="_on_dense_forest_interacted"]
|
||||||
|
[connection signal="interacted" from="kq4_006_cave_entrance" to="." method="_on_cave_entrance_interacted"]
|
||||||
|
[connection signal="interacted" from="kq4_011_enchanted_grove" to="." method="_on_enchanted_grove_interacted"]
|
||||||
|
[connection signal="interacted" from="kq4_004_ogres_cottage" to="." method="_on_ogres_cottage_interacted"]
|
||||||
|
|
||||||
|
[editable path="kq4_029_dense_forest"]
|
||||||
|
[editable path="kq4_006_cave_entrance"]
|
||||||
|
[editable path="kq4_011_enchanted_grove"]
|
||||||
|
[editable path="kq4_004_ogres_cottage"]
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
uid://1c470jsfmdhxx
|
||||||
BIN
scenes/kq4_005_forest_grove/pic_005_visual.png
LFS
Normal file
BIN
scenes/kq4_005_forest_grove/pic_005_visual.png
LFS
Normal file
Binary file not shown.
40
scenes/kq4_005_forest_grove/pic_005_visual.png.import
Normal file
40
scenes/kq4_005_forest_grove/pic_005_visual.png.import
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://c55n7trnggl6x"
|
||||||
|
path="res://.godot/imported/pic_005_visual.png-762fdaa5ad557ec4e32f759d84933f2e.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://scenes/kq4_005_forest_grove/pic_005_visual.png"
|
||||||
|
dest_files=["res://.godot/imported/pic_005_visual.png-762fdaa5ad557ec4e32f759d84933f2e.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
|
||||||
@@ -41,6 +41,7 @@ position = Vector2(194, 819)
|
|||||||
position = Vector2(910, -213)
|
position = Vector2(910, -213)
|
||||||
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
||||||
appear_at_node = "kq4_011_enchanted_grove"
|
appear_at_node = "kq4_011_enchanted_grove"
|
||||||
|
target = "uid://1c470jsfmdhxx"
|
||||||
label = "Forest Grove"
|
label = "Forest Grove"
|
||||||
|
|
||||||
[node name="entrance" parent="kq4_005_forest_grove" index="0"]
|
[node name="entrance" parent="kq4_005_forest_grove" index="0"]
|
||||||
@@ -65,6 +66,7 @@ position = Vector2(293, 554)
|
|||||||
position = Vector2(910, 542)
|
position = Vector2(910, 542)
|
||||||
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
||||||
appear_at_node = "kq4_011_enchanted_grove"
|
appear_at_node = "kq4_011_enchanted_grove"
|
||||||
|
target = "uid://1kz9yo5f1tpc6"
|
||||||
label = "Spooky House Exterior"
|
label = "Spooky House Exterior"
|
||||||
|
|
||||||
[node name="entrance" parent="kq4_017_spooky_house_exterior" index="0"]
|
[node name="entrance" parent="kq4_017_spooky_house_exterior" index="0"]
|
||||||
|
|||||||
@@ -14,4 +14,4 @@ func _on_green_meadow_interacted() -> void:
|
|||||||
|
|
||||||
|
|
||||||
func _on_open_ocean_interacted() -> void:
|
func _on_open_ocean_interacted() -> void:
|
||||||
$west_exit.default_script(self)
|
$kq4_031_open_ocean.default_script(self)
|
||||||
|
|||||||
@@ -11,3 +11,7 @@ func _on_forest_path_interacted() -> void:
|
|||||||
|
|
||||||
func _on_gnomes_cottage_interacted() -> void:
|
func _on_gnomes_cottage_interacted() -> void:
|
||||||
$kq4_022_gnomes_cottage.default_script(self)
|
$kq4_022_gnomes_cottage.default_script(self)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_spooky_house_exterior_interacted() -> void:
|
||||||
|
$kq4_017_spooky_house_exterior.default_script(self)
|
||||||
|
|||||||
@@ -76,11 +76,26 @@ position = Vector2(133, 643)
|
|||||||
[node name="exit" parent="kq4_022_gnomes_cottage" index="1"]
|
[node name="exit" parent="kq4_022_gnomes_cottage" index="1"]
|
||||||
position = Vector2(174, 519)
|
position = Vector2(174, 519)
|
||||||
|
|
||||||
|
[node name="kq4_017_spooky_house_exterior" parent="." unique_id=1117747815 instance=ExtResource("4_abc")]
|
||||||
|
position = Vector2(1766, 74)
|
||||||
|
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
||||||
|
appear_at_node = "kq4_016_graveyard"
|
||||||
|
target = "uid://1kz9yo5f1tpc6"
|
||||||
|
label = "Spooky House Exterior"
|
||||||
|
|
||||||
|
[node name="entrance" parent="kq4_017_spooky_house_exterior" index="0"]
|
||||||
|
position = Vector2(24, 565)
|
||||||
|
|
||||||
|
[node name="exit" parent="kq4_017_spooky_house_exterior" index="1"]
|
||||||
|
position = Vector2(293, 554)
|
||||||
|
|
||||||
[connection signal="interacted" from="kq4_015_frog_pond" to="." method="_on_frog_pond_interacted"]
|
[connection signal="interacted" from="kq4_015_frog_pond" to="." method="_on_frog_pond_interacted"]
|
||||||
|
|
||||||
[connection signal="interacted" from="kq4_010_forest_path" to="." method="_on_forest_path_interacted"]
|
[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"]
|
[connection signal="interacted" from="kq4_022_gnomes_cottage" to="." method="_on_gnomes_cottage_interacted"]
|
||||||
|
[connection signal="interacted" from="kq4_017_spooky_house_exterior" to="." method="_on_spooky_house_exterior_interacted"]
|
||||||
|
|
||||||
[editable path="kq4_015_frog_pond"]
|
[editable path="kq4_015_frog_pond"]
|
||||||
[editable path="kq4_010_forest_path"]
|
[editable path="kq4_010_forest_path"]
|
||||||
[editable path="kq4_022_gnomes_cottage"]
|
[editable path="kq4_022_gnomes_cottage"]
|
||||||
|
[editable path="kq4_017_spooky_house_exterior"]
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
extends Scene
|
||||||
|
|
||||||
|
|
||||||
|
func _on_enchanted_grove_interacted() -> void:
|
||||||
|
$kq4_011_enchanted_grove.default_script(self)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_graveyard_interacted() -> void:
|
||||||
|
$kq4_016_graveyard.default_script(self)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_forest_path_with_cottage_interacted() -> void:
|
||||||
|
$kq4_023_forest_path_with_cottage.default_script(self)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_cemetery_interacted() -> void:
|
||||||
|
$kq4_018_cemetery.default_script(self)
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
uid://ngvn8144qom7
|
||||||
@@ -0,0 +1,99 @@
|
|||||||
|
[gd_scene format=3 uid="uid://1kz9yo5f1tpc6"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://scenes/kq4_017_spooky_house_exterior/kq4_017_spooky_house_exterior.gd" id="1_abc"]
|
||||||
|
[ext_resource type="Texture2D" path="res://scenes/kq4_017_spooky_house_exterior/pic_017_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_011_enchanted_grove" 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"
|
||||||
|
target = "uid://ujxktwdn8l8r"
|
||||||
|
label = "Enchanted Grove"
|
||||||
|
|
||||||
|
[node name="entrance" parent="kq4_011_enchanted_grove" index="0"]
|
||||||
|
position = Vector2(133, 643)
|
||||||
|
|
||||||
|
[node name="exit" parent="kq4_011_enchanted_grove" index="1"]
|
||||||
|
position = Vector2(174, 519)
|
||||||
|
|
||||||
|
[node name="kq4_018_cemetery" 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_017_spooky_house_exterior"
|
||||||
|
target = "uid://35amqvpjgpf2x"
|
||||||
|
label = "Cemetery"
|
||||||
|
|
||||||
|
[node name="entrance" parent="kq4_018_cemetery" index="0"]
|
||||||
|
position = Vector2(24, 565)
|
||||||
|
|
||||||
|
[node name="exit" parent="kq4_018_cemetery" index="1"]
|
||||||
|
position = Vector2(293, 554)
|
||||||
|
|
||||||
|
[node name="kq4_023_forest_path_with_cottage" 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_017_spooky_house_exterior"
|
||||||
|
target = "uid://1mhkt47y9jjhc"
|
||||||
|
label = "Forest Path with Cottage"
|
||||||
|
|
||||||
|
[node name="entrance" parent="kq4_023_forest_path_with_cottage" index="0"]
|
||||||
|
position = Vector2(118, 514)
|
||||||
|
|
||||||
|
[node name="exit" parent="kq4_023_forest_path_with_cottage" index="1"]
|
||||||
|
position = Vector2(151, 615)
|
||||||
|
|
||||||
|
[node name="kq4_016_graveyard" parent="." unique_id=1117747814 instance=ExtResource("4_abc")]
|
||||||
|
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
||||||
|
appear_at_node = "kq4_017_spooky_house_exterior"
|
||||||
|
target = "uid://27b2k6gky3afg"
|
||||||
|
label = "Graveyard"
|
||||||
|
|
||||||
|
[node name="entrance" parent="kq4_016_graveyard" index="0"]
|
||||||
|
position = Vector2(506, 555)
|
||||||
|
|
||||||
|
[node name="exit" parent="kq4_016_graveyard" index="1"]
|
||||||
|
position = Vector2(-64, 534)
|
||||||
|
|
||||||
|
[connection signal="interacted" from="kq4_011_enchanted_grove" to="." method="_on_enchanted_grove_interacted"]
|
||||||
|
[connection signal="interacted" from="kq4_018_cemetery" to="." method="_on_cemetery_interacted"]
|
||||||
|
[connection signal="interacted" from="kq4_023_forest_path_with_cottage" to="." method="_on_forest_path_with_cottage_interacted"]
|
||||||
|
[connection signal="interacted" from="kq4_016_graveyard" to="." method="_on_graveyard_interacted"]
|
||||||
|
|
||||||
|
[editable path="kq4_011_enchanted_grove"]
|
||||||
|
[editable path="kq4_018_cemetery"]
|
||||||
|
[editable path="kq4_023_forest_path_with_cottage"]
|
||||||
|
[editable path="kq4_016_graveyard"]
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
uid://1kz9yo5f1tpc6
|
||||||
BIN
scenes/kq4_017_spooky_house_exterior/pic_017_visual.png
LFS
Normal file
BIN
scenes/kq4_017_spooky_house_exterior/pic_017_visual.png
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://b57yy6cc775at"
|
||||||
|
path="res://.godot/imported/pic_017_visual.png-22741fcad584e3c60d2e4bebf00c162a.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://scenes/kq4_017_spooky_house_exterior/pic_017_visual.png"
|
||||||
|
dest_files=["res://.godot/imported/pic_017_visual.png-22741fcad584e3c60d2e4bebf00c162a.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
|
||||||
13
scenes/kq4_018_cemetery/kq4_018_cemetery.gd
Normal file
13
scenes/kq4_018_cemetery/kq4_018_cemetery.gd
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
extends Scene
|
||||||
|
|
||||||
|
|
||||||
|
func _on_haunted_forest_interacted() -> void:
|
||||||
|
$kq4_012_haunted_forest.default_script(self)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_waterfall_and_pool_interacted() -> void:
|
||||||
|
$kq4_024_waterfall_and_pool.default_script(self)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_spooky_house_exterior_interacted() -> void:
|
||||||
|
$kq4_017_spooky_house_exterior.default_script(self)
|
||||||
1
scenes/kq4_018_cemetery/kq4_018_cemetery.gd.uid
Normal file
1
scenes/kq4_018_cemetery/kq4_018_cemetery.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://1oricgqlfv2k
|
||||||
83
scenes/kq4_018_cemetery/kq4_018_cemetery.tscn
Normal file
83
scenes/kq4_018_cemetery/kq4_018_cemetery.tscn
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
[gd_scene format=3 uid="uid://35amqvpjgpf2x"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://scenes/kq4_018_cemetery/kq4_018_cemetery.gd" id="1_abc"]
|
||||||
|
[ext_resource type="Texture2D" path="res://scenes/kq4_018_cemetery/pic_018_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_012_haunted_forest" 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_018_cemetery"
|
||||||
|
label = "Haunted Forest"
|
||||||
|
|
||||||
|
[node name="entrance" parent="kq4_012_haunted_forest" index="0"]
|
||||||
|
position = Vector2(133, 643)
|
||||||
|
|
||||||
|
[node name="exit" parent="kq4_012_haunted_forest" index="1"]
|
||||||
|
position = Vector2(174, 519)
|
||||||
|
|
||||||
|
[node name="kq4_024_waterfall_and_pool" 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_018_cemetery"
|
||||||
|
target = "uid://33baqytea2g56"
|
||||||
|
label = "Waterfall and Pool"
|
||||||
|
|
||||||
|
[node name="entrance" parent="kq4_024_waterfall_and_pool" index="0"]
|
||||||
|
position = Vector2(118, 514)
|
||||||
|
|
||||||
|
[node name="exit" parent="kq4_024_waterfall_and_pool" index="1"]
|
||||||
|
position = Vector2(151, 615)
|
||||||
|
|
||||||
|
[node name="kq4_017_spooky_house_exterior" parent="." unique_id=1117747814 instance=ExtResource("4_abc")]
|
||||||
|
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
||||||
|
appear_at_node = "kq4_018_cemetery"
|
||||||
|
target = "uid://1kz9yo5f1tpc6"
|
||||||
|
label = "Spooky House Exterior"
|
||||||
|
|
||||||
|
[node name="entrance" parent="kq4_017_spooky_house_exterior" index="0"]
|
||||||
|
position = Vector2(506, 555)
|
||||||
|
|
||||||
|
[node name="exit" parent="kq4_017_spooky_house_exterior" index="1"]
|
||||||
|
position = Vector2(-64, 534)
|
||||||
|
|
||||||
|
[connection signal="interacted" from="kq4_012_haunted_forest" to="." method="_on_haunted_forest_interacted"]
|
||||||
|
[connection signal="interacted" from="kq4_024_waterfall_and_pool" to="." method="_on_waterfall_and_pool_interacted"]
|
||||||
|
[connection signal="interacted" from="kq4_017_spooky_house_exterior" to="." method="_on_spooky_house_exterior_interacted"]
|
||||||
|
|
||||||
|
[editable path="kq4_012_haunted_forest"]
|
||||||
|
[editable path="kq4_024_waterfall_and_pool"]
|
||||||
|
[editable path="kq4_017_spooky_house_exterior"]
|
||||||
1
scenes/kq4_018_cemetery/kq4_018_cemetery.tscn.uid
Normal file
1
scenes/kq4_018_cemetery/kq4_018_cemetery.tscn.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://35amqvpjgpf2x
|
||||||
BIN
scenes/kq4_018_cemetery/pic_018_visual.png
LFS
Normal file
BIN
scenes/kq4_018_cemetery/pic_018_visual.png
LFS
Normal file
Binary file not shown.
40
scenes/kq4_018_cemetery/pic_018_visual.png.import
Normal file
40
scenes/kq4_018_cemetery/pic_018_visual.png.import
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cjobwcbr0ojgm"
|
||||||
|
path="res://.godot/imported/pic_018_visual.png-95fb36e791eb2f226ec2e4b45884fec6.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://scenes/kq4_018_cemetery/pic_018_visual.png"
|
||||||
|
dest_files=["res://.godot/imported/pic_018_visual.png-95fb36e791eb2f226ec2e4b45884fec6.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
|
||||||
@@ -11,3 +11,7 @@ func _on_beach_interacted() -> void:
|
|||||||
|
|
||||||
func _on_beach_at_river_delta_interacted() -> void:
|
func _on_beach_at_river_delta_interacted() -> void:
|
||||||
$kq4_025_beach_at_river_delta.default_script(self)
|
$kq4_025_beach_at_river_delta.default_script(self)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_open_ocean_interacted() -> void:
|
||||||
|
$kq4_031_open_ocean.default_script(self)
|
||||||
|
|||||||
@@ -53,10 +53,24 @@ position = Vector2(1400, 300)
|
|||||||
[node name="exit" parent="kq4_013_beach" index="1"]
|
[node name="exit" parent="kq4_013_beach" index="1"]
|
||||||
position = Vector2(1400, 150)
|
position = Vector2(1400, 150)
|
||||||
|
|
||||||
|
[node name="kq4_031_open_ocean" parent="." index="8" instance=ExtResource("4_8xjvi")]
|
||||||
|
polygon = PackedVector2Array(100, 400, 200, 500, 400, 500, 500, 400)
|
||||||
|
appear_at_node = "kq4_019_coastal_cliffs"
|
||||||
|
target = "uid://2f7c49hpkducc"
|
||||||
|
label = "Open Ocean"
|
||||||
|
|
||||||
|
[node name="entrance" parent="kq4_031_open_ocean" index="0"]
|
||||||
|
position = Vector2(300, 450)
|
||||||
|
|
||||||
|
[node name="exit" parent="kq4_031_open_ocean" index="1"]
|
||||||
|
position = Vector2(150, 450)
|
||||||
|
|
||||||
[connection signal="interacted" from="kq4_013_beach" to="." method="_on_beach_interacted"]
|
[connection signal="interacted" from="kq4_013_beach" to="." method="_on_beach_interacted"]
|
||||||
[connection signal="interacted" from="kq4_020_meadow" to="." method="_on_meadow_interacted"]
|
[connection signal="interacted" from="kq4_020_meadow" to="." method="_on_meadow_interacted"]
|
||||||
[connection signal="interacted" from="kq4_025_beach_at_river_delta" to="." method="_on_beach_at_river_delta_interacted"]
|
[connection signal="interacted" from="kq4_025_beach_at_river_delta" to="." method="_on_beach_at_river_delta_interacted"]
|
||||||
|
[connection signal="interacted" from="kq4_031_open_ocean" to="." method="_on_open_ocean_interacted"]
|
||||||
|
|
||||||
[editable path="kq4_020_meadow"]
|
[editable path="kq4_020_meadow"]
|
||||||
[editable path="kq4_025_beach_at_river_delta"]
|
[editable path="kq4_025_beach_at_river_delta"]
|
||||||
[editable path="kq4_013_beach"]
|
[editable path="kq4_013_beach"]
|
||||||
|
[editable path="kq4_031_open_ocean"]
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ func _on_graveyard_interacted() -> void:
|
|||||||
|
|
||||||
|
|
||||||
func _on_028_interacted() -> void:
|
func _on_028_interacted() -> void:
|
||||||
$kq4_028.default_script(self)
|
$kq4_028_mine_entrance.default_script(self)
|
||||||
|
|
||||||
|
|
||||||
func _on_023_interacted() -> void:
|
func _on_023_interacted() -> void:
|
||||||
@@ -14,4 +14,4 @@ func _on_023_interacted() -> void:
|
|||||||
|
|
||||||
|
|
||||||
func _on_021_interacted() -> void:
|
func _on_021_interacted() -> void:
|
||||||
$kq4_021.default_script(self)
|
$kq4_021_bridge_over_stream.default_script(self)
|
||||||
|
|||||||
@@ -50,17 +50,17 @@ position = Vector2(133, 643)
|
|||||||
[node name="exit" parent="kq4_016_graveyard" index="1"]
|
[node name="exit" parent="kq4_016_graveyard" index="1"]
|
||||||
position = Vector2(174, 519)
|
position = Vector2(174, 519)
|
||||||
|
|
||||||
[node name="kq4_028" parent="." unique_id=1916756563 instance=ExtResource("4_abc")]
|
[node name="kq4_028_mine_entrance" parent="." unique_id=1916756563 instance=ExtResource("4_abc")]
|
||||||
position = Vector2(910, 542)
|
position = Vector2(910, 542)
|
||||||
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
||||||
appear_at_node = "kq4_022_gnomes_cottage"
|
appear_at_node = "kq4_022_gnomes_cottage"
|
||||||
target = "uid://qkcwifq2lb9m"
|
target = "uid://qkcwifq2lb9m"
|
||||||
label = "South Exit"
|
label = "South Exit"
|
||||||
|
|
||||||
[node name="entrance" parent="kq4_028" index="0"]
|
[node name="entrance" parent="kq4_028_mine_entrance" index="0"]
|
||||||
position = Vector2(118, 514)
|
position = Vector2(118, 514)
|
||||||
|
|
||||||
[node name="exit" parent="kq4_028" index="1"]
|
[node name="exit" parent="kq4_028_mine_entrance" index="1"]
|
||||||
position = Vector2(151, 615)
|
position = Vector2(151, 615)
|
||||||
|
|
||||||
[node name="kq4_023_forest_path_with_cottage" parent="." unique_id=990092106 instance=ExtResource("4_abc")]
|
[node name="kq4_023_forest_path_with_cottage" parent="." unique_id=990092106 instance=ExtResource("4_abc")]
|
||||||
@@ -76,24 +76,24 @@ position = Vector2(24, 565)
|
|||||||
[node name="exit" parent="kq4_023_forest_path_with_cottage" index="1"]
|
[node name="exit" parent="kq4_023_forest_path_with_cottage" index="1"]
|
||||||
position = Vector2(293, 554)
|
position = Vector2(293, 554)
|
||||||
|
|
||||||
[node name="kq4_021" parent="." unique_id=1117747814 instance=ExtResource("4_abc")]
|
[node name="kq4_021_bridge_over_stream" parent="." unique_id=1117747814 instance=ExtResource("4_abc")]
|
||||||
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
||||||
appear_at_node = "kq4_022_gnomes_cottage"
|
appear_at_node = "kq4_022_gnomes_cottage"
|
||||||
target = "uid://3uxipzjekijqc"
|
target = "uid://3uxipzjekijqc"
|
||||||
label = "West Exit"
|
label = "West Exit"
|
||||||
|
|
||||||
[node name="entrance" parent="kq4_021" index="0"]
|
[node name="entrance" parent="kq4_021_bridge_over_stream" index="0"]
|
||||||
position = Vector2(506, 555)
|
position = Vector2(506, 555)
|
||||||
|
|
||||||
[node name="exit" parent="kq4_021" index="1"]
|
[node name="exit" parent="kq4_021_bridge_over_stream" index="1"]
|
||||||
position = Vector2(-64, 534)
|
position = Vector2(-64, 534)
|
||||||
|
|
||||||
[connection signal="interacted" from="kq4_016_graveyard" to="." method="_on_graveyard_interacted"]
|
[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_028_mine_entrance" 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_023_forest_path_with_cottage" to="." method="_on_023_interacted"]
|
||||||
[connection signal="interacted" from="kq4_021" to="." method="_on_021_interacted"]
|
[connection signal="interacted" from="kq4_021_bridge_over_stream" to="." method="_on_021_interacted"]
|
||||||
|
|
||||||
[editable path="kq4_016_graveyard"]
|
[editable path="kq4_016_graveyard"]
|
||||||
[editable path="kq4_028"]
|
[editable path="kq4_028_mine_entrance"]
|
||||||
[editable path="kq4_023_forest_path_with_cottage"]
|
[editable path="kq4_023_forest_path_with_cottage"]
|
||||||
[editable path="kq4_021"]
|
[editable path="kq4_021_bridge_over_stream"]
|
||||||
|
|||||||
@@ -3,3 +3,15 @@ extends Scene
|
|||||||
|
|
||||||
func _on_gnomes_cottage_interacted() -> void:
|
func _on_gnomes_cottage_interacted() -> void:
|
||||||
$kq4_022_gnomes_cottage.default_script(self)
|
$kq4_022_gnomes_cottage.default_script(self)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_spooky_house_exterior_interacted() -> void:
|
||||||
|
$kq4_017_spooky_house_exterior.default_script(self)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_waterfall_and_pool_interacted() -> void:
|
||||||
|
$kq4_024_waterfall_and_pool.default_script(self)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_dense_forest_interacted() -> void:
|
||||||
|
$kq4_029_dense_forest.default_script(self)
|
||||||
|
|||||||
@@ -40,7 +40,8 @@ position = Vector2(194, 819)
|
|||||||
[node name="kq4_017_spooky_house_exterior" parent="." unique_id=484638394 instance=ExtResource("4_abc")]
|
[node name="kq4_017_spooky_house_exterior" parent="." unique_id=484638394 instance=ExtResource("4_abc")]
|
||||||
position = Vector2(910, -213)
|
position = Vector2(910, -213)
|
||||||
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
||||||
appear_at_node = "kq4_017_spooky_house_exterior"
|
appear_at_node = "kq4_023_forest_path_with_cottage"
|
||||||
|
target = "uid://1kz9yo5f1tpc6"
|
||||||
label = "Spooky House Exterior"
|
label = "Spooky House Exterior"
|
||||||
|
|
||||||
[node name="entrance" parent="kq4_017_spooky_house_exterior" index="0"]
|
[node name="entrance" parent="kq4_017_spooky_house_exterior" index="0"]
|
||||||
@@ -52,7 +53,8 @@ position = Vector2(174, 519)
|
|||||||
[node name="kq4_024_waterfall_and_pool" parent="." unique_id=1916756563 instance=ExtResource("4_abc")]
|
[node name="kq4_024_waterfall_and_pool" parent="." unique_id=1916756563 instance=ExtResource("4_abc")]
|
||||||
position = Vector2(1766, 74)
|
position = Vector2(1766, 74)
|
||||||
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
||||||
appear_at_node = "kq4_024_waterfall_and_pool"
|
appear_at_node = "kq4_023_forest_path_with_cottage"
|
||||||
|
target = "uid://33baqytea2g56"
|
||||||
label = "Waterfall and Pool"
|
label = "Waterfall and Pool"
|
||||||
|
|
||||||
[node name="entrance" parent="kq4_024_waterfall_and_pool" index="0"]
|
[node name="entrance" parent="kq4_024_waterfall_and_pool" index="0"]
|
||||||
@@ -64,7 +66,8 @@ position = Vector2(293, 554)
|
|||||||
[node name="kq4_029_dense_forest" parent="." unique_id=990092106 instance=ExtResource("4_abc")]
|
[node name="kq4_029_dense_forest" parent="." unique_id=990092106 instance=ExtResource("4_abc")]
|
||||||
position = Vector2(910, 542)
|
position = Vector2(910, 542)
|
||||||
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
||||||
appear_at_node = "kq4_029_dense_forest"
|
appear_at_node = "kq4_023_forest_path_with_cottage"
|
||||||
|
target = "uid://1sfzaldfq5kn1"
|
||||||
label = "Dense Forest"
|
label = "Dense Forest"
|
||||||
|
|
||||||
[node name="entrance" parent="kq4_029_dense_forest" index="0"]
|
[node name="entrance" parent="kq4_029_dense_forest" index="0"]
|
||||||
@@ -75,7 +78,7 @@ position = Vector2(151, 615)
|
|||||||
|
|
||||||
[node name="kq4_022_gnomes_cottage" parent="." unique_id=1117747814 instance=ExtResource("4_abc")]
|
[node name="kq4_022_gnomes_cottage" parent="." unique_id=1117747814 instance=ExtResource("4_abc")]
|
||||||
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
||||||
appear_at_node = "kq4_022_gnomes_cottage"
|
appear_at_node = "kq4_023_forest_path_with_cottage"
|
||||||
target = "uid://3oq4x3exoimdb"
|
target = "uid://3oq4x3exoimdb"
|
||||||
label = "Gnome's Cottage"
|
label = "Gnome's Cottage"
|
||||||
|
|
||||||
@@ -85,6 +88,9 @@ position = Vector2(506, 555)
|
|||||||
[node name="exit" parent="kq4_022_gnomes_cottage" index="1"]
|
[node name="exit" parent="kq4_022_gnomes_cottage" index="1"]
|
||||||
position = Vector2(-64, 534)
|
position = Vector2(-64, 534)
|
||||||
|
|
||||||
|
[connection signal="interacted" from="kq4_017_spooky_house_exterior" to="." method="_on_spooky_house_exterior_interacted"]
|
||||||
|
[connection signal="interacted" from="kq4_024_waterfall_and_pool" to="." method="_on_waterfall_and_pool_interacted"]
|
||||||
|
[connection signal="interacted" from="kq4_029_dense_forest" to="." method="_on_dense_forest_interacted"]
|
||||||
[connection signal="interacted" from="kq4_022_gnomes_cottage" to="." method="_on_gnomes_cottage_interacted"]
|
[connection signal="interacted" from="kq4_022_gnomes_cottage" to="." method="_on_gnomes_cottage_interacted"]
|
||||||
|
|
||||||
[editable path="kq4_017_spooky_house_exterior"]
|
[editable path="kq4_017_spooky_house_exterior"]
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
extends Scene
|
||||||
|
|
||||||
|
|
||||||
|
func _on_cemetery_interacted() -> void:
|
||||||
|
$kq4_018_cemetery.default_script(self)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_mountain_pass_interacted() -> void:
|
||||||
|
$kq4_030_mountain_pass.default_script(self)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_forest_path_with_cottage_interacted() -> void:
|
||||||
|
$kq4_023_forest_path_with_cottage.default_script(self)
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
uid://cbq2b0g2qc65u
|
||||||
@@ -0,0 +1,84 @@
|
|||||||
|
[gd_scene format=3 uid="uid://33baqytea2g56"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://scenes/kq4_024_waterfall_and_pool/kq4_024_waterfall_and_pool.gd" id="1_abc"]
|
||||||
|
[ext_resource type="Texture2D" path="res://scenes/kq4_024_waterfall_and_pool/pic_024_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_018_cemetery" 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_024_waterfall_and_pool"
|
||||||
|
target = "uid://35amqvpjgpf2x"
|
||||||
|
label = "Cemetery"
|
||||||
|
|
||||||
|
[node name="entrance" parent="kq4_018_cemetery" index="0"]
|
||||||
|
position = Vector2(133, 643)
|
||||||
|
|
||||||
|
[node name="exit" parent="kq4_018_cemetery" index="1"]
|
||||||
|
position = Vector2(174, 519)
|
||||||
|
|
||||||
|
[node name="kq4_030_mountain_pass" 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_024_waterfall_and_pool"
|
||||||
|
target = "uid://7dfmw11k58wd"
|
||||||
|
label = "Mountain Pass"
|
||||||
|
|
||||||
|
[node name="entrance" parent="kq4_030_mountain_pass" index="0"]
|
||||||
|
position = Vector2(118, 514)
|
||||||
|
|
||||||
|
[node name="exit" parent="kq4_030_mountain_pass" index="1"]
|
||||||
|
position = Vector2(151, 615)
|
||||||
|
|
||||||
|
[node name="kq4_023_forest_path_with_cottage" parent="." unique_id=990092106 instance=ExtResource("4_abc")]
|
||||||
|
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
||||||
|
appear_at_node = "kq4_024_waterfall_and_pool"
|
||||||
|
target = "uid://1mhkt47y9jjhc"
|
||||||
|
label = "Forest Path with Cottage"
|
||||||
|
|
||||||
|
[node name="entrance" parent="kq4_023_forest_path_with_cottage" index="0"]
|
||||||
|
position = Vector2(506, 555)
|
||||||
|
|
||||||
|
[node name="exit" parent="kq4_023_forest_path_with_cottage" index="1"]
|
||||||
|
position = Vector2(-64, 534)
|
||||||
|
|
||||||
|
[connection signal="interacted" from="kq4_018_cemetery" to="." method="_on_cemetery_interacted"]
|
||||||
|
[connection signal="interacted" from="kq4_030_mountain_pass" to="." method="_on_mountain_pass_interacted"]
|
||||||
|
[connection signal="interacted" from="kq4_023_forest_path_with_cottage" to="." method="_on_forest_path_with_cottage_interacted"]
|
||||||
|
|
||||||
|
[editable path="kq4_018_cemetery"]
|
||||||
|
[editable path="kq4_030_mountain_pass"]
|
||||||
|
[editable path="kq4_023_forest_path_with_cottage"]
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
uid://33baqytea2g56
|
||||||
BIN
scenes/kq4_024_waterfall_and_pool/pic_024_visual.png
LFS
Normal file
BIN
scenes/kq4_024_waterfall_and_pool/pic_024_visual.png
LFS
Normal file
Binary file not shown.
40
scenes/kq4_024_waterfall_and_pool/pic_024_visual.png.import
Normal file
40
scenes/kq4_024_waterfall_and_pool/pic_024_visual.png.import
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bqddklpe5r50d"
|
||||||
|
path="res://.godot/imported/pic_024_visual.png-2c3a203a4eaedf6b2a14d632a4eb3d5a.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://scenes/kq4_024_waterfall_and_pool/pic_024_visual.png"
|
||||||
|
dest_files=["res://.godot/imported/pic_024_visual.png-2c3a203a4eaedf6b2a14d632a4eb3d5a.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
|
||||||
@@ -10,7 +10,7 @@ func _on_river_meadow_interacted() -> void:
|
|||||||
|
|
||||||
|
|
||||||
func _on_open_ocean_interacted() -> void:
|
func _on_open_ocean_interacted() -> void:
|
||||||
$west_exit.default_script(self)
|
$kq4_031_open_ocean.default_script(self)
|
||||||
|
|
||||||
|
|
||||||
func _on_beach_interacted() -> void:
|
func _on_beach_interacted() -> void:
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ func _on_gnomes_cottage_interacted() -> void:
|
|||||||
$kq4_022_gnomes_cottage.default_script(self)
|
$kq4_022_gnomes_cottage.default_script(self)
|
||||||
|
|
||||||
|
|
||||||
func _on_029_interacted() -> void:
|
func _on_dense_forest_interacted() -> void:
|
||||||
$kq4_029.default_script(self)
|
$kq4_029_dense_forest.default_script(self)
|
||||||
|
|
||||||
|
|
||||||
func _on_ogres_cottage_interacted() -> void:
|
func _on_ogres_cottage_interacted() -> void:
|
||||||
@@ -14,4 +14,4 @@ func _on_ogres_cottage_interacted() -> void:
|
|||||||
|
|
||||||
|
|
||||||
func _on_forest_path_interacted() -> void:
|
func _on_forest_path_interacted() -> void:
|
||||||
$kq4_027.default_script(self)
|
$kq4_027_forest_path.default_script(self)
|
||||||
|
|||||||
@@ -50,16 +50,17 @@ position = Vector2(133, 643)
|
|||||||
[node name="exit" parent="kq4_022_gnomes_cottage" index="1"]
|
[node name="exit" parent="kq4_022_gnomes_cottage" index="1"]
|
||||||
position = Vector2(174, 519)
|
position = Vector2(174, 519)
|
||||||
|
|
||||||
[node name="kq4_029" parent="." unique_id=1916756563 instance=ExtResource("4_abc")]
|
[node name="kq4_029_dense_forest" parent="." unique_id=1916756563 instance=ExtResource("4_abc")]
|
||||||
position = Vector2(1766, 74)
|
position = Vector2(1766, 74)
|
||||||
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
||||||
appear_at_node = "kq4_028_mine_entrance"
|
appear_at_node = "kq4_028_mine_entrance"
|
||||||
label = "East Exit"
|
target = "uid://1sfzaldfq5kn1"
|
||||||
|
label = "Dense Forest"
|
||||||
|
|
||||||
[node name="entrance" parent="kq4_029" index="0"]
|
[node name="entrance" parent="kq4_029_dense_forest" index="0"]
|
||||||
position = Vector2(24, 565)
|
position = Vector2(24, 565)
|
||||||
|
|
||||||
[node name="exit" parent="kq4_029" index="1"]
|
[node name="exit" parent="kq4_029_dense_forest" index="1"]
|
||||||
position = Vector2(293, 554)
|
position = Vector2(293, 554)
|
||||||
|
|
||||||
[node name="kq4_004_ogres_cottage" parent="." unique_id=990092106 instance=ExtResource("4_abc")]
|
[node name="kq4_004_ogres_cottage" parent="." unique_id=990092106 instance=ExtResource("4_abc")]
|
||||||
@@ -75,25 +76,25 @@ position = Vector2(118, 514)
|
|||||||
[node name="exit" parent="kq4_004_ogres_cottage" index="1"]
|
[node name="exit" parent="kq4_004_ogres_cottage" index="1"]
|
||||||
position = Vector2(151, 615)
|
position = Vector2(151, 615)
|
||||||
|
|
||||||
[node name="kq4_027" parent="." unique_id=1117747814 instance=ExtResource("4_abc")]
|
[node name="kq4_027_forest_path" parent="." unique_id=1117747814 instance=ExtResource("4_abc")]
|
||||||
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
||||||
appear_at_node = "kq4_028_mine_entrance"
|
appear_at_node = "kq4_028_mine_entrance"
|
||||||
target = "uid://1fpyosj18xls7"
|
target = "uid://1fpyosj18xls7"
|
||||||
label = "Forest Path"
|
label = "Forest Path"
|
||||||
|
|
||||||
[node name="entrance" parent="kq4_027" index="0"]
|
[node name="entrance" parent="kq4_027_forest_path" index="0"]
|
||||||
position = Vector2(506, 555)
|
position = Vector2(506, 555)
|
||||||
|
|
||||||
[node name="exit" parent="kq4_027" index="1"]
|
[node name="exit" parent="kq4_027_forest_path" index="1"]
|
||||||
position = Vector2(-64, 534)
|
position = Vector2(-64, 534)
|
||||||
|
|
||||||
[connection signal="interacted" from="kq4_027" to="." method="_on_forest_path_interacted"]
|
[connection signal="interacted" from="kq4_027_forest_path" to="." method="_on_forest_path_interacted"]
|
||||||
|
|
||||||
[connection signal="interacted" from="kq4_022_gnomes_cottage" to="." method="_on_gnomes_cottage_interacted"]
|
[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_029_dense_forest" to="." method="_on_dense_forest_interacted"]
|
||||||
[connection signal="interacted" from="kq4_004_ogres_cottage" to="." method="_on_ogres_cottage_interacted"]
|
[connection signal="interacted" from="kq4_004_ogres_cottage" to="." method="_on_ogres_cottage_interacted"]
|
||||||
|
|
||||||
[editable path="kq4_022_gnomes_cottage"]
|
[editable path="kq4_022_gnomes_cottage"]
|
||||||
[editable path="kq4_029"]
|
[editable path="kq4_029_dense_forest"]
|
||||||
[editable path="kq4_004_ogres_cottage"]
|
[editable path="kq4_004_ogres_cottage"]
|
||||||
[editable path="kq4_027"]
|
[editable path="kq4_027_forest_path"]
|
||||||
|
|||||||
17
scenes/kq4_029_dense_forest/kq4_029_dense_forest.gd
Normal file
17
scenes/kq4_029_dense_forest/kq4_029_dense_forest.gd
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
extends Scene
|
||||||
|
|
||||||
|
|
||||||
|
func _on_forest_path_with_cottage_interacted() -> void:
|
||||||
|
$kq4_023_forest_path_with_cottage.default_script(self)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_forest_grove_interacted() -> void:
|
||||||
|
$kq4_005_forest_grove.default_script(self)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_mountain_pass_interacted() -> void:
|
||||||
|
$kq4_030_mountain_pass.default_script(self)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_mine_entrance_interacted() -> void:
|
||||||
|
$kq4_028_mine_entrance.default_script(self)
|
||||||
1
scenes/kq4_029_dense_forest/kq4_029_dense_forest.gd.uid
Normal file
1
scenes/kq4_029_dense_forest/kq4_029_dense_forest.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://bdf3esx2gpltx
|
||||||
99
scenes/kq4_029_dense_forest/kq4_029_dense_forest.tscn
Normal file
99
scenes/kq4_029_dense_forest/kq4_029_dense_forest.tscn
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
[gd_scene format=3 uid="uid://1sfzaldfq5kn1"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://scenes/kq4_029_dense_forest/kq4_029_dense_forest.gd" id="1_abc"]
|
||||||
|
[ext_resource type="Texture2D" path="res://scenes/kq4_029_dense_forest/pic_029_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_023_forest_path_with_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_029_dense_forest"
|
||||||
|
target = "uid://1mhkt47y9jjhc"
|
||||||
|
label = "Forest Path with Cottage"
|
||||||
|
|
||||||
|
[node name="entrance" parent="kq4_023_forest_path_with_cottage" index="0"]
|
||||||
|
position = Vector2(133, 643)
|
||||||
|
|
||||||
|
[node name="exit" parent="kq4_023_forest_path_with_cottage" index="1"]
|
||||||
|
position = Vector2(174, 519)
|
||||||
|
|
||||||
|
[node name="kq4_030_mountain_pass" 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_029_dense_forest"
|
||||||
|
target = "uid://7dfmw11k58wd"
|
||||||
|
label = "Mountain Pass"
|
||||||
|
|
||||||
|
[node name="entrance" parent="kq4_030_mountain_pass" index="0"]
|
||||||
|
position = Vector2(24, 565)
|
||||||
|
|
||||||
|
[node name="exit" parent="kq4_030_mountain_pass" index="1"]
|
||||||
|
position = Vector2(293, 554)
|
||||||
|
|
||||||
|
[node name="kq4_005_forest_grove" 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"
|
||||||
|
target = "uid://1c470jsfmdhxx"
|
||||||
|
label = "Forest Grove"
|
||||||
|
|
||||||
|
[node name="entrance" parent="kq4_005_forest_grove" index="0"]
|
||||||
|
position = Vector2(118, 514)
|
||||||
|
|
||||||
|
[node name="exit" parent="kq4_005_forest_grove" index="1"]
|
||||||
|
position = Vector2(151, 615)
|
||||||
|
|
||||||
|
[node name="kq4_028_mine_entrance" parent="." unique_id=1117747814 instance=ExtResource("4_abc")]
|
||||||
|
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
||||||
|
appear_at_node = "kq4_029_dense_forest"
|
||||||
|
target = "uid://qkcwifq2lb9m"
|
||||||
|
label = "Mine Entrance"
|
||||||
|
|
||||||
|
[node name="entrance" parent="kq4_028_mine_entrance" index="0"]
|
||||||
|
position = Vector2(506, 555)
|
||||||
|
|
||||||
|
[node name="exit" parent="kq4_028_mine_entrance" index="1"]
|
||||||
|
position = Vector2(-64, 534)
|
||||||
|
|
||||||
|
[connection signal="interacted" from="kq4_023_forest_path_with_cottage" to="." method="_on_forest_path_with_cottage_interacted"]
|
||||||
|
[connection signal="interacted" from="kq4_030_mountain_pass" to="." method="_on_mountain_pass_interacted"]
|
||||||
|
[connection signal="interacted" from="kq4_005_forest_grove" to="." method="_on_forest_grove_interacted"]
|
||||||
|
[connection signal="interacted" from="kq4_028_mine_entrance" to="." method="_on_mine_entrance_interacted"]
|
||||||
|
|
||||||
|
[editable path="kq4_023_forest_path_with_cottage"]
|
||||||
|
[editable path="kq4_030_mountain_pass"]
|
||||||
|
[editable path="kq4_005_forest_grove"]
|
||||||
|
[editable path="kq4_028_mine_entrance"]
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
uid://1sfzaldfq5kn1
|
||||||
BIN
scenes/kq4_029_dense_forest/pic_029_visual.png
LFS
Normal file
BIN
scenes/kq4_029_dense_forest/pic_029_visual.png
LFS
Normal file
Binary file not shown.
40
scenes/kq4_029_dense_forest/pic_029_visual.png.import
Normal file
40
scenes/kq4_029_dense_forest/pic_029_visual.png.import
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cccxa28badyuv"
|
||||||
|
path="res://.godot/imported/pic_029_visual.png-13065378b5dd5025abf0e3ef38a6a6ff.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://scenes/kq4_029_dense_forest/pic_029_visual.png"
|
||||||
|
dest_files=["res://.godot/imported/pic_029_visual.png-13065378b5dd5025abf0e3ef38a6a6ff.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
|
||||||
13
scenes/kq4_030_mountain_pass/kq4_030_mountain_pass.gd
Normal file
13
scenes/kq4_030_mountain_pass/kq4_030_mountain_pass.gd
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
extends Scene
|
||||||
|
|
||||||
|
|
||||||
|
func _on_waterfall_and_pool_interacted() -> void:
|
||||||
|
$kq4_024_waterfall_and_pool.default_script(self)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_mountain_path_to_dark_castle_interacted() -> void:
|
||||||
|
$kq4_079_mountain_path_to_dark_castle.default_script(self)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_dense_forest_interacted() -> void:
|
||||||
|
$kq4_029_dense_forest.default_script(self)
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
uid://dis82jrbe2iny
|
||||||
83
scenes/kq4_030_mountain_pass/kq4_030_mountain_pass.tscn
Normal file
83
scenes/kq4_030_mountain_pass/kq4_030_mountain_pass.tscn
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
[gd_scene format=3 uid="uid://7dfmw11k58wd"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://scenes/kq4_030_mountain_pass/kq4_030_mountain_pass.gd" id="1_abc"]
|
||||||
|
[ext_resource type="Texture2D" path="res://scenes/kq4_030_mountain_pass/pic_030_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_024_waterfall_and_pool" 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_030_mountain_pass"
|
||||||
|
target = "uid://33baqytea2g56"
|
||||||
|
label = "Waterfall and Pool"
|
||||||
|
|
||||||
|
[node name="entrance" parent="kq4_024_waterfall_and_pool" index="0"]
|
||||||
|
position = Vector2(133, 643)
|
||||||
|
|
||||||
|
[node name="exit" parent="kq4_024_waterfall_and_pool" index="1"]
|
||||||
|
position = Vector2(174, 519)
|
||||||
|
|
||||||
|
[node name="kq4_079_mountain_path_to_dark_castle" 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_030_mountain_pass"
|
||||||
|
label = "Mountain Path to Dark Castle"
|
||||||
|
|
||||||
|
[node name="entrance" parent="kq4_079_mountain_path_to_dark_castle" index="0"]
|
||||||
|
position = Vector2(24, 565)
|
||||||
|
|
||||||
|
[node name="exit" parent="kq4_079_mountain_path_to_dark_castle" index="1"]
|
||||||
|
position = Vector2(293, 554)
|
||||||
|
|
||||||
|
[node name="kq4_029_dense_forest" parent="." unique_id=1117747814 instance=ExtResource("4_abc")]
|
||||||
|
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
||||||
|
appear_at_node = "kq4_030_mountain_pass"
|
||||||
|
target = "uid://1sfzaldfq5kn1"
|
||||||
|
label = "Dense Forest"
|
||||||
|
|
||||||
|
[node name="entrance" parent="kq4_029_dense_forest" index="0"]
|
||||||
|
position = Vector2(506, 555)
|
||||||
|
|
||||||
|
[node name="exit" parent="kq4_029_dense_forest" index="1"]
|
||||||
|
position = Vector2(-64, 534)
|
||||||
|
|
||||||
|
[connection signal="interacted" from="kq4_024_waterfall_and_pool" to="." method="_on_waterfall_and_pool_interacted"]
|
||||||
|
[connection signal="interacted" from="kq4_079_mountain_path_to_dark_castle" to="." method="_on_mountain_path_to_dark_castle_interacted"]
|
||||||
|
[connection signal="interacted" from="kq4_029_dense_forest" to="." method="_on_dense_forest_interacted"]
|
||||||
|
|
||||||
|
[editable path="kq4_024_waterfall_and_pool"]
|
||||||
|
[editable path="kq4_079_mountain_path_to_dark_castle"]
|
||||||
|
[editable path="kq4_029_dense_forest"]
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
uid://7dfmw11k58wd
|
||||||
BIN
scenes/kq4_030_mountain_pass/pic_030_visual.png
LFS
Normal file
BIN
scenes/kq4_030_mountain_pass/pic_030_visual.png
LFS
Normal file
Binary file not shown.
40
scenes/kq4_030_mountain_pass/pic_030_visual.png.import
Normal file
40
scenes/kq4_030_mountain_pass/pic_030_visual.png.import
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://ju0ocwt5qeri"
|
||||||
|
path="res://.godot/imported/pic_030_visual.png-8847369d7043d6b15bee268577f77e91.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://scenes/kq4_030_mountain_pass/pic_030_visual.png"
|
||||||
|
dest_files=["res://.godot/imported/pic_030_visual.png-8847369d7043d6b15bee268577f77e91.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
|
||||||
@@ -6,4 +6,12 @@ func _on_beach_interacted() -> void:
|
|||||||
|
|
||||||
|
|
||||||
func _on_beach_at_river_delta_interacted() -> void:
|
func _on_beach_at_river_delta_interacted() -> void:
|
||||||
$east_exit.default_script(self)
|
$kq4_025_beach_at_river_delta.default_script(self)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_coastal_cliffs_interacted() -> void:
|
||||||
|
$kq4_019_coastal_cliffs.default_script(self)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_beach_13_interacted() -> void:
|
||||||
|
$kq4_013_beach.default_script(self)
|
||||||
|
|||||||
@@ -63,6 +63,32 @@ position = Vector2(24, 565)
|
|||||||
[node name="exit" parent="kq4_025_beach_at_river_delta" index="1"]
|
[node name="exit" parent="kq4_025_beach_at_river_delta" index="1"]
|
||||||
position = Vector2(293, 554)
|
position = Vector2(293, 554)
|
||||||
|
|
||||||
|
[node name="kq4_019_coastal_cliffs" parent="." unique_id=1926756564 instance=ExtResource("4_abc")]
|
||||||
|
position = Vector2(100, 300)
|
||||||
|
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
||||||
|
appear_at_node = "kq4_031_open_ocean"
|
||||||
|
target = "uid://3eh8ys3v25m45"
|
||||||
|
label = "Coastal Cliffs"
|
||||||
|
|
||||||
|
[node name="entrance" parent="kq4_019_coastal_cliffs" index="0"]
|
||||||
|
position = Vector2(133, 643)
|
||||||
|
|
||||||
|
[node name="exit" parent="kq4_019_coastal_cliffs" index="1"]
|
||||||
|
position = Vector2(174, 519)
|
||||||
|
|
||||||
|
[node name="kq4_013_beach" parent="." unique_id=1936756565 instance=ExtResource("4_abc")]
|
||||||
|
position = Vector2(1500, 200)
|
||||||
|
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
||||||
|
appear_at_node = "kq4_031_open_ocean"
|
||||||
|
target = "uid://2bqawc9w4uu59"
|
||||||
|
label = "Beach"
|
||||||
|
|
||||||
|
[node name="entrance" parent="kq4_013_beach" index="0"]
|
||||||
|
position = Vector2(133, 643)
|
||||||
|
|
||||||
|
[node name="exit" parent="kq4_013_beach" index="1"]
|
||||||
|
position = Vector2(174, 519)
|
||||||
|
|
||||||
[node name="south_exit" parent="." unique_id=990092106 instance=ExtResource("4_abc")]
|
[node name="south_exit" parent="." unique_id=990092106 instance=ExtResource("4_abc")]
|
||||||
position = Vector2(910, 542)
|
position = Vector2(910, 542)
|
||||||
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
polygon = PackedVector2Array(-108, 454, -87, 649, 376, 658, 348, 381)
|
||||||
@@ -86,8 +112,12 @@ position = Vector2(-64, 534)
|
|||||||
|
|
||||||
[connection signal="interacted" from="kq4_001_beach" to="." method="_on_beach_interacted"]
|
[connection signal="interacted" from="kq4_001_beach" to="." method="_on_beach_interacted"]
|
||||||
[connection signal="interacted" from="kq4_025_beach_at_river_delta" to="." method="_on_beach_at_river_delta_interacted"]
|
[connection signal="interacted" from="kq4_025_beach_at_river_delta" to="." method="_on_beach_at_river_delta_interacted"]
|
||||||
|
[connection signal="interacted" from="kq4_019_coastal_cliffs" to="." method="_on_coastal_cliffs_interacted"]
|
||||||
|
[connection signal="interacted" from="kq4_013_beach" to="." method="_on_beach_13_interacted"]
|
||||||
|
|
||||||
[editable path="kq4_001_beach"]
|
[editable path="kq4_001_beach"]
|
||||||
[editable path="kq4_025_beach_at_river_delta"]
|
[editable path="kq4_025_beach_at_river_delta"]
|
||||||
|
[editable path="kq4_019_coastal_cliffs"]
|
||||||
|
[editable path="kq4_013_beach"]
|
||||||
[editable path="south_exit"]
|
[editable path="south_exit"]
|
||||||
[editable path="west_exit"]
|
[editable path="west_exit"]
|
||||||
|
|||||||
135
scripts/check_transitions.py
Executable file
135
scripts/check_transitions.py
Executable file
@@ -0,0 +1,135 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
"""Validates transition nodes in KQ4 room scenes."""
|
||||||
|
|
||||||
|
import re
|
||||||
|
import sys
|
||||||
|
from pathlib import Path
|
||||||
|
from dataclasses import dataclass
|
||||||
|
from typing import Optional
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class Transition:
|
||||||
|
exit_node_name: str
|
||||||
|
target_uid: str
|
||||||
|
appear_at_node: str
|
||||||
|
label: str
|
||||||
|
source_room: str
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class SceneInfo:
|
||||||
|
uid: str
|
||||||
|
path: Path
|
||||||
|
node_names: set[str]
|
||||||
|
|
||||||
|
|
||||||
|
def find_uid_files(root: Path) -> dict[str, Path]:
|
||||||
|
"""Build a mapping of UID -> file path from all .uid files."""
|
||||||
|
uid_map = {}
|
||||||
|
for uid_file in root.rglob("*.uid"):
|
||||||
|
uid_content = uid_file.read_text().strip()
|
||||||
|
if uid_content.startswith("uid://"):
|
||||||
|
resource_path = uid_file.with_suffix("")
|
||||||
|
if resource_path.exists():
|
||||||
|
uid_map[uid_content] = resource_path
|
||||||
|
else:
|
||||||
|
uid_map[uid_content] = uid_file.with_suffix("")
|
||||||
|
return uid_map
|
||||||
|
|
||||||
|
|
||||||
|
def parse_scene_file(tscn_path: Path) -> tuple[Optional[str], set[str], list[Transition]]:
|
||||||
|
"""Parse a .tscn file to extract UID, node names, and transitions."""
|
||||||
|
content = tscn_path.read_text()
|
||||||
|
|
||||||
|
scene_uid = None
|
||||||
|
uid_match = re.search(r'\[gd_scene[^\]]*uid="([^"]+)"', content)
|
||||||
|
if uid_match:
|
||||||
|
scene_uid = uid_match.group(1)
|
||||||
|
|
||||||
|
node_names = set(re.findall(r'^\[node name="([^"]+)"', content, re.MULTILINE))
|
||||||
|
|
||||||
|
transitions = []
|
||||||
|
room_name = tscn_path.stem
|
||||||
|
|
||||||
|
transition_pattern = re.compile(
|
||||||
|
r'\[node name="([^"]+)"[^\]]*instance=ExtResource\([^\)]+\)\]\s*\n'
|
||||||
|
r'((?:[^\[]+\n)*)',
|
||||||
|
re.MULTILINE
|
||||||
|
)
|
||||||
|
|
||||||
|
for match in transition_pattern.finditer(content):
|
||||||
|
node_name = match.group(1)
|
||||||
|
body = match.group(2)
|
||||||
|
|
||||||
|
target_match = re.search(r'^target = "([^"]+)"', body, re.MULTILINE)
|
||||||
|
appear_match = re.search(r'^appear_at_node = "([^"]+)"', body, re.MULTILINE)
|
||||||
|
label_match = re.search(r'^label = "([^"]+)"', body, re.MULTILINE)
|
||||||
|
|
||||||
|
if target_match and appear_match:
|
||||||
|
transitions.append(Transition(
|
||||||
|
exit_node_name=node_name,
|
||||||
|
target_uid=target_match.group(1),
|
||||||
|
appear_at_node=appear_match.group(1),
|
||||||
|
label=label_match.group(1) if label_match else node_name,
|
||||||
|
source_room=room_name
|
||||||
|
))
|
||||||
|
|
||||||
|
return scene_uid, node_names, transitions
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
root = Path(__file__).parent.parent
|
||||||
|
scenes_dir = root / "scenes"
|
||||||
|
|
||||||
|
uid_map = find_uid_files(root)
|
||||||
|
|
||||||
|
scene_files = list(scenes_dir.glob("kq4_*/kq4_*.tscn"))
|
||||||
|
scene_files = [f for f in scene_files if "placeholder_template" not in str(f)]
|
||||||
|
|
||||||
|
scenes_by_uid: dict[str, SceneInfo] = {}
|
||||||
|
all_transitions: list[Transition] = []
|
||||||
|
|
||||||
|
for scene_file in scene_files:
|
||||||
|
scene_uid, node_names, transitions = parse_scene_file(scene_file)
|
||||||
|
if scene_uid:
|
||||||
|
scenes_by_uid[scene_uid] = SceneInfo(
|
||||||
|
uid=scene_uid,
|
||||||
|
path=scene_file,
|
||||||
|
node_names=node_names
|
||||||
|
)
|
||||||
|
all_transitions.extend(transitions)
|
||||||
|
|
||||||
|
errors = 0
|
||||||
|
|
||||||
|
for t in all_transitions:
|
||||||
|
source_room = t.source_room
|
||||||
|
target_scene = scenes_by_uid.get(t.target_uid)
|
||||||
|
|
||||||
|
if target_scene is None:
|
||||||
|
print(f"ERROR: {source_room} exit '{t.exit_node_name}' -> target UID '{t.target_uid}' NOT FOUND")
|
||||||
|
errors += 1
|
||||||
|
continue
|
||||||
|
|
||||||
|
target_room_name = target_scene.path.stem
|
||||||
|
|
||||||
|
if t.appear_at_node not in target_scene.node_names:
|
||||||
|
print(f"ERROR: {source_room} exit '{t.exit_node_name}' -> {target_room_name} node '{t.appear_at_node}' NOT FOUND")
|
||||||
|
errors += 1
|
||||||
|
continue
|
||||||
|
|
||||||
|
print(f"OK: {source_room} exit '{t.exit_node_name}' -> {target_room_name} (node: {t.appear_at_node})")
|
||||||
|
|
||||||
|
print(f"\n{'='*60}")
|
||||||
|
print(f"Checked {len(all_transitions)} transitions across {len(scene_files)} rooms")
|
||||||
|
|
||||||
|
if errors:
|
||||||
|
print(f"FOUND {errors} ERROR(S)")
|
||||||
|
sys.exit(1)
|
||||||
|
else:
|
||||||
|
print("All transitions valid!")
|
||||||
|
sys.exit(0)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
Reference in New Issue
Block a user