From c939bbc347c10aaac44d48cc813599fd98201f4d Mon Sep 17 00:00:00 2001 From: Toastical Date: Fri, 10 Jan 2025 04:07:36 +0200 Subject: [PATCH] Fixes brain gibberish from attempting to emote (#27901) * fixes brain gibberish * brain gibberish proc + touch-ups * extra line --------- Co-authored-by: Toastical Co-authored-by: Toastical --- code/modules/mob/living/brain/brain_say.dm | 2 +- code/modules/mob/mob_misc_procs.dm | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/brain/brain_say.dm b/code/modules/mob/living/brain/brain_say.dm index d287a736008..cdd3667d3b2 100644 --- a/code/modules/mob/living/brain/brain_say.dm +++ b/code/modules/mob/living/brain/brain_say.dm @@ -9,7 +9,7 @@ if(prob(10)) //10% chance to drop the message entirely return else - message = Gibberish(message, (emp_damage*6))//scrambles the message, gets worse when emp_damage is higher + message = brain_gibberish(message, (emp_damage*6))//scrambles the message, gets worse when emp_damage is higher ..(message) diff --git a/code/modules/mob/mob_misc_procs.dm b/code/modules/mob/mob_misc_procs.dm index c406f144ef4..a9d99cfb3f0 100644 --- a/code/modules/mob/mob_misc_procs.dm +++ b/code/modules/mob/mob_misc_procs.dm @@ -351,6 +351,17 @@ return returntext +/proc/brain_gibberish(message, emp_damage) + if(copytext(message, 1, 2) == "*") // if the brain tries to emote, return an emote + return message + + var/repl_char = pick("@","&","%","$","/") + var/regex/bad_char = regex("\[*]|#") + message = Gibberish(message, emp_damage) + message = bad_char.Replace(message, repl_char, 1, 2) // prevents the gibbered message from emoting + + return message + /proc/Gibberish_all(list/message_pieces, p, replace_rate) for(var/datum/multilingual_say_piece/S in message_pieces) S.message = Gibberish(S.message, p, replace_rate)