From f4a4d1995fee865eeb48392691577846c03668a2 Mon Sep 17 00:00:00 2001 From: Krausus Date: Sun, 24 May 2015 00:10:26 -0400 Subject: [PATCH] Adds ghost-follow/admin-jump-to for ghosts' bodies Also removes the extra arguments from admin_jump_link, because I didn't end up needing them anyway. --- code/modules/admin/topic.dm | 14 ++++++++++---- code/modules/mob/dead/observer/observer.dm | 6 ++++++ 2 files changed, 16 insertions(+), 4 deletions(-) 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"