generated from krampus/template-godot4
Compare commits
10 Commits
56d48949ab
...
7d32411612
Author | SHA1 | Date | |
---|---|---|---|
7d32411612 | |||
77c5d46dd5 | |||
850127ba85 | |||
ccc93072f0 | |||
a78cc1801b | |||
f7b104f751 | |||
1f8ebbdf8e | |||
047a5557f4 | |||
2061d0072b | |||
897f69fcd0 |
BIN
assets/materials/grunk_bubble.material
Normal file
BIN
assets/materials/grunk_bubble.material
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
81
assets/materials/taste_the_god_particle_you_filthy_rat.tres
Normal file
81
assets/materials/taste_the_god_particle_you_filthy_rat.tres
Normal file
@ -0,0 +1,81 @@
|
||||
[gd_resource type="ShaderMaterial" load_steps=14 format=3 uid="uid://pr3m1n71vtof"]
|
||||
|
||||
[ext_resource type="Shader" uid="uid://dawp27i0m5arl" path="res://src/shaders/glowing_rift.gdshader" id="1_cg36x"]
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_c7m4v"]
|
||||
offsets = PackedFloat32Array(0, 0.166161, 0.240685, 0.514515, 0.734619, 0.816075, 1)
|
||||
colors = PackedColorArray(0, 0, 0, 1, 0.0627591, 0.0627591, 0.0627591, 1, 0.34, 0.34, 0.34, 1, 0.103744, 0.103744, 0.103744, 1, 0.328559, 0.328559, 0.328559, 1, 0.0643529, 0.0643529, 0.0643529, 1, 0, 0, 0, 1)
|
||||
|
||||
[sub_resource type="GradientTexture1D" id="GradientTexture1D_vru5p"]
|
||||
gradient = SubResource("Gradient_c7m4v")
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_cp8sw"]
|
||||
offsets = PackedFloat32Array(0, 0.140165, 0.29961, 0.426127, 0.597704, 1)
|
||||
colors = PackedColorArray(0, 0, 0, 1, 0.0685576, 0.0685576, 0.0685576, 1, 0.295867, 0.295867, 0.295866, 1, 0.336608, 0.336608, 0.336608, 1, 0.0889882, 0.0889882, 0.0889882, 1, 0, 0, 0, 1)
|
||||
|
||||
[sub_resource type="GradientTexture1D" id="GradientTexture1D_c7m4v"]
|
||||
gradient = SubResource("Gradient_cp8sw")
|
||||
|
||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_6bdpa"]
|
||||
seed = 1
|
||||
frequency = 0.0052
|
||||
fractal_type = 0
|
||||
|
||||
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_cp8sw"]
|
||||
seamless = true
|
||||
seamless_blend_skirt = 0.252
|
||||
noise = SubResource("FastNoiseLite_6bdpa")
|
||||
|
||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_10hsf"]
|
||||
noise_type = 4
|
||||
frequency = 0.0105
|
||||
fractal_octaves = 2
|
||||
fractal_gain = 2.0
|
||||
fractal_weighted_strength = 0.61
|
||||
fractal_ping_pong_strength = 2.29
|
||||
domain_warp_enabled = true
|
||||
domain_warp_frequency = 0.03
|
||||
domain_warp_fractal_octaves = 1
|
||||
|
||||
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_0bwtl"]
|
||||
seamless = true
|
||||
seamless_blend_skirt = 0.4
|
||||
noise = SubResource("FastNoiseLite_10hsf")
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_6bdpa"]
|
||||
offsets = PackedFloat32Array(0, 0.095104, 0.490251, 0.940858, 1)
|
||||
colors = PackedColorArray(0, 0, 0, 1, 0.08, 0.08, 0.08, 1, 0.687215, 0.687215, 0.687215, 1, 0.0715679, 0.0715679, 0.0715679, 1, 0, 0, 0, 1)
|
||||
|
||||
[sub_resource type="GradientTexture1D" id="GradientTexture1D_cp8sw"]
|
||||
gradient = SubResource("Gradient_6bdpa")
|
||||
|
||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_c7m4v"]
|
||||
noise_type = 2
|
||||
frequency = 0.0381
|
||||
fractal_octaves = 3
|
||||
cellular_distance_function = 2
|
||||
|
||||
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_vru5p"]
|
||||
seamless = true
|
||||
seamless_blend_skirt = 0.4
|
||||
noise = SubResource("FastNoiseLite_c7m4v")
|
||||
|
||||
[resource]
|
||||
render_priority = 0
|
||||
shader = ExtResource("1_cg36x")
|
||||
shader_parameter/rift_shape = SubResource("NoiseTexture2D_vru5p")
|
||||
shader_parameter/rift_scale = SubResource("GradientTexture1D_cp8sw")
|
||||
shader_parameter/rift_bias = SubResource("GradientTexture1D_c7m4v")
|
||||
shader_parameter/shape_scale = 0.4
|
||||
shader_parameter/rift_speed = 0.2
|
||||
shader_parameter/progress = 0.0
|
||||
shader_parameter/smoothing = 0.02
|
||||
shader_parameter/rift_offset = SubResource("NoiseTexture2D_0bwtl")
|
||||
shader_parameter/offset_scale = SubResource("GradientTexture1D_vru5p")
|
||||
shader_parameter/color = Color(0, 0.101961, 0.301961, 1)
|
||||
shader_parameter/emission = Color(0.51, 0.918333, 1, 1)
|
||||
shader_parameter/emission_strength = 1.0
|
||||
shader_parameter/rift_noise = SubResource("NoiseTexture2D_cp8sw")
|
||||
shader_parameter/rift_noise_scale = 10.0
|
||||
shader_parameter/rift_noise_bias = 0.4
|
||||
shader_parameter/rift_noise_speed = 0.3
|
@ -403,7 +403,7 @@ tracks/55/keys = {
|
||||
tracks/56/type = "value"
|
||||
tracks/56/imported = false
|
||||
tracks/56/enabled = true
|
||||
tracks/56/path = NodePath("SpawnDebris:emitting")
|
||||
tracks/56/path = NodePath("SpawnEffects/MajorSpawnDebris:emitting")
|
||||
tracks/56/interp = 1
|
||||
tracks/56/loop_wrap = true
|
||||
tracks/56/keys = {
|
||||
@ -415,7 +415,7 @@ tracks/56/keys = {
|
||||
tracks/57/type = "value"
|
||||
tracks/57/imported = false
|
||||
tracks/57/enabled = true
|
||||
tracks/57/path = NodePath("SpawnDebris:amount_ratio")
|
||||
tracks/57/path = NodePath("SpawnEffects/MajorSpawnDebris:amount_ratio")
|
||||
tracks/57/interp = 1
|
||||
tracks/57/loop_wrap = true
|
||||
tracks/57/keys = {
|
||||
@ -436,3 +436,134 @@ tracks/58/keys = {
|
||||
"update": 0,
|
||||
"values": [1.0]
|
||||
}
|
||||
tracks/59/type = "value"
|
||||
tracks/59/imported = false
|
||||
tracks/59/enabled = true
|
||||
tracks/59/path = NodePath("SpawnEffects/MinorSpawnDebris:emitting")
|
||||
tracks/59/interp = 1
|
||||
tracks/59/loop_wrap = true
|
||||
tracks/59/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/60/type = "value"
|
||||
tracks/60/imported = false
|
||||
tracks/60/enabled = true
|
||||
tracks/60/path = NodePath("SpawnEffects/MinorSpawnDebris:amount_ratio")
|
||||
tracks/60/interp = 1
|
||||
tracks/60/loop_wrap = true
|
||||
tracks/60/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [0.0]
|
||||
}
|
||||
tracks/61/type = "value"
|
||||
tracks/61/imported = false
|
||||
tracks/61/enabled = true
|
||||
tracks/61/path = NodePath("SpawnEffects/GurgleEffect:emitting")
|
||||
tracks/61/interp = 1
|
||||
tracks/61/loop_wrap = true
|
||||
tracks/61/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/62/type = "value"
|
||||
tracks/62/imported = false
|
||||
tracks/62/enabled = true
|
||||
tracks/62/path = NodePath("SpawnEffects/GurgleEffect:amount_ratio")
|
||||
tracks/62/interp = 1
|
||||
tracks/62/loop_wrap = true
|
||||
tracks/62/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [0.0]
|
||||
}
|
||||
tracks/63/type = "value"
|
||||
tracks/63/imported = false
|
||||
tracks/63/enabled = true
|
||||
tracks/63/path = NodePath("SpawnEffects/SpawnRift:visible")
|
||||
tracks/63/interp = 1
|
||||
tracks/63/loop_wrap = true
|
||||
tracks/63/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/64/type = "value"
|
||||
tracks/64/imported = false
|
||||
tracks/64/enabled = true
|
||||
tracks/64/path = NodePath("SpawnEffects/SpawnRift:mesh:material:shader_parameter/emission_strength")
|
||||
tracks/64/interp = 1
|
||||
tracks/64/loop_wrap = true
|
||||
tracks/64/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [1.0]
|
||||
}
|
||||
tracks/65/type = "bezier"
|
||||
tracks/65/imported = false
|
||||
tracks/65/enabled = true
|
||||
tracks/65/path = NodePath("SpawnEffects/SpawnRift:mesh:material:shader_parameter/progress")
|
||||
tracks/65/interp = 1
|
||||
tracks/65/loop_wrap = true
|
||||
tracks/65/keys = {
|
||||
"handle_modes": PackedInt32Array(0),
|
||||
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0),
|
||||
"times": PackedFloat32Array(0)
|
||||
}
|
||||
tracks/66/type = "value"
|
||||
tracks/66/imported = false
|
||||
tracks/66/enabled = true
|
||||
tracks/66/path = NodePath("SpawnEffects/GodParticlesFast:emitting")
|
||||
tracks/66/interp = 1
|
||||
tracks/66/loop_wrap = true
|
||||
tracks/66/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/67/type = "value"
|
||||
tracks/67/imported = false
|
||||
tracks/67/enabled = true
|
||||
tracks/67/path = NodePath("SpawnEffects/GodParticlesFaster:emitting")
|
||||
tracks/67/interp = 1
|
||||
tracks/67/loop_wrap = true
|
||||
tracks/67/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/68/type = "value"
|
||||
tracks/68/imported = false
|
||||
tracks/68/enabled = true
|
||||
tracks/68/path = NodePath("SpawnEffects/GodParticlesFast:amount_ratio")
|
||||
tracks/68/interp = 1
|
||||
tracks/68/loop_wrap = true
|
||||
tracks/68/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [0.0]
|
||||
}
|
||||
tracks/69/type = "value"
|
||||
tracks/69/imported = false
|
||||
tracks/69/enabled = true
|
||||
tracks/69/path = NodePath("SpawnEffects/GodParticlesFaster:amount_ratio")
|
||||
tracks/69/interp = 1
|
||||
tracks/69/loop_wrap = true
|
||||
tracks/69/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [0.0]
|
||||
}
|
||||
|
@ -426,7 +426,7 @@ tracks/56/keys = {
|
||||
tracks/57/type = "value"
|
||||
tracks/57/imported = false
|
||||
tracks/57/enabled = true
|
||||
tracks/57/path = NodePath("SpawnDebris:emitting")
|
||||
tracks/57/path = NodePath("SpawnEffects/MajorSpawnDebris:emitting")
|
||||
tracks/57/interp = 1
|
||||
tracks/57/loop_wrap = true
|
||||
tracks/57/keys = {
|
||||
@ -438,7 +438,7 @@ tracks/57/keys = {
|
||||
tracks/58/type = "value"
|
||||
tracks/58/imported = false
|
||||
tracks/58/enabled = true
|
||||
tracks/58/path = NodePath("SpawnDebris:amount_ratio")
|
||||
tracks/58/path = NodePath("SpawnEffects/MajorSpawnDebris:amount_ratio")
|
||||
tracks/58/interp = 1
|
||||
tracks/58/loop_wrap = true
|
||||
tracks/58/keys = {
|
||||
@ -459,14 +459,3 @@ tracks/59/keys = {
|
||||
"update": 0,
|
||||
"values": [0.0, 1.0]
|
||||
}
|
||||
tracks/60/type = "method"
|
||||
tracks/60/imported = false
|
||||
tracks/60/enabled = true
|
||||
tracks/60/path = NodePath("SpawnDebris")
|
||||
tracks/60/interp = 1
|
||||
tracks/60/loop_wrap = true
|
||||
tracks/60/keys = {
|
||||
"times": PackedFloat32Array(),
|
||||
"transitions": PackedFloat32Array(),
|
||||
"values": []
|
||||
}
|
||||
|
BIN
assets/npc/shambler/animations/library.res
(Stored with Git LFS)
Normal file
BIN
assets/npc/shambler/animations/library.res
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -38,7 +38,7 @@ func closest_beast_distance() -> float:
|
||||
return INF
|
||||
|
||||
var min_dist_sq := INF
|
||||
var nodes := get_tree().get_nodes_in_group("GrunkBeast")
|
||||
var nodes := get_tree().get_nodes_in_group(GrunkBeast.GROUP)
|
||||
for node: Node in nodes:
|
||||
var n3d := node as Node3D
|
||||
if is_instance_valid(n3d):
|
||||
|
@ -212,44 +212,6 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -15, 0, -58.5)
|
||||
[node name="LurkPoint11" type="Marker3D" parent="LurkPoints" groups=["LurkPoint"]]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -21.6, -3, -69.3)
|
||||
|
||||
[node name="BeastSpawns" type="Node3D" parent="."]
|
||||
|
||||
[node name="BeastSpawnPoint" type="Marker3D" parent="BeastSpawns" groups=["BeastSpawnPoint"]]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 1.5, -48)
|
||||
|
||||
[node name="BeastSpawnPoint2" type="Marker3D" parent="BeastSpawns" groups=["BeastSpawnPoint"]]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, -36)
|
||||
|
||||
[node name="BeastSpawnPoint3" type="Marker3D" parent="BeastSpawns" groups=["BeastSpawnPoint"]]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, -51)
|
||||
|
||||
[node name="BeastSpawnPoint4" type="Marker3D" parent="BeastSpawns" groups=["BeastSpawnPoint"]]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 1.5, -51)
|
||||
|
||||
[node name="BeastSpawnPoint5" type="Marker3D" parent="BeastSpawns" groups=["BeastSpawnPoint"]]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, -66)
|
||||
|
||||
[node name="BeastSpawnPoint6" type="Marker3D" parent="BeastSpawns" groups=["BeastSpawnPoint"]]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12, 1.5, -66)
|
||||
|
||||
[node name="BeastSpawnPoint7" type="Marker3D" parent="BeastSpawns" groups=["BeastSpawnPoint"]]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 1.5, -66)
|
||||
|
||||
[node name="BeastSpawnPoint8" type="Marker3D" parent="BeastSpawns" groups=["BeastSpawnPoint"]]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, -78)
|
||||
|
||||
[node name="BeastSpawnPoint9" type="Marker3D" parent="BeastSpawns" groups=["BeastSpawnPoint"]]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, -57)
|
||||
|
||||
[node name="BeastSpawnPoint10" type="Marker3D" parent="BeastSpawns" groups=["BeastSpawnPoint"]]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, -42)
|
||||
|
||||
[node name="BeastSpawnPoint11" type="Marker3D" parent="BeastSpawns" groups=["BeastSpawnPoint"]]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12, 1.5, -45)
|
||||
|
||||
[node name="BeastSpawnPoint12" type="Marker3D" parent="BeastSpawns" groups=["BeastSpawnPoint"]]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16.2, -1.5, -57)
|
||||
|
||||
[connection signal="activated" from="BeastNav/Airlock/SwitchA1" to="BeastNav/Airlock/SwitchA1" method="disable"]
|
||||
[connection signal="activated" from="BeastNav/Airlock/SwitchA1" to="BeastNav/Corridor1/SwitchA2" method="disable"]
|
||||
[connection signal="activated" from="BeastNav/Airlock/SwitchA1" to="BeastNav/Bulkheads/BulkheadA" method="toggle"]
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=67 format=3 uid="uid://cwhmn3w8hoads"]
|
||||
[gd_scene load_steps=71 format=3 uid="uid://cwhmn3w8hoads"]
|
||||
|
||||
[ext_resource type="ArrayMesh" uid="uid://dpr5cgq743f4s" path="res://assets/level/floor/floor_9x9.mesh" id="1_isxnv"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="2_si4vj"]
|
||||
@ -34,6 +34,9 @@
|
||||
[ext_resource type="Texture2D" uid="uid://c1v1sj6b8rwrl" path="res://levels/ghost_ship/level/airlock/overhead_light_airlock_mask_C.png" id="31_2dnfr"]
|
||||
[ext_resource type="Script" uid="uid://c3i315cnqikok" path="res://src/game/tutorial/tutorial_area.gd" id="33_a8g8h"]
|
||||
[ext_resource type="Script" uid="uid://dg55jdoyctdq6" path="res://src/game/tutorial/tutorial_timer.gd" id="34_cd8k0"]
|
||||
[ext_resource type="PackedScene" uid="uid://5vh7mnjavlle" path="res://src/world/grunk_beast/beast_spawner/transient_floor_spawner.tscn" id="35_rnvcx"]
|
||||
[ext_resource type="PackedScene" uid="uid://dxm83cmpppqxr" path="res://src/world/grunk_beast/beast_spawner/beast_spawn_zone/beast_spawn_zone.tscn" id="35_wnav5"]
|
||||
[ext_resource type="PackedScene" uid="uid://c8vbjgol5nenc" path="res://src/world/grunk_beast/beast_spawner/floor_spawner.tscn" id="37_cxsgl"]
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_yvipw"]
|
||||
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)
|
||||
@ -194,6 +197,9 @@ size = Vector3(9, 3, 8.7)
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_cd8k0"]
|
||||
size = Vector3(9, 3, 4.2)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_se5i6"]
|
||||
size = Vector3(9, 0, 9)
|
||||
|
||||
[node name="Airlock" type="Node3D"]
|
||||
|
||||
[node name="Bounds" type="Node3D" parent="."]
|
||||
@ -493,6 +499,44 @@ one_shot = true
|
||||
script = ExtResource("34_cd8k0")
|
||||
tutorial_key = &"game/tutorial/progress/tool_prev_next"
|
||||
|
||||
[node name="BeastSpawnZone" parent="." instance=ExtResource("35_wnav5")]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastSpawnZone"]
|
||||
shape = SubResource("BoxShape3D_se5i6")
|
||||
|
||||
[node name="TransientFloorSpawner" parent="BeastSpawnZone" instance=ExtResource("35_rnvcx")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.90193, 0, -3.25218)
|
||||
|
||||
[node name="TransientFloorSpawner2" parent="BeastSpawnZone" instance=ExtResource("35_rnvcx")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.57096, 0, -3.25218)
|
||||
|
||||
[node name="TransientFloorSpawner3" parent="BeastSpawnZone" instance=ExtResource("35_rnvcx")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0158366, 0, -3.21015)
|
||||
|
||||
[node name="TransientFloorSpawner4" parent="BeastSpawnZone" instance=ExtResource("35_rnvcx")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.32914, 0, -3.21015)
|
||||
|
||||
[node name="TransientFloorSpawner5" parent="BeastSpawnZone" instance=ExtResource("35_rnvcx")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.87025, 0, -3.23817)
|
||||
|
||||
[node name="TransientFloorSpawner6" parent="BeastSpawnZone" instance=ExtResource("35_rnvcx")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.77746, 0, -2.35553)
|
||||
|
||||
[node name="TransientFloorSpawner7" parent="BeastSpawnZone" instance=ExtResource("35_rnvcx")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.82822, 0, -1.85117)
|
||||
|
||||
[node name="TransientFloorSpawner8" parent="BeastSpawnZone" instance=ExtResource("35_rnvcx")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.740711, 0, -1.82315)
|
||||
|
||||
[node name="TransientFloorSpawner9" parent="BeastSpawnZone" instance=ExtResource("35_rnvcx")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.660304, 0, -1.79513)
|
||||
|
||||
[node name="TransientFloorSpawner10" parent="BeastSpawnZone" instance=ExtResource("35_rnvcx")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.697386, 0, -2.4178)
|
||||
|
||||
[node name="FloorSpawner" parent="BeastSpawnZone" instance=ExtResource("37_cxsgl")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 3)
|
||||
|
||||
[connection signal="body_entered" from="ToolSwitchTutorialArea" to="ToolPrevNextTutorialTimer" method="start" unbinds=1]
|
||||
|
||||
[editable path="Props/EmptySuitChamber"]
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=37 format=4 uid="uid://ddmgqfhiv3aag"]
|
||||
[gd_scene load_steps=43 format=4 uid="uid://ddmgqfhiv3aag"]
|
||||
|
||||
[ext_resource type="ArrayMesh" uid="uid://cqd0a7ousx01n" path="res://assets/level/hallway/hallway_1.mesh" id="1_ckpmb"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="3_s4vba"]
|
||||
@ -18,8 +18,11 @@
|
||||
[ext_resource type="ArrayMesh" uid="uid://b3f5p4o7qr1mf" path="res://assets/level/t-junction/t-junction_2.mesh" id="18_xuoub"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://xn5nceqby4wd" path="res://assets/level/wall/wall_3.mesh" id="19_unrww"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://c4klxlj1oop7t" path="res://assets/level/hallway/hallway_4.mesh" id="20_kkj02"]
|
||||
[ext_resource type="PackedScene" uid="uid://dxm83cmpppqxr" path="res://src/world/grunk_beast/beast_spawner/beast_spawn_zone/beast_spawn_zone.tscn" id="21_833wb"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://cojfnrek4kgbb" path="res://assets/props/guide_sign/guide_sign.obj" id="21_mh2f3"]
|
||||
[ext_resource type="PackedScene" uid="uid://c8vbjgol5nenc" path="res://src/world/grunk_beast/beast_spawner/floor_spawner.tscn" id="22_ckpmb"]
|
||||
[ext_resource type="Material" uid="uid://b8xdnogrfefvf" path="res://levels/ghost_ship/guide_sign/mess_hall_sign.material" id="22_d4b87"]
|
||||
[ext_resource type="PackedScene" uid="uid://5vh7mnjavlle" path="res://src/world/grunk_beast/beast_spawner/transient_floor_spawner.tscn" id="23_a8b6q"]
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_bt0ip"]
|
||||
data = PackedVector3Array(-1.5, 0, -6, -1.5, 0, 6, -1.5, 3, -6, -1.5, 3, -6, -1.5, 0, 6, -1.5, 3, 6, 1.5, 0, 6, 1.5, 0, -6, 1.5, 3, 6, 1.5, 3, 6, 1.5, 0, -6, 1.5, 3, -6, -1.5, 0, 6, -1.5, 0, -6, 1.5, 0, 6, 1.5, 0, 6, -1.5, 0, -6, 1.5, 0, -6, 1.5, 3, 6, 1.5, 3, -6, -1.5, 3, 6, -1.5, 3, 6, 1.5, 3, -6, -1.5, 3, -6)
|
||||
@ -112,6 +115,15 @@ data = PackedVector3Array(1.5, 0, 1.5, -1.5, 0, 1.5, 1.5, 0, -1.5, 1.5, 0, -1.5,
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_mgo71"]
|
||||
data = PackedVector3Array(-0.7, 0, 0.14, -0.7, -0.28, 0, -0.7, 0, -0.14, -0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, -0.28, 0, 0.7, 0, 0.14, 0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, -0.28, 0, -0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, 0, -0.14, 0.7, 0, 0.14)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_ckpmb"]
|
||||
size = Vector3(3, 3, 15)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_833wb"]
|
||||
size = Vector3(3, 3, 15)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_a8b6q"]
|
||||
size = Vector3(24, 3, 3)
|
||||
|
||||
[node name="Corridor1" type="Node3D"]
|
||||
|
||||
[node name="Hallway1" type="MeshInstance3D" parent="."]
|
||||
@ -447,3 +459,124 @@ value = 800.0
|
||||
transform = Transform3D(0.0544678, 0.978935, -0.691896, 0.518314, -0.643755, -0.870018, -1.08092, -0.259359, -0.452049, -0.9, 0.9, 5.7)
|
||||
durability = 3.6
|
||||
value = 2400.0
|
||||
|
||||
[node name="BeastSpawnZone" parent="." instance=ExtResource("21_833wb")]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastSpawnZone"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, -1.5)
|
||||
shape = SubResource("BoxShape3D_ckpmb")
|
||||
|
||||
[node name="CollisionShape3D2" type="CollisionShape3D" parent="BeastSpawnZone"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -27, 1.5, -13.5)
|
||||
shape = SubResource("BoxShape3D_833wb")
|
||||
|
||||
[node name="CollisionShape3D3" type="CollisionShape3D" parent="BeastSpawnZone"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13.5, 1.5, -7.5)
|
||||
shape = SubResource("BoxShape3D_a8b6q")
|
||||
|
||||
[node name="DefaultFloorSpawner" parent="BeastSpawnZone" instance=ExtResource("22_ckpmb")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 3)
|
||||
|
||||
[node name="TransientFloorSpawner" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4.5)
|
||||
|
||||
[node name="TransientFloorSpawner2" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1.5)
|
||||
|
||||
[node name="TransientFloorSpawner3" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner4" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -4.5)
|
||||
|
||||
[node name="TransientFloorSpawner19" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 3)
|
||||
|
||||
[node name="TransientFloorSpawner20" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
|
||||
[node name="TransientFloorSpawner21" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner22" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -6)
|
||||
|
||||
[node name="TransientFloorSpawner5" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner6" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner7" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner8" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner9" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner10" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -15, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner11" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner12" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -21, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner13" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -24, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner23" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner24" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner25" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.5, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner26" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.5, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner27" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13.5, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner28" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16.5, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner29" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -19.5, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner30" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -22.5, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner31" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -25.5, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner14" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -27, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner15" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -27, 0, -10.5)
|
||||
|
||||
[node name="TransientFloorSpawner16" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -27, 0, -13.5)
|
||||
|
||||
[node name="TransientFloorSpawner17" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -27, 0, -16.5)
|
||||
|
||||
[node name="TransientFloorSpawner32" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -27, 0, -9)
|
||||
|
||||
[node name="TransientFloorSpawner33" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -27, 0, -12)
|
||||
|
||||
[node name="TransientFloorSpawner34" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -27, 0, -15)
|
||||
|
||||
[node name="TransientFloorSpawner35" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -27, 0, -18)
|
||||
|
||||
[node name="TransientFloorSpawner18" parent="BeastSpawnZone" instance=ExtResource("23_a8b6q")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -27, 0, -19.5)
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=50 format=4 uid="uid://6mggsi84ok1n"]
|
||||
[gd_scene load_steps=55 format=4 uid="uid://6mggsi84ok1n"]
|
||||
|
||||
[ext_resource type="ArrayMesh" uid="uid://c4klxlj1oop7t" path="res://assets/level/hallway/hallway_4.mesh" id="1_ka7sa"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="2_osdhu"]
|
||||
@ -26,6 +26,9 @@
|
||||
[ext_resource type="PackedScene" uid="uid://dgeg3kkogm71m" path="res://src/world/mechanics/alarm/gunk_alarm.tscn" id="23_osdhu"]
|
||||
[ext_resource type="PackedScene" uid="uid://2yqi5u5eo025" path="res://src/world/gunk_node/grunk_nodule.tscn" id="24_6qtqj"]
|
||||
[ext_resource type="PackedScene" uid="uid://bttust5ohud8e" path="res://src/world/mechanics/relay/gunk_relay.tscn" id="25_osdhu"]
|
||||
[ext_resource type="PackedScene" uid="uid://dxm83cmpppqxr" path="res://src/world/grunk_beast/beast_spawner/beast_spawn_zone/beast_spawn_zone.tscn" id="27_650i1"]
|
||||
[ext_resource type="PackedScene" uid="uid://c8vbjgol5nenc" path="res://src/world/grunk_beast/beast_spawner/floor_spawner.tscn" id="28_bmovs"]
|
||||
[ext_resource type="PackedScene" uid="uid://5vh7mnjavlle" path="res://src/world/grunk_beast/beast_spawner/transient_floor_spawner.tscn" id="29_f8vhe"]
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_ruwlj"]
|
||||
data = PackedVector3Array(-1.5, 0, -6, -1.5, 0, 6, -1.5, 3, -6, -1.5, 3, -6, -1.5, 0, 6, -1.5, 3, 6, 1.5, 0, 6, 1.5, 0, -6, 1.5, 3, 6, 1.5, 3, 6, 1.5, 0, -6, 1.5, 3, -6, -1.5, 0, 6, -1.5, 0, -6, 1.5, 0, 6, 1.5, 0, 6, -1.5, 0, -6, 1.5, 0, -6, 1.5, 3, 6, 1.5, 3, -6, -1.5, 3, 6, -1.5, 3, 6, 1.5, 3, -6, -1.5, 3, -6)
|
||||
@ -188,6 +191,12 @@ data = PackedVector3Array(-1.5, 0, -1.5, -1.5, 0, 1.5, -1.5, 3, -1.5, -1.5, 3, -
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_17ivy"]
|
||||
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="BoxShape3D" id="BoxShape3D_o070x"]
|
||||
size = Vector3(3, 3, 15)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_bmovs"]
|
||||
size = Vector3(3, 3, 3)
|
||||
|
||||
[node name="Corridor2" type="Node3D"]
|
||||
|
||||
[node name="Hallway1" type="MeshInstance3D" parent="."]
|
||||
@ -644,6 +653,50 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.08106, 2.68771, -10.5)
|
||||
[node name="GunkRelay5" parent="Trap1/Network2" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.73178, 3, -10.8571)
|
||||
|
||||
[node name="BeastSpawnZone" parent="." instance=ExtResource("27_650i1")]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastSpawnZone"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, -6)
|
||||
shape = SubResource("BoxShape3D_o070x")
|
||||
|
||||
[node name="CollisionShape3D2" type="CollisionShape3D" parent="BeastSpawnZone"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 1.5, -12)
|
||||
shape = SubResource("BoxShape3D_bmovs")
|
||||
|
||||
[node name="DefaultSpawn" parent="BeastSpawnZone" instance=ExtResource("28_bmovs")]
|
||||
|
||||
[node name="TransientFloorSpawner" parent="BeastSpawnZone" instance=ExtResource("29_f8vhe")]
|
||||
|
||||
[node name="TransientFloorSpawner2" parent="BeastSpawnZone" instance=ExtResource("29_f8vhe")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner3" parent="BeastSpawnZone" instance=ExtResource("29_f8vhe")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -6)
|
||||
|
||||
[node name="TransientFloorSpawner4" parent="BeastSpawnZone" instance=ExtResource("29_f8vhe")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -9)
|
||||
|
||||
[node name="TransientFloorSpawner5" parent="BeastSpawnZone" instance=ExtResource("29_f8vhe")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -12)
|
||||
|
||||
[node name="TransientFloorSpawner8" parent="BeastSpawnZone" instance=ExtResource("29_f8vhe")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner9" parent="BeastSpawnZone" instance=ExtResource("29_f8vhe")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -4.5)
|
||||
|
||||
[node name="TransientFloorSpawner10" parent="BeastSpawnZone" instance=ExtResource("29_f8vhe")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner11" parent="BeastSpawnZone" instance=ExtResource("29_f8vhe")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -10.5)
|
||||
|
||||
[node name="TransientFloorSpawner6" parent="BeastSpawnZone" instance=ExtResource("29_f8vhe")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, -12)
|
||||
|
||||
[node name="TransientFloorSpawner7" parent="BeastSpawnZone" instance=ExtResource("29_f8vhe")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, -12)
|
||||
|
||||
[connection signal="triggered" from="Trap1/Listener" to="Trap1/Network1/GunkRelay22" method="trigger"]
|
||||
[connection signal="triggered" from="Trap1/Listener2" to="Trap1/Network1/GunkRelay23" method="trigger"]
|
||||
[connection signal="triggered" from="Trap1/Listener3" to="Trap1/Network1/GunkRelay" method="trigger"]
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=45 format=4 uid="uid://cnqvb6q8tyxmd"]
|
||||
[gd_scene load_steps=52 format=4 uid="uid://cnqvb6q8tyxmd"]
|
||||
|
||||
[ext_resource type="ArrayMesh" uid="uid://cqd0a7ousx01n" path="res://assets/level/hallway/hallway_1.mesh" id="1_ediv7"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="2_rvc24"]
|
||||
@ -19,6 +19,9 @@
|
||||
[ext_resource type="Material" uid="uid://dva6ivs2hap53" path="res://levels/ghost_ship/guide_sign/medbay_sign.material" id="16_rn74a"]
|
||||
[ext_resource type="Material" uid="uid://bo81yn72cb0bq" path="res://levels/ghost_ship/guide_sign/cargo_bay_sign.material" id="17_13shf"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://b17naqcl4ie21" path="res://assets/level/floor/floor_1.mesh" id="18_rvc24"]
|
||||
[ext_resource type="PackedScene" uid="uid://dxm83cmpppqxr" path="res://src/world/grunk_beast/beast_spawner/beast_spawn_zone/beast_spawn_zone.tscn" id="20_8y1ya"]
|
||||
[ext_resource type="PackedScene" uid="uid://c8vbjgol5nenc" path="res://src/world/grunk_beast/beast_spawner/floor_spawner.tscn" id="20_yqi6h"]
|
||||
[ext_resource type="PackedScene" uid="uid://5vh7mnjavlle" path="res://src/world/grunk_beast/beast_spawner/transient_floor_spawner.tscn" id="22_8pwhd"]
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_ruwlj"]
|
||||
data = PackedVector3Array(-1.5, 0, -6, -1.5, 0, 6, -1.5, 3, -6, -1.5, 3, -6, -1.5, 0, 6, -1.5, 3, 6, 1.5, 0, 6, 1.5, 0, -6, 1.5, 3, 6, 1.5, 3, 6, 1.5, 0, -6, 1.5, 3, -6, -1.5, 0, 6, -1.5, 0, -6, 1.5, 0, 6, 1.5, 0, 6, -1.5, 0, -6, 1.5, 0, -6, 1.5, 3, 6, 1.5, 3, -6, -1.5, 3, 6, -1.5, 3, 6, 1.5, 3, -6, -1.5, 3, -6)
|
||||
@ -213,6 +216,18 @@ shadow_mesh = SubResource("ArrayMesh_vt4uw")
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_np3w4"]
|
||||
data = PackedVector3Array(-0.7, 0, 0.14, -0.7, -0.28, 0, -0.7, 0, -0.14, -0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, -0.28, 0, 0.7, 0, 0.14, 0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, -0.28, 0, -0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, 0, -0.14, 0.7, 0, 0.14)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_8y1ya"]
|
||||
size = Vector3(12, 3, 3)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_yqi6h"]
|
||||
size = Vector3(6, 3, 3)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_8pwhd"]
|
||||
size = Vector3(6, 3, 3)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_h1n2n"]
|
||||
size = Vector3(3, 3, 48)
|
||||
|
||||
[node name="Corridor3" type="Node3D"]
|
||||
|
||||
[node name="Hallway" type="MeshInstance3D" parent="."]
|
||||
@ -789,3 +804,164 @@ mask_dim = 32
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("6_8pwhd")
|
||||
|
||||
[node name="BeastSpawnZone" parent="." instance=ExtResource("20_8y1ya")]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastSpawnZone"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 1.5, 0)
|
||||
shape = SubResource("BoxShape3D_8y1ya")
|
||||
|
||||
[node name="CollisionShape3D2" type="CollisionShape3D" parent="BeastSpawnZone"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.5, 1.5, 15)
|
||||
shape = SubResource("BoxShape3D_yqi6h")
|
||||
|
||||
[node name="CollisionShape3D3" type="CollisionShape3D" parent="BeastSpawnZone"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.5, 1.5, 18)
|
||||
shape = SubResource("BoxShape3D_8pwhd")
|
||||
|
||||
[node name="CollisionShape3D4" type="CollisionShape3D" parent="BeastSpawnZone"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 1.5, 10.5)
|
||||
shape = SubResource("BoxShape3D_h1n2n")
|
||||
|
||||
[node name="FloorSpawner" parent="BeastSpawnZone" instance=ExtResource("20_yqi6h")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 15)
|
||||
|
||||
[node name="TransientFloorSpawner" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
|
||||
[node name="TransientFloorSpawner2" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner3" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner4" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner6" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner7" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner8" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.5, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner9" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.5, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner5" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, -12)
|
||||
|
||||
[node name="TransientFloorSpawner10" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, -9)
|
||||
|
||||
[node name="TransientFloorSpawner11" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, -6)
|
||||
|
||||
[node name="TransientFloorSpawner12" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner13" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner14" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 3)
|
||||
|
||||
[node name="TransientFloorSpawner15" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 6)
|
||||
|
||||
[node name="TransientFloorSpawner16" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 9)
|
||||
|
||||
[node name="TransientFloorSpawner17" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 12)
|
||||
|
||||
[node name="TransientFloorSpawner18" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 15)
|
||||
|
||||
[node name="TransientFloorSpawner19" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 18)
|
||||
|
||||
[node name="TransientFloorSpawner20" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 21)
|
||||
|
||||
[node name="TransientFloorSpawner21" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 24)
|
||||
|
||||
[node name="TransientFloorSpawner22" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 27)
|
||||
|
||||
[node name="TransientFloorSpawner23" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 30)
|
||||
|
||||
[node name="TransientFloorSpawner25" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, -10.5)
|
||||
|
||||
[node name="TransientFloorSpawner26" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner27" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, -4.5)
|
||||
|
||||
[node name="TransientFloorSpawner28" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner29" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 1.5)
|
||||
|
||||
[node name="TransientFloorSpawner30" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 4.5)
|
||||
|
||||
[node name="TransientFloorSpawner31" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 7.5)
|
||||
|
||||
[node name="TransientFloorSpawner32" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 10.5)
|
||||
|
||||
[node name="TransientFloorSpawner33" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 13.5)
|
||||
|
||||
[node name="TransientFloorSpawner34" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 16.5)
|
||||
|
||||
[node name="TransientFloorSpawner35" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 19.5)
|
||||
|
||||
[node name="TransientFloorSpawner36" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 22.5)
|
||||
|
||||
[node name="TransientFloorSpawner37" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 25.5)
|
||||
|
||||
[node name="TransientFloorSpawner38" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 28.5)
|
||||
|
||||
[node name="TransientFloorSpawner39" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 31.5)
|
||||
|
||||
[node name="TransientFloorSpawner24" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 33)
|
||||
|
||||
[node name="TransientFloorSpawner40" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 18)
|
||||
|
||||
[node name="TransientFloorSpawner41" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 18)
|
||||
|
||||
[node name="TransientFloorSpawner42" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.5, 0, 18)
|
||||
|
||||
[node name="TransientFloorSpawner43" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.5, 0, 18)
|
||||
|
||||
[node name="TransientFloorSpawner44" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13.5, 0, 15)
|
||||
|
||||
[node name="TransientFloorSpawner45" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.5, 0, 15)
|
||||
|
||||
[node name="TransientFloorSpawner46" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 0, 15)
|
||||
|
||||
[node name="TransientFloorSpawner47" parent="BeastSpawnZone" instance=ExtResource("22_8pwhd")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 15)
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=53 format=3 uid="uid://yfgx3lis11b7"]
|
||||
[gd_scene load_steps=58 format=3 uid="uid://yfgx3lis11b7"]
|
||||
|
||||
[ext_resource type="ArrayMesh" uid="uid://dpr5cgq743f4s" path="res://assets/level/floor/floor_9x9.mesh" id="1_5rwfs"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="2_xbtal"]
|
||||
@ -24,6 +24,9 @@
|
||||
[ext_resource type="PackedScene" uid="uid://drm5dspi48pf5" path="res://src/props/crate_long/phys_crate_long.tscn" id="20_ga3kk"]
|
||||
[ext_resource type="PackedScene" uid="uid://d2feet02a603e" path="res://src/props/overhead_light/overhead_light.tscn" id="24_or2wh"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://bx00qgk2dyjrw" path="res://assets/level/wall/wall_2.mesh" id="25_1o6wp"]
|
||||
[ext_resource type="PackedScene" uid="uid://dxm83cmpppqxr" path="res://src/world/grunk_beast/beast_spawner/beast_spawn_zone/beast_spawn_zone.tscn" id="25_5rwfs"]
|
||||
[ext_resource type="PackedScene" uid="uid://c8vbjgol5nenc" path="res://src/world/grunk_beast/beast_spawner/floor_spawner.tscn" id="25_xbtal"]
|
||||
[ext_resource type="PackedScene" uid="uid://5vh7mnjavlle" path="res://src/world/grunk_beast/beast_spawner/transient_floor_spawner.tscn" id="26_mxi1m"]
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_qu6vm"]
|
||||
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)
|
||||
@ -85,6 +88,9 @@ turbulence_noise_strength = 0.1
|
||||
turbulence_noise_scale = 0.3
|
||||
turbulence_influence_min = 0.0
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_mxi1m"]
|
||||
size = Vector3(18, 6, 12)
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_lfacn"]
|
||||
data = PackedVector3Array(4.5, 0, 3, -4.5, 0, 3, 4.5, 0, -3, 4.5, 0, -3, -4.5, 0, 3, -4.5, 0, -3)
|
||||
|
||||
@ -178,6 +184,9 @@ turbulence_noise_strength = 0.1
|
||||
turbulence_noise_scale = 0.3
|
||||
turbulence_influence_min = 0.0
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_xbtal"]
|
||||
size = Vector3(6, 3, 12)
|
||||
|
||||
[node name="CrewQuarters" type="Node3D"]
|
||||
|
||||
[node name="CommonArea" type="Node3D" parent="."]
|
||||
@ -1451,6 +1460,216 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.23792, 3, -6.25727)
|
||||
[node name="GunkRelay10" parent="CommonArea/Trap1" instance=ExtResource("11_ct7ya")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.14695, 3, -6.90875)
|
||||
|
||||
[node name="BeastSpawnZone" parent="CommonArea" instance=ExtResource("25_5rwfs")]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="CommonArea/BeastSpawnZone"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.3, 0, -1.2)
|
||||
shape = SubResource("BoxShape3D_mxi1m")
|
||||
|
||||
[node name="FloorSpawner" parent="CommonArea/BeastSpawnZone" instance=ExtResource("25_xbtal")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.2, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.2, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner2" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.2, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner3" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.2, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner4" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.8, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner5" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.8, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner6" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.7, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner7" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.7, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner8" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.3, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner9" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.3, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner10" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.3, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner11" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.8, 0, 0.3)
|
||||
|
||||
[node name="UpperFloorSpawner12" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.8, 0, 3.3)
|
||||
|
||||
[node name="UpperFloorSpawner13" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.2, 0, 3.3)
|
||||
|
||||
[node name="UpperFloorSpawner14" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.2, 0, 1.8)
|
||||
|
||||
[node name="UpperFloorSpawner15" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.8, 0, 1.8)
|
||||
|
||||
[node name="LowerFloorSpawner" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.8, -3, -5.7)
|
||||
|
||||
[node name="LowerFloorSpawner2" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.8, -3, -5.7)
|
||||
|
||||
[node name="LowerFloorSpawner3" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.8, -3, -5.7)
|
||||
|
||||
[node name="LowerFloorSpawner4" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.2, -3, -5.7)
|
||||
|
||||
[node name="LowerFloorSpawner5" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.2, -3, -5.7)
|
||||
|
||||
[node name="LowerFloorSpawner7" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.3, -3, -5.7)
|
||||
|
||||
[node name="LowerFloorSpawner8" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.3, -3, -5.7)
|
||||
|
||||
[node name="LowerFloorSpawner9" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.3, -3, -5.7)
|
||||
|
||||
[node name="LowerFloorSpawner10" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.7, -3, -5.7)
|
||||
|
||||
[node name="LowerFloorSpawner11" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.7, -3, -5.7)
|
||||
|
||||
[node name="LowerFloorSpawner6" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.2, -3, -5.7)
|
||||
|
||||
[node name="LowerFloorSpawner12" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.8, -3, -2.7)
|
||||
|
||||
[node name="LowerFloorSpawner13" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.8, -3, -2.7)
|
||||
|
||||
[node name="LowerFloorSpawner14" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.2, -3, -2.7)
|
||||
|
||||
[node name="LowerFloorSpawner15" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.2, -3, -2.7)
|
||||
|
||||
[node name="LowerFloorSpawner16" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.3, -3, -2.7)
|
||||
|
||||
[node name="LowerFloorSpawner17" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.3, -3, -2.7)
|
||||
|
||||
[node name="LowerFloorSpawner18" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.7, -3, -2.7)
|
||||
|
||||
[node name="LowerFloorSpawner19" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.7, -3, -2.7)
|
||||
|
||||
[node name="LowerFloorSpawner20" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.2, -3, -2.7)
|
||||
|
||||
[node name="LowerFloorSpawner21" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.8, -3, 0.3)
|
||||
|
||||
[node name="LowerFloorSpawner22" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.8, -3, 0.3)
|
||||
|
||||
[node name="LowerFloorSpawner23" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.2, -3, 0.3)
|
||||
|
||||
[node name="LowerFloorSpawner24" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.2, -3, 0.3)
|
||||
|
||||
[node name="LowerFloorSpawner25" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.3, -3, 0.3)
|
||||
|
||||
[node name="LowerFloorSpawner26" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.3, -3, 0.3)
|
||||
|
||||
[node name="LowerFloorSpawner27" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.7, -3, 0.3)
|
||||
|
||||
[node name="LowerFloorSpawner28" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.7, -3, 0.3)
|
||||
|
||||
[node name="LowerFloorSpawner29" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.2, -3, 0.3)
|
||||
|
||||
[node name="LowerFloorSpawner30" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.8, -3, -1.2)
|
||||
|
||||
[node name="LowerFloorSpawner31" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.8, -3, -1.2)
|
||||
|
||||
[node name="LowerFloorSpawner32" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.2, -3, -1.2)
|
||||
|
||||
[node name="LowerFloorSpawner33" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.2, -3, -1.2)
|
||||
|
||||
[node name="LowerFloorSpawner34" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.3, -3, -1.2)
|
||||
|
||||
[node name="LowerFloorSpawner35" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.3, -3, -1.2)
|
||||
|
||||
[node name="LowerFloorSpawner36" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.7, -3, -1.2)
|
||||
|
||||
[node name="LowerFloorSpawner37" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.7, -3, -1.2)
|
||||
|
||||
[node name="LowerFloorSpawner38" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.2, -3, -1.2)
|
||||
|
||||
[node name="LowerFloorSpawner39" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.8, -3, -4.2)
|
||||
|
||||
[node name="LowerFloorSpawner40" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.8, -3, -4.2)
|
||||
|
||||
[node name="LowerFloorSpawner41" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.2, -3, -4.2)
|
||||
|
||||
[node name="LowerFloorSpawner42" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.2, -3, -4.2)
|
||||
|
||||
[node name="LowerFloorSpawner43" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.3, -3, -4.2)
|
||||
|
||||
[node name="LowerFloorSpawner44" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.3, -3, -4.2)
|
||||
|
||||
[node name="LowerFloorSpawner45" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.7, -3, -4.2)
|
||||
|
||||
[node name="LowerFloorSpawner46" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.7, -3, -4.2)
|
||||
|
||||
[node name="LowerFloorSpawner47" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.2, -3, -4.2)
|
||||
|
||||
[node name="LowerFloorSpawner48" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.2, -3, 1.8)
|
||||
|
||||
[node name="LowerFloorSpawner49" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.2, -3, 3.3)
|
||||
|
||||
[node name="LowerFloorSpawner50" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.8, -3, 3.3)
|
||||
|
||||
[node name="LowerFloorSpawner51" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.8, -3, 1.8)
|
||||
|
||||
[node name="LowerFloorSpawner52" parent="CommonArea/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.3, -3, 0.3)
|
||||
|
||||
[node name="Room1" type="Node3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.2, 0, 9.3)
|
||||
|
||||
@ -1667,6 +1886,89 @@ process_material = SubResource("ParticleProcessMaterial_wvfch")
|
||||
[node name="OverheadLight" parent="Room1" instance=ExtResource("24_or2wh")]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -3, 3, 0)
|
||||
|
||||
[node name="BeastSpawnZone" parent="Room1" instance=ExtResource("25_5rwfs")]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Room1/BeastSpawnZone"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 1.5, -3)
|
||||
shape = SubResource("BoxShape3D_xbtal")
|
||||
|
||||
[node name="FloorSpawner" parent="Room1/BeastSpawnZone" instance=ExtResource("25_xbtal")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -6)
|
||||
|
||||
[node name="TransientFloorSpawner" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
|
||||
[node name="TransientFloorSpawner8" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner9" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.9, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner10" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.38419e-07, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner11" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner12" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner13" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.8, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner14" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner15" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner16" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -4.5)
|
||||
|
||||
[node name="TransientFloorSpawner17" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.4, 0, -3.3)
|
||||
|
||||
[node name="TransientFloorSpawner18" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.899999, 0, -3.3)
|
||||
|
||||
[node name="TransientFloorSpawner19" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, -0.6)
|
||||
|
||||
[node name="TransientFloorSpawner20" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.3, 0, -0.6)
|
||||
|
||||
[node name="TransientFloorSpawner21" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.8, 0, -0.6)
|
||||
|
||||
[node name="TransientFloorSpawner22" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.1, 0, -2.4)
|
||||
|
||||
[node name="TransientFloorSpawner23" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.19209e-06, 0, -2.4)
|
||||
|
||||
[node name="TransientFloorSpawner24" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.19209e-06, 0, -0.6)
|
||||
|
||||
[node name="TransientFloorSpawner25" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -5.4)
|
||||
|
||||
[node name="TransientFloorSpawner2" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner3" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.8, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner4" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner5" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner6" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.38419e-07, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner7" parent="Room1/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -6)
|
||||
|
||||
[node name="Room2" type="Node3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.8, 0, 9.3)
|
||||
|
||||
@ -1883,6 +2185,92 @@ process_material = SubResource("ParticleProcessMaterial_wvfch")
|
||||
[node name="OverheadLight" parent="Room2" instance=ExtResource("24_or2wh")]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -3, 3, 0)
|
||||
|
||||
[node name="BeastSpawnZone" parent="Room2" instance=ExtResource("25_5rwfs")]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Room2/BeastSpawnZone"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 1.5, -3)
|
||||
shape = SubResource("BoxShape3D_xbtal")
|
||||
|
||||
[node name="FloorSpawner" parent="Room2/BeastSpawnZone" instance=ExtResource("25_xbtal")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -6)
|
||||
|
||||
[node name="TransientFloorSpawner" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
|
||||
[node name="TransientFloorSpawner8" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner9" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.9, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner10" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.38419e-07, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner11" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner12" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner13" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.8, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner14" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner15" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -1.8)
|
||||
|
||||
[node name="TransientFloorSpawner17" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.4, 0, -3.3)
|
||||
|
||||
[node name="TransientFloorSpawner18" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -0.6)
|
||||
|
||||
[node name="TransientFloorSpawner19" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, -0.6)
|
||||
|
||||
[node name="TransientFloorSpawner20" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.3, 0, -0.6)
|
||||
|
||||
[node name="TransientFloorSpawner21" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.8, 0, -0.6)
|
||||
|
||||
[node name="TransientFloorSpawner22" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.1, 0, -2.4)
|
||||
|
||||
[node name="TransientFloorSpawner23" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.7, 0, -2.4)
|
||||
|
||||
[node name="TransientFloorSpawner24" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.19209e-06, 0, -0.6)
|
||||
|
||||
[node name="TransientFloorSpawner2" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner3" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.8, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner4" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner5" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner6" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner26" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.599999, 0, -1.8)
|
||||
|
||||
[node name="TransientFloorSpawner7" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -6)
|
||||
|
||||
[node name="TransientFloorSpawner25" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -5.4)
|
||||
|
||||
[node name="TransientFloorSpawner16" parent="Room2/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -4.5)
|
||||
|
||||
[node name="Room3" type="Node3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.2, -3, 9.3)
|
||||
|
||||
@ -2105,6 +2493,89 @@ transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 2.9
|
||||
transform = Transform3D(0.258819, 0, 0.965926, 0, 1, 0, -0.965926, 0, 0.258819, 11.4, 0.3, 3.90001)
|
||||
sleeping = true
|
||||
|
||||
[node name="BeastSpawnZone" parent="Room3" instance=ExtResource("25_5rwfs")]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Room3/BeastSpawnZone"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 1.5, -1.5)
|
||||
shape = SubResource("BoxShape3D_xbtal")
|
||||
|
||||
[node name="FloorSpawner" parent="Room3/BeastSpawnZone" instance=ExtResource("25_xbtal")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -6)
|
||||
|
||||
[node name="TransientFloorSpawner" parent="Room3/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
|
||||
[node name="TransientFloorSpawner8" parent="Room3/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner9" parent="Room3/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 0.9)
|
||||
|
||||
[node name="TransientFloorSpawner10" parent="Room3/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.38419e-07, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner11" parent="Room3/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner12" parent="Room3/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner13" parent="Room3/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 1.8)
|
||||
|
||||
[node name="TransientFloorSpawner14" parent="Room3/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, 1.8)
|
||||
|
||||
[node name="TransientFloorSpawner15" parent="Room3/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner16" parent="Room3/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -4.5)
|
||||
|
||||
[node name="TransientFloorSpawner17" parent="Room3/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.76837e-07, 0, 1.2)
|
||||
|
||||
[node name="TransientFloorSpawner18" parent="Room3/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.899999, 0, -3.3)
|
||||
|
||||
[node name="TransientFloorSpawner19" parent="Room3/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, -0.6)
|
||||
|
||||
[node name="TransientFloorSpawner20" parent="Room3/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -0.6)
|
||||
|
||||
[node name="TransientFloorSpawner21" parent="Room3/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.299999, 0, 2.1)
|
||||
|
||||
[node name="TransientFloorSpawner22" parent="Room3/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9.53674e-07, 0, 3)
|
||||
|
||||
[node name="TransientFloorSpawner23" parent="Room3/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.19209e-06, 0, -2.4)
|
||||
|
||||
[node name="TransientFloorSpawner24" parent="Room3/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.19209e-06, 0, -0.6)
|
||||
|
||||
[node name="TransientFloorSpawner25" parent="Room3/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9.53674e-07, 0, -5.4)
|
||||
|
||||
[node name="TransientFloorSpawner2" parent="Room3/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner3" parent="Room3/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 2.4)
|
||||
|
||||
[node name="TransientFloorSpawner4" parent="Room3/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -2.4)
|
||||
|
||||
[node name="TransientFloorSpawner5" parent="Room3/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner6" parent="Room3/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.38419e-07, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner7" parent="Room3/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -6)
|
||||
|
||||
[node name="Room4" type="Node3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.8, -3, 9.3)
|
||||
|
||||
@ -2323,6 +2794,89 @@ process_material = SubResource("ParticleProcessMaterial_wvfch")
|
||||
[node name="OverheadLight" parent="Room4" instance=ExtResource("24_or2wh")]
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 2.999, 0)
|
||||
|
||||
[node name="BeastSpawnZone" parent="Room4" instance=ExtResource("25_5rwfs")]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Room4/BeastSpawnZone"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 1.5, -1.5)
|
||||
shape = SubResource("BoxShape3D_xbtal")
|
||||
|
||||
[node name="FloorSpawner" parent="Room4/BeastSpawnZone" instance=ExtResource("25_xbtal")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -6)
|
||||
|
||||
[node name="TransientFloorSpawner" parent="Room4/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
|
||||
[node name="TransientFloorSpawner8" parent="Room4/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner9" parent="Room4/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 0.9)
|
||||
|
||||
[node name="TransientFloorSpawner10" parent="Room4/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.38419e-07, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner11" parent="Room4/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner12" parent="Room4/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner13" parent="Room4/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 1.8)
|
||||
|
||||
[node name="TransientFloorSpawner14" parent="Room4/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, 1.8)
|
||||
|
||||
[node name="TransientFloorSpawner15" parent="Room4/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner16" parent="Room4/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -4.5)
|
||||
|
||||
[node name="TransientFloorSpawner17" parent="Room4/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.76837e-07, 0, 1.2)
|
||||
|
||||
[node name="TransientFloorSpawner18" parent="Room4/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.899999, 0, -3.3)
|
||||
|
||||
[node name="TransientFloorSpawner19" parent="Room4/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, -0.6)
|
||||
|
||||
[node name="TransientFloorSpawner20" parent="Room4/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -0.6)
|
||||
|
||||
[node name="TransientFloorSpawner21" parent="Room4/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.4, 0, 2.1)
|
||||
|
||||
[node name="TransientFloorSpawner22" parent="Room4/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 3)
|
||||
|
||||
[node name="TransientFloorSpawner23" parent="Room4/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.19209e-06, 0, -2.4)
|
||||
|
||||
[node name="TransientFloorSpawner24" parent="Room4/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.19209e-06, 0, -0.6)
|
||||
|
||||
[node name="TransientFloorSpawner25" parent="Room4/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -5.4)
|
||||
|
||||
[node name="TransientFloorSpawner2" parent="Room4/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner3" parent="Room4/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 2.4)
|
||||
|
||||
[node name="TransientFloorSpawner4" parent="Room4/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -2.4)
|
||||
|
||||
[node name="TransientFloorSpawner5" parent="Room4/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner6" parent="Room4/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.38419e-07, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner7" parent="Room4/BeastSpawnZone" instance=ExtResource("26_mxi1m")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -6)
|
||||
|
||||
[connection signal="triggered" from="CommonArea/Trap1/Listener" to="CommonArea/Trap1/GunkRelay" method="trigger"]
|
||||
[connection signal="pulsed" from="CommonArea/Trap1/GunkRelay" to="CommonArea/Trap1/GunkRelay2" method="pulse"]
|
||||
[connection signal="triggered" from="CommonArea/Trap1/GunkRelay" to="CommonArea/Trap1/GunkRelay2" method="trigger"]
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=81 format=4 uid="uid://b3h2ldhluwco"]
|
||||
[gd_scene load_steps=87 format=4 uid="uid://b3h2ldhluwco"]
|
||||
|
||||
[ext_resource type="ArrayMesh" uid="uid://dpr5cgq743f4s" path="res://assets/level/floor/floor_9x9.mesh" id="1_l8xpm"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="2_lknyg"]
|
||||
@ -31,6 +31,9 @@
|
||||
[ext_resource type="PackedScene" uid="uid://dgqx1h4dtkwma" path="res://src/world/mechanics/trigger/gunk_trigger.tscn" id="24_w6w82"]
|
||||
[ext_resource type="PackedScene" uid="uid://2yqi5u5eo025" path="res://src/world/gunk_node/grunk_nodule.tscn" id="25_eorl6"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://bwyjukdclxjm5" path="res://assets/props/cryo_tank/cryo_tank.mesh" id="26_ckuu8"]
|
||||
[ext_resource type="PackedScene" uid="uid://dxm83cmpppqxr" path="res://src/world/grunk_beast/beast_spawner/beast_spawn_zone/beast_spawn_zone.tscn" id="32_bnexv"]
|
||||
[ext_resource type="PackedScene" uid="uid://c8vbjgol5nenc" path="res://src/world/grunk_beast/beast_spawner/floor_spawner.tscn" id="33_p5an5"]
|
||||
[ext_resource type="PackedScene" uid="uid://5vh7mnjavlle" path="res://src/world/grunk_beast/beast_spawner/transient_floor_spawner.tscn" id="34_1syyw"]
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_yvipw"]
|
||||
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)
|
||||
@ -96,7 +99,7 @@ size = Vector3(0.8, 1, 1.5)
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_dwjsf"]
|
||||
data = PackedVector3Array(-0.4, 0.5, 0.75, 0.4, 0.5, 0.75, -0.4, -0.5, 0.75, 0.4, 0.5, 0.75, 0.4, -0.5, 0.75, -0.4, -0.5, 0.75, 0.4, 0.5, -0.75, -0.4, 0.5, -0.75, 0.4, -0.5, -0.75, -0.4, 0.5, -0.75, -0.4, -0.5, -0.75, 0.4, -0.5, -0.75, 0.4, 0.5, 0.75, 0.4, 0.5, -0.75, 0.4, -0.5, 0.75, 0.4, 0.5, -0.75, 0.4, -0.5, -0.75, 0.4, -0.5, 0.75, -0.4, 0.5, -0.75, -0.4, 0.5, 0.75, -0.4, -0.5, -0.75, -0.4, 0.5, 0.75, -0.4, -0.5, 0.75, -0.4, -0.5, -0.75, 0.4, 0.5, 0.75, -0.4, 0.5, 0.75, 0.4, 0.5, -0.75, -0.4, 0.5, 0.75, -0.4, 0.5, -0.75, 0.4, 0.5, -0.75, -0.4, -0.5, 0.75, 0.4, -0.5, 0.75, -0.4, -0.5, -0.75, 0.4, -0.5, 0.75, 0.4, -0.5, -0.75, -0.4, -0.5, -0.75)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_jnjru"]
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1syyw"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("13_glbip")
|
||||
metallic = 1.0
|
||||
@ -122,7 +125,7 @@ _surfaces = [{
|
||||
}]
|
||||
blend_shape_mode = 0
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_bnexv"]
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_loej8"]
|
||||
resource_local_to_scene = true
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
|
||||
@ -131,7 +134,7 @@ _surfaces = [{
|
||||
"index_count": 84,
|
||||
"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"),
|
||||
"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")],
|
||||
"material": SubResource("StandardMaterial3D_jnjru"),
|
||||
"material": SubResource("StandardMaterial3D_1syyw"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
@ -141,7 +144,7 @@ _surfaces = [{
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_u2hqf")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_p5an5"]
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_5abrm"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("13_glbip")
|
||||
metallic = 1.0
|
||||
@ -152,7 +155,7 @@ normal_texture = ExtResource("15_h56f5")
|
||||
ao_enabled = true
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_1syyw"]
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_t0ymk"]
|
||||
resource_local_to_scene = true
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
|
||||
@ -161,7 +164,7 @@ _surfaces = [{
|
||||
"index_count": 84,
|
||||
"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"),
|
||||
"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")],
|
||||
"material": SubResource("StandardMaterial3D_p5an5"),
|
||||
"material": SubResource("StandardMaterial3D_5abrm"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
@ -171,7 +174,7 @@ _surfaces = [{
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_u2hqf")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_loej8"]
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_glbip"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("13_glbip")
|
||||
metallic = 1.0
|
||||
@ -182,7 +185,7 @@ normal_texture = ExtResource("15_h56f5")
|
||||
ao_enabled = true
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_5abrm"]
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_nqwfe"]
|
||||
resource_local_to_scene = true
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
|
||||
@ -191,7 +194,7 @@ _surfaces = [{
|
||||
"index_count": 84,
|
||||
"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"),
|
||||
"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")],
|
||||
"material": SubResource("StandardMaterial3D_loej8"),
|
||||
"material": SubResource("StandardMaterial3D_glbip"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
@ -201,7 +204,7 @@ _surfaces = [{
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_u2hqf")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_t0ymk"]
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_h56f5"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("13_glbip")
|
||||
metallic = 1.0
|
||||
@ -212,7 +215,7 @@ normal_texture = ExtResource("15_h56f5")
|
||||
ao_enabled = true
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_glbip"]
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_gem8k"]
|
||||
resource_local_to_scene = true
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
|
||||
@ -221,7 +224,7 @@ _surfaces = [{
|
||||
"index_count": 84,
|
||||
"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"),
|
||||
"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")],
|
||||
"material": SubResource("StandardMaterial3D_t0ymk"),
|
||||
"material": SubResource("StandardMaterial3D_h56f5"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
@ -231,7 +234,7 @@ _surfaces = [{
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_u2hqf")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_nqwfe"]
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_wr3ux"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("13_glbip")
|
||||
metallic = 1.0
|
||||
@ -242,7 +245,7 @@ normal_texture = ExtResource("15_h56f5")
|
||||
ao_enabled = true
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_h56f5"]
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_a7woh"]
|
||||
resource_local_to_scene = true
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
|
||||
@ -251,7 +254,7 @@ _surfaces = [{
|
||||
"index_count": 84,
|
||||
"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"),
|
||||
"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")],
|
||||
"material": SubResource("StandardMaterial3D_nqwfe"),
|
||||
"material": SubResource("StandardMaterial3D_wr3ux"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
@ -261,7 +264,7 @@ _surfaces = [{
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_u2hqf")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_gem8k"]
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_l1qst"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("13_glbip")
|
||||
metallic = 1.0
|
||||
@ -272,7 +275,7 @@ normal_texture = ExtResource("15_h56f5")
|
||||
ao_enabled = true
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_wr3ux"]
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_8ifew"]
|
||||
resource_local_to_scene = true
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
|
||||
@ -281,7 +284,7 @@ _surfaces = [{
|
||||
"index_count": 84,
|
||||
"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"),
|
||||
"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")],
|
||||
"material": SubResource("StandardMaterial3D_gem8k"),
|
||||
"material": SubResource("StandardMaterial3D_l1qst"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
@ -291,7 +294,7 @@ _surfaces = [{
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_u2hqf")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_a7woh"]
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_klyoq"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("13_glbip")
|
||||
metallic = 1.0
|
||||
@ -302,7 +305,7 @@ normal_texture = ExtResource("15_h56f5")
|
||||
ao_enabled = true
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_l1qst"]
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_jmnef"]
|
||||
resource_local_to_scene = true
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
|
||||
@ -311,7 +314,7 @@ _surfaces = [{
|
||||
"index_count": 84,
|
||||
"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"),
|
||||
"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")],
|
||||
"material": SubResource("StandardMaterial3D_a7woh"),
|
||||
"material": SubResource("StandardMaterial3D_klyoq"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
@ -321,7 +324,7 @@ _surfaces = [{
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_u2hqf")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8ifew"]
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_7ip0j"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("13_glbip")
|
||||
metallic = 1.0
|
||||
@ -332,7 +335,7 @@ normal_texture = ExtResource("15_h56f5")
|
||||
ao_enabled = true
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_klyoq"]
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_w6w82"]
|
||||
resource_local_to_scene = true
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
|
||||
@ -341,7 +344,7 @@ _surfaces = [{
|
||||
"index_count": 84,
|
||||
"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"),
|
||||
"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")],
|
||||
"material": SubResource("StandardMaterial3D_8ifew"),
|
||||
"material": SubResource("StandardMaterial3D_7ip0j"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
@ -351,7 +354,7 @@ _surfaces = [{
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_u2hqf")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_jmnef"]
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_eorl6"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("13_glbip")
|
||||
metallic = 1.0
|
||||
@ -362,7 +365,7 @@ normal_texture = ExtResource("15_h56f5")
|
||||
ao_enabled = true
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_7ip0j"]
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_ckuu8"]
|
||||
resource_local_to_scene = true
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
|
||||
@ -371,7 +374,7 @@ _surfaces = [{
|
||||
"index_count": 84,
|
||||
"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"),
|
||||
"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")],
|
||||
"material": SubResource("StandardMaterial3D_jmnef"),
|
||||
"material": SubResource("StandardMaterial3D_eorl6"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
@ -381,7 +384,7 @@ _surfaces = [{
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_u2hqf")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_w6w82"]
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_65pvg"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("13_glbip")
|
||||
metallic = 1.0
|
||||
@ -392,7 +395,7 @@ normal_texture = ExtResource("15_h56f5")
|
||||
ao_enabled = true
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_eorl6"]
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_n3yb1"]
|
||||
resource_local_to_scene = true
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
|
||||
@ -401,7 +404,7 @@ _surfaces = [{
|
||||
"index_count": 84,
|
||||
"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"),
|
||||
"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")],
|
||||
"material": SubResource("StandardMaterial3D_w6w82"),
|
||||
"material": SubResource("StandardMaterial3D_65pvg"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
@ -450,6 +453,15 @@ turbulence_noise_strength = 0.1
|
||||
turbulence_noise_scale = 0.3
|
||||
turbulence_influence_min = 0.0
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_p5an5"]
|
||||
size = Vector3(6, 3, 3)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_1syyw"]
|
||||
size = Vector3(6, 3, 6)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_loej8"]
|
||||
size = Vector3(9, 3, 18)
|
||||
|
||||
[node name="Medbay" type="Node3D"]
|
||||
|
||||
[node name="Bounds" type="Node3D" parent="."]
|
||||
@ -1339,7 +1351,7 @@ skeleton = NodePath("")
|
||||
|
||||
[node name="CrateLong" parent="Props" instance=ExtResource("12_t0ymk")]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -0.749907, 0.25, 4.05009)
|
||||
mesh = SubResource("ArrayMesh_bnexv")
|
||||
mesh = SubResource("ArrayMesh_loej8")
|
||||
|
||||
[node name="PhysCrateLong" parent="Props" instance=ExtResource("19_yvs0w")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 0.25, -3.6)
|
||||
@ -1347,39 +1359,39 @@ sleeping = true
|
||||
|
||||
[node name="CrateLong2" parent="Props" instance=ExtResource("12_t0ymk")]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -0.749907, 0.75, 4.05009)
|
||||
mesh = SubResource("ArrayMesh_1syyw")
|
||||
mesh = SubResource("ArrayMesh_t0ymk")
|
||||
|
||||
[node name="CrateLong3" parent="Props" instance=ExtResource("12_t0ymk")]
|
||||
transform = Transform3D(-4.37114e-08, 0.707107, -0.707107, 0, 0.707107, 0.707107, 1, 3.09086e-08, -3.09086e-08, 0.599813, 0.75, 4.05009)
|
||||
mesh = SubResource("ArrayMesh_5abrm")
|
||||
mesh = SubResource("ArrayMesh_nqwfe")
|
||||
|
||||
[node name="CrateLong5" parent="Props" instance=ExtResource("12_t0ymk")]
|
||||
transform = Transform3D(1, 0, -7.45058e-08, 0, 1, 0, 7.45058e-08, 0, 1, 3.93256, 0.25, -2.54991)
|
||||
mesh = SubResource("ArrayMesh_glbip")
|
||||
mesh = SubResource("ArrayMesh_gem8k")
|
||||
|
||||
[node name="CrateLong10" parent="Props" instance=ExtResource("12_t0ymk")]
|
||||
transform = Transform3D(1, 0, -7.45058e-08, 0, 1, 0, 7.45058e-08, 0, 1, 3.93256, 0.25, -1.04991)
|
||||
mesh = SubResource("ArrayMesh_h56f5")
|
||||
mesh = SubResource("ArrayMesh_a7woh")
|
||||
|
||||
[node name="CrateLong6" parent="Props" instance=ExtResource("12_t0ymk")]
|
||||
transform = Transform3D(1, 0, -1.19209e-07, 0, 1, 0, 1.19209e-07, 0, 1, 3.93256, 0.75, -2.54991)
|
||||
mesh = SubResource("ArrayMesh_wr3ux")
|
||||
mesh = SubResource("ArrayMesh_8ifew")
|
||||
|
||||
[node name="CrateLong11" parent="Props" instance=ExtResource("12_t0ymk")]
|
||||
transform = Transform3D(1, 0, -1.19209e-07, 0, 1, 0, 1.19209e-07, 0, 1, 3.93256, 0.75, -1.04991)
|
||||
mesh = SubResource("ArrayMesh_l1qst")
|
||||
mesh = SubResource("ArrayMesh_jmnef")
|
||||
|
||||
[node name="CrateLong7" parent="Props" instance=ExtResource("12_t0ymk")]
|
||||
transform = Transform3D(1, 0, -1.19209e-07, 0, 1, 0, 1.19209e-07, 0, 1, 3.93256, 1.25, -2.54991)
|
||||
mesh = SubResource("ArrayMesh_klyoq")
|
||||
mesh = SubResource("ArrayMesh_w6w82")
|
||||
|
||||
[node name="CrateLong8" parent="Props" instance=ExtResource("12_t0ymk")]
|
||||
transform = Transform3D(1, 0, -1.19209e-07, 0, 1, 0, 1.19209e-07, 0, 1, 3.93256, 1.75, -2.54991)
|
||||
mesh = SubResource("ArrayMesh_7ip0j")
|
||||
mesh = SubResource("ArrayMesh_ckuu8")
|
||||
|
||||
[node name="CrateLong9" parent="Props" instance=ExtResource("12_t0ymk")]
|
||||
transform = Transform3D(1, 0, -1.19209e-07, 0, 1, 0, 1.19209e-07, 0, 1, 3.93256, 2.25, -2.54991)
|
||||
mesh = SubResource("ArrayMesh_eorl6")
|
||||
mesh = SubResource("ArrayMesh_n3yb1")
|
||||
|
||||
[node name="FloatingDust" parent="." instance=ExtResource("17_wr3ux")]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 1.5, -4.5)
|
||||
@ -1750,6 +1762,128 @@ size = Vector3(4, 4, 4)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.6, 1.5, 3.6)
|
||||
mesh = ExtResource("26_ckuu8")
|
||||
|
||||
[node name="BeastSpawnZone" parent="." instance=ExtResource("32_bnexv")]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastSpawnZone"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.5, 1.5, -12)
|
||||
shape = SubResource("BoxShape3D_p5an5")
|
||||
|
||||
[node name="CollisionShape3D2" type="CollisionShape3D" parent="BeastSpawnZone"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.5, 1.5, 1.5)
|
||||
shape = SubResource("BoxShape3D_1syyw")
|
||||
|
||||
[node name="CollisionShape3D3" type="CollisionShape3D" parent="BeastSpawnZone"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, -4.5)
|
||||
shape = SubResource("BoxShape3D_loej8")
|
||||
|
||||
[node name="FloorSpawner" parent="BeastSpawnZone" instance=ExtResource("33_p5an5")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -10.5)
|
||||
|
||||
[node name="TransientFloorSpawner" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9, 0, -12)
|
||||
|
||||
[node name="TransientFloorSpawner2" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.5, 0, -12)
|
||||
|
||||
[node name="TransientFloorSpawner3" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -12)
|
||||
|
||||
[node name="TransientFloorSpawner4" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 0, -12)
|
||||
|
||||
[node name="TransientFloorSpawner5" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -12)
|
||||
|
||||
[node name="TransientFloorSpawner6" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, -12)
|
||||
|
||||
[node name="TransientFloorSpawner7" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -12)
|
||||
|
||||
[node name="TransientFloorSpawner8" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, -12)
|
||||
|
||||
[node name="TransientFloorSpawner9" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, -12)
|
||||
|
||||
[node name="TransientFloorSpawner10" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, -10.5)
|
||||
|
||||
[node name="TransientFloorSpawner11" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -10.5)
|
||||
|
||||
[node name="TransientFloorSpawner12" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, -10.5)
|
||||
|
||||
[node name="TransientFloorSpawner13" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, -10.5)
|
||||
|
||||
[node name="TransientFloorSpawner14" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, -9)
|
||||
|
||||
[node name="TransientFloorSpawner15" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -9)
|
||||
|
||||
[node name="TransientFloorSpawner16" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, -9)
|
||||
|
||||
[node name="TransientFloorSpawner17" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, -9)
|
||||
|
||||
[node name="TransientFloorSpawner18" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner19" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner20" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner21" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner22" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, -6)
|
||||
|
||||
[node name="TransientFloorSpawner23" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -6)
|
||||
|
||||
[node name="TransientFloorSpawner24" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.1, 0, -8.1)
|
||||
|
||||
[node name="TransientFloorSpawner25" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.1, 0, -5.4)
|
||||
|
||||
[node name="TransientFloorSpawner26" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, -4.5)
|
||||
|
||||
[node name="TransientFloorSpawner27" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -4.5)
|
||||
|
||||
[node name="TransientFloorSpawner28" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, -4.5)
|
||||
|
||||
[node name="TransientFloorSpawner29" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.1, 0, -4.5)
|
||||
|
||||
[node name="TransientFloorSpawner30" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.8, 0, -3.6)
|
||||
|
||||
[node name="TransientFloorSpawner32" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.4, 0, -3.6)
|
||||
|
||||
[node name="TransientFloorSpawner33" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.9, 0, 0.9)
|
||||
|
||||
[node name="TransientFloorSpawner34" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.9, 0, 2.1)
|
||||
|
||||
[node name="TransientFloorSpawner35" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.4, 0, 3)
|
||||
|
||||
[node name="TransientFloorSpawner36" parent="BeastSpawnZone" instance=ExtResource("34_1syyw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -2.4)
|
||||
|
||||
[connection signal="pulsed" from="HeartbeatNetTrap/GunkHeart" to="HeartbeatNetTrap/ArmL/GunkRelay" method="pulse"]
|
||||
[connection signal="pulsed" from="HeartbeatNetTrap/GunkHeart" to="HeartbeatNetTrap/ArmR/GunkRelay" method="pulse"]
|
||||
[connection signal="pulsed" from="HeartbeatNetTrap/GunkHeart" to="HeartbeatNetTrap/LegL/GunkRelay" method="pulse"]
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=41 format=3 uid="uid://s1ab8rt2blyd"]
|
||||
[gd_scene load_steps=45 format=3 uid="uid://s1ab8rt2blyd"]
|
||||
|
||||
[ext_resource type="ArrayMesh" uid="uid://c785n3j3aq4sf" path="res://assets/level/wall/wall_1.mesh" id="1_ind8m"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="2_vyxvc"]
|
||||
@ -23,6 +23,9 @@
|
||||
[ext_resource type="PackedScene" uid="uid://bttust5ohud8e" path="res://src/world/mechanics/relay/gunk_relay.tscn" id="18_itnv2"]
|
||||
[ext_resource type="PackedScene" uid="uid://dgeg3kkogm71m" path="res://src/world/mechanics/alarm/gunk_alarm.tscn" id="19_5y3ur"]
|
||||
[ext_resource type="PackedScene" uid="uid://2yqi5u5eo025" path="res://src/world/gunk_node/grunk_nodule.tscn" id="20_hl3fx"]
|
||||
[ext_resource type="PackedScene" uid="uid://dxm83cmpppqxr" path="res://src/world/grunk_beast/beast_spawner/beast_spawn_zone/beast_spawn_zone.tscn" id="24_vyxvc"]
|
||||
[ext_resource type="PackedScene" uid="uid://c8vbjgol5nenc" path="res://src/world/grunk_beast/beast_spawner/floor_spawner.tscn" id="25_1ls0l"]
|
||||
[ext_resource type="PackedScene" uid="uid://5vh7mnjavlle" path="res://src/world/grunk_beast/beast_spawner/transient_floor_spawner.tscn" id="26_jshbi"]
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_p11ap"]
|
||||
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)
|
||||
@ -109,6 +112,9 @@ texture_filter = 2
|
||||
material = SubResource("StandardMaterial3D_6lrbi")
|
||||
size = Vector2(1, 0.5)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_1ls0l"]
|
||||
size = Vector3(18, 3, 9)
|
||||
|
||||
[node name="MessHall" type="Node3D"]
|
||||
|
||||
[node name="Walls" type="Node3D" parent="."]
|
||||
@ -1271,6 +1277,177 @@ chitter = true
|
||||
durability = 1.2
|
||||
value = 800.0
|
||||
|
||||
[node name="BeastSpawnZone" parent="." instance=ExtResource("24_vyxvc")]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastSpawnZone"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 1.5, 5)
|
||||
shape = SubResource("BoxShape3D_1ls0l")
|
||||
|
||||
[node name="DefaultSpawn" parent="BeastSpawnZone" instance=ExtResource("25_1ls0l")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, 7.8)
|
||||
|
||||
[node name="TransientFloorSpawner" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.3, 0, 8.1)
|
||||
|
||||
[node name="TransientFloorSpawner2" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.9, 0, 7.2)
|
||||
|
||||
[node name="TransientFloorSpawner3" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.8, 0, 8.1)
|
||||
|
||||
[node name="TransientFloorSpawner4" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.7, 0, 6.9)
|
||||
|
||||
[node name="TransientFloorSpawner5" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.3, 0, 8.1)
|
||||
|
||||
[node name="TransientFloorSpawner6" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.3, 0, 5.7)
|
||||
|
||||
[node name="TransientFloorSpawner7" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.3, 0, 3.6)
|
||||
|
||||
[node name="TransientFloorSpawner8" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.3, 0, 1.8)
|
||||
|
||||
[node name="TransientFloorSpawner9" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.4, 0, 2.4)
|
||||
|
||||
[node name="TransientFloorSpawner10" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, 1.8)
|
||||
|
||||
[node name="TransientFloorSpawner11" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.9, 0, 2.4)
|
||||
|
||||
[node name="TransientFloorSpawner12" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.96046e-08, 0, 1.8)
|
||||
|
||||
[node name="TransientFloorSpawner13" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.3, 0, 2.4)
|
||||
|
||||
[node name="TransientFloorSpawner14" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, 1.8)
|
||||
|
||||
[node name="TransientFloorSpawner15" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.4, 0, 1.8)
|
||||
|
||||
[node name="TransientFloorSpawner16" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.3, 0, 1.8)
|
||||
|
||||
[node name="TransientFloorSpawner17" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.9, 0, 1.8)
|
||||
|
||||
[node name="TransientFloorSpawner18" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.3, 0, 3)
|
||||
|
||||
[node name="TransientFloorSpawner19" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.9, 0, 3.3)
|
||||
|
||||
[node name="TransientFloorSpawner20" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.9, 0, 3.9)
|
||||
|
||||
[node name="TransientFloorSpawner21" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.8, 0, 4.5)
|
||||
|
||||
[node name="TransientFloorSpawner22" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.8, 0, 5.4)
|
||||
|
||||
[node name="TransientFloorSpawner23" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.4, 0, 6)
|
||||
|
||||
[node name="TransientFloorSpawner24" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.4, 0, 6.6)
|
||||
|
||||
[node name="TransientFloorSpawner25" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.3, 0, 7.2)
|
||||
|
||||
[node name="TransientFloorSpawner26" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, 8.1)
|
||||
|
||||
[node name="TransientFloorSpawner27" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.6, 0, 8.1)
|
||||
|
||||
[node name="TransientFloorSpawner28" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9, 0, 8.1)
|
||||
|
||||
[node name="TransientFloorSpawner29" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.2, 0, 8.1)
|
||||
|
||||
[node name="TransientFloorSpawner30" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.8, 0, 7.2)
|
||||
|
||||
[node name="TransientFloorSpawner31" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.8, 0, 8.1)
|
||||
|
||||
[node name="TransientFloorSpawner32" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.4, 0, 5.4)
|
||||
|
||||
[node name="TransientFloorSpawner33" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.1, 0, 4.8)
|
||||
|
||||
[node name="TransientFloorSpawner34" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.4, 0, 3.6)
|
||||
|
||||
[node name="TransientFloorSpawner35" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.5, 0, 3.6)
|
||||
|
||||
[node name="TransientFloorSpawner36" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.4, 0, 2.4)
|
||||
|
||||
[node name="TransientFloorSpawner37" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.5, 0, 2.4)
|
||||
|
||||
[node name="TransientFloorSpawner38" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.6, 0, 2.4)
|
||||
|
||||
[node name="TransientFloorSpawner39" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.3, 0, 1.8)
|
||||
|
||||
[node name="TransientFloorSpawner40" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.5, 0, 1.8)
|
||||
|
||||
[node name="TransientFloorSpawner41" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.4, 0, 1.8)
|
||||
|
||||
[node name="TransientFloorSpawner42" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.4, 0, 6)
|
||||
|
||||
[node name="TransientFloorSpawner43" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.9, 0, 7.5)
|
||||
|
||||
[node name="TransientFloorSpawner44" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.3, 0, 8.1)
|
||||
|
||||
[node name="TransientFloorSpawner45" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.6, 0, 6.9)
|
||||
|
||||
[node name="TransientFloorSpawner46" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.8, 0, 6.9)
|
||||
|
||||
[node name="TransientFloorSpawner47" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.9, 0, 1.8)
|
||||
|
||||
[node name="TransientFloorSpawner48" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, 2.4)
|
||||
|
||||
[node name="TransientFloorSpawner49" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.3, 0, 2.4)
|
||||
|
||||
[node name="TransientFloorSpawner50" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.4, 0, 1.8)
|
||||
|
||||
[node name="TransientFloorSpawner51" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.6, 0, 1.8)
|
||||
|
||||
[node name="TransientFloorSpawner52" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.3, 0, 6.9)
|
||||
|
||||
[node name="TransientFloorSpawner53" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 7.8)
|
||||
|
||||
[node name="TransientFloorSpawner54" parent="BeastSpawnZone" instance=ExtResource("26_jshbi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.2, 0, 8.1)
|
||||
|
||||
[connection signal="destroyed" from="Traps/Trap1/GunkTrigger" to="Traps/Trap1/GunkRelay6" method="trigger"]
|
||||
[connection signal="destroyed" from="Traps/Trap1/GunkTrigger" to="Traps/Trap1/GrunkNodule12" method="collect"]
|
||||
[connection signal="pulsed" from="Traps/Trap1/GunkRelay4" to="Traps/Trap1/GunkRelay7" method="pulse"]
|
||||
|
@ -1,344 +0,0 @@
|
||||
[gd_scene load_steps=31 format=4 uid="uid://b8rv6dg4tgaeb"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bvua1l2hb3an6" path="res://levels/mechanic_test/mechanic_test.gd" id="1_iyuyb"]
|
||||
[ext_resource type="PackedScene" uid="uid://bwe2jdmvinhqd" path="res://src/player/player.tscn" id="2_qjnj2"]
|
||||
[ext_resource type="PackedScene" uid="uid://b6eg8t04rkh0c" path="res://src/props/wall_switch/wall_switch.tscn" id="3_awnx0"]
|
||||
[ext_resource type="Script" uid="uid://deg5xd87cy8rg" path="res://src/props/interactive.gd" id="4_qjnj2"]
|
||||
[ext_resource type="Texture2D" uid="uid://8cm835h4gxwe" path="res://assets/debug_mask.png" id="5_aix42"]
|
||||
[ext_resource type="Material" uid="uid://cqjr3cbxtfg2j" path="res://assets/materials/grunk_overlays/gunk_overlay.material" id="7_qjnj2"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="8_awnx0"]
|
||||
[ext_resource type="PackedScene" uid="uid://cubwniraol1qn" path="res://src/props/bulkhead/bulkhead.tscn" id="8_ujrcv"]
|
||||
[ext_resource type="PackedScene" uid="uid://b5jubpjj3d277" path="res://levels/mechanic_test/signal_test.tscn" id="9_ix0jw"]
|
||||
[ext_resource type="PackedScene" uid="uid://cfqirm2o3uo4k" path="res://levels/mechanic_test/prop_test.tscn" id="10_xrfi2"]
|
||||
[ext_resource type="PackedScene" uid="uid://dbabcsp38wmid" path="res://levels/mechanic_test/item_test.tscn" id="11_8natv"]
|
||||
[ext_resource type="PackedScene" uid="uid://kctp5erogwcb" path="res://src/world/mechanics/listener/listener.tscn" id="13_awnx0"]
|
||||
|
||||
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_goufh"]
|
||||
|
||||
[sub_resource type="Sky" id="Sky_pka60"]
|
||||
sky_material = SubResource("ProceduralSkyMaterial_goufh")
|
||||
|
||||
[sub_resource type="Environment" id="Environment_bg05n"]
|
||||
background_mode = 2
|
||||
sky = SubResource("Sky_pka60")
|
||||
|
||||
[sub_resource type="PlaneMesh" id="PlaneMesh_mn2wa"]
|
||||
size = Vector2(50, 50)
|
||||
|
||||
[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_mn2wa"]
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_goufh"]
|
||||
size = Vector3(0.5, 2, 0.5)
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_bg05n"]
|
||||
data = PackedVector3Array(-0.25, 1, 0.25, 0.25, 1, 0.25, -0.25, -1, 0.25, 0.25, 1, 0.25, 0.25, -1, 0.25, -0.25, -1, 0.25, 0.25, 1, -0.25, -0.25, 1, -0.25, 0.25, -1, -0.25, -0.25, 1, -0.25, -0.25, -1, -0.25, 0.25, -1, -0.25, 0.25, 1, 0.25, 0.25, 1, -0.25, 0.25, -1, 0.25, 0.25, 1, -0.25, 0.25, -1, -0.25, 0.25, -1, 0.25, -0.25, 1, -0.25, -0.25, 1, 0.25, -0.25, -1, -0.25, -0.25, 1, 0.25, -0.25, -1, 0.25, -0.25, -1, -0.25, 0.25, 1, 0.25, -0.25, 1, 0.25, 0.25, 1, -0.25, -0.25, 1, 0.25, -0.25, 1, -0.25, 0.25, 1, -0.25, -0.25, -1, 0.25, 0.25, -1, 0.25, -0.25, -1, -0.25, 0.25, -1, 0.25, 0.25, -1, -0.25, -0.25, -1, -0.25)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ibd1t"]
|
||||
albedo_color = Color(0.866667, 0.109804, 0.101961, 1)
|
||||
|
||||
[sub_resource type="SphereMesh" id="SphereMesh_awnx0"]
|
||||
material = SubResource("StandardMaterial3D_ibd1t")
|
||||
radius = 0.2
|
||||
height = 0.4
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_cgmn0"]
|
||||
radius = 0.25
|
||||
|
||||
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_2h3rs"]
|
||||
load_path = "res://.godot/imported/hallway_2_C.png-368e035781dbfc292f80210e8377e1f9.ctex"
|
||||
|
||||
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_powch"]
|
||||
load_path = "res://.godot/imported/hallway_2_M.png-f213557d859a0fe7aab8242b25a4a2c0.ctex"
|
||||
|
||||
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_sh2xs"]
|
||||
load_path = "res://.godot/imported/hallway_2_N.png-6d22130ff0aeb6510ae322aebc31a58e.ctex"
|
||||
|
||||
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_tpfln"]
|
||||
load_path = "res://.godot/imported/hallway_2_R.png-e22266e6db52a2c329569fdae3b64571.ctex"
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_2uiim"]
|
||||
albedo_texture = SubResource("CompressedTexture2D_2h3rs")
|
||||
metallic = 1.0
|
||||
metallic_texture = SubResource("CompressedTexture2D_powch")
|
||||
roughness_texture = SubResource("CompressedTexture2D_tpfln")
|
||||
normal_enabled = true
|
||||
normal_texture = SubResource("CompressedTexture2D_sh2xs")
|
||||
texture_filter = 4
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_0j1ke"]
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-1.5, 0, -6, 3, 3, 12),
|
||||
"format": 34896613377,
|
||||
"index_count": 24,
|
||||
"index_data": PackedByteArray("AAABAAIAAgABAAMAAQAAAAQAAwAFAAIABAAAAAYABwAFAAMABAAGAAcABwAGAAUA"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
"vertex_count": 8,
|
||||
"vertex_data": PackedByteArray("AAAAAAAAAAAAAAAA//8AAAAA//8AAAAAAAD/////AAD//wAA//8AAP////8AAAAA//8AAAAAAAD///////8AAA==")
|
||||
}]
|
||||
blend_shape_mode = 0
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_x2vho"]
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-1.5, 0, -6, 3, 3, 12),
|
||||
"attribute_data": PackedByteArray("AAD/f////38AAP+/////v////z8AAP8///8AAAAAAAD///9/AAD/f////z8AAP8//////wAA//////+/AAD/vw=="),
|
||||
"format": 34896613399,
|
||||
"index_count": 24,
|
||||
"index_data": PackedByteArray("AAABAAIAAgABAAMABAAFAAYABgAFAAcACAAJAAoACgAJAAsADAANAA4ADgANAA8A"),
|
||||
"material": SubResource("StandardMaterial3D_2uiim"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
"vertex_count": 16,
|
||||
"vertex_data": PackedByteArray("AAAAAAAA//8AAAAA/////wAA//8AAP//AAD//////////wAA////v///AAAAAP+//////////7//////AAD/vwAAAAD//1TVAAAAAAAAVNX//wAA//9U1f//AAAAAFTV////////VNX/////AABU1QAA/////1TVAAD//wAAVNX/v/9//7//f/+//3//v/9//3////9/////f////3///6qqqqqqqqqqqqqqqqqqqqqqKlTVqipU1aoqVNWqKlTV")
|
||||
}]
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_0j1ke")
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_qjnj2"]
|
||||
data = PackedVector3Array(-1.5, 0, -6, -1.5, 0, 6, -1.5, 3, -6, -1.5, 3, -6, -1.5, 0, 6, -1.5, 3, 6, 1.5, 0, 6, 1.5, 0, -6, 1.5, 3, 6, 1.5, 3, 6, 1.5, 0, -6, 1.5, 3, -6, -1.5, 0, 6, -1.5, 0, -6, 1.5, 0, 6, 1.5, 0, 6, -1.5, 0, -6, 1.5, 0, -6, 1.5, 3, 6, 1.5, 3, -6, -1.5, 3, 6, -1.5, 3, 6, 1.5, 3, -6, -1.5, 3, -6)
|
||||
|
||||
[node name="MechanicTest" type="Node3D"]
|
||||
script = ExtResource("1_iyuyb")
|
||||
id = "mechanic_test"
|
||||
pretty_name = "Mechanics Test Sandbox"
|
||||
|
||||
[node name="Player" parent="." instance=ExtResource("2_qjnj2")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.65, 0)
|
||||
|
||||
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
|
||||
transform = Transform3D(0.866025, -0.156955, -0.474726, 0.5, 0.271854, 0.82225, 0, -0.949453, 0.31391, 0, 0, 0)
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||||
environment = SubResource("Environment_bg05n")
|
||||
|
||||
[node name="WorldFloor" type="StaticBody3D" parent="." groups=["PlasticMaterial"]]
|
||||
collision_layer = 5
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="WorldFloor"]
|
||||
mesh = SubResource("PlaneMesh_mn2wa")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="WorldFloor"]
|
||||
shape = SubResource("WorldBoundaryShape3D_mn2wa")
|
||||
|
||||
[node name="ResetPodium" type="StaticBody3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, -2)
|
||||
collision_layer = 5
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="ResetPodium"]
|
||||
mesh = SubResource("BoxMesh_goufh")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ResetPodium"]
|
||||
shape = SubResource("ConcavePolygonShape3D_bg05n")
|
||||
|
||||
[node name="ResetSwitch" parent="ResetPodium" instance=ExtResource("3_awnx0")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0.35)
|
||||
clean = true
|
||||
|
||||
[node name="Label3D" type="Label3D" parent="ResetPodium"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9, 0.3)
|
||||
text = "RESET"
|
||||
|
||||
[node name="NoduleSpawner" type="StaticBody3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.5, 1, -6)
|
||||
collision_layer = 5
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="NoduleSpawner"]
|
||||
mesh = SubResource("BoxMesh_goufh")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="NoduleSpawner"]
|
||||
shape = SubResource("ConcavePolygonShape3D_bg05n")
|
||||
|
||||
[node name="ButtonMesh" type="MeshInstance3D" parent="NoduleSpawner"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0.25)
|
||||
mesh = SubResource("SphereMesh_awnx0")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="InteractiveBody" type="StaticBody3D" parent="NoduleSpawner/ButtonMesh"]
|
||||
collision_layer = 2
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="NoduleSpawner/ButtonMesh/InteractiveBody"]
|
||||
shape = SubResource("SphereShape3D_cgmn0")
|
||||
|
||||
[node name="Interactive" type="Node" parent="NoduleSpawner/ButtonMesh/InteractiveBody"]
|
||||
script = ExtResource("4_qjnj2")
|
||||
enabled = true
|
||||
label = "Level"
|
||||
verb = "spawn nodule"
|
||||
metadata/_custom_type_script = "uid://deg5xd87cy8rg"
|
||||
|
||||
[node name="Label3D" type="Label3D" parent="NoduleSpawner"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0.3)
|
||||
text = "Spawn
|
||||
Nodule"
|
||||
|
||||
[node name="NoduleSpawnPoint" type="Marker3D" parent="NoduleSpawner"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -3)
|
||||
|
||||
[node name="AlarmSpawner" type="StaticBody3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 1, -6)
|
||||
collision_layer = 5
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="AlarmSpawner"]
|
||||
mesh = SubResource("BoxMesh_goufh")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="AlarmSpawner"]
|
||||
shape = SubResource("ConcavePolygonShape3D_bg05n")
|
||||
|
||||
[node name="Label3D" type="Label3D" parent="AlarmSpawner"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0.3)
|
||||
text = "Spawn
|
||||
Alarm"
|
||||
|
||||
[node name="AlarmSpawnPoint" type="Marker3D" parent="AlarmSpawner"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.7, -4)
|
||||
|
||||
[node name="ButtonMesh" type="MeshInstance3D" parent="AlarmSpawner"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0.25)
|
||||
mesh = SubResource("SphereMesh_awnx0")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="InteractiveBody" type="StaticBody3D" parent="AlarmSpawner/ButtonMesh"]
|
||||
collision_layer = 2
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="AlarmSpawner/ButtonMesh/InteractiveBody"]
|
||||
shape = SubResource("SphereShape3D_cgmn0")
|
||||
|
||||
[node name="Interactive" type="Node" parent="AlarmSpawner/ButtonMesh/InteractiveBody"]
|
||||
script = ExtResource("4_qjnj2")
|
||||
enabled = true
|
||||
label = "Level"
|
||||
verb = "spawn alarm"
|
||||
metadata/_custom_type_script = "uid://deg5xd87cy8rg"
|
||||
|
||||
[node name="AlarmTrigger" type="StaticBody3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.5, 1, -6)
|
||||
collision_layer = 5
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="AlarmTrigger"]
|
||||
mesh = SubResource("BoxMesh_goufh")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="AlarmTrigger"]
|
||||
shape = SubResource("ConcavePolygonShape3D_bg05n")
|
||||
|
||||
[node name="Label3D" type="Label3D" parent="AlarmTrigger"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0.3)
|
||||
text = "Trigger"
|
||||
|
||||
[node name="ButtonMesh" type="MeshInstance3D" parent="AlarmTrigger"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0.25)
|
||||
mesh = SubResource("SphereMesh_awnx0")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="InteractiveBody" type="StaticBody3D" parent="AlarmTrigger/ButtonMesh"]
|
||||
collision_layer = 2
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="AlarmTrigger/ButtonMesh/InteractiveBody"]
|
||||
shape = SubResource("SphereShape3D_cgmn0")
|
||||
|
||||
[node name="Interactive" type="Node" parent="AlarmTrigger/ButtonMesh/InteractiveBody"]
|
||||
script = ExtResource("4_qjnj2")
|
||||
enabled = true
|
||||
label = "Level"
|
||||
verb = "trigger alarm"
|
||||
metadata/_custom_type_script = "uid://deg5xd87cy8rg"
|
||||
|
||||
[node name="GunkHall" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, -31)
|
||||
mesh = SubResource("ArrayMesh_x2vho")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="GunkHall"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="GunkHall/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_qjnj2")
|
||||
|
||||
[node name="Gunkable" parent="GunkHall/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("8_awnx0")]
|
||||
unique_name_in_owner = true
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
initial_mask = ExtResource("5_aix42")
|
||||
source_gunk_material = ExtResource("7_qjnj2")
|
||||
|
||||
[node name="Bulkhead" parent="." instance=ExtResource("8_ujrcv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.5, 0, -2)
|
||||
|
||||
[node name="Podium" type="StaticBody3D" parent="Bulkhead"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 0)
|
||||
collision_layer = 5
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="Bulkhead/Podium"]
|
||||
mesh = SubResource("BoxMesh_goufh")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Bulkhead/Podium"]
|
||||
shape = SubResource("ConcavePolygonShape3D_bg05n")
|
||||
|
||||
[node name="OpenSwitch" parent="Bulkhead/Podium" instance=ExtResource("3_awnx0")]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0.35)
|
||||
clean = true
|
||||
|
||||
[node name="Label3D" type="Label3D" parent="Bulkhead/Podium"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9, 0.3)
|
||||
text = "Open"
|
||||
|
||||
[node name="Podium2" type="StaticBody3D" parent="Bulkhead"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 1, 0)
|
||||
collision_layer = 5
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="Bulkhead/Podium2"]
|
||||
mesh = SubResource("BoxMesh_goufh")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Bulkhead/Podium2"]
|
||||
shape = SubResource("ConcavePolygonShape3D_bg05n")
|
||||
|
||||
[node name="CloseSwitch" parent="Bulkhead/Podium2" instance=ExtResource("3_awnx0")]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0.35)
|
||||
clean = true
|
||||
enabled = false
|
||||
|
||||
[node name="Label3D" type="Label3D" parent="Bulkhead/Podium2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9, 0.3)
|
||||
text = "Close"
|
||||
|
||||
[node name="SignalTestSpawnPoint" type="Marker3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.5, 0, -6)
|
||||
|
||||
[node name="SignalTest" parent="SignalTestSpawnPoint" instance=ExtResource("9_ix0jw")]
|
||||
|
||||
[node name="PropTestSpawnPoint" type="Marker3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 0, 4.5)
|
||||
|
||||
[node name="PropTest" parent="PropTestSpawnPoint" instance=ExtResource("10_xrfi2")]
|
||||
|
||||
[node name="ItemTestSpawnPoint" type="Marker3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13, 0, -2)
|
||||
|
||||
[node name="ItemTest" parent="ItemTestSpawnPoint" instance=ExtResource("11_8natv")]
|
||||
|
||||
[node name="Listener" parent="." instance=ExtResource("13_awnx0")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.5, 0, -6.5)
|
||||
|
||||
[connection signal="activated" from="ResetPodium/ResetSwitch" to="." method="reset"]
|
||||
[connection signal="activated" from="NoduleSpawner/ButtonMesh/InteractiveBody/Interactive" to="." method="spawn_nodule"]
|
||||
[connection signal="activated" from="AlarmSpawner/ButtonMesh/InteractiveBody/Interactive" to="." method="spawn_alarm"]
|
||||
[connection signal="activated" from="AlarmTrigger/ButtonMesh/InteractiveBody/Interactive" to="." method="trigger_spawned_alarm"]
|
||||
[connection signal="activated" from="Bulkhead/Podium/OpenSwitch" to="Bulkhead" method="open"]
|
||||
[connection signal="activated" from="Bulkhead/Podium/OpenSwitch" to="Bulkhead/Podium/OpenSwitch" method="disable"]
|
||||
[connection signal="activated" from="Bulkhead/Podium/OpenSwitch" to="Bulkhead/Podium2/CloseSwitch" method="enable"]
|
||||
[connection signal="activated" from="Bulkhead/Podium2/CloseSwitch" to="Bulkhead" method="close"]
|
||||
[connection signal="activated" from="Bulkhead/Podium2/CloseSwitch" to="Bulkhead/Podium/OpenSwitch" method="enable"]
|
||||
[connection signal="activated" from="Bulkhead/Podium2/CloseSwitch" to="Bulkhead/Podium2/CloseSwitch" method="disable"]
|
@ -522,6 +522,7 @@ shape = SubResource("WorldBoundaryShape3D_c8g65")
|
||||
|
||||
[node name="Icosahedron" type="MeshInstance3D" parent="Geometry"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.35498, 1.13294, -2.81423)
|
||||
material_overlay = ExtResource("30_v2ya2")
|
||||
mesh = SubResource("ArrayMesh_2roq2")
|
||||
skeleton = NodePath("")
|
||||
|
||||
|
27
levels/testing/beast_spawner_test/beast_spawner_test.gd
Normal file
27
levels/testing/beast_spawner_test/beast_spawner_test.gd
Normal file
@ -0,0 +1,27 @@
|
||||
extends Level
|
||||
|
||||
@onready var alert_level_label: Label = %AlertLevelLabel
|
||||
@onready var gunk_alarm: GunkAlarm = %GunkAlarm
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
if is_instance_valid(World.instance):
|
||||
World.instance.manager.alert_raised.connect(_on_alert_level_raised)
|
||||
World.instance.manager.alert_cleared.connect(_on_alert_level_cleared)
|
||||
|
||||
|
||||
func _on_alert_level_raised(new_level: int) -> void:
|
||||
alert_level_label.text = str(new_level)
|
||||
|
||||
|
||||
func _on_alert_level_cleared() -> void:
|
||||
alert_level_label.text = str(WorldManager.CLEAR_LEVEL)
|
||||
|
||||
|
||||
func _unhandled_key_input(event: InputEvent) -> void:
|
||||
if event.is_action_pressed("ui_page_up"):
|
||||
if is_instance_valid(gunk_alarm):
|
||||
gunk_alarm.trigger()
|
||||
if event.is_action_pressed("ui_page_down"):
|
||||
if is_instance_valid(World.instance):
|
||||
World.instance.manager.clear_alert()
|
@ -0,0 +1 @@
|
||||
uid://dir6earo8ftlp
|
746
levels/testing/beast_spawner_test/beast_spawner_test.tscn
Normal file
746
levels/testing/beast_spawner_test/beast_spawner_test.tscn
Normal file
@ -0,0 +1,746 @@
|
||||
[gd_scene load_steps=26 format=3 uid="uid://ogcjwuvqo5rc"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dir6earo8ftlp" path="res://levels/testing/beast_spawner_test/beast_spawner_test.gd" id="1_a4s6t"]
|
||||
[ext_resource type="PackedScene" uid="uid://b47goj32i6sdh" path="res://src/ui/elements/input_prompt/input_prompt.tscn" id="2_pn3sm"]
|
||||
[ext_resource type="PackedScene" uid="uid://bwe2jdmvinhqd" path="res://src/player/player.tscn" id="2_yvl8h"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://dpr5cgq743f4s" path="res://assets/level/floor/floor_9x9.mesh" id="3_o2peg"]
|
||||
[ext_resource type="PackedScene" uid="uid://drm5dspi48pf5" path="res://src/props/crate_long/phys_crate_long.tscn" id="5_8vexl"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="5_a41r8"]
|
||||
[ext_resource type="Material" uid="uid://cqjr3cbxtfg2j" path="res://assets/materials/grunk_overlays/gunk_overlay.material" id="6_m3rwh"]
|
||||
[ext_resource type="PackedScene" uid="uid://dxm83cmpppqxr" path="res://src/world/grunk_beast/beast_spawner/beast_spawn_zone/beast_spawn_zone.tscn" id="7_m3rwh"]
|
||||
[ext_resource type="PackedScene" uid="uid://oipf3w7hm5gf" path="res://src/props/operating_table/operating_table.tscn" id="9_nhuoi"]
|
||||
[ext_resource type="PackedScene" uid="uid://dgeg3kkogm71m" path="res://src/world/mechanics/alarm/gunk_alarm.tscn" id="10_a4s6t"]
|
||||
[ext_resource type="PackedScene" uid="uid://5vh7mnjavlle" path="res://src/world/grunk_beast/beast_spawner/transient_floor_spawner.tscn" id="11_cuw52"]
|
||||
[ext_resource type="PackedScene" uid="uid://c55n6h3ydi32e" path="res://src/props/sofa/phys_sofa.tscn" id="12_fshdk"]
|
||||
[ext_resource type="PackedScene" uid="uid://dtus42gmb1kqq" path="res://src/props/vending_machine/vending_machine.tscn" id="12_y2hej"]
|
||||
[ext_resource type="Texture2D" uid="uid://d2xq0uvxh2ojk" path="res://assets/props/vending_machine/vending_machine_C.png" id="13_fshdk"]
|
||||
[ext_resource type="Texture2D" uid="uid://d0xe37qm3k7d8" path="res://assets/props/vending_machine/vending_machine_E.png" id="14_avb8e"]
|
||||
[ext_resource type="Texture2D" uid="uid://dkilg200w8x4y" path="res://assets/props/vending_machine/vending_machine_M.png" id="15_jafew"]
|
||||
[ext_resource type="Texture2D" uid="uid://8v7jta2qdvut" path="res://assets/props/vending_machine/vending_machine_N.png" id="16_smofw"]
|
||||
[ext_resource type="Texture2D" uid="uid://gbvtbiurxrop" path="res://assets/props/vending_machine/vending_machine_R.png" id="17_ks403"]
|
||||
|
||||
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_hda7d"]
|
||||
|
||||
[sub_resource type="Sky" id="Sky_pka60"]
|
||||
sky_material = SubResource("ProceduralSkyMaterial_hda7d")
|
||||
|
||||
[sub_resource type="Environment" id="Environment_nl4kk"]
|
||||
background_mode = 2
|
||||
sky = SubResource("Sky_pka60")
|
||||
|
||||
[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_6j7vt"]
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_pn3sm"]
|
||||
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="BoxShape3D" id="BoxShape3D_m3rwh"]
|
||||
size = Vector3(18, 5.1, 28.5)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_mo4ho"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("13_fshdk")
|
||||
metallic = 1.0
|
||||
metallic_texture = ExtResource("15_jafew")
|
||||
roughness_texture = ExtResource("17_ks403")
|
||||
emission_enabled = true
|
||||
emission_energy_multiplier = 0.0
|
||||
emission_texture = ExtResource("14_avb8e")
|
||||
normal_enabled = true
|
||||
normal_texture = ExtResource("16_smofw")
|
||||
texture_filter = 2
|
||||
|
||||
[node name="BeastSpawnerTest" type="Node3D"]
|
||||
script = ExtResource("1_a4s6t")
|
||||
id = "beast_spawner_test"
|
||||
pretty_name = "Beast Spawner Testing Sandbox"
|
||||
|
||||
[node name="TestInfo" type="CanvasLayer" parent="."]
|
||||
layer = 10
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="TestInfo"]
|
||||
offset_right = 40.0
|
||||
offset_bottom = 40.0
|
||||
theme_override_constants/margin_left = 16
|
||||
theme_override_constants/margin_top = 16
|
||||
theme_override_constants/margin_right = 16
|
||||
theme_override_constants/margin_bottom = 16
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="TestInfo/MarginContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="TestInfo/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="TestInfo/MarginContainer/VBoxContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Alarm level:"
|
||||
|
||||
[node name="AlertLevelLabel" type="Label" parent="TestInfo/MarginContainer/VBoxContainer/HBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "0"
|
||||
|
||||
[node name="HBoxContainer2" type="HBoxContainer" parent="TestInfo/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="InputPrompt" parent="TestInfo/MarginContainer/VBoxContainer/HBoxContainer2" instance=ExtResource("2_pn3sm")]
|
||||
layout_mode = 2
|
||||
text = "❓"
|
||||
action = &"ui_page_up"
|
||||
show_name = false
|
||||
|
||||
[node name="Label" type="Label" parent="TestInfo/MarginContainer/VBoxContainer/HBoxContainer2"]
|
||||
layout_mode = 2
|
||||
text = " to trigger the alarm"
|
||||
|
||||
[node name="HBoxContainer3" type="HBoxContainer" parent="TestInfo/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="InputPrompt" parent="TestInfo/MarginContainer/VBoxContainer/HBoxContainer3" instance=ExtResource("2_pn3sm")]
|
||||
layout_mode = 2
|
||||
text = "❓"
|
||||
action = &"ui_page_down"
|
||||
show_name = false
|
||||
|
||||
[node name="Label" type="Label" parent="TestInfo/MarginContainer/VBoxContainer/HBoxContainer3"]
|
||||
layout_mode = 2
|
||||
text = " to clear the alert level"
|
||||
|
||||
[node name="Player" parent="." instance=ExtResource("2_yvl8h")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
||||
|
||||
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
|
||||
transform = Transform3D(0.866025, -0.156955, -0.474726, 0.5, 0.271854, 0.82225, 0, -0.949453, 0.31391, 0, 0, 0)
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||||
environment = SubResource("Environment_nl4kk")
|
||||
|
||||
[node name="WorldFloor" type="StaticBody3D" parent="." groups=["PlasticMaterial"]]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 3)
|
||||
collision_layer = 5
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -9)
|
||||
mesh = ExtResource("3_o2peg")
|
||||
|
||||
[node name="MeshInstance3D2" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, -9)
|
||||
mesh = ExtResource("3_o2peg")
|
||||
|
||||
[node name="MeshInstance3D3" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9, 0, -9)
|
||||
mesh = ExtResource("3_o2peg")
|
||||
|
||||
[node name="MeshInstance3D4" type="MeshInstance3D" parent="WorldFloor"]
|
||||
mesh = ExtResource("3_o2peg")
|
||||
|
||||
[node name="MeshInstance3D5" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 0)
|
||||
mesh = ExtResource("3_o2peg")
|
||||
|
||||
[node name="MeshInstance3D6" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9, 0, 0)
|
||||
mesh = ExtResource("3_o2peg")
|
||||
|
||||
[node name="MeshInstance3D7" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, -9)
|
||||
mesh = ExtResource("3_o2peg")
|
||||
|
||||
[node name="MeshInstance3D8" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 0)
|
||||
mesh = ExtResource("3_o2peg")
|
||||
|
||||
[node name="MeshInstance3D9" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, -9)
|
||||
mesh = ExtResource("3_o2peg")
|
||||
|
||||
[node name="MeshInstance3D10" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 0)
|
||||
mesh = ExtResource("3_o2peg")
|
||||
|
||||
[node name="MeshInstance3D11" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 36, 0, -9)
|
||||
mesh = ExtResource("3_o2peg")
|
||||
|
||||
[node name="MeshInstance3D12" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 36, 0, 0)
|
||||
mesh = ExtResource("3_o2peg")
|
||||
|
||||
[node name="MeshInstance3D13" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 45, 0, -9)
|
||||
mesh = ExtResource("3_o2peg")
|
||||
|
||||
[node name="MeshInstance3D14" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 45, 0, 0)
|
||||
mesh = ExtResource("3_o2peg")
|
||||
|
||||
[node name="MeshInstance3D15" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 54, 0, -9)
|
||||
mesh = ExtResource("3_o2peg")
|
||||
|
||||
[node name="MeshInstance3D16" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 54, 0, 0)
|
||||
mesh = ExtResource("3_o2peg")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="WorldFloor"]
|
||||
visible = false
|
||||
shape = SubResource("WorldBoundaryShape3D_6j7vt")
|
||||
|
||||
[node name="PhysCrateLong" parent="." instance=ExtResource("5_8vexl")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0.9, -6)
|
||||
|
||||
[node name="OperatingTable" parent="." instance=ExtResource("9_nhuoi")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12, 0.5, 0)
|
||||
|
||||
[node name="GunkAlarm" parent="OperatingTable" instance=ExtResource("10_a4s6t")]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.52, 0)
|
||||
|
||||
[node name="SpawnRegion1" type="Node3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 0.1, -19.5)
|
||||
|
||||
[node name="Floor" type="MeshInstance3D" parent="SpawnRegion1"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 0, -4.5)
|
||||
mesh = ExtResource("3_o2peg")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="SpawnRegion1/Floor"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="SpawnRegion1/Floor/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_pn3sm")
|
||||
|
||||
[node name="Gunkable" parent="SpawnRegion1/Floor/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("5_a41r8")]
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("6_m3rwh")
|
||||
|
||||
[node name="Floor2" type="MeshInstance3D" parent="SpawnRegion1"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, -4.5)
|
||||
mesh = ExtResource("3_o2peg")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="SpawnRegion1/Floor2"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="SpawnRegion1/Floor2/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_pn3sm")
|
||||
|
||||
[node name="Gunkable" parent="SpawnRegion1/Floor2/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("5_a41r8")]
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("6_m3rwh")
|
||||
|
||||
[node name="Floor3" type="MeshInstance3D" parent="SpawnRegion1"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 0, 4.5)
|
||||
mesh = ExtResource("3_o2peg")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="SpawnRegion1/Floor3"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="SpawnRegion1/Floor3/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_pn3sm")
|
||||
|
||||
[node name="Gunkable" parent="SpawnRegion1/Floor3/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("5_a41r8")]
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("6_m3rwh")
|
||||
|
||||
[node name="Floor4" type="MeshInstance3D" parent="SpawnRegion1"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, 4.5)
|
||||
mesh = ExtResource("3_o2peg")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="SpawnRegion1/Floor4"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="SpawnRegion1/Floor4/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_pn3sm")
|
||||
|
||||
[node name="Gunkable" parent="SpawnRegion1/Floor4/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("5_a41r8")]
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("6_m3rwh")
|
||||
|
||||
[node name="BeastSpawnZone" parent="SpawnRegion1" instance=ExtResource("7_m3rwh")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.001, 0)
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="SpawnRegion1/BeastSpawnZone"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.45, 5.25)
|
||||
shape = SubResource("BoxShape3D_m3rwh")
|
||||
|
||||
[node name="TransientFloorSpawner" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.5, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner2" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner3" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner4" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner5" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner6" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner7" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner8" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner9" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner10" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner11" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.5, 0, -7.5)
|
||||
|
||||
[node name="TransientFloorSpawner12" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.5, 0, -4.5)
|
||||
|
||||
[node name="TransientFloorSpawner13" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 0, -4.5)
|
||||
|
||||
[node name="TransientFloorSpawner14" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, -4.5)
|
||||
|
||||
[node name="TransientFloorSpawner15" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, -4.5)
|
||||
|
||||
[node name="TransientFloorSpawner16" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, -4.5)
|
||||
|
||||
[node name="TransientFloorSpawner17" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -4.5)
|
||||
|
||||
[node name="TransientFloorSpawner18" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -4.5)
|
||||
|
||||
[node name="TransientFloorSpawner19" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -4.5)
|
||||
|
||||
[node name="TransientFloorSpawner20" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, -4.5)
|
||||
|
||||
[node name="TransientFloorSpawner21" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, -4.5)
|
||||
|
||||
[node name="TransientFloorSpawner22" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.5, 0, -4.5)
|
||||
|
||||
[node name="TransientFloorSpawner23" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.5, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner24" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner25" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner26" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner27" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner28" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner29" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner30" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner31" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner32" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner33" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.5, 0, -1.5)
|
||||
|
||||
[node name="TransientFloorSpawner34" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.5, 0, 1.5)
|
||||
|
||||
[node name="TransientFloorSpawner35" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 0, 1.5)
|
||||
|
||||
[node name="TransientFloorSpawner36" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, 1.5)
|
||||
|
||||
[node name="TransientFloorSpawner37" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, 1.5)
|
||||
|
||||
[node name="TransientFloorSpawner38" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, 1.5)
|
||||
|
||||
[node name="TransientFloorSpawner39" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, 1.5)
|
||||
|
||||
[node name="TransientFloorSpawner40" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 1.5)
|
||||
|
||||
[node name="TransientFloorSpawner41" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1.5)
|
||||
|
||||
[node name="TransientFloorSpawner42" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 1.5)
|
||||
|
||||
[node name="TransientFloorSpawner43" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1.5)
|
||||
|
||||
[node name="TransientFloorSpawner44" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.5, 0, 1.5)
|
||||
|
||||
[node name="TransientFloorSpawner45" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.5, 0, 4.5)
|
||||
|
||||
[node name="TransientFloorSpawner46" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 0, 4.5)
|
||||
|
||||
[node name="TransientFloorSpawner47" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, 4.5)
|
||||
|
||||
[node name="TransientFloorSpawner48" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, 4.5)
|
||||
|
||||
[node name="TransientFloorSpawner49" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, 4.5)
|
||||
|
||||
[node name="TransientFloorSpawner50" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, 4.5)
|
||||
|
||||
[node name="TransientFloorSpawner51" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 4.5)
|
||||
|
||||
[node name="TransientFloorSpawner52" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4.5)
|
||||
|
||||
[node name="TransientFloorSpawner53" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 4.5)
|
||||
|
||||
[node name="TransientFloorSpawner54" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 4.5)
|
||||
|
||||
[node name="TransientFloorSpawner55" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.5, 0, 4.5)
|
||||
|
||||
[node name="TransientFloorSpawner56" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.5, 0, 7.5)
|
||||
|
||||
[node name="TransientFloorSpawner57" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 0, 7.5)
|
||||
|
||||
[node name="TransientFloorSpawner58" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, 7.5)
|
||||
|
||||
[node name="TransientFloorSpawner59" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, 7.5)
|
||||
|
||||
[node name="TransientFloorSpawner60" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, 7.5)
|
||||
|
||||
[node name="TransientFloorSpawner61" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, 7.5)
|
||||
|
||||
[node name="TransientFloorSpawner62" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 7.5)
|
||||
|
||||
[node name="TransientFloorSpawner63" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 7.5)
|
||||
|
||||
[node name="TransientFloorSpawner64" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 7.5)
|
||||
|
||||
[node name="TransientFloorSpawner65" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 7.5)
|
||||
|
||||
[node name="TransientFloorSpawner66" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.5, 0, 7.5)
|
||||
|
||||
[node name="TransientFloorSpawner67" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.5, 0, -6)
|
||||
|
||||
[node name="TransientFloorSpawner68" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 0, -6)
|
||||
|
||||
[node name="TransientFloorSpawner69" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, -6)
|
||||
|
||||
[node name="TransientFloorSpawner70" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, -6)
|
||||
|
||||
[node name="TransientFloorSpawner71" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, -6)
|
||||
|
||||
[node name="TransientFloorSpawner72" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -6)
|
||||
|
||||
[node name="TransientFloorSpawner73" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -6)
|
||||
|
||||
[node name="TransientFloorSpawner74" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -6)
|
||||
|
||||
[node name="TransientFloorSpawner75" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, -6)
|
||||
|
||||
[node name="TransientFloorSpawner76" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, -6)
|
||||
|
||||
[node name="TransientFloorSpawner77" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.5, 0, -6)
|
||||
|
||||
[node name="TransientFloorSpawner78" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.5, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner79" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner80" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner81" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner82" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner83" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner84" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner85" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner86" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner87" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner88" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.5, 0, -3)
|
||||
|
||||
[node name="TransientFloorSpawner89" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.5, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner90" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner91" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner92" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner93" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner94" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner95" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner96" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
|
||||
[node name="TransientFloorSpawner97" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner98" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner99" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.5, 0, 0)
|
||||
|
||||
[node name="TransientFloorSpawner100" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.5, 0, 3)
|
||||
|
||||
[node name="TransientFloorSpawner101" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 0, 3)
|
||||
|
||||
[node name="TransientFloorSpawner102" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, 3)
|
||||
|
||||
[node name="TransientFloorSpawner103" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, 3)
|
||||
|
||||
[node name="TransientFloorSpawner104" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, 3)
|
||||
|
||||
[node name="TransientFloorSpawner105" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, 3)
|
||||
|
||||
[node name="TransientFloorSpawner106" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 3)
|
||||
|
||||
[node name="TransientFloorSpawner107" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 3)
|
||||
|
||||
[node name="TransientFloorSpawner108" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 3)
|
||||
|
||||
[node name="TransientFloorSpawner109" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 3)
|
||||
|
||||
[node name="TransientFloorSpawner110" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.5, 0, 3)
|
||||
|
||||
[node name="TransientFloorSpawner111" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.5, 0, 6)
|
||||
|
||||
[node name="TransientFloorSpawner112" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 0, 6)
|
||||
|
||||
[node name="TransientFloorSpawner113" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0, 6)
|
||||
|
||||
[node name="TransientFloorSpawner114" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, 6)
|
||||
|
||||
[node name="TransientFloorSpawner115" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, 6)
|
||||
|
||||
[node name="TransientFloorSpawner116" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, 6)
|
||||
|
||||
[node name="TransientFloorSpawner117" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 6)
|
||||
|
||||
[node name="TransientFloorSpawner118" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 6)
|
||||
|
||||
[node name="TransientFloorSpawner119" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 6)
|
||||
|
||||
[node name="TransientFloorSpawner120" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 6)
|
||||
|
||||
[node name="TransientFloorSpawner121" parent="SpawnRegion1/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.5, 0, 6)
|
||||
|
||||
[node name="SpawnRegion2" type="Node3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 31.5, 0.1, -19.5)
|
||||
|
||||
[node name="Floor" type="MeshInstance3D" parent="SpawnRegion2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, 4.5)
|
||||
mesh = ExtResource("3_o2peg")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="SpawnRegion2/Floor"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="SpawnRegion2/Floor/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_pn3sm")
|
||||
|
||||
[node name="Gunkable" parent="SpawnRegion2/Floor/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("5_a41r8")]
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("6_m3rwh")
|
||||
|
||||
[node name="BeastSpawnZone" parent="SpawnRegion2" instance=ExtResource("7_m3rwh")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.001, 0)
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="SpawnRegion2/BeastSpawnZone"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.45, 5.25)
|
||||
shape = SubResource("BoxShape3D_m3rwh")
|
||||
|
||||
[node name="TransientFloorSpawner37" parent="SpawnRegion2/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, 1.5)
|
||||
|
||||
[node name="TransientFloorSpawner38" parent="SpawnRegion2/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, 1.5)
|
||||
|
||||
[node name="TransientFloorSpawner42" parent="SpawnRegion2/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 1.5)
|
||||
|
||||
[node name="TransientFloorSpawner43" parent="SpawnRegion2/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 1.5)
|
||||
|
||||
[node name="TransientFloorSpawner44" parent="SpawnRegion2/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.5, 0, 1.5)
|
||||
|
||||
[node name="TransientFloorSpawner48" parent="SpawnRegion2/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, 4.5)
|
||||
|
||||
[node name="TransientFloorSpawner49" parent="SpawnRegion2/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, 4.5)
|
||||
|
||||
[node name="TransientFloorSpawner53" parent="SpawnRegion2/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 4.5)
|
||||
|
||||
[node name="TransientFloorSpawner54" parent="SpawnRegion2/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 4.5)
|
||||
|
||||
[node name="TransientFloorSpawner55" parent="SpawnRegion2/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.5, 0, 4.5)
|
||||
|
||||
[node name="TransientFloorSpawner59" parent="SpawnRegion2/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, 7.5)
|
||||
|
||||
[node name="TransientFloorSpawner60" parent="SpawnRegion2/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, 7.5)
|
||||
|
||||
[node name="TransientFloorSpawner64" parent="SpawnRegion2/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 7.5)
|
||||
|
||||
[node name="TransientFloorSpawner65" parent="SpawnRegion2/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 7.5)
|
||||
|
||||
[node name="TransientFloorSpawner66" parent="SpawnRegion2/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.5, 0, 7.5)
|
||||
|
||||
[node name="TransientFloorSpawner103" parent="SpawnRegion2/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, 3)
|
||||
|
||||
[node name="TransientFloorSpawner104" parent="SpawnRegion2/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, 3)
|
||||
|
||||
[node name="TransientFloorSpawner108" parent="SpawnRegion2/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 3)
|
||||
|
||||
[node name="TransientFloorSpawner109" parent="SpawnRegion2/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 3)
|
||||
|
||||
[node name="TransientFloorSpawner110" parent="SpawnRegion2/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.5, 0, 3)
|
||||
|
||||
[node name="TransientFloorSpawner114" parent="SpawnRegion2/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, 6)
|
||||
|
||||
[node name="TransientFloorSpawner115" parent="SpawnRegion2/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, 6)
|
||||
|
||||
[node name="TransientFloorSpawner119" parent="SpawnRegion2/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 6)
|
||||
|
||||
[node name="TransientFloorSpawner120" parent="SpawnRegion2/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 6)
|
||||
|
||||
[node name="TransientFloorSpawner121" parent="SpawnRegion2/BeastSpawnZone" instance=ExtResource("11_cuw52")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.5, 0, 6)
|
||||
|
||||
[node name="PhysSofa" parent="SpawnRegion2/BeastSpawnZone" instance=ExtResource("12_fshdk")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -40.5, 0.499, 13.5)
|
||||
|
||||
[node name="VendingMachine" parent="." instance=ExtResource("12_y2hej")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, -6)
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_mo4ho")
|
@ -1,9 +1,9 @@
|
||||
[gd_scene load_steps=12 format=3 uid="uid://cbxlfnlmgdvsq"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b1tbovuphat7d" path="res://levels/grunkbeast_test/procedural_grunkbeast_test/procedural_grunkbeast_test.gd" id="1_ixhpa"]
|
||||
[ext_resource type="Script" uid="uid://b1tbovuphat7d" path="res://levels/testing/grunkbeast_test/procedural_grunkbeast_test/procedural_grunkbeast_test.gd" id="1_ixhpa"]
|
||||
[ext_resource type="Script" uid="uid://bukihqt1lybnx" path="res://src/util/frame_skipper.gd" id="2_82w0n"]
|
||||
[ext_resource type="PackedScene" uid="uid://d2664rpg4losx" path="res://src/world/grunk_beast/procedural_grunk_beast/procedural_grunk_beast.tscn" id="3_b4iwh"]
|
||||
[ext_resource type="Script" uid="uid://cpt8dy0csa3eu" path="res://levels/grunkbeast_test/procedural_grunkbeast_test/fixed_camera.gd" id="4_32imj"]
|
||||
[ext_resource type="Script" uid="uid://cpt8dy0csa3eu" path="res://levels/testing/grunkbeast_test/procedural_grunkbeast_test/fixed_camera.gd" id="4_32imj"]
|
||||
|
||||
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_goufh"]
|
||||
|
@ -1,6 +1,6 @@
|
||||
[gd_scene load_steps=9 format=3 uid="uid://t4cm5iu1ri5g"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://csf1tga0ivx0p" path="res://levels/grunkbeast_test/shambler_test/shambler_test.gd" id="1_7ff4e"]
|
||||
[ext_resource type="Script" uid="uid://csf1tga0ivx0p" path="res://levels/testing/grunkbeast_test/shambler_test/shambler_test.gd" id="1_7ff4e"]
|
||||
[ext_resource type="PackedScene" uid="uid://brrd33217oplv" path="res://src/world/grunk_beast/shambler/shambler.tscn" id="2_56au4"]
|
||||
[ext_resource type="Script" uid="uid://bukihqt1lybnx" path="res://src/util/frame_skipper.gd" id="2_vtesn"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://dpr5cgq743f4s" path="res://assets/level/floor/floor_9x9.mesh" id="3_vtesn"]
|
@ -5,8 +5,9 @@ extends Node3D
|
||||
|
||||
func spawn() -> void:
|
||||
despawn()
|
||||
var instance: Node3D = beast_scene.instantiate()
|
||||
var instance: GrunkBeast = beast_scene.instantiate()
|
||||
add_child(instance)
|
||||
instance.start_spawn()
|
||||
|
||||
|
||||
func despawn() -> void:
|
@ -1,6 +1,6 @@
|
||||
[gd_scene load_steps=93 format=4 uid="uid://700gr7k3gqlf"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://c8lfvagqptams" path="res://levels/grunkbeast_test/visual_test/visual_test.gd" id="1_f3alo"]
|
||||
[ext_resource type="Script" uid="uid://c8lfvagqptams" path="res://levels/testing/grunkbeast_test/visual_test/visual_test.gd" id="1_f3alo"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://c4klxlj1oop7t" path="res://assets/level/hallway/hallway_4.mesh" id="2_jle5o"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="3_lpqtr"]
|
||||
[ext_resource type="Material" uid="uid://cqjr3cbxtfg2j" path="res://assets/materials/grunk_overlays/gunk_overlay.material" id="4_ibsng"]
|
||||
@ -35,7 +35,7 @@
|
||||
[ext_resource type="Texture2D" uid="uid://bs1fx1h0tddde" path="res://assets/level/ceiling/ceiling_1_M.png" id="35_hvv15"]
|
||||
[ext_resource type="Script" uid="uid://deg5xd87cy8rg" path="res://src/props/interactive.gd" id="36_43u2e"]
|
||||
[ext_resource type="Texture2D" uid="uid://bmwmajwul60ti" path="res://assets/level/ceiling/ceiling_1_N.png" id="36_igk00"]
|
||||
[ext_resource type="Script" uid="uid://dyk5x48pdjejc" path="res://levels/grunkbeast_test/visual_test/beast_spawner.gd" id="37_f3alo"]
|
||||
[ext_resource type="Script" uid="uid://dyk5x48pdjejc" path="res://levels/testing/grunkbeast_test/visual_test/beast_spawner.gd" id="37_f3alo"]
|
||||
[ext_resource type="Texture2D" uid="uid://8hav47a84uk" path="res://assets/level/ceiling/ceiling_1_R.png" id="37_jfa7c"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://bx00qgk2dyjrw" path="res://assets/level/wall/wall_2.mesh" id="38_as7yj"]
|
||||
|
||||
@ -384,7 +384,6 @@ environment = ExtResource("24_ibsng")
|
||||
|
||||
[node name="Player" parent="." instance=ExtResource("26_hposp")]
|
||||
transform = Transform3D(0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, 0.866025, -6, 1.2, 9.3)
|
||||
godmode = true
|
||||
|
||||
[node name="NavigationRegion3D" type="NavigationRegion3D" parent="."]
|
||||
navigation_mesh = SubResource("NavigationMesh_n2727")
|
||||
@ -2182,6 +2181,9 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.3, 0, -2.7)
|
||||
visibility_aabb = AABB(-9, -3, -4.5, 18, 6, 9)
|
||||
process_material = SubResource("ParticleProcessMaterial_42r5i")
|
||||
|
||||
[node name="LurkPoint11" type="Marker3D" parent="NavigationRegion3D/Level/CommonArea" groups=["LurkPoint"]]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.6, -3, -3.3)
|
||||
|
||||
[node name="Room1" type="Node3D" parent="NavigationRegion3D/Level"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.2, 0, 9.3)
|
||||
|
||||
@ -2614,6 +2616,9 @@ process_material = SubResource("ParticleProcessMaterial_e530b")
|
||||
[node name="OverheadLight" parent="NavigationRegion3D/Level/Room2" instance=ExtResource("6_n2727")]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -3, 3, 0)
|
||||
|
||||
[node name="LurkPoint10" type="Marker3D" parent="NavigationRegion3D/Level/Room2" groups=["LurkPoint"]]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.8, 0, -1.8)
|
||||
|
||||
[node name="Room3" type="Node3D" parent="NavigationRegion3D/Level"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.2, -3, 9.3)
|
||||
|
||||
@ -2836,6 +2841,9 @@ transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 2.9
|
||||
transform = Transform3D(0.258819, 0, 0.965926, 0, 1, 0, -0.965926, 0, 0.258819, 11.4, 0.3, 3.90001)
|
||||
sleeping = true
|
||||
|
||||
[node name="LurkPoint1" type="Marker3D" parent="NavigationRegion3D/Level/Room3" groups=["LurkPoint"]]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.8, 0, 0)
|
||||
|
||||
[node name="Room4" type="Node3D" parent="NavigationRegion3D/Level"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.8, -3, 9.3)
|
||||
|
@ -1,6 +1,6 @@
|
||||
[gd_scene load_steps=9 format=3 uid="uid://dbabcsp38wmid"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bhx3bug3prp50" path="res://levels/mechanic_test/item_test.gd" id="1_fcmux"]
|
||||
[ext_resource type="Script" uid="uid://bhx3bug3prp50" path="res://levels/testing/mechanic_test/item_test.gd" id="1_fcmux"]
|
||||
[ext_resource type="PackedScene" uid="uid://bn8fdu4houoo2" path="res://src/world/world_item/world_item.tscn" id="1_l8xgj"]
|
||||
[ext_resource type="Resource" uid="uid://c6ynovu3h6twl" path="res://levels/ghost_ship/item_data/eyeballs.tres" id="2_fcmux"]
|
||||
[ext_resource type="PackedScene" uid="uid://ctr56p23cvupu" path="res://src/props/retinal_scanner/retinal_scanner.tscn" id="3_8dd7v"]
|
@ -52,6 +52,15 @@ func spawn_alarm() -> void:
|
||||
_do_spawn(alarm_spawn_point, alarm_scene)
|
||||
|
||||
|
||||
func spawn_beast() -> void:
|
||||
var spawners := get_tree().get_nodes_in_group(BeastSpawner.GROUP)
|
||||
if spawners:
|
||||
var spawner: BeastSpawner = spawners.pick_random()
|
||||
spawner.do_spawn()
|
||||
else:
|
||||
print_debug("No spawners available!")
|
||||
|
||||
|
||||
func trigger_spawned_alarm() -> void:
|
||||
var alarm := alarm_spawn_point.get_child(0) as GunkAlarm
|
||||
if alarm:
|
804
levels/testing/mechanic_test/mechanic_test.tscn
Normal file
804
levels/testing/mechanic_test/mechanic_test.tscn
Normal file
@ -0,0 +1,804 @@
|
||||
[gd_scene load_steps=41 format=4 uid="uid://b8rv6dg4tgaeb"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bvua1l2hb3an6" path="res://levels/testing/mechanic_test/mechanic_test.gd" id="1_iyuyb"]
|
||||
[ext_resource type="PackedScene" uid="uid://bwe2jdmvinhqd" path="res://src/player/player.tscn" id="2_qjnj2"]
|
||||
[ext_resource type="PackedScene" uid="uid://b6eg8t04rkh0c" path="res://src/props/wall_switch/wall_switch.tscn" id="3_awnx0"]
|
||||
[ext_resource type="Script" uid="uid://deg5xd87cy8rg" path="res://src/props/interactive.gd" id="4_qjnj2"]
|
||||
[ext_resource type="Texture2D" uid="uid://8cm835h4gxwe" path="res://assets/debug_mask.png" id="5_aix42"]
|
||||
[ext_resource type="Material" uid="uid://cqjr3cbxtfg2j" path="res://assets/materials/grunk_overlays/gunk_overlay.material" id="7_qjnj2"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="8_awnx0"]
|
||||
[ext_resource type="PackedScene" uid="uid://cubwniraol1qn" path="res://src/props/bulkhead/bulkhead.tscn" id="8_ujrcv"]
|
||||
[ext_resource type="PackedScene" uid="uid://b5jubpjj3d277" path="res://levels/testing/mechanic_test/signal_test.tscn" id="9_ix0jw"]
|
||||
[ext_resource type="PackedScene" uid="uid://cfqirm2o3uo4k" path="res://levels/testing/mechanic_test/prop_test.tscn" id="10_xrfi2"]
|
||||
[ext_resource type="PackedScene" uid="uid://dbabcsp38wmid" path="res://levels/testing/mechanic_test/item_test.tscn" id="11_8natv"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://dpr5cgq743f4s" path="res://assets/level/floor/floor_9x9.mesh" id="13_aix42"]
|
||||
[ext_resource type="PackedScene" uid="uid://kctp5erogwcb" path="res://src/world/mechanics/listener/listener.tscn" id="13_awnx0"]
|
||||
[ext_resource type="PackedScene" uid="uid://c8vbjgol5nenc" path="res://src/world/grunk_beast/beast_spawner/floor_spawner.tscn" id="13_cgmn0"]
|
||||
[ext_resource type="PackedScene" uid="uid://5vh7mnjavlle" path="res://src/world/grunk_beast/beast_spawner/transient_floor_spawner.tscn" id="15_6frcc"]
|
||||
[ext_resource type="PackedScene" uid="uid://drm5dspi48pf5" path="res://src/props/crate_long/phys_crate_long.tscn" id="15_aix42"]
|
||||
|
||||
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_goufh"]
|
||||
|
||||
[sub_resource type="Sky" id="Sky_pka60"]
|
||||
sky_material = SubResource("ProceduralSkyMaterial_goufh")
|
||||
|
||||
[sub_resource type="Environment" id="Environment_bg05n"]
|
||||
background_mode = 2
|
||||
sky = SubResource("Sky_pka60")
|
||||
|
||||
[sub_resource type="PlaneMesh" id="PlaneMesh_mn2wa"]
|
||||
size = Vector2(50, 50)
|
||||
|
||||
[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_mn2wa"]
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_goufh"]
|
||||
size = Vector3(0.5, 2, 0.5)
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_bg05n"]
|
||||
data = PackedVector3Array(-0.25, 1, 0.25, 0.25, 1, 0.25, -0.25, -1, 0.25, 0.25, 1, 0.25, 0.25, -1, 0.25, -0.25, -1, 0.25, 0.25, 1, -0.25, -0.25, 1, -0.25, 0.25, -1, -0.25, -0.25, 1, -0.25, -0.25, -1, -0.25, 0.25, -1, -0.25, 0.25, 1, 0.25, 0.25, 1, -0.25, 0.25, -1, 0.25, 0.25, 1, -0.25, 0.25, -1, -0.25, 0.25, -1, 0.25, -0.25, 1, -0.25, -0.25, 1, 0.25, -0.25, -1, -0.25, -0.25, 1, 0.25, -0.25, -1, 0.25, -0.25, -1, -0.25, 0.25, 1, 0.25, -0.25, 1, 0.25, 0.25, 1, -0.25, -0.25, 1, 0.25, -0.25, 1, -0.25, 0.25, 1, -0.25, -0.25, -1, 0.25, 0.25, -1, 0.25, -0.25, -1, -0.25, 0.25, -1, 0.25, 0.25, -1, -0.25, -0.25, -1, -0.25)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ibd1t"]
|
||||
albedo_color = Color(0.866667, 0.109804, 0.101961, 1)
|
||||
|
||||
[sub_resource type="SphereMesh" id="SphereMesh_awnx0"]
|
||||
material = SubResource("StandardMaterial3D_ibd1t")
|
||||
radius = 0.2
|
||||
height = 0.4
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_cgmn0"]
|
||||
radius = 0.25
|
||||
|
||||
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_2h3rs"]
|
||||
load_path = "res://.godot/imported/hallway_2_C.png-368e035781dbfc292f80210e8377e1f9.ctex"
|
||||
|
||||
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_powch"]
|
||||
load_path = "res://.godot/imported/hallway_2_M.png-f213557d859a0fe7aab8242b25a4a2c0.ctex"
|
||||
|
||||
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_sh2xs"]
|
||||
load_path = "res://.godot/imported/hallway_2_N.png-6d22130ff0aeb6510ae322aebc31a58e.ctex"
|
||||
|
||||
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_tpfln"]
|
||||
load_path = "res://.godot/imported/hallway_2_R.png-e22266e6db52a2c329569fdae3b64571.ctex"
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_2uiim"]
|
||||
albedo_texture = SubResource("CompressedTexture2D_2h3rs")
|
||||
metallic = 1.0
|
||||
metallic_texture = SubResource("CompressedTexture2D_powch")
|
||||
roughness_texture = SubResource("CompressedTexture2D_tpfln")
|
||||
normal_enabled = true
|
||||
normal_texture = SubResource("CompressedTexture2D_sh2xs")
|
||||
texture_filter = 4
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_0j1ke"]
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-1.5, 0, -6, 3, 3, 12),
|
||||
"format": 34896613377,
|
||||
"index_count": 24,
|
||||
"index_data": PackedByteArray("AAABAAIAAgABAAMAAQAAAAQAAwAFAAIABAAAAAYABwAFAAMABAAGAAcABwAGAAUA"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
"vertex_count": 8,
|
||||
"vertex_data": PackedByteArray("AAAAAAAAAAAAAAAA//8AAAAA//8AAAAAAAD/////AAD//wAA//8AAP////8AAAAA//8AAAAAAAD///////8AAA==")
|
||||
}]
|
||||
blend_shape_mode = 0
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_x2vho"]
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-1.5, 0, -6, 3, 3, 12),
|
||||
"attribute_data": PackedByteArray("AAD/f////38AAP+/////v////z8AAP8///8AAAAAAAD///9/AAD/f////z8AAP8//////wAA//////+/AAD/vw=="),
|
||||
"format": 34896613399,
|
||||
"index_count": 24,
|
||||
"index_data": PackedByteArray("AAABAAIAAgABAAMABAAFAAYABgAFAAcACAAJAAoACgAJAAsADAANAA4ADgANAA8A"),
|
||||
"material": SubResource("StandardMaterial3D_2uiim"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
"vertex_count": 16,
|
||||
"vertex_data": PackedByteArray("AAAAAAAA//8AAAAA/////wAA//8AAP//AAD//////////wAA////v///AAAAAP+//////////7//////AAD/vwAAAAD//1TVAAAAAAAAVNX//wAA//9U1f//AAAAAFTV////////VNX/////AABU1QAA/////1TVAAD//wAAVNX/v/9//7//f/+//3//v/9//3////9/////f////3///6qqqqqqqqqqqqqqqqqqqqqqKlTVqipU1aoqVNWqKlTV")
|
||||
}]
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_0j1ke")
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_qjnj2"]
|
||||
data = PackedVector3Array(-1.5, 0, -6, -1.5, 0, 6, -1.5, 3, -6, -1.5, 3, -6, -1.5, 0, 6, -1.5, 3, 6, 1.5, 0, 6, 1.5, 0, -6, 1.5, 3, 6, 1.5, 3, 6, 1.5, 0, -6, 1.5, 3, -6, -1.5, 0, 6, -1.5, 0, -6, 1.5, 0, 6, 1.5, 0, 6, -1.5, 0, -6, 1.5, 0, -6, 1.5, 3, 6, 1.5, 3, -6, -1.5, 3, 6, -1.5, 3, 6, 1.5, 3, -6, -1.5, 3, -6)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_qjnj2"]
|
||||
size = Vector3(3, 4.24365, 0.1)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_awnx0"]
|
||||
size = Vector3(3, 0.1, 0.354736)
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_qjnj2"]
|
||||
size = Vector3(20, 3, 2)
|
||||
|
||||
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_awnx0"]
|
||||
points = PackedVector3Array(10, 1.5, 1, 10, 1.5, -1, -10, 1.5, 1, 10, -1.5, 1, 10, -1.5, -1, -10, 1.5, -1, -10, -1.5, 1, -10, -1.5, -1)
|
||||
|
||||
[sub_resource type="NavigationMesh" id="NavigationMesh_cgmn0"]
|
||||
vertices = PackedVector3Array(8, 0.411087, 8.74848, 10.25, 0.411087, 8.74848, 10.25, 0.411087, 6.49848, -5, 0.411087, -4.75152, -5, 3.16109, -7.75152, -6.25, 3.16109, -7.75152, -6.25, 0.411087, -3.75152, -5, 0.911087, -5.75152, -6.25, 0.411087, -5.08485, 2, 0.411087, 8.74848, 10.25, 0.411087, 4.49848, 10.25, 0.411087, 0.498482, 6.75, 0.411087, -7.75152, -3, 0.411087, -4.75152, -6.25, 0.411087, 4.49848, -4.5, 0.411087, -4.25152, -6.25, 0.411087, -1.75152, -0.25, 0.411087, 8.74848, 0.25, 0.411087, -7.75152, -3, 0.411087, -7.75152, -6.25, 0.411087, 0.498482, -6.25, 0.411087, 6.49848, -6.25, 0.411087, 8.74848, -2.25, 0.411087, 8.74848, 6, 0.411087, 8.74848, 10.25, 0.411087, -3.75152, 10.25, 0.411087, -7.75152, 10.25, 0.411087, -1.75152, 3.5, 0.411087, -7.75152)
|
||||
polygons = [PackedInt32Array(2, 1, 0), PackedInt32Array(6, 8, 3), PackedInt32Array(3, 8, 7), PackedInt32Array(7, 8, 4), PackedInt32Array(4, 8, 5), PackedInt32Array(10, 9, 11), PackedInt32Array(11, 9, 12), PackedInt32Array(12, 9, 13), PackedInt32Array(13, 9, 14), PackedInt32Array(3, 15, 6), PackedInt32Array(6, 15, 16), PackedInt32Array(9, 17, 14), PackedInt32Array(13, 19, 18), PackedInt32Array(15, 13, 16), PackedInt32Array(16, 13, 20), PackedInt32Array(23, 22, 21), PackedInt32Array(2, 0, 24), PackedInt32Array(12, 26, 25), PackedInt32Array(21, 14, 23), PackedInt32Array(23, 14, 17), PackedInt32Array(2, 24, 10), PackedInt32Array(10, 24, 9), PackedInt32Array(14, 20, 13), PackedInt32Array(12, 25, 27), PackedInt32Array(13, 18, 28), PackedInt32Array(13, 28, 12), PackedInt32Array(12, 27, 11)]
|
||||
geometry_parsed_geometry_type = 1
|
||||
geometry_collision_mask = 4278190081
|
||||
agent_height = 2.0
|
||||
agent_radius = 0.75
|
||||
region_min_size = 14.0
|
||||
edge_max_length = 4.0
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_6frcc"]
|
||||
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)
|
||||
|
||||
[node name="MechanicTest" type="Node3D"]
|
||||
script = ExtResource("1_iyuyb")
|
||||
id = "mechanic_test"
|
||||
pretty_name = "Mechanics Test Sandbox"
|
||||
|
||||
[node name="Player" parent="." instance=ExtResource("2_qjnj2")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.65, 0)
|
||||
|
||||
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
|
||||
transform = Transform3D(0.866025, -0.156955, -0.474726, 0.5, 0.271854, 0.82225, 0, -0.949453, 0.31391, 0, 0, 0)
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||||
environment = SubResource("Environment_bg05n")
|
||||
|
||||
[node name="WorldFloor" type="StaticBody3D" parent="." groups=["PlasticMaterial"]]
|
||||
collision_layer = 5
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="WorldFloor"]
|
||||
mesh = SubResource("PlaneMesh_mn2wa")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="WorldFloor"]
|
||||
shape = SubResource("WorldBoundaryShape3D_mn2wa")
|
||||
|
||||
[node name="ResetPodium" type="StaticBody3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, -2)
|
||||
collision_layer = 5
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="ResetPodium"]
|
||||
mesh = SubResource("BoxMesh_goufh")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ResetPodium"]
|
||||
shape = SubResource("ConcavePolygonShape3D_bg05n")
|
||||
|
||||
[node name="ResetSwitch" parent="ResetPodium" instance=ExtResource("3_awnx0")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0.35)
|
||||
clean = true
|
||||
|
||||
[node name="Label3D" type="Label3D" parent="ResetPodium"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9, 0.3)
|
||||
text = "RESET"
|
||||
|
||||
[node name="NoduleSpawner" type="StaticBody3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.5, 1, -6)
|
||||
collision_layer = 5
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="NoduleSpawner"]
|
||||
mesh = SubResource("BoxMesh_goufh")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="NoduleSpawner"]
|
||||
shape = SubResource("ConcavePolygonShape3D_bg05n")
|
||||
|
||||
[node name="ButtonMesh" type="MeshInstance3D" parent="NoduleSpawner"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0.25)
|
||||
mesh = SubResource("SphereMesh_awnx0")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="InteractiveBody" type="StaticBody3D" parent="NoduleSpawner/ButtonMesh"]
|
||||
collision_layer = 2
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="NoduleSpawner/ButtonMesh/InteractiveBody"]
|
||||
shape = SubResource("SphereShape3D_cgmn0")
|
||||
|
||||
[node name="Interactive" type="Node" parent="NoduleSpawner/ButtonMesh/InteractiveBody"]
|
||||
script = ExtResource("4_qjnj2")
|
||||
enabled = true
|
||||
label = "Level"
|
||||
verb = "spawn nodule"
|
||||
metadata/_custom_type_script = "uid://deg5xd87cy8rg"
|
||||
|
||||
[node name="Label3D" type="Label3D" parent="NoduleSpawner"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0.3)
|
||||
text = "Spawn
|
||||
Nodule"
|
||||
|
||||
[node name="NoduleSpawnPoint" type="Marker3D" parent="NoduleSpawner"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -3)
|
||||
|
||||
[node name="AlarmSpawner" type="StaticBody3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 1, -6)
|
||||
collision_layer = 5
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="AlarmSpawner"]
|
||||
mesh = SubResource("BoxMesh_goufh")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="AlarmSpawner"]
|
||||
shape = SubResource("ConcavePolygonShape3D_bg05n")
|
||||
|
||||
[node name="Label3D" type="Label3D" parent="AlarmSpawner"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0.3)
|
||||
text = "Spawn
|
||||
Alarm"
|
||||
|
||||
[node name="AlarmSpawnPoint" type="Marker3D" parent="AlarmSpawner"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.7, -4)
|
||||
|
||||
[node name="ButtonMesh" type="MeshInstance3D" parent="AlarmSpawner"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0.25)
|
||||
mesh = SubResource("SphereMesh_awnx0")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="InteractiveBody" type="StaticBody3D" parent="AlarmSpawner/ButtonMesh"]
|
||||
collision_layer = 2
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="AlarmSpawner/ButtonMesh/InteractiveBody"]
|
||||
shape = SubResource("SphereShape3D_cgmn0")
|
||||
|
||||
[node name="Interactive" type="Node" parent="AlarmSpawner/ButtonMesh/InteractiveBody"]
|
||||
script = ExtResource("4_qjnj2")
|
||||
enabled = true
|
||||
label = "Level"
|
||||
verb = "spawn alarm"
|
||||
metadata/_custom_type_script = "uid://deg5xd87cy8rg"
|
||||
|
||||
[node name="GunkHall" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, -31)
|
||||
mesh = SubResource("ArrayMesh_x2vho")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="GunkHall"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="GunkHall/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_qjnj2")
|
||||
|
||||
[node name="Gunkable" parent="GunkHall/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("8_awnx0")]
|
||||
unique_name_in_owner = true
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
initial_mask = ExtResource("5_aix42")
|
||||
source_gunk_material = ExtResource("7_qjnj2")
|
||||
|
||||
[node name="Bulkhead" parent="." instance=ExtResource("8_ujrcv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.5, 0, -2)
|
||||
|
||||
[node name="Podium" type="StaticBody3D" parent="Bulkhead"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1, 0)
|
||||
collision_layer = 5
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="Bulkhead/Podium"]
|
||||
mesh = SubResource("BoxMesh_goufh")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Bulkhead/Podium"]
|
||||
shape = SubResource("ConcavePolygonShape3D_bg05n")
|
||||
|
||||
[node name="OpenSwitch" parent="Bulkhead/Podium" instance=ExtResource("3_awnx0")]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0.35)
|
||||
clean = true
|
||||
|
||||
[node name="Label3D" type="Label3D" parent="Bulkhead/Podium"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9, 0.3)
|
||||
text = "Open"
|
||||
|
||||
[node name="Podium2" type="StaticBody3D" parent="Bulkhead"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 1, 0)
|
||||
collision_layer = 5
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="Bulkhead/Podium2"]
|
||||
mesh = SubResource("BoxMesh_goufh")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Bulkhead/Podium2"]
|
||||
shape = SubResource("ConcavePolygonShape3D_bg05n")
|
||||
|
||||
[node name="CloseSwitch" parent="Bulkhead/Podium2" instance=ExtResource("3_awnx0")]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0.35)
|
||||
clean = true
|
||||
enabled = false
|
||||
|
||||
[node name="Label3D" type="Label3D" parent="Bulkhead/Podium2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9, 0.3)
|
||||
text = "Close"
|
||||
|
||||
[node name="SignalTestSpawnPoint" type="Marker3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.5, 0, -6)
|
||||
|
||||
[node name="SignalTest" parent="SignalTestSpawnPoint" instance=ExtResource("9_ix0jw")]
|
||||
|
||||
[node name="PropTestSpawnPoint" type="Marker3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 0, 4.5)
|
||||
|
||||
[node name="PropTest" parent="PropTestSpawnPoint" instance=ExtResource("10_xrfi2")]
|
||||
|
||||
[node name="ItemTestSpawnPoint" type="Marker3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13, 0, -2)
|
||||
|
||||
[node name="ItemTest" parent="ItemTestSpawnPoint" instance=ExtResource("11_8natv")]
|
||||
|
||||
[node name="Listener" parent="." instance=ExtResource("13_awnx0")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.5, 0, -6.5)
|
||||
|
||||
[node name="BeastPit" type="Node3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.001, 26)
|
||||
|
||||
[node name="Structure" type="Node3D" parent="BeastPit"]
|
||||
|
||||
[node name="Stairs" type="Node3D" parent="BeastPit/Structure"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.200001)
|
||||
|
||||
[node name="Steps" type="CSGCombiner3D" parent="BeastPit/Structure/Stairs"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2.7)
|
||||
use_collision = true
|
||||
collision_layer = 68
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CSGBox3D" type="CSGBox3D" parent="BeastPit/Structure/Stairs/Steps"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1.8)
|
||||
size = Vector3(3, 0.1, 0.4)
|
||||
|
||||
[node name="CSGBox3D2" type="CSGBox3D" parent="BeastPit/Structure/Stairs/Steps"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.3, -1.5)
|
||||
size = Vector3(3, 0.1, 0.4)
|
||||
|
||||
[node name="CSGBox3D3" type="CSGBox3D" parent="BeastPit/Structure/Stairs/Steps"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.6, -1.2)
|
||||
size = Vector3(3, 0.1, 0.4)
|
||||
|
||||
[node name="CSGBox3D4" type="CSGBox3D" parent="BeastPit/Structure/Stairs/Steps"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9, -0.899994)
|
||||
size = Vector3(3, 0.1, 0.4)
|
||||
|
||||
[node name="CSGBox3D5" type="CSGBox3D" parent="BeastPit/Structure/Stairs/Steps"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.2, -0.599991)
|
||||
size = Vector3(3, 0.1, 0.4)
|
||||
|
||||
[node name="CSGBox3D6" type="CSGBox3D" parent="BeastPit/Structure/Stairs/Steps"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, -0.299988)
|
||||
size = Vector3(3, 0.1, 0.4)
|
||||
|
||||
[node name="CSGBox3D7" type="CSGBox3D" parent="BeastPit/Structure/Stairs/Steps"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.8, 1.52588e-05)
|
||||
size = Vector3(3, 0.1, 0.4)
|
||||
|
||||
[node name="CSGBox3D8" type="CSGBox3D" parent="BeastPit/Structure/Stairs/Steps"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.1, 0.300018)
|
||||
size = Vector3(3, 0.1, 0.4)
|
||||
|
||||
[node name="CSGBox3D9" type="CSGBox3D" parent="BeastPit/Structure/Stairs/Steps"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.4, 0.600021)
|
||||
size = Vector3(3, 0.1, 0.4)
|
||||
|
||||
[node name="CSGBox3D10" type="CSGBox3D" parent="BeastPit/Structure/Stairs/Steps"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.7, 0.900024)
|
||||
size = Vector3(3, 0.1, 0.4)
|
||||
|
||||
[node name="CSGBox3D11" type="CSGBox3D" parent="BeastPit/Structure/Stairs/Steps"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.95, 1.25045)
|
||||
size = Vector3(3, 0.1, 0.5)
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="BeastPit/Structure/Stairs/Steps"]
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastPit/Structure/Stairs/Steps/StaticBody3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.707107, -0.707107, 0, 0.707107, 0.707107, 0, 1.4468, -0.353196)
|
||||
shape = SubResource("BoxShape3D_qjnj2")
|
||||
|
||||
[node name="CollisionShape3D2" type="CollisionShape3D" parent="BeastPit/Structure/Stairs/Steps/StaticBody3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.95, 1.32415)
|
||||
shape = SubResource("BoxShape3D_awnx0")
|
||||
|
||||
[node name="Bannister" type="CSGCombiner3D" parent="BeastPit/Structure/Stairs"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2.7)
|
||||
use_collision = true
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CSGBox3D12" type="CSGBox3D" parent="BeastPit/Structure/Stairs/Bannister"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0.5, -1.8)
|
||||
size = Vector3(0.1, 1, 0.2)
|
||||
|
||||
[node name="CSGBox3D13" type="CSGBox3D" parent="BeastPit/Structure/Stairs/Bannister"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 3.5, 1.2)
|
||||
size = Vector3(0.1, 1, 0.2)
|
||||
|
||||
[node name="CSGBox3D14" type="CSGBox3D" parent="BeastPit/Structure/Stairs/Bannister"]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.707107, -0.707107, 0, 0.707107, 0.707107, -1.5, 2.42865, -0.329697)
|
||||
size = Vector3(0.1, 4.23, 0.2)
|
||||
|
||||
[node name="Bannister2" type="CSGCombiner3D" parent="BeastPit/Structure/Stairs"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, -2.7)
|
||||
use_collision = true
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CSGBox3D12" type="CSGBox3D" parent="BeastPit/Structure/Stairs/Bannister2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0.5, -1.8)
|
||||
size = Vector3(0.1, 1, 0.2)
|
||||
|
||||
[node name="CSGBox3D13" type="CSGBox3D" parent="BeastPit/Structure/Stairs/Bannister2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 3.5, 1.2)
|
||||
size = Vector3(0.1, 1, 0.2)
|
||||
|
||||
[node name="CSGBox3D14" type="CSGBox3D" parent="BeastPit/Structure/Stairs/Bannister2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.707107, -0.707107, 0, 0.707107, 0.707107, -1.5, 2.42865, -0.329697)
|
||||
size = Vector3(0.1, 4.23, 0.2)
|
||||
|
||||
[node name="Walls" type="Node3D" parent="BeastPit/Structure"]
|
||||
|
||||
[node name="Wall" type="MeshInstance3D" parent="BeastPit/Structure/Walls"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1.5, 0)
|
||||
mesh = SubResource("BoxMesh_qjnj2")
|
||||
skeleton = NodePath("../../..")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="BeastPit/Structure/Walls/Wall"]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastPit/Structure/Walls/Wall/StaticBody3D"]
|
||||
shape = SubResource("ConvexPolygonShape3D_awnx0")
|
||||
|
||||
[node name="Wall4" type="MeshInstance3D" parent="BeastPit/Structure/Walls"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 1.5, 20)
|
||||
mesh = SubResource("BoxMesh_qjnj2")
|
||||
skeleton = NodePath("../../..")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="BeastPit/Structure/Walls/Wall4"]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastPit/Structure/Walls/Wall4/StaticBody3D"]
|
||||
shape = SubResource("ConvexPolygonShape3D_awnx0")
|
||||
|
||||
[node name="Wall2" type="MeshInstance3D" parent="BeastPit/Structure/Walls"]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -8, 1.5, 11)
|
||||
mesh = SubResource("BoxMesh_qjnj2")
|
||||
skeleton = NodePath("../../..")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="BeastPit/Structure/Walls/Wall2"]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastPit/Structure/Walls/Wall2/StaticBody3D"]
|
||||
shape = SubResource("ConvexPolygonShape3D_awnx0")
|
||||
|
||||
[node name="Wall3" type="MeshInstance3D" parent="BeastPit/Structure/Walls"]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 12, 1.5, 9)
|
||||
mesh = SubResource("BoxMesh_qjnj2")
|
||||
skeleton = NodePath("../../..")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="BeastPit/Structure/Walls/Wall3"]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastPit/Structure/Walls/Wall3/StaticBody3D"]
|
||||
shape = SubResource("ConvexPolygonShape3D_awnx0")
|
||||
|
||||
[node name="NavigationRegion3D" type="NavigationRegion3D" parent="BeastPit/Structure"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 9.5)
|
||||
navigation_mesh = SubResource("NavigationMesh_cgmn0")
|
||||
|
||||
[node name="Floor" type="MeshInstance3D" parent="BeastPit/Structure/NavigationRegion3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.5, 0, -4)
|
||||
mesh = ExtResource("13_aix42")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="BeastPit/Structure/NavigationRegion3D/Floor"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastPit/Structure/NavigationRegion3D/Floor/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_6frcc")
|
||||
|
||||
[node name="Gunkable" parent="BeastPit/Structure/NavigationRegion3D/Floor/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("8_awnx0")]
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("7_qjnj2")
|
||||
|
||||
[node name="Floor2" type="MeshInstance3D" parent="BeastPit/Structure/NavigationRegion3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.5, 0, -4)
|
||||
mesh = ExtResource("13_aix42")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="BeastPit/Structure/NavigationRegion3D/Floor2"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastPit/Structure/NavigationRegion3D/Floor2/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_6frcc")
|
||||
|
||||
[node name="Gunkable" parent="BeastPit/Structure/NavigationRegion3D/Floor2/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("8_awnx0")]
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("7_qjnj2")
|
||||
|
||||
[node name="Floor3" type="MeshInstance3D" parent="BeastPit/Structure/NavigationRegion3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.5, 0, 5)
|
||||
mesh = ExtResource("13_aix42")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="BeastPit/Structure/NavigationRegion3D/Floor3"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastPit/Structure/NavigationRegion3D/Floor3/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_6frcc")
|
||||
|
||||
[node name="Gunkable" parent="BeastPit/Structure/NavigationRegion3D/Floor3/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("8_awnx0")]
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("7_qjnj2")
|
||||
|
||||
[node name="Floor4" type="MeshInstance3D" parent="BeastPit/Structure/NavigationRegion3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.5, 0, 5)
|
||||
mesh = ExtResource("13_aix42")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="BeastPit/Structure/NavigationRegion3D/Floor4"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastPit/Structure/NavigationRegion3D/Floor4/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_6frcc")
|
||||
|
||||
[node name="Gunkable" parent="BeastPit/Structure/NavigationRegion3D/Floor4/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("8_awnx0")]
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("7_qjnj2")
|
||||
|
||||
[node name="Spawners" type="Node3D" parent="BeastPit/Structure/NavigationRegion3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -9.5)
|
||||
|
||||
[node name="FloorSpawner" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("13_cgmn0")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4.5)
|
||||
|
||||
[node name="TransientFloorSpawner" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 13)
|
||||
|
||||
[node name="TransientFloorSpawner2" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 0, 15)
|
||||
|
||||
[node name="TransientFloorSpawner3" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.5, 0, 14.5)
|
||||
|
||||
[node name="TransientFloorSpawner4" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, 16)
|
||||
|
||||
[node name="TransientFloorSpawner5" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.5, 0, 16.5)
|
||||
|
||||
[node name="TransientFloorSpawner6" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, 17)
|
||||
|
||||
[node name="TransientFloorSpawner7" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 0, 16.5)
|
||||
|
||||
[node name="TransientFloorSpawner8" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 16)
|
||||
|
||||
[node name="TransientFloorSpawner9" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 14.5)
|
||||
|
||||
[node name="TransientFloorSpawner10" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 14)
|
||||
|
||||
[node name="TransientFloorSpawner11" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.5, 0, 14.5)
|
||||
|
||||
[node name="TransientFloorSpawner12" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 16.5)
|
||||
|
||||
[node name="TransientFloorSpawner13" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, 17.5)
|
||||
|
||||
[node name="TransientFloorSpawner14" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, 15.5)
|
||||
|
||||
[node name="TransientFloorSpawner15" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0, 17.5)
|
||||
|
||||
[node name="TransientFloorSpawner16" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 16.5)
|
||||
|
||||
[node name="TransientFloorSpawner17" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 14.5)
|
||||
|
||||
[node name="TransientFloorSpawner18" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.5, 0, 17.5)
|
||||
|
||||
[node name="TransientFloorSpawner19" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.5, 0, 15.5)
|
||||
|
||||
[node name="TransientFloorSpawner20" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 16.5)
|
||||
|
||||
[node name="TransientFloorSpawner21" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 14.5)
|
||||
|
||||
[node name="TransientFloorSpawner22" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.5, 0, 13.5)
|
||||
|
||||
[node name="TransientFloorSpawner23" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 13.5)
|
||||
|
||||
[node name="TransientFloorSpawner24" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 12.5)
|
||||
|
||||
[node name="TransientFloorSpawner25" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 0, 12)
|
||||
|
||||
[node name="TransientFloorSpawner26" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, 12)
|
||||
|
||||
[node name="TransientFloorSpawner27" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 0, 13.5)
|
||||
|
||||
[node name="TransientFloorSpawner28" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 0, 16)
|
||||
|
||||
[node name="TransientFloorSpawner29" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 11)
|
||||
|
||||
[node name="TransientFloorSpawner30" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.5, 0, 11.5)
|
||||
|
||||
[node name="TransientFloorSpawner31" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.5, 0, 12)
|
||||
|
||||
[node name="TransientFloorSpawner32" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 11.5)
|
||||
|
||||
[node name="TransientFloorSpawner33" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8.5, 0, 10)
|
||||
|
||||
[node name="TransientFloorSpawner34" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 12)
|
||||
|
||||
[node name="TransientFloorSpawner35" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 0, 11.5)
|
||||
|
||||
[node name="TransientFloorSpawner36" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.5, 0, 11)
|
||||
|
||||
[node name="TransientFloorSpawner37" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 10.5)
|
||||
|
||||
[node name="TransientFloorSpawner38" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.5, 0, 10)
|
||||
|
||||
[node name="TransientFloorSpawner39" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 10)
|
||||
|
||||
[node name="TransientFloorSpawner40" parent="BeastPit/Structure/NavigationRegion3D/Spawners" instance=ExtResource("15_6frcc")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0, 9.5)
|
||||
|
||||
[node name="Stairs2" type="Node3D" parent="BeastPit/Structure/NavigationRegion3D"]
|
||||
transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -5.5, 0, -9.7)
|
||||
|
||||
[node name="Steps" type="CSGCombiner3D" parent="BeastPit/Structure/NavigationRegion3D/Stairs2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2.7)
|
||||
use_collision = true
|
||||
collision_layer = 68
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CSGBox3D" type="CSGBox3D" parent="BeastPit/Structure/NavigationRegion3D/Stairs2/Steps"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1.8)
|
||||
size = Vector3(3, 0.1, 0.4)
|
||||
|
||||
[node name="CSGBox3D2" type="CSGBox3D" parent="BeastPit/Structure/NavigationRegion3D/Stairs2/Steps"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.3, -1.5)
|
||||
size = Vector3(3, 0.1, 0.4)
|
||||
|
||||
[node name="CSGBox3D3" type="CSGBox3D" parent="BeastPit/Structure/NavigationRegion3D/Stairs2/Steps"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.6, -1.2)
|
||||
size = Vector3(3, 0.1, 0.4)
|
||||
|
||||
[node name="CSGBox3D4" type="CSGBox3D" parent="BeastPit/Structure/NavigationRegion3D/Stairs2/Steps"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9, -0.899994)
|
||||
size = Vector3(3, 0.1, 0.4)
|
||||
|
||||
[node name="CSGBox3D5" type="CSGBox3D" parent="BeastPit/Structure/NavigationRegion3D/Stairs2/Steps"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.2, -0.599991)
|
||||
size = Vector3(3, 0.1, 0.4)
|
||||
|
||||
[node name="CSGBox3D6" type="CSGBox3D" parent="BeastPit/Structure/NavigationRegion3D/Stairs2/Steps"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, -0.299988)
|
||||
size = Vector3(3, 0.1, 0.4)
|
||||
|
||||
[node name="CSGBox3D7" type="CSGBox3D" parent="BeastPit/Structure/NavigationRegion3D/Stairs2/Steps"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.8, 1.52588e-05)
|
||||
size = Vector3(3, 0.1, 0.4)
|
||||
|
||||
[node name="CSGBox3D8" type="CSGBox3D" parent="BeastPit/Structure/NavigationRegion3D/Stairs2/Steps"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.1, 0.300018)
|
||||
size = Vector3(3, 0.1, 0.4)
|
||||
|
||||
[node name="CSGBox3D9" type="CSGBox3D" parent="BeastPit/Structure/NavigationRegion3D/Stairs2/Steps"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.4, 0.600021)
|
||||
size = Vector3(3, 0.1, 0.4)
|
||||
|
||||
[node name="CSGBox3D10" type="CSGBox3D" parent="BeastPit/Structure/NavigationRegion3D/Stairs2/Steps"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.7, 0.900024)
|
||||
size = Vector3(3, 0.1, 0.4)
|
||||
|
||||
[node name="CSGBox3D11" type="CSGBox3D" parent="BeastPit/Structure/NavigationRegion3D/Stairs2/Steps"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.95, 1.25045)
|
||||
size = Vector3(3, 0.1, 0.5)
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="BeastPit/Structure/NavigationRegion3D/Stairs2/Steps"]
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastPit/Structure/NavigationRegion3D/Stairs2/Steps/StaticBody3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.707107, -0.707107, 0, 0.707107, 0.707107, 0, 1.4468, -0.353196)
|
||||
shape = SubResource("BoxShape3D_qjnj2")
|
||||
|
||||
[node name="CollisionShape3D2" type="CollisionShape3D" parent="BeastPit/Structure/NavigationRegion3D/Stairs2/Steps/StaticBody3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.95, 1.32415)
|
||||
shape = SubResource("BoxShape3D_awnx0")
|
||||
|
||||
[node name="Bannister" type="CSGCombiner3D" parent="BeastPit/Structure/NavigationRegion3D/Stairs2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2.7)
|
||||
use_collision = true
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CSGBox3D12" type="CSGBox3D" parent="BeastPit/Structure/NavigationRegion3D/Stairs2/Bannister"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0.5, -1.8)
|
||||
size = Vector3(0.1, 1, 0.2)
|
||||
|
||||
[node name="CSGBox3D13" type="CSGBox3D" parent="BeastPit/Structure/NavigationRegion3D/Stairs2/Bannister"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 3.5, 1.2)
|
||||
size = Vector3(0.1, 1, 0.2)
|
||||
|
||||
[node name="CSGBox3D14" type="CSGBox3D" parent="BeastPit/Structure/NavigationRegion3D/Stairs2/Bannister"]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.707107, -0.707107, 0, 0.707107, 0.707107, -1.5, 2.42865, -0.329697)
|
||||
size = Vector3(0.1, 4.23, 0.2)
|
||||
|
||||
[node name="SpawnTrigger" type="StaticBody3D" parent="BeastPit"]
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 2, 4, 0.75)
|
||||
collision_layer = 5
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="BeastPit/SpawnTrigger"]
|
||||
mesh = SubResource("BoxMesh_goufh")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastPit/SpawnTrigger"]
|
||||
shape = SubResource("ConcavePolygonShape3D_bg05n")
|
||||
|
||||
[node name="Label3D" type="Label3D" parent="BeastPit/SpawnTrigger"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0.3)
|
||||
text = "Spawn
|
||||
Beast"
|
||||
|
||||
[node name="ButtonMesh" type="MeshInstance3D" parent="BeastPit/SpawnTrigger"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0.25)
|
||||
mesh = SubResource("SphereMesh_awnx0")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="InteractiveBody" type="StaticBody3D" parent="BeastPit/SpawnTrigger/ButtonMesh"]
|
||||
collision_layer = 2
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastPit/SpawnTrigger/ButtonMesh/InteractiveBody"]
|
||||
shape = SubResource("SphereShape3D_cgmn0")
|
||||
|
||||
[node name="Interactive" type="Node" parent="BeastPit/SpawnTrigger/ButtonMesh/InteractiveBody"]
|
||||
script = ExtResource("4_qjnj2")
|
||||
enabled = true
|
||||
label = "Level"
|
||||
verb = "spawn beast"
|
||||
metadata/_custom_type_script = "uid://deg5xd87cy8rg"
|
||||
|
||||
[node name="PhysCrateLong" parent="." instance=ExtResource("15_aix42")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.5, 0.5, 24)
|
||||
|
||||
[connection signal="activated" from="ResetPodium/ResetSwitch" to="." method="reset"]
|
||||
[connection signal="activated" from="NoduleSpawner/ButtonMesh/InteractiveBody/Interactive" to="." method="spawn_nodule"]
|
||||
[connection signal="activated" from="AlarmSpawner/ButtonMesh/InteractiveBody/Interactive" to="." method="spawn_alarm"]
|
||||
[connection signal="activated" from="Bulkhead/Podium/OpenSwitch" to="Bulkhead" method="open"]
|
||||
[connection signal="activated" from="Bulkhead/Podium/OpenSwitch" to="Bulkhead/Podium/OpenSwitch" method="disable"]
|
||||
[connection signal="activated" from="Bulkhead/Podium/OpenSwitch" to="Bulkhead/Podium2/CloseSwitch" method="enable"]
|
||||
[connection signal="activated" from="Bulkhead/Podium2/CloseSwitch" to="Bulkhead" method="close"]
|
||||
[connection signal="activated" from="Bulkhead/Podium2/CloseSwitch" to="Bulkhead/Podium/OpenSwitch" method="enable"]
|
||||
[connection signal="activated" from="Bulkhead/Podium2/CloseSwitch" to="Bulkhead/Podium2/CloseSwitch" method="disable"]
|
||||
[connection signal="activated" from="BeastPit/SpawnTrigger/ButtonMesh/InteractiveBody/Interactive" to="." method="spawn_beast"]
|
@ -339,6 +339,10 @@ environment = SubResource("Environment_pwykw")
|
||||
|
||||
[node name="GrunkBeast" parent="." instance=ExtResource("2_1lom2")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.7, 1.5, -18.3)
|
||||
spawn_on_load = null
|
||||
anger_level = null
|
||||
point_of_interest = null
|
||||
debug_destroy = null
|
||||
|
||||
[node name="NavigationRegion3D" type="NavigationRegion3D" parent="."]
|
||||
navigation_mesh = SubResource("NavigationMesh_hv7qb")
|
@ -1,10 +1,10 @@
|
||||
[gd_scene load_steps=61 format=4 uid="uid://dc4tts6342cuj"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dmbdkydqnbyqv" path="res://levels/prop_test/prop_test.gd" id="1_ibd1t"]
|
||||
[ext_resource type="Script" uid="uid://dmbdkydqnbyqv" path="res://levels/testing/prop_test/prop_test.gd" id="1_ibd1t"]
|
||||
[ext_resource type="PackedScene" uid="uid://bwe2jdmvinhqd" path="res://src/player/player.tscn" id="1_ml0ka"]
|
||||
[ext_resource type="Environment" uid="uid://bkvij3ljl5ox3" path="res://levels/ghost_ship/environment_3.tres" id="2_qnhar"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://dpr5cgq743f4s" path="res://assets/level/floor/floor_9x9.mesh" id="2_x6l7l"]
|
||||
[ext_resource type="Environment" uid="uid://iqhvx1couqcf" path="res://levels/prop_test/debug_environment.tres" id="3_mvw32"]
|
||||
[ext_resource type="Environment" uid="uid://iqhvx1couqcf" path="res://levels/testing/prop_test/debug_environment.tres" id="3_mvw32"]
|
||||
[ext_resource type="PackedScene" uid="uid://cubwniraol1qn" path="res://src/props/bulkhead/bulkhead.tscn" id="4_g7cgy"]
|
||||
[ext_resource type="PackedScene" uid="uid://b6eg8t04rkh0c" path="res://src/props/wall_switch/wall_switch.tscn" id="5_y13lv"]
|
||||
[ext_resource type="PackedScene" uid="uid://cvx5u0ttmri4q" path="res://src/props/sofa/static_sofa.tscn" id="6_kccq3"]
|
@ -108,7 +108,7 @@ gameplay/beast/anger_max=150.0
|
||||
gameplay/beast/anger_decay_rate=1.0
|
||||
gameplay/beast/anger_noise=10.0
|
||||
gameplay/beast/anger_noise_near=30.0
|
||||
gameplay/beast/provocation_range=4.8
|
||||
gameplay/beast/provocation_range=5.5
|
||||
gameplay/beast/anger_alarm=60.0
|
||||
gameplay/beast/anger_alarm_extra=60.0
|
||||
gameplay/beast/anger_touch=35.0
|
||||
@ -128,7 +128,6 @@ gameplay/beast/anger_threshold_pounce=140.0
|
||||
|
||||
MetalMaterial="This surface is made of metal."
|
||||
PlasticMaterial="This surface is made of plastic."
|
||||
MeetSpookSource="meet-spook event sources"
|
||||
LurkPoint="Point which a lurking beast may wander to."
|
||||
BeastSpawnPoint="Spawn point for a grunkbeast"
|
||||
GrunkBeast="GrunkBeast instances."
|
||||
@ -260,6 +259,9 @@ locale/translations=PackedStringArray("res://assets/text/text.en.translation")
|
||||
3d_physics/layer_5="GameSounds"
|
||||
3d_physics/layer_6="Player Physics"
|
||||
3d_physics/layer_7="Prop Physics"
|
||||
3d_physics/layer_8="Beam Passthrough"
|
||||
3d_physics/layer_9="Beast Spawn Zones"
|
||||
3d_physics/layer_10="Beast Spawn Exclusion"
|
||||
|
||||
[physics]
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://5y7gcq6igjpf"]
|
||||
|
||||
[ext_resource type="AudioStream" uid="uid://pltp1s1x8q6u" path="res://assets/sfx/tools/beam_loop.wav" id="1_hbyr8"]
|
||||
[ext_resource type="Script" uid="uid://7mp6lj3f6srq" path="res://src/equipment/beam_sfx/beam_sfx.gd" id="2_qwosj"]
|
||||
[ext_resource type="Script" uid="uid://7mp6lj3f6srq" path="res://src/equipment/beam/beam_sfx/beam_sfx.gd" id="2_qwosj"]
|
||||
|
||||
[node name="BeamSFX" type="AudioStreamPlayer3D"]
|
||||
stream = ExtResource("1_hbyr8")
|
@ -1,7 +1,7 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://btq11kil0jcql"]
|
||||
|
||||
[ext_resource type="AudioStream" uid="uid://b5ik76jgl8mex" path="res://assets/sfx/tools/spray.wav" id="1_575yt"]
|
||||
[ext_resource type="Script" uid="uid://bhvkgqpm7sglw" path="res://src/equipment/beam_sfx/spray_sfx.gd" id="2_yajv7"]
|
||||
[ext_resource type="Script" uid="uid://bhvkgqpm7sglw" path="res://src/equipment/beam/beam_sfx/spray_sfx.gd" id="2_yajv7"]
|
||||
[ext_resource type="Script" uid="uid://c5o1d2shq2qig" path="res://src/world/game_sound/game_sound_emitter.gd" id="3_rikqc"]
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_yaakk"]
|
@ -23,6 +23,7 @@ func _process(_delta: float) -> void:
|
||||
if is_colliding() and parent_tool.firing:
|
||||
var child_pos := get_collision_point() + get_collision_normal() * NORMAL_OFFSET
|
||||
for c: Node in get_children():
|
||||
# Beam passthrough should not be repositioned
|
||||
if c is Node3D:
|
||||
(c as Node3D).global_position = child_pos
|
||||
|
@ -1,8 +1,8 @@
|
||||
[gd_scene load_steps=6 format=3 uid="uid://b8vradbaw61ga"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bqgi5p5nh6k1l" path="res://src/equipment/laser_cast/laser_cast.gd" id="1_xntcr"]
|
||||
[ext_resource type="Script" uid="uid://bqgi5p5nh6k1l" path="res://src/equipment/beam/laser_cast/laser_cast.gd" id="1_xntcr"]
|
||||
[ext_resource type="PackedScene" uid="uid://oc6t5ubyybsa" path="res://src/effects/laser_dust.tscn" id="2_m5xmf"]
|
||||
[ext_resource type="Script" uid="uid://br7war1wh7wfd" path="res://src/equipment/laser_cast/flicker_light.gd" id="3_bkg64"]
|
||||
[ext_resource type="Script" uid="uid://br7war1wh7wfd" path="res://src/equipment/beam/laser_cast/flicker_light.gd" id="3_bkg64"]
|
||||
[ext_resource type="PackedScene" uid="uid://c3iv00vmdqxp0" path="res://src/effects/grunk_dust/grunk_dust.tscn" id="4_ekmqg"]
|
||||
[ext_resource type="Script" uid="uid://b88k7m1mwrd0v" path="res://src/effects/grunk_dust/grunk_dust.gd" id="5_r1geq"]
|
||||
|
@ -1,12 +1,12 @@
|
||||
[gd_scene load_steps=17 format=3 uid="uid://cc102xko0u6yj"]
|
||||
[gd_scene load_steps=18 format=3 uid="uid://cc102xko0u6yj"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dngia2ldbccv7" path="res://src/equipment/point_spray/point_spray.gd" id="1_2yl2v"]
|
||||
[ext_resource type="Script" uid="uid://dngia2ldbccv7" path="res://src/equipment/beam/point_spray/point_spray.gd" id="1_2yl2v"]
|
||||
[ext_resource type="Material" uid="uid://c00gndxoepuqh" path="res://assets/materials/laser_spray.tres" id="2_0pfy3"]
|
||||
[ext_resource type="Texture2D" uid="uid://bn0gcsy37ahto" path="res://assets/ui/hud/reticle_large.png" id="2_qcl8j"]
|
||||
[ext_resource type="PackedScene" uid="uid://btq11kil0jcql" path="res://src/equipment/beam_sfx/spray_sfx.tscn" id="3_5h54c"]
|
||||
[ext_resource type="PackedScene" uid="uid://b8vradbaw61ga" path="res://src/equipment/laser_cast/laser_cast.tscn" id="3_qmoff"]
|
||||
[ext_resource type="PackedScene" uid="uid://btq11kil0jcql" path="res://src/equipment/beam/beam_sfx/spray_sfx.tscn" id="3_5h54c"]
|
||||
[ext_resource type="PackedScene" uid="uid://b8vradbaw61ga" path="res://src/equipment/beam/laser_cast/laser_cast.tscn" id="3_qmoff"]
|
||||
[ext_resource type="Script" uid="uid://b274q7uvn0cvp" path="res://src/ui/rumbler_3d.gd" id="5_k4cg5"]
|
||||
[ext_resource type="PackedScene" uid="uid://5y7gcq6igjpf" path="res://src/equipment/beam_sfx/beam_sfx.tscn" id="5_tpavj"]
|
||||
[ext_resource type="PackedScene" uid="uid://5y7gcq6igjpf" path="res://src/equipment/beam/beam_sfx/beam_sfx.tscn" id="5_tpavj"]
|
||||
[ext_resource type="Script" uid="uid://dj2x7x5qkbym1" path="res://src/ui/canvas_projector.gd" id="6_h2fjt"]
|
||||
[ext_resource type="Texture2D" uid="uid://brcxorcpe2g56" path="res://assets/ui/hud/tools/point_sprayer.png" id="6_otnek"]
|
||||
[ext_resource type="PackedScene" uid="uid://bnp6vqiixminx" path="res://src/ui/hud/grunk_gauge/grunk_gauge.tscn" id="10_dlin7"]
|
||||
@ -52,6 +52,9 @@ initial_velocity_max = 8.0
|
||||
gravity = Vector3(0, 0, 0)
|
||||
attractor_interaction_enabled = false
|
||||
|
||||
[sub_resource type="SeparationRayShape3D" id="SeparationRayShape3D_fm14y"]
|
||||
length = 3.0
|
||||
|
||||
[sub_resource type="CapsuleMesh" id="CapsuleMesh_k4cg5"]
|
||||
radius = 0.025
|
||||
height = 0.3
|
||||
@ -109,6 +112,16 @@ cull_mask = 1048573
|
||||
[node name="BeamSFX" parent="Muzzle" instance=ExtResource("5_tpavj")]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="BeamPassthroughArea" type="Area3D" parent="Muzzle"]
|
||||
collision_layer = 128
|
||||
collision_mask = 0
|
||||
|
||||
[node name="PassthroughCollision" type="CollisionShape3D" parent="Muzzle/BeamPassthroughArea"]
|
||||
transform = Transform3D(1, 0, 0, 0, -1, 8.74228e-08, 0, -8.74228e-08, -1, 0, 0, 0)
|
||||
shape = SubResource("SeparationRayShape3D_fm14y")
|
||||
disabled = true
|
||||
debug_color = Color(0.84881, 0.374465, 0, 0.42)
|
||||
|
||||
[node name="HUDTool" type="Node3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
top_level = true
|
||||
@ -153,3 +166,6 @@ offset_left = 344.0
|
||||
offset_top = 211.0
|
||||
offset_right = 344.0
|
||||
offset_bottom = 211.0
|
||||
|
||||
[connection signal="firing_start" from="." to="Muzzle/BeamPassthroughArea/PassthroughCollision" method="set_disabled" binds= [false]]
|
||||
[connection signal="firing_stop" from="." to="Muzzle/BeamPassthroughArea/PassthroughCollision" method="set_disabled" binds= [true]]
|
@ -1,10 +1,12 @@
|
||||
[gd_scene load_steps=8 format=3 uid="uid://qknkdy6aics1"]
|
||||
[gd_scene load_steps=9 format=3 uid="uid://qknkdy6aics1"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://d1e003a8jg3gm" path="res://src/equipment/toothbrush/toothbrush.gd" id="1_ivelq"]
|
||||
[ext_resource type="Script" uid="uid://d1e003a8jg3gm" path="res://src/equipment/beam/toothbrush/toothbrush.gd" id="1_ivelq"]
|
||||
[ext_resource type="Script" uid="uid://dj2x7x5qkbym1" path="res://src/ui/canvas_projector.gd" id="2_awr0g"]
|
||||
[ext_resource type="Texture2D" uid="uid://6vc3ye0jnqy4" path="res://assets/ui/hud/tools/toothbrush_idle.png" id="3_sxute"]
|
||||
[ext_resource type="Texture2D" uid="uid://djisqgfxhsrs2" path="res://assets/ui/hud/tools/toothbrush_used.png" id="4_atd0h"]
|
||||
|
||||
[sub_resource type="SeparationRayShape3D" id="SeparationRayShape3D_pv4ns"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_8x7qe"]
|
||||
length = 0.001
|
||||
tracks/0/type = "bezier"
|
||||
@ -74,6 +76,17 @@ target_position = Vector3(0, 0, -1)
|
||||
collision_mask = 4
|
||||
hit_from_inside = true
|
||||
|
||||
[node name="BeamPassthroughArea" type="Area3D" parent="Raycast"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
|
||||
collision_layer = 128
|
||||
collision_mask = 0
|
||||
|
||||
[node name="PassthroughCollision" type="CollisionShape3D" parent="Raycast/BeamPassthroughArea"]
|
||||
transform = Transform3D(1, 0, 0, 0, -1, -8.74228e-08, 0, 8.74228e-08, -1, 0, 0, 0)
|
||||
shape = SubResource("SeparationRayShape3D_pv4ns")
|
||||
disabled = true
|
||||
debug_color = Color(0.84881, 0.374465, 0, 0.42)
|
||||
|
||||
[node name="RestingPosition" type="Marker3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.2)
|
@ -1,13 +1,13 @@
|
||||
[gd_scene load_steps=23 format=3 uid="uid://d2hnxr5l6w2x4"]
|
||||
[gd_scene load_steps=24 format=3 uid="uid://d2hnxr5l6w2x4"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dv40fyim2g2fa" path="res://src/equipment/wide_spray/wide_spray.gd" id="1_ggkto"]
|
||||
[ext_resource type="Script" uid="uid://dv40fyim2g2fa" path="res://src/equipment/beam/wide_spray/wide_spray.gd" id="1_ggkto"]
|
||||
[ext_resource type="Material" uid="uid://c00gndxoepuqh" path="res://assets/materials/laser_spray.tres" id="2_26efp"]
|
||||
[ext_resource type="Texture2D" uid="uid://cx28sj02y31kj" path="res://assets/ui/hud/reticle_crosshair.png" id="3_78jy6"]
|
||||
[ext_resource type="PackedScene" uid="uid://btq11kil0jcql" path="res://src/equipment/beam_sfx/spray_sfx.tscn" id="3_v0jnx"]
|
||||
[ext_resource type="PackedScene" uid="uid://b8vradbaw61ga" path="res://src/equipment/laser_cast/laser_cast.tscn" id="3_xahet"]
|
||||
[ext_resource type="PackedScene" uid="uid://btq11kil0jcql" path="res://src/equipment/beam/beam_sfx/spray_sfx.tscn" id="3_v0jnx"]
|
||||
[ext_resource type="PackedScene" uid="uid://b8vradbaw61ga" path="res://src/equipment/beam/laser_cast/laser_cast.tscn" id="3_xahet"]
|
||||
[ext_resource type="Texture2D" uid="uid://carrggw6kp14w" path="res://assets/ui/hud/reticle_left.png" id="4_rotxf"]
|
||||
[ext_resource type="Texture2D" uid="uid://wp03nuwt8hp5" path="res://assets/ui/hud/reticle_right.png" id="5_xo3vu"]
|
||||
[ext_resource type="PackedScene" uid="uid://5y7gcq6igjpf" path="res://src/equipment/beam_sfx/beam_sfx.tscn" id="7_hv82w"]
|
||||
[ext_resource type="PackedScene" uid="uid://5y7gcq6igjpf" path="res://src/equipment/beam/beam_sfx/beam_sfx.tscn" id="7_hv82w"]
|
||||
[ext_resource type="Script" uid="uid://b274q7uvn0cvp" path="res://src/ui/rumbler_3d.gd" id="7_ku0nd"]
|
||||
[ext_resource type="Script" uid="uid://dj2x7x5qkbym1" path="res://src/ui/canvas_projector.gd" id="8_j7ker"]
|
||||
[ext_resource type="Texture2D" uid="uid://dxjwpai3or1hw" path="res://assets/ui/hud/tools/wide_sprayer.png" id="9_8vo2h"]
|
||||
@ -55,6 +55,9 @@ initial_velocity_max = 8.0
|
||||
gravity = Vector3(0, 0, 0)
|
||||
attractor_interaction_enabled = false
|
||||
|
||||
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_2oyow"]
|
||||
points = PackedVector3Array(-0.5, -1, -0.05, -0.5, -1, 0.05, 0, 1, -0.05, 0.5, -1, -0.05, 0.5, -1, 0.05, 0, 1, 0.05)
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_fmqw2"]
|
||||
size = Vector3(0.05, 0.05, 0.3)
|
||||
|
||||
@ -273,6 +276,16 @@ local_coords = true
|
||||
process_material = SubResource("ParticleProcessMaterial_lyk2j")
|
||||
draw_pass_1 = SubResource("QuadMesh_trcry")
|
||||
|
||||
[node name="BeamPassthroughArea" type="Area3D" parent="Muzzle/Pivot"]
|
||||
collision_layer = 128
|
||||
collision_mask = 0
|
||||
|
||||
[node name="PassthroughCollision" type="CollisionShape3D" parent="Muzzle/Pivot/BeamPassthroughArea"]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, -1)
|
||||
shape = SubResource("ConvexPolygonShape3D_2oyow")
|
||||
disabled = true
|
||||
debug_color = Color(0.84881, 0.374465, 0, 0.42)
|
||||
|
||||
[node name="BeamSFX" parent="Muzzle" instance=ExtResource("7_hv82w")]
|
||||
unique_name_in_owner = true
|
||||
|
||||
@ -337,4 +350,6 @@ libraries = {
|
||||
&"": SubResource("AnimationLibrary_fmqw2")
|
||||
}
|
||||
|
||||
[connection signal="firing_start" from="." to="Muzzle/Pivot/BeamPassthroughArea/PassthroughCollision" method="set_disabled" binds= [false]]
|
||||
[connection signal="firing_stop" from="." to="Muzzle/Pivot/BeamPassthroughArea/PassthroughCollision" method="set_disabled" binds= [true]]
|
||||
[connection signal="animation_finished" from="AnimationPlayer" to="." method="_on_animation_finished"]
|
@ -1,6 +1,9 @@
|
||||
class_name Tool extends Node3D
|
||||
## Abstract base class for spraygun types
|
||||
|
||||
signal firing_start
|
||||
signal firing_stop
|
||||
|
||||
@export var hud_accel := 50.0
|
||||
|
||||
var firing := false
|
||||
@ -24,12 +27,16 @@ func switch_mode() -> void:
|
||||
|
||||
## Called each frame that this tool is being fired.
|
||||
func fire() -> void:
|
||||
if not firing:
|
||||
firing_start.emit()
|
||||
firing = true
|
||||
_fire()
|
||||
|
||||
|
||||
## Called each frame that this tool is not being fired.
|
||||
func idle() -> void:
|
||||
if firing:
|
||||
firing_stop.emit()
|
||||
firing = false
|
||||
_idle()
|
||||
|
||||
|
@ -63,6 +63,7 @@ var _was_on_floor := false
|
||||
@onready var sticker_pack: Tool = %StickerPack
|
||||
|
||||
@onready var hold_component: HoldComponent = %HoldComponent
|
||||
@onready var spawn_zone_finder: Area3D = %SpawnZoneFinder
|
||||
|
||||
@onready var crouch_head_area: Area3D = %CrouchHeadArea
|
||||
@onready var crouch_animation: AnimationPlayer = %CrouchAnimation
|
||||
@ -112,6 +113,12 @@ func get_tool() -> Tool:
|
||||
return tool_mount.get_active()
|
||||
|
||||
|
||||
func get_spawn_zones() -> Array[BeastSpawnZone]:
|
||||
var zones: Array[BeastSpawnZone] = []
|
||||
zones.assign(spawn_zone_finder.get_overlapping_areas())
|
||||
return zones
|
||||
|
||||
|
||||
## Add the given item to the player's inventory.
|
||||
func add_item(item: Item, amount: int = 1) -> void:
|
||||
inventory[item] = inventory.get(item, 0) + amount
|
||||
|
@ -1,12 +1,12 @@
|
||||
[gd_scene load_steps=70 format=3 uid="uid://bwe2jdmvinhqd"]
|
||||
[gd_scene load_steps=72 format=3 uid="uid://bwe2jdmvinhqd"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://buwh0g1ga2aka" path="res://src/player/player.gd" id="1_npueo"]
|
||||
[ext_resource type="Script" uid="uid://cx1yt0drthpw3" path="res://src/player/camera_controller.gd" id="2_veeqv"]
|
||||
[ext_resource type="PackedScene" uid="uid://cc102xko0u6yj" path="res://src/equipment/point_spray/point_spray.tscn" id="3_6wgkm"]
|
||||
[ext_resource type="PackedScene" uid="uid://d2hnxr5l6w2x4" path="res://src/equipment/wide_spray/wide_spray.tscn" id="3_ibq07"]
|
||||
[ext_resource type="PackedScene" uid="uid://cc102xko0u6yj" path="res://src/equipment/beam/point_spray/point_spray.tscn" id="3_6wgkm"]
|
||||
[ext_resource type="PackedScene" uid="uid://d2hnxr5l6w2x4" path="res://src/equipment/beam/wide_spray/wide_spray.tscn" id="3_ibq07"]
|
||||
[ext_resource type="Script" uid="uid://cwy3akimaeib" path="res://src/player/tool_mount.gd" id="3_jiejy"]
|
||||
[ext_resource type="PackedScene" uid="uid://dq1x21tq06dud" path="res://src/ui/hud/player_hud.tscn" id="5_jvafu"]
|
||||
[ext_resource type="PackedScene" uid="uid://qknkdy6aics1" path="res://src/equipment/toothbrush/toothbrush.tscn" id="6_o822w"]
|
||||
[ext_resource type="PackedScene" uid="uid://qknkdy6aics1" path="res://src/equipment/beam/toothbrush/toothbrush.tscn" id="6_o822w"]
|
||||
[ext_resource type="PackedScene" uid="uid://c21ksxjyixqe1" path="res://src/equipment/mp3_player/mp3_player.tscn" id="7_e7e1q"]
|
||||
[ext_resource type="Script" uid="uid://b274q7uvn0cvp" path="res://src/ui/rumbler_3d.gd" id="7_p6grl"]
|
||||
[ext_resource type="Script" uid="uid://b1vyq7e81nyt0" path="res://src/player/headbob_controller.gd" id="7_x42xx"]
|
||||
@ -176,6 +176,9 @@ nodes/timescale/node = SubResource("AnimationNodeTimeScale_8ydov")
|
||||
nodes/timescale/position = Vector2(1240, 120)
|
||||
node_connections = [&"blend", 0, &"still_anim", &"blend", 1, &"bob_anim", &"output", 0, &"timescale", &"sfx_add", 0, &"blend", &"sfx_add", 1, &"sfx_anim", &"timescale", 0, &"sfx_add"]
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_utg71"]
|
||||
radius = 1.0
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_s7f0r"]
|
||||
radius = 0.4
|
||||
height = 1.9
|
||||
@ -184,6 +187,9 @@ height = 1.9
|
||||
radius = 0.4
|
||||
height = 1.2
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_utg71"]
|
||||
radius = 1.6
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_8ydov"]
|
||||
random_pitch = 1.1
|
||||
streams_count = 6
|
||||
@ -705,6 +711,16 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.15)
|
||||
cull_mask = 4293918724
|
||||
size = Vector3(10, 10, 0.2)
|
||||
|
||||
[node name="SpawnZoneFinder" type="Area3D" parent="CameraPosition/CameraPivot"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.5, -1)
|
||||
collision_layer = 0
|
||||
collision_mask = 256
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="CameraPosition/CameraPivot/SpawnZoneFinder"]
|
||||
shape = SubResource("SphereShape3D_utg71")
|
||||
debug_color = Color(0.602755, 0.367301, 1, 0.42)
|
||||
|
||||
[node name="StandingCollider" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.05, 0)
|
||||
shape = SubResource("CapsuleShape3D_s7f0r")
|
||||
@ -717,6 +733,14 @@ disabled = true
|
||||
[node name="PlayerHUD" parent="." instance=ExtResource("5_jvafu")]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="BeastSpawnExclusionZone" type="Area3D" parent="."]
|
||||
collision_layer = 512
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="BeastSpawnExclusionZone"]
|
||||
shape = SubResource("CylinderShape3D_utg71")
|
||||
debug_color = Color(0.602755, 0.367301, 1, 0.42)
|
||||
|
||||
[node name="FootstepController" type="Node3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
|
||||
|
51
src/shaders/glowing_rift.gdshader
Normal file
51
src/shaders/glowing_rift.gdshader
Normal file
@ -0,0 +1,51 @@
|
||||
// -*- mode: glsl -*-
|
||||
// The RIFT is OPENING...
|
||||
shader_type spatial;
|
||||
render_mode depth_prepass_alpha;
|
||||
|
||||
group_uniforms rift_shape;
|
||||
uniform sampler2D rift_shape;
|
||||
uniform sampler2D rift_scale;
|
||||
uniform sampler2D rift_bias;
|
||||
uniform float shape_scale = 1.0;
|
||||
uniform float rift_speed = 1.0;
|
||||
uniform float progress: hint_range(0.0, 1.0) = 1.0;
|
||||
uniform float smoothing = 0.02;
|
||||
|
||||
group_uniforms rift_offset;
|
||||
uniform sampler2D rift_offset;
|
||||
uniform sampler2D offset_scale;
|
||||
|
||||
group_uniforms rift_color;
|
||||
uniform vec3 color: source_color = vec3(1.0);
|
||||
uniform vec3 emission: source_color = vec3(1.0);
|
||||
uniform float emission_strength = 1.0;
|
||||
|
||||
group_uniforms rift_noise;
|
||||
uniform sampler2D rift_noise;
|
||||
uniform float rift_noise_scale = 1.0;
|
||||
uniform float rift_noise_bias = 0.0;
|
||||
uniform float rift_noise_speed = 0.1;
|
||||
|
||||
|
||||
void fragment() {
|
||||
// Rift shape
|
||||
float i_time = TIME * rift_speed;
|
||||
vec2 uva = vec2(UV.x * 0.5, i_time);
|
||||
vec2 uvb = vec2(UV.x * 0.5 + 0.5, i_time);
|
||||
|
||||
float scale = texture(rift_scale, UV).r * shape_scale * progress;
|
||||
float bias = texture(rift_bias, UV).r * progress;
|
||||
float limit_a = 0.0 - texture(rift_shape, uva).r * scale - bias;
|
||||
float limit_b = 0.0 + texture(rift_shape, uvb).r * scale + bias;
|
||||
|
||||
float offset = texture(offset_scale, UV).r * (texture(rift_offset, vec2(UV.x, i_time)).r - 0.5);
|
||||
float p = UV.y - 0.5 + offset;
|
||||
ALPHA = smoothstep(limit_a, limit_a + smoothing, p) * (1.0 - smoothstep(limit_b - smoothing, limit_b, p));
|
||||
|
||||
// Rift emissive noise
|
||||
float noise = texture(rift_noise, vec2(UV.x, TIME * rift_noise_speed)).r;
|
||||
noise = noise * noise * noise * rift_noise_scale + rift_noise_bias;
|
||||
EMISSION = emission * noise * emission_strength;
|
||||
ALBEDO = color;
|
||||
}
|
1
src/shaders/glowing_rift.gdshader.uid
Normal file
1
src/shaders/glowing_rift.gdshader.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://dawp27i0m5arl
|
@ -2,6 +2,7 @@ class_name SceneTools extends Object
|
||||
## Tools for specialized operations in a scene
|
||||
|
||||
const RAY_MASK := 0b00100101
|
||||
# const RAY_MASK := 1
|
||||
|
||||
|
||||
## Get the Node3D in the given group which is spatially closest to the target node.
|
||||
@ -19,23 +20,38 @@ static func closest_in_group(target: Node3D, group_name: String) -> Node3D:
|
||||
return closest
|
||||
|
||||
|
||||
## Get the player's Camera3D instance, or null if there isn't one.
|
||||
static func get_player_camera() -> Camera3D:
|
||||
if is_instance_valid(Player.instance):
|
||||
return Player.instance.get_viewport().get_camera_3d()
|
||||
return null
|
||||
|
||||
|
||||
## Is the player looking in the direction of the given point?
|
||||
static func player_looking_at(target: Vector3) -> bool:
|
||||
var camera := get_player_camera()
|
||||
return camera and camera.is_position_in_frustum(target)
|
||||
|
||||
|
||||
## Does the player have an unobstructed line-of-sight to the given point?
|
||||
static func player_can_see(target: Vector3) -> bool:
|
||||
if not is_instance_valid(Player.instance):
|
||||
static func player_has_sight_line(target: Vector3) -> bool:
|
||||
var camera := get_player_camera()
|
||||
if not camera:
|
||||
return false
|
||||
|
||||
var camera := Player.instance.get_viewport().get_camera_3d()
|
||||
|
||||
if not camera.is_position_in_frustum(target):
|
||||
return false
|
||||
|
||||
var query := PhysicsRayQueryParameters3D.create(camera.global_position, target, RAY_MASK)
|
||||
# TODO may need to add an "exceptions" parameter for the source's body
|
||||
var query := PhysicsRayQueryParameters3D.create(
|
||||
camera.global_position, target, RAY_MASK, [Player.instance.get_rid()]
|
||||
)
|
||||
var raycast := Player.instance.get_world_3d().direct_space_state.intersect_ray(query)
|
||||
# If raycast is empty, view is unoccluded and player has line-of-sight!
|
||||
return not raycast
|
||||
|
||||
|
||||
## Is the player looking at the given point with an unobstructed line-of-sight?
|
||||
static func player_can_see(target: Vector3) -> bool:
|
||||
return player_looking_at(target) and player_has_sight_line(target)
|
||||
|
||||
|
||||
## Get a random Node3D from the given group which is not currently visible to the player
|
||||
##
|
||||
## Returns null is there is no such node, either because the group is empty
|
||||
@ -53,3 +69,19 @@ static func pick_unseen_from_group(group_name: String) -> Node3D:
|
||||
return target
|
||||
|
||||
return null
|
||||
|
||||
|
||||
## Coerce a position from the given value
|
||||
##
|
||||
## Use this to handle Vector3 and Node3D generically e.g. in behaviors.
|
||||
static func get_position(value: Variant) -> Vector3:
|
||||
if value is Vector3:
|
||||
@warning_ignore("unsafe_cast")
|
||||
return value as Vector3
|
||||
if value is Node3D and is_instance_valid(value):
|
||||
@warning_ignore("unsafe_cast")
|
||||
return (value as Node3D).global_position
|
||||
if value is Vector3i:
|
||||
@warning_ignore("unsafe_cast")
|
||||
return Vector3(value as Vector3i)
|
||||
return Vector3.ZERO
|
||||
|
@ -12,6 +12,14 @@ func set_target_rotation(_theta: float) -> void:
|
||||
pass # Implemented in derived type
|
||||
|
||||
|
||||
func set_look_target(_target: Vector3) -> void:
|
||||
pass # Implemented in derived type
|
||||
|
||||
|
||||
func unset_look_target() -> void:
|
||||
pass # Implemented in derived type
|
||||
|
||||
|
||||
func set_move_speed(_speed: float) -> void:
|
||||
pass # Implemented in derived type
|
||||
|
||||
|
@ -0,0 +1,21 @@
|
||||
class_name BeastSpawnZone extends Area3D
|
||||
## An area which contains and manages prioritized BeastSpawners.
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
# Adjust position to very slightly above placement position for raycasts
|
||||
global_position.y += 0.001
|
||||
|
||||
|
||||
## Return the list of all non-excluded spawners in this zone
|
||||
func get_valid_spawners() -> Array[BeastSpawner]:
|
||||
return get_spawners().filter(func(s: BeastSpawner) -> bool: return s.can_spawn())
|
||||
|
||||
|
||||
## Return the list of all spawners in this zone
|
||||
func get_spawners() -> Array[BeastSpawner]:
|
||||
var spawns: Array[BeastSpawner] = []
|
||||
for c: Node in get_children():
|
||||
if c is BeastSpawner:
|
||||
spawns.append(c as BeastSpawner)
|
||||
return spawns
|
@ -0,0 +1 @@
|
||||
uid://ut75s6gubnhl
|
@ -0,0 +1,9 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://dxm83cmpppqxr"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://ut75s6gubnhl" path="res://src/world/grunk_beast/beast_spawner/beast_spawn_zone/beast_spawn_zone.gd" id="1_qpkx5"]
|
||||
|
||||
[node name="BeastSpawnZone" type="Area3D"]
|
||||
collision_layer = 256
|
||||
collision_mask = 0
|
||||
script = ExtResource("1_qpkx5")
|
||||
metadata/_custom_type_script = "uid://ut75s6gubnhl"
|
27
src/world/grunk_beast/beast_spawner/beast_spawner.gd
Normal file
27
src/world/grunk_beast/beast_spawner/beast_spawner.gd
Normal file
@ -0,0 +1,27 @@
|
||||
class_name BeastSpawner extends Node3D
|
||||
## A potential spawn point for a beast in the map.
|
||||
|
||||
const GROUP = "BeastSpawnPoint"
|
||||
|
||||
## Scene to instantiate
|
||||
@export var beast_scene: PackedScene
|
||||
|
||||
## Area for checking spawn exclusion
|
||||
@export var spawn_exclusion_area: Area3D
|
||||
|
||||
## Spawners with higher priority will be picked first
|
||||
@export var spawn_priority: int = 0
|
||||
|
||||
|
||||
## Create a new GrunkBeast instance
|
||||
func instantiate() -> GrunkBeast:
|
||||
return beast_scene.instantiate()
|
||||
|
||||
|
||||
## Is this spawner able to spawn a beast (e.g. isn't occluded by a spawn excluder)?
|
||||
func can_spawn() -> bool:
|
||||
return (not spawn_exclusion_area.has_overlapping_areas()) if spawn_exclusion_area else true
|
||||
|
||||
|
||||
func do_spawn() -> void:
|
||||
pass # Implemented in derived type
|
1
src/world/grunk_beast/beast_spawner/beast_spawner.gd.uid
Normal file
1
src/world/grunk_beast/beast_spawner/beast_spawner.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://bc6w4fcthemjx
|
10
src/world/grunk_beast/beast_spawner/floor_spawner.gd
Normal file
10
src/world/grunk_beast/beast_spawner/floor_spawner.gd
Normal file
@ -0,0 +1,10 @@
|
||||
class_name FloorSpawner extends BeastSpawner
|
||||
## Beast spawner on the floor
|
||||
|
||||
|
||||
func do_spawn() -> void:
|
||||
var instance: GrunkBeast = instantiate()
|
||||
add_sibling(instance)
|
||||
|
||||
instance.global_transform = global_transform
|
||||
instance.start_spawn()
|
1
src/world/grunk_beast/beast_spawner/floor_spawner.gd.uid
Normal file
1
src/world/grunk_beast/beast_spawner/floor_spawner.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://cqildi0gndwp2
|
25
src/world/grunk_beast/beast_spawner/floor_spawner.tscn
Normal file
25
src/world/grunk_beast/beast_spawner/floor_spawner.tscn
Normal file
@ -0,0 +1,25 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://c8vbjgol5nenc"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cqildi0gndwp2" path="res://src/world/grunk_beast/beast_spawner/floor_spawner.gd" id="1_hrlgt"]
|
||||
[ext_resource type="PackedScene" uid="uid://ehf5sg3ahvbf" path="res://src/world/grunk_beast/grunk_beast.tscn" id="2_dgp11"]
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_yfsqi"]
|
||||
height = 0.1
|
||||
radius = 1.2
|
||||
|
||||
[node name="FloorSpawner" type="Node3D" node_paths=PackedStringArray("spawn_exclusion_area") groups=["BeastSpawnPoint"]]
|
||||
script = ExtResource("1_hrlgt")
|
||||
beast_scene = ExtResource("2_dgp11")
|
||||
spawn_exclusion_area = NodePath("SpawnExclusionArea")
|
||||
spawn_priority = 1
|
||||
|
||||
[node name="Marker3D" type="Marker3D" parent="."]
|
||||
|
||||
[node name="SpawnExclusionArea" type="Area3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.05, 0)
|
||||
collision_layer = 0
|
||||
collision_mask = 512
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="SpawnExclusionArea"]
|
||||
shape = SubResource("CylinderShape3D_yfsqi")
|
||||
debug_color = Color(0.602755, 0.367301, 1, 0.42)
|
@ -0,0 +1,47 @@
|
||||
[gd_scene load_steps=6 format=3 uid="uid://5vh7mnjavlle"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cqildi0gndwp2" path="res://src/world/grunk_beast/beast_spawner/floor_spawner.gd" id="1_42oks"]
|
||||
[ext_resource type="PackedScene" uid="uid://ehf5sg3ahvbf" path="res://src/world/grunk_beast/grunk_beast.tscn" id="2_e5rh0"]
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_42oks"]
|
||||
height = 0.02
|
||||
radius = 1.2
|
||||
|
||||
[sub_resource type="CylinderMesh" id="CylinderMesh_e5rh0"]
|
||||
top_radius = 1.2
|
||||
bottom_radius = 1.2
|
||||
height = 0.02
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_e5rh0"]
|
||||
height = 0.1
|
||||
radius = 1.2
|
||||
|
||||
[node name="TransientFloorSpawner" type="Node3D" node_paths=PackedStringArray("spawn_exclusion_area") groups=["BeastSpawnPoint"]]
|
||||
script = ExtResource("1_42oks")
|
||||
beast_scene = ExtResource("2_e5rh0")
|
||||
spawn_exclusion_area = NodePath("SpawnExclusionArea")
|
||||
spawn_priority = 10
|
||||
metadata/_custom_type_script = "uid://cqildi0gndwp2"
|
||||
|
||||
[node name="Area3D" type="Area3D" parent="."]
|
||||
collision_layer = 0
|
||||
collision_mask = 128
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D"]
|
||||
shape = SubResource("CylinderShape3D_42oks")
|
||||
debug_color = Color(0.980392, 0.854902, 0, 1)
|
||||
|
||||
[node name="DEBUGMesh" type="MeshInstance3D" parent="Area3D"]
|
||||
visible = false
|
||||
mesh = SubResource("CylinderMesh_e5rh0")
|
||||
|
||||
[node name="SpawnExclusionArea" type="Area3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.05, 0)
|
||||
collision_layer = 0
|
||||
collision_mask = 512
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="SpawnExclusionArea"]
|
||||
shape = SubResource("CylinderShape3D_e5rh0")
|
||||
debug_color = Color(0.602755, 0.367301, 1, 0.42)
|
||||
|
||||
[connection signal="area_entered" from="Area3D" to="." method="queue_free" unbinds=1]
|
@ -5,8 +5,12 @@ class_name AwaitSignal extends ActionLeaf
|
||||
var _blocks: Dictionary[Signal, bool] = {}
|
||||
|
||||
|
||||
func is_blocked() -> bool:
|
||||
return !!_blocks
|
||||
|
||||
|
||||
func tick(_actor: Node, _blackboard: Blackboard) -> int:
|
||||
if _blocks:
|
||||
if is_blocked():
|
||||
return RUNNING
|
||||
return SUCCESS
|
||||
|
||||
|
@ -1,12 +1,15 @@
|
||||
@tool
|
||||
class_name GetRandomTarget extends ActionLeaf
|
||||
## Picks a random navigable point near the actor and writes it to the blackboard.
|
||||
## Picks a random navigable point near a center target and writes it to the blackboard.
|
||||
##
|
||||
## If the random point is not navigable, will return RUNNING and pick a new point next tick.
|
||||
|
||||
## Blackboard key under which to store the random target.
|
||||
@export var blackboard_key := "target"
|
||||
|
||||
## Optional blackboard key of the center target. By default, the actor's position will be used.
|
||||
@export var center_target_key: String
|
||||
|
||||
## Standard deviation of position in each direction, in game units.
|
||||
@export var st_dev := Vector3(1, 0, 1)
|
||||
|
||||
@ -16,11 +19,12 @@ class_name GetRandomTarget extends ActionLeaf
|
||||
|
||||
func tick(actor: Node, blackboard: Blackboard) -> int:
|
||||
var beast := actor as GrunkBeast
|
||||
var center: Vector3 = beast.global_position
|
||||
if blackboard.has_value(center_target_key):
|
||||
center = SceneTools.get_position(blackboard.get_value(center_target_key))
|
||||
|
||||
var target := Vector3(
|
||||
randfn(beast.global_position.x, st_dev.x),
|
||||
randfn(beast.global_position.y, st_dev.y),
|
||||
randfn(beast.global_position.z, st_dev.z)
|
||||
randfn(center.x, st_dev.x), randfn(center.y, st_dev.y), randfn(center.z, st_dev.z)
|
||||
)
|
||||
|
||||
if not beast.path_shorter_than(target, max_path_len):
|
||||
|
@ -1,3 +1,4 @@
|
||||
@tool
|
||||
class_name PrintDebugAction extends ActionLeaf
|
||||
## Print this node's name every tick.
|
||||
|
||||
|
@ -16,14 +16,9 @@ func tick(actor: Node, blackboard: Blackboard) -> int:
|
||||
if beast.traversing_link:
|
||||
return RUNNING
|
||||
|
||||
var target: Variant = blackboard.get_value(blackboard_key)
|
||||
if target is Vector3:
|
||||
@warning_ignore("unsafe_cast")
|
||||
nav_agent.target_position = target as Vector3
|
||||
elif target is Node3D and is_instance_valid(target):
|
||||
@warning_ignore("unsafe_cast")
|
||||
nav_agent.target_position = (target as Node3D).global_position
|
||||
else:
|
||||
if not blackboard.has_value(blackboard_key):
|
||||
return FAILURE
|
||||
|
||||
nav_agent.target_position = SceneTools.get_position(blackboard.get_value(blackboard_key))
|
||||
|
||||
return SUCCESS if nav_agent.is_navigation_finished() else RUNNING
|
||||
|
19
src/world/grunk_beast/behaviors/actions/set_look_target.gd
Normal file
19
src/world/grunk_beast/behaviors/actions/set_look_target.gd
Normal file
@ -0,0 +1,19 @@
|
||||
@tool
|
||||
class_name SetLookTarget extends ActionLeaf
|
||||
## Set the look target of the given model to a point stored on the blackboard.
|
||||
|
||||
## Blackboard key to set as the model's look target
|
||||
@export var blackboard_key := "target"
|
||||
|
||||
## Model controller whose look target should be set
|
||||
@export var controller: BeastModel
|
||||
|
||||
|
||||
func tick(_actor: Node, blackboard: Blackboard) -> int:
|
||||
if not blackboard.has_value(blackboard_key):
|
||||
return FAILURE
|
||||
|
||||
var target: Vector3 = SceneTools.get_position(blackboard.get_value(blackboard_key))
|
||||
controller.set_look_target(target)
|
||||
|
||||
return SUCCESS
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user