Skip to content

Commit

Permalink
Whistle Cooldown.dm
Browse files Browse the repository at this point in the history
Adds a 10 second cooldown to the whistles to make them less spammy
  • Loading branch information
ClairionCM committed Jan 16, 2024
1 parent 1c2be37 commit 78e2933
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions code/game/objects/items/devices/whistle.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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)
..()
Expand All @@ -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))
Expand Down

0 comments on commit 78e2933

Please sign in to comment.