Cargo bay lift

This commit is contained in:
Rob Kelly 2025-07-05 15:52:42 -06:00
parent 387121a9fb
commit 88fb78ce2a
20 changed files with 1144 additions and 892 deletions

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=39 format=3 uid="uid://crydi5cjgfwe5"] [gd_scene load_steps=18 format=3 uid="uid://crydi5cjgfwe5"]
[ext_resource type="PackedScene" uid="uid://oowut88kr2ox" path="res://levels/ghost_ship/player_ship/player_ship.tscn" id="1_2pyr1"] [ext_resource type="PackedScene" uid="uid://oowut88kr2ox" path="res://levels/ghost_ship/player_ship/player_ship.tscn" id="1_2pyr1"]
[ext_resource type="PackedScene" uid="uid://cwhmn3w8hoads" path="res://levels/ghost_ship/level/airlock/airlock.tscn" id="2_dxmep"] [ext_resource type="PackedScene" uid="uid://cwhmn3w8hoads" path="res://levels/ghost_ship/level/airlock/airlock.tscn" id="2_dxmep"]
@ -9,20 +9,8 @@
[ext_resource type="PackedScene" uid="uid://cnqvb6q8tyxmd" path="res://levels/ghost_ship/level/corridor_3/corridor_3.tscn" id="11_d1yty"] [ext_resource type="PackedScene" uid="uid://cnqvb6q8tyxmd" path="res://levels/ghost_ship/level/corridor_3/corridor_3.tscn" id="11_d1yty"]
[ext_resource type="PackedScene" uid="uid://b3h2ldhluwco" path="res://levels/ghost_ship/level/medbay/medbay.tscn" id="13_ruwlj"] [ext_resource type="PackedScene" uid="uid://b3h2ldhluwco" path="res://levels/ghost_ship/level/medbay/medbay.tscn" id="13_ruwlj"]
[ext_resource type="PackedScene" uid="uid://b4o21udtetijo" path="res://levels/ghost_ship/level/ops_center/ops_center.tscn" id="14_0idgf"] [ext_resource type="PackedScene" uid="uid://b4o21udtetijo" path="res://levels/ghost_ship/level/ops_center/ops_center.tscn" id="14_0idgf"]
[ext_resource type="ArrayMesh" uid="uid://bumwpsm42csme" path="res://assets/level/ceiling/ceiling_9x9.mesh" id="15_ruwlj"] [ext_resource type="PackedScene" uid="uid://c2k0x1dp527n1" path="res://levels/ghost_ship/level/cargo_bay/cargo_bay.tscn" id="15_p11ap"]
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="16_0idgf"]
[ext_resource type="PackedScene" uid="uid://b6eg8t04rkh0c" path="res://src/props/wall_switch/wall_switch.tscn" id="17_0idgf"] [ext_resource type="PackedScene" uid="uid://b6eg8t04rkh0c" path="res://src/props/wall_switch/wall_switch.tscn" id="17_0idgf"]
[ext_resource type="Material" uid="uid://cqjr3cbxtfg2j" path="res://assets/materials/gunk.material" id="17_fll4m"]
[ext_resource type="ArrayMesh" uid="uid://dpr5cgq743f4s" path="res://assets/level/floor/floor_9x9.mesh" id="18_0idgf"]
[ext_resource type="ArrayMesh" uid="uid://c785n3j3aq4sf" path="res://assets/level/wall/wall_1.mesh" id="19_dly4i"]
[ext_resource type="Material" uid="uid://c1vy4bkwb1g5m" path="res://assets/materials/gunk_lowrez.material" id="20_rp2qp"]
[ext_resource type="Texture2D" uid="uid://bd52xpmm3oqw" path="res://assets/props/bulkhead/bulkhead_door_C.png" id="21_qu6vm"]
[ext_resource type="Texture2D" uid="uid://nexcq3xxrebb" path="res://assets/props/bulkhead/bulkhead_door_M.png" id="22_v8y1j"]
[ext_resource type="Texture2D" uid="uid://dk4sm780p6jfc" path="res://assets/props/bulkhead/bulkhead_door_N.png" id="23_54or8"]
[ext_resource type="Texture2D" uid="uid://rjuyd20y2ov1" path="res://assets/props/bulkhead/bulkhead_door_R.png" id="24_qo5rw"]
[ext_resource type="ArrayMesh" uid="uid://dbgk0kdg1vufk" path="res://assets/level/ceiling/ceiling_1.mesh" id="25_v8y1j"]
[ext_resource type="ArrayMesh" uid="uid://cpspkxu1ntdv7" path="res://levels/ghost_ship/level/cargo_bay/elevator_shaft.obj" id="26_54or8"]
[ext_resource type="PackedScene" uid="uid://ctm84yms40858" path="res://src/props/railing/railing.tscn" id="27_qo5rw"]
[ext_resource type="PackedScene" uid="uid://cubwniraol1qn" path="res://src/props/bulkhead/bulkhead.tscn" id="35_f0xh4"] [ext_resource type="PackedScene" uid="uid://cubwniraol1qn" path="res://src/props/bulkhead/bulkhead.tscn" id="35_f0xh4"]
[ext_resource type="PackedScene" uid="uid://ctr56p23cvupu" path="res://src/props/retinal_scanner/retinal_scanner.tscn" id="41_u2hqf"] [ext_resource type="PackedScene" uid="uid://ctr56p23cvupu" path="res://src/props/retinal_scanner/retinal_scanner.tscn" id="41_u2hqf"]
[ext_resource type="Script" uid="uid://cvx514gdjd5ev" path="res://src/world/meet_spook/meet_spook.gd" id="49_dxmep"] [ext_resource type="Script" uid="uid://cvx514gdjd5ev" path="res://src/world/meet_spook/meet_spook.gd" id="49_dxmep"]
@ -39,53 +27,6 @@ agent_radius = 0.75
region_min_size = 14.0 region_min_size = 14.0
edge_max_length = 4.0 edge_max_length = 4.0
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_dly4i"]
data = PackedVector3Array(4.5, 0, 4.5, -4.5, 0, 4.5, 4.5, 0, -4.5, 4.5, 0, -4.5, -4.5, 0, 4.5, -4.5, 0, -4.5)
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_fll4m"]
data = PackedVector3Array(4.5, 0, 4.5, -4.5, 0, 4.5, 4.5, 0, -4.5, 4.5, 0, -4.5, -4.5, 0, 4.5, -4.5, 0, -4.5)
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_if0c2"]
data = PackedVector3Array(1.5, 0, 1.5, -1.5, 0, 1.5, 1.5, 0, -1.5, 1.5, 0, -1.5, -1.5, 0, 1.5, -1.5, 0, -1.5)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_sqa4l"]
albedo_texture = ExtResource("21_qu6vm")
metallic = 1.0
metallic_texture = ExtResource("22_v8y1j")
roughness_texture = ExtResource("24_qo5rw")
normal_enabled = true
normal_texture = ExtResource("23_54or8")
uv1_scale = Vector3(3, 2, 1)
texture_filter = 2
[sub_resource type="BoxMesh" id="BoxMesh_dly4i"]
material = SubResource("StandardMaterial3D_sqa4l")
size = Vector3(9, 6, 0.2)
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_54or8"]
data = PackedVector3Array(1.5, 0, 1.5, -1.5, 0, 1.5, 1.5, 0, -1.5, 1.5, 0, -1.5, -1.5, 0, 1.5, -1.5, 0, -1.5)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_54or8"]
albedo_texture = ExtResource("21_qu6vm")
metallic = 1.0
metallic_texture = ExtResource("21_qu6vm")
roughness_texture = ExtResource("24_qo5rw")
normal_enabled = true
normal_texture = ExtResource("23_54or8")
uv1_scale = Vector3(9, 6, 1)
texture_filter = 2
[sub_resource type="BoxMesh" id="BoxMesh_qo5rw"]
material = SubResource("StandardMaterial3D_54or8")
size = Vector3(6, 1, 6)
[sub_resource type="Curve3D" id="Curve3D_54or8"]
_data = {
"points": PackedVector3Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -16, -24, 0),
"tilts": PackedFloat32Array(0, 0)
}
point_count = 2
[node name="GhostShipLevel" type="Node3D"] [node name="GhostShipLevel" type="Node3D"]
[node name="PlayerShip" parent="." instance=ExtResource("1_2pyr1")] [node name="PlayerShip" parent="." instance=ExtResource("1_2pyr1")]
@ -293,764 +234,9 @@ OVERRIDE"
font_size = 24 font_size = 24
outline_size = 10 outline_size = 10
[node name="CargoBay" type="Node3D" parent="BeastNav"] [node name="CargoBay" parent="BeastNav" instance=ExtResource("15_p11ap")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, -60) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, -60)
[node name="LoadingDock" type="Node3D" parent="BeastNav/CargoBay"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 9)
[node name="Bounds" type="Node3D" parent="BeastNav/CargoBay/LoadingDock"]
[node name="Ceiling" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(-1, -7.64274e-15, 8.74228e-08, 0, -1, -8.74228e-08, 8.74228e-08, -8.74228e-08, 1, 0, 6, 6)
mesh = ExtResource("15_ruwlj")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Ceiling"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Ceiling/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_dly4i")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Ceiling/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("17_fll4m")
[node name="Ceiling2" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(-1, -7.64274e-15, 8.74228e-08, 0, -1, -8.74228e-08, 8.74228e-08, -8.74228e-08, 1, 0, 6, -3)
mesh = ExtResource("15_ruwlj")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Ceiling2"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Ceiling2/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_dly4i")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Ceiling2/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("17_fll4m")
[node name="Floor" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 6)
mesh = ExtResource("18_0idgf")
skeleton = NodePath("")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Floor"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Floor/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_fll4m")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Floor/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("17_fll4m")
[node name="Floor2" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -3)
mesh = ExtResource("18_0idgf")
skeleton = NodePath("")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Floor2"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Floor2/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_fll4m")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Floor2/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("17_fll4m")
[node name="Wall2" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(-2.18557e-07, 1, -4.37114e-08, 0, -4.37114e-08, -1, -1, -2.18557e-07, 9.55343e-15, -4.5, 1.5, -3)
mesh = ExtResource("19_dly4i")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall2"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall2/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall2/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Wall3" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(-2.18557e-07, 1, -4.37114e-08, 0, -4.37114e-08, -1, -1, -2.18557e-07, 9.55343e-15, -4.5, 1.5, -6)
mesh = ExtResource("19_dly4i")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall3"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall3/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall3/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Wall13" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(1.31135e-07, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, 1.31135e-07, -5.73205e-15, 4.5, 1.5, -6)
mesh = ExtResource("19_dly4i")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall13"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall13/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall13/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Wall25" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(1.31135e-07, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, 1.31135e-07, -5.73205e-15, 4.5, 1.5, -9)
mesh = ExtResource("19_dly4i")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall25"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall25/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall25/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Wall26" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(1.31135e-07, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, 1.31135e-07, -5.73205e-15, 4.5, 1.5, -12)
mesh = ExtResource("19_dly4i")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall26"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall26/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall26/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Wall36" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(1, 1.74846e-07, -7.64274e-15, 0, -4.37114e-08, -1, -1.74846e-07, 1, -4.37114e-08, -3, 4.5, -13.5)
mesh = ExtResource("19_dly4i")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall36"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall36/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall36/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Wall37" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(1, 1.74846e-07, -7.64274e-15, 0, -4.37114e-08, -1, -1.74846e-07, 1, -4.37114e-08, 0, 4.5, -13.5)
mesh = ExtResource("19_dly4i")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall37"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall37/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall37/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Wall38" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(1, 1.74846e-07, -7.64274e-15, 0, -4.37114e-08, -1, -1.74846e-07, 1, -4.37114e-08, 3, 4.5, -13.5)
mesh = ExtResource("19_dly4i")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall38"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall38/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall38/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Wall27" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(1.31135e-07, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, 1.31135e-07, -5.73205e-15, 4.5, 4.5, -12)
mesh = ExtResource("19_dly4i")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall27"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall27/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall27/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Wall28" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(1.31135e-07, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, 1.31135e-07, -5.73205e-15, 4.5, 4.5, -9)
mesh = ExtResource("19_dly4i")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall28"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall28/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall28/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Wall14" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(1.31135e-07, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, 1.31135e-07, -5.73205e-15, 4.5, 1.5, -3)
mesh = ExtResource("19_dly4i")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall14"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall14/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall14/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Wall15" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(1.31135e-07, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, 1.31135e-07, -5.73205e-15, 4.5, 1.5, 0)
mesh = ExtResource("19_dly4i")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall15"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall15/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall15/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Wall16" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(1.31135e-07, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, 1.31135e-07, -5.73205e-15, 4.5, 1.5, 3)
mesh = ExtResource("19_dly4i")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall16"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall16/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall16/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Wall17" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(1.31135e-07, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, 1.31135e-07, -5.73205e-15, 4.5, 1.5, 6)
mesh = ExtResource("19_dly4i")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall17"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall17/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall17/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Wall18" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(1.31135e-07, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, 1.31135e-07, -5.73205e-15, 4.5, 1.5, 9)
mesh = ExtResource("19_dly4i")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall18"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall18/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall18/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Wall19" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(1.31135e-07, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, 1.31135e-07, -5.73205e-15, 4.5, 4.5, 9)
mesh = ExtResource("19_dly4i")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall19"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall19/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall19/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Wall20" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(1.31135e-07, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, 1.31135e-07, -5.73205e-15, 4.5, 4.5, 6)
mesh = ExtResource("19_dly4i")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall20"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall20/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall20/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Wall21" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(1.31135e-07, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, 1.31135e-07, -5.73205e-15, 4.5, 4.5, 3)
mesh = ExtResource("19_dly4i")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall21"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall21/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall21/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Wall22" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(1.31135e-07, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, 1.31135e-07, -5.73205e-15, 4.5, 4.5, 0)
mesh = ExtResource("19_dly4i")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall22"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall22/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall22/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Wall23" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(1.31135e-07, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, 1.31135e-07, -5.73205e-15, 4.5, 4.5, -3)
mesh = ExtResource("19_dly4i")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall23"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall23/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall23/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Wall24" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(1.31135e-07, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, 1.31135e-07, -5.73205e-15, 4.5, 4.5, -6)
mesh = ExtResource("19_dly4i")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall24"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall24/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall24/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Wall4" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(-2.18557e-07, 1, -4.37114e-08, 0, -4.37114e-08, -1, -1, -2.18557e-07, 9.55343e-15, -4.5, 1.5, 3)
mesh = ExtResource("19_dly4i")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall4"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall4/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall4/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Wall5" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(-2.18557e-07, 1, -4.37114e-08, 0, -4.37114e-08, -1, -1, -2.18557e-07, 9.55343e-15, -4.5, 1.5, 6)
mesh = ExtResource("19_dly4i")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall5"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall5/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall5/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Wall6" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(-2.18557e-07, 1, -4.37114e-08, 0, -4.37114e-08, -1, -1, -2.18557e-07, 9.55343e-15, -4.5, 1.5, 9)
mesh = ExtResource("19_dly4i")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall6"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall6/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall6/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Wall7" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(-2.18557e-07, 1, -4.37114e-08, 0, -4.37114e-08, -1, -1, -2.18557e-07, 9.55343e-15, -4.5, 4.5, 9)
mesh = ExtResource("19_dly4i")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall7"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall7/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall7/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Wall8" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(-2.18557e-07, 1, -4.37114e-08, 0, -4.37114e-08, -1, -1, -2.18557e-07, 9.55343e-15, -4.5, 4.5, 6)
mesh = ExtResource("19_dly4i")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall8"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall8/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall8/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Wall9" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(-2.18557e-07, 1, -4.37114e-08, 0, -4.37114e-08, -1, -1, -2.18557e-07, 9.55343e-15, -4.5, 4.5, 3)
mesh = ExtResource("19_dly4i")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall9"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall9/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall9/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Wall10" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(-2.18557e-07, 1, -4.37114e-08, 0, -4.37114e-08, -1, -1, -2.18557e-07, 9.55343e-15, -4.5, 4.5, 0)
mesh = ExtResource("19_dly4i")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall10"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall10/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall10/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Wall11" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(-2.18557e-07, 1, -4.37114e-08, 0, -4.37114e-08, -1, -1, -2.18557e-07, 9.55343e-15, -4.5, 4.5, -3)
mesh = ExtResource("19_dly4i")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall11"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall11/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall11/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Wall12" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(-2.18557e-07, 1, -4.37114e-08, 0, -4.37114e-08, -1, -1, -2.18557e-07, 9.55343e-15, -4.5, 4.5, -6)
mesh = ExtResource("19_dly4i")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall12"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall12/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall12/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Wall30" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(-2.18557e-07, 1, -4.37114e-08, 0, -4.37114e-08, -1, -1, -2.18557e-07, 9.55343e-15, -4.5, 4.5, -9)
mesh = ExtResource("19_dly4i")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall30"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall30/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall30/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Wall32" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(-2.18557e-07, 1, -4.37114e-08, 0, -4.37114e-08, -1, -1, -2.18557e-07, 9.55343e-15, -4.5, 4.5, -12)
mesh = ExtResource("19_dly4i")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall32"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall32/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Wall32/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="BayDoor" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 10.5)
mesh = SubResource("BoxMesh_dly4i")
[node name="Ceiling3" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(1, 0, 0, 0, -1, -8.74228e-08, 0, 8.74228e-08, -1, 3, 6, -9)
mesh = ExtResource("25_v8y1j")
skeleton = NodePath("../../..")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Ceiling3"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Ceiling3/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_54or8")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Ceiling3/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Ceiling4" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(1, 0, 0, 0, -1, -8.74228e-08, 0, 8.74228e-08, -1, 0, 6, -9)
mesh = ExtResource("25_v8y1j")
skeleton = NodePath("../../..")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Ceiling4"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Ceiling4/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_54or8")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Ceiling4/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Ceiling5" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(1, 0, 0, 0, -1, -8.74228e-08, 0, 8.74228e-08, -1, -3, 6, -9)
mesh = ExtResource("25_v8y1j")
skeleton = NodePath("../../..")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Ceiling5"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Ceiling5/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_54or8")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Ceiling5/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Ceiling6" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(1, 0, 0, 0, -1, -8.74228e-08, 0, 8.74228e-08, -1, -3, 6, -12)
mesh = ExtResource("25_v8y1j")
skeleton = NodePath("../../..")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Ceiling6"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Ceiling6/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_54or8")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Ceiling6/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Ceiling7" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(1, 0, 0, 0, -1, -8.74228e-08, 0, 8.74228e-08, -1, 0, 6, -12)
mesh = ExtResource("25_v8y1j")
skeleton = NodePath("../../..")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Ceiling7"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Ceiling7/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_54or8")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Ceiling7/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Ceiling8" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Bounds"]
transform = Transform3D(1, 0, 0, 0, -1, -8.74228e-08, 0, 8.74228e-08, -1, 3, 6, -12)
mesh = ExtResource("25_v8y1j")
skeleton = NodePath("../../..")
[node name="StaticBody3D" type="StaticBody3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Ceiling8"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastNav/CargoBay/LoadingDock/Bounds/Ceiling8/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_54or8")
[node name="Gunkable" parent="BeastNav/CargoBay/LoadingDock/Bounds/Ceiling8/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("16_0idgf")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("20_rp2qp")
[node name="Elevator" type="Node3D" parent="BeastNav/CargoBay/LoadingDock"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -10.5)
[node name="Shaft" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Elevator"]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 4.5, 0, -3)
mesh = ExtResource("26_54or8")
[node name="ElevatorPlatform" type="Node3D" parent="BeastNav/CargoBay/LoadingDock/Elevator"]
[node name="MeshInstance3D" type="MeshInstance3D" parent="BeastNav/CargoBay/LoadingDock/Elevator/ElevatorPlatform"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, -0.5, 0)
mesh = SubResource("BoxMesh_qo5rw")
skeleton = NodePath("../..")
[node name="Railing" parent="BeastNav/CargoBay/LoadingDock/Elevator/ElevatorPlatform" instance=ExtResource("27_qo5rw")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -1.5, 0.5, 1.5)
skeleton = NodePath("../..")
[node name="Railing2" parent="BeastNav/CargoBay/LoadingDock/Elevator/ElevatorPlatform" instance=ExtResource("27_qo5rw")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -1.5, 0.5, -1.5)
skeleton = NodePath("../..")
[node name="Path3D" type="Path3D" parent="BeastNav/CargoBay/LoadingDock/Elevator"]
curve = SubResource("Curve3D_54or8")
[node name="Railing" parent="BeastNav/CargoBay/LoadingDock/Elevator" instance=ExtResource("27_qo5rw")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0.5, 3)
[node name="Bulkheads" type="Node3D" parent="BeastNav"] [node name="Bulkheads" type="Node3D" parent="BeastNav"]
[node name="BulkheadA" parent="BeastNav/Bulkheads" instance=ExtResource("35_f0xh4")] [node name="BulkheadA" parent="BeastNav/Bulkheads" instance=ExtResource("35_f0xh4")]

View File

@ -0,0 +1,772 @@
[gd_scene load_steps=19 format=3 uid="uid://c2k0x1dp527n1"]
[ext_resource type="ArrayMesh" uid="uid://bumwpsm42csme" path="res://assets/level/ceiling/ceiling_9x9.mesh" id="1_20lab"]
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="2_jd3pc"]
[ext_resource type="Material" uid="uid://cqjr3cbxtfg2j" path="res://assets/materials/gunk.material" id="3_s2uxq"]
[ext_resource type="ArrayMesh" uid="uid://dpr5cgq743f4s" path="res://assets/level/floor/floor_9x9.mesh" id="4_exqd3"]
[ext_resource type="ArrayMesh" uid="uid://c785n3j3aq4sf" path="res://assets/level/wall/wall_1.mesh" id="5_fopii"]
[ext_resource type="Material" uid="uid://c1vy4bkwb1g5m" path="res://assets/materials/gunk_lowrez.material" id="6_d0c5k"]
[ext_resource type="Texture2D" uid="uid://bd52xpmm3oqw" path="res://assets/props/bulkhead/bulkhead_door_C.png" id="7_iwhm6"]
[ext_resource type="Texture2D" uid="uid://nexcq3xxrebb" path="res://assets/props/bulkhead/bulkhead_door_M.png" id="8_qdfj2"]
[ext_resource type="Texture2D" uid="uid://dk4sm780p6jfc" path="res://assets/props/bulkhead/bulkhead_door_N.png" id="9_wwtwk"]
[ext_resource type="Texture2D" uid="uid://rjuyd20y2ov1" path="res://assets/props/bulkhead/bulkhead_door_R.png" id="10_txlc2"]
[ext_resource type="ArrayMesh" uid="uid://dbgk0kdg1vufk" path="res://assets/level/ceiling/ceiling_1.mesh" id="11_t6ns3"]
[ext_resource type="PackedScene" uid="uid://b21fp0ko055os" path="res://levels/ghost_ship/level/cargo_bay/elevator/cargo_lift.tscn" id="12_18p4i"]
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_dly4i"]
data = PackedVector3Array(4.5, 0, 4.5, -4.5, 0, 4.5, 4.5, 0, -4.5, 4.5, 0, -4.5, -4.5, 0, 4.5, -4.5, 0, -4.5)
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_fll4m"]
data = PackedVector3Array(4.5, 0, 4.5, -4.5, 0, 4.5, 4.5, 0, -4.5, 4.5, 0, -4.5, -4.5, 0, 4.5, -4.5, 0, -4.5)
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_if0c2"]
data = PackedVector3Array(1.5, 0, 1.5, -1.5, 0, 1.5, 1.5, 0, -1.5, 1.5, 0, -1.5, -1.5, 0, 1.5, -1.5, 0, -1.5)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_sqa4l"]
albedo_texture = ExtResource("7_iwhm6")
metallic = 1.0
metallic_texture = ExtResource("8_qdfj2")
roughness_texture = ExtResource("10_txlc2")
normal_enabled = true
normal_texture = ExtResource("9_wwtwk")
uv1_scale = Vector3(3, 2, 1)
texture_filter = 2
[sub_resource type="BoxMesh" id="BoxMesh_dly4i"]
material = SubResource("StandardMaterial3D_sqa4l")
size = Vector3(9, 6, 0.2)
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_54or8"]
data = PackedVector3Array(1.5, 0, 1.5, -1.5, 0, 1.5, 1.5, 0, -1.5, 1.5, 0, -1.5, -1.5, 0, 1.5, -1.5, 0, -1.5)
[node name="CargoBay" type="Node3D"]
[node name="LoadingDock" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 9)
[node name="Bounds" type="Node3D" parent="LoadingDock"]
[node name="Ceiling" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(-1, -7.64274e-15, 8.74228e-08, 0, -1, -8.74228e-08, 8.74228e-08, -8.74228e-08, 1, 0, 6, 6)
mesh = ExtResource("1_20lab")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Ceiling"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Ceiling/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_dly4i")
[node name="Gunkable" parent="LoadingDock/Bounds/Ceiling/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("3_s2uxq")
[node name="Ceiling2" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(-1, -7.64274e-15, 8.74228e-08, 0, -1, -8.74228e-08, 8.74228e-08, -8.74228e-08, 1, 0, 6, -3)
mesh = ExtResource("1_20lab")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Ceiling2"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Ceiling2/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_dly4i")
[node name="Gunkable" parent="LoadingDock/Bounds/Ceiling2/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("3_s2uxq")
[node name="Floor" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 6)
mesh = ExtResource("4_exqd3")
skeleton = NodePath("")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Floor"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Floor/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_fll4m")
[node name="Gunkable" parent="LoadingDock/Bounds/Floor/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("3_s2uxq")
[node name="Floor2" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -3)
mesh = ExtResource("4_exqd3")
skeleton = NodePath("")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Floor2"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Floor2/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_fll4m")
[node name="Gunkable" parent="LoadingDock/Bounds/Floor2/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("3_s2uxq")
[node name="Wall2" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(-2.18557e-07, 1, -4.37114e-08, 0, -4.37114e-08, -1, -1, -2.18557e-07, 9.55343e-15, -4.5, 1.5, -3)
mesh = ExtResource("5_fopii")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Wall2"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Wall2/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="LoadingDock/Bounds/Wall2/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Wall3" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(-2.18557e-07, 1, -4.37114e-08, 0, -4.37114e-08, -1, -1, -2.18557e-07, 9.55343e-15, -4.5, 1.5, -6)
mesh = ExtResource("5_fopii")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Wall3"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Wall3/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="LoadingDock/Bounds/Wall3/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Wall13" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(1.31135e-07, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, 1.31135e-07, -5.73205e-15, 4.5, 1.5, -6)
mesh = ExtResource("5_fopii")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Wall13"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Wall13/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="LoadingDock/Bounds/Wall13/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Wall25" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(1.31135e-07, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, 1.31135e-07, -5.73205e-15, 4.5, 1.5, -9)
mesh = ExtResource("5_fopii")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Wall25"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Wall25/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="LoadingDock/Bounds/Wall25/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Wall26" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(1.31135e-07, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, 1.31135e-07, -5.73205e-15, 4.5, 1.5, -12)
mesh = ExtResource("5_fopii")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Wall26"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Wall26/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="LoadingDock/Bounds/Wall26/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Wall36" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(1, 1.74846e-07, -7.64274e-15, 0, -4.37114e-08, -1, -1.74846e-07, 1, -4.37114e-08, -3, 4.5, -13.5)
mesh = ExtResource("5_fopii")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Wall36"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Wall36/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="LoadingDock/Bounds/Wall36/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Wall37" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(1, 1.74846e-07, -7.64274e-15, 0, -4.37114e-08, -1, -1.74846e-07, 1, -4.37114e-08, 0, 4.5, -13.5)
mesh = ExtResource("5_fopii")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Wall37"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Wall37/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="LoadingDock/Bounds/Wall37/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Wall38" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(1, 1.74846e-07, -7.64274e-15, 0, -4.37114e-08, -1, -1.74846e-07, 1, -4.37114e-08, 3, 4.5, -13.5)
mesh = ExtResource("5_fopii")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Wall38"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Wall38/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="LoadingDock/Bounds/Wall38/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Wall27" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(1.31135e-07, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, 1.31135e-07, -5.73205e-15, 4.5, 4.5, -12)
mesh = ExtResource("5_fopii")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Wall27"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Wall27/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="LoadingDock/Bounds/Wall27/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Wall28" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(1.31135e-07, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, 1.31135e-07, -5.73205e-15, 4.5, 4.5, -9)
mesh = ExtResource("5_fopii")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Wall28"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Wall28/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="LoadingDock/Bounds/Wall28/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Wall14" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(1.31135e-07, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, 1.31135e-07, -5.73205e-15, 4.5, 1.5, -3)
mesh = ExtResource("5_fopii")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Wall14"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Wall14/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="LoadingDock/Bounds/Wall14/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Wall15" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(1.31135e-07, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, 1.31135e-07, -5.73205e-15, 4.5, 1.5, 0)
mesh = ExtResource("5_fopii")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Wall15"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Wall15/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="LoadingDock/Bounds/Wall15/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Wall16" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(1.31135e-07, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, 1.31135e-07, -5.73205e-15, 4.5, 1.5, 3)
mesh = ExtResource("5_fopii")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Wall16"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Wall16/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="LoadingDock/Bounds/Wall16/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Wall17" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(1.31135e-07, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, 1.31135e-07, -5.73205e-15, 4.5, 1.5, 6)
mesh = ExtResource("5_fopii")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Wall17"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Wall17/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="LoadingDock/Bounds/Wall17/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Wall18" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(1.31135e-07, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, 1.31135e-07, -5.73205e-15, 4.5, 1.5, 9)
mesh = ExtResource("5_fopii")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Wall18"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Wall18/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="LoadingDock/Bounds/Wall18/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Wall19" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(1.31135e-07, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, 1.31135e-07, -5.73205e-15, 4.5, 4.5, 9)
mesh = ExtResource("5_fopii")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Wall19"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Wall19/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="LoadingDock/Bounds/Wall19/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Wall20" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(1.31135e-07, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, 1.31135e-07, -5.73205e-15, 4.5, 4.5, 6)
mesh = ExtResource("5_fopii")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Wall20"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Wall20/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="LoadingDock/Bounds/Wall20/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Wall21" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(1.31135e-07, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, 1.31135e-07, -5.73205e-15, 4.5, 4.5, 3)
mesh = ExtResource("5_fopii")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Wall21"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Wall21/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="LoadingDock/Bounds/Wall21/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Wall22" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(1.31135e-07, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, 1.31135e-07, -5.73205e-15, 4.5, 4.5, 0)
mesh = ExtResource("5_fopii")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Wall22"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Wall22/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="LoadingDock/Bounds/Wall22/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Wall23" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(1.31135e-07, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, 1.31135e-07, -5.73205e-15, 4.5, 4.5, -3)
mesh = ExtResource("5_fopii")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Wall23"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Wall23/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="LoadingDock/Bounds/Wall23/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Wall24" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(1.31135e-07, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, 1.31135e-07, -5.73205e-15, 4.5, 4.5, -6)
mesh = ExtResource("5_fopii")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Wall24"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Wall24/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="LoadingDock/Bounds/Wall24/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Wall4" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(-2.18557e-07, 1, -4.37114e-08, 0, -4.37114e-08, -1, -1, -2.18557e-07, 9.55343e-15, -4.5, 1.5, 3)
mesh = ExtResource("5_fopii")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Wall4"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Wall4/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="LoadingDock/Bounds/Wall4/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Wall5" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(-2.18557e-07, 1, -4.37114e-08, 0, -4.37114e-08, -1, -1, -2.18557e-07, 9.55343e-15, -4.5, 1.5, 6)
mesh = ExtResource("5_fopii")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Wall5"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Wall5/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="LoadingDock/Bounds/Wall5/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Wall6" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(-2.18557e-07, 1, -4.37114e-08, 0, -4.37114e-08, -1, -1, -2.18557e-07, 9.55343e-15, -4.5, 1.5, 9)
mesh = ExtResource("5_fopii")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Wall6"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Wall6/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="LoadingDock/Bounds/Wall6/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Wall7" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(-2.18557e-07, 1, -4.37114e-08, 0, -4.37114e-08, -1, -1, -2.18557e-07, 9.55343e-15, -4.5, 4.5, 9)
mesh = ExtResource("5_fopii")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Wall7"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Wall7/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="LoadingDock/Bounds/Wall7/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Wall8" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(-2.18557e-07, 1, -4.37114e-08, 0, -4.37114e-08, -1, -1, -2.18557e-07, 9.55343e-15, -4.5, 4.5, 6)
mesh = ExtResource("5_fopii")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Wall8"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Wall8/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="LoadingDock/Bounds/Wall8/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Wall9" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(-2.18557e-07, 1, -4.37114e-08, 0, -4.37114e-08, -1, -1, -2.18557e-07, 9.55343e-15, -4.5, 4.5, 3)
mesh = ExtResource("5_fopii")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Wall9"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Wall9/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="LoadingDock/Bounds/Wall9/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Wall10" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(-2.18557e-07, 1, -4.37114e-08, 0, -4.37114e-08, -1, -1, -2.18557e-07, 9.55343e-15, -4.5, 4.5, 0)
mesh = ExtResource("5_fopii")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Wall10"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Wall10/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="LoadingDock/Bounds/Wall10/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Wall11" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(-2.18557e-07, 1, -4.37114e-08, 0, -4.37114e-08, -1, -1, -2.18557e-07, 9.55343e-15, -4.5, 4.5, -3)
mesh = ExtResource("5_fopii")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Wall11"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Wall11/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="LoadingDock/Bounds/Wall11/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Wall12" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(-2.18557e-07, 1, -4.37114e-08, 0, -4.37114e-08, -1, -1, -2.18557e-07, 9.55343e-15, -4.5, 4.5, -6)
mesh = ExtResource("5_fopii")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Wall12"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Wall12/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="LoadingDock/Bounds/Wall12/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Wall30" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(-2.18557e-07, 1, -4.37114e-08, 0, -4.37114e-08, -1, -1, -2.18557e-07, 9.55343e-15, -4.5, 4.5, -9)
mesh = ExtResource("5_fopii")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Wall30"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Wall30/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="LoadingDock/Bounds/Wall30/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Wall32" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(-2.18557e-07, 1, -4.37114e-08, 0, -4.37114e-08, -1, -1, -2.18557e-07, 9.55343e-15, -4.5, 4.5, -12)
mesh = ExtResource("5_fopii")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Wall32"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Wall32/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="Gunkable" parent="LoadingDock/Bounds/Wall32/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="BayDoor" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 10.5)
mesh = SubResource("BoxMesh_dly4i")
[node name="Ceiling3" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(1, 0, 0, 0, -1, -8.74228e-08, 0, 8.74228e-08, -1, 3, 6, -9)
mesh = ExtResource("11_t6ns3")
skeleton = NodePath("../../..")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Ceiling3"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Ceiling3/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_54or8")
[node name="Gunkable" parent="LoadingDock/Bounds/Ceiling3/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Ceiling4" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(1, 0, 0, 0, -1, -8.74228e-08, 0, 8.74228e-08, -1, 0, 6, -9)
mesh = ExtResource("11_t6ns3")
skeleton = NodePath("../../..")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Ceiling4"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Ceiling4/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_54or8")
[node name="Gunkable" parent="LoadingDock/Bounds/Ceiling4/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Ceiling5" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(1, 0, 0, 0, -1, -8.74228e-08, 0, 8.74228e-08, -1, -3, 6, -9)
mesh = ExtResource("11_t6ns3")
skeleton = NodePath("../../..")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Ceiling5"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Ceiling5/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_54or8")
[node name="Gunkable" parent="LoadingDock/Bounds/Ceiling5/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Ceiling6" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(1, 0, 0, 0, -1, -8.74228e-08, 0, 8.74228e-08, -1, -3, 6, -12)
mesh = ExtResource("11_t6ns3")
skeleton = NodePath("../../..")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Ceiling6"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Ceiling6/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_54or8")
[node name="Gunkable" parent="LoadingDock/Bounds/Ceiling6/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Ceiling7" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(1, 0, 0, 0, -1, -8.74228e-08, 0, 8.74228e-08, -1, 0, 6, -12)
mesh = ExtResource("11_t6ns3")
skeleton = NodePath("../../..")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Ceiling7"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Ceiling7/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_54or8")
[node name="Gunkable" parent="LoadingDock/Bounds/Ceiling7/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Ceiling8" type="MeshInstance3D" parent="LoadingDock/Bounds"]
transform = Transform3D(1, 0, 0, 0, -1, -8.74228e-08, 0, 8.74228e-08, -1, 3, 6, -12)
mesh = ExtResource("11_t6ns3")
skeleton = NodePath("../../..")
[node name="StaticBody3D" type="StaticBody3D" parent="LoadingDock/Bounds/Ceiling8"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LoadingDock/Bounds/Ceiling8/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_54or8")
[node name="Gunkable" parent="LoadingDock/Bounds/Ceiling8/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_jd3pc")]
mask_dim = 64
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("6_d0c5k")
[node name="Elevator" parent="LoadingDock" instance=ExtResource("12_18p4i")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -10.5)

View File

@ -0,0 +1,52 @@
class_name CargoLift extends Node3D
signal at_limit
const SPEED_SMOOTHING := 1.618
const LIMIT_BRAKE_BUFFER := 0.25
const LIMIT_BRAKE_FACTOR := 0.2
@export var progress := 0.0:
set = _set_progress
@export var speed := 0.0
@export var target_speed := 0.0
@export var max_speed := 0.04
@onready var elevator_path_follow: PathFollow3D = %ElevatorPathFollow
func _set_progress(value: float) -> void:
progress = clampf(value, 0.0, 1.0)
if progress != value:
speed = 0
target_speed = 0
at_limit.emit()
if elevator_path_follow:
elevator_path_follow.progress_ratio = progress
func _physics_process(delta: float) -> void:
var weight := 1 - exp(-SPEED_SMOOTHING * delta)
var a := 2 * progress - 1
var b := clampf(1 - a * a, 0, LIMIT_BRAKE_FACTOR) / LIMIT_BRAKE_FACTOR
var limit_factor := max_speed * remap(b, 0, 1, LIMIT_BRAKE_BUFFER, 1)
speed = clampf(lerpf(speed, target_speed, weight), -limit_factor, limit_factor)
progress += speed * delta
func set_target_speed(value: float) -> void:
target_speed = clampf(value, -max_speed, max_speed)
func serialize() -> Dictionary:
var state := {"progress": progress}
return state
func deserialize(state: Dictionary) -> void:
@warning_ignore("unsafe_cast")
progress = state["progress"] as float

View File

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

View File

@ -0,0 +1,133 @@
[gd_scene load_steps=15 format=3 uid="uid://b21fp0ko055os"]
[ext_resource type="Script" uid="uid://ppfu4vq3ocwk" path="res://levels/ghost_ship/level/cargo_bay/elevator/cargo_lift.gd" id="1_extwr"]
[ext_resource type="ArrayMesh" uid="uid://cpspkxu1ntdv7" path="res://levels/ghost_ship/level/cargo_bay/elevator_shaft.obj" id="2_1wrn3"]
[ext_resource type="Texture2D" uid="uid://bd52xpmm3oqw" path="res://assets/props/bulkhead/bulkhead_door_C.png" id="3_yvqws"]
[ext_resource type="Texture2D" uid="uid://dk4sm780p6jfc" path="res://assets/props/bulkhead/bulkhead_door_N.png" id="4_m31fx"]
[ext_resource type="Texture2D" uid="uid://rjuyd20y2ov1" path="res://assets/props/bulkhead/bulkhead_door_R.png" id="5_ej4kt"]
[ext_resource type="Script" uid="uid://dr4s44i63h1nw" path="res://levels/ghost_ship/level/cargo_bay/elevator/rumble_zone.gd" id="6_il20m"]
[ext_resource type="PackedScene" uid="uid://ctm84yms40858" path="res://src/props/railing/railing.tscn" id="7_esw7b"]
[ext_resource type="PackedScene" uid="uid://bbmi28batmn0p" path="res://levels/ghost_ship/level/cargo_bay/elevator/elevator_control.tscn" id="8_g20so"]
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_egxej"]
data = PackedVector3Array(0, 3, 0, 0, -0.0001, 0, 0, 3, -9.0002, 0, 3, -9.0002, 0, -0.0001, 0, 0, -0.0001, -9.0002, 0, 3, -9.0002, 0, -0.0001, -9.0002, 0, -21.0003, -25, 0, -21.0003, -25, 0, -0.0001, -9.0002, 0, -24, -25, 0, -0.0001, -9.0002, 0, -0.0001, 0, 0, -24, -25, 0, -24, -25, 0, -0.0001, 0, 0, -24, -16.0002, -6, -24, -25, -6, -0.0001, -9.0002, -6, -21.0003, -25, -6, -21.0003, -25, -6, -0.0001, -9.0002, -6, 3, -9.0002, -6, -24, -16.0002, -6, -0.0001, -9.0002, -6, -24, -25, -6, -0.0001, 0, -6, -0.0001, -9.0002, -6, -24, -16.0002, 0, -24, -25, 0, -24, -16.0002, -6, -24, -25, -6, -24, -25, 0, -24, -16.0002, -6, -24, -16.0002, -6, 3, -9.0002, 0, 3, -9.0002, -6, -21.0003, -25, -6, -21.0003, -25, 0, 3, -9.0002, 0, -21.0003, -25, 0, -0.0001, 0, -6, -0.0001, 0, 0, -24, -16.0002, 0, -24, -16.0002, -6, -0.0001, 0, -6, -24, -16.0002)
[sub_resource type="Curve3D" id="Curve3D_54or8"]
_data = {
"points": PackedVector3Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -16, -24, 0),
"tilts": PackedFloat32Array(0, 0)
}
point_count = 2
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_54or8"]
albedo_texture = ExtResource("3_yvqws")
metallic = 1.0
metallic_texture = ExtResource("3_yvqws")
roughness_texture = ExtResource("5_ej4kt")
normal_enabled = true
normal_texture = ExtResource("4_m31fx")
uv1_scale = Vector3(9, 6, 1)
texture_filter = 2
[sub_resource type="BoxMesh" id="BoxMesh_qo5rw"]
material = SubResource("StandardMaterial3D_54or8")
size = Vector3(6, 1, 6)
[sub_resource type="BoxShape3D" id="BoxShape3D_wg450"]
size = Vector3(6, 1, 6)
[sub_resource type="BoxShape3D" id="BoxShape3D_egxej"]
size = Vector3(6, 0.2, 6)
[node name="CargoLift" type="Node3D" groups=["Persistent"]]
script = ExtResource("1_extwr")
[node name="Shaft" type="MeshInstance3D" parent="."]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 4.5, 0, -3)
mesh = ExtResource("2_1wrn3")
[node name="StaticBody3D" type="StaticBody3D" parent="Shaft"]
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="Shaft/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_egxej")
[node name="ElevatorPath" type="Path3D" parent="."]
curve = SubResource("Curve3D_54or8")
[node name="ElevatorPathFollow" type="PathFollow3D" parent="ElevatorPath"]
unique_name_in_owner = true
transform = Transform3D(-1.62921e-07, -0.83205, 0.5547, 0, 0.5547, 0.83205, -1, 1.35558e-07, -9.03721e-08, 0, 0, 0)
loop = false
[node name="ElevatorPlatform" type="Node3D" parent="ElevatorPath/ElevatorPathFollow"]
transform = Transform3D(-1.62921e-07, 0, -1, -0.83205, 0.5547, 1.35558e-07, 0.5547, 0.83205, -9.03721e-08, 0, 0, 0)
[node name="MeshInstance3D" type="MeshInstance3D" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, -0.5, 0)
mesh = SubResource("BoxMesh_qo5rw")
skeleton = NodePath("../../../..")
[node name="AnimatableBody3D" type="AnimatableBody3D" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/MeshInstance3D"]
transform = Transform3D(1, -7.0682e-27, -2.71051e-20, 4.06422e-26, 1, 0, 0, 1.69407e-21, 1, 0, 0, 0)
collision_layer = 5
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/MeshInstance3D/AnimatableBody3D"]
shape = SubResource("BoxShape3D_wg450")
[node name="RemoteTransform3D" type="RemoteTransform3D" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/MeshInstance3D"]
remote_path = NodePath("../AnimatableBody3D")
[node name="RumbleZone" type="Area3D" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/MeshInstance3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2, 0)
collision_layer = 0
collision_mask = 8
script = ExtResource("6_il20m")
[node name="CollisionShape3D" type="CollisionShape3D" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/MeshInstance3D/RumbleZone"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0)
shape = SubResource("BoxShape3D_egxej")
[node name="Railing" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform" instance=ExtResource("7_esw7b")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -1.5, 0.5, 1.5)
skeleton = NodePath("../../../..")
[node name="Railing2" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform" instance=ExtResource("7_esw7b")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -1.5, 0.5, -1.5)
skeleton = NodePath("../../../..")
[node name="ControlConsole" type="Node3D" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0.5, -1.4)
[node name="ConsoleBase" type="CSGCombiner3D" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/ControlConsole"]
use_collision = true
collision_layer = 5
collision_mask = 0
[node name="BaseBox" type="CSGBox3D" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/ControlConsole/ConsoleBase"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.55)
use_collision = true
size = Vector3(1, 1, 2.1)
[node name="ControlPanel" type="CSGBox3D" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/ControlConsole/ConsoleBase"]
transform = Transform3D(0.707107, -0.707107, 0, 0.707107, 0.707107, 0, 0, 0, 1, -0.6, 0.6, 0)
operation = 2
[node name="SlideNotch" type="CSGBox3D" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/ControlConsole/ConsoleBase"]
transform = Transform3D(0.707107, -0.707107, 0, 0.707107, 0.707107, 0, 0, 0, 1, -0.269205, 0.330795, 0)
operation = 2
size = Vector3(0.4, 0.2, 0.02)
[node name="ElevatorControl" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/ControlConsole" instance=ExtResource("8_g20so")]
transform = Transform3D(0.707107, -0.707107, 0, 0.707107, 0.707107, 0, 0, 0, 1, -0.225, 0.285, 0)
[node name="Railing" parent="." instance=ExtResource("7_esw7b")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0.5, 3)
[connection signal="at_limit" from="." to="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/ControlConsole/ElevatorControl" method="on_set_mid"]
[connection signal="body_exited" from="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/MeshInstance3D/RumbleZone" to="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/MeshInstance3D/RumbleZone" method="_on_body_exited"]
[connection signal="set_high" from="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/ControlConsole/ElevatorControl" to="." method="set_target_speed" binds= [-1.0]]
[connection signal="set_low" from="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/ControlConsole/ElevatorControl" to="." method="set_target_speed" binds= [1.0]]
[connection signal="set_mid" from="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/ControlConsole/ElevatorControl" to="." method="set_target_speed" binds= [0.0]]

View File

@ -1,55 +0,0 @@
[gd_scene load_steps=9 format=3 uid="uid://b21fp0ko055os"]
[ext_resource type="ArrayMesh" uid="uid://cpspkxu1ntdv7" path="res://levels/ghost_ship/level/cargo_bay/elevator_shaft.obj" id="1_wg450"]
[ext_resource type="Texture2D" uid="uid://bd52xpmm3oqw" path="res://assets/props/bulkhead/bulkhead_door_C.png" id="2_jgw86"]
[ext_resource type="Texture2D" uid="uid://dk4sm780p6jfc" path="res://assets/props/bulkhead/bulkhead_door_N.png" id="3_egxej"]
[ext_resource type="Texture2D" uid="uid://rjuyd20y2ov1" path="res://assets/props/bulkhead/bulkhead_door_R.png" id="4_ho6u3"]
[ext_resource type="PackedScene" uid="uid://ctm84yms40858" path="res://src/props/railing/railing.tscn" id="5_sfkxm"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_54or8"]
albedo_texture = ExtResource("2_jgw86")
metallic = 1.0
metallic_texture = ExtResource("2_jgw86")
roughness_texture = ExtResource("4_ho6u3")
normal_enabled = true
normal_texture = ExtResource("3_egxej")
uv1_scale = Vector3(9, 6, 1)
texture_filter = 2
[sub_resource type="BoxMesh" id="BoxMesh_qo5rw"]
material = SubResource("StandardMaterial3D_54or8")
size = Vector3(6, 1, 6)
[sub_resource type="Curve3D" id="Curve3D_54or8"]
_data = {
"points": PackedVector3Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -16, -24, 0),
"tilts": PackedFloat32Array(0, 0)
}
point_count = 2
[node name="Elevator" type="Node3D"]
[node name="Shaft" type="MeshInstance3D" parent="."]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 4.5, 0, -3)
mesh = ExtResource("1_wg450")
[node name="ElevatorPlatform" type="Node3D" parent="."]
[node name="MeshInstance3D" type="MeshInstance3D" parent="ElevatorPlatform"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, -0.5, 0)
mesh = SubResource("BoxMesh_qo5rw")
skeleton = NodePath("../..")
[node name="Railing" parent="ElevatorPlatform" instance=ExtResource("5_sfkxm")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -1.5, 0.5, 1.5)
skeleton = NodePath("../..")
[node name="Railing2" parent="ElevatorPlatform" instance=ExtResource("5_sfkxm")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -1.5, 0.5, -1.5)
skeleton = NodePath("../..")
[node name="ElevatorPath" type="Path3D" parent="."]
curve = SubResource("Curve3D_54or8")
[node name="Railing" parent="." instance=ExtResource("5_sfkxm")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0.5, 3)

View File

@ -0,0 +1,46 @@
extends Node3D
signal set_low
signal set_mid
signal set_high
enum State {
LOW,
MID,
HIGH,
}
const TWEEN_TIME := 1.618
@export var state := State.MID
@onready var control_slide_path_follow: PathFollow3D = %ControlSlidePathFollow
func tween_slide_position(pct: float) -> Tween:
var tween := create_tween()
(
tween
. tween_property(control_slide_path_follow, "progress_ratio", pct, TWEEN_TIME)
. set_trans(Tween.TRANS_BACK)
. set_ease(Tween.EASE_IN_OUT)
)
return tween
func on_set_high() -> void:
if state != State.HIGH:
state = State.HIGH
tween_slide_position(1).tween_callback(set_high.emit)
func on_set_mid() -> void:
if state != State.MID:
state = State.MID
tween_slide_position(0.5).tween_callback(set_mid.emit)
func on_set_low() -> void:
if state != State.LOW:
state = State.LOW
tween_slide_position(0).tween_callback(set_low.emit)

View File

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

View File

@ -0,0 +1,88 @@
[gd_scene load_steps=8 format=3 uid="uid://bbmi28batmn0p"]
[ext_resource type="Script" uid="uid://deg5xd87cy8rg" path="res://src/props/interactive.gd" id="1_4m3mp"]
[ext_resource type="Script" uid="uid://dsh2jckqof1lh" path="res://levels/ghost_ship/level/cargo_bay/elevator/elevator_control.gd" id="1_rhd4r"]
[sub_resource type="Curve3D" id="Curve3D_wg450"]
_data = {
"points": PackedVector3Array(0, 0, 0, 0, 0, 0, -0.2, 0, 0, 0, 0, 0, 0, 0, 0, 0.2, 0, 0),
"tilts": PackedFloat32Array(0, 0)
}
point_count = 2
[sub_resource type="BoxMesh" id="BoxMesh_wg450"]
size = Vector3(0.06, 0.06, 0.2)
[sub_resource type="BoxShape3D" id="BoxShape3D_ho6u3"]
size = Vector3(0.15, 0.1, 0.3)
[sub_resource type="BoxShape3D" id="BoxShape3D_egxej"]
size = Vector3(0.15, 0.1, 0.3)
[sub_resource type="BoxShape3D" id="BoxShape3D_jgw86"]
size = Vector3(0.15, 0.1, 0.3)
[node name="ElevatorControl" type="Node3D"]
script = ExtResource("1_rhd4r")
[node name="ControlSlidePath" type="Path3D" parent="."]
curve = SubResource("Curve3D_wg450")
[node name="ControlSlidePathFollow" type="PathFollow3D" parent="ControlSlidePath"]
unique_name_in_owner = true
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0, 0)
progress = 0.2
loop = false
[node name="ControlSlide" type="MeshInstance3D" parent="ControlSlidePath/ControlSlidePathFollow"]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0, 0)
mesh = SubResource("BoxMesh_wg450")
skeleton = NodePath("../../../..")
[node name="HighInteractor" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.15, 2.38419e-07, 0)
collision_layer = 2
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="HighInteractor"]
shape = SubResource("BoxShape3D_ho6u3")
[node name="Interactive" type="Node" parent="HighInteractor"]
script = ExtResource("1_4m3mp")
enabled = true
label = "cargo lift"
verb = "set"
metadata/_custom_type_script = "uid://deg5xd87cy8rg"
[node name="MidInteractor" type="StaticBody3D" parent="."]
collision_layer = 2
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="MidInteractor"]
shape = SubResource("BoxShape3D_egxej")
[node name="Interactive" type="Node" parent="MidInteractor"]
script = ExtResource("1_4m3mp")
enabled = true
label = "cargo lift"
verb = "set"
metadata/_custom_type_script = "uid://deg5xd87cy8rg"
[node name="LowInteractor" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.15, 2.38419e-07, 0)
collision_layer = 2
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="LowInteractor"]
shape = SubResource("BoxShape3D_jgw86")
[node name="Interactive" type="Node" parent="LowInteractor"]
script = ExtResource("1_4m3mp")
enabled = true
label = "cargo lift"
verb = "set"
metadata/_custom_type_script = "uid://deg5xd87cy8rg"
[connection signal="activated" from="HighInteractor/Interactive" to="." method="on_set_high"]
[connection signal="activated" from="MidInteractor/Interactive" to="." method="on_set_mid"]
[connection signal="activated" from="LowInteractor/Interactive" to="." method="on_set_low"]

View File

@ -0,0 +1,22 @@
extends Area3D
@export var rumble_factor := 0.1
@onready var cargo_lift := owner as CargoLift
func _process(_delta: float) -> void:
if not has_overlapping_bodies():
return
var player := get_overlapping_bodies()[0] as Player
if not player:
return
player.camera_rumble = rumble_factor * abs(cargo_lift.speed)
func _on_body_exited(body: Node3D) -> void:
var player := body as Player
if player:
player.camera_rumble = 0

View File

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

View File

@ -13,11 +13,12 @@ const AMBIENT_BUS_IDX = 3
func _ready() -> void: func _ready() -> void:
if World.instance:
World.instance.manager.mp3_collected.connect(_on_mp3_collected) World.instance.manager.mp3_collected.connect(_on_mp3_collected)
func unlocked() -> bool: func unlocked() -> bool:
return World.instance.manager.mp3_player_unlocked return World.instance and World.instance.manager.mp3_player_unlocked
func fire() -> void: func fire() -> void:

View File

@ -18,7 +18,7 @@ func _spray() -> void:
func _fire() -> void: func _fire() -> void:
rumbler.intensity = RUMBLE_INTENSITY rumbler.intensity = RUMBLE_INTENSITY
if World.instance.manager.is_tank_full(): if World.instance and World.instance.manager.is_tank_full():
Player.instance.hud.play_tank_full_alert() Player.instance.hud.play_tank_full_alert()
idle() idle()
return return

View File

@ -39,7 +39,7 @@ func _import_stickers() -> void:
func unlocked() -> bool: func unlocked() -> bool:
return World.instance.manager.stickers_unlocked return World.instance and World.instance.manager.stickers_unlocked
func get_selected_sticker() -> Texture2D: func get_selected_sticker() -> Texture2D:

View File

@ -12,7 +12,7 @@ const BRUSH_SCALE := 0.2
func unlocked() -> bool: func unlocked() -> bool:
return World.instance.manager.toothbrush_unlocked return World.instance and World.instance.manager.toothbrush_unlocked
func _fire() -> void: func _fire() -> void:

View File

@ -79,6 +79,7 @@ static var instance: Player
func _ready() -> void: func _ready() -> void:
if World.instance:
World.instance.manager.milestone_reached.connect(_on_milestone) World.instance.manager.milestone_reached.connect(_on_milestone)
instance = self instance = self

View File

@ -23,11 +23,13 @@ var _base_rumble := 0.0
func _ready() -> void: func _ready() -> void:
if World.instance:
World.instance.manager.grunk_collected.connect(on_grunk_collected) World.instance.manager.grunk_collected.connect(on_grunk_collected)
World.instance.manager.grunk_emptied.connect(on_grunk_emptied) World.instance.manager.grunk_emptied.connect(on_grunk_emptied)
func get_target_rotation() -> float: func get_target_rotation() -> float:
if World.instance:
return remap( return remap(
World.instance.manager.grunk_tank, World.instance.manager.grunk_tank,
0, 0,
@ -35,6 +37,7 @@ func get_target_rotation() -> float:
NEEDLE_ANGLE_MIN, NEEDLE_ANGLE_MIN,
NEEDLE_ANGLE_MAX NEEDLE_ANGLE_MAX
) )
return 0
func on_grunk_collected(_delta: float) -> void: func on_grunk_collected(_delta: float) -> void:

View File

@ -9,11 +9,11 @@ class_name PlayerHUD extends Control
func _ready() -> void: func _ready() -> void:
if World.instance:
World.instance.manager.alert_raised.connect(_on_raise_alert) World.instance.manager.alert_raised.connect(_on_raise_alert)
World.instance.manager.alert_cleared.connect(_on_clear_alert) World.instance.manager.alert_cleared.connect(_on_clear_alert)
func _on_raise_alert(_new_value: int) -> void: func _on_raise_alert(_new_value: int) -> void:
grunk_alert_player.play("grunk_alert") grunk_alert_player.play("grunk_alert")

View File

@ -260,7 +260,7 @@ func _process(_delta: float) -> void:
clear_total_updated.emit(new_total) clear_total_updated.emit(new_total)
# Do not fire signal on first compute after initialization # Do not fire signal on first compute after initialization
# This prevents the player from collecting the grunk from the initial mask. # This prevents the player from collecting the grunk from the initial mask.
if _prev_clear_total >= 0: if _prev_clear_total >= 0 and World.instance:
# XXX due to fp error, this will drift from the "true count" over time # XXX due to fp error, this will drift from the "true count" over time
# but it probably won't matter :shrug: # but it probably won't matter :shrug:
World.instance.manager.collect_grunk(delta) World.instance.manager.collect_grunk(delta)

View File

@ -4,7 +4,7 @@
[ext_resource type="Resource" uid="uid://tgac5tnfx56r" path="res://src/world/world_manager.tres" id="2_5kmgb"] [ext_resource type="Resource" uid="uid://tgac5tnfx56r" path="res://src/world/world_manager.tres" id="2_5kmgb"]
[ext_resource type="PackedScene" uid="uid://byvjsvavbg5xe" path="res://src/ui/menus/pause_menu/pause_menu.tscn" id="2_6fy3g"] [ext_resource type="PackedScene" uid="uid://byvjsvavbg5xe" path="res://src/ui/menus/pause_menu/pause_menu.tscn" id="2_6fy3g"]
[ext_resource type="Resource" uid="uid://0i72bf8ip1lx" path="res://src/world/spook_manager.tres" id="3_l0av5"] [ext_resource type="Resource" uid="uid://0i72bf8ip1lx" path="res://src/world/spook_manager.tres" id="3_l0av5"]
[ext_resource type="PackedScene" uid="uid://dc4tts6342cuj" path="res://levels/prop_test/prop_test.tscn" id="4_5kmgb"] [ext_resource type="PackedScene" uid="uid://bov4ok76woyc" path="res://levels/ghost_ship/ghost_ship.tscn" id="4_5kmgb"]
[ext_resource type="PackedScene" uid="uid://c0uitm5cg88h1" path="res://src/ui/menus/kill_screen/kill_screen.tscn" id="6_l0av5"] [ext_resource type="PackedScene" uid="uid://c0uitm5cg88h1" path="res://src/ui/menus/kill_screen/kill_screen.tscn" id="6_l0av5"]
[ext_resource type="PackedScene" uid="uid://brknr57xc2cp0" path="res://src/ui/elements/save_icon/save_icon.tscn" id="7_5kmgb"] [ext_resource type="PackedScene" uid="uid://brknr57xc2cp0" path="res://src/ui/elements/save_icon/save_icon.tscn" id="7_5kmgb"]