From 684ceb212540fc7e526ba82bec977135b510156b Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Mon, 18 Jun 2018 14:15:54 -0400 Subject: [PATCH] Merge pull request #38553 from AutomaticFrenzy/patch/aghost-saymode Allow admin ghosts to use .p and .d say prefixes --- code/modules/mob/dead/observer/say.dm | 13 ++++++++++++- code/modules/mob/living/say.dm | 10 ---------- code/modules/mob/say.dm | 10 ++++++++++ 3 files changed, 22 insertions(+), 11 deletions(-) diff --git a/code/modules/mob/dead/observer/say.dm b/code/modules/mob/dead/observer/say.dm index c8cf1a5f1b..7e8a493f7a 100644 --- a/code/modules/mob/dead/observer/say.dm +++ b/code/modules/mob/dead/observer/say.dm @@ -1,9 +1,20 @@ /mob/dead/observer/say(message) message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN)) - if (!message) return + var/message_mode = get_message_mode(message) + if(client && (message_mode == "admin" || message_mode == "deadmin")) + message = copytext(message, 3) + if(findtext(message, " ", 1, 2)) + message = copytext(message, 2) + + if(message_mode == "admin") + client.cmd_admin_say(message) + else if(message_mode == "deadmin") + client.dsay(message) + return + log_talk(src,"Ghost/[src.key] : [message]", LOGSAY) if(check_emote(message)) diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index a754856991..e25a5e4a85 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -316,16 +316,6 @@ GLOBAL_LIST_INIT(department_radio_keys, list( return 1 -/mob/living/proc/get_message_mode(message) - var/key = copytext(message, 1, 2) - if(key == "#") - return MODE_WHISPER - else if(key == ";") - return MODE_HEADSET - else if(length(message) > 2 && (key in GLOB.department_radio_prefixes)) - var/key_symbol = lowertext(copytext(message, 2, 3)) - return GLOB.department_radio_keys[key_symbol] - /mob/living/proc/get_key(message) var/key = copytext(message, 1, 2) if(key in GLOB.department_radio_prefixes) diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm index 2718392b69..24984f1a55 100644 --- a/code/modules/mob/say.dm +++ b/code/modules/mob/say.dm @@ -83,3 +83,13 @@ /mob/proc/lingcheck() return LINGHIVE_NONE + +/mob/proc/get_message_mode(message) + var/key = copytext(message, 1, 2) + if(key == "#") + return MODE_WHISPER + else if(key == ";") + return MODE_HEADSET + else if(length(message) > 2 && (key in GLOB.department_radio_prefixes)) + var/key_symbol = lowertext(copytext(message, 2, 3)) + return GLOB.department_radio_keys[key_symbol]