diff --git a/code/__DEFINES/language.dm b/code/__DEFINES/language.dm index fd467e7a054..b1781de3314 100644 --- a/code/__DEFINES/language.dm +++ b/code/__DEFINES/language.dm @@ -17,3 +17,4 @@ #define NONGLOBAL 32 // Do not add to general languages list #define INNATE 64 // All mobs can be assumed to speak and understand this language (audible emotes) #define NO_TALK_MSG 128 // Do not show the "\The [speaker] talks into \the [radio]" message +#define NO_STUTTER 256 // No stuttering, slurring, or other speech problems \ No newline at end of file diff --git a/code/modules/mob/language.dm b/code/modules/mob/language.dm index 937ee9d86d8..a5bb5b1388e 100644 --- a/code/modules/mob/language.dm +++ b/code/modules/mob/language.dm @@ -125,7 +125,7 @@ name = "Noise" desc = "Noises" key = "" - flags = RESTRICTED|NONGLOBAL|INNATE|NO_TALK_MSG + flags = RESTRICTED|NONGLOBAL|INNATE|NO_TALK_MSG|NO_STUTTER /datum/language/noise/format_message(message, verb) return "[message]" diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 437f9882a99..40b9d11c4d8 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -158,9 +158,10 @@ proc/get_radio_key_from_channel(var/channel) message = handle_autohiss(message, speaking) - var/list/handle_s = handle_speech_problems(message, verb) - message = handle_s[1] - verb = handle_s[2] + if(speaking && !(speaking.flags & NO_STUTTER)) + var/list/handle_s = handle_speech_problems(message, verb) + message = handle_s[1] + verb = handle_s[2] if(!message || message == "") return 0