From 169045febe00d58593bdfb2d0d4c5f944e78d452 Mon Sep 17 00:00:00 2001 From: Tad Hardesty Date: Sun, 17 Jun 2018 03:03:06 -0700 Subject: [PATCH] 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 c8cf1a5f1bf..7e8a493f7a7 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 08a9ad0748c..2f5e74e35d5 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -307,16 +307,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 7c44bb73bf9..f38aed51f6f 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]