Files
Guti 8e357dd556 EMP & Wires refactor (#19401)
* EMP Refactor

* EVERYBODY gets wires

* Shield gen

* fix

* Fix those

* Changes

* ,

* kill

---------

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
2026-04-11 15:05:41 -04:00

21 lines
667 B
Plaintext

/datum/element/empprotection
element_flags = ELEMENT_BESPOKE | ELEMENT_DETACH_ON_HOST_DESTROY // Detach for turfs
argument_hash_start_idx = 2
var/flags = NONE
/datum/element/empprotection/Attach(datum/target, _flags)
. = ..()
if(. == ELEMENT_INCOMPATIBLE || !isatom(target))
return ELEMENT_INCOMPATIBLE
flags = _flags
RegisterSignal(target, COMSIG_ATOM_PRE_EMP_ACT, PROC_REF(getEmpFlags))
/datum/element/empprotection/Detach(atom/target)
UnregisterSignal(target, list(COMSIG_ATOM_PRE_EMP_ACT, COMSIG_ATOM_EXAMINE_TAGS))
return ..()
/datum/element/empprotection/proc/getEmpFlags(datum/source, severity)
SIGNAL_HANDLER
return (flags & EMP_PROTECT_ALL)