diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 45f1fd3caea5d..6960149cef9ee 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -1906,3 +1906,6 @@ luminosity = max(max(base_luminosity, affecting_dynamic_lumi), 1) else luminosity = max(base_luminosity, affecting_dynamic_lumi) + +/atom/movable/proc/get_orbitable() + return src diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 6277c4df333e1..b3b964a138941 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -452,7 +452,8 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp // This is the ghost's follow verb with an argument -/mob/dead/observer/check_orbitable(atom/movable/target) +/mob/dead/observer/check_orbitable(atom/movable/target_original) + var/atom/movable/target = target_original.get_orbitable() if (!istype(target)) return diff --git a/code/modules/multiz/zmimic/mimic_movable.dm b/code/modules/multiz/zmimic/mimic_movable.dm index 158e489aed342..0e1a0da4e892e 100644 --- a/code/modules/multiz/zmimic/mimic_movable.dm +++ b/code/modules/multiz/zmimic/mimic_movable.dm @@ -202,6 +202,10 @@ if (!destruction_timer) destruction_timer = QDEL_IN(src, 10 SECONDS) +// Get actual source atom when orbiting +/atom/movable/openspace/mimic/get_orbitable() + return associated_atom + // -- TURF PROXY -- // This thing holds the mimic appearance for non-OVERWRITE turfs. /atom/movable/openspace/turf_proxy