diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm
index 845e664edf1..93a1e32cd79 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -2991,7 +2991,7 @@
Secrets(usr)
return 1
-/proc/admin_jump_link(var/atom/target, var/source, var/tmsg = "JMP", var/emsg = "EYE", var/sep = "|")
+/proc/admin_jump_link(var/atom/target, var/source)
if(!target) return
// The way admin jump links handle their src is weirdly inconsistent...
if(istype(source, /datum/admins))
@@ -3001,9 +3001,15 @@
if(isAI(target)) // AI core/eye follow links
var/mob/living/silicon/ai/A = target
- . = "[tmsg]"
+ . = "JMP"
if(A.client && A.eyeobj) // No point following clientless AI eyes
- . += "[sep][emsg]"
+ . += "|EYE"
+ return
+ else if(istype(target, /mob/dead/observer))
+ var/mob/dead/observer/O = target
+ . = "JMP"
+ if(O.mind && O.mind.current)
+ . += "|BDY"
return
else
- return "[tmsg]"
+ return "JMP"
diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm
index c9eaaf826a5..0635d5aa894 100644
--- a/code/modules/mob/dead/observer/observer.dm
+++ b/code/modules/mob/dead/observer/observer.dm
@@ -507,6 +507,12 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
if(A.client && A.eyeobj) // No point following clientless AI eyes
. += "|eye"
return
+ else if(istype(target, /mob/dead/observer))
+ var/mob/dead/observer/O = target
+ . = "follow"
+ if(O.mind && O.mind.current)
+ . += "|body"
+ return
else
return "follow"