diff --git a/code/datums/looping_sounds/drip.dm b/code/datums/looping_sounds/drip.dm new file mode 100644 index 00000000000..224d7850fc2 --- /dev/null +++ b/code/datums/looping_sounds/drip.dm @@ -0,0 +1,9 @@ +/// sound of a lone droplet hitting the water every once in a while like a broken faucet. used by moisture traps +/datum/looping_sound/drip + mid_sounds = 'sound/effects/droplet.ogg' + mid_length = 30 SECONDS + mid_length_vary = 15 SECONDS + volume = 45 + vary = TRUE + ignore_walls = FALSE + falloff_distance = 5 diff --git a/code/game/objects/structures/maintenance.dm b/code/game/objects/structures/maintenance.dm index 0ee8e1b2bcb..3409c3a49c1 100644 --- a/code/game/objects/structures/maintenance.dm +++ b/code/game/objects/structures/maintenance.dm @@ -11,6 +11,8 @@ at the cost of risking a vicious bite.**/ var/obj/item/hidden_item ///This var determines if there is a chance to receive a bite when sticking your hand into the water. var/critter_infested = TRUE + ///A subtle loop which plays a drop of water sound every once in a while + var/datum/looping_sound/drip/drip_sfx ///weighted loot table for what loot you can find inside the moisture trap. ///the actual loot isn't that great and should probably be improved and expanded later. var/static/list/loot_table = list( @@ -45,11 +47,14 @@ at the cost of risking a vicious bite.**/ fish_source.fish_table[picked_item] = 5 fish_source.fish_counts[picked_item] = 1; AddComponent(/datum/component/fishing_spot, fish_source) + drip_sfx = new(src) + drip_sfx.start() /obj/structure/moisture_trap/Destroy() if(hidden_item) QDEL_NULL(hidden_item) + drip_sfx?.stop(TRUE) return ..() @@ -71,6 +76,7 @@ at the cost of risking a vicious bite.**/ to_chat(user, span_warning("You need to lie down to reach into [src].")) return to_chat(user, span_notice("You reach down into the cold water of the basin.")) + playsound(src,'sound/effects/submerge.ogg', 25, TRUE) if(!do_after(user, 2 SECONDS, target = src)) return if(hidden_item) @@ -109,6 +115,7 @@ at the cost of risking a vicious bite.**/ return hidden_item = I to_chat(user, span_notice("You hide [I] inside the basin.")) + playsound(src,'sound/effects/splash.ogg', 55, TRUE) #define ALTAR_INACTIVE 0 #define ALTAR_STAGEONE 1 diff --git a/sound/attributions.txt b/sound/attributions.txt index 9d9fd2594f7..8458a108102 100644 --- a/sound/attributions.txt +++ b/sound/attributions.txt @@ -241,3 +241,5 @@ sound/mobs/non-humanoids/roro/roro_warble.ogg -- Made by cutting, adjusting pitc sound/effects/goresplat.ogg -- https://freesound.org/people/ThefitzyG/sounds/414296/ -- License: Creative Commons 0 sound/music/antag/blobalert.ogg and sound/effects/blob/blobattack.ogg -- "SlimeAtk.WAV" by Jamius -- https://freesound.org/people/Jamius/sounds/41530/ -- License: Attribution 4.0 + +sound/effect/droplet.ogg -- "Drop - Water" By mattfinarelli -- https://freesound.org/people/mattfinarelli/sounds/533146/ -- License: Creative Commons 0 diff --git a/sound/effects/droplet.ogg b/sound/effects/droplet.ogg new file mode 100644 index 00000000000..b747fa5b793 Binary files /dev/null and b/sound/effects/droplet.ogg differ diff --git a/tgstation.dme b/tgstation.dme index ee72bca2035..4e22afe16c1 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1755,6 +1755,7 @@ #include "code\datums\looping_sounds\changeling_absorb.dm" #include "code\datums\looping_sounds\choking.dm" #include "code\datums\looping_sounds\cyborg.dm" +#include "code\datums\looping_sounds\drip.dm" #include "code\datums\looping_sounds\item_sounds.dm" #include "code\datums\looping_sounds\machinery_sounds.dm" #include "code\datums\looping_sounds\music.dm"