diff --git a/code/datums/components/sticky.dm b/code/datums/components/sticky.dm index dcb05ab2a22..ffcf473dc40 100644 --- a/code/datums/components/sticky.dm +++ b/code/datums/components/sticky.dm @@ -76,7 +76,7 @@ I.invisibility = initial(I.invisibility) - UnregisterSignal(attached_to, list(COMSIG_HUMAN_MELEE_UNARMED_ATTACKBY, COMSIG_PARENT_EXAMINE)) + UnregisterSignal(attached_to, list(COMSIG_HUMAN_MELEE_UNARMED_ATTACKBY, COMSIG_PARENT_EXAMINE, COMSIG_PARENT_QDELETING, COMSIG_MOVABLE_MOVED)) STOP_PROCESSING(SSobj, src) attached_to = null return COMPONENT_CANCEL_ATTACK_CHAIN @@ -105,6 +105,9 @@ qdel(parent) return + // Cancel out these signals, if they even still exist. Just to be safe + UnregisterSignal(attached_to, list(COMSIG_HUMAN_MELEE_UNARMED_ATTACKBY, COMSIG_PARENT_EXAMINE, COMSIG_PARENT_QDELETING, COMSIG_MOVABLE_MOVED)) + var/turf/T = get_turf(source) if(!T) T = get_turf(parent)