diff --git a/assets/audio/gui/gui_tap.tres b/assets/audio/gui/gui_tap.tres new file mode 100644 index 0000000..42b8a7b --- /dev/null +++ b/assets/audio/gui/gui_tap.tres @@ -0,0 +1,10 @@ +[gd_resource type="AudioStreamRandomizer" load_steps=3 format=3 uid="uid://biys50yrawxj2"] + +[ext_resource type="AudioStream" uid="uid://b2f7dyly26lvg" path="res://assets/audio/gui/tap.mp3" id="1_klc4x"] +[ext_resource type="AudioStream" uid="uid://b33sp314og7td" path="res://assets/audio/gui/tap2.mp3" id="2_1ku7t"] + +[resource] +playback_mode = 1 +streams_count = 2 +stream_0/stream = ExtResource("1_klc4x") +stream_1/stream = ExtResource("2_1ku7t") diff --git a/assets/audio/gui/losemusic.mp3 b/assets/audio/gui/losemusic.mp3 new file mode 100644 index 0000000..98316c3 Binary files /dev/null and b/assets/audio/gui/losemusic.mp3 differ diff --git a/assets/audio/gui/losemusic.mp3.import b/assets/audio/gui/losemusic.mp3.import new file mode 100644 index 0000000..099aa9d --- /dev/null +++ b/assets/audio/gui/losemusic.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://48ox7s80nsl4" +path="res://.godot/imported/losemusic.mp3-a4e9a5d6c6bdbf41367e271480fc1337.mp3str" + +[deps] + +source_file="res://assets/audio/gui/losemusic.mp3" +dest_files=["res://.godot/imported/losemusic.mp3-a4e9a5d6c6bdbf41367e271480fc1337.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/gui/plant.mp3 b/assets/audio/gui/plant.mp3 new file mode 100644 index 0000000..9200583 Binary files /dev/null and b/assets/audio/gui/plant.mp3 differ diff --git a/assets/audio/gui/plant.mp3.import b/assets/audio/gui/plant.mp3.import new file mode 100644 index 0000000..dd4f858 --- /dev/null +++ b/assets/audio/gui/plant.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://dqua7hupmmo38" +path="res://.godot/imported/plant.mp3-a211fa6794d72cf3a6c798369d306b9e.mp3str" + +[deps] + +source_file="res://assets/audio/gui/plant.mp3" +dest_files=["res://.godot/imported/plant.mp3-a211fa6794d72cf3a6c798369d306b9e.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/gui/plant2.mp3 b/assets/audio/gui/plant2.mp3 new file mode 100644 index 0000000..b32636c Binary files /dev/null and b/assets/audio/gui/plant2.mp3 differ diff --git a/assets/audio/gui/plant2.mp3.import b/assets/audio/gui/plant2.mp3.import new file mode 100644 index 0000000..d5f5c6e --- /dev/null +++ b/assets/audio/gui/plant2.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://tdeilfeuriyg" +path="res://.godot/imported/plant2.mp3-2617911368b4c4c8e720f7886dfd6f25.mp3str" + +[deps] + +source_file="res://assets/audio/gui/plant2.mp3" +dest_files=["res://.godot/imported/plant2.mp3-2617911368b4c4c8e720f7886dfd6f25.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/gui/plant_generic.tres b/assets/audio/gui/plant_generic.tres new file mode 100644 index 0000000..d8f2c7f --- /dev/null +++ b/assets/audio/gui/plant_generic.tres @@ -0,0 +1,10 @@ +[gd_resource type="AudioStreamRandomizer" load_steps=3 format=3 uid="uid://ciepttpel6dxb"] + +[ext_resource type="AudioStream" uid="uid://dqua7hupmmo38" path="res://assets/audio/gui/plant.mp3" id="1_hkynj"] +[ext_resource type="AudioStream" uid="uid://tdeilfeuriyg" path="res://assets/audio/gui/plant2.mp3" id="2_u3gtt"] + +[resource] +playback_mode = 1 +streams_count = 2 +stream_0/stream = ExtResource("1_hkynj") +stream_1/stream = ExtResource("2_u3gtt") diff --git a/assets/audio/gui/seedlift.mp3 b/assets/audio/gui/seedlift.mp3 new file mode 100644 index 0000000..09fc0ec Binary files /dev/null and b/assets/audio/gui/seedlift.mp3 differ diff --git a/assets/audio/gui/seedlift.mp3.import b/assets/audio/gui/seedlift.mp3.import new file mode 100644 index 0000000..78116ec --- /dev/null +++ b/assets/audio/gui/seedlift.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://bmvl3qxdiud2k" +path="res://.godot/imported/seedlift.mp3-14f0ceb43a799cd9fb4348e842012ca6.mp3str" + +[deps] + +source_file="res://assets/audio/gui/seedlift.mp3" +dest_files=["res://.godot/imported/seedlift.mp3-14f0ceb43a799cd9fb4348e842012ca6.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/gui/tap.mp3 b/assets/audio/gui/tap.mp3 new file mode 100644 index 0000000..a4619ee Binary files /dev/null and b/assets/audio/gui/tap.mp3 differ diff --git a/assets/audio/gui/tap.mp3.import b/assets/audio/gui/tap.mp3.import new file mode 100644 index 0000000..f09810f --- /dev/null +++ b/assets/audio/gui/tap.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://b2f7dyly26lvg" +path="res://.godot/imported/tap.mp3-6dca4a15ca9f94a97b67722879d50302.mp3str" + +[deps] + +source_file="res://assets/audio/gui/tap.mp3" +dest_files=["res://.godot/imported/tap.mp3-6dca4a15ca9f94a97b67722879d50302.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/gui/tap2.mp3 b/assets/audio/gui/tap2.mp3 new file mode 100644 index 0000000..b245977 Binary files /dev/null and b/assets/audio/gui/tap2.mp3 differ diff --git a/assets/audio/gui/tap2.mp3.import b/assets/audio/gui/tap2.mp3.import new file mode 100644 index 0000000..9807614 --- /dev/null +++ b/assets/audio/gui/tap2.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://b33sp314og7td" +path="res://.godot/imported/tap2.mp3-3704d35799e0a21c16335cf371b52cea.mp3str" + +[deps] + +source_file="res://assets/audio/gui/tap2.mp3" +dest_files=["res://.godot/imported/tap2.mp3-3704d35799e0a21c16335cf371b52cea.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/music/Little Big - Go Bananas.mp3 b/assets/audio/music/Little Big - Go Bananas.mp3 new file mode 100644 index 0000000..dd54f20 Binary files /dev/null and b/assets/audio/music/Little Big - Go Bananas.mp3 differ diff --git a/assets/audio/music/Little Big - Go Bananas.mp3.import b/assets/audio/music/Little Big - Go Bananas.mp3.import new file mode 100644 index 0000000..9cf932a --- /dev/null +++ b/assets/audio/music/Little Big - Go Bananas.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://w7w07cdy5qmt" +path="res://.godot/imported/Little Big - Go Bananas.mp3-9bcadd18f2edd74bffc2a535965b4b7c.mp3str" + +[deps] + +source_file="res://assets/audio/music/Little Big - Go Bananas.mp3" +dest_files=["res://.godot/imported/Little Big - Go Bananas.mp3-9bcadd18f2edd74bffc2a535965b4b7c.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/music/Oliver Buckland - Hourglass Meadow.mp3 b/assets/audio/music/Oliver Buckland - Hourglass Meadow.mp3 new file mode 100644 index 0000000..31d1c3d Binary files /dev/null and b/assets/audio/music/Oliver Buckland - Hourglass Meadow.mp3 differ diff --git a/assets/audio/music/Oliver Buckland - Hourglass Meadow.mp3.import b/assets/audio/music/Oliver Buckland - Hourglass Meadow.mp3.import new file mode 100644 index 0000000..e59b850 --- /dev/null +++ b/assets/audio/music/Oliver Buckland - Hourglass Meadow.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://djvq0s4qxcro2" +path="res://.godot/imported/Oliver Buckland - Hourglass Meadow.mp3-8453e40ef2dd1f128ca1caede76f63e5.mp3str" + +[deps] + +source_file="res://assets/audio/music/Oliver Buckland - Hourglass Meadow.mp3" +dest_files=["res://.godot/imported/Oliver Buckland - Hourglass Meadow.mp3-8453e40ef2dd1f128ca1caede76f63e5.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/music/Peter McConnell - Far Future (Demonstration Minigame).mp3 b/assets/audio/music/Peter McConnell - Far Future (Demonstration Minigame).mp3 new file mode 100644 index 0000000..53dc50c Binary files /dev/null and b/assets/audio/music/Peter McConnell - Far Future (Demonstration Minigame).mp3 differ diff --git a/assets/audio/music/Peter McConnell - Far Future (Demonstration Minigame).mp3.import b/assets/audio/music/Peter McConnell - Far Future (Demonstration Minigame).mp3.import new file mode 100644 index 0000000..f8b8b02 --- /dev/null +++ b/assets/audio/music/Peter McConnell - Far Future (Demonstration Minigame).mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://8ixfx0uewkgo" +path="res://.godot/imported/Peter McConnell - Far Future (Demonstration Minigame).mp3-4824b4d19ce4062c58608576c4861565.mp3str" + +[deps] + +source_file="res://assets/audio/music/Peter McConnell - Far Future (Demonstration Minigame).mp3" +dest_files=["res://.godot/imported/Peter McConnell - Far Future (Demonstration Minigame).mp3-4824b4d19ce4062c58608576c4861565.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/music/Peter McConnell - Frostbite Caves (Demonstration Minigame).mp3 b/assets/audio/music/Peter McConnell - Frostbite Caves (Demonstration Minigame).mp3 new file mode 100644 index 0000000..8e1c68f Binary files /dev/null and b/assets/audio/music/Peter McConnell - Frostbite Caves (Demonstration Minigame).mp3 differ diff --git a/assets/audio/music/Peter McConnell - Frostbite Caves (Demonstration Minigame).mp3.import b/assets/audio/music/Peter McConnell - Frostbite Caves (Demonstration Minigame).mp3.import new file mode 100644 index 0000000..ee16da6 --- /dev/null +++ b/assets/audio/music/Peter McConnell - Frostbite Caves (Demonstration Minigame).mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://btf3ompk8gvq6" +path="res://.godot/imported/Peter McConnell - Frostbite Caves (Demonstration Minigame).mp3-0b7f50ba6c273f5e137beab39cce1aeb.mp3str" + +[deps] + +source_file="res://assets/audio/music/Peter McConnell - Frostbite Caves (Demonstration Minigame).mp3" +dest_files=["res://.godot/imported/Peter McConnell - Frostbite Caves (Demonstration Minigame).mp3-0b7f50ba6c273f5e137beab39cce1aeb.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/music/Unknown - Slipknot Unsainted Instrumental.mp3 b/assets/audio/music/Unknown - Slipknot Unsainted Instrumental.mp3 new file mode 100644 index 0000000..87fb298 Binary files /dev/null and b/assets/audio/music/Unknown - Slipknot Unsainted Instrumental.mp3 differ diff --git a/assets/audio/music/Unknown - Slipknot Unsainted Instrumental.mp3.import b/assets/audio/music/Unknown - Slipknot Unsainted Instrumental.mp3.import new file mode 100644 index 0000000..a556c48 --- /dev/null +++ b/assets/audio/music/Unknown - Slipknot Unsainted Instrumental.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://ddyfbe40fs5er" +path="res://.godot/imported/Unknown - Slipknot Unsainted Instrumental.mp3-c88e45862eb37d4406f225e65298249f.mp3str" + +[deps] + +source_file="res://assets/audio/music/Unknown - Slipknot Unsainted Instrumental.mp3" +dest_files=["res://.godot/imported/Unknown - Slipknot Unsainted Instrumental.mp3-c88e45862eb37d4406f225e65298249f.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/music/playlist.tres b/assets/audio/music/playlist.tres new file mode 100644 index 0000000..b4d2b3b --- /dev/null +++ b/assets/audio/music/playlist.tres @@ -0,0 +1,15 @@ +[gd_resource type="AudioStreamPlaylist" load_steps=5 format=3 uid="uid://bxshjvvtv3fmp"] + +[ext_resource type="AudioStream" uid="uid://8ixfx0uewkgo" path="res://assets/audio/music/Peter McConnell - Far Future (Demonstration Minigame).mp3" id="2_pf8yc"] +[ext_resource type="AudioStream" uid="uid://btf3ompk8gvq6" path="res://assets/audio/music/Peter McConnell - Frostbite Caves (Demonstration Minigame).mp3" id="3_nnobx"] +[ext_resource type="AudioStream" uid="uid://w7w07cdy5qmt" path="res://assets/audio/music/Little Big - Go Bananas.mp3" id="4_txg7g"] +[ext_resource type="AudioStream" uid="uid://djvq0s4qxcro2" path="res://assets/audio/music/Oliver Buckland - Hourglass Meadow.mp3" id="4_wjg2a"] + +[resource] +shuffle = true +fade_time = 0.5 +stream_count = 4 +stream_0 = ExtResource("2_pf8yc") +stream_1 = ExtResource("3_nnobx") +stream_2 = ExtResource("4_txg7g") +stream_3 = ExtResource("4_wjg2a") diff --git a/assets/audio/sfx/argh.tres b/assets/audio/sfx/argh.tres new file mode 100644 index 0000000..2614b20 --- /dev/null +++ b/assets/audio/sfx/argh.tres @@ -0,0 +1,9 @@ +[gd_resource type="AudioStreamRandomizer" load_steps=3 format=3 uid="uid://ch55p7qbaawtp"] + +[ext_resource type="AudioStream" uid="uid://b7u4db3e50snf" path="res://assets/audio/sfx/newspaper_rarrgh.mp3" id="1_ywryg"] +[ext_resource type="AudioStream" uid="uid://caeucyx1kjux6" path="res://assets/audio/sfx/newspaper_rarrgh2.mp3" id="2_c7q6s"] + +[resource] +streams_count = 2 +stream_0/stream = ExtResource("1_ywryg") +stream_1/stream = ExtResource("2_c7q6s") diff --git a/assets/audio/sfx/awooga.mp3 b/assets/audio/sfx/awooga.mp3 new file mode 100644 index 0000000..2825e54 Binary files /dev/null and b/assets/audio/sfx/awooga.mp3 differ diff --git a/assets/audio/sfx/awooga.mp3.import b/assets/audio/sfx/awooga.mp3.import new file mode 100644 index 0000000..6dad34f --- /dev/null +++ b/assets/audio/sfx/awooga.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://bs0rtpgc1tb86" +path="res://.godot/imported/awooga.mp3-c489951e90d65f20cf2164abc84e7dd6.mp3str" + +[deps] + +source_file="res://assets/audio/sfx/awooga.mp3" +dest_files=["res://.godot/imported/awooga.mp3-c489951e90d65f20cf2164abc84e7dd6.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/sfx/buttonclick.mp3 b/assets/audio/sfx/buttonclick.mp3 new file mode 100644 index 0000000..5a9b5e5 Binary files /dev/null and b/assets/audio/sfx/buttonclick.mp3 differ diff --git a/assets/audio/sfx/buttonclick.mp3.import b/assets/audio/sfx/buttonclick.mp3.import new file mode 100644 index 0000000..ff6ad94 --- /dev/null +++ b/assets/audio/sfx/buttonclick.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://bdx83fokp6kha" +path="res://.godot/imported/buttonclick.mp3-279d377606d9b03695de9c3f6dccacc9.mp3str" + +[deps] + +source_file="res://assets/audio/sfx/buttonclick.mp3" +dest_files=["res://.godot/imported/buttonclick.mp3-279d377606d9b03695de9c3f6dccacc9.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/sfx/chomp.mp3 b/assets/audio/sfx/chomp.mp3 new file mode 100644 index 0000000..e02dfc2 Binary files /dev/null and b/assets/audio/sfx/chomp.mp3 differ diff --git a/assets/audio/sfx/chomp.mp3.import b/assets/audio/sfx/chomp.mp3.import new file mode 100644 index 0000000..a368533 --- /dev/null +++ b/assets/audio/sfx/chomp.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://d1x2r435drkwe" +path="res://.godot/imported/chomp.mp3-54235afe78838edb09adbef0dbfc3083.mp3str" + +[deps] + +source_file="res://assets/audio/sfx/chomp.mp3" +dest_files=["res://.godot/imported/chomp.mp3-54235afe78838edb09adbef0dbfc3083.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/sfx/chomp2.mp3 b/assets/audio/sfx/chomp2.mp3 new file mode 100644 index 0000000..a82580a Binary files /dev/null and b/assets/audio/sfx/chomp2.mp3 differ diff --git a/assets/audio/sfx/chomp2.mp3.import b/assets/audio/sfx/chomp2.mp3.import new file mode 100644 index 0000000..aab09d5 --- /dev/null +++ b/assets/audio/sfx/chomp2.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://bl2mb5jf8ip45" +path="res://.godot/imported/chomp2.mp3-1e1b8818c18be285503b18f57315416e.mp3str" + +[deps] + +source_file="res://assets/audio/sfx/chomp2.mp3" +dest_files=["res://.godot/imported/chomp2.mp3-1e1b8818c18be285503b18f57315416e.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/sfx/chomp_generic.tres b/assets/audio/sfx/chomp_generic.tres new file mode 100644 index 0000000..0e8fe3a --- /dev/null +++ b/assets/audio/sfx/chomp_generic.tres @@ -0,0 +1,12 @@ +[gd_resource type="AudioStreamRandomizer" load_steps=4 format=3 uid="uid://dyid55nhflwyn"] + +[ext_resource type="AudioStream" uid="uid://d1x2r435drkwe" path="res://assets/audio/sfx/chomp.mp3" id="1_o57hi"] +[ext_resource type="AudioStream" uid="uid://bl2mb5jf8ip45" path="res://assets/audio/sfx/chomp2.mp3" id="2_640fw"] +[ext_resource type="AudioStream" uid="uid://dbng2yurir3m8" path="res://assets/audio/sfx/chompsoft.mp3" id="3_tro2j"] + +[resource] +playback_mode = 1 +streams_count = 3 +stream_0/stream = ExtResource("1_o57hi") +stream_1/stream = ExtResource("2_640fw") +stream_2/stream = ExtResource("3_tro2j") diff --git a/assets/audio/sfx/chompsoft.mp3 b/assets/audio/sfx/chompsoft.mp3 new file mode 100644 index 0000000..a2ba433 Binary files /dev/null and b/assets/audio/sfx/chompsoft.mp3 differ diff --git a/assets/audio/sfx/chompsoft.mp3.import b/assets/audio/sfx/chompsoft.mp3.import new file mode 100644 index 0000000..4d7707a --- /dev/null +++ b/assets/audio/sfx/chompsoft.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://dbng2yurir3m8" +path="res://.godot/imported/chompsoft.mp3-036cb3018a21695e3d7d12dec14915f6.mp3str" + +[deps] + +source_file="res://assets/audio/sfx/chompsoft.mp3" +dest_files=["res://.godot/imported/chompsoft.mp3-036cb3018a21695e3d7d12dec14915f6.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/sfx/dirt_rise.mp3 b/assets/audio/sfx/dirt_rise.mp3 new file mode 100644 index 0000000..b0f5fd4 Binary files /dev/null and b/assets/audio/sfx/dirt_rise.mp3 differ diff --git a/assets/audio/sfx/dirt_rise.mp3.import b/assets/audio/sfx/dirt_rise.mp3.import new file mode 100644 index 0000000..1848f7a --- /dev/null +++ b/assets/audio/sfx/dirt_rise.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://b27om1bw1x04e" +path="res://.godot/imported/dirt_rise.mp3-713168ae84435d3de0d5e0750b2775a5.mp3str" + +[deps] + +source_file="res://assets/audio/sfx/dirt_rise.mp3" +dest_files=["res://.godot/imported/dirt_rise.mp3-713168ae84435d3de0d5e0750b2775a5.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/sfx/explosion.mp3 b/assets/audio/sfx/explosion.mp3 new file mode 100644 index 0000000..4e2085d Binary files /dev/null and b/assets/audio/sfx/explosion.mp3 differ diff --git a/assets/audio/sfx/explosion.mp3.import b/assets/audio/sfx/explosion.mp3.import new file mode 100644 index 0000000..abdf6f2 --- /dev/null +++ b/assets/audio/sfx/explosion.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://bl3yjbs32fut8" +path="res://.godot/imported/explosion.mp3-fc6d9303eb441d521a7bf3d137fa1daf.mp3str" + +[deps] + +source_file="res://assets/audio/sfx/explosion.mp3" +dest_files=["res://.godot/imported/explosion.mp3-fc6d9303eb441d521a7bf3d137fa1daf.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/sfx/frozen.mp3 b/assets/audio/sfx/frozen.mp3 new file mode 100644 index 0000000..09ca5f6 Binary files /dev/null and b/assets/audio/sfx/frozen.mp3 differ diff --git a/assets/audio/sfx/frozen.mp3.import b/assets/audio/sfx/frozen.mp3.import new file mode 100644 index 0000000..81694ab --- /dev/null +++ b/assets/audio/sfx/frozen.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://bjotp63arocci" +path="res://.godot/imported/frozen.mp3-7c6e579253c1b3d10c3cee9fb10f0d31.mp3str" + +[deps] + +source_file="res://assets/audio/sfx/frozen.mp3" +dest_files=["res://.godot/imported/frozen.mp3-7c6e579253c1b3d10c3cee9fb10f0d31.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/sfx/groan.tres b/assets/audio/sfx/groan.tres new file mode 100644 index 0000000..17837db --- /dev/null +++ b/assets/audio/sfx/groan.tres @@ -0,0 +1,18 @@ +[gd_resource type="AudioStreamRandomizer" load_steps=7 format=3 uid="uid://bg76miyscfvhu"] + +[ext_resource type="AudioStream" uid="uid://0gcua86ud00f" path="res://assets/audio/sfx/groan1.mp3" id="1_gt7xb"] +[ext_resource type="AudioStream" uid="uid://bl0hm3dbp1g37" path="res://assets/audio/sfx/groan2.mp3" id="2_qwtnr"] +[ext_resource type="AudioStream" uid="uid://divulgvvrx0iq" path="res://assets/audio/sfx/groan3.mp3" id="3_0qtnk"] +[ext_resource type="AudioStream" uid="uid://clyp06ygi40dv" path="res://assets/audio/sfx/groan4.mp3" id="4_4kdp6"] +[ext_resource type="AudioStream" uid="uid://dbs147p8u7u1o" path="res://assets/audio/sfx/groan5.mp3" id="5_tjjpn"] +[ext_resource type="AudioStream" uid="uid://55tr5prrgkww" path="res://assets/audio/sfx/groan6.mp3" id="6_akenq"] + +[resource] +playback_mode = 1 +streams_count = 6 +stream_0/stream = ExtResource("1_gt7xb") +stream_1/stream = ExtResource("2_qwtnr") +stream_2/stream = ExtResource("3_0qtnk") +stream_3/stream = ExtResource("4_4kdp6") +stream_4/stream = ExtResource("5_tjjpn") +stream_5/stream = ExtResource("6_akenq") diff --git a/assets/audio/sfx/groan1.mp3 b/assets/audio/sfx/groan1.mp3 new file mode 100644 index 0000000..2bab886 Binary files /dev/null and b/assets/audio/sfx/groan1.mp3 differ diff --git a/assets/audio/sfx/groan1.mp3.import b/assets/audio/sfx/groan1.mp3.import new file mode 100644 index 0000000..794ee8d --- /dev/null +++ b/assets/audio/sfx/groan1.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://0gcua86ud00f" +path="res://.godot/imported/groan1.mp3-6d28569c0563bdb3a88246a277fe6b67.mp3str" + +[deps] + +source_file="res://assets/audio/sfx/groan1.mp3" +dest_files=["res://.godot/imported/groan1.mp3-6d28569c0563bdb3a88246a277fe6b67.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/sfx/groan2.mp3 b/assets/audio/sfx/groan2.mp3 new file mode 100644 index 0000000..60d3113 Binary files /dev/null and b/assets/audio/sfx/groan2.mp3 differ diff --git a/assets/audio/sfx/groan2.mp3.import b/assets/audio/sfx/groan2.mp3.import new file mode 100644 index 0000000..6078de1 --- /dev/null +++ b/assets/audio/sfx/groan2.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://bl0hm3dbp1g37" +path="res://.godot/imported/groan2.mp3-5acdfcb3cc128fb0e61a01d630e9cfc5.mp3str" + +[deps] + +source_file="res://assets/audio/sfx/groan2.mp3" +dest_files=["res://.godot/imported/groan2.mp3-5acdfcb3cc128fb0e61a01d630e9cfc5.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/sfx/groan3.mp3 b/assets/audio/sfx/groan3.mp3 new file mode 100644 index 0000000..e3baf88 Binary files /dev/null and b/assets/audio/sfx/groan3.mp3 differ diff --git a/assets/audio/sfx/groan3.mp3.import b/assets/audio/sfx/groan3.mp3.import new file mode 100644 index 0000000..1739a29 --- /dev/null +++ b/assets/audio/sfx/groan3.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://divulgvvrx0iq" +path="res://.godot/imported/groan3.mp3-88a6cf26f09625d435c815c966983b19.mp3str" + +[deps] + +source_file="res://assets/audio/sfx/groan3.mp3" +dest_files=["res://.godot/imported/groan3.mp3-88a6cf26f09625d435c815c966983b19.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/sfx/groan4.mp3 b/assets/audio/sfx/groan4.mp3 new file mode 100644 index 0000000..bc8e527 Binary files /dev/null and b/assets/audio/sfx/groan4.mp3 differ diff --git a/assets/audio/sfx/groan4.mp3.import b/assets/audio/sfx/groan4.mp3.import new file mode 100644 index 0000000..7530cf8 --- /dev/null +++ b/assets/audio/sfx/groan4.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://clyp06ygi40dv" +path="res://.godot/imported/groan4.mp3-3e82a0a799f4c613c5f7a356bc374b68.mp3str" + +[deps] + +source_file="res://assets/audio/sfx/groan4.mp3" +dest_files=["res://.godot/imported/groan4.mp3-3e82a0a799f4c613c5f7a356bc374b68.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/sfx/groan5.mp3 b/assets/audio/sfx/groan5.mp3 new file mode 100644 index 0000000..cbbabd2 Binary files /dev/null and b/assets/audio/sfx/groan5.mp3 differ diff --git a/assets/audio/sfx/groan5.mp3.import b/assets/audio/sfx/groan5.mp3.import new file mode 100644 index 0000000..5e5f4d2 --- /dev/null +++ b/assets/audio/sfx/groan5.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://dbs147p8u7u1o" +path="res://.godot/imported/groan5.mp3-9124fba060c220845835d64aa975c1eb.mp3str" + +[deps] + +source_file="res://assets/audio/sfx/groan5.mp3" +dest_files=["res://.godot/imported/groan5.mp3-9124fba060c220845835d64aa975c1eb.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/sfx/groan6.mp3 b/assets/audio/sfx/groan6.mp3 new file mode 100644 index 0000000..8b43a93 Binary files /dev/null and b/assets/audio/sfx/groan6.mp3 differ diff --git a/assets/audio/sfx/groan6.mp3.import b/assets/audio/sfx/groan6.mp3.import new file mode 100644 index 0000000..84e984f --- /dev/null +++ b/assets/audio/sfx/groan6.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://55tr5prrgkww" +path="res://.godot/imported/groan6.mp3-06817a76d34a9788d4c26184b6e7ab71.mp3str" + +[deps] + +source_file="res://assets/audio/sfx/groan6.mp3" +dest_files=["res://.godot/imported/groan6.mp3-06817a76d34a9788d4c26184b6e7ab71.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/sfx/gulp.mp3 b/assets/audio/sfx/gulp.mp3 new file mode 100644 index 0000000..b773879 Binary files /dev/null and b/assets/audio/sfx/gulp.mp3 differ diff --git a/assets/audio/sfx/gulp.mp3.import b/assets/audio/sfx/gulp.mp3.import new file mode 100644 index 0000000..80a15e7 --- /dev/null +++ b/assets/audio/sfx/gulp.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://csxydaymes14y" +path="res://.godot/imported/gulp.mp3-35b2d891770dbefbde79f94a72bbe23c.mp3str" + +[deps] + +source_file="res://assets/audio/sfx/gulp.mp3" +dest_files=["res://.godot/imported/gulp.mp3-35b2d891770dbefbde79f94a72bbe23c.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/sfx/hit_generic.tres b/assets/audio/sfx/hit_generic.tres new file mode 100644 index 0000000..8f43a8a --- /dev/null +++ b/assets/audio/sfx/hit_generic.tres @@ -0,0 +1,12 @@ +[gd_resource type="AudioStreamRandomizer" load_steps=4 format=3 uid="uid://w0qfwds4o3ti"] + +[ext_resource type="AudioStream" uid="uid://dgq7ogof16xoe" path="res://assets/audio/sfx/splat.mp3" id="1_7sdxn"] +[ext_resource type="AudioStream" uid="uid://ljb60fvds7we" path="res://assets/audio/sfx/splat2.mp3" id="2_k2g3q"] +[ext_resource type="AudioStream" uid="uid://cvwbvhgxnwygb" path="res://assets/audio/sfx/splat3.mp3" id="3_qgqep"] + +[resource] +playback_mode = 1 +streams_count = 3 +stream_0/stream = ExtResource("1_7sdxn") +stream_1/stream = ExtResource("2_k2g3q") +stream_2/stream = ExtResource("3_qgqep") diff --git a/assets/audio/sfx/metalhit.mp3 b/assets/audio/sfx/metalhit.mp3 new file mode 100644 index 0000000..1afced3 Binary files /dev/null and b/assets/audio/sfx/metalhit.mp3 differ diff --git a/assets/audio/sfx/metalhit.mp3.import b/assets/audio/sfx/metalhit.mp3.import new file mode 100644 index 0000000..5462c96 --- /dev/null +++ b/assets/audio/sfx/metalhit.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://pik64oo7rj7v" +path="res://.godot/imported/metalhit.mp3-336c16c3d540a7b6b100829bf8735d05.mp3str" + +[deps] + +source_file="res://assets/audio/sfx/metalhit.mp3" +dest_files=["res://.godot/imported/metalhit.mp3-336c16c3d540a7b6b100829bf8735d05.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/sfx/metalhit2.mp3 b/assets/audio/sfx/metalhit2.mp3 new file mode 100644 index 0000000..c60cfb7 Binary files /dev/null and b/assets/audio/sfx/metalhit2.mp3 differ diff --git a/assets/audio/sfx/metalhit2.mp3.import b/assets/audio/sfx/metalhit2.mp3.import new file mode 100644 index 0000000..2d44c34 --- /dev/null +++ b/assets/audio/sfx/metalhit2.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://hu1pprqlk0j4" +path="res://.godot/imported/metalhit2.mp3-2fc4f19490e3c4e6ff9e53b10e1fef2b.mp3str" + +[deps] + +source_file="res://assets/audio/sfx/metalhit2.mp3" +dest_files=["res://.godot/imported/metalhit2.mp3-2fc4f19490e3c4e6ff9e53b10e1fef2b.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/sfx/metalhit_generic.tres b/assets/audio/sfx/metalhit_generic.tres new file mode 100644 index 0000000..57f6b5b --- /dev/null +++ b/assets/audio/sfx/metalhit_generic.tres @@ -0,0 +1,10 @@ +[gd_resource type="AudioStreamRandomizer" load_steps=3 format=3 uid="uid://bu1egfsyplpx4"] + +[ext_resource type="AudioStream" uid="uid://pik64oo7rj7v" path="res://assets/audio/sfx/metalhit.mp3" id="1_xvp5m"] +[ext_resource type="AudioStream" uid="uid://hu1pprqlk0j4" path="res://assets/audio/sfx/metalhit2.mp3" id="2_uifvs"] + +[resource] +playback_mode = 1 +streams_count = 2 +stream_0/stream = ExtResource("1_xvp5m") +stream_1/stream = ExtResource("2_uifvs") diff --git a/assets/audio/sfx/newspaper_rarrgh.mp3 b/assets/audio/sfx/newspaper_rarrgh.mp3 new file mode 100644 index 0000000..71e4ec8 Binary files /dev/null and b/assets/audio/sfx/newspaper_rarrgh.mp3 differ diff --git a/assets/audio/sfx/newspaper_rarrgh.mp3.import b/assets/audio/sfx/newspaper_rarrgh.mp3.import new file mode 100644 index 0000000..32563ca --- /dev/null +++ b/assets/audio/sfx/newspaper_rarrgh.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://b7u4db3e50snf" +path="res://.godot/imported/newspaper_rarrgh.mp3-0b1186bcca3dd0f74ddc21e580dfe85e.mp3str" + +[deps] + +source_file="res://assets/audio/sfx/newspaper_rarrgh.mp3" +dest_files=["res://.godot/imported/newspaper_rarrgh.mp3-0b1186bcca3dd0f74ddc21e580dfe85e.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/sfx/newspaper_rarrgh2.mp3 b/assets/audio/sfx/newspaper_rarrgh2.mp3 new file mode 100644 index 0000000..b51a660 Binary files /dev/null and b/assets/audio/sfx/newspaper_rarrgh2.mp3 differ diff --git a/assets/audio/sfx/newspaper_rarrgh2.mp3.import b/assets/audio/sfx/newspaper_rarrgh2.mp3.import new file mode 100644 index 0000000..c49a9c1 --- /dev/null +++ b/assets/audio/sfx/newspaper_rarrgh2.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://caeucyx1kjux6" +path="res://.godot/imported/newspaper_rarrgh2.mp3-1fc438ecc73e743c0b3189781d83fbf3.mp3str" + +[deps] + +source_file="res://assets/audio/sfx/newspaper_rarrgh2.mp3" +dest_files=["res://.godot/imported/newspaper_rarrgh2.mp3-1fc438ecc73e743c0b3189781d83fbf3.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/sfx/pause.mp3 b/assets/audio/sfx/pause.mp3 new file mode 100644 index 0000000..81b8074 Binary files /dev/null and b/assets/audio/sfx/pause.mp3 differ diff --git a/assets/audio/sfx/pause.mp3.import b/assets/audio/sfx/pause.mp3.import new file mode 100644 index 0000000..3c76b64 --- /dev/null +++ b/assets/audio/sfx/pause.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://ckja8ym50y0d4" +path="res://.godot/imported/pause.mp3-e9d4dab5bf1cbf6ecf379df2f1abb654.mp3str" + +[deps] + +source_file="res://assets/audio/sfx/pause.mp3" +dest_files=["res://.godot/imported/pause.mp3-e9d4dab5bf1cbf6ecf379df2f1abb654.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/sfx/plastichit.mp3 b/assets/audio/sfx/plastichit.mp3 new file mode 100644 index 0000000..fa4b55c Binary files /dev/null and b/assets/audio/sfx/plastichit.mp3 differ diff --git a/assets/audio/sfx/plastichit.mp3.import b/assets/audio/sfx/plastichit.mp3.import new file mode 100644 index 0000000..d4a8f2a --- /dev/null +++ b/assets/audio/sfx/plastichit.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://cfsfcd5qort6n" +path="res://.godot/imported/plastichit.mp3-a1d940b43bfb80f0cfdca99ef6fd10d2.mp3str" + +[deps] + +source_file="res://assets/audio/sfx/plastichit.mp3" +dest_files=["res://.godot/imported/plastichit.mp3-a1d940b43bfb80f0cfdca99ef6fd10d2.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/sfx/plastichit2.mp3 b/assets/audio/sfx/plastichit2.mp3 new file mode 100644 index 0000000..f16ef48 Binary files /dev/null and b/assets/audio/sfx/plastichit2.mp3 differ diff --git a/assets/audio/sfx/plastichit2.mp3.import b/assets/audio/sfx/plastichit2.mp3.import new file mode 100644 index 0000000..8859199 --- /dev/null +++ b/assets/audio/sfx/plastichit2.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://d1pc3pms75tlo" +path="res://.godot/imported/plastichit2.mp3-13132589bd9d266de5ac0c86bc82df62.mp3str" + +[deps] + +source_file="res://assets/audio/sfx/plastichit2.mp3" +dest_files=["res://.godot/imported/plastichit2.mp3-13132589bd9d266de5ac0c86bc82df62.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/sfx/plastichit_generic.tres b/assets/audio/sfx/plastichit_generic.tres new file mode 100644 index 0000000..7268bf3 --- /dev/null +++ b/assets/audio/sfx/plastichit_generic.tres @@ -0,0 +1,10 @@ +[gd_resource type="AudioStreamRandomizer" load_steps=3 format=3 uid="uid://bmupd3v3gvsca"] + +[ext_resource type="AudioStream" uid="uid://cfsfcd5qort6n" path="res://assets/audio/sfx/plastichit.mp3" id="1_8v7ug"] +[ext_resource type="AudioStream" uid="uid://d1pc3pms75tlo" path="res://assets/audio/sfx/plastichit2.mp3" id="2_abq4n"] + +[resource] +playback_mode = 1 +streams_count = 2 +stream_0/stream = ExtResource("1_8v7ug") +stream_1/stream = ExtResource("2_abq4n") diff --git a/assets/audio/sfx/pop.mp3 b/assets/audio/sfx/pop.mp3 deleted file mode 100644 index 1a22981..0000000 Binary files a/assets/audio/sfx/pop.mp3 and /dev/null differ diff --git a/assets/audio/sfx/pop.mp3.import b/assets/audio/sfx/pop.mp3.import deleted file mode 100644 index c6204ca..0000000 --- a/assets/audio/sfx/pop.mp3.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="mp3" -type="AudioStreamMP3" -uid="uid://dp6k7xiptn68n" -path="res://.godot/imported/pop.mp3-51a070d5fcfecbb5cfeda8302a6c6eb8.mp3str" - -[deps] - -source_file="res://assets/audio/sfx/pop.mp3" -dest_files=["res://.godot/imported/pop.mp3-51a070d5fcfecbb5cfeda8302a6c6eb8.mp3str"] - -[params] - -loop=false -loop_offset=0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/assets/audio/sfx/potato_mine.mp3 b/assets/audio/sfx/potato_mine.mp3 new file mode 100644 index 0000000..4bf0adb Binary files /dev/null and b/assets/audio/sfx/potato_mine.mp3 differ diff --git a/assets/audio/sfx/potato_mine.mp3.import b/assets/audio/sfx/potato_mine.mp3.import new file mode 100644 index 0000000..0c363d9 --- /dev/null +++ b/assets/audio/sfx/potato_mine.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://dltjtpyfr1so0" +path="res://.godot/imported/potato_mine.mp3-d4ee786748b25f6e8c9079868ae7f181.mp3str" + +[deps] + +source_file="res://assets/audio/sfx/potato_mine.mp3" +dest_files=["res://.godot/imported/potato_mine.mp3-d4ee786748b25f6e8c9079868ae7f181.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/sfx/shovel.mp3 b/assets/audio/sfx/shovel.mp3 new file mode 100644 index 0000000..b75ee44 Binary files /dev/null and b/assets/audio/sfx/shovel.mp3 differ diff --git a/assets/audio/sfx/shovel.mp3.import b/assets/audio/sfx/shovel.mp3.import new file mode 100644 index 0000000..7dd375c --- /dev/null +++ b/assets/audio/sfx/shovel.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://dfbg6dxg4actb" +path="res://.godot/imported/shovel.mp3-04fdab268d7a052187f832cbe0a812ab.mp3str" + +[deps] + +source_file="res://assets/audio/sfx/shovel.mp3" +dest_files=["res://.godot/imported/shovel.mp3-04fdab268d7a052187f832cbe0a812ab.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/sfx/slap.mp3 b/assets/audio/sfx/slap.mp3 deleted file mode 100644 index 5972c53..0000000 Binary files a/assets/audio/sfx/slap.mp3 and /dev/null differ diff --git a/assets/audio/sfx/slap.mp3.import b/assets/audio/sfx/slap.mp3.import deleted file mode 100644 index cf96d9e..0000000 --- a/assets/audio/sfx/slap.mp3.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="mp3" -type="AudioStreamMP3" -uid="uid://xoy5ct1t17k5" -path="res://.godot/imported/slap.mp3-1d1643f76cf53c654c25725ee203e7cf.mp3str" - -[deps] - -source_file="res://assets/audio/sfx/slap.mp3" -dest_files=["res://.godot/imported/slap.mp3-1d1643f76cf53c654c25725ee203e7cf.mp3str"] - -[params] - -loop=false -loop_offset=0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/assets/audio/sfx/spikeweed_attack.mp3 b/assets/audio/sfx/spikeweed_attack.mp3 deleted file mode 100644 index 07f9a6c..0000000 Binary files a/assets/audio/sfx/spikeweed_attack.mp3 and /dev/null differ diff --git a/assets/audio/sfx/spikeweed_attack.mp3.import b/assets/audio/sfx/spikeweed_attack.mp3.import deleted file mode 100644 index d48d1b8..0000000 --- a/assets/audio/sfx/spikeweed_attack.mp3.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="mp3" -type="AudioStreamMP3" -uid="uid://ypihbxy7tsqn" -path="res://.godot/imported/spikeweed_attack.mp3-927978b1d538113780c1cca743c69286.mp3str" - -[deps] - -source_file="res://assets/audio/sfx/spikeweed_attack.mp3" -dest_files=["res://.godot/imported/spikeweed_attack.mp3-927978b1d538113780c1cca743c69286.mp3str"] - -[params] - -loop=false -loop_offset=0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/assets/audio/sfx/splat.mp3 b/assets/audio/sfx/splat.mp3 new file mode 100644 index 0000000..66af776 Binary files /dev/null and b/assets/audio/sfx/splat.mp3 differ diff --git a/assets/audio/sfx/splat.mp3.import b/assets/audio/sfx/splat.mp3.import new file mode 100644 index 0000000..319687c --- /dev/null +++ b/assets/audio/sfx/splat.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://dgq7ogof16xoe" +path="res://.godot/imported/splat.mp3-977506330dade2a74021b9f4bcb8252e.mp3str" + +[deps] + +source_file="res://assets/audio/sfx/splat.mp3" +dest_files=["res://.godot/imported/splat.mp3-977506330dade2a74021b9f4bcb8252e.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/sfx/splat2.mp3 b/assets/audio/sfx/splat2.mp3 new file mode 100644 index 0000000..6b44ee2 Binary files /dev/null and b/assets/audio/sfx/splat2.mp3 differ diff --git a/assets/audio/sfx/splat2.mp3.import b/assets/audio/sfx/splat2.mp3.import new file mode 100644 index 0000000..cf06dc1 --- /dev/null +++ b/assets/audio/sfx/splat2.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://ljb60fvds7we" +path="res://.godot/imported/splat2.mp3-7ae6127335aef830c0b88dd80e2e951f.mp3str" + +[deps] + +source_file="res://assets/audio/sfx/splat2.mp3" +dest_files=["res://.godot/imported/splat2.mp3-7ae6127335aef830c0b88dd80e2e951f.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/sfx/splat3.mp3 b/assets/audio/sfx/splat3.mp3 new file mode 100644 index 0000000..5967be3 Binary files /dev/null and b/assets/audio/sfx/splat3.mp3 differ diff --git a/assets/audio/sfx/splat3.mp3.import b/assets/audio/sfx/splat3.mp3.import new file mode 100644 index 0000000..e6eb524 --- /dev/null +++ b/assets/audio/sfx/splat3.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://cvwbvhgxnwygb" +path="res://.godot/imported/splat3.mp3-a219c089613d461fe377242050108c67.mp3str" + +[deps] + +source_file="res://assets/audio/sfx/splat3.mp3" +dest_files=["res://.godot/imported/splat3.mp3-a219c089613d461fe377242050108c67.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/sfx/sun.mp3 b/assets/audio/sfx/sun.mp3 new file mode 100644 index 0000000..f0ffd01 Binary files /dev/null and b/assets/audio/sfx/sun.mp3 differ diff --git a/assets/audio/sfx/sun.mp3.import b/assets/audio/sfx/sun.mp3.import new file mode 100644 index 0000000..2f803e8 --- /dev/null +++ b/assets/audio/sfx/sun.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://c0cq80nvld37p" +path="res://.godot/imported/sun.mp3-378146b46cb8bccbf11a06dd08b86ec8.mp3str" + +[deps] + +source_file="res://assets/audio/sfx/sun.mp3" +dest_files=["res://.godot/imported/sun.mp3-378146b46cb8bccbf11a06dd08b86ec8.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/sfx/throw.mp3 b/assets/audio/sfx/throw.mp3 new file mode 100644 index 0000000..1551ba8 Binary files /dev/null and b/assets/audio/sfx/throw.mp3 differ diff --git a/assets/audio/sfx/throw.mp3.import b/assets/audio/sfx/throw.mp3.import new file mode 100644 index 0000000..a67b19d --- /dev/null +++ b/assets/audio/sfx/throw.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://ca6s814ky084j" +path="res://.godot/imported/throw.mp3-6238697b98a6894d596fa32e044eb65b.mp3str" + +[deps] + +source_file="res://assets/audio/sfx/throw.mp3" +dest_files=["res://.godot/imported/throw.mp3-6238697b98a6894d596fa32e044eb65b.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/sfx/throw2.mp3 b/assets/audio/sfx/throw2.mp3 new file mode 100644 index 0000000..bfd3d0d Binary files /dev/null and b/assets/audio/sfx/throw2.mp3 differ diff --git a/assets/audio/sfx/throw2.mp3.import b/assets/audio/sfx/throw2.mp3.import new file mode 100644 index 0000000..8ea72e0 --- /dev/null +++ b/assets/audio/sfx/throw2.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://b3bwm25fesj1" +path="res://.godot/imported/throw2.mp3-b188afe89fa9a16037dbea9efbecac8b.mp3str" + +[deps] + +source_file="res://assets/audio/sfx/throw2.mp3" +dest_files=["res://.godot/imported/throw2.mp3-b188afe89fa9a16037dbea9efbecac8b.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/sfx/throw_generic.tres b/assets/audio/sfx/throw_generic.tres new file mode 100644 index 0000000..128b053 --- /dev/null +++ b/assets/audio/sfx/throw_generic.tres @@ -0,0 +1,10 @@ +[gd_resource type="AudioStreamRandomizer" load_steps=3 format=3 uid="uid://dsv81mvrdg3w3"] + +[ext_resource type="AudioStream" uid="uid://ca6s814ky084j" path="res://assets/audio/sfx/throw.mp3" id="1_p6iru"] +[ext_resource type="AudioStream" uid="uid://b3bwm25fesj1" path="res://assets/audio/sfx/throw2.mp3" id="2_lfl8f"] + +[resource] +playback_mode = 1 +streams_count = 2 +stream_0/stream = ExtResource("1_p6iru") +stream_1/stream = ExtResource("2_lfl8f") diff --git a/assets/audio/sfx/yuck.mp3 b/assets/audio/sfx/yuck.mp3 new file mode 100644 index 0000000..a6316d7 Binary files /dev/null and b/assets/audio/sfx/yuck.mp3 differ diff --git a/assets/audio/sfx/yuck.mp3.import b/assets/audio/sfx/yuck.mp3.import new file mode 100644 index 0000000..65416f2 --- /dev/null +++ b/assets/audio/sfx/yuck.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://dml4m47fmdspl" +path="res://.godot/imported/yuck.mp3-300336a3ee536c8e6db69a73706c7ea5.mp3str" + +[deps] + +source_file="res://assets/audio/sfx/yuck.mp3" +dest_files=["res://.godot/imported/yuck.mp3-300336a3ee536c8e6db69a73706c7ea5.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/sfx/yuck2.mp3 b/assets/audio/sfx/yuck2.mp3 new file mode 100644 index 0000000..a0271fe Binary files /dev/null and b/assets/audio/sfx/yuck2.mp3 differ diff --git a/assets/audio/sfx/yuck2.mp3.import b/assets/audio/sfx/yuck2.mp3.import new file mode 100644 index 0000000..e07ee35 --- /dev/null +++ b/assets/audio/sfx/yuck2.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://3om1uc2svbks" +path="res://.godot/imported/yuck2.mp3-d64ec2d43ad0a7feb687e90d43303625.mp3str" + +[deps] + +source_file="res://assets/audio/sfx/yuck2.mp3" +dest_files=["res://.godot/imported/yuck2.mp3-d64ec2d43ad0a7feb687e90d43303625.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/audio/sfx/yuck_generic.tres b/assets/audio/sfx/yuck_generic.tres new file mode 100644 index 0000000..890827e --- /dev/null +++ b/assets/audio/sfx/yuck_generic.tres @@ -0,0 +1,9 @@ +[gd_resource type="AudioStreamRandomizer" load_steps=3 format=3 uid="uid://dt13iugnnx4op"] + +[ext_resource type="AudioStream" uid="uid://dml4m47fmdspl" path="res://assets/audio/sfx/yuck.mp3" id="1_6b1bh"] +[ext_resource type="AudioStream" uid="uid://3om1uc2svbks" path="res://assets/audio/sfx/yuck2.mp3" id="2_ymjyn"] + +[resource] +streams_count = 2 +stream_0/stream = ExtResource("1_6b1bh") +stream_1/stream = ExtResource("2_ymjyn") diff --git a/assets/audio/zo.mp3 b/assets/audio/zo.mp3 deleted file mode 100644 index 225cdd1..0000000 Binary files a/assets/audio/zo.mp3 and /dev/null differ diff --git a/assets/audio/zo.mp3.import b/assets/audio/zo.mp3.import deleted file mode 100644 index 8e16af5..0000000 --- a/assets/audio/zo.mp3.import +++ /dev/null @@ -1,19 +0,0 @@ -[remap] - -importer="mp3" -type="AudioStreamMP3" -uid="uid://co33ajpc1a1qm" -path="res://.godot/imported/zo.mp3-b49195c3f7b09ef9bafc298a44270219.mp3str" - -[deps] - -source_file="res://assets/audio/zo.mp3" -dest_files=["res://.godot/imported/zo.mp3-b49195c3f7b09ef9bafc298a44270219.mp3str"] - -[params] - -loop=false -loop_offset=0 -bpm=0 -beat_count=0 -bar_beats=4 diff --git a/default_bus_layout.tres b/default_bus_layout.tres index 56dd1ae..3cde41a 100644 --- a/default_bus_layout.tres +++ b/default_bus_layout.tres @@ -6,5 +6,5 @@ bus/1/name = &"MusicBus" bus/1/solo = false bus/1/mute = false bus/1/bypass_fx = false -bus/1/volume_db = -0.526013 +bus/1/volume_db = -0.130497 bus/1/send = &"Master" diff --git a/project.godot b/project.godot index 51269cc..e8b7f78 100644 --- a/project.godot +++ b/project.godot @@ -22,6 +22,7 @@ LevelController="*res://scripts/LevelController.cs" Cursor="*res://scripts/Cursor.cs" GameRegistry="*res://scripts/systems/GameRegistry.cs" Cheats="*res://scripts/debug/Cheats.cs" +AudioSequencer="*res://scenes/audio_sequencer.tscn" [display] diff --git a/resources/animations/plants/peashooter.res b/resources/animations/plants/peashooter.res index c50be33..975d192 100644 Binary files a/resources/animations/plants/peashooter.res and b/resources/animations/plants/peashooter.res differ diff --git a/resources/animations/plants/potato_mine.res b/resources/animations/plants/potato_mine.res index 38051da..adf6317 100644 Binary files a/resources/animations/plants/potato_mine.res and b/resources/animations/plants/potato_mine.res differ diff --git a/resources/animations/plants/snowpea.res b/resources/animations/plants/snowpea.res index 41ea17c..42f0044 100644 Binary files a/resources/animations/plants/snowpea.res and b/resources/animations/plants/snowpea.res differ diff --git a/resources/animations/plants/spikeweed.res b/resources/animations/plants/spikeweed.res index 881d679..bf97211 100644 Binary files a/resources/animations/plants/spikeweed.res and b/resources/animations/plants/spikeweed.res differ diff --git a/resources/animations/zombies/basic_zombie.res b/resources/animations/zombies/basic_zombie.res index 591c482..18e1357 100644 Binary files a/resources/animations/zombies/basic_zombie.res and b/resources/animations/zombies/basic_zombie.res differ diff --git a/resources/plants/Aloe.tres b/resources/plants/Aloe.tres index 78a8d0b..f0d01af 100644 --- a/resources/plants/Aloe.tres +++ b/resources/plants/Aloe.tres @@ -7,7 +7,11 @@ [resource] script = ExtResource("1_vw2kg") display_name = "Aloe" -display_description = "Heals plantoids" +display_description = "[p]Aloe heals injured plants.[/p] +[p]Health points: [color=DARK_RED]3 bites[/color][/p] +[p]Reload time: [color=DARK_RED]15 seconds[/color].[/p] +[p]Ability recharge time: [color=DARK_RED]20 seconds[/color].[/p] +[p]Heals plant when it has [color=DARK_RED]third[/color] of its health.[/p]" Cost = 75 Scene = ExtResource("2_6a4ia") ReloadTime = 15.0 diff --git a/resources/plants/Garlic.tres b/resources/plants/Garlic.tres index f418eb4..a2f044e 100644 --- a/resources/plants/Garlic.tres +++ b/resources/plants/Garlic.tres @@ -7,7 +7,9 @@ [resource] script = ExtResource("1_e15gf") display_name = "Garlic" -display_description = "Redirects zomboids" +display_description = "[p]Redirects zombies that bite it.[/p] +[p]Health points: [color=DARK_RED]20 bites[/color][/p] +[p]Reload time: [color=DARK_RED]15 seconds[/color].[/p]" Cost = 50 Scene = ExtResource("2_81n0p") ReloadTime = 7.5 diff --git a/resources/plants/Peashooter.tres b/resources/plants/Peashooter.tres index 5bf5a93..f93e023 100644 --- a/resources/plants/Peashooter.tres +++ b/resources/plants/Peashooter.tres @@ -7,17 +7,11 @@ [resource] script = ExtResource("1_amvh8") display_name = "Peashooter" -display_description = "Shoots peas -Shoots peas -Shoots peas -Shoots peas - -Shoots peas -Shoots peas - -Shoots peas -Shoots peas -Shoots peas" +display_description = "[p]Simply shoots peas at zombies on the lane[/p] +[p]Health points: [color=DARK_RED]3 bites[/color].[/p] +[p]Reload time: [color=DARK_RED]5 seconds[/color].[/p] +[p]Pea damage: [color=DARK_RED]1 pea[/color].[/p] +[p]Firerate: [color=DARK_RED]2/3 seconds[/color].[/p]" Cost = 75 Scene = ExtResource("1_rqf2x") ReloadTime = 5.0 diff --git a/resources/plants/PotatoMine.tres b/resources/plants/PotatoMine.tres index 7a32d9f..f7c7cc8 100644 --- a/resources/plants/PotatoMine.tres +++ b/resources/plants/PotatoMine.tres @@ -7,10 +7,14 @@ [resource] script = ExtResource("1_33j6b") display_name = "Potato mine" -display_description = "Blow" +display_description = "[p]Explodes when stepped on. Needs some time to prime.[/p] +[p]Health points: [color=DARK_RED]2 bites[/color].[/p] +[p]Reload time: [color=DARK_RED]25 seconds[/color].[/p] +[p]Explosion damage: [color=DARK_RED]600 peas[/color].[/p] +[p]Prime time: [color=DARK_RED]15 seconds[/color].[/p]" Cost = 25 Scene = ExtResource("2_ig2ti") ReloadTime = 25.0 -ReloadProgress = 0.0 +ReloadProgress = 0.9 Preview = ExtResource("1_xk2pg") Layer = 1 diff --git a/resources/plants/Snowpea.tres b/resources/plants/Snowpea.tres index 841a7d2..fe11310 100644 --- a/resources/plants/Snowpea.tres +++ b/resources/plants/Snowpea.tres @@ -6,8 +6,13 @@ [resource] script = ExtResource("1_0cpi0") -display_name = "Snowgrave" -display_description = "Proceed." +display_name = "Snowpea" +display_description = "[p]Shoots slowing peas at zombies.[/p] +[p]Health points: [color=DARK_RED]3 bites[/color].[/p] +[p]Reload time: [color=DARK_RED]5 seconds[/color].[/p] +[p]Pea damage: [color=DARK_RED]1 pea[/color].[/p] +[p]Firerate: [color=DARK_RED]2/3 seconds[/color].[/p] +[p]Slow factor: [color=STEEL_BLUE]0.75[/color].[/p]" Cost = 175 Scene = ExtResource("2_k47h0") ReloadTime = 5.0 diff --git a/resources/plants/Spikeweed.tres b/resources/plants/Spikeweed.tres index e3751a8..b82b9a7 100644 --- a/resources/plants/Spikeweed.tres +++ b/resources/plants/Spikeweed.tres @@ -7,7 +7,10 @@ [resource] script = ExtResource("1_0bymo") display_name = "Spikeweed" -display_description = "Walk" +display_description = "[p]Attacks zombies that step on it.[/p] +[p]Health points: [color=DARK_RED]3 bites[/color].[/p] +[p]Reload time: [color=DARK_RED]5 seconds[/color].[/p] +[p]Damage per second: [color=DARK_RED]0.9 peas[/color].[/p]" Cost = 100 Scene = ExtResource("2_iv8de") ReloadTime = 5.0 diff --git a/resources/plants/Sunflower.tres b/resources/plants/Sunflower.tres index 010c1ee..8fa5401 100644 --- a/resources/plants/Sunflower.tres +++ b/resources/plants/Sunflower.tres @@ -7,7 +7,11 @@ [resource] script = ExtResource("3_vt4jc") display_name = "Sunflower" -display_description = "Suns" +display_description = "[p]Produces sun over time.[/p] +[p]Health points: [color=DARK_RED]3 bites[/color][/p] +[p]Reload time: [color=DARK_RED]5 seconds[/color].[/p] +[p]Initial sun production time: [color=DARK_RED]12 seconds[/color].[/p] +[p]Sun production time: [color=DARK_RED]24 seconds[/color](After first sun produced).[/p]" Cost = 50 Scene = ExtResource("2_gcyr5") ReloadTime = 5.0 diff --git a/resources/plants/Threepeater.tres b/resources/plants/Threepeater.tres index 54d1f19..966be23 100644 --- a/resources/plants/Threepeater.tres +++ b/resources/plants/Threepeater.tres @@ -7,7 +7,12 @@ [resource] script = ExtResource("3_3lugi") display_name = "Threepeater" -display_description = "WIP" +display_description = "[p][center][color=GOLD][font_size=32]Work in progress[/font_size][/color][/center][/p] +[p]Shoots peas at zombies in three lanes.[/p] +[p]Health points: [color=DARK_RED]3 bites[/color].[/p] +[p]Reload time: [color=DARK_RED]5 seconds[/color].[/p] +[p]Pea damage: [color=DARK_RED]1 pea[/color] ([color=LIME_GREEN]1 pea[/color] when in close quarters).[/p] +[p]Firerate: [color=DARK_RED]2/3 seconds[/color].[/p]" Cost = 300 Scene = ExtResource("2_uqpu0") ReloadTime = 5.0 diff --git a/resources/plants/Wallnut.tres b/resources/plants/Wallnut.tres index 26d7682..f17f614 100644 --- a/resources/plants/Wallnut.tres +++ b/resources/plants/Wallnut.tres @@ -7,7 +7,9 @@ [resource] script = ExtResource("1_27l0t") display_name = "Wallnut" -display_description = "Pechenka" +display_description = "[p]Absorbs zombie damage. Does nothing special[/p] +[p]Health points: [color=DARK_RED]60 bites[/color][/p] +[p]Reload time: [color=DARK_RED]20 seconds[/color].[/p]" Cost = 50 Scene = ExtResource("2_rkn3h") ReloadTime = 20.0 diff --git a/scenes/audio_sequencer.tscn b/scenes/audio_sequencer.tscn new file mode 100644 index 0000000..d74e028 --- /dev/null +++ b/scenes/audio_sequencer.tscn @@ -0,0 +1,14 @@ +[gd_scene load_steps=4 format=3 uid="uid://cn0bk76pi8ehc"] + +[ext_resource type="Script" uid="uid://cauc1ieq84fwg" path="res://scripts/audio/AudioSequencer.cs" id="1_41q0p"] +[ext_resource type="Script" uid="uid://c1x4n4nqyq72f" path="res://scripts/audio/ChannelSettings.cs" id="2_npxdp"] + +[sub_resource type="Resource" id="Resource_iuccj"] +script = ExtResource("2_npxdp") +restartTreshold = 0.3 +metadata/_custom_type_script = "uid://c1x4n4nqyq72f" + +[node name="AudioSequencer" type="Node"] +process_mode = 3 +script = ExtResource("1_41q0p") +standardSettings = SubResource("Resource_iuccj") diff --git a/scenes/debug_lvl.tscn b/scenes/debug_lvl.tscn index e888770..b48402c 100644 --- a/scenes/debug_lvl.tscn +++ b/scenes/debug_lvl.tscn @@ -8,8 +8,8 @@ [ext_resource type="PackedScene" uid="uid://cfnmspei3k4p7" path="res://scenes/gui/runtime_gui.tscn" id="6_0baou"] [ext_resource type="PackedScene" uid="uid://bpekho7leatr5" path="res://scenes/sun.tscn" id="6_ay12k"] [ext_resource type="Script" uid="uid://cslqjdd5wq4rc" path="res://scripts/components/level/SunSpawner.cs" id="6_lkguy"] -[ext_resource type="PackedScene" uid="uid://hhjbqkjqpt7x" path="res://scenes/entities/Zombies/cone_zombie.tscn" id="9_3uwe7"] [ext_resource type="Script" uid="uid://blpu7t8tf6277" path="res://scripts/components/particles/FallFloor.cs" id="10_q4fsb"] +[ext_resource type="PackedScene" uid="uid://bgqmwsb6ynm81" path="res://scenes/entities/Zombies/hobo.tscn" id="10_tbxxq"] [sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_tbxxq"] @@ -31,12 +31,13 @@ metadata/_edit_lock_ = true script = ExtResource("1_i3bf5") SunCount = 999999 -[node name="Pools" type="Node2D" parent="." node_paths=PackedStringArray("Zombies", "Plants", "Projectiles", "Structures")] +[node name="Pools" type="Node2D" parent="." node_paths=PackedStringArray("Zombies", "Plants", "Projectiles", "Structures", "Particles")] script = ExtResource("3_1y18w") Zombies = NodePath("Zombies") Plants = NodePath("Plants") Projectiles = NodePath("Projectiles") Structures = NodePath("Structures") +Particles = NodePath("Projectiles") [node name="Zombies" type="Node2D" parent="Pools"] z_index = 3 @@ -76,9 +77,6 @@ SunScene = ExtResource("6_ay12k") wait_time = 5.0 autostart = true -[node name="ConeZombie" parent="." instance=ExtResource("9_3uwe7")] -position = Vector2(772, 255) - [node name="Lines" type="Node2D" parent="."] script = ExtResource("10_q4fsb") @@ -122,4 +120,9 @@ collision_mask = 0 [node name="CollisionShape2D" type="CollisionShape2D" parent="Lines/Floor5"] shape = SubResource("WorldBoundaryShape2D_tbxxq") +[node name="Hobo" parent="." instance=ExtResource("10_tbxxq")] +position = Vector2(755, 256) +garlicSound = null +freezeSound = null + [connection signal="timeout" from="SunSpawner/Timer" to="SunSpawner" method="Spawn"] diff --git a/scenes/entities/Zombies/bucket_zombie.tscn b/scenes/entities/Zombies/bucket_zombie.tscn index e10e3fd..df6f0d7 100644 --- a/scenes/entities/Zombies/bucket_zombie.tscn +++ b/scenes/entities/Zombies/bucket_zombie.tscn @@ -1,9 +1,11 @@ -[gd_scene load_steps=8 format=3 uid="uid://xu4i6tmkv00a"] +[gd_scene load_steps=10 format=3 uid="uid://xu4i6tmkv00a"] [ext_resource type="PackedScene" uid="uid://hhjbqkjqpt7x" path="res://scenes/entities/Zombies/cone_zombie.tscn" id="1_mwqpo"] [ext_resource type="Shader" uid="uid://d0eo5uuj222c4" path="res://assets/shaders/CG_color_blender.gdshader" id="2_3mrqj"] [ext_resource type="Texture2D" uid="uid://ce04l60l6mhfk" path="res://assets/sprites/bucket.tres" id="3_0nlp0"] [ext_resource type="Script" uid="uid://c3cfnrmnnuqms" path="res://addons/floatmodifiers/FloatModifiers.cs" id="4_1s2fn"] +[ext_resource type="AudioStream" uid="uid://bu1egfsyplpx4" path="res://assets/audio/sfx/metalhit_generic.tres" id="5_lt6ps"] +[ext_resource type="AudioStream" uid="uid://w0qfwds4o3ti" path="res://assets/audio/sfx/hit_generic.tres" id="6_kedip"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_wdi07"] resource_local_to_scene = true @@ -45,3 +47,7 @@ _speed = SubResource("Resource_lt6ps") [node name="Armor" parent="." index="7"] _maxHP = 385 + +[node name="HitPlayer" parent="." index="8"] +playlist = Array[AudioStream]([ExtResource("5_lt6ps"), ExtResource("6_kedip")]) +channels = Array[String](["metal_hit", "hit"]) diff --git a/scenes/entities/Zombies/cone_zombie.tscn b/scenes/entities/Zombies/cone_zombie.tscn index e7d2b35..27cd410 100644 --- a/scenes/entities/Zombies/cone_zombie.tscn +++ b/scenes/entities/Zombies/cone_zombie.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=11 format=3 uid="uid://hhjbqkjqpt7x"] +[gd_scene load_steps=13 format=3 uid="uid://hhjbqkjqpt7x"] [ext_resource type="PackedScene" uid="uid://co11v3w8hbwgf" path="res://scenes/entities/Zombies/zombie.tscn" id="1_3dq4c"] [ext_resource type="Shader" uid="uid://d0eo5uuj222c4" path="res://assets/shaders/CG_color_blender.gdshader" id="2_2dq8e"] @@ -6,6 +6,8 @@ [ext_resource type="Script" uid="uid://dt5uj25u0g6y3" path="res://scripts/components/particles/FallParticle.cs" id="3_w70im"] [ext_resource type="Texture2D" uid="uid://ceqvdmude7cgg" path="res://assets/sprites/cone.tres" id="4_qdhik"] [ext_resource type="Script" uid="uid://c3cfnrmnnuqms" path="res://addons/floatmodifiers/FloatModifiers.cs" id="4_qof5v"] +[ext_resource type="AudioStream" uid="uid://bmupd3v3gvsca" path="res://assets/audio/sfx/plastichit_generic.tres" id="7_0amn8"] +[ext_resource type="AudioStream" uid="uid://w0qfwds4o3ti" path="res://assets/audio/sfx/hit_generic.tres" id="7_67t4t"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_sat5k"] resource_local_to_scene = true @@ -35,7 +37,7 @@ _armor = NodePath("Armor") [node name="CanvasGroup" parent="." index="0"] material = SubResource("ShaderMaterial_sat5k") -[node name="Hat" type="RigidBody2D" parent="CanvasGroup" index="1" node_paths=PackedStringArray("data", "deathTimer")] +[node name="Hat" type="RigidBody2D" parent="CanvasGroup" index="1" node_paths=PackedStringArray("data")] position = Vector2(-9, -76) collision_layer = 128 collision_mask = 64 @@ -44,10 +46,9 @@ center_of_mass_mode = 1 freeze = true script = ExtResource("3_w70im") data = NodePath("../..") -deathTimer = NodePath("Timer") -falloffImpulseMin = Vector2(0, 1) -falloffImpulseMax = Vector2(1, 0) -falloffOffsetMin = Vector2(1, 0) +maxAngle = 45.0 +minTorque = -45.0 +maxTorque = 45.0 Impulse = 100.0 [node name="Sprite" type="Sprite2D" parent="CanvasGroup/Hat" index="0"] @@ -58,9 +59,6 @@ texture = ExtResource("4_qdhik") position = Vector2(1, -6) shape = SubResource("CircleShape2D_67t4t") -[node name="Timer" type="Timer" parent="CanvasGroup/Hat" index="2"] -wait_time = 5.0 - [node name="Eatbox" parent="." index="2"] _damage = SubResource("Resource_w70im") @@ -71,5 +69,9 @@ _speed = SubResource("Resource_qof5v") script = ExtResource("3_5s7in") _maxHP = 130 -[connection signal="timeout" from="CanvasGroup/Hat/Timer" to="CanvasGroup/Hat" method="queue_free"] +[node name="HitPlayer" parent="." index="8"] +playlist = Array[AudioStream]([ExtResource("7_0amn8"), ExtResource("7_67t4t")]) +channels = Array[String](["plastic_hit", "hit"]) + +[connection signal="ArmorLost" from="Armor" to="HitPlayer" method="Next"] [connection signal="ArmorLost" from="Armor" to="CanvasGroup/Hat" method="FallOff"] diff --git a/scenes/entities/Zombies/hobo.tscn b/scenes/entities/Zombies/hobo.tscn index ec543f8..e273287 100644 --- a/scenes/entities/Zombies/hobo.tscn +++ b/scenes/entities/Zombies/hobo.tscn @@ -1,12 +1,17 @@ -[gd_scene load_steps=34 format=3 uid="uid://bgqmwsb6ynm81"] +[gd_scene load_steps=40 format=3 uid="uid://bgqmwsb6ynm81"] [ext_resource type="PackedScene" uid="uid://co11v3w8hbwgf" path="res://scenes/entities/Zombies/zombie.tscn" id="1_fnu7s"] [ext_resource type="Shader" uid="uid://d0eo5uuj222c4" path="res://assets/shaders/CG_color_blender.gdshader" id="2_6qr4h"] [ext_resource type="Texture2D" uid="uid://cse1504ao4g8e" path="res://assets/sprites/atlases/zombies/hobo.png" id="3_6qr4h"] +[ext_resource type="Script" uid="uid://dt5uj25u0g6y3" path="res://scripts/components/particles/FallParticle.cs" id="3_tu6af"] [ext_resource type="AnimationLibrary" uid="uid://cuh2kyb21hmkm" path="res://resources/animations/zombies/basic_zombie.res" id="4_02fim"] [ext_resource type="Script" uid="uid://c5v2og85t7s6j" path="res://scripts/components/zombies/behaviours/HoboBehaviour.cs" id="4_5selg"] [ext_resource type="Script" uid="uid://c3cfnrmnnuqms" path="res://addons/floatmodifiers/FloatModifiers.cs" id="4_c1y3b"] [ext_resource type="Script" uid="uid://fd4im1fmwc5n" path="res://scripts/components/Armor.cs" id="4_w8pya"] +[ext_resource type="AudioStream" uid="uid://bu1egfsyplpx4" path="res://assets/audio/sfx/metalhit_generic.tres" id="8_4248q"] +[ext_resource type="AudioStream" uid="uid://w0qfwds4o3ti" path="res://assets/audio/sfx/hit_generic.tres" id="9_tu6af"] +[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="11_7jlle"] +[ext_resource type="AudioStream" uid="uid://ch55p7qbaawtp" path="res://assets/audio/sfx/argh.tres" id="12_w1b1s"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_w8pya"] resource_local_to_scene = true @@ -22,6 +27,10 @@ region = Rect2(0, 15, 40, 49) atlas = ExtResource("3_6qr4h") region = Rect2(3, 0, 35, 11) +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_4248q"] +radius = 17.0 +height = 48.0 + [sub_resource type="Resource" id="Resource_qg8rq"] resource_local_to_scene = true script = ExtResource("4_c1y3b") @@ -101,6 +110,20 @@ tracks/2/keys = { "update": 1, "values": [0.0, 1.0] } +tracks/3/type = "method" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("RipPlayer") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(1.96667), +"transitions": PackedFloat32Array(1), +"values": [{ +"args": [], +"method": &"Play" +}] +} [sub_resource type="Animation" id="Animation_5selg"] resource_name = "walk" @@ -206,7 +229,16 @@ _armor = NodePath("CanArmor") [node name="CanvasGroup" parent="." index="0"] material = SubResource("ShaderMaterial_w8pya") -[node name="Can" type="Node2D" parent="CanvasGroup" index="1"] +[node name="Can" type="RigidBody2D" parent="CanvasGroup" index="1" node_paths=PackedStringArray("data")] +collision_layer = 128 +collision_mask = 64 +freeze = true +script = ExtResource("3_tu6af") +data = NodePath("../..") +maxAngle = 45.0 +minTorque = -45.0 +maxTorque = 45.0 +Impulse = 100.0 [node name="Sprite2D" type="Sprite2D" parent="CanvasGroup/Can" index="0"] position = Vector2(-4, -40) @@ -217,6 +249,10 @@ z_index = -1 position = Vector2(-6, -63) texture = SubResource("AtlasTexture_5selg") +[node name="CollisionShape2D" type="CollisionShape2D" parent="CanvasGroup/Can" index="2"] +position = Vector2(-3, -40) +shape = SubResource("CapsuleShape2D_4248q") + [node name="Eatbox" parent="." index="2"] _damage = SubResource("Resource_qg8rq") @@ -246,5 +282,16 @@ script = ExtResource("4_5selg") _eatBox = NodePath("../Eatbox") _animationTree = NodePath("../AnimationTree") -[connection signal="ArmorLost" from="CanArmor" to="CanvasGroup/Can" method="queue_free"] +[node name="HitPlayer" parent="." index="9"] +playlist = Array[AudioStream]([ExtResource("8_4248q"), ExtResource("9_tu6af")]) +channels = Array[String](["metal_hit", "hit"]) + +[node name="RipPlayer" type="Node" parent="." index="11"] +script = ExtResource("11_7jlle") +audioStream = ExtResource("12_w1b1s") +channel = "anger" +metadata/_custom_type_script = "uid://c36bj8u7jghc7" + +[connection signal="ArmorLost" from="CanArmor" to="HitPlayer" method="Next"] +[connection signal="ArmorLost" from="CanArmor" to="CanvasGroup/Can" method="FallOff"] [connection signal="ArmorLost" from="CanArmor" to="Behaviour" method="Trashed"] diff --git a/scenes/entities/Zombies/zombie.tscn b/scenes/entities/Zombies/zombie.tscn index 776b4e2..82685a4 100644 --- a/scenes/entities/Zombies/zombie.tscn +++ b/scenes/entities/Zombies/zombie.tscn @@ -1,16 +1,21 @@ -[gd_scene load_steps=19 format=3 uid="uid://co11v3w8hbwgf"] +[gd_scene load_steps=24 format=3 uid="uid://co11v3w8hbwgf"] [ext_resource type="Script" uid="uid://dildme6epx8l4" path="res://scripts/components/zombies/RuntimeZombieData.cs" id="1_qq3f1"] [ext_resource type="Texture2D" uid="uid://bwdqbrnn7ygtr" path="res://assets/sprites/atlases/zombies/Зондби.png" id="2_4pdxh"] +[ext_resource type="AudioStream" uid="uid://dt13iugnnx4op" path="res://assets/audio/sfx/yuck_generic.tres" id="2_hh4qh"] [ext_resource type="Shader" uid="uid://d0eo5uuj222c4" path="res://assets/shaders/CG_color_blender.gdshader" id="2_srwwe"] [ext_resource type="Script" uid="uid://dqyony6jxt2p0" path="res://scripts/components/zombies/EatBox.cs" id="3_2aulo"] +[ext_resource type="AudioStream" uid="uid://bjotp63arocci" path="res://assets/audio/sfx/frozen.mp3" id="3_ltj46"] [ext_resource type="Script" uid="uid://c5vfccegyy01t" path="res://scripts/components/FlashComponent.cs" id="3_rao3m"] [ext_resource type="Script" uid="uid://7hdj2k14lfe4" path="res://scripts/components/zombies/ZombieMover.cs" id="4_u5syx"] [ext_resource type="AnimationLibrary" uid="uid://cuh2kyb21hmkm" path="res://resources/animations/zombies/basic_zombie.res" id="6_ckb7n"] [ext_resource type="Script" uid="uid://c3cfnrmnnuqms" path="res://addons/floatmodifiers/FloatModifiers.cs" id="7_b3p4o"] [ext_resource type="AnimationNodeStateMachine" uid="uid://dj0blope85bg7" path="res://resources/animations/zombies/basic_zombie_tree.tres" id="8_ckb7n"] -[ext_resource type="AudioStream" uid="uid://xoy5ct1t17k5" path="res://assets/audio/sfx/slap.mp3" id="8_di4dd"] -[ext_resource type="Script" uid="uid://bsg4utgc0u0vo" path="res://scripts/components/zombies/AudioDamage.cs" id="9_oxd1e"] +[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="10_ruqsf"] +[ext_resource type="AudioStream" uid="uid://dyid55nhflwyn" path="res://assets/audio/sfx/chomp_generic.tres" id="11_vjrlo"] +[ext_resource type="AudioStream" uid="uid://bg76miyscfvhu" path="res://assets/audio/sfx/groan.tres" id="12_ad42i"] +[ext_resource type="Script" uid="uid://cnn0ymuhypdff" path="res://scripts/audio/ChannelPlaylist.cs" id="12_he8da"] +[ext_resource type="AudioStream" uid="uid://w0qfwds4o3ti" path="res://assets/audio/sfx/hit_generic.tres" id="12_vjrlo"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_63ls2"] resource_local_to_scene = true @@ -62,6 +67,8 @@ mult_value = 1.0 y_sort_enabled = true script = ExtResource("1_qq3f1") _maxHP = 70 +garlicSound = ExtResource("2_hh4qh") +freezeSound = ExtResource("3_ltj46") [node name="CanvasGroup" type="CanvasGroup" parent="."] material = SubResource("ShaderMaterial_63ls2") @@ -104,11 +111,35 @@ anim_player = NodePath("../AnimationPlayer") script = ExtResource("4_u5syx") _speed = SubResource("Resource_ckb7n") -[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."] -stream = ExtResource("8_di4dd") -script = ExtResource("9_oxd1e") +[node name="ChompPlayer" type="Node" parent="."] +script = ExtResource("10_ruqsf") +audioStream = ExtResource("11_vjrlo") +channel = "chomp" +metadata/_custom_type_script = "uid://c36bj8u7jghc7" +[node name="HitPlayer" type="Node" parent="."] +script = ExtResource("12_he8da") +playlist = Array[AudioStream]([ExtResource("12_vjrlo")]) +channels = Array[String](["hit"]) +metadata/_custom_type_script = "uid://c36bj8u7jghc7" + +[node name="GroanPlayer" type="Node" parent="."] +script = ExtResource("10_ruqsf") +audioStream = ExtResource("12_ad42i") +channel = "groan" +metadata/_custom_type_script = "uid://c36bj8u7jghc7" + +[node name="Timer" type="Timer" parent="GroanPlayer"] +wait_time = 20.0 + +[node name="StartTimer" type="Timer" parent="GroanPlayer/Timer"] +wait_time = 5.0 +one_shot = true +autostart = true + +[connection signal="OnDamaged" from="." to="HitPlayer" method="Play"] [connection signal="OnHPChanged" from="." to="CanvasGroup" method="DamageFlash"] -[connection signal="OnHPChanged" from="." to="AudioStreamPlayer2D" method="OnDamaged"] [connection signal="area_entered" from="Eatbox" to="Eatbox" method="OnAreaEntered"] [connection signal="area_exited" from="Eatbox" to="Eatbox" method="OnAreaExited"] +[connection signal="timeout" from="GroanPlayer/Timer" to="GroanPlayer" method="Play"] +[connection signal="timeout" from="GroanPlayer/Timer/StartTimer" to="GroanPlayer/Timer" method="start"] diff --git a/scenes/entities/plants/peashooter.tscn b/scenes/entities/plants/peashooter.tscn index 0f84ec6..7ba01a0 100644 --- a/scenes/entities/plants/peashooter.tscn +++ b/scenes/entities/plants/peashooter.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=19 format=3 uid="uid://dy41q1kxray5t"] +[gd_scene load_steps=21 format=3 uid="uid://dy41q1kxray5t"] [ext_resource type="PackedScene" uid="uid://b1hjjbdwf1rtc" path="res://scenes/templates/plant_template.tscn" id="1_pyk3o"] [ext_resource type="Texture2D" uid="uid://cksryh4w5dbbx" path="res://assets/sprites/atlases/plants/peashooter.png" id="2_14qlx"] @@ -8,6 +8,8 @@ [ext_resource type="Script" uid="uid://bdk5iqtw4xbkl" path="res://scripts/components/plants/behaviours/PeashooterBehaviour.cs" id="5_7qiua"] [ext_resource type="Script" uid="uid://dn53jvpjyg63l" path="res://scripts/components/plants/Eyesight.cs" id="7_2bki8"] [ext_resource type="Script" uid="uid://hccb0aee0x0o" path="res://scripts/components/plants/PlantEyesightLimiter.cs" id="8_nl4jc"] +[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="9_mbbd7"] +[ext_resource type="AudioStream" uid="uid://dsv81mvrdg3w3" path="res://assets/audio/sfx/throw_generic.tres" id="10_q58jr"] [sub_resource type="Animation" id="Animation_a2y0j"] length = 0.001 @@ -101,8 +103,12 @@ script = ExtResource("7_2bki8") shape = SubResource("SegmentShape2D_8iovl") script = ExtResource("8_nl4jc") -[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="." index="6"] - [node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox" index="0"] position = Vector2(0, 5) shape = SubResource("RectangleShape2D_r7xnh") + +[node name="ChannelPlayer" type="Node" parent="." index="7"] +script = ExtResource("9_mbbd7") +audioStream = ExtResource("10_q58jr") +channel = "pea_shoot" +metadata/_custom_type_script = "uid://c36bj8u7jghc7" diff --git a/scenes/entities/plants/potato_mine.tscn b/scenes/entities/plants/potato_mine.tscn index 5918170..03dee1e 100644 --- a/scenes/entities/plants/potato_mine.tscn +++ b/scenes/entities/plants/potato_mine.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=21 format=3 uid="uid://b5x35v3w2u8dx"] +[gd_scene load_steps=24 format=3 uid="uid://b5x35v3w2u8dx"] [ext_resource type="PackedScene" uid="uid://b1hjjbdwf1rtc" path="res://scenes/templates/plant_template.tscn" id="1_dj7ul"] [ext_resource type="Texture2D" uid="uid://c77o6ba0mw7a3" path="res://assets/sprites/atlases/plants/potato_mine.png" id="2_sneas"] @@ -6,6 +6,9 @@ [ext_resource type="AnimationLibrary" uid="uid://bjlbdvr6f0r7e" path="res://resources/animations/plants/potato_mine.res" id="3_7tqmj"] [ext_resource type="Script" uid="uid://c7qfh4py0uulo" path="res://scripts/components/plants/behaviours/PotatomineBehaviour.cs" id="4_twx65"] [ext_resource type="PackedScene" uid="uid://ckanq33rao1ur" path="res://scenes/particles/potato_explosion.tscn" id="5_px4r0"] +[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="7_b1j2f"] +[ext_resource type="AudioStream" uid="uid://dltjtpyfr1so0" path="res://assets/audio/sfx/potato_mine.mp3" id="8_3vqdc"] +[ext_resource type="AudioStream" uid="uid://b27om1bw1x04e" path="res://assets/audio/sfx/dirt_rise.mp3" id="9_3vqdc"] [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_6uutc"] animation = &"potato_mine/explode" @@ -103,6 +106,12 @@ particles = ExtResource("5_px4r0") position = Vector2(0, 9) shape = SubResource("CircleShape2D_wvns6") +[node name="ExplosionPlayer" type="Node" parent="ExplosionBox" index="1"] +script = ExtResource("7_b1j2f") +audioStream = ExtResource("8_3vqdc") +channel = "explosion" +metadata/_custom_type_script = "uid://c36bj8u7jghc7" + [node name="PrimeTimer" type="Timer" parent="." index="5"] wait_time = 15.0 one_shot = true @@ -123,5 +132,11 @@ position = Vector2(0, 16.5) shape = SubResource("RectangleShape2D_ti2g4") disabled = true +[node name="ChannelPlayer" type="Node" parent="." index="8"] +script = ExtResource("7_b1j2f") +audioStream = ExtResource("9_3vqdc") +channel = "plant_rise" +metadata/_custom_type_script = "uid://c36bj8u7jghc7" + [connection signal="area_entered" from="Detectionbox" to="Behaviour" method="OnAreaEntered"] [connection signal="timeout" from="PrimeTimer" to="Behaviour" method="Prime"] diff --git a/scenes/entities/plants/spikeweed.tscn b/scenes/entities/plants/spikeweed.tscn index 84e951b..9b96cff 100644 --- a/scenes/entities/plants/spikeweed.tscn +++ b/scenes/entities/plants/spikeweed.tscn @@ -31,7 +31,7 @@ size = Vector2(49, 38) texture = ExtResource("2_ffrjr") hframes = 10 vframes = 2 -frame = 3 +frame = 6 [node name="AnimationPlayer" parent="." index="1"] libraries = { @@ -46,9 +46,7 @@ parameters/blend_position = 0.0 script = ExtResource("3_uhpn7") _tree = NodePath("../AnimationTree") -[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="." index="4"] - -[node name="Hitbox" parent="." index="5"] +[node name="Hitbox" parent="." index="4"] collision_layer = 4 collision_mask = 8 script = ExtResource("3_hqtbm") diff --git a/scenes/entities/plants/threepeater.tscn b/scenes/entities/plants/threepeater.tscn index d132a36..06ca8e5 100644 --- a/scenes/entities/plants/threepeater.tscn +++ b/scenes/entities/plants/threepeater.tscn @@ -1,8 +1,7 @@ -[gd_scene load_steps=12 format=3 uid="uid://eegv1qihfv2q"] +[gd_scene load_steps=11 format=3 uid="uid://eegv1qihfv2q"] [ext_resource type="PackedScene" uid="uid://dy41q1kxray5t" path="res://scenes/entities/plants/peashooter.tscn" id="1_muntu"] [ext_resource type="Script" uid="uid://djpc0kvagpadv" path="res://scripts/components/plants/ThreepeaterShooter.cs" id="2_ieami"] -[ext_resource type="AudioStream" uid="uid://dp6k7xiptn68n" path="res://assets/audio/sfx/pop.mp3" id="2_j7h7q"] [ext_resource type="Script" uid="uid://hccb0aee0x0o" path="res://scripts/components/plants/PlantEyesightLimiter.cs" id="3_dqn6w"] [sub_resource type="Animation" id="Animation_a2y0j"] @@ -73,21 +72,20 @@ tracks/1/keys = { "method": &"Shoot" }] } -tracks/2/type = "audio" +tracks/2/type = "method" tracks/2/imported = false tracks/2/enabled = true -tracks/2/path = NodePath("AudioStreamPlayer2D") +tracks/2/path = NodePath("ChannelPlayer") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { -"clips": [{ -"end_offset": 0.0, -"start_offset": 0.0, -"stream": ExtResource("2_j7h7q") -}], -"times": PackedFloat32Array(0.25) +"times": PackedFloat32Array(0.25), +"transitions": PackedFloat32Array(1), +"values": [{ +"args": [], +"method": &"Play" +}] } -tracks/2/use_blend = true [sub_resource type="AnimationLibrary" id="AnimationLibrary_pqbws"] resource_local_to_scene = true diff --git a/scenes/entities/plants/wallnut.tscn b/scenes/entities/plants/wallnut.tscn index 6800029..b229d3c 100644 --- a/scenes/entities/plants/wallnut.tscn +++ b/scenes/entities/plants/wallnut.tscn @@ -28,13 +28,13 @@ blend_mode = 1 size = Vector2(33, 46) [node name="Wallnut" instance=ExtResource("1_fluxn")] -_maxHP = 450 +_maxHP = 600 [node name="Sprite2D" parent="." index="0"] texture = ExtResource("2_o5tda") hframes = 12 vframes = 3 -frame = 4 +frame = 3 [node name="AnimationPlayer" parent="." index="1"] libraries = { diff --git a/scenes/gui/choose_your_seeds.tscn b/scenes/gui/choose_your_seeds.tscn index 247cc58..7ee96bc 100644 --- a/scenes/gui/choose_your_seeds.tscn +++ b/scenes/gui/choose_your_seeds.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=15 format=3 uid="uid://dpxxjfd5lv5sv"] +[gd_scene load_steps=16 format=3 uid="uid://dpxxjfd5lv5sv"] [ext_resource type="Theme" uid="uid://e8n88g31w7x7" path="res://resources/themes/ChooseYourSeeds.tres" id="1_bfo8i"] [ext_resource type="Texture2D" uid="uid://dr8a0rx42o3qy" path="res://assets/sprites/gui/ChooseYourSeeds/PlantFrame.tres" id="2_so2bw"] @@ -7,6 +7,8 @@ [ext_resource type="Script" uid="uid://eq3ecja30mlj" path="res://scripts/components/gui/choose_your_seeds/GridLoader.cs" id="4_i7sou"] [ext_resource type="PackedScene" uid="uid://10b1egek6upx" path="res://scenes/gui/level_run_button.tscn" id="5_n80ic"] [ext_resource type="Script" uid="uid://d26waisd3v488" path="res://scripts/components/gui/choose_your_seeds/LevelRunButton.cs" id="7_k6b6g"] +[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="8_v7xff"] +[ext_resource type="AudioStream" uid="uid://bdx83fokp6kha" path="res://assets/audio/sfx/buttonclick.mp3" id="9_v7xff"] [sub_resource type="Animation" id="Animation_0rps3"] resource_name = "Hide" @@ -104,9 +106,6 @@ viewport_path = NodePath("Panel/MarginContainer/VBoxContainer/HBoxContainer/Fram font_size = 24 font_color = Color(0, 0, 0, 1) -[sub_resource type="LabelSettings" id="LabelSettings_ln6r7"] -font_color = Color(0, 0, 0, 1) - [node name="ChooseYourSeeds" type="Control"] process_mode = 3 layout_mode = 3 @@ -197,11 +196,11 @@ layout_mode = 2 label_settings = SubResource("LabelSettings_fmc0y") horizontal_alignment = 1 -[node name="Description" type="Label" parent="Panel/MarginContainer/VBoxContainer/HBoxContainer/PanelContainer/ScrollContainer/VBoxContainer"] +[node name="Description" type="RichTextLabel" parent="Panel/MarginContainer/VBoxContainer/HBoxContainer/PanelContainer/ScrollContainer/VBoxContainer"] layout_mode = 2 -text = " -" -label_settings = SubResource("LabelSettings_ln6r7") +theme_override_colors/default_color = Color(0, 0, 0, 1) +bbcode_enabled = true +fit_content = true [node name="ScrollContainer" type="ScrollContainer" parent="Panel/MarginContainer/VBoxContainer"] layout_mode = 2 @@ -222,3 +221,11 @@ offset_right = -16.16 offset_bottom = -16.016 script = ExtResource("7_k6b6g") _player = NodePath("../../AnimationPlayer") + +[node name="ChannelPlayer" type="Node" parent="."] +script = ExtResource("8_v7xff") +audioStream = ExtResource("9_v7xff") +channel = "button" +metadata/_custom_type_script = "uid://c36bj8u7jghc7" + +[connection signal="pressed" from="Panel/LevelRunButton" to="ChannelPlayer" method="Play"] diff --git a/scenes/gui/pause_menu.tscn b/scenes/gui/pause_menu.tscn index f275a83..24b4d52 100644 --- a/scenes/gui/pause_menu.tscn +++ b/scenes/gui/pause_menu.tscn @@ -1,8 +1,10 @@ -[gd_scene load_steps=9 format=3 uid="uid://fm471x22n8kr"] +[gd_scene load_steps=11 format=3 uid="uid://fm471x22n8kr"] [ext_resource type="Texture2D" uid="uid://dvldjlg0nr355" path="res://assets/sprites/atlases/atlas1.png" id="1_loim0"] [ext_resource type="Script" uid="uid://gvwhpjoame6m" path="res://scripts/components/gui/PauseMenu.cs" id="2_4vp8g"] -[ext_resource type="AudioStream" uid="uid://co33ajpc1a1qm" path="res://assets/audio/zo.mp3" id="3_e3p60"] +[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="3_4vp8g"] +[ext_resource type="Script" uid="uid://ciccaxqo70s13" path="res://scripts/audio/AudioSlider.cs" id="3_e3p60"] +[ext_resource type="AudioStream" uid="uid://bdx83fokp6kha" path="res://assets/audio/sfx/buttonclick.mp3" id="4_e3p60"] [sub_resource type="AtlasTexture" id="AtlasTexture_tifvb"] atlas = ExtResource("1_loim0") @@ -32,9 +34,9 @@ grow_horizontal = 2 grow_vertical = 2 mouse_filter = 0 theme_override_constants/margin_left = 150 -theme_override_constants/margin_top = 60 +theme_override_constants/margin_top = 40 theme_override_constants/margin_right = 150 -theme_override_constants/margin_bottom = 100 +theme_override_constants/margin_bottom = 60 [node name="Pause" type="NinePatchRect" parent="."] process_mode = 3 @@ -70,6 +72,37 @@ label_settings = SubResource("LabelSettings_or0he") horizontal_alignment = 1 metadata/_edit_use_anchors_ = true +[node name="SFXVolume" type="HBoxContainer" parent="Pause/MarginContainer/Buttons"] +layout_mode = 2 + +[node name="Label" type="Label" parent="Pause/MarginContainer/Buttons/SFXVolume"] +layout_mode = 2 +text = "SFX" + +[node name="HSlider" type="HSlider" parent="Pause/MarginContainer/Buttons/SFXVolume"] +layout_mode = 2 +size_flags_horizontal = 3 +max_value = 1.0 +step = 0.01 +value = 1.0 +script = ExtResource("3_e3p60") + +[node name="MusicVolume" type="HBoxContainer" parent="Pause/MarginContainer/Buttons"] +layout_mode = 2 + +[node name="Label" type="Label" parent="Pause/MarginContainer/Buttons/MusicVolume"] +layout_mode = 2 +text = "Music" + +[node name="HSlider" type="HSlider" parent="Pause/MarginContainer/Buttons/MusicVolume"] +layout_mode = 2 +size_flags_horizontal = 3 +max_value = 1.0 +step = 0.01 +value = 1.0 +script = ExtResource("3_e3p60") +affects = 1 + [node name="ContinueButton" type="Button" parent="Pause/MarginContainer/Buttons"] layout_mode = 2 icon = SubResource("AtlasTexture_4k24j") @@ -85,9 +118,15 @@ layout_mode = 2 icon = SubResource("AtlasTexture_y3stn") icon_alignment = 1 -[node name="Audio" type="AudioStreamPlayer" parent="Pause"] -stream = ExtResource("3_e3p60") +[node name="ButtonPlayer" type="Node" parent="Pause/MarginContainer/Buttons"] +script = ExtResource("3_4vp8g") +audioStream = ExtResource("4_e3p60") +channel = "button" +metadata/_custom_type_script = "uid://c36bj8u7jghc7" [connection signal="pressed" from="Pause/MarginContainer/Buttons/ContinueButton" to="Pause" method="Continue"] +[connection signal="pressed" from="Pause/MarginContainer/Buttons/ContinueButton" to="Pause/MarginContainer/Buttons/ButtonPlayer" method="Play"] [connection signal="pressed" from="Pause/MarginContainer/Buttons/RestartButton" to="Pause" method="Restart"] +[connection signal="pressed" from="Pause/MarginContainer/Buttons/RestartButton" to="Pause/MarginContainer/Buttons/ButtonPlayer" method="Play"] [connection signal="pressed" from="Pause/MarginContainer/Buttons/ExitButton" to="Pause" method="Exit"] +[connection signal="pressed" from="Pause/MarginContainer/Buttons/ExitButton" to="Pause/MarginContainer/Buttons/ButtonPlayer" method="Play"] diff --git a/scenes/gui/runtime_gui.tscn b/scenes/gui/runtime_gui.tscn index bcf65d8..fe6a0f6 100644 --- a/scenes/gui/runtime_gui.tscn +++ b/scenes/gui/runtime_gui.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=13 format=3 uid="uid://cfnmspei3k4p7"] +[gd_scene load_steps=16 format=3 uid="uid://cfnmspei3k4p7"] [ext_resource type="PackedScene" uid="uid://ky35veswaytr" path="res://scenes/gui/sun_counter.tscn" id="1_le3od"] [ext_resource type="Theme" uid="uid://b8l285cjcgeyi" path="res://resources/themes/GameStyle.tres" id="1_xf6ra"] @@ -8,6 +8,9 @@ [ext_resource type="PackedScene" uid="uid://cgm7td1hgs0rr" path="res://scenes/gui/fast_forward_button.tscn" id="4_66uy4"] [ext_resource type="PackedScene" uid="uid://u5l3jd00s8vd" path="res://scenes/gui/pause_button.tscn" id="5_jyq78"] [ext_resource type="PackedScene" uid="uid://b4lx8adw6rbqs" path="res://scenes/particles/dirt_explosion.tscn" id="6_5jtun"] +[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="7_5kkbf"] +[ext_resource type="AudioStream" uid="uid://dfbg6dxg4actb" path="res://assets/audio/sfx/shovel.mp3" id="8_xq48m"] +[ext_resource type="AudioStream" uid="uid://ckja8ym50y0d4" path="res://assets/audio/sfx/pause.mp3" id="11_cti1a"] [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_ps2iw"] texture = ExtResource("2_eg3hk") @@ -115,13 +118,30 @@ size_flags_horizontal = 1 size_flags_vertical = 4 particles = ExtResource("6_5jtun") +[node name="ChannelPlayer" type="Node" parent="MarginContainer/Control/Hotbar/ShovelButton"] +script = ExtResource("7_5kkbf") +audioStream = ExtResource("8_xq48m") +channel = "shovel" +metadata/_custom_type_script = "uid://c36bj8u7jghc7" + [node name="FastForwardButton" parent="MarginContainer/Control/Hotbar" node_paths=PackedStringArray("flashAnimator") instance=ExtResource("4_66uy4")] layout_mode = 2 flashAnimator = NodePath("../../../../FastForwardEffect/AnimationPlayer") +[node name="ChannelPlayer" type="Node" parent="MarginContainer/Control/Hotbar/FastForwardButton"] +script = ExtResource("7_5kkbf") +channel = "fastfw" +metadata/_custom_type_script = "uid://c36bj8u7jghc7" + [node name="PauseButton" parent="MarginContainer/Control/Hotbar" instance=ExtResource("5_jyq78")] layout_mode = 2 +[node name="ChannelPlayer" type="Node" parent="MarginContainer/Control/Hotbar/PauseButton"] +script = ExtResource("7_5kkbf") +audioStream = ExtResource("11_cti1a") +channel = "pause" +metadata/_custom_type_script = "uid://c36bj8u7jghc7" + [node name="FastForwardEffect" type="ColorRect" parent="."] z_index = 1 layout_mode = 1 @@ -138,3 +158,6 @@ metadata/_edit_lock_ = true libraries = { &"": SubResource("AnimationLibrary_myv2j") } + +[connection signal="pressed" from="MarginContainer/Control/Hotbar/ShovelButton" to="MarginContainer/Control/Hotbar/ShovelButton/ChannelPlayer" method="Play"] +[connection signal="pressed" from="MarginContainer/Control/Hotbar/PauseButton" to="MarginContainer/Control/Hotbar/PauseButton/ChannelPlayer" method="Play"] diff --git a/scenes/level components/field_controller.tscn b/scenes/level components/field_controller.tscn index 4540853..fb618b5 100644 --- a/scenes/level components/field_controller.tscn +++ b/scenes/level components/field_controller.tscn @@ -1,8 +1,10 @@ -[gd_scene load_steps=5 format=3 uid="uid://devn21c7luf45"] +[gd_scene load_steps=7 format=3 uid="uid://devn21c7luf45"] [ext_resource type="Shader" uid="uid://mt7vheq5modk" path="res://assets/shaders/greyscale.gdshader" id="1_d73yj"] [ext_resource type="Script" uid="uid://bj7rw2f6qu1lg" path="res://scripts/components/level/PlantField.cs" id="2_84bqh"] [ext_resource type="PackedScene" uid="uid://b4lx8adw6rbqs" path="res://scenes/particles/dirt_explosion.tscn" id="3_ddnu6"] +[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="4_w40vd"] +[ext_resource type="AudioStream" uid="uid://ciepttpel6dxb" path="res://assets/audio/gui/plant_generic.tres" id="5_2x1ty"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_0miwm"] shader = ExtResource("1_d73yj") @@ -16,3 +18,9 @@ particles = ExtResource("3_ddnu6") [node name="Preview" type="Node2D" parent="."] process_mode = 4 use_parent_material = true + +[node name="PlantPlayer" type="Node" parent="."] +script = ExtResource("4_w40vd") +audioStream = ExtResource("5_2x1ty") +channel = "plant" +metadata/_custom_type_script = "uid://c36bj8u7jghc7" diff --git a/scenes/prototype_survival.tscn b/scenes/prototype_survival.tscn index e2faa5a..8e9e35c 100644 --- a/scenes/prototype_survival.tscn +++ b/scenes/prototype_survival.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=30 format=3 uid="uid://c1335fke4thpm"] +[gd_scene load_steps=33 format=3 uid="uid://c1335fke4thpm"] [ext_resource type="Script" uid="uid://bndu1h5kgcde8" path="res://scripts/components/level/RuntimeLevelData.cs" id="1_tnxdx"] [ext_resource type="Texture2D" uid="uid://b0tb2hjum40aw" path="res://assets/sprites/background_summer.png" id="1_vafkg"] @@ -17,9 +17,75 @@ [ext_resource type="Script" uid="uid://btqwxelqxheh3" path="res://scripts/components/gui/RestartButton.cs" id="10_4il7a"] [ext_resource type="PackedScene" uid="uid://plc2gus4ppds" path="res://scenes/level components/left_boundary_marker.tscn" id="10_5h8lk"] [ext_resource type="Script" uid="uid://dpdpv2oyxdna7" path="res://scripts/components/gui/ExitButton.cs" id="11_q1dn6"] +[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="12_4il7a"] [ext_resource type="Script" uid="uid://blpu7t8tf6277" path="res://scripts/components/particles/FallFloor.cs" id="13_5h8lk"] +[ext_resource type="AudioStream" uid="uid://bdx83fokp6kha" path="res://assets/audio/sfx/buttonclick.mp3" id="13_q1dn6"] [ext_resource type="Script" uid="uid://c0ov2bq5er0gh" path="res://scripts/components/plants/LoseZone.cs" id="16_r81g1"] [ext_resource type="Script" uid="uid://812ldoyxd5n5" path="res://scripts/components/level/LoseCheckbox.cs" id="17_pb02i"] +[ext_resource type="AudioStream" uid="uid://bxshjvvtv3fmp" path="res://assets/audio/music/playlist.tres" id="23_tsy2s"] + +[sub_resource type="Animation" id="Animation_r81g1"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Fade:self_modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Fade/Brainz:self_modulate") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Fade:visible") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("VBoxContainer:visible") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("VBoxContainer:modulate") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} [sub_resource type="Animation" id="Animation_h1ksq"] resource_name = "fade" @@ -85,69 +151,6 @@ tracks/4/keys = { "values": [Color(1, 1, 1, 0), Color(1, 1, 1, 0), Color(1, 1, 1, 1)] } -[sub_resource type="Animation" id="Animation_r81g1"] -length = 0.001 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("Fade:self_modulate") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Color(1, 1, 1, 1)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("Fade/Brainz:self_modulate") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Color(1, 1, 1, 1)] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("Fade:visible") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [false] -} -tracks/3/type = "value" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("VBoxContainer:visible") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [false] -} -tracks/4/type = "value" -tracks/4/imported = false -tracks/4/enabled = true -tracks/4/path = NodePath("VBoxContainer:modulate") -tracks/4/interp = 1 -tracks/4/loop_wrap = true -tracks/4/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Color(1, 1, 1, 1)] -} - [sub_resource type="AnimationLibrary" id="AnimationLibrary_pb02i"] _data = { &"RESET": SubResource("Animation_r81g1"), @@ -285,6 +288,12 @@ icon = SubResource("AtlasTexture_63iib") icon_alignment = 1 script = ExtResource("11_q1dn6") +[node name="TapPlayer" type="Node" parent="GameOverScreen/VBoxContainer"] +script = ExtResource("12_4il7a") +audioStream = ExtResource("13_q1dn6") +channel = "button" +metadata/_custom_type_script = "uid://c36bj8u7jghc7" + [node name="GameOverZombie" type="CanvasLayer" parent="."] process_mode = 3 layer = 12 @@ -392,6 +401,13 @@ fadeAnimation = NodePath("../GameOverScreen/AnimationPlayer") position = Vector2(141, 199.5) shape = SubResource("RectangleShape2D_r81g1") +[node name="MusicPlayer" type="AudioStreamPlayer" parent="."] +stream = ExtResource("23_tsy2s") +autoplay = true +bus = &"MusicBus" + +[connection signal="pressed" from="GameOverScreen/VBoxContainer/RestartButton" to="GameOverScreen/VBoxContainer/TapPlayer" method="Play"] +[connection signal="pressed" from="GameOverScreen/VBoxContainer/ExitButton" to="GameOverScreen/VBoxContainer/TapPlayer" method="Play"] [connection signal="timeout" from="SunSpawner/Timer" to="SunSpawner" method="Spawn"] [connection signal="timeout" from="ZombieSequencer/Timer" to="ZombieSequencer" method="FormSquad"] [connection signal="timeout" from="SurvivalAI/Timer" to="SurvivalAI" method="SummonWave"] diff --git a/scenes/sun.tscn b/scenes/sun.tscn index 9c51759..42731ca 100644 --- a/scenes/sun.tscn +++ b/scenes/sun.tscn @@ -1,8 +1,10 @@ -[gd_scene load_steps=13 format=3 uid="uid://bpekho7leatr5"] +[gd_scene load_steps=15 format=3 uid="uid://bpekho7leatr5"] [ext_resource type="Shader" uid="uid://bk8uy5se3fo0" path="res://assets/shaders/shared_outline.gdshader" id="1_jcu1f"] [ext_resource type="Script" uid="uid://qgeovvluk8yj" path="res://scripts/Sun.cs" id="2_m8xcj"] [ext_resource type="Texture2D" uid="uid://bkmphus5wjadi" path="res://assets/sprites/atlases/sun_atlas.png" id="2_phn3y"] +[ext_resource type="Script" uid="uid://c36bj8u7jghc7" path="res://scripts/audio/ChannelPlayer.cs" id="4_t1pnj"] +[ext_resource type="AudioStream" uid="uid://c0cq80nvld37p" path="res://assets/audio/sfx/sun.mp3" id="5_i8fpp"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_u0o5k"] shader = ExtResource("1_jcu1f") @@ -171,4 +173,10 @@ offset_bottom = 19.0 mouse_filter = 1 mouse_default_cursor_shape = 2 +[node name="SunPlayer" type="Node" parent="."] +script = ExtResource("4_t1pnj") +audioStream = ExtResource("5_i8fpp") +channel = "sun" +metadata/_custom_type_script = "uid://c36bj8u7jghc7" + [connection signal="timeout" from="DeathTimer" to="." method="queue_free"] diff --git a/scripts/Sun.cs b/scripts/Sun.cs index d5b341e..8a6cfd8 100644 --- a/scripts/Sun.cs +++ b/scripts/Sun.cs @@ -29,6 +29,7 @@ public partial class Sun : Area2D _fade.Stop(); scoring = true; + GetNode("SunPlayer").Play(); var tween = CreateTween(); tween.TweenInterval(0.1); tween.TweenProperty(this, "global_position", GetCanvasTransform().AffineInverse() * (Counter.GlobalPosition + Counter.PivotOffset), 0.5).SetTrans(Tween.TransitionType.Cubic).SetEase(Tween.EaseType.Out); diff --git a/scripts/Utility.cs b/scripts/Utility.cs index d2e86f0..ae804ac 100644 --- a/scripts/Utility.cs +++ b/scripts/Utility.cs @@ -14,9 +14,9 @@ public class Utility // #region Enums - public enum EffectSlots {FREEZE, STUN, POISON, GARLIC}; - - public enum DamageTypes {PHYSICAL, ICE}; + public enum EffectSlots { FREEZE, STUN, POISON, GARLIC }; + + public enum DamageTypes { PHYSICAL, ICE }; #endregion @@ -25,9 +25,12 @@ public class Utility public const int TileWidth = 50; public const int TileHeight = 60; public const int LayersCount = 3; - public static Vector2I LeftFieldBoundary = new(305,76); - public static Vector2I RightFieldBoundary = new(755,376); + public static Vector2I LeftFieldBoundary = new(305, 76); + public static Vector2I RightFieldBoundary = new(755, 376); public static readonly Vector2 Tile = new(TileWidth, TileHeight); + public static double SFX = 1.0f; + public static double Music = 1.0f; + } diff --git a/scripts/audio/AudioSequencer.cs b/scripts/audio/AudioSequencer.cs new file mode 100644 index 0000000..94056aa --- /dev/null +++ b/scripts/audio/AudioSequencer.cs @@ -0,0 +1,85 @@ +using Godot; +using Godot.Collections; + +public partial class AudioSequencer : Node +{ + private static AudioSequencer instance; + private Dictionary channels = []; + private Dictionary channelProcess = []; + private Dictionary channelSettings = []; + + [Export] + private ChannelSettings standardSettings; + + public override void _Ready() + { + instance = this; + } + + public static bool IsChannelPlaying(string id) + { + if (instance.channels.ContainsKey(id) == false) + { + instance.InitiateChannel(id); + return false; + } + + if (instance.channelSettings[id].restartTreshold == 0) + return false; + if (instance.channelSettings[id].restartTreshold < 0) + return instance.channelProcess[id]; + + return instance.channelProcess[id] && instance.channels[id].GetPlaybackPosition() < instance.channelSettings[id].restartTreshold / Engine.TimeScale; + } + + public static void Play(string id, AudioStream what) + { + if (IsChannelPlaying(id)) return; + instance.PlayAtChannel(id, what); + } + + public static void ChangeSettings(string id, ChannelSettings settings) + { + if (instance.channels.ContainsKey(id) == false) + { + instance.InitiateChannel(id, settings); + return; + } + instance.channelSettings[id] = settings; + } + + private AudioStreamPlayer InitiateChannel(string id, ChannelSettings settings = null) + { + AudioStreamPlayer player = new(); + + AddChild(player); + channels.Add(id, player); + channelProcess.Add(id, false); + player.Name = id; + + player.Finished += () => { MarkChannel(id, false); }; + + if (settings != null) + { + channelSettings.Add(id, settings); + } + else + { + channelSettings.Add(id, standardSettings); + } + + return player; + } + + private void PlayAtChannel(string id, AudioStream what) + { + channels[id].Stream = what; + channels[id].Play(); + MarkChannel(id, true); + } + + private void MarkChannel(string id, bool how) + { + channelProcess[id] = how; + } +} diff --git a/scripts/audio/AudioSequencer.cs.uid b/scripts/audio/AudioSequencer.cs.uid new file mode 100644 index 0000000..f37a1ea --- /dev/null +++ b/scripts/audio/AudioSequencer.cs.uid @@ -0,0 +1 @@ +uid://cauc1ieq84fwg diff --git a/scripts/audio/AudioSlider.cs b/scripts/audio/AudioSlider.cs new file mode 100644 index 0000000..6bae9b0 --- /dev/null +++ b/scripts/audio/AudioSlider.cs @@ -0,0 +1,43 @@ +using Godot; +using Newlon; + +public partial class AudioSlider : HSlider +{ + enum TYPE + { + SFX, + MUSIC + } + + [Export] private TYPE affects; + public override void _Ready() + { + DragEnded += OnDragEnded; + if (affects == TYPE.SFX) + { + SetValueNoSignal(Utility.SFX); + } + else + { + SetValueNoSignal(Utility.Music); + } + } + + private void OnDragEnded(bool hasChanged) + { + if (hasChanged) + { + if (affects == TYPE.SFX) + { + Utility.SFX = Value; + AudioServer.SetBusVolumeDb(0, Mathf.LinearToDb((float)Value)); + } + else + { + Utility.Music = Value; + AudioServer.SetBusVolumeDb(1, Mathf.LinearToDb((float)Value)); + } + } + } + +} diff --git a/scripts/audio/AudioSlider.cs.uid b/scripts/audio/AudioSlider.cs.uid new file mode 100644 index 0000000..687d2b0 --- /dev/null +++ b/scripts/audio/AudioSlider.cs.uid @@ -0,0 +1 @@ +uid://ciccaxqo70s13 diff --git a/scripts/audio/ChannelPlayer.cs b/scripts/audio/ChannelPlayer.cs new file mode 100644 index 0000000..59e9e43 --- /dev/null +++ b/scripts/audio/ChannelPlayer.cs @@ -0,0 +1,16 @@ +using Godot; + +[GlobalClass] +public partial class ChannelPlayer : Node +{ + [Export] private ChannelSettings settings; + [Export] private AudioStream audioStream; + [Export] private string channel; + + public void Play() + { + AudioSequencer.Play(channel, audioStream); + if (settings != null) + AudioSequencer.ChangeSettings(channel, settings); + } +} diff --git a/scripts/audio/ChannelPlayer.cs.uid b/scripts/audio/ChannelPlayer.cs.uid new file mode 100644 index 0000000..0a64644 --- /dev/null +++ b/scripts/audio/ChannelPlayer.cs.uid @@ -0,0 +1 @@ +uid://c36bj8u7jghc7 diff --git a/scripts/audio/ChannelPlaylist.cs b/scripts/audio/ChannelPlaylist.cs new file mode 100644 index 0000000..382ae2c --- /dev/null +++ b/scripts/audio/ChannelPlaylist.cs @@ -0,0 +1,35 @@ +using Godot; +using Godot.Collections; + +[GlobalClass] +public partial class ChannelPlaylist : Node +{ + [Export] private Array playlist; + [Export] private Array channels; + [Export] private ChannelSettings channelSettings; + private int internal_index = 0; + + public void Play() + { + AudioSequencer.Play(channels[internal_index], playlist[internal_index]); + } + + public void SetIndex(int index) + { + internal_index = index; + if (internal_index >= playlist.Count) + { + internal_index = 0; + } + else if (internal_index < 0) + { + internal_index = playlist.Count - 1; + } + } + + public void Next() + { + SetIndex(internal_index + 1); + } + +} diff --git a/scripts/audio/ChannelPlaylist.cs.uid b/scripts/audio/ChannelPlaylist.cs.uid new file mode 100644 index 0000000..ae20b9e --- /dev/null +++ b/scripts/audio/ChannelPlaylist.cs.uid @@ -0,0 +1 @@ +uid://cnn0ymuhypdff diff --git a/scripts/audio/ChannelSettings.cs b/scripts/audio/ChannelSettings.cs new file mode 100644 index 0000000..a302942 --- /dev/null +++ b/scripts/audio/ChannelSettings.cs @@ -0,0 +1,7 @@ +using Godot; + +[GlobalClass] +public partial class ChannelSettings : Resource +{ + [Export] public float restartTreshold; +} diff --git a/scripts/audio/ChannelSettings.cs.uid b/scripts/audio/ChannelSettings.cs.uid new file mode 100644 index 0000000..d45c898 --- /dev/null +++ b/scripts/audio/ChannelSettings.cs.uid @@ -0,0 +1 @@ +uid://c1x4n4nqyq72f diff --git a/scripts/components/gui/choose_your_seeds/Previewport.cs b/scripts/components/gui/choose_your_seeds/Previewport.cs index f1d88a7..283ba3e 100644 --- a/scripts/components/gui/choose_your_seeds/Previewport.cs +++ b/scripts/components/gui/choose_your_seeds/Previewport.cs @@ -8,7 +8,7 @@ public partial class Previewport : SubViewport private RuntimePlantData current_display; [Export] private Label title; - [Export] private Label description; + [Export] private RichTextLabel description; public override void _Ready() { diff --git a/scripts/components/gui/seedpackets/ChoosableHandler.cs b/scripts/components/gui/seedpackets/ChoosableHandler.cs index 68d8a39..d537b04 100644 --- a/scripts/components/gui/seedpackets/ChoosableHandler.cs +++ b/scripts/components/gui/seedpackets/ChoosableHandler.cs @@ -8,7 +8,7 @@ public class ChoosableHandler : SeedpacketHandler, ISeedpacketPress public void Pressed() { - if(LevelGUIElements.Instance.SeedpacketsHotbar.GetChildCount() > 9) return; + if (LevelGUIElements.Instance.SeedpacketsHotbar.GetChildCount() > 9) return; _owner.disablePacket = true; var hotbarSeedpacket = Seedpacket.Prefab.Instantiate(); @@ -18,6 +18,8 @@ public class ChoosableHandler : SeedpacketHandler, ISeedpacketPress var pregameHandler = new HotbarPregameHandler(hotbarSeedpacket); hotbarSeedpacket.SetHandler(pregameHandler); pregameHandler.Clicked += OnHotbarClicked; + + AudioSequencer.Play("tap", Seedpacket.TapStream); } public void OnHotbarClicked() diff --git a/scripts/components/gui/seedpackets/HotbarHandler.cs b/scripts/components/gui/seedpackets/HotbarHandler.cs index e0d3994..dfc90bc 100644 --- a/scripts/components/gui/seedpackets/HotbarHandler.cs +++ b/scripts/components/gui/seedpackets/HotbarHandler.cs @@ -10,7 +10,8 @@ public class HotbarHandler : SeedpacketHandler, ISeedpacketPress, ISeedpacketPro public void Pressed() { - PlantField.Instance.SetPlant(_owner,_owner.GetPlantResource()); + PlantField.Instance.SetPlant(_owner, _owner.GetPlantResource()); + AudioSequencer.Play("lift_seed", Seedpacket.LiftStream); } public void Process() diff --git a/scripts/components/gui/seedpackets/HotbarPregameHandler.cs b/scripts/components/gui/seedpackets/HotbarPregameHandler.cs index 242cfc5..3408469 100644 --- a/scripts/components/gui/seedpackets/HotbarPregameHandler.cs +++ b/scripts/components/gui/seedpackets/HotbarPregameHandler.cs @@ -16,6 +16,7 @@ public class HotbarPregameHandler : SeedpacketHandler, ISeedpacketPress { if (Clicked != null) Clicked(); _owner.QueueFree(); + AudioSequencer.Play("tap", Seedpacket.UntapStream); } public void OnLevelStateChanged(RuntimeLevelData.LevelStates state) diff --git a/scripts/components/gui/seedpackets/Seedpacket.cs b/scripts/components/gui/seedpackets/Seedpacket.cs index b556dee..6a158c3 100644 --- a/scripts/components/gui/seedpackets/Seedpacket.cs +++ b/scripts/components/gui/seedpackets/Seedpacket.cs @@ -4,6 +4,9 @@ namespace Newlon.Components.GUI.Seedpackets; public partial class Seedpacket : TextureButton { + public static AudioStream TapStream; + public static AudioStream UntapStream; + public static AudioStream LiftStream; private const string PATH_TO_PACKED_SCENE = "res://scenes/gui/seedpacket.tscn"; private PlantResource _resource; private Label _cost; @@ -18,8 +21,14 @@ public partial class Seedpacket : TextureButton // Node overrides public override void _Ready() { + if (TapStream == null) + { + TapStream = ResourceLoader.Load("res://assets/audio/gui/tap.mp3"); + UntapStream = ResourceLoader.Load("res://assets/audio/gui/tap2.mp3"); + LiftStream = ResourceLoader.Load("res://assets/audio/gui/seedlift.mp3"); + } if (_resource != null) - UpdateContents(); + UpdateContents(); if (Prefab == null) { Prefab = ResourceLoader.Load(PATH_TO_PACKED_SCENE); diff --git a/scripts/components/level/PlantField.cs b/scripts/components/level/PlantField.cs index ef6c96b..a08f074 100644 --- a/scripts/components/level/PlantField.cs +++ b/scripts/components/level/PlantField.cs @@ -10,6 +10,7 @@ public partial class PlantField : Node2D private PlantResource _resource; private Seedpacket _slot; private bool _previousCanPlace; + private ChannelPlayer player; [Export] private PackedScene particles; public static PlantField Instance {get; private set;} @@ -17,6 +18,7 @@ public partial class PlantField : Node2D { Instance = this; _plantSetter = GetChild(0); + player = GetNode("PlantPlayer"); } public void SetPlant(Seedpacket slot, PlantResource plant) @@ -99,6 +101,8 @@ public partial class PlantField : Node2D PoolContainer.Instance.SpawnParticles(particles, plant.GlobalPosition + Vector2.Down * Utility.TileHeight/2.0f); + player.Play(); + // Unfocusing and recharging slot _slot.Recharge(); } diff --git a/scripts/components/particles/FallParticle.cs b/scripts/components/particles/FallParticle.cs index 1770bed..860afd6 100644 --- a/scripts/components/particles/FallParticle.cs +++ b/scripts/components/particles/FallParticle.cs @@ -5,11 +5,10 @@ using Newlon.Components.Zombies; public partial class FallParticle : RigidBody2D { [Export] private RuntimeZombieData data; - [Export] private Timer deathTimer; - [Export] private Vector2 falloffImpulseMin = Vector2.Zero; - [Export] private Vector2 falloffImpulseMax = Vector2.Zero; - [Export] private Vector2 falloffOffsetMin = Vector2.Zero; - [Export] private Vector2 falloffOffsetMax = Vector2.Zero; + [Export] private float minAngle; + [Export] private float maxAngle; + [Export] private float minTorque; + [Export] private float maxTorque; [Export] private float Impulse; public void FallOff() { @@ -21,14 +20,14 @@ public partial class FallParticle : RigidBody2D Callable.From(() => { Reparent(PoolContainer.Instance.Zombies); - ApplyImpulse(RandomVector(falloffImpulseMin, falloffImpulseMax).Normalized() * Impulse, RandomVector(falloffOffsetMin, falloffOffsetMax)); + float rng_angle = Mathf.DegToRad((float)GD.RandRange(minAngle, maxAngle)); + float rng_torque = Mathf.DegToRad((float)GD.RandRange(minTorque, maxTorque)); + ApplyImpulse(new Vector2(Mathf.Sin(rng_angle) * Impulse, Mathf.Cos(rng_angle) * Impulse)); + ApplyTorqueImpulse(rng_torque); }).CallDeferred(); - - deathTimer.Start(); - } - - private Vector2 RandomVector(Vector2 min, Vector2 max) - { - return new Vector2((float)GD.RandRange(min.X,max.X),(float)GD.RandRange(min.Y,max.Y)); + var tween = CreateTween(); + tween.TweenInterval(4.0); + tween.TweenProperty(this, "modulate", new Color(Modulate.R, Modulate.G, Modulate.B, 0f), 1.0); + tween.TweenCallback(Callable.From(QueueFree)); } } diff --git a/scripts/components/plants/ExplosionComponent.cs b/scripts/components/plants/ExplosionComponent.cs index c8d3750..51641d8 100644 --- a/scripts/components/plants/ExplosionComponent.cs +++ b/scripts/components/plants/ExplosionComponent.cs @@ -19,6 +19,7 @@ public partial class ExplosionComponent : Area2D PoolContainer.Instance.SpawnParticles(particles, GetParent().GlobalPosition); + GetNode("ExplosionPlayer").Play(); GetParent().Kill(); } diff --git a/scripts/components/plants/RuntimePlantData.cs b/scripts/components/plants/RuntimePlantData.cs index 1bce80d..ce189c5 100644 --- a/scripts/components/plants/RuntimePlantData.cs +++ b/scripts/components/plants/RuntimePlantData.cs @@ -17,12 +17,15 @@ public partial class RuntimePlantData : Node2D, IEntity public int Line { get; set; } public PlantResource Resource; + private AudioStream eatenSound; + [Signal] public delegate void OnHPChangedEventHandler(int amount, Node origin); public override void _Ready() { _hp = _maxHP; + eatenSound = ResourceLoader.Load("res://assets/audio/sfx/gulp.mp3"); } public virtual void Heal(int amount, Node origin) @@ -46,6 +49,7 @@ public partial class RuntimePlantData : Node2D, IEntity if (_hp <= 0) { Kill(); + AudioSequencer.Play("plant_eaten", eatenSound); } } public virtual void Kill() diff --git a/scripts/components/zombies/RuntimeZombieData.cs b/scripts/components/zombies/RuntimeZombieData.cs index b60a1a3..2faa22d 100644 --- a/scripts/components/zombies/RuntimeZombieData.cs +++ b/scripts/components/zombies/RuntimeZombieData.cs @@ -8,6 +8,8 @@ public partial class RuntimeZombieData : Node2D, IEntity, ILocalTimescale, IEffe { [Signal] public delegate void OnHPChangedEventHandler(int deltaHP, Node origin); + [Signal] + public delegate void OnDamagedEventHandler(); [Signal] public delegate void OnLocalTimescaleChangedEventHandler(int currentTimescale); @@ -18,6 +20,11 @@ public partial class RuntimeZombieData : Node2D, IEntity, ILocalTimescale, IEffe private int _maxHP; [Export] private Armor _armor; + + [Export] + private AudioStream garlicSound; + [Export] + private AudioStream freezeSound; private float _localTimescale = 1.0f; @@ -61,7 +68,6 @@ public partial class RuntimeZombieData : Node2D, IEntity, ILocalTimescale, IEffe else _hp += amount; EmitSignal(SignalName.OnHPChanged,amount,origin); - if (MaxHp > 0) { @@ -78,6 +84,7 @@ public partial class RuntimeZombieData : Node2D, IEntity, ILocalTimescale, IEffe else _hp -= amount; EmitSignal(SignalName.OnHPChanged,-amount, origin); + EmitSignal(SignalName.OnDamaged); if (_hp <= 0) { @@ -94,11 +101,27 @@ public partial class RuntimeZombieData : Node2D, IEntity, ILocalTimescale, IEffe public void GiveEffect(Effect what) { int slot = (int)what.Slot; - if(_activeEffectSlots[slot] != null) + if (_activeEffectSlots[slot] == null) { - _effectSlotTimers[slot].Stop(); - _activeEffectSlots[slot].Exit(this); + switch (what.Slot) + { + case Utility.EffectSlots.FREEZE: + AudioSequencer.Play("zombie_freeze", freezeSound); + var settings = new ChannelSettings(); + settings.restartTreshold = -1; + AudioSequencer.ChangeSettings("zombie_freeze",settings); + break; + case Utility.EffectSlots.GARLIC: + AudioSequencer.Play("zombie_garlic", garlicSound); + + break; + } } + if (_activeEffectSlots[slot] != null) + { + _effectSlotTimers[slot].Stop(); + _activeEffectSlots[slot].Exit(this); + } _effectSlotTimers[slot].WaitTime = what.Duration; _effectSlotTimers[slot].Start(); diff --git a/scripts/systems/effects/SlownessEffect.cs b/scripts/systems/effects/SlownessEffect.cs index ebef3f4..1491a2c 100644 --- a/scripts/systems/effects/SlownessEffect.cs +++ b/scripts/systems/effects/SlownessEffect.cs @@ -11,11 +11,11 @@ public partial class SlownessEffect : Effect public override void Enter(Node target) { - if(target is IEffectHandler handler) + if (target is IEffectHandler handler) { - if(target is ILocalTimescale timescalable) + if (target is ILocalTimescale timescalable) timescalable.LocalTimescale *= Multiplier; - if(target is CanvasItem canvasItem) + if (target is CanvasItem canvasItem) canvasItem.Modulate = ColorOverride; } }