diff --git a/code/datums/elements/_element.dm b/code/datums/elements/_element.dm index 6539a67ed88..30bd98a3268 100644 --- a/code/datums/elements/_element.dm +++ b/code/datums/elements/_element.dm @@ -23,7 +23,11 @@ return ELEMENT_INCOMPATIBLE SEND_SIGNAL(target, COMSIG_ELEMENT_ATTACH, src) if(element_flags & ELEMENT_DETACH) - RegisterSignal(target, COMSIG_PARENT_QDELETING, .proc/Detach, override = TRUE) + RegisterSignal(target, COMSIG_PARENT_QDELETING, .proc/OnTargetDelete, override = TRUE) + +/datum/element/proc/OnTargetDelete(datum/source, force) + SIGNAL_HANDLER + Detach(source) /// Deactivates the functionality defines by the element on the given datum /datum/element/proc/Detach(datum/source, ...)