Correctly clears hanging_support_atom from atom mounted components (#94295)

This commit is contained in:
SyncIt21
2025-12-07 04:43:21 +05:30
committed by GitHub
parent 282ec0ae12
commit a51daf610d
+7 -4
View File
@@ -8,25 +8,28 @@
if(!isobj(parent))
return COMPONENT_INCOMPATIBLE
hanging_support_atom = target_structure
/datum/component/atom_mounted/RegisterWithParent()
ADD_TRAIT(parent, TRAIT_WALLMOUNTED, REF(src))
RegisterSignal(hanging_support_atom, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
if(isclosedturf(hanging_support_atom))
RegisterSignal(hanging_support_atom, COMSIG_TURF_CHANGE, PROC_REF(on_turf_changing))
else
RegisterSignal(hanging_support_atom, COMSIG_QDELETING, PROC_REF(on_structure_delete))
/datum/component/atom_mounted/RegisterWithParent()
ADD_TRAIT(parent, TRAIT_WALLMOUNTED, REF(src))
RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(on_move))
/datum/component/atom_mounted/UnregisterFromParent()
REMOVE_TRAIT(parent, TRAIT_WALLMOUNTED, REF(src))
UnregisterSignal(parent, COMSIG_MOVABLE_MOVED)
/datum/component/atom_mounted/Destroy(force)
UnregisterSignal(hanging_support_atom, list(COMSIG_ATOM_EXAMINE))
if(isclosedturf(hanging_support_atom))
UnregisterSignal(hanging_support_atom, COMSIG_TURF_CHANGE)
else
UnregisterSignal(hanging_support_atom, COMSIG_QDELETING)
UnregisterSignal(parent, COMSIG_MOVABLE_MOVED)
hanging_support_atom = null
return ..()
/**
* When the wall is examined, explains that it's supporting the linked object.