From b21067596c331f967dc3288f02577bbcd340efaf Mon Sep 17 00:00:00 2001 From: Amunak Date: Fri, 28 Nov 2014 10:22:40 +0100 Subject: [PATCH] The say verb will try to detect some simple errors (say msay) and warn the sender. The sender is allowed to just send, edit or cancel their message. --- code/modules/mob/say.dm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm index e39f950dae..67ee6152a0 100644 --- a/code/modules/mob/say.dm +++ b/code/modules/mob/say.dm @@ -12,6 +12,16 @@ if(say_disabled) //This is here to try to identify lag problems usr << "\red Speech is currently admin-disabled." return + //Let's try to make users fix their errors - we try to detect single, out-of-place letters and 'unintended' words + var/first_letter = copytext(message,1,2) + if((copytext(message,2,3) == " " && first_letter != "I" && first_letter != "A" && first_letter != ";") || cmptext(copytext(message,1,5), "say ") || cmptext(copytext(message,1,4), "me ") || cmptext(copytext(message,1,6), "looc ") || cmptext(copytext(message,1,5), "ooc ") || cmptext(copytext(message,2,6), "say ")) + var/response = alert(usr, "Do you really want to say this using the *say* verb?\n\n[message]\n", "Confirm your message", "Yes", "Edit message", "No") + if(response == "Edit message") + message = input(usr, "Please edit your message carefully:", "Edit message", message) + if(!message) + return + else if(response == "No") + return set_typing_indicator(0) usr.say(message)