diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 9f023b0469..37aecab043 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -682,15 +682,18 @@ mob/dead/observer/MayRespawn(var/feedback = 0) return 0 return 1 +/atom/proc/extra_ghost_link() + return + +/mob/extra_ghost_link(var/atom/ghost) + if(mind && eyeobj) + return "|eye" + +/mob/dead/observer/extra_ghost_link(var/atom/ghost) + if(mind && mind.current) + return "|body" + /proc/ghost_follow_link(var/atom/target, var/atom/ghost) if((!target) || (!ghost)) return . = "follow" - - if(istype(target, /mob/dead/observer)) - var/mob/dead/observer/O = target - if(O.mind && O.mind.current) - . += "|body" - else if(istype(target, /mob)) // Eye follow links - var/mob/M = target - if(M.client && M.eyeobj) // No point following clientless eyes - . += "|eye" + . += target.extra_ghost_link(ghost)