From 574c2933fbd4db5da9ccef1d4e2e1019b6796652 Mon Sep 17 00:00:00 2001 From: Kashargul <144968721+Kashargul@users.noreply.github.com> Date: Tue, 18 Mar 2025 15:30:30 +0100 Subject: [PATCH] fix observer tracking (#17366) --- code/modules/emotes/custom_emote.dm | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/code/modules/emotes/custom_emote.dm b/code/modules/emotes/custom_emote.dm index a6aa6fb3dc..cc061bed56 100644 --- a/code/modules/emotes/custom_emote.dm +++ b/code/modules/emotes/custom_emote.dm @@ -70,17 +70,21 @@ for(var/mob/M as anything in m_viewers) if(M) + var/final_message = message if(isobserver(M)) - message = span_emote(span_bold("[src]") + " ([ghost_follow_link(src, M)]) [input]") + final_message = span_emote(span_bold("[src]") + " ([ghost_follow_link(src, M)]) [input]") if(src.client && M && !(get_z(src) == get_z(M))) - message = span_multizsay("[message]") + final_message = span_multizsay("[final_message]") // If you are in the same tile, right next to, or being held by a person doing an emote, you should be able to see it while blind if(m_type != AUDIBLE_MESSAGE && (src.Adjacent(M) || (istype(src.loc, /obj/item/holder) && src.loc.loc == M))) - M.show_message(message) + M.show_message(final_message) else - M.show_message(message, m_type) + M.show_message(final_message, m_type) M.create_chat_message(src, "[runemessage]", FALSE, list("emote"), (m_type == AUDIBLE_MESSAGE)) for(var/obj/O as anything in o_viewers) if(O) - O.see_emote(src, message, m_type) + var/final_message = message + if(src.client && O && !(get_z(src) == get_z(O))) + final_message = span_multizsay("[final_message]") + O.see_emote(src, final_message, m_type)