[MIRROR] Adds Soup boiling SFX (#27975)

* Adds Soup boiling SFX (#83649)

## About The Pull Request

In honor of the new sound effects general

https://github.com/tgstation/tgstation/assets/51863163/b2db8ee1-51ef-45a8-9cc8-31594d034ea5

Adds a sound effect that plays when soup is boiling (IE, it only plays
when smoke appears over the soup pot)

It has a sharp falloff and a distance penalty so it will really only be
heard in the kitchen (or though the kitchen's walls), maps with ranges
close to the counter like Metastation notwithstanding.

## Why It's Good For The Game

A touch of atmosphere

## Changelog

🆑 Melbert
sound: Boiling soup now makes a sound.
/🆑

* Adds Soup boiling SFX

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
This commit is contained in:
SkyratBot
2024-06-04 14:26:11 +02:00
committed by GitHub
co-authored by MrMelbert
parent 3c3320ae97
commit 8aec766b92
9 changed files with 30 additions and 1 deletions
@@ -151,3 +151,18 @@
'sound/machines/terminal_button08.ogg' = 1,
)
mid_length = 0.3 SECONDS
/datum/looping_sound/soup
mid_sounds = list(
'sound/effects/soup_boil1.ogg' = 1,
'sound/effects/soup_boil2.ogg' = 1,
'sound/effects/soup_boil3.ogg' = 1,
'sound/effects/soup_boil4.ogg' = 1,
'sound/effects/soup_boil5.ogg' = 1,
)
mid_length = 3 SECONDS
volume = 80
end_sound = 'sound/effects/soup_boil_end.ogg'
end_volume = 60
extra_range = MEDIUM_RANGE_SOUND_EXTRARANGE
falloff_exponent = 4
@@ -15,6 +15,9 @@
VAR_FINAL/obj/effect/abstract/particle_holder/soup_smoke
/// Typepath of particles to use for the particle holder.
VAR_FINAL/particle_type = /particles/smoke/steam/mild
/// Ref to our looping sound played when cooking
VAR_FINAL/datum/looping_sound/soup/soup_sound
/// The color of the flames around the burner.
var/flame_color = "#006eff"
/// Container's pixel x when placed on the stove
@@ -36,6 +39,12 @@
spawn_container.forceMove(parent)
add_container(spawn_container)
soup_sound = new(parent)
/datum/component/stove/Destroy()
QDEL_NULL(soup_sound)
return ..()
/datum/component/stove/RegisterWithParent()
RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(on_attackby))
RegisterSignal(parent, COMSIG_ATOM_ATTACK_HAND_SECONDARY, PROC_REF(on_attack_hand_secondary))
@@ -235,7 +244,7 @@
update_smoke_type()
real_parent.update_appearance(UPDATE_OVERLAYS)
/datum/component/stove/proc/update_smoke_type(datum/source, new_temp, old_temp)
/datum/component/stove/proc/update_smoke_type(datum/source, ...)
SIGNAL_HANDLER
var/existing_temp = container?.reagents.chem_temp || 0
@@ -250,6 +259,7 @@
/datum/component/stove/proc/update_smoke()
if(on && container?.reagents.total_volume > 0)
soup_sound.start()
// Don't override existing particles, wasteful
if(isnull(soup_smoke) || soup_smoke.particles.type != particle_type)
QDEL_NULL(soup_smoke)
@@ -261,3 +271,4 @@
return
QDEL_NULL(soup_smoke)
soup_sound?.stop()
+3
View File
@@ -175,3 +175,6 @@ portal_close, portal_open_1 , portal_open_2 , portal_open_3 , portal_travel made
toilet-flush.ogg is made by shw489 (CC0):
https://freesound.org/people/shw489/sounds/234389/
soup_boil1.ogg through soup_boil5.ogg and soup_boil_end.ogg are taken from Boiling Soup from Freesoung.org (CC4) and converted to OGG / split apart (but is otherwise unchanged):
https://freesound.org/people/jorickhoofd/sounds/632783/
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.