#define USE_COOLDOWN 2 SECONDS /obj/item/hailer name = "hailer" desc = "Used by obese officers to save their breath for running." icon = 'icons/obj/device.dmi' icon_state = "voice0" inhand_icon_state = "flashtool" w_class = WEIGHT_CLASS_TINY flags = CONDUCT var/next_use_time var/spamcheck = FALSE new_attack_chain = TRUE /obj/item/hailer/activate_self(mob/living/carbon/user) if(world.time < next_use_time) return ..() if(emagged) playsound(get_turf(src), 'sound/voice/binsult.ogg', 100, TRUE, vary = 0) // Hueheuheuheuheuheuhe. user.visible_message(SPAN_WARNING("[user]'s [name] gurgles, \"FUCK YOUR CUNT YOU SHIT EATING CUNT TILL YOU ARE A MASS EATING SHIT CUNT. EAT PENISES IN YOUR FUCK FACE AND SHIT OUT ABORTIONS TO FUCK UP SHIT IN YOUR ASS YOU COCK FUCK SHIT MONKEY FROM THE DEPTHS OF SHIT\"")) else playsound(get_turf(src), 'sound/voice/halt.ogg', 100, TRUE, vary = 0) user.visible_message(SPAN_WARNING("[user]'s [name] rasps, \"Halt! Security!\"")) add_fingerprint(user) next_use_time = world.time + USE_COOLDOWN return ITEM_INTERACT_COMPLETE /obj/item/hailer/emag_act(mob/user) add_fingerprint(user) if(!emagged) to_chat(user, SPAN_WARNING("You overload [src]'s voice synthesizer!")) emagged = TRUE return TRUE to_chat(user, SPAN_NOTICE("You load [src]'s voice synthesizer a normal amount.")) emagged = FALSE return TRUE #undef USE_COOLDOWN /obj/item/clothing/mask/whistle name = "whistle" desc = "A metal pea-whistle. Can be blown while held, or worn in the mouth." icon_state = "whistle" w_class = WEIGHT_CLASS_TINY flags = CONDUCT body_parts_covered = null actions_types = list(/datum/action/item_action/whistle) COOLDOWN_DECLARE(whistle_cooldown) sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/mask.dmi', "Unathi" = 'icons/mob/clothing/species/unathi/mask.dmi', "Tajaran" = 'icons/mob/clothing/species/tajaran/mask.dmi', "Vulpkanin" = 'icons/mob/clothing/species/vulpkanin/mask.dmi', "Grey" = 'icons/mob/clothing/species/grey/mask.dmi' ) /obj/item/clothing/mask/whistle/activate_self(mob/user) if(..()) return ITEM_INTERACT_COMPLETE if(!COOLDOWN_FINISHED(src, whistle_cooldown)) return ITEM_INTERACT_COMPLETE add_fingerprint(user) playsound(src, pick('sound/items/whistle1.ogg', 'sound/items/whistle2.ogg', 'sound/items/whistle3.ogg'), 25) COOLDOWN_START(src, whistle_cooldown, 4 SECONDS) return ITEM_INTERACT_COMPLETE