diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 914576c5ee..9f023b0469 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -681,3 +681,16 @@ mob/dead/observer/MayRespawn(var/feedback = 0) src << "antagHUD restrictions prevent you from respawning." return 0 return 1 + +/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" diff --git a/code/modules/mob/hear_say.dm b/code/modules/mob/hear_say.dm index e5e91c4bdc..707334f4b4 100644 --- a/code/modules/mob/hear_say.dm +++ b/code/modules/mob/hear_say.dm @@ -55,7 +55,7 @@ return if(speaker_name != speaker.real_name && speaker.real_name) speaker_name = "[speaker.real_name] ([speaker_name])" - track = "(follow) " + track = "([ghost_follow_link(speaker, src)]) " if(client.prefs.toggles & CHAT_GHOSTEARS && speaker in view(src)) message = "[message]" @@ -180,7 +180,7 @@ if(istype(src, /mob/dead/observer)) if(speaker_name != speaker.real_name && !isAI(speaker)) //Announce computer and various stuff that broadcasts doesn't use it's real name but AI's can't pretend to be other mobs. speaker_name = "[speaker.real_name] ([speaker_name])" - track = "[speaker_name] (follow)" + track = "[speaker_name] ([ghost_follow_link(speaker, src)])" var/formatted if(language) diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 79115b61b2..563c7c5551 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -555,7 +555,7 @@ proc/is_blind(A) var/lname if(subject) if(subject != M) - follow = "(follow) " + follow = "([ghost_follow_link(subject, M)]) " if(M.stat != DEAD && M.client.holder) follow = "(JMP) " var/mob/dead/observer/DM