Files
Bubberstation/code/datums/components/soulstoned.dm
SkyratBot 0a6cc5e475 [MIRROR] cult construct stuff (#3553)
* cult construct stuff (#57027)

edits sprites for wizard cult constructs to have more sheen
fixes wizard cult constructs not working
makes soulstone code a bit cleaner i think
makes cult spells use second defines
fixes wraith jaunts being invisible

* cult construct stuff

Co-authored-by: Fikou <piotrbryla@onet.pl>
2021-02-21 02:49:11 +00:00

32 lines
958 B
Plaintext

//adds godmode while in the container, prevents moving, and clears these effects up after leaving the stone
/datum/component/soulstoned
var/atom/movable/container
/datum/component/soulstoned/Initialize(atom/movable/container)
if(!isanimal(parent))
return COMPONENT_INCOMPATIBLE
var/mob/living/simple_animal/S = parent
src.container = container
S.forceMove(container)
S.fully_heal()
ADD_TRAIT(S, TRAIT_IMMOBILIZED, SOULSTONE_TRAIT)
ADD_TRAIT(S, TRAIT_HANDS_BLOCKED, SOULSTONE_TRAIT)
S.status_flags |= GODMODE
RegisterSignal(S, COMSIG_MOVABLE_MOVED, .proc/free_prisoner)
/datum/component/soulstoned/proc/free_prisoner()
SIGNAL_HANDLER
var/mob/living/simple_animal/S = parent
if(S.loc != container)
qdel(src)
/datum/component/soulstoned/UnregisterFromParent()
var/mob/living/simple_animal/S = parent
S.status_flags &= ~GODMODE
REMOVE_TRAIT(S, TRAIT_IMMOBILIZED, SOULSTONE_TRAIT)
REMOVE_TRAIT(S, TRAIT_HANDS_BLOCKED, SOULSTONE_TRAIT)