diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm index 92ff74bd2c7..ecb20c6b415 100644 --- a/code/modules/mob/living/carbon/human/say.dm +++ b/code/modules/mob/living/carbon/human/say.dm @@ -115,6 +115,8 @@ message = dd_replacetext(message, ".", "") message = lowertext(message) */ + if (src.slurring) + message = slur(message) ..(message) /mob/living/carbon/human/say_understands(var/other) diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index c292aaaa67f..d1bb642f3f3 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -185,6 +185,28 @@ proc/hasorgans(A) p++ return t +proc/slur(phrase) + phrase = html_decode(phrase) + var/leng=lentext(phrase) + var/counter=lentext(phrase) + var/newphrase="" + var/newletter="" + while(counter>=1) + newletter=copytext(phrase,(leng-counter)+1,(leng-counter)+2) + if(rand(1,3)==3) + if(lowertext(newletter)=="o") newletter="u" + if(lowertext(newletter)=="s") newletter="ch" + if(lowertext(newletter)=="a") newletter="ah" + if(lowertext(newletter)=="c") newletter="k" + switch(rand(1,15)) + if(1,3,5,8) newletter="[lowertext(newletter)]" + if(2,4,6,15) newletter="[uppertext(newletter)]" + if(7) newletter+="'" + //if(9,10) newletter="[newletter]" + //if(11,12) newletter="[newletter]" + //if(13) newletter="[newletter]" + newphrase+="[newletter]";counter-=1 + return newphrase /proc/stutter(n) var/te = html_decode(n) @@ -382,4 +404,4 @@ var/list/intents = list("help","disarm","grab","hurt") if(a_intent == "hurt") hud_used.action_intent.icon_state = "harm" else - hud_used.action_intent.icon_state = "help" + hud_used.action_intent.icon_state = "help"