[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_umjw2"] [ext_resource type="PackedScene" uid="uid://bwe2jdmvinhqd" path="res://src/player/player.tscn" id="2_gut8u"] [ext_resource type="PackedScene" uid="uid://b6eg8t04rkh0c" path="res://src/props/wall_switch/wall_switch.tscn" id="3_4okgx"] [ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="4_7v7un"] [ext_resource type="Texture2D" uid="uid://8cm835h4gxwe" path="res://assets/debug_mask.png" id="5_llot1"] [ext_resource type="Shader" uid="uid://ckxc0ngd37rtk" path="res://src/shaders/gunk.gdshader" id="6_6agnv"] [ext_resource type="FastNoiseLite" uid="uid://cnlvdtx68giv6" path="res://assets/materials/gunk_noise.tres" id="7_aqwgb"] [ext_resource type="PackedScene" uid="uid://cubwniraol1qn" path="res://src/props/bulkhead/bulkhead.tscn" id="8_ny31q"] [ext_resource type="PackedScene" uid="uid://b5jubpjj3d277" path="res://levels/mechanic_test/signal_test.tscn" id="9_dub8r"] [ext_resource type="PackedScene" uid="uid://cfqirm2o3uo4k" path="res://levels/mechanic_test/prop_test.tscn" id="10_ovu60"] [ext_resource type="PackedScene" uid="uid://dbabcsp38wmid" path="res://levels/mechanic_test/item_test.tscn" id="11_crh2u"] [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="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="CompressedTexture2D" id="CompressedTexture2D_rp2qp"] load_path = "res://.godot/imported/debug_mask.png-fd2bc783338ed9439fe81a4eef9d86da.s3tc.ctex" [sub_resource type="NoiseTexture3D" id="NoiseTexture3D_if0c2"] width = 256 height = 256 depth = 32 seamless = true seamless_blend_skirt = 0.5 noise = ExtResource("7_aqwgb") [sub_resource type="NoiseTexture3D" id="NoiseTexture3D_2pd8h"] width = 256 height = 256 depth = 32 seamless = true seamless_blend_skirt = 0.5 noise = ExtResource("7_aqwgb") [sub_resource type="ShaderMaterial" id="ShaderMaterial_umjw2"] resource_local_to_scene = true render_priority = 0 shader = ExtResource("6_6agnv") shader_parameter/color_1 = Color(0, 0.03, 0.1, 1) shader_parameter/color_2 = Color(0, 0.1, 0.3, 1) shader_parameter/emission_color = Color(0.25, 0.88, 1, 1) shader_parameter/pixellation = 128.0 shader_parameter/time_pixellation = 30.0 shader_parameter/roughness = 0.15 shader_parameter/specular_contribution = 0.8 shader_parameter/emission_strength = 0.02 shader_parameter/uv_scale = Vector2(4, 4) shader_parameter/time_scale = 0.2 shader_parameter/edge_bleed = 0.25 shader_parameter/gunk_mask = SubResource("CompressedTexture2D_rp2qp") shader_parameter/gunk_noise = SubResource("NoiseTexture3D_if0c2") shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_2pd8h") shader_parameter/jitter_magnitude = 0.0 shader_parameter/jitter_time_scale = 0.1 shader_parameter/vertex_inflation = 0.0 shader_parameter/inflation_pixellation = 10.0 shader_parameter/overlay_emission_scale = 1.0 [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_umjw2") [node name="Player" parent="." instance=ExtResource("2_gut8u")] 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"]] [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) [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_4okgx")] 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) [node name="MeshInstance3D" type="MeshInstance3D" parent="NoduleSpawner"] mesh = SubResource("BoxMesh_goufh") [node name="CollisionShape3D" type="CollisionShape3D" parent="NoduleSpawner"] shape = SubResource("ConcavePolygonShape3D_bg05n") [node name="WallSwitch" parent="NoduleSpawner" instance=ExtResource("3_4okgx")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0.35) clean = true [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) [node name="MeshInstance3D" type="MeshInstance3D" parent="AlarmSpawner"] mesh = SubResource("BoxMesh_goufh") [node name="CollisionShape3D" type="CollisionShape3D" parent="AlarmSpawner"] shape = SubResource("ConcavePolygonShape3D_bg05n") [node name="WallSwitch" parent="AlarmSpawner" instance=ExtResource("3_4okgx")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0.35) clean = true [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="AlarmTrigger" type="StaticBody3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.5, 1, -6) [node name="MeshInstance3D" type="MeshInstance3D" parent="AlarmTrigger"] mesh = SubResource("BoxMesh_goufh") [node name="CollisionShape3D" type="CollisionShape3D" parent="AlarmTrigger"] shape = SubResource("ConcavePolygonShape3D_bg05n") [node name="AlarmTriggerSwitch" parent="AlarmTrigger" instance=ExtResource("3_4okgx")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0.35) clean = true [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="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("GunkHallBody") [node name="GunkHallBody" parent="GunkHall" instance=ExtResource("4_7v7un")] unique_name_in_owner = true initial_mask = ExtResource("5_llot1") source_gunk_material = SubResource("ShaderMaterial_umjw2") [node name="CollisionShape3D" type="CollisionShape3D" parent="GunkHall/GunkHallBody"] shape = SubResource("ConcavePolygonShape3D_qjnj2") [node name="Bulkhead" parent="." instance=ExtResource("8_ny31q")] 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) [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_4okgx")] 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) [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_4okgx")] 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_dub8r")] [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_ovu60")] [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_crh2u")] [connection signal="activated" from="ResetPodium/ResetSwitch" to="." method="reset"] [connection signal="activated" from="NoduleSpawner/WallSwitch" to="." method="spawn_nodule"] [connection signal="activated" from="AlarmSpawner/WallSwitch" to="." method="spawn_alarm"] [connection signal="activated" from="AlarmTrigger/AlarmTriggerSwitch" 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"]