Files
CRUNCH bec388228b Migrates /obj/item/clothing to the New Attack Chain (#31421)
* the beginning of my torment

* This was a very small piece of torment

* God agghhghhhh the suffering

* pain and suffering and destruction

* Update bot_construction.dm

* Update heretic_necks.dm

* Update heretic_armor.dm

* Apply suggestions from code review

Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
Signed-off-by: CRUNCH <143041327+CRUNCH-Borg@users.noreply.github.com>

* Apply suggestion from @DGamerL

Signed-off-by: DGamerL <108773801+DGamerL@users.noreply.github.com>

---------

Signed-off-by: CRUNCH <143041327+CRUNCH-Borg@users.noreply.github.com>
Signed-off-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
2026-02-09 19:36:38 +00:00

63 lines
2.2 KiB
Plaintext

#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
/obj/item/hailer/attack_self__legacy__attackchain(mob/living/carbon/user as mob)
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!\""))
next_use_time = world.time + USE_COOLDOWN
/obj/item/hailer/emag_act(user as mob)
if(!emagged)
to_chat(user, SPAN_WARNING("You overload \the [src]'s voice synthesizer."))
emagged = TRUE
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
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