From f919b9ef23cda8d59fb43fd7c9ec01fc286b6246 Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Sun, 24 Apr 2022 15:02:21 +0200 Subject: [PATCH] [MIRROR] fixes pda messaging bug [MDB IGNORE] (#13053) * fix (#66443) due to the way the program is initialized computer is not set to the proper value until the ui is interacted with, whereas beforehand it is null. this means, that when you receive a message roundstart without first opening your messenger app for the first time, you won't get the chat notification for the message oh also some qol * fixes pda messaging bug Co-authored-by: magatsuchi <88991542+magatsuchi@users.noreply.github.com> --- .../file_system/programs/ntmessenger.dm | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/code/modules/modular_computers/file_system/programs/ntmessenger.dm b/code/modules/modular_computers/file_system/programs/ntmessenger.dm index 9dfcd8e929e..54d3b1a69a2 100644 --- a/code/modules/modular_computers/file_system/programs/ntmessenger.dm +++ b/code/modules/modular_computers/file_system/programs/ntmessenger.dm @@ -3,6 +3,7 @@ filedesc = "Direct Messenger" category = PROGRAM_CATEGORY_MISC program_icon_state = "command" + program_state = PROGRAM_STATE_BACKGROUND extended_desc = "This program allows old-school communication with other modular devices." size = 8 usage_flags = PROGRAM_TABLET @@ -271,8 +272,8 @@ // If it didn't reach, note that fact if (!signal.data["done"]) to_chat(user, span_notice("ERROR: Server isn't responding.")) - //if(!silent) - //playsound(src, 'sound/machines/terminal_error.ogg', 15, TRUE) + if(ringer_status) + playsound(src, 'sound/machines/terminal_error.ogg', 15, TRUE) return FALSE if(allow_emojis) @@ -283,13 +284,13 @@ var/list/message_data = list() message_data["name"] = signal.data["name"] message_data["job"] = signal.data["job"] - message_data["contents"] = html_decode(signal.data["message"]) + message_data["contents"] = html_decode(signal.format_message()) message_data["outgoing"] = TRUE message_data["ref"] = signal.data["ref"] message_data["photo"] = signal.data["photo"] // Show it to ghosts - var/ghost_message = span_name("[message_data["name"]] [rigged ? "Rigged" : ""] PDA Message --> [span_name("[signal.format_target()]")]: [signal.data["message"]]") + var/ghost_message = span_name("[message_data["name"]] [rigged ? "Rigged" : ""] PDA Message --> [span_name("[signal.format_target()]")]: [signal.format_message()]") for(var/mob/M in GLOB.player_list) if(isobserver(M) && (M.client?.prefs.chat_toggles & CHAT_GHOSTPDA)) to_chat(M, "[FOLLOW_LINK(M, user)] [ghost_message]") @@ -298,7 +299,7 @@ user.log_talk(message, LOG_PDA, tag="[rigged ? "Rigged" : ""] PDA: [initial(message_data["name"])] to [signal.format_target()]") if(rigged) log_bomber(user, "sent a rigged PDA message (Name: [message_data["name"]]. Job: [message_data["job"]]) to [english_list(string_targets)] [!is_special_character(user) ? "(SENT BY NON-ANTAG)" : ""]") - to_chat(user, span_info("PDA message sent to [signal.format_target()]: [signal.data["message"]]")) + to_chat(user, span_info("PDA message sent to [signal.format_target()]: [signal.format_message()]")) if (ringer_status) computer.send_sound() @@ -316,7 +317,7 @@ var/list/message_data = list() message_data["name"] = signal.data["name"] message_data["job"] = signal.data["job"] - message_data["contents"] = html_decode(signal.data["message"]) + message_data["contents"] = signal.format_message() message_data["outgoing"] = FALSE message_data["ref"] = signal.data["ref"] message_data["automated"] = signal.data["automated"] @@ -324,11 +325,11 @@ messages += list(message_data) var/mob/living/L = null - if(computer.loc && isliving(computer.loc)) - L = computer.loc + if(holder.holder.loc && isliving(holder.holder.loc)) + L = holder.holder.loc //Maybe they are a pAI! else - L = get(computer, /mob/living/silicon) + L = get(holder.holder, /mob/living/silicon) if(L && (L.stat == CONSCIOUS || L.stat == SOFT_CRIT)) var/reply = "(Reply)"