//Speech verbs. /mob/verb/say_verb(message as text) set name = "Say" set category = "IC" if(GLOB.say_disabled) //This is here to try to identify lag problems to_chat(usr, "Speech is currently admin-disabled.") return if(message) say(message) /mob/say_mod(input, message_mode) var/customsayverb = findtext(input, "*") if(customsayverb && message_mode != MODE_WHISPER_CRIT) message_mode = MODE_CUSTOM_SAY return lowertext(copytext_char(input, 1, customsayverb)) else return ..() /mob/verb/whisper_verb(message as text) set name = "Whisper" set category = "IC" if(GLOB.say_disabled) //This is here to try to identify lag problems to_chat(usr, "Speech is currently admin-disabled.") return whisper(message) /mob/proc/whisper(message, datum/language/language=null) say(message, language) //only living mobs actually whisper, everything else just talks /mob/verb/me_verb(message as message) set name = "Me" set category = "IC" if(GLOB.say_disabled) //This is here to try to identify lag problems to_chat(usr, "Speech is currently admin-disabled.") return message = trim(copytext_char(sanitize(message), 1, MAX_MESSAGE_LEN)) usr.emote("me",1,message,TRUE) /mob/proc/say_dead(var/message) var/name = real_name var/alt_name = "" if(GLOB.say_disabled) //This is here to try to identify lag problems to_chat(usr, "Speech is currently admin-disabled.") return var/jb = jobban_isbanned(src, "OOC") if(QDELETED(src)) return if(jb) to_chat(src, "You have been banned from deadchat.") return if (src.client) if(src.client.prefs.muted & MUTE_DEADCHAT) to_chat(src, "You cannot talk in deadchat (muted).") return if(src.client.handle_spam_prevention(message,MUTE_DEADCHAT)) return var/mob/dead/observer/O = src if(isobserver(src) && O.deadchat_name) name = "[O.deadchat_name]" else if(mind && mind.name) name = "[mind.name]" else name = real_name if(name != real_name) alt_name = " (died as [real_name])" var/spanned = say_quote(message) message = emoji_parse(message) var/rendered = "DEAD: [name][alt_name] [emoji_parse(spanned)]" log_talk(message, LOG_SAY, tag="DEAD") deadchat_broadcast(rendered, follow_target = src, speaker_key = key) /mob/proc/check_emote(message) if(message[1] == "*") emote(copytext(message, length(message[1]) + 1), intentional = TRUE) return TRUE /mob/proc/hivecheck() return 0 /mob/proc/lingcheck() return LINGHIVE_NONE /mob/proc/get_message_mode(message) var/key = message[1] if(key == "#") return MODE_WHISPER else if(key == ";") return MODE_HEADSET else if((length(message) > (length(key) + 1)) && (key in GLOB.department_radio_prefixes)) var/key_symbol = lowertext(message[length(key) + 1]) return GLOB.department_radio_keys[key_symbol]