Files
Paradise/code/modules/mob/dead/observer/observer_spells.dm
2025-07-27 20:52:39 +00:00

48 lines
1.5 KiB
Plaintext

GLOBAL_LIST_INIT(boo_phrases, list(
"You feel a chill run down your spine.",
"You think you see a figure in your peripheral vision.",
"What was that?",
"The hairs stand up on the back of your neck.",
"You are filled with a great sadness.",
"Something doesn't feel right...",
"You feel a presence in the room.",
"It feels like someone's standing behind you.",
))
/datum/spell/boo
name = "Boo!"
desc = "Fuck with the living."
selection_deactivated_message = "<span class='notice'>Your presence will not be known. For now.</span>"
selection_activated_message = "<span class='notice'>You prepare to reach across the veil. <b>Left-click to influence a target!</b></span>"
ghost = TRUE
action_icon_state = "boo"
base_cooldown = 2 MINUTES
starts_charged = FALSE
clothes_req = FALSE
stat_allowed = UNCONSCIOUS
invocation = ""
// no need to spam admins regarding boo casts
create_attack_logs = FALSE
/datum/spell/boo/create_new_targeting()
var/datum/spell_targeting/click/T = new()
T.allowed_type = /atom
T.try_auto_target = FALSE
return T
/datum/spell/boo/cast(list/targets, mob/user = usr)
var/atom/target = targets[1]
ASSERT(istype(target))
if(target.get_spooked())
var/area/spook_zone = get_area(target)
if(spook_zone.is_haunted)
to_chat(usr, "<span class='notice'>The veil is weak in [spook_zone], it took less effort to influence [target].</span>")
cooldown_handler.start_recharge(cooldown_handler.recharge_duration / 2)
return
cooldown_handler.start_recharge(cooldown_handler.recharge_duration * 0.1)