Files
Guti afc02440a9 Mime care package (#19456)
* Mimes!

* Apply suggestion from @Cameron-The-Raven

---------

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
2026-05-21 11:02:30 -04:00

44 lines
1.7 KiB
Plaintext

/datum/decl/emote/audible/snap
key = "snap"
emote_message_1p = "You snap your fingers."
emote_message_3p = "snaps USER_THEIR fingers."
emote_message_1p_target = "You snap your fingers at TARGET."
emote_message_3p_target = "snaps USER_THEIR fingers at TARGET."
emote_sound = 'sound/effects/fingersnap.ogg'
able_mute = TRUE
/datum/decl/emote/audible/snap/proc/can_snap(atom/user)
if(ishuman(user))
var/mob/living/carbon/human/H = user
for(var/limb in list(BP_L_HAND, BP_R_HAND))
var/obj/item/organ/external/L = H.get_organ(limb)
if(istype(L) && L.is_usable() && !L.splinted)
return TRUE
else if(isanimal(user)) //VOREStation Addition Start
var/mob/living/simple_mob/S = user
if(S.has_hands)
return TRUE
else if(ispAI(user))
return TRUE
else //VOREStation Addition End
return FALSE
/datum/decl/emote/audible/snap/do_emote(atom/user, extra_params)
if(!can_snap(user))
to_chat(user, span_warning("You need at least one working hand to snap your fingers."))
return FALSE
. = ..()
/datum/decl/emote/audible/snap/do_extra(mob/user)
. = ..()
if(HAS_TRAIT(user, TRAIT_UNLUCKY) && prob(0.1) && ishuman(user)) //1 in a thousand
var/mob/living/carbon/human/unlucky_human = user
var/datum/component/omen/bad_luck = unlucky_human.GetComponent(/datum/component/omen) //Also going to make sure they got the EVIL version.
if(bad_luck.evil)
unlucky_human.visible_message(span_danger("[unlucky_human] snaps, their hand fading to ash!"), span_danger(span_huge("OH GOD YOUR HAND")))
for(var/limb in list(BP_L_HAND, BP_R_HAND))
var/obj/item/organ/external/L = unlucky_human.get_organ(limb)
if(istype(L) && L.is_usable() && !L.splinted)
L.droplimb(TRUE, DROPLIMB_BURN)
break