generated from krampus/template-godot4
Compare commits
5 Commits
e4d5f7b673
...
f966dc43df
Author | SHA1 | Date | |
---|---|---|---|
f966dc43df | |||
2440103f66 | |||
0a7dabc797 | |||
c1610629df | |||
76f6cff965 |
BIN
asset_dev/sfx/118481__steveygos93__dolphin.wav
Normal file
BIN
asset_dev/sfx/118481__steveygos93__dolphin.wav
Normal file
Binary file not shown.
Binary file not shown.
BIN
asset_dev/sfx/530588__nox_sound__footsteps_boots_tile_mono.wav
Normal file
BIN
asset_dev/sfx/530588__nox_sound__footsteps_boots_tile_mono.wav
Normal file
Binary file not shown.
Binary file not shown.
BIN
asset_dev/sfx/computer_noise.aup3
Normal file
BIN
asset_dev/sfx/computer_noise.aup3
Normal file
Binary file not shown.
Binary file not shown.
BIN
asset_dev/sfx/computer_noise.aup3-wal
Normal file
BIN
asset_dev/sfx/computer_noise.aup3-wal
Normal file
Binary file not shown.
BIN
asset_dev/sfx/grunk_chitter.aup3
Normal file
BIN
asset_dev/sfx/grunk_chitter.aup3
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
assets/sfx/ambient/drone_loop.wav
Normal file
BIN
assets/sfx/ambient/drone_loop.wav
Normal file
Binary file not shown.
24
assets/sfx/ambient/drone_loop.wav.import
Normal file
24
assets/sfx/ambient/drone_loop.wav.import
Normal file
@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://dx4d8a3mgpws"
|
||||
path="res://.godot/imported/drone_loop.wav-50d3d68932a0f8909ec9e82813b96e81.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/ambient/drone_loop.wav"
|
||||
dest_files=["res://.godot/imported/drone_loop.wav-50d3d68932a0f8909ec9e82813b96e81.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=2
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
BIN
assets/sfx/ambient/metal_creak1.wav
Normal file
BIN
assets/sfx/ambient/metal_creak1.wav
Normal file
Binary file not shown.
24
assets/sfx/ambient/metal_creak1.wav.import
Normal file
24
assets/sfx/ambient/metal_creak1.wav.import
Normal file
@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://cqh31d5my7fst"
|
||||
path="res://.godot/imported/metal_creak1.wav-a72b7ee01a1248f0ebb7ee255aa967a8.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/ambient/metal_creak1.wav"
|
||||
dest_files=["res://.godot/imported/metal_creak1.wav-a72b7ee01a1248f0ebb7ee255aa967a8.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
BIN
assets/sfx/ambient/metal_creak2.wav
Normal file
BIN
assets/sfx/ambient/metal_creak2.wav
Normal file
Binary file not shown.
24
assets/sfx/ambient/metal_creak2.wav.import
Normal file
24
assets/sfx/ambient/metal_creak2.wav.import
Normal file
@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://cfvdtl1n42bis"
|
||||
path="res://.godot/imported/metal_creak2.wav-d321f0e1beee9e46895a66b1d0ba6cd3.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/ambient/metal_creak2.wav"
|
||||
dest_files=["res://.godot/imported/metal_creak2.wav-d321f0e1beee9e46895a66b1d0ba6cd3.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
BIN
assets/sfx/ambient/metal_creak3.wav
Normal file
BIN
assets/sfx/ambient/metal_creak3.wav
Normal file
Binary file not shown.
24
assets/sfx/ambient/metal_creak3.wav.import
Normal file
24
assets/sfx/ambient/metal_creak3.wav.import
Normal file
@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://p5uendw5mb3x"
|
||||
path="res://.godot/imported/metal_creak3.wav-abbe70474878fc7f80613c55338c8ac9.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/ambient/metal_creak3.wav"
|
||||
dest_files=["res://.godot/imported/metal_creak3.wav-abbe70474878fc7f80613c55338c8ac9.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
BIN
assets/sfx/ambient/metal_creak4.wav
Normal file
BIN
assets/sfx/ambient/metal_creak4.wav
Normal file
Binary file not shown.
24
assets/sfx/ambient/metal_creak4.wav.import
Normal file
24
assets/sfx/ambient/metal_creak4.wav.import
Normal file
@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://2qg0vqhygdwu"
|
||||
path="res://.godot/imported/metal_creak4.wav-8caa320412d3816732c7bc29c9c56bf9.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/ambient/metal_creak4.wav"
|
||||
dest_files=["res://.godot/imported/metal_creak4.wav-8caa320412d3816732c7bc29c9c56bf9.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
BIN
assets/sfx/ambient/metal_creak5.wav
Normal file
BIN
assets/sfx/ambient/metal_creak5.wav
Normal file
Binary file not shown.
24
assets/sfx/ambient/metal_creak5.wav.import
Normal file
24
assets/sfx/ambient/metal_creak5.wav.import
Normal file
@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://ot7sr34qya3j"
|
||||
path="res://.godot/imported/metal_creak5.wav-f548f5f5f39eb91fc2441b8edfa5a2ef.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/ambient/metal_creak5.wav"
|
||||
dest_files=["res://.godot/imported/metal_creak5.wav-f548f5f5f39eb91fc2441b8edfa5a2ef.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
BIN
assets/sfx/ambient/metal_creak6.wav
Normal file
BIN
assets/sfx/ambient/metal_creak6.wav
Normal file
Binary file not shown.
24
assets/sfx/ambient/metal_creak6.wav.import
Normal file
24
assets/sfx/ambient/metal_creak6.wav.import
Normal file
@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://7w531ufwc8c3"
|
||||
path="res://.godot/imported/metal_creak6.wav-c732fd331c4152c703e3a68ffbd882b3.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/ambient/metal_creak6.wav"
|
||||
dest_files=["res://.godot/imported/metal_creak6.wav-c732fd331c4152c703e3a68ffbd882b3.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
BIN
assets/sfx/ambient/metal_creak7.wav
Normal file
BIN
assets/sfx/ambient/metal_creak7.wav
Normal file
Binary file not shown.
24
assets/sfx/ambient/metal_creak7.wav.import
Normal file
24
assets/sfx/ambient/metal_creak7.wav.import
Normal file
@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://c60m6qlq5cnp2"
|
||||
path="res://.godot/imported/metal_creak7.wav-5492a96fdd18e144010413a42f059a68.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/ambient/metal_creak7.wav"
|
||||
dest_files=["res://.godot/imported/metal_creak7.wav-5492a96fdd18e144010413a42f059a68.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
BIN
assets/sfx/ambient/metal_creak8.wav
Normal file
BIN
assets/sfx/ambient/metal_creak8.wav
Normal file
Binary file not shown.
24
assets/sfx/ambient/metal_creak8.wav.import
Normal file
24
assets/sfx/ambient/metal_creak8.wav.import
Normal file
@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://cvwc2r2cmnaim"
|
||||
path="res://.godot/imported/metal_creak8.wav-0cff1fbe83cc492a5c003e6149dbf2dc.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/ambient/metal_creak8.wav"
|
||||
dest_files=["res://.godot/imported/metal_creak8.wav-0cff1fbe83cc492a5c003e6149dbf2dc.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
BIN
assets/sfx/computer_noise.wav
Normal file
BIN
assets/sfx/computer_noise.wav
Normal file
Binary file not shown.
24
assets/sfx/computer_noise.wav.import
Normal file
24
assets/sfx/computer_noise.wav.import
Normal file
@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://c838ofbu4bqrn"
|
||||
path="res://.godot/imported/computer_noise.wav-1bfe3b9b5e4b3c21bd96289c75340c5a.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/computer_noise.wav"
|
||||
dest_files=["res://.godot/imported/computer_noise.wav-1bfe3b9b5e4b3c21bd96289c75340c5a.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
BIN
assets/sfx/footsteps/grunk/grunk1.wav
Normal file
BIN
assets/sfx/footsteps/grunk/grunk1.wav
Normal file
Binary file not shown.
24
assets/sfx/footsteps/grunk/grunk1.wav.import
Normal file
24
assets/sfx/footsteps/grunk/grunk1.wav.import
Normal file
@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://tlmmikytpp6r"
|
||||
path="res://.godot/imported/grunk1.wav-bd52b5c2c311b3ac2d168133a66e115d.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/footsteps/grunk/grunk1.wav"
|
||||
dest_files=["res://.godot/imported/grunk1.wav-bd52b5c2c311b3ac2d168133a66e115d.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
BIN
assets/sfx/footsteps/grunk/grunk2.wav
Normal file
BIN
assets/sfx/footsteps/grunk/grunk2.wav
Normal file
Binary file not shown.
24
assets/sfx/footsteps/grunk/grunk2.wav.import
Normal file
24
assets/sfx/footsteps/grunk/grunk2.wav.import
Normal file
@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://dmscjvx66fxlf"
|
||||
path="res://.godot/imported/grunk2.wav-a45a2bc9fb219818c07548021cc2541a.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/footsteps/grunk/grunk2.wav"
|
||||
dest_files=["res://.godot/imported/grunk2.wav-a45a2bc9fb219818c07548021cc2541a.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
BIN
assets/sfx/footsteps/grunk/grunk3.wav
Normal file
BIN
assets/sfx/footsteps/grunk/grunk3.wav
Normal file
Binary file not shown.
24
assets/sfx/footsteps/grunk/grunk3.wav.import
Normal file
24
assets/sfx/footsteps/grunk/grunk3.wav.import
Normal file
@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://dmqyajdgxld0o"
|
||||
path="res://.godot/imported/grunk3.wav-252122fced628008dbb7cd192545111b.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/footsteps/grunk/grunk3.wav"
|
||||
dest_files=["res://.godot/imported/grunk3.wav-252122fced628008dbb7cd192545111b.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
BIN
assets/sfx/footsteps/grunk/grunk4.wav
Normal file
BIN
assets/sfx/footsteps/grunk/grunk4.wav
Normal file
Binary file not shown.
24
assets/sfx/footsteps/grunk/grunk4.wav.import
Normal file
24
assets/sfx/footsteps/grunk/grunk4.wav.import
Normal file
@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://djdixjel10yn1"
|
||||
path="res://.godot/imported/grunk4.wav-6bed7493bcbb4f9c0e5465ab36b7a847.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/footsteps/grunk/grunk4.wav"
|
||||
dest_files=["res://.godot/imported/grunk4.wav-6bed7493bcbb4f9c0e5465ab36b7a847.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
BIN
assets/sfx/footsteps/grunk/grunk5.wav
Normal file
BIN
assets/sfx/footsteps/grunk/grunk5.wav
Normal file
Binary file not shown.
24
assets/sfx/footsteps/grunk/grunk5.wav.import
Normal file
24
assets/sfx/footsteps/grunk/grunk5.wav.import
Normal file
@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://4mbqcr8vmd5c"
|
||||
path="res://.godot/imported/grunk5.wav-1cc1d241834c620d0bd372b7bad0d0a5.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/footsteps/grunk/grunk5.wav"
|
||||
dest_files=["res://.godot/imported/grunk5.wav-1cc1d241834c620d0bd372b7bad0d0a5.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
BIN
assets/sfx/footsteps/plastic/plastic1.wav
Normal file
BIN
assets/sfx/footsteps/plastic/plastic1.wav
Normal file
Binary file not shown.
24
assets/sfx/footsteps/plastic/plastic1.wav.import
Normal file
24
assets/sfx/footsteps/plastic/plastic1.wav.import
Normal file
@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://div20rlq8ync5"
|
||||
path="res://.godot/imported/plastic1.wav-794d926ca63a1f188c40e6f854b3a8b5.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/footsteps/plastic/plastic1.wav"
|
||||
dest_files=["res://.godot/imported/plastic1.wav-794d926ca63a1f188c40e6f854b3a8b5.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
BIN
assets/sfx/footsteps/plastic/plastic2.wav
Normal file
BIN
assets/sfx/footsteps/plastic/plastic2.wav
Normal file
Binary file not shown.
24
assets/sfx/footsteps/plastic/plastic2.wav.import
Normal file
24
assets/sfx/footsteps/plastic/plastic2.wav.import
Normal file
@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://dvyr3m24ccgrf"
|
||||
path="res://.godot/imported/plastic2.wav-7fde480418e5945fd50869995510dbce.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/footsteps/plastic/plastic2.wav"
|
||||
dest_files=["res://.godot/imported/plastic2.wav-7fde480418e5945fd50869995510dbce.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
BIN
assets/sfx/footsteps/plastic/plastic3.wav
Normal file
BIN
assets/sfx/footsteps/plastic/plastic3.wav
Normal file
Binary file not shown.
24
assets/sfx/footsteps/plastic/plastic3.wav.import
Normal file
24
assets/sfx/footsteps/plastic/plastic3.wav.import
Normal file
@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://djucfo3l7x7px"
|
||||
path="res://.godot/imported/plastic3.wav-3f1a85212096e927a6e4e086c37a5f31.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/footsteps/plastic/plastic3.wav"
|
||||
dest_files=["res://.godot/imported/plastic3.wav-3f1a85212096e927a6e4e086c37a5f31.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
BIN
assets/sfx/footsteps/plastic/plastic4.wav
Normal file
BIN
assets/sfx/footsteps/plastic/plastic4.wav
Normal file
Binary file not shown.
24
assets/sfx/footsteps/plastic/plastic4.wav.import
Normal file
24
assets/sfx/footsteps/plastic/plastic4.wav.import
Normal file
@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://cim5scvx3y6lk"
|
||||
path="res://.godot/imported/plastic4.wav-52d2cab1714f4cb394db64cfbe66c6b7.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/footsteps/plastic/plastic4.wav"
|
||||
dest_files=["res://.godot/imported/plastic4.wav-52d2cab1714f4cb394db64cfbe66c6b7.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
BIN
assets/sfx/footsteps/plastic/plastic5.wav
Normal file
BIN
assets/sfx/footsteps/plastic/plastic5.wav
Normal file
Binary file not shown.
24
assets/sfx/footsteps/plastic/plastic5.wav.import
Normal file
24
assets/sfx/footsteps/plastic/plastic5.wav.import
Normal file
@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://ck86vhmbg3xnj"
|
||||
path="res://.godot/imported/plastic5.wav-2bc1ec30deb6f15a4a6d84a82dbe29e6.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/footsteps/plastic/plastic5.wav"
|
||||
dest_files=["res://.godot/imported/plastic5.wav-2bc1ec30deb6f15a4a6d84a82dbe29e6.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
BIN
assets/sfx/grunk/groan1.wav
Normal file
BIN
assets/sfx/grunk/groan1.wav
Normal file
Binary file not shown.
24
assets/sfx/grunk/groan1.wav.import
Normal file
24
assets/sfx/grunk/groan1.wav.import
Normal file
@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://b288km80xeh0"
|
||||
path="res://.godot/imported/groan1.wav-166de7281a9e784fa78c70717b1d3d25.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/grunk/groan1.wav"
|
||||
dest_files=["res://.godot/imported/groan1.wav-166de7281a9e784fa78c70717b1d3d25.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
BIN
assets/sfx/grunk/groan2.wav
Normal file
BIN
assets/sfx/grunk/groan2.wav
Normal file
Binary file not shown.
24
assets/sfx/grunk/groan2.wav.import
Normal file
24
assets/sfx/grunk/groan2.wav.import
Normal file
@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://bujyltdunajj4"
|
||||
path="res://.godot/imported/groan2.wav-4e09bb09a4fa758f7652d6019d2f82fc.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/grunk/groan2.wav"
|
||||
dest_files=["res://.godot/imported/groan2.wav-4e09bb09a4fa758f7652d6019d2f82fc.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
BIN
assets/sfx/grunk/groan3.wav
Normal file
BIN
assets/sfx/grunk/groan3.wav
Normal file
Binary file not shown.
24
assets/sfx/grunk/groan3.wav.import
Normal file
24
assets/sfx/grunk/groan3.wav.import
Normal file
@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://bvtopyke5d17x"
|
||||
path="res://.godot/imported/groan3.wav-fe410936dcc4c7f7a7e17ce1ef5eecf0.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/grunk/groan3.wav"
|
||||
dest_files=["res://.godot/imported/groan3.wav-fe410936dcc4c7f7a7e17ce1ef5eecf0.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
62
levels/ghost_ship/ambient_drone.gd
Normal file
62
levels/ghost_ship/ambient_drone.gd
Normal file
@ -0,0 +1,62 @@
|
||||
extends AudioStreamPlayer
|
||||
|
||||
const MUTE_VOLUME := -80.0
|
||||
|
||||
@export var volume_increment := 0.618
|
||||
@export var base_volume := -14.0
|
||||
@export var boosted_volume := -2.0
|
||||
|
||||
var target_volume := MUTE_VOLUME
|
||||
var suppressed := false
|
||||
var boosted := false
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
Game.manager.alert_raised.connect(_on_alert_raised)
|
||||
|
||||
|
||||
func get_target_volume() -> float:
|
||||
if suppressed:
|
||||
return MUTE_VOLUME
|
||||
if boosted:
|
||||
return boosted_volume
|
||||
return target_volume
|
||||
|
||||
|
||||
## Temporarily suppress ambience
|
||||
func suppress(time: float = 5.0) -> void:
|
||||
suppressed = true
|
||||
get_tree().create_timer(time).timeout.connect(_unsuppress)
|
||||
|
||||
|
||||
## Temporarily boost ambience
|
||||
func boost(time: float = 5.0) -> void:
|
||||
boosted = true
|
||||
get_tree().create_timer(time).timeout.connect(_unboost)
|
||||
|
||||
|
||||
func _unsuppress() -> void:
|
||||
suppressed = false
|
||||
|
||||
|
||||
func _unboost() -> void:
|
||||
boosted = false
|
||||
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
volume_db = lerpf(volume_db, get_target_volume(), volume_increment * delta)
|
||||
|
||||
|
||||
func _on_player_enters_ship(_body: Node3D) -> void:
|
||||
target_volume = MUTE_VOLUME
|
||||
|
||||
|
||||
func _on_player_exits_ship(_body: Node3D) -> void:
|
||||
target_volume = base_volume
|
||||
|
||||
|
||||
func _on_alert_raised(new_level: int) -> void:
|
||||
if new_level == Game.manager.MAX_ALERT:
|
||||
suppress(30)
|
||||
else:
|
||||
boost(10.0)
|
1
levels/ghost_ship/ambient_drone.gd.uid
Normal file
1
levels/ghost_ship/ambient_drone.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://441gcyrbv0jd
|
@ -1,9 +1,36 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://bov4ok76woyc"]
|
||||
[gd_scene load_steps=18 format=3 uid="uid://bov4ok76woyc"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://crydi5cjgfwe5" path="res://levels/ghost_ship/ghost_ship_level.tscn" id="1_aj2m7"]
|
||||
[ext_resource type="Environment" uid="uid://bkvij3ljl5ox3" path="res://levels/ghost_ship/environment_3.tres" id="1_wwgrl"]
|
||||
[ext_resource type="PackedScene" uid="uid://bwe2jdmvinhqd" path="res://src/player/player.tscn" id="2_0ef5p"]
|
||||
[ext_resource type="PackedScene" uid="uid://d1kacn4b60ucy" path="res://src/ui/post_processing.tscn" id="3_o7mxe"]
|
||||
[ext_resource type="AudioStream" uid="uid://dx4d8a3mgpws" path="res://assets/sfx/ambient/drone_loop.wav" id="5_ejh2c"]
|
||||
[ext_resource type="Script" uid="uid://441gcyrbv0jd" path="res://levels/ghost_ship/ambient_drone.gd" id="5_jiowi"]
|
||||
[ext_resource type="PackedScene" uid="uid://dd21uy6yfgg51" path="res://src/effects/creaker/creaker.tscn" id="7_vdioa"]
|
||||
[ext_resource type="AudioStream" uid="uid://cqh31d5my7fst" path="res://assets/sfx/ambient/metal_creak1.wav" id="8_ihj8k"]
|
||||
[ext_resource type="AudioStream" uid="uid://cfvdtl1n42bis" path="res://assets/sfx/ambient/metal_creak2.wav" id="9_d2iql"]
|
||||
[ext_resource type="AudioStream" uid="uid://p5uendw5mb3x" path="res://assets/sfx/ambient/metal_creak3.wav" id="10_8h40n"]
|
||||
[ext_resource type="AudioStream" uid="uid://2qg0vqhygdwu" path="res://assets/sfx/ambient/metal_creak4.wav" id="11_it47q"]
|
||||
[ext_resource type="AudioStream" uid="uid://ot7sr34qya3j" path="res://assets/sfx/ambient/metal_creak5.wav" id="12_h081y"]
|
||||
[ext_resource type="AudioStream" uid="uid://7w531ufwc8c3" path="res://assets/sfx/ambient/metal_creak6.wav" id="13_law5k"]
|
||||
[ext_resource type="AudioStream" uid="uid://c60m6qlq5cnp2" path="res://assets/sfx/ambient/metal_creak7.wav" id="14_4mbcm"]
|
||||
[ext_resource type="AudioStream" uid="uid://cvwc2r2cmnaim" path="res://assets/sfx/ambient/metal_creak8.wav" id="15_r4ldl"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_o7mxe"]
|
||||
size = Vector3(6, 4, 15)
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_d8fas"]
|
||||
playback_mode = 1
|
||||
random_pitch = 1.1
|
||||
streams_count = 8
|
||||
stream_0/stream = ExtResource("8_ihj8k")
|
||||
stream_1/stream = ExtResource("9_d2iql")
|
||||
stream_2/stream = ExtResource("10_8h40n")
|
||||
stream_3/stream = ExtResource("11_it47q")
|
||||
stream_4/stream = ExtResource("12_h081y")
|
||||
stream_5/stream = ExtResource("13_law5k")
|
||||
stream_6/stream = ExtResource("14_4mbcm")
|
||||
stream_7/stream = ExtResource("15_r4ldl")
|
||||
|
||||
[node name="GhostShip" type="Node3D"]
|
||||
|
||||
@ -18,3 +45,61 @@ environment = ExtResource("1_wwgrl")
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 1, 0)
|
||||
|
||||
[node name="Player" parent="PlayerSpawn" instance=ExtResource("2_0ef5p")]
|
||||
|
||||
[node name="PlayerShipArea" type="Area3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0)
|
||||
collision_layer = 0
|
||||
collision_mask = 8
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="PlayerShipArea"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.5, 0)
|
||||
shape = SubResource("BoxShape3D_o7mxe")
|
||||
|
||||
[node name="AmbientDrone" type="AudioStreamPlayer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("5_ejh2c")
|
||||
volume_db = -80.0
|
||||
autoplay = true
|
||||
bus = &"Music"
|
||||
script = ExtResource("5_jiowi")
|
||||
base_volume = -18.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")
|
||||
unit_size = 2.0
|
||||
interval_mean = 120.0
|
||||
interval_st_dev = 30.0
|
||||
|
||||
[node name="Creaker2" parent="AmbientSFX" instance=ExtResource("7_vdioa")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 1, -54)
|
||||
stream = SubResource("AudioStreamRandomizer_d8fas")
|
||||
unit_size = 2.0
|
||||
interval_mean = 120.0
|
||||
interval_st_dev = 30.0
|
||||
|
||||
[node name="Creaker3" parent="AmbientSFX" instance=ExtResource("7_vdioa")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -27, 1, -54)
|
||||
stream = SubResource("AudioStreamRandomizer_d8fas")
|
||||
unit_size = 2.0
|
||||
interval_mean = 120.0
|
||||
interval_st_dev = 30.0
|
||||
|
||||
[node name="Creaker4" parent="AmbientSFX" instance=ExtResource("7_vdioa")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -2, -77)
|
||||
stream = SubResource("AudioStreamRandomizer_d8fas")
|
||||
unit_size = 2.0
|
||||
interval_mean = 120.0
|
||||
interval_st_dev = 30.0
|
||||
|
||||
[node name="Creaker5" parent="AmbientSFX" instance=ExtResource("7_vdioa")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 2, -38)
|
||||
stream = SubResource("AudioStreamRandomizer_d8fas")
|
||||
unit_size = 2.0
|
||||
interval_mean = 120.0
|
||||
interval_st_dev = 30.0
|
||||
|
||||
[connection signal="body_entered" from="PlayerShipArea" to="AmbientDrone" method="_on_player_enters_ship"]
|
||||
[connection signal="body_exited" from="PlayerShipArea" to="AmbientDrone" method="_on_player_exits_ship"]
|
||||
|
@ -6196,6 +6196,7 @@ outline_size = 36
|
||||
|
||||
[node name="GrunkNodule" parent="Airlock" instance=ExtResource("19_ji5cn")]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.866026, -0.5, 0, 0.5, 0.866026, -2.05, 0.15, -4.5)
|
||||
chitter = true
|
||||
value = 4000.0
|
||||
|
||||
[node name="GrunkNodule2" parent="Airlock" instance=ExtResource("19_ji5cn")]
|
||||
@ -6203,6 +6204,7 @@ transform = Transform3D(0.5, 0, 0, 0, 0.353553, 0.353554, 0, -0.353554, 0.353553
|
||||
|
||||
[node name="GrunkNodule3" parent="Airlock" instance=ExtResource("19_ji5cn")]
|
||||
transform = Transform3D(0.5, 0, 0, 0, 0.353553, 0.353554, 0, -0.353554, 0.353553, 1.4, 2.65, -4.3)
|
||||
chitter = true
|
||||
|
||||
[node name="OverheadLight" parent="Airlock" instance=ExtResource("39_kp5n7")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 0)
|
||||
@ -6293,10 +6295,12 @@ shape = SubResource("ConcavePolygonShape3D_ruwlj")
|
||||
|
||||
[node name="GrunkNodule" parent="Corridor1/Hallway2" instance=ExtResource("19_ji5cn")]
|
||||
transform = Transform3D(0.866025, 0.5, 0, -0.5, 0.866025, 0, 0, 0, 1, -1.35, 0, -1.15)
|
||||
chitter = true
|
||||
value = 4000.0
|
||||
|
||||
[node name="GrunkNodule2" parent="Corridor1/Hallway2" instance=ExtResource("19_ji5cn")]
|
||||
transform = Transform3D(0.519615, 0.3, 0, 2.98023e-08, 2.98023e-08, -0.6, -0.3, 0.519615, 0, -1.35, 0, 0.25)
|
||||
chitter = true
|
||||
|
||||
[node name="GrunkNodule3" parent="Corridor1/Hallway2" instance=ExtResource("19_ji5cn")]
|
||||
transform = Transform3D(0.129904, 0.375, -0.45, -0.439868, -0.241946, -0.328601, -0.386835, 0.401045, 0.222535, -1.35, 0.5, -0.25)
|
||||
@ -6307,10 +6311,12 @@ value = 800.0
|
||||
|
||||
[node name="GrunkNodule6" parent="Corridor1/Hallway2" instance=ExtResource("19_ji5cn")]
|
||||
transform = Transform3D(0.109602, 0.109602, 0.268468, 0.219203, -0.219203, 9.58262e-10, 0.189835, 0.189835, -0.155, -1.5, 1.52511, -2.25)
|
||||
chitter = true
|
||||
value = 800.0
|
||||
|
||||
[node name="GrunkNodule5" parent="Corridor1/Hallway2" instance=ExtResource("19_ji5cn")]
|
||||
transform = Transform3D(0.0773296, 0.288598, 0.1725, 0.0446463, 0.166622, -0.298779, -0.333244, 0.0892925, -7.54021e-09, -1.5, 1.12511, -1.75)
|
||||
chitter = true
|
||||
value = 800.0
|
||||
|
||||
[node name="FloatingDust" parent="Corridor1/Hallway2" instance=ExtResource("25_6giaa")]
|
||||
@ -6791,6 +6797,7 @@ value = 500.0
|
||||
|
||||
[node name="GrunkNodule7" parent="MessHall/Traps/Trap1" instance=ExtResource("19_ji5cn")]
|
||||
transform = Transform3D(0.214063, 0.323536, -0.0974745, -0.07312, -0.0683013, -0.387283, -0.329895, 0.225076, 0.0225905, 1.44886, 0.3, 1.41177)
|
||||
chitter = true
|
||||
durability = 1.5
|
||||
value = 500.0
|
||||
|
||||
@ -6812,9 +6819,11 @@ transform = Transform3D(-0.364606, -0.492715, -0.338074, -0.478109, 0.478109, -0
|
||||
|
||||
[node name="GrunkNodule8" parent="MessHall/Traps/Trap1" instance=ExtResource("19_ji5cn")]
|
||||
transform = Transform3D(-0.435211, -0.430994, -0.338873, -0.539981, 0.411872, 0.169653, 0.0949319, 0.366886, -0.588543, -0.507496, 0.6, -2.41218)
|
||||
chitter = true
|
||||
|
||||
[node name="GrunkNodule9" parent="MessHall/Traps/Trap1" instance=ExtResource("19_ji5cn")]
|
||||
transform = Transform3D(-0.0703269, 0.693365, 0.0655666, 0.696452, 0.0702819, 0.00378095, -0.00283841, 0.0656149, -0.696912, -1.35603, 0.6, -0.942478)
|
||||
chitter = true
|
||||
|
||||
[node name="GrunkNodule10" parent="MessHall/Traps/Trap1" instance=ExtResource("19_ji5cn")]
|
||||
transform = Transform3D(0.0233609, -0.207042, -0.45452, 0.497466, 0.0502018, 0.00270045, 0.0445172, -0.452342, 0.208338, -1.49432, 0.348541, 0.0263252)
|
||||
@ -6824,6 +6833,7 @@ editor_description = "Teach players traps may not always be obvious"
|
||||
|
||||
[node name="GrunkNodule8" parent="MessHall/Traps/Trap2" instance=ExtResource("19_ji5cn")]
|
||||
transform = Transform3D(0.73038, 0.635646, -0.25, -0.683013, 0.683013, -0.258819, 0.00623576, 0.35979, 0.933013, 2.53411, 0.4, 5.23866)
|
||||
chitter = true
|
||||
|
||||
[node name="GrunkNodule10" parent="MessHall/Traps/Trap2" instance=ExtResource("19_ji5cn")]
|
||||
transform = Transform3D(-0.124128, -0.101968, 0.578096, -0.434356, -0.381517, -0.160559, 0.394876, -0.451716, 0.00511129, 2.23411, 1.3, 4.63866)
|
||||
@ -6839,6 +6849,7 @@ value = 300.0
|
||||
|
||||
[node name="GrunkNodule16" parent="MessHall/Traps/Trap2" instance=ExtResource("19_ji5cn")]
|
||||
transform = Transform3D(0.121483, -0.134858, -0.238862, -0.195351, 0.140856, -0.178879, 0.192561, 0.227976, -0.030777, 1.37645, 1.58525, 4.81688)
|
||||
chitter = true
|
||||
value = 300.0
|
||||
|
||||
[node name="GrunkNodule12" parent="MessHall/Traps/Trap2" instance=ExtResource("19_ji5cn")]
|
||||
|
@ -18,6 +18,7 @@ const STALLING_MSG := "\n\n\n\n\n. . . C a l c u l a t i n G . . ."
|
||||
|
||||
@onready var text_terminal: TextTerminal = %TextTerminal
|
||||
@onready var stall_timer: Timer = %StallTimer
|
||||
@onready var terminal_animation: AnimationPlayer = %TerminalAnimation
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
@ -56,6 +57,7 @@ func build_message() -> String:
|
||||
## Under the hood this is instantaneous, but we want to stall for dramatic effect.
|
||||
func recompute() -> void:
|
||||
text_terminal.text = STALLING_MSG
|
||||
terminal_animation.play("jangle")
|
||||
stall_timer.start()
|
||||
|
||||
|
||||
|
@ -24,6 +24,7 @@ func deposit_grunk() -> void:
|
||||
# Tank is disabled until the player collects more grunk.
|
||||
tank_interactor.enabled = false
|
||||
Game.manager.deposit_tank()
|
||||
|
||||
set_liquid_level(clampf(Game.manager.grunk_vault / MAX_GRUNK, 0.0, 1.0))
|
||||
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=22 format=3 uid="uid://oowut88kr2ox"]
|
||||
[gd_scene load_steps=29 format=3 uid="uid://oowut88kr2ox"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://lfd36ps52xgk" path="res://levels/ghost_ship/player_ship/player_ship.gd" id="1_0r2ng"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://dq4aj5ph31rce" path="res://assets/level/player_ship/player_ship.obj" id="1_nafoa"]
|
||||
@ -13,6 +13,8 @@
|
||||
[ext_resource type="Texture2D" uid="uid://cm1jrvx7ftx4c" path="res://assets/black.png" id="9_xuj2g"]
|
||||
[ext_resource type="FastNoiseLite" uid="uid://cnlvdtx68giv6" path="res://assets/materials/gunk_noise.tres" id="10_2mvif"]
|
||||
[ext_resource type="PackedScene" uid="uid://mgygam1kakb7" path="res://levels/ghost_ship/player_ship/grunk_terminal/grunk_terminal.tscn" id="13_3trrp"]
|
||||
[ext_resource type="Script" uid="uid://vewq8h8uulbg" path="res://src/util/translator_path_3d.gd" id="13_i4yi7"]
|
||||
[ext_resource type="AudioStream" uid="uid://c838ofbu4bqrn" path="res://assets/sfx/computer_noise.wav" id="14_was05"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xpsdy"]
|
||||
transparency = 1
|
||||
@ -79,10 +81,147 @@ shader_parameter/jitter_noise = SubResource("NoiseTexture3D_omayi")
|
||||
shader_parameter/vertex_inflation = 0.0
|
||||
shader_parameter/inflation_pixellation = 10.0
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_i4yi7"]
|
||||
albedo_color = Color(0.243137, 0.231373, 0.219608, 1)
|
||||
|
||||
[sub_resource type="Curve3D" id="Curve3D_ta4yu"]
|
||||
_data = {
|
||||
"points": PackedVector3Array(0, 0, 0, -0.6, -0.525, 0, 0, 0, 0, -0.6, 0, 0, 0.05, 0, 0, 0, -1.4, 0),
|
||||
"tilts": PackedFloat32Array(0, 0)
|
||||
}
|
||||
point_count = 2
|
||||
|
||||
[sub_resource type="Animation" id="Animation_i4yi7"]
|
||||
resource_name = "jangle"
|
||||
length = 3.0
|
||||
tracks/0/type = "bezier"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Path3D:curve:point_1/position:x")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"handle_modes": PackedInt32Array(0, 0, 0, 0),
|
||||
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0.15, 0, -0.25, 0.15, 0.25, -0.15, 0, -0.25, -0.025, 0.266667, 0.0459175, 0, -0.366667, -0.00160158, 0.25, 0),
|
||||
"times": PackedFloat32Array(0, 1, 2, 3)
|
||||
}
|
||||
tracks/1/type = "bezier"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Path3D:curve:point_1/position:y")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"handle_modes": PackedInt32Array(0, 0, 0, 0, 0, 0, 0),
|
||||
"points": PackedFloat32Array(-1.4, -0.25, 0, 0.16, 0.25, -1.4, -0.25, 0.25, 0.25, -0.2, -1.4, -0.25, -0.2, 0.25, 0.15, -1.4, -0.25, 0.15, 0.25, -0.1, -1.4, -0.25, -0.1, 0.25, 0.05, -1.4, -0.25, 0.05, 0.25, 0, -1.4, -0.25, 0, 0.25, 0),
|
||||
"times": PackedFloat32Array(0, 0.6, 1, 1.5, 2, 2.5, 3)
|
||||
}
|
||||
tracks/2/type = "bezier"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Path3D:curve:point_1/position:z")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"handle_modes": PackedInt32Array(0, 0, 0, 0, 0, 0),
|
||||
"points": PackedFloat32Array(0, -0.25, 0, 0.2, 0.2, 0, -0.2, 0.2, 0.233333, -0.227317, 0, -0.2, 0.0429476, 0.2, -0.025, 0, -0.2, -0.025, 0.2, 0.013, 0, -0.2, 0.013, 0.2, -0.001, 0, -0.0666666, 0.00136808, 0.25, 0),
|
||||
"times": PackedFloat32Array(0, 0.8, 1.9, 2.3, 2.6, 3)
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Path3D/GrunkTerminal:rotation")
|
||||
tracks/3/interp = 2
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0, 0.5, 1.3, 2.2, 3),
|
||||
"transitions": PackedFloat32Array(0.618, 1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0.2618, 1.5708, 0), Vector3(0.158825, 1.5708, 0.174533), Vector3(0.467748, 1.5708, -0.139626), Vector3(0.261799, 1.5708, 0.0698132), Vector3(0.261799, 1.5708, 0)]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Path3D/GrunkTerminal/AudioStreamPlayer3D:playing")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_ta4yu"]
|
||||
length = 0.001
|
||||
tracks/0/type = "bezier"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Path3D:curve:point_1/position:x")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"handle_modes": PackedInt32Array(0),
|
||||
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0),
|
||||
"times": PackedFloat32Array(0)
|
||||
}
|
||||
tracks/1/type = "bezier"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Path3D:curve:point_1/position:y")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"handle_modes": PackedInt32Array(0),
|
||||
"points": PackedFloat32Array(-1.4, -0.25, 0, 0.25, 0),
|
||||
"times": PackedFloat32Array(0)
|
||||
}
|
||||
tracks/2/type = "bezier"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Path3D:curve:point_1/position:z")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"handle_modes": PackedInt32Array(0),
|
||||
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0),
|
||||
"times": PackedFloat32Array(0)
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Path3D/GrunkTerminal:rotation")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0.2618, 1.5708, 0)]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Path3D/GrunkTerminal/AudioStreamPlayer3D:playing")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_fw23o"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_ta4yu"),
|
||||
&"jangle": SubResource("Animation_i4yi7")
|
||||
}
|
||||
|
||||
[node name="PlayerShip" type="Node3D"]
|
||||
script = ExtResource("1_0r2ng")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="."]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="." groups=["PlasticMaterial"]]
|
||||
collision_layer = 5
|
||||
|
||||
[node name="PlayerShipMesh" type="MeshInstance3D" parent="StaticBody3D"]
|
||||
@ -126,7 +265,38 @@ light_energy = 2.0
|
||||
light_indirect_energy = 8.0
|
||||
omni_range = 10.0
|
||||
|
||||
[node name="GrunkTerminal" parent="." instance=ExtResource("13_3trrp")]
|
||||
transform = Transform3D(-0.707107, 0.183013, 0.683013, 0, 0.965926, -0.258819, -0.707107, -0.183013, -0.683013, -1.87678, 1.71247, 4.17322)
|
||||
[node name="TerminalCable" type="CSGPolygon3D" parent="."]
|
||||
transform = Transform3D(0.707107, 0, 0.707107, 0, 1, 0, -0.707107, 0, 0.707107, -1.87678, 3.21247, 4.17322)
|
||||
polygon = PackedVector2Array(0.25, 0, 0.125, 0.217, -0.125, 0.217, -0.25, 0, -0.125, -0.216, 0.125, -0.216)
|
||||
mode = 2
|
||||
path_node = NodePath("Path3D")
|
||||
path_interval_type = 0
|
||||
path_interval = 0.25
|
||||
path_simplify_angle = 0.0
|
||||
path_rotation = 2
|
||||
path_rotation_accurate = false
|
||||
path_local = true
|
||||
path_continuous_u = true
|
||||
path_u_distance = 1.0
|
||||
path_joined = false
|
||||
material = SubResource("StandardMaterial3D_i4yi7")
|
||||
|
||||
[node name="Path3D" type="Path3D" parent="TerminalCable"]
|
||||
curve = SubResource("Curve3D_ta4yu")
|
||||
script = ExtResource("13_i4yi7")
|
||||
|
||||
[node name="GrunkTerminal" parent="TerminalCable/Path3D" instance=ExtResource("13_3trrp")]
|
||||
transform = Transform3D(-4.37114e-08, 0.258819, 0.965926, 0, 0.965926, -0.258819, -1, -1.13134e-08, -4.2222e-08, 0, -1.4, 0)
|
||||
|
||||
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="TerminalCable/Path3D/GrunkTerminal"]
|
||||
stream = ExtResource("14_was05")
|
||||
volume_db = -6.0
|
||||
unit_size = 1.0
|
||||
|
||||
[node name="TerminalAnimation" type="AnimationPlayer" parent="TerminalCable"]
|
||||
unique_name_in_owner = true
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_fw23o")
|
||||
}
|
||||
|
||||
[connection signal="activated" from="TankInteractor" to="." method="deposit_grunk"]
|
||||
|
@ -181,6 +181,7 @@ locale/translations=PackedStringArray("res://assets/text/text.en.translation")
|
||||
3d_physics/layer_1="Physics"
|
||||
3d_physics/layer_2="Interactive"
|
||||
3d_physics/layer_3="Sprayable"
|
||||
3d_physics/layer_4="Player"
|
||||
|
||||
[rendering]
|
||||
|
||||
|
20
src/effects/creaker/creaker.gd
Normal file
20
src/effects/creaker/creaker.gd
Normal file
@ -0,0 +1,20 @@
|
||||
extends AudioStreamPlayer3D
|
||||
# Plays sounds at a random interval
|
||||
|
||||
@export var interval_mean := 60.0
|
||||
@export var interval_st_dev := 10.0
|
||||
|
||||
@onready var timer: Timer = %Timer
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
restart_timer()
|
||||
|
||||
|
||||
func restart_timer() -> void:
|
||||
timer.start(maxf(0.0, randfn(interval_mean, interval_st_dev)))
|
||||
|
||||
|
||||
func _on_timer_timeout() -> void:
|
||||
play()
|
||||
restart_timer()
|
1
src/effects/creaker/creaker.gd.uid
Normal file
1
src/effects/creaker/creaker.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://g26s3cyq4iao
|
12
src/effects/creaker/creaker.tscn
Normal file
12
src/effects/creaker/creaker.tscn
Normal file
@ -0,0 +1,12 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://dd21uy6yfgg51"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://g26s3cyq4iao" path="res://src/effects/creaker/creaker.gd" id="1_4jx4a"]
|
||||
|
||||
[node name="Creaker" type="AudioStreamPlayer3D"]
|
||||
script = ExtResource("1_4jx4a")
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
one_shot = true
|
||||
|
||||
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
|
@ -1,14 +1,16 @@
|
||||
class_name FootController extends Node3D
|
||||
|
||||
@onready var metal: AudioStreamPlayer3D = $Metal
|
||||
@onready var grunk: AudioStreamPlayer3D = $Grunk
|
||||
@onready var plastic: AudioStreamPlayer3D = $Plastic
|
||||
|
||||
|
||||
func get_player_for_material(surface_material: SurfaceMaterial.Type) -> AudioStreamPlayer3D:
|
||||
match surface_material:
|
||||
SurfaceMaterial.Type.GRUNK:
|
||||
pass # TODO
|
||||
return grunk
|
||||
SurfaceMaterial.Type.PLASTIC:
|
||||
pass # TODO
|
||||
return plastic
|
||||
SurfaceMaterial.Type.METAL:
|
||||
return metal
|
||||
SurfaceMaterial.Type.UNKNOWN:
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=36 format=3 uid="uid://bwe2jdmvinhqd"]
|
||||
[gd_scene load_steps=49 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"]
|
||||
@ -17,10 +17,19 @@
|
||||
[ext_resource type="AudioStream" uid="uid://bpdnw4qgbp6kj" path="res://assets/sfx/footsteps/metal/metal9.wav" id="14_4uy46"]
|
||||
[ext_resource type="AudioStream" uid="uid://eagr344y4coh" path="res://assets/sfx/footsteps/metal/metal11.wav" id="15_k60ra"]
|
||||
[ext_resource type="AudioStream" uid="uid://bguwbr0nlhgkl" path="res://assets/sfx/footsteps/metal/metal2.wav" id="16_a4vah"]
|
||||
[ext_resource type="AudioStream" uid="uid://tlmmikytpp6r" path="res://assets/sfx/footsteps/grunk/grunk1.wav" id="17_a4vah"]
|
||||
[ext_resource type="AudioStream" uid="uid://co83ygaa4d65u" path="res://assets/sfx/footsteps/metal/metal4.wav" id="17_vwi60"]
|
||||
[ext_resource type="AudioStream" uid="uid://dkx88wqwfvfst" path="res://assets/sfx/footsteps/metal/metal6.wav" id="18_o04tx"]
|
||||
[ext_resource type="AudioStream" uid="uid://dmqyajdgxld0o" path="res://assets/sfx/footsteps/grunk/grunk3.wav" id="18_vwi60"]
|
||||
[ext_resource type="AudioStream" uid="uid://bo3klycfvvq2q" path="res://assets/sfx/footsteps/metal/metal8.wav" id="19_j2873"]
|
||||
[ext_resource type="AudioStream" uid="uid://4mbqcr8vmd5c" path="res://assets/sfx/footsteps/grunk/grunk5.wav" id="19_o04tx"]
|
||||
[ext_resource type="AudioStream" uid="uid://btiyoi1ipofd" path="res://assets/sfx/footsteps/metal/metal10.wav" id="20_dpt0q"]
|
||||
[ext_resource type="AudioStream" uid="uid://dvyr3m24ccgrf" path="res://assets/sfx/footsteps/plastic/plastic2.wav" id="20_vwi60"]
|
||||
[ext_resource type="AudioStream" uid="uid://dmscjvx66fxlf" path="res://assets/sfx/footsteps/grunk/grunk2.wav" id="25_j2873"]
|
||||
[ext_resource type="AudioStream" uid="uid://djdixjel10yn1" path="res://assets/sfx/footsteps/grunk/grunk4.wav" id="26_dpt0q"]
|
||||
[ext_resource type="AudioStream" uid="uid://div20rlq8ync5" path="res://assets/sfx/footsteps/plastic/plastic1.wav" id="28_dpt0q"]
|
||||
[ext_resource type="AudioStream" uid="uid://djucfo3l7x7px" path="res://assets/sfx/footsteps/plastic/plastic3.wav" id="29_wcxbk"]
|
||||
[ext_resource type="AudioStream" uid="uid://ck86vhmbg3xnj" path="res://assets/sfx/footsteps/plastic/plastic5.wav" id="30_p6grl"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_x42xx"]
|
||||
length = 0.001
|
||||
@ -172,6 +181,22 @@ stream_3/stream = ExtResource("13_5efpn")
|
||||
stream_4/stream = ExtResource("14_4uy46")
|
||||
stream_5/stream = ExtResource("15_k60ra")
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_wcxbk"]
|
||||
playback_mode = 1
|
||||
random_pitch = 1.1
|
||||
streams_count = 3
|
||||
stream_0/stream = ExtResource("17_a4vah")
|
||||
stream_1/stream = ExtResource("18_vwi60")
|
||||
stream_2/stream = ExtResource("19_o04tx")
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_o04tx"]
|
||||
playback_mode = 1
|
||||
random_pitch = 1.1
|
||||
streams_count = 3
|
||||
stream_0/stream = ExtResource("20_vwi60")
|
||||
stream_1/stream = ExtResource("20_vwi60")
|
||||
stream_2/stream = ExtResource("20_vwi60")
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_ylhto"]
|
||||
random_pitch = 1.1
|
||||
streams_count = 5
|
||||
@ -181,7 +206,24 @@ stream_2/stream = ExtResource("18_o04tx")
|
||||
stream_3/stream = ExtResource("19_j2873")
|
||||
stream_4/stream = ExtResource("20_dpt0q")
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_p6grl"]
|
||||
playback_mode = 1
|
||||
random_pitch = 1.1
|
||||
streams_count = 3
|
||||
stream_0/stream = ExtResource("25_j2873")
|
||||
stream_1/stream = ExtResource("26_dpt0q")
|
||||
stream_2/stream = ExtResource("17_a4vah")
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_e7e1q"]
|
||||
playback_mode = 1
|
||||
random_pitch = 1.1
|
||||
streams_count = 3
|
||||
stream_0/stream = ExtResource("28_dpt0q")
|
||||
stream_1/stream = ExtResource("29_wcxbk")
|
||||
stream_2/stream = ExtResource("30_p6grl")
|
||||
|
||||
[node name="Player" type="CharacterBody3D"]
|
||||
collision_layer = 9
|
||||
script = ExtResource("1_npueo")
|
||||
|
||||
[node name="CameraPivot" type="Node3D" parent="."]
|
||||
@ -267,6 +309,16 @@ stream = SubResource("AudioStreamRandomizer_8ydov")
|
||||
volume_db = -42.0
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="Grunk" type="AudioStreamPlayer3D" parent="FootstepController/LeftFoot"]
|
||||
stream = SubResource("AudioStreamRandomizer_wcxbk")
|
||||
volume_db = -20.0
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="Plastic" type="AudioStreamPlayer3D" parent="FootstepController/LeftFoot"]
|
||||
stream = SubResource("AudioStreamRandomizer_o04tx")
|
||||
volume_db = -24.0
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="RightFoot" type="Node3D" parent="FootstepController"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.4, 0, 0)
|
||||
@ -277,6 +329,17 @@ stream = SubResource("AudioStreamRandomizer_ylhto")
|
||||
volume_db = -42.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")
|
||||
volume_db = -20.0
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="Plastic" type="AudioStreamPlayer3D" parent="FootstepController/RightFoot"]
|
||||
stream = SubResource("AudioStreamRandomizer_e7e1q")
|
||||
volume_db = -24.0
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="FootCast" type="RayCast3D" parent="FootstepController"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0518835, 0)
|
||||
|
10
src/util/translator_path_3d.gd
Normal file
10
src/util/translator_path_3d.gd
Normal file
@ -0,0 +1,10 @@
|
||||
@tool
|
||||
class_name TranslatorPath3D extends Path3D
|
||||
## Keeps all child elements at the last point on the curve.
|
||||
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
if curve and curve.point_count > 1:
|
||||
var endpoint := curve.get_point_position(curve.point_count - 1)
|
||||
for c: Node3D in get_children():
|
||||
c.position = endpoint
|
1
src/util/translator_path_3d.gd.uid
Normal file
1
src/util/translator_path_3d.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://vewq8h8uulbg
|
@ -3,10 +3,22 @@ extends GunkNode
|
||||
@export var jitter_scale_factor := 0.05
|
||||
@export var jitter_inflation_factor := 1.0
|
||||
|
||||
@export var chitter: bool = false
|
||||
@export var chitter_time_mean := 120.0
|
||||
@export var chitter_time_st_dev := 30.0
|
||||
|
||||
@export var splatter_scene: PackedScene
|
||||
|
||||
@onready var mesh_instance: MeshInstance3D = %MeshInstance3D
|
||||
|
||||
@onready var chitter_sfx: AudioStreamPlayer3D = %ChitterSFX
|
||||
@onready var chitter_timer: Timer = %ChitterTimer
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
if chitter:
|
||||
start_chitter_timer()
|
||||
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
super._process(delta)
|
||||
@ -21,3 +33,13 @@ func _destroy() -> void:
|
||||
add_sibling(splatter)
|
||||
splatter.global_position = global_position
|
||||
splatter.emitting = true
|
||||
|
||||
|
||||
func start_chitter_timer() -> void:
|
||||
var interval := randfn(chitter_time_mean, chitter_time_st_dev)
|
||||
chitter_timer.start(interval)
|
||||
|
||||
|
||||
func _on_chitter_timer_timeout() -> void:
|
||||
chitter_sfx.play()
|
||||
start_chitter_timer()
|
||||
|
@ -1,8 +1,11 @@
|
||||
[gd_scene load_steps=7 format=4 uid="uid://2yqi5u5eo025"]
|
||||
[gd_scene load_steps=11 format=4 uid="uid://2yqi5u5eo025"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://07t7yhijru8f" path="res://src/world/gunk_node/grunk_nodule.gd" id="1_iyr82"]
|
||||
[ext_resource type="PackedScene" uid="uid://xlt78xc1tmkl" path="res://src/effects/grunk_splatter.tscn" id="2_m8r0a"]
|
||||
[ext_resource type="Material" uid="uid://bmab6i16v748m" path="res://assets/materials/grunk_jittery.material" id="3_eu6j6"]
|
||||
[ext_resource type="AudioStream" uid="uid://b288km80xeh0" path="res://assets/sfx/grunk/groan1.wav" id="4_ri4uq"]
|
||||
[ext_resource type="AudioStream" uid="uid://bujyltdunajj4" path="res://assets/sfx/grunk/groan2.wav" id="5_7fplw"]
|
||||
[ext_resource type="AudioStream" uid="uid://bvtopyke5d17x" path="res://assets/sfx/grunk/groan3.wav" id="6_omayi"]
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_24j8i"]
|
||||
_surfaces = [{
|
||||
@ -39,6 +42,13 @@ shadow_mesh = SubResource("ArrayMesh_24j8i")
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_530fq"]
|
||||
data = PackedVector3Array(0.7236, -0.4472, 0.5257, 0, -1, 0, -0.2764, -0.4472, 0.8506, 0, -1, 0, 0.7236, -0.4472, 0.5257, 0.7236, -0.4472, -0.5257, -0.2764, -0.4472, 0.8506, 0, -1, 0, -0.8944, -0.4472, 0, -0.8944, -0.4472, 0, 0, -1, 0, -0.2764, -0.4472, -0.8506, -0.2764, -0.4472, -0.8506, 0, -1, 0, 0.7236, -0.4472, -0.5257, 0.7236, -0.4472, -0.5257, 0.7236, -0.4472, 0.5257, 0.8944, 0.4472, 0, 0.7236, -0.4472, 0.5257, -0.2764, -0.4472, 0.8506, 0.2764, 0.4472, 0.8506, -0.2764, -0.4472, 0.8506, -0.8944, -0.4472, 0, -0.7236, 0.4472, 0.5257, -0.8944, -0.4472, 0, -0.2764, -0.4472, -0.8506, -0.7236, 0.4472, -0.5257, -0.2764, -0.4472, -0.8506, 0.7236, -0.4472, -0.5257, 0.2764, 0.4472, -0.8506, 0.8944, 0.4472, 0, 0.7236, -0.4472, 0.5257, 0.2764, 0.4472, 0.8506, 0.2764, 0.4472, 0.8506, -0.2764, -0.4472, 0.8506, -0.7236, 0.4472, 0.5257, -0.7236, 0.4472, 0.5257, -0.8944, -0.4472, 0, -0.7236, 0.4472, -0.5257, -0.7236, 0.4472, -0.5257, -0.2764, -0.4472, -0.8506, 0.2764, 0.4472, -0.8506, 0.2764, 0.4472, -0.8506, 0.7236, -0.4472, -0.5257, 0.8944, 0.4472, 0, 0.8944, 0.4472, 0, 0.2764, 0.4472, 0.8506, 0, 1, 0, 0.2764, 0.4472, 0.8506, -0.7236, 0.4472, 0.5257, 0, 1, 0, -0.7236, 0.4472, 0.5257, -0.7236, 0.4472, -0.5257, 0, 1, 0, -0.7236, 0.4472, -0.5257, 0.2764, 0.4472, -0.8506, 0, 1, 0, 0.2764, 0.4472, -0.8506, 0.8944, 0.4472, 0, 0, 1, 0)
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_yg8lg"]
|
||||
random_pitch = 1.1
|
||||
streams_count = 3
|
||||
stream_0/stream = ExtResource("4_ri4uq")
|
||||
stream_1/stream = ExtResource("5_7fplw")
|
||||
stream_2/stream = ExtResource("6_omayi")
|
||||
|
||||
[node name="GrunkNodule" type="StaticBody3D"]
|
||||
collision_layer = 5
|
||||
script = ExtResource("1_iyr82")
|
||||
@ -52,3 +62,15 @@ mesh = SubResource("ArrayMesh_iyr82")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
shape = SubResource("ConcavePolygonShape3D_530fq")
|
||||
|
||||
[node name="ChitterSFX" type="AudioStreamPlayer3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
stream = SubResource("AudioStreamRandomizer_yg8lg")
|
||||
volume_db = -20.0
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="ChitterTimer" type="Timer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
one_shot = true
|
||||
|
||||
[connection signal="timeout" from="ChitterTimer" to="." method="_on_chitter_timer_timeout"]
|
||||
|
@ -12,10 +12,11 @@ const PLASTIC_MATERIAL_GROUP := "PlasticMaterial"
|
||||
|
||||
|
||||
static func material_for_collider(collider: Node) -> SurfaceMaterial.Type:
|
||||
if collider is GunkNode:
|
||||
return Type.GRUNK
|
||||
if collider.is_in_group(METAL_MATERIAL_GROUP):
|
||||
return Type.METAL
|
||||
if collider.is_in_group(PLASTIC_MATERIAL_GROUP):
|
||||
return Type.PLASTIC
|
||||
if collider:
|
||||
if collider is GunkNode:
|
||||
return Type.GRUNK
|
||||
if collider.is_in_group(METAL_MATERIAL_GROUP):
|
||||
return Type.METAL
|
||||
if collider.is_in_group(PLASTIC_MATERIAL_GROUP):
|
||||
return Type.PLASTIC
|
||||
return Type.UNKNOWN
|
||||
|
@ -48,9 +48,12 @@
|
||||
- [ ] SFX:
|
||||
- [ ] ui bonk
|
||||
- [ ] prop clear glitter
|
||||
- [x] computer bleep on reload
|
||||
- [ ] grunk tank deposit schlorp
|
||||
- [ ] player ship door
|
||||
- [x] metal footsteps
|
||||
- [ ] plastic footsteps
|
||||
- [ ] grunk footsteps
|
||||
- [x] plastic footsteps
|
||||
- [x] grunk footsteps
|
||||
- [x] beam noises
|
||||
- [x] spray noises
|
||||
- [ ] switch klaxon
|
||||
@ -61,8 +64,8 @@
|
||||
- [ ] grunk relay chitter
|
||||
- [ ] grunk chittering
|
||||
- [ ] grunkbeast???
|
||||
- [ ] grunk ambiance
|
||||
- [ ] spaceship ambiance
|
||||
- [x] grunk ambiance
|
||||
- [x] spaceship ambiance
|
||||
- [ ] models:
|
||||
- [ ] [[grunk]] nodes:
|
||||
- [ ] [[alarm]]
|
||||
|
@ -1,18 +1,54 @@
|
||||
- SFX
|
||||
- "Walking on Metal"
|
||||
- author: Sanderboah
|
||||
- CC0
|
||||
- retrieved from https://freesound.org/people/Sanderboah/sounds/696374/
|
||||
- assets/sfx/footsteps/metal/metal*.wav
|
||||
- "Click_Electronic_04.wav"
|
||||
- author: LittleRobotSoundFactory
|
||||
- CC BY 4.0
|
||||
- retrieved from https://freesound.org/people/LittleRobotSoundFactory/sounds/288956/
|
||||
- assets/sfx/click_electronic_04.wav
|
||||
- "Air Hiss"
|
||||
- author: Jofae
|
||||
- CC0
|
||||
- retrieved from https://freesound.org/people/Jofae/sounds/367125/
|
||||
- assets/sfx/air_hiss.wav
|
||||
- modified
|
||||
- "Heavy Mechanical Door Open"
|
||||
- author: lowpolygon
|
||||
- CC0
|
||||
- retrieved from https://freesound.org/people/lowpolygon/sounds/421722/
|
||||
- assets/sfx/mechanical_door.wav
|
||||
- assets/sfx/mechanical_door.wav
|
||||
- modified
|
||||
- "Footsteps_Mountain_Boots_Mud_Mono.wav"
|
||||
- author: Nox_Sound
|
||||
- CC0
|
||||
- retrieved from https://freesound.org/people/Nox_Sound/sounds/548384/
|
||||
- assets/sfx/footsteps/grunk/grunk*.wav
|
||||
- "Footsteps_Boots_Tile_Mono.wav"
|
||||
- author: Nox_Sound
|
||||
- CC0
|
||||
- retrieved from https://freesound.org/people/Nox_Sound/sounds/530588/
|
||||
- assets/sfx/footsteps/plastic/plastic*.wav
|
||||
- "Metal creak.wav"
|
||||
- author: sophiehall3535
|
||||
- CC0
|
||||
- retrieved from https://freesound.org/people/sophiehall3535/sounds/245945/
|
||||
- assets/sfx/ambient/metal_creak1.wav
|
||||
- "Drone Loop (Fixed)"
|
||||
- author: Fission9
|
||||
- CC0
|
||||
- retrieved from https://freesound.org/people/Fission9/sounds/567220/
|
||||
- assets/sfx/ambient/drone_loop.wav
|
||||
- "mechanical dishwasher rusty door mechanism metal creak stress"
|
||||
- author: jerry.berumen
|
||||
- CC BY 4.0
|
||||
- retrieved from https://freesound.org/people/jerry.berumen/sounds/769512/
|
||||
- assets/sfx/ambient/metal_creak2-8.wav
|
||||
- "Printer startup"
|
||||
- author: Clagnar
|
||||
- CC0
|
||||
- retrieved from https://freesound.org/people/Clagnar/sounds/547256/
|
||||
- assets/sfx/computer_noise.wav
|
||||
- modified
|
Loading…
x
Reference in New Issue
Block a user