From 83bafb95af603fe378352cc53ad536b60e498eea Mon Sep 17 00:00:00 2001 From: theOOZ Date: Fri, 2 Jan 2026 18:08:45 +0100 Subject: [PATCH] Adds more sounds to moisture traps (#94660) ## About The Pull Request Primarily adds a loop to moisture traps which is mostly silence, interrupted by the solemn sound of a water droplet falling. Just like the sprite be doing, y'know? I decided to make it a simple loop, instead of doing a little extra and setting that sprite animation up to play only when the sound effect plays, as I'd have to make moisture traps process to call `flick` - and I wasn't sure if that's worth it. The sound effect is from: https://freesound.org/people/mattfinarelli/sounds/533146/ ## Why It's Good For The Game Adds just a drop of ambience to the maintenance shafts. ## Changelog :cl: sound: Added more atmospheric sounds to moisture traps /:cl: --- code/datums/looping_sounds/drip.dm | 9 +++++++++ code/game/objects/structures/maintenance.dm | 7 +++++++ sound/attributions.txt | 2 ++ sound/effects/droplet.ogg | Bin 0 -> 7946 bytes tgstation.dme | 1 + 5 files changed, 19 insertions(+) create mode 100644 code/datums/looping_sounds/drip.dm create mode 100644 sound/effects/droplet.ogg 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 0000000000000000000000000000000000000000..b747fa5b79340b9d5241633ceecdea3b14883ea7 GIT binary patch literal 7946 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 Hzd!y5MRrMM literal 0 HcmV?d00001 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"