Sound Additions + Tweaks

Changes listed below:
* Makes Death Sounds mutable on their own audio channel.
* Makes Ear Ringing use the HUD Channel for sounds

Additions:
* [Adds On Fire effect](https://streamable.com/c1fxeo)
* Adds Stunned effect(https://streamable.com/v2if0s)
* [Adds SMES humming based on power usage in/out. Affected by walls, will only play if in LOS and visible.](https://streamable.com/z41x90)
* [Adds Atmos Alerts making a noise on the monitor](https://streamable.com/uhegq6)
* [Tcomms + PDA servers hum when powered and active, also respects walls/LOS](https://streamable.com/vb08x1)
* [Fridges hum quietly while powered](https://streamable.com/c3zsz7)
* [Point Defense turrets now make a sound audible from inside the station when firing, to add more spice to meteor waves.](https://streamable.com/bf8mwl)
* Shield Generators now hum when active.
This commit is contained in:
Rykka Stormheart
2023-06-15 12:27:23 -07:00
parent d4c5742d6c
commit 1de51fb4b8
50 changed files with 304 additions and 20 deletions
+2 -1
View File
@@ -36,6 +36,7 @@
var/pref_check
var/volume_chan //CHOMPedit
var/exclusive
var/falloff // CHOMPEdit: Add Falloff
var/timerid
var/started
@@ -106,7 +107,7 @@
continue
SEND_SOUND(thing, S)
else
playsound(thing, S, volume, vary, extra_range, ignore_walls = !opacity_check, preference = pref_check, volume_channel = volume_chan) // CHOMPEdit - Weather volume channel
playsound(thing, S, volume, vary, extra_range, falloff = falloff, ignore_walls = !opacity_check, preference = pref_check, volume_channel = volume_chan) // CHOMPEdit - Weather volume channel CHOMPEdit again: falloff
/datum/looping_sound/proc/get_sound(starttime, _mid_sounds)
if(!_mid_sounds)
@@ -115,3 +115,37 @@
mid_length = 6
end_sound = 'sound/machines/vehicle/engine_end.ogg'
volume = 20
// CHOMPAdd: Fridges!
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/datum/looping_sound/fridge
mid_sounds = list('sound/machines/kitchen/fridge/fridge_loop.ogg' = 1)
mid_length = 60
volume = 10
extra_range = -1 // Short-range
pref_check = /datum/client_preference/fridge_hum
volume_chan = VOLUME_CHANNEL_MACHINERY_IDLE
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/datum/looping_sound/tcomms
start_sound = 'sound/machines/tcomms/tcomms_pulse.ogg'
mid_sounds = list('sound/machines/tcomms/tcomms_01.ogg' = 1)
mid_length = 20
end_sound = 'sound/machines/tcomms/tcomms_pulse.ogg'
volume = 40
opacity_check = TRUE // We don't want to drown people with noise outside Tcomms
falloff = 0.2 // Harsh
volume_chan = VOLUME_CHANNEL_MACHINERY_IDLE
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/datum/looping_sound/shield_generator
start_sound = 'modular_chomp/sound/machines/shield_hum/shield_generator_whir.ogg'
mid_sounds = list('modular_chomp/sound/machines/shield_hum/shield_generator_hum2.ogg', 'modular_chomp/sound/machines/shield_hum/shield_generator_hum3.ogg')
mid_length = 60
end_sound = 'modular_chomp/sound/machines/shield_hum/shield_generator_whir.ogg'
volume = 40
volume_chan = VOLUME_CHANNEL_MACHINERY
exclusive = TRUE
+22 -3
View File
@@ -5,7 +5,7 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/datum/looping_sound/mob
// volume_chan = VOLUME_CHANNEL_INJ_DEATH // Commented out until pain/etc PR is in
// volume_chan = VOLUME_CHANNEL_MOB_SOUNDS
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -18,7 +18,7 @@
volume = 40
direct = TRUE // We send this sound directly to the mob, bc they only hear it when they're deaf.
exclusive = TRUE // This should only occur once, because we can only be deafened once.
// volume_chan = VOLUME_CHANNEL_INJ_DEATH // Commented out until pain/etc PR is in
volume_chan = VOLUME_CHANNEL_HUD_WARNINGS
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -29,6 +29,25 @@
pref_check = /datum/client_preference/sleep_music
direct = TRUE // We send this sound directly to the mob, bc they only hear it when they're asleep.
exclusive = TRUE // This should only occur once, because we only want one music loop running while we snooze.
// volume_chan = VOLUME_CHANNEL_INJ_DEATH // Commented out until pain/etc PR is in
volume_chan = VOLUME_CHANNEL_HUD_WARNINGS
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/datum/looping_sound/mob/on_fire
mid_sounds = list('sound/effects/mob_effects/on_fire/on_fire_loop.ogg'=1)
mid_length = 6 SECONDS
end_sound = 'sound/effects/mob_effects/on_fire/fire_extinguish.ogg'
volume = 20
exclusive = TRUE // This should only occur once, because we only want one loop running while we're on fire, even if we're set on fire multiple times.
volume_chan = VOLUME_CHANNEL_INJURY_SOUNDS
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/datum/looping_sound/mob/stunned // Going to hang onto this one for later
mid_sounds = list('sound/effects/mob_effects/stun_loop.ogg'=1)
mid_length = 3 SECONDS
volume = 70
direct = TRUE // Send this one directly to the mob, only applies when we're Weakened()
exclusive = TRUE // This should only occur once, because we only want one loop running.
volume_chan = VOLUME_CHANNEL_HUD_WARNINGS
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////