mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-05-14 19:01:38 +01:00
8e357dd556
* EMP Refactor * EVERYBODY gets wires * Shield gen * fix * Fix those * Changes * , * kill --------- Co-authored-by: Cameron Lennox <killer65311@gmail.com>
21 lines
667 B
Plaintext
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)
|