mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-06 11:50:55 +01:00
b0463d3c83
* spanish? * aaaagain * keep maptext * Update robot_items.dm * Update span_defines.dm * compiles * Update silicon_mob.dm * compile
48 lines
2.1 KiB
Plaintext
48 lines
2.1 KiB
Plaintext
/datum/spell/horsemask
|
|
name = "Curse of the Horseman"
|
|
desc = "This spell triggers a curse on a target, causing them to wield an unremovable horse head mask. They will speak like a horse! Any masks they are wearing will be disintegrated. This spell does not require robes."
|
|
base_cooldown = 150
|
|
clothes_req = FALSE
|
|
invocation = "KN'A FTAGHU, PUCK 'BTHNK!"
|
|
invocation_type = "shout"
|
|
cooldown_min = 30 //30 deciseconds reduction per rank
|
|
|
|
selection_activated_message = SPAN_NOTICE("You start to quietly neigh an incantation. Click on or near a target to cast the spell.")
|
|
selection_deactivated_message = SPAN_NOTICE("You stop neighing to yourself.")
|
|
|
|
action_icon_state = "barn"
|
|
sound = 'sound/magic/HorseHead_curse.ogg'
|
|
|
|
/datum/spell/horsemask/create_new_targeting()
|
|
var/datum/spell_targeting/click/T = new()
|
|
T.selection_type = SPELL_SELECTION_RANGE
|
|
return T
|
|
|
|
|
|
/datum/spell/horsemask/cast(list/targets, mob/user = usr)
|
|
if(!length(targets))
|
|
to_chat(user, SPAN_NOTICE("No target found in range."))
|
|
return
|
|
|
|
var/mob/living/carbon/human/target = targets[1]
|
|
|
|
if(target.can_block_magic(antimagic_flags))
|
|
target.visible_message(SPAN_DANGER("[target]'s face bursts into flames, which instantly burst outward, leaving [target.p_them()] unharmed!"),
|
|
SPAN_DANGER("Your face starts burning up, but the flames are repulsed by your anti-magic protection!"),
|
|
)
|
|
to_chat(user, SPAN_WARNING("The spell had no effect!"))
|
|
return FALSE
|
|
|
|
var/obj/item/clothing/mask/horsehead/magichead = new /obj/item/clothing/mask/horsehead
|
|
magichead.flags |= DROPDEL //curses!
|
|
magichead.set_nodrop(TRUE)
|
|
magichead.flags_inv = null //so you can still see their face
|
|
magichead.voicechange = TRUE //NEEEEIIGHH
|
|
target.visible_message( SPAN_DANGER("[target]'s face lights up in fire, and after the event a horse's head takes its place!"), \
|
|
SPAN_DANGER("Your face burns up, and shortly after the fire you realize you have the face of a horse!"))
|
|
if(!target.drop_item_to_ground(target.wear_mask))
|
|
qdel(target.wear_mask)
|
|
target.equip_to_slot_if_possible(magichead, ITEM_SLOT_MASK, TRUE, TRUE)
|
|
|
|
target.flash_eyes()
|