diff --git a/code/game/objects/structures/alien/egg.dm b/code/game/objects/structures/alien/egg.dm
index 876ce7366b3..3b5f6014f92 100644
--- a/code/game/objects/structures/alien/egg.dm
+++ b/code/game/objects/structures/alien/egg.dm
@@ -31,7 +31,7 @@
if(progress >= MAX_PROGRESS)
for(var/mob/M in dead_mob_list)
if(istype(M,/mob/dead) && M.client && M.client.prefs && (MODE_XENOMORPH in M.client.prefs.be_special_role))
- M << "An alien is ready to hatch! ([ghost_follow_link(src, M)]) (spawn)"
+ M << "[ghost_follow_link(src, M)] An alien is ready to hatch! (spawn)"
processing_objects -= src
update_icon()
diff --git a/code/modules/ghosttrap/trap.dm b/code/modules/ghosttrap/trap.dm
index 3a8e7b31b82..21cccbc87d2 100644
--- a/code/modules/ghosttrap/trap.dm
+++ b/code/modules/ghosttrap/trap.dm
@@ -64,7 +64,7 @@ var/list/ghost_traps
if(pref_check && !(pref_check in O.client.prefs.be_special_role))
continue
if(O.client)
- O << "[request_string] (Occupy) ([ghost_follow_link(target, O)])"
+ O << "[ghost_follow_link(target, O)] [request_string] (Occupy)"
/datum/ghosttrap/proc/target_destroyed(var/destroyed_target)
request_timeouts -= destroyed_target
diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm
index 99fa8126289..af69165461a 100644
--- a/code/modules/mob/dead/observer/observer.dm
+++ b/code/modules/mob/dead/observer/observer.dm
@@ -849,13 +849,13 @@ mob/dead/observer/MayRespawn(var/feedback = 0, var/respawn_type = null)
/mob/extra_ghost_link(var/atom/ghost)
if(client && eyeobj)
- return "|eye"
+ return "|\[E\]"
/mob/dead/observer/extra_ghost_link(var/atom/ghost)
if(mind && mind.current)
- return "|body"
+ return "|\[B\]"
/proc/ghost_follow_link(var/atom/target, var/atom/ghost)
if((!target) || (!ghost)) return
- . = "follow"
+ . = "\[F\]"
. += target.extra_ghost_link(ghost)
diff --git a/code/modules/mob/hear_say.dm b/code/modules/mob/hear_say.dm
index 94ad549aeca..4dd6dd79167 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 = "([ghost_follow_link(speaker, src)]) "
+ track = "[ghost_follow_link(speaker, src)] "
if(client.prefs.toggles & CHAT_GHOSTEARS && speaker in view(src))
message = "[message]"
@@ -67,9 +67,9 @@
src << "[speaker_name][alt_name] talks but you cannot hear \him."
else
if(language)
- on_hear_say("[speaker_name][alt_name] [track][language.format_message(message, verb)]")
+ on_hear_say("[track][speaker_name][alt_name] [language.format_message(message, verb)]")
else
- on_hear_say("[speaker_name][alt_name] [track][verb], \"[message]\"")
+ on_hear_say("[track][speaker_name][alt_name] [verb], \"[message]\"")
if (speech_sound && (get_dist(speaker, src) <= world.view && src.z == speaker.z))
var/turf/source = speaker? get_turf(speaker) : get_turf(src)
src.playsound_local(source, speech_sound, sound_vol, 1)
@@ -185,7 +185,7 @@
if(speaker != null)
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] ([ghost_follow_link(speaker, src)])"
+ track = "[ghost_follow_link(speaker, src)] "
var/formatted
if(language)
@@ -205,7 +205,7 @@
src << "[part_a][speaker_name][part_b][formatted]"
/mob/dead/observer/on_hear_radio(part_a, speaker_name, track, part_b, formatted)
- src << "[part_a][track][part_b][formatted]"
+ src << "[track][part_a][speaker_name][part_b][formatted]"
/mob/living/silicon/on_hear_radio(part_a, speaker_name, track, part_b, formatted)
var/time = say_timestamp()
diff --git a/code/modules/mob/language/language.dm b/code/modules/mob/language/language.dm
index 59755a3f2eb..29cabdb4dee 100644
--- a/code/modules/mob/language/language.dm
+++ b/code/modules/mob/language/language.dm
@@ -116,7 +116,7 @@
/mob/dead/observer/hear_broadcast(var/datum/language/language, var/mob/speaker, var/speaker_name, var/message)
if(speaker.name == speaker_name || antagHUD)
- src << "[language.name], [speaker_name] ([ghost_follow_link(speaker, src)]) [message]"
+ src << "[ghost_follow_link(speaker, src)] [language.name], [speaker_name] [message]"
else
src << "[language.name], [speaker_name] [message]"
diff --git a/code/modules/mob/language/synthetic.dm b/code/modules/mob/language/synthetic.dm
index 2cfbeff4c59..499e1164707 100644
--- a/code/modules/mob/language/synthetic.dm
+++ b/code/modules/mob/language/synthetic.dm
@@ -24,7 +24,7 @@
for (var/mob/M in dead_mob_list)
if(!istype(M,/mob/new_player) && !istype(M,/mob/living/carbon/brain)) //No meta-evesdropping
- M.show_message("[message_start] ([ghost_follow_link(speaker, M)]) [message_body]", 2)
+ M.show_message("[ghost_follow_link(speaker, M)] [message_start] [message_body]", 2)
for (var/mob/living/S in living_mob_list)
diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm
index 41f1d0dcdb7..41194330d26 100644
--- a/code/modules/mob/mob_helpers.dm
+++ b/code/modules/mob/mob_helpers.dm
@@ -166,7 +166,7 @@ proc/getsensorlevel(A)
/mob/living/proc/is_wizard(exclude_apprentice = FALSE)
if(exclude_apprentice)
return mind && mind.assigned_role == "Space Wizard"
- else
+ else
return mind && (mind.assigned_role == "Space Wizard" || mind.assigned_role == "Apprentice")
/*
@@ -543,7 +543,7 @@ proc/is_blind(A)
var/lname
if(subject)
if(subject != M)
- follow = "([ghost_follow_link(subject, M)]) "
+ follow = "[ghost_follow_link(subject, M)] "
if(M.stat != DEAD && M.client.holder)
follow = "([admin_jump_link(subject, M.client.holder)]) "
var/mob/dead/observer/DM
@@ -559,7 +559,7 @@ proc/is_blind(A)
else // Everyone else (dead people who didn't ghost yet, etc.)
lname = name
lname = "[lname] "
- M << "" + create_text_tag("dead", "DEAD:", M.client) + " [lname][follow][message]"
+ M << "[follow] " + create_text_tag("dead", "DEAD:", M.client) + " [lname][message]"
//Announces that a ghost has joined/left, mainly for use with wizards
/proc/announce_ghost_joinleave(O, var/joined_ghosts = 1, var/message = "")
diff --git a/html/changelogs/skull132-ghostfollow-links.yml b/html/changelogs/skull132-ghostfollow-links.yml
new file mode 100644
index 00000000000..f3b438402cb
--- /dev/null
+++ b/html/changelogs/skull132-ghostfollow-links.yml
@@ -0,0 +1,5 @@
+author: Skull132
+delete-after: True
+
+changes:
+ - tweak: "Ghost follow links are now /tg/ style and more uniform on the screen."