mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
Merge pull request #6083 from Poojawa/vore-range
Lazylist hearers, reduce range of external sounds
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
#define VORE_SOUND_FALLOFF 0.1
|
||||
#define VORE_SOUND_RANGE 3
|
||||
|
||||
//
|
||||
// Belly system 2.0, now using objects instead of datums because EH at datums.
|
||||
@@ -57,6 +58,7 @@
|
||||
var/tmp/list/items_preserved = list() // Stuff that wont digest so we shouldn't process it again.
|
||||
var/tmp/next_emote = 0 // When we're supposed to print our next emote, as a belly controller tick #
|
||||
var/tmp/recent_sound = FALSE // Prevent audio spam
|
||||
var/tmp/list/hearing_mobs
|
||||
|
||||
// Don't forget to watch your commas at the end of each line if you change these.
|
||||
var/list/struggle_messages_outside = list(
|
||||
@@ -248,7 +250,7 @@
|
||||
|
||||
//Place them into our drop_location
|
||||
M.forceMove(drop_location())
|
||||
|
||||
|
||||
items_preserved -= M
|
||||
|
||||
//Special treatment for absorbed prey
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
if(M.is_preference_enabled(/datum/client_preference/digestion_noises)) //then we check if the mob has sounds enabled at all
|
||||
var/sound/preyloop = sound('sound/vore/sunesound/prey/loop.ogg')
|
||||
M.playsound_local(get_turf(src),preyloop, 80,0, channel = CHANNEL_PREYLOOP)
|
||||
M.next_preyloop = (world.time + 52 SECONDS)
|
||||
M.next_preyloop = (world.time + (52 SECONDS))
|
||||
|
||||
/////////////////////////// Sound Selections ///////////////////////////
|
||||
var/sound/prey_digest
|
||||
@@ -354,9 +354,18 @@
|
||||
|
||||
/////////////////////////// Make any noise ///////////////////////////
|
||||
if(play_sound)
|
||||
for(var/mob/M in hearers(4, owner)) //so we don't fill the whole room with the sound effect
|
||||
if(M && M.client && (isturf(M.loc) || (M.loc != src.contents)) && M.is_preference_enabled(/datum/client_preference/digestion_noises)) //to avoid people on the inside getting the outside sounds and their direct sounds + built in sound pref check
|
||||
SEND_SOUND(M, play_sound) //these are all external sound triggers now, so it's ok.
|
||||
LAZYCLEARLIST(hearing_mobs)
|
||||
for(var/mob/M in hearers(VORE_SOUND_RANGE, owner))
|
||||
if(!M.client || !(M.is_preference_enabled(/datum/client_preference/digestion_noises)))
|
||||
continue
|
||||
LAZYADD(hearing_mobs, M)
|
||||
for(var/mob/M in hearing_mobs) //so we don't fill the whole room with the sound effect
|
||||
if(M && M.client && (isturf(M.loc) || (M.loc != src.contents))) //to avoid people on the inside getting the outside sounds and their direct sounds + built in sound pref check
|
||||
if(fancy_vore)
|
||||
M.playsound_local(owner.loc, play_sound, vol = 75, vary = 1, falloff = VORE_SOUND_FALLOFF)
|
||||
else
|
||||
M.playsound_local(owner.loc, play_sound, vol = 100, vary = 1, falloff = VORE_SOUND_FALLOFF)
|
||||
//these are all external sound triggers now, so it's ok.
|
||||
if(to_update)
|
||||
for(var/mob/living/M in contents)
|
||||
if(M.client)
|
||||
|
||||
Reference in New Issue
Block a user