diff --git a/code/game/objects/items/devices/whistle.dm b/code/game/objects/items/devices/whistle.dm index d017a430b88a..331df3ffa006 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)) diff --git a/html/changelogs/AutoChangeLog-pr-5469.yml b/html/changelogs/AutoChangeLog-pr-5469.yml new file mode 100644 index 000000000000..3701dfdb8e5b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5469.yml @@ -0,0 +1,4 @@ +author: "ClairionCM" +delete-after: True +changes: + - qol: "made whistles less spammy" \ No newline at end of file