From b6cdde2f52cdb5eb43c6da807f943ac88d7414b9 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Sat, 16 Jan 2021 06:12:34 -0700 Subject: [PATCH] squeak fix --- code/datums/components/squeak.dm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/code/datums/components/squeak.dm b/code/datums/components/squeak.dm index c82a4819c1..a285b7d3f2 100644 --- a/code/datums/components/squeak.dm +++ b/code/datums/components/squeak.dm @@ -76,20 +76,25 @@ /datum/component/squeak/proc/play_squeak() SIGNAL_HANDLER + do_play_squeak() - +/datum/component/squeak/proc/do_play_squeak(bypass_cooldown = FALSE) + if(!bypass_cooldown && ((last_squeak + squeak_delay) >= world.time)) + return FALSE if(prob(squeak_chance)) if(!override_squeak_sounds) playsound(parent, pickweight(default_squeak_sounds), volume, TRUE, sound_extra_range, sound_falloff_exponent, falloff_distance = sound_falloff_distance) else playsound(parent, pickweight(override_squeak_sounds), volume, TRUE, sound_extra_range, sound_falloff_exponent, falloff_distance = sound_falloff_distance) + last_squeak = world.time return TRUE + return FALSE /datum/component/squeak/proc/step_squeak() SIGNAL_HANDLER if(steps > step_delay) - play_squeak() + do_play_squeak(TRUE) steps = 0 else steps++ @@ -105,7 +110,7 @@ return var/atom/current_parent = parent if(isturf(current_parent.loc)) - if(play_squeak()) + if(do_play_squeak()) SEND_SIGNAL(AM, COMSIG_CROSS_SQUEAKED) /datum/component/squeak/proc/use_squeak()