diff --git a/code/game/objects/items/devices/whistle.dm b/code/game/objects/items/devices/whistle.dm index 4eb61a48b903..7abc5d760590 100644 --- a/code/game/objects/items/devices/whistle.dm +++ b/code/game/objects/items/devices/whistle.dm @@ -8,7 +8,8 @@ actions_types = list(/datum/action/item_action) var/volume = 60 - var/spamcheck = 0 + var/spam_cooldown_time = 10 SECONDS + COOLDOWN_DECLARE(spam_cooldown) /obj/item/device/whistle/attack_self(mob/user) ..() @@ -28,14 +29,14 @@ ..() /obj/item/device/whistle/proc/whistle_playsound(mob/user) - if (spamcheck) + if(!COOLDOWN_FINISHED(src, spam_cooldown)) + to_chat(user, SPAN_DANGER("You are out of breath after using [src]! Wait [COOLDOWN_SECONDSLEFT(src, spam_cooldown)] second\s.")) return user.visible_message(SPAN_WARNING("[user] blows into [src]!")) playsound(get_turf(src), 'sound/items/whistle.ogg', volume, 1, vary = 0) - spamcheck = 1 - addtimer(VARSET_CALLBACK(src, spamcheck, FALSE), 3 SECONDS) + COOLDOWN_START(src, spam_cooldown, spam_cooldown_time) /obj/item/device/whistle/MouseDrop(obj/over_object) if(ishuman(usr) || isrobot(usr))