generated from krampus/template-godot4
Compare commits
3 Commits
e440b3124f
...
0edf520a21
Author | SHA1 | Date | |
---|---|---|---|
0edf520a21 | |||
8525298792 | |||
570a54db48 |
Binary file not shown.
Binary file not shown.
BIN
assets/sfx/grunk/alarm_screech.wav
(Stored with Git LFS)
BIN
assets/sfx/grunk/alarm_screech.wav
(Stored with Git LFS)
Binary file not shown.
@ -2,7 +2,7 @@
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://ypk1d4adrcs"
|
||||
uid="uid://6yo1n0l1jgok"
|
||||
path="res://.godot/imported/alarm_screech.wav-99f30850091e72de3c561e544b0403c0.sample"
|
||||
|
||||
[deps]
|
||||
|
BIN
assets/sfx/tools/beam_loop.wav
(Stored with Git LFS)
BIN
assets/sfx/tools/beam_loop.wav
(Stored with Git LFS)
Binary file not shown.
BIN
assets/sfx/tools/spray.wav
(Stored with Git LFS)
BIN
assets/sfx/tools/spray.wav
(Stored with Git LFS)
Binary file not shown.
@ -80,12 +80,15 @@ volume_db = -80.0
|
||||
autoplay = true
|
||||
bus = &"Ambient"
|
||||
script = ExtResource("5_jiowi")
|
||||
base_volume = -12.0
|
||||
boosted_volume = 0.0
|
||||
|
||||
[node name="AmbientSFX" type="Node3D" parent="."]
|
||||
|
||||
[node name="Creaker" parent="AmbientSFX" instance=ExtResource("7_vdioa")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -21, 1, -38)
|
||||
stream = SubResource("AudioStreamRandomizer_d8fas")
|
||||
volume_db = 10.0
|
||||
unit_size = 2.0
|
||||
bus = &"Ambient"
|
||||
interval_mean = 120.0
|
||||
|
@ -118,7 +118,7 @@ data = PackedVector3Array(-0.7, 0, 0.14, -0.7, -0.28, 0, -0.7, 0, -0.14, -0.7, 0
|
||||
mesh = ExtResource("1_ckpmb")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway1"]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway1" groups=["MetalMaterial"]]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
@ -195,7 +195,7 @@ transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 0, 0,
|
||||
mesh = ExtResource("12_3ls22")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="T-Junction1"]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="T-Junction1" groups=["MetalMaterial"]]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
@ -213,7 +213,7 @@ transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -7.5,
|
||||
mesh = ExtResource("1_ckpmb")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway2"]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway2" groups=["MetalMaterial"]]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
@ -267,7 +267,7 @@ transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -19.5,
|
||||
mesh = ExtResource("17_qhrg0")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway3"]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway3" groups=["MetalMaterial"]]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
@ -296,7 +296,7 @@ transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -27, 0
|
||||
mesh = ExtResource("18_xuoub")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="T-Junction2"]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="T-Junction2" groups=["MetalMaterial"]]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
@ -314,7 +314,7 @@ transform = Transform3D(2.98023e-08, 1, 0, 4.37114e-08, -1.3027e-15, -1, -1, 2.9
|
||||
mesh = ExtResource("19_unrww")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="EndCap"]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="EndCap" groups=["MetalMaterial"]]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
@ -332,7 +332,7 @@ transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -27, 0
|
||||
mesh = ExtResource("20_kkj02")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway4"]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway4" groups=["MetalMaterial"]]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
|
@ -316,8 +316,7 @@ collision_mask = 0
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.6)
|
||||
stream = SubResource("AudioStreamRandomizer_53iah")
|
||||
volume_db = -4.0
|
||||
unit_size = 3.0
|
||||
unit_size = 5.0
|
||||
pitch_scale = 0.7
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="TankInteractBody"]
|
||||
@ -410,7 +409,7 @@ shape = SubResource("ConcavePolygonShape3D_0e0pl")
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.2, 0)
|
||||
stream = ExtResource("20_3rulp")
|
||||
volume_db = -20.0
|
||||
volume_db = -12.0
|
||||
unit_size = 3.0
|
||||
bus = &"SFX"
|
||||
|
||||
@ -418,7 +417,7 @@ bus = &"SFX"
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.2, 0)
|
||||
stream = ExtResource("21_bmg36")
|
||||
volume_db = -16.0
|
||||
volume_db = -8.0
|
||||
unit_size = 4.0
|
||||
bus = &"SFX"
|
||||
|
||||
|
@ -21,9 +21,11 @@ func reset() -> void:
|
||||
Callable(open_switch, "enable").call()
|
||||
Callable(close_switch, "disable").call()
|
||||
|
||||
var signal_test_scene: PackedScene = load("res://levels/mechanic_test/signal_test.tscn")
|
||||
var prop_test_scene: PackedScene = load("res://levels/mechanic_test/prop_test.tscn")
|
||||
var item_test_scene: PackedScene = load("res://levels/mechanic_test/item_test.tscn")
|
||||
var signal_test_scene: PackedScene = _load_no_cache(
|
||||
"res://levels/mechanic_test/signal_test.tscn"
|
||||
)
|
||||
var prop_test_scene: PackedScene = _load_no_cache("res://levels/mechanic_test/prop_test.tscn")
|
||||
var item_test_scene: PackedScene = _load_no_cache("res://levels/mechanic_test/item_test.tscn")
|
||||
_do_spawn(signal_test_spawn_point, signal_test_scene)
|
||||
_do_spawn(prop_test_spawn_point, prop_test_scene)
|
||||
_do_spawn(item_test_spawn_point, item_test_scene)
|
||||
@ -36,13 +38,17 @@ func _do_spawn(spawn_point: Node3D, scene: PackedScene) -> void:
|
||||
spawn_point.add_child(instance)
|
||||
|
||||
|
||||
func _load_no_cache(path: StringName) -> Resource:
|
||||
return ResourceLoader.load(path, "", ResourceLoader.CACHE_MODE_IGNORE)
|
||||
|
||||
|
||||
func spawn_nodule() -> void:
|
||||
var nodule_scene: PackedScene = load("res://src/world/gunk_node/grunk_nodule.tscn")
|
||||
var nodule_scene: PackedScene = _load_no_cache("res://src/world/gunk_node/grunk_nodule.tscn")
|
||||
_do_spawn(nodule_spawn_point, nodule_scene)
|
||||
|
||||
|
||||
func spawn_alarm() -> void:
|
||||
var alarm_scene: PackedScene = load("res://src/world/mechanics/alarm/gunk_alarm.tscn")
|
||||
var alarm_scene: PackedScene = _load_no_cache("res://src/world/mechanics/alarm/gunk_alarm.tscn")
|
||||
_do_spawn(alarm_spawn_point, alarm_scene)
|
||||
|
||||
|
||||
|
@ -1,14 +1,14 @@
|
||||
[gd_scene load_steps=32 format=4 uid="uid://b8rv6dg4tgaeb"]
|
||||
[gd_scene load_steps=35 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="Shader" uid="uid://ckxc0ngd37rtk" path="res://src/shaders/gunk.gdshader" id="6_6frcc"]
|
||||
[ext_resource type="FastNoiseLite" uid="uid://cnlvdtx68giv6" path="res://assets/materials/gunk_noise.tres" id="7_7cbja"]
|
||||
[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="Script" uid="uid://co0g2klfmor48" path="res://src/world/gunkable/gunkable.gd" id="9_cgmn0"]
|
||||
[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"]
|
||||
@ -33,6 +33,17 @@ 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"
|
||||
|
||||
@ -181,9 +192,24 @@ mesh = SubResource("BoxMesh_goufh")
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="NoduleSpawner"]
|
||||
shape = SubResource("ConcavePolygonShape3D_bg05n")
|
||||
|
||||
[node name="WallSwitch" parent="NoduleSpawner" instance=ExtResource("3_awnx0")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0.35)
|
||||
clean = true
|
||||
[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)
|
||||
@ -203,10 +229,6 @@ mesh = SubResource("BoxMesh_goufh")
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="AlarmSpawner"]
|
||||
shape = SubResource("ConcavePolygonShape3D_bg05n")
|
||||
|
||||
[node name="WallSwitch" parent="AlarmSpawner" 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="AlarmSpawner"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0.3)
|
||||
text = "Spawn
|
||||
@ -216,6 +238,25 @@ Alarm"
|
||||
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)
|
||||
|
||||
@ -225,14 +266,29 @@ mesh = SubResource("BoxMesh_goufh")
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="AlarmTrigger"]
|
||||
shape = SubResource("ConcavePolygonShape3D_bg05n")
|
||||
|
||||
[node name="AlarmTriggerSwitch" parent="AlarmTrigger" 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="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")
|
||||
@ -245,14 +301,12 @@ collision_mask = 0
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="GunkHall/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_qjnj2")
|
||||
|
||||
[node name="Gunkable" type="Node" parent="GunkHall/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") groups=["Persistent"] instance=ExtResource("8_awnx0")]
|
||||
[node name="Gunkable" parent="GunkHall/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("8_awnx0")]
|
||||
unique_name_in_owner = true
|
||||
script = ExtResource("9_cgmn0")
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
initial_mask = ExtResource("5_aix42")
|
||||
source_gunk_material = SubResource("ShaderMaterial_aix42")
|
||||
metadata/_custom_type_script = "uid://co0g2klfmor48"
|
||||
|
||||
[node name="Bulkhead" parent="." instance=ExtResource("8_ujrcv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.5, 0, -2)
|
||||
@ -313,9 +367,9 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13, 0, -2)
|
||||
[node name="ItemTest" parent="ItemTestSpawnPoint" instance=ExtResource("11_8natv")]
|
||||
|
||||
[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="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"]
|
||||
|
@ -61,11 +61,11 @@ texture_filter = 2
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_ibd1t"]
|
||||
size = Vector3(2.35, 3.1, 1.5)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ibd1t"]
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_hb05j"]
|
||||
albedo_color = Color(0.866667, 0.109804, 0.101961, 1)
|
||||
|
||||
[sub_resource type="SphereMesh" id="SphereMesh_ibd1t"]
|
||||
material = SubResource("StandardMaterial3D_ibd1t")
|
||||
material = SubResource("StandardMaterial3D_hb05j")
|
||||
radius = 0.2
|
||||
height = 0.4
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
class_name GrunkSplatter extends GPUParticles3D
|
||||
## Splatter effect with adjustable volume
|
||||
|
||||
const BASE_VOLUME := -12.0
|
||||
const BASE_VOLUME := -4.0
|
||||
const SCALE_FACTOR := 4.0
|
||||
|
||||
const SCENE := preload("res://src/effects/grunk_splatter/grunk_splatter.tscn")
|
||||
|
@ -141,11 +141,12 @@ point_count = 2
|
||||
curve = SubResource("Curve_opa8j")
|
||||
|
||||
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_opa8j"]
|
||||
lifetime_randomness = 0.5
|
||||
angle_min = -184.7
|
||||
angle_max = 239.3
|
||||
direction = Vector3(0, 0, -1)
|
||||
spread = 90.0
|
||||
initial_velocity_min = 5.0
|
||||
spread = 180.0
|
||||
initial_velocity_min = 4.0
|
||||
initial_velocity_max = 5.0
|
||||
angular_velocity_min = -360.0
|
||||
angular_velocity_max = 360.0
|
||||
@ -193,7 +194,7 @@ autostart = true
|
||||
[node name="SplatterSFX" type="AudioStreamPlayer3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
stream = SubResource("AudioStreamRandomizer_6adkd")
|
||||
volume_db = -12.0
|
||||
volume_db = -3.0
|
||||
unit_size = 6.0
|
||||
autoplay = true
|
||||
bus = &"SFX"
|
||||
@ -211,10 +212,11 @@ shape = SubResource("SphereShape3D_6adkd")
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0)
|
||||
emitting = false
|
||||
amount = 64
|
||||
amount = 512
|
||||
lifetime = 1.2
|
||||
one_shot = true
|
||||
explosiveness = 0.9
|
||||
randomness = 1.0
|
||||
process_material = SubResource("ParticleProcessMaterial_opa8j")
|
||||
|
||||
[connection signal="ready" from="." to="SplatterSFX" method="play"]
|
||||
|
@ -66,6 +66,7 @@ transform = Transform3D(1, 0, 0, 0, 0.997564, -0.0697565, 0, 0.0697565, 0.997564
|
||||
unique_name_in_owner = true
|
||||
target_position = Vector3(0, 0, -3)
|
||||
parent_tool = NodePath("../..")
|
||||
dust_emission_scale = 0.03
|
||||
|
||||
[node name="SpraySFX" parent="Muzzle/LaserCast" instance=ExtResource("3_5h54c")]
|
||||
unique_name_in_owner = true
|
||||
|
@ -182,21 +182,21 @@ unique_name_in_owner = true
|
||||
[node name="LaserCast" parent="Muzzle/Pivot/SprayCasts" node_paths=PackedStringArray("parent_tool") instance=ExtResource("3_xahet")]
|
||||
target_position = Vector3(-0.5, 0, -2)
|
||||
parent_tool = NodePath("../../../..")
|
||||
dust_emission_scale = 0.01
|
||||
dust_emission_scale = 0.005
|
||||
|
||||
[node name="LaserCast2" parent="Muzzle/Pivot/SprayCasts" node_paths=PackedStringArray("parent_tool") instance=ExtResource("3_xahet")]
|
||||
target_position = Vector3(-0.333, 0, -2)
|
||||
parent_tool = NodePath("../../../..")
|
||||
dust_emission_scale = 0.01
|
||||
dust_emission_scale = 0.005
|
||||
|
||||
[node name="LaserCast3" parent="Muzzle/Pivot/SprayCasts" node_paths=PackedStringArray("parent_tool") instance=ExtResource("3_xahet")]
|
||||
target_position = Vector3(-0.167, 0, -2)
|
||||
parent_tool = NodePath("../../../..")
|
||||
dust_emission_scale = 0.01
|
||||
dust_emission_scale = 0.005
|
||||
|
||||
[node name="LaserCast4" parent="Muzzle/Pivot/SprayCasts" node_paths=PackedStringArray("parent_tool") instance=ExtResource("3_xahet")]
|
||||
parent_tool = NodePath("../../../..")
|
||||
dust_emission_scale = 0.01
|
||||
dust_emission_scale = 0.005
|
||||
|
||||
[node name="SpraySFX" parent="Muzzle/Pivot/SprayCasts/LaserCast4" instance=ExtResource("3_v0jnx")]
|
||||
unique_name_in_owner = true
|
||||
@ -205,17 +205,17 @@ attenuation_model = 0
|
||||
[node name="LaserCast5" parent="Muzzle/Pivot/SprayCasts" node_paths=PackedStringArray("parent_tool") instance=ExtResource("3_xahet")]
|
||||
target_position = Vector3(0.167, 0, -2)
|
||||
parent_tool = NodePath("../../../..")
|
||||
dust_emission_scale = 0.01
|
||||
dust_emission_scale = 0.005
|
||||
|
||||
[node name="LaserCast6" parent="Muzzle/Pivot/SprayCasts" node_paths=PackedStringArray("parent_tool") instance=ExtResource("3_xahet")]
|
||||
target_position = Vector3(0.333, 0, -2)
|
||||
parent_tool = NodePath("../../../..")
|
||||
dust_emission_scale = 0.01
|
||||
dust_emission_scale = 0.005
|
||||
|
||||
[node name="LaserCast7" parent="Muzzle/Pivot/SprayCasts" node_paths=PackedStringArray("parent_tool") instance=ExtResource("3_xahet")]
|
||||
target_position = Vector3(0.5, 0, -2)
|
||||
parent_tool = NodePath("../../../..")
|
||||
dust_emission_scale = 0.01
|
||||
dust_emission_scale = 0.005
|
||||
|
||||
[node name="SprayEffect" type="MeshInstance3D" parent="Muzzle/Pivot"]
|
||||
unique_name_in_owner = true
|
||||
|
@ -64,4 +64,14 @@ func write() -> void:
|
||||
print_debug("Writing settings to ", settings_file)
|
||||
ProjectSettings.save_custom(settings_file)
|
||||
print_debug("Writing audio bus levels to ", audio_bus_file)
|
||||
# Write a bus layout with all effects removed
|
||||
var base_layout := AudioServer.generate_bus_layout()
|
||||
_strip_bus_effects()
|
||||
ResourceSaver.save(AudioServer.generate_bus_layout(), audio_bus_file)
|
||||
AudioServer.set_bus_layout(base_layout)
|
||||
|
||||
|
||||
func _strip_bus_effects() -> void:
|
||||
for bus_idx: int in AudioServer.bus_count:
|
||||
for fx_idx: int in AudioServer.get_bus_effect_count(bus_idx):
|
||||
AudioServer.remove_bus_effect(bus_idx, fx_idx)
|
||||
|
@ -13,37 +13,37 @@ script = ExtResource("1_xjjma")
|
||||
[node name="Confirm" type="AudioStreamPlayer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("2_xjjma")
|
||||
volume_db = -20.0
|
||||
volume_db = -2.0
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="Accept" type="AudioStreamPlayer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("3_xl3ms")
|
||||
volume_db = -20.0
|
||||
volume_db = -2.0
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="Forward" type="AudioStreamPlayer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("3_xjjma")
|
||||
volume_db = -20.0
|
||||
volume_db = -2.0
|
||||
pitch_scale = 0.7
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="Back" type="AudioStreamPlayer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("3_xjjma")
|
||||
volume_db = -20.0
|
||||
volume_db = -2.0
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="Bonk" type="AudioStreamPlayer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("4_ywyuo")
|
||||
volume_db = -16.0
|
||||
volume_db = -5.0
|
||||
pitch_scale = 1.1
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="Bloop" type="AudioStreamPlayer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("6_ywyuo")
|
||||
volume_db = -20.0
|
||||
volume_db = -4.0
|
||||
bus = &"SFX"
|
||||
|
@ -728,16 +728,18 @@ script = ExtResource("9_l271a")
|
||||
|
||||
[node name="Metal" type="AudioStreamPlayer3D" parent="FootstepController/LeftFoot"]
|
||||
stream = SubResource("AudioStreamRandomizer_8ydov")
|
||||
volume_db = -42.0
|
||||
volume_db = -30.0
|
||||
unit_size = 18.0
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="Grunk" type="AudioStreamPlayer3D" parent="FootstepController/LeftFoot"]
|
||||
stream = SubResource("AudioStreamRandomizer_wcxbk")
|
||||
unit_size = 24.0
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="Plastic" type="AudioStreamPlayer3D" parent="FootstepController/LeftFoot"]
|
||||
stream = SubResource("AudioStreamRandomizer_o04tx")
|
||||
volume_db = -24.0
|
||||
unit_size = 16.0
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="RightFoot" type="Node3D" parent="FootstepController"]
|
||||
@ -747,17 +749,19 @@ script = ExtResource("9_l271a")
|
||||
|
||||
[node name="Metal" type="AudioStreamPlayer3D" parent="FootstepController/RightFoot"]
|
||||
stream = SubResource("AudioStreamRandomizer_ylhto")
|
||||
volume_db = -42.0
|
||||
volume_db = -30.0
|
||||
unit_size = 18.0
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="Grunk" type="AudioStreamPlayer3D" parent="FootstepController/RightFoot"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.8, 0, 0)
|
||||
stream = SubResource("AudioStreamRandomizer_p6grl")
|
||||
unit_size = 24.0
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="Plastic" type="AudioStreamPlayer3D" parent="FootstepController/RightFoot"]
|
||||
stream = SubResource("AudioStreamRandomizer_e7e1q")
|
||||
volume_db = -24.0
|
||||
unit_size = 16.0
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="FootCast" type="RayCast3D" parent="FootstepController"]
|
||||
@ -829,5 +833,4 @@ tutorial_key = &"game/tutorial/progress/move"
|
||||
[node name="ToolSwitchSFX" type="AudioStreamPlayer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("39_gsylq")
|
||||
volume_db = -12.0
|
||||
pitch_scale = 1.8
|
||||
|
@ -317,7 +317,6 @@ shape = SubResource("ConcavePolygonShape3D_w7oba")
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.9, 0)
|
||||
stream = ExtResource("5_4jho1")
|
||||
volume_db = -10.0
|
||||
|
||||
[node name="Ramp" type="StaticBody3D" parent="." index="4" groups=["MetalMaterial"]]
|
||||
|
||||
@ -364,7 +363,7 @@ libraries = {
|
||||
|
||||
[node name="DustSFX" type="AudioStreamPlayer3D" parent="Dust" index="5"]
|
||||
stream = ExtResource("7_4jho1")
|
||||
volume_db = -24.0
|
||||
volume_db = -14.0
|
||||
|
||||
[node name="NavLink" type="NavigationLink3D" parent="." index="6"]
|
||||
unique_name_in_owner = true
|
||||
|
@ -228,7 +228,7 @@ mesh = SubResource("BoxMesh_a6hjm")
|
||||
|
||||
[node name="SuccessSFX" type="AudioStreamPlayer3D" parent="Lights/SuccessLight" index="0"]
|
||||
stream = ExtResource("11_7shuc")
|
||||
volume_db = -16.0
|
||||
volume_db = -9.0
|
||||
unit_size = 4.0
|
||||
bus = &"SFX"
|
||||
|
||||
|
@ -410,7 +410,6 @@ libraries = {
|
||||
|
||||
[node name="TankAlertBonkSFX" type="AudioStreamPlayer" parent="AlertHUD/TankAlert"]
|
||||
stream = ExtResource("7_bu2tv")
|
||||
volume_db = -8.0
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="GrunkAlert" type="Control" parent="AlertHUD"]
|
||||
@ -459,10 +458,10 @@ anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -19.0295
|
||||
offset_top = -20.3157
|
||||
offset_right = -19.0295
|
||||
offset_bottom = -20.3157
|
||||
offset_left = -20.2593
|
||||
offset_top = -19.6536
|
||||
offset_right = -20.2593
|
||||
offset_bottom = -19.6536
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("4_ud8na")
|
||||
|
@ -1,7 +1,7 @@
|
||||
class_name VolumeSlider extends VBoxContainer
|
||||
## Input element for adjusting the volume of a single bus.
|
||||
|
||||
const VOLUME_FACTOR := 50.0
|
||||
const VOLUME_FACTOR := 100.0
|
||||
|
||||
@export var bus_idx: int
|
||||
|
||||
|
@ -32,6 +32,7 @@ unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 1
|
||||
size_flags_vertical = 3
|
||||
max_value = 200.0
|
||||
step = 0.1
|
||||
|
||||
[node name="DigitalDisplay" type="HBoxContainer" parent="."]
|
||||
@ -41,6 +42,7 @@ size_flags_horizontal = 4
|
||||
[node name="SpinBox" type="SpinBox" parent="DigitalDisplay"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
max_value = 200.0
|
||||
step = 0.1
|
||||
alignment = 2
|
||||
suffix = "%"
|
||||
@ -48,7 +50,7 @@ suffix = "%"
|
||||
[node name="AudioDemo" type="AudioStreamPlayer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("3_y4yh3")
|
||||
volume_db = -20.0
|
||||
volume_db = -2.0
|
||||
|
||||
[connection signal="drag_ended" from="Slider" to="." method="_on_slider_drag_ended"]
|
||||
[connection signal="value_changed" from="Slider" to="." method="_on_component_value_changed"]
|
||||
|
@ -607,7 +607,7 @@ tracks/22/keys = {
|
||||
"times": PackedFloat32Array(6.15, 10),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [-40.0, -10.0]
|
||||
"values": [-40.0, 0.0]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_3qdtd"]
|
||||
@ -841,14 +841,14 @@ autoplay = "display"
|
||||
|
||||
[node name="TitleSFX" type="AudioStreamPlayer" parent="TitleScreenContent"]
|
||||
unique_name_in_owner = true
|
||||
volume_db = -20.0
|
||||
volume_db = -10.0
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="TitleDrone" type="AudioStreamPlayer" parent="TitleScreenContent"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("11_gdkv4")
|
||||
volume_db = -40.0
|
||||
bus = &"Music"
|
||||
bus = &"Ambient"
|
||||
|
||||
[node name="SettingsContainer" type="Control" parent="."]
|
||||
unique_name_in_owner = true
|
||||
|
@ -37,7 +37,7 @@ shape = SubResource("ConcavePolygonShape3D_530fq")
|
||||
[node name="ChitterSFX" type="AudioStreamPlayer3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
stream = SubResource("AudioStreamRandomizer_yg8lg")
|
||||
volume_db = -14.0
|
||||
volume_db = -8.0
|
||||
unit_size = 1.5
|
||||
panning_strength = 3.0
|
||||
bus = &"SFX"
|
||||
|
@ -6,7 +6,7 @@
|
||||
[ext_resource type="Material" uid="uid://bmab6i16v748m" path="res://assets/materials/grunk_jittery.material" id="3_g4yos"]
|
||||
[ext_resource type="Script" uid="uid://b274q7uvn0cvp" path="res://src/ui/rumbler_3d.gd" id="3_vokcn"]
|
||||
[ext_resource type="Material" uid="uid://cdpvcruywnp4x" path="res://assets/grunk/alarm/alarm_core.material" id="5_6vdvf"]
|
||||
[ext_resource type="AudioStream" uid="uid://ypk1d4adrcs" path="res://assets/sfx/grunk/alarm_screech.wav" id="6_6vdvf"]
|
||||
[ext_resource type="AudioStream" uid="uid://6yo1n0l1jgok" path="res://assets/sfx/grunk/alarm_screech.wav" id="6_6vdvf"]
|
||||
|
||||
[sub_resource type="SphereMesh" id="SphereMesh_b6er8"]
|
||||
radius = 0.285
|
||||
|
@ -132,7 +132,7 @@ speed_scale = 4.0
|
||||
|
||||
[node name="HeartbeatSFX" type="AudioStreamPlayer3D" parent="."]
|
||||
stream = ExtResource("3_eu6st")
|
||||
unit_size = 0.4
|
||||
unit_size = 1.0
|
||||
bus = &"SFX"
|
||||
|
||||
[connection signal="timeout" from="PulseTimer" to="." method="pulse"]
|
||||
|
@ -4,7 +4,7 @@
|
||||
[ext_resource type="Resource" uid="uid://tgac5tnfx56r" path="res://src/world/world_manager.tres" id="2_5kmgb"]
|
||||
[ext_resource type="PackedScene" uid="uid://byvjsvavbg5xe" path="res://src/ui/menus/pause_menu/pause_menu.tscn" id="2_6fy3g"]
|
||||
[ext_resource type="Resource" uid="uid://0i72bf8ip1lx" path="res://src/world/spook_manager.tres" id="3_l0av5"]
|
||||
[ext_resource type="PackedScene" uid="uid://dc4tts6342cuj" path="res://levels/prop_test/prop_test.tscn" id="4_5kmgb"]
|
||||
[ext_resource type="PackedScene" uid="uid://b8rv6dg4tgaeb" path="res://levels/mechanic_test/mechanic_test.tscn" id="4_5kmgb"]
|
||||
[ext_resource type="PackedScene" uid="uid://c0uitm5cg88h1" path="res://src/ui/menus/kill_screen/kill_screen.tscn" id="6_l0av5"]
|
||||
[ext_resource type="PackedScene" uid="uid://brknr57xc2cp0" path="res://src/ui/elements/save_icon/save_icon.tscn" id="7_5kmgb"]
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user