From 54f1d333d7b06b7c90e884aea2b1ea8457752f1d Mon Sep 17 00:00:00 2001 From: dannno Date: Tue, 10 Feb 2015 16:39:17 -0500 Subject: [PATCH] Adds a slurring filter, replaces stutter filter where appropriate --- code/__DEFINES/combat.dm | 1 + code/modules/flufftext/TextFilters.dm | 24 +---------------- code/modules/mob/living/carbon/human/life.dm | 3 +++ code/modules/mob/living/carbon/human/say.dm | 2 ++ code/modules/mob/living/say.dm | 3 +++ code/modules/mob/mob_defines.dm | 1 + code/modules/mob/mob_helpers.dm | 25 ++++++++++++++++++ code/modules/projectiles/projectile.dm | 3 ++- .../reagents/Chemistry-Goon-Medicine.dm | 2 +- .../Drink-Reagents/Alcohols.dm | 4 +-- .../Drink-Reagents/Drinks.dm | 26 +++++++++---------- .../Consumable-Reagents/Food-Reagents.dm | 12 ++++----- .../Chemistry-Reagents/Medicine-Reagents.dm | 1 + 13 files changed, 61 insertions(+), 46 deletions(-) diff --git a/code/__DEFINES/combat.dm b/code/__DEFINES/combat.dm index 206536abb4a..3e515d4471b 100644 --- a/code/__DEFINES/combat.dm +++ b/code/__DEFINES/combat.dm @@ -12,6 +12,7 @@ #define PARALYZE "paralize" #define IRRADIATE "irradiate" #define STUTTER "stutter" +#define SLUR "slur" #define EYE_BLUR "eye_blur" #define DROWSY "drowsy" #define JITTER "jitter" diff --git a/code/modules/flufftext/TextFilters.dm b/code/modules/flufftext/TextFilters.dm index aa1d40b81b2..64a0ea5e688 100644 --- a/code/modules/flufftext/TextFilters.dm +++ b/code/modules/flufftext/TextFilters.dm @@ -1,28 +1,6 @@ //This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32 -proc/Intoxicated(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,7)) - 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 - +//is this shit even used at all proc/NewStutter(phrase,stunned) phrase = html_decode(phrase) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index a6477d24f93..1f4727b67cb 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -529,6 +529,9 @@ if(stuttering) stuttering = max(stuttering-1, 0) + if(slurring) + slurring = max(slurring-1,0) + if(silent) silent = max(silent-1, 0) diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm index aa2ce1fb29b..d8c040f394e 100644 --- a/code/modules/mob/living/carbon/human/say.dm +++ b/code/modules/mob/living/carbon/human/say.dm @@ -4,6 +4,8 @@ var/ending = copytext(text, length(text)) if (src.stuttering) return "stammers, \"[text]\""; + if(src.slurring) + return "slurs, \"[text]\""; if(isliving(src)) var/mob/living/L = src if (L.getBrainLoss() >= 60) diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index f94e95160da..e68d1be4cdf 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -261,6 +261,9 @@ var/list/department_radio_keys = list( if(stuttering) message = stutter(message) + if(slurring) + message = slur(message) + message = capitalize(message) return message diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 94b6d8b68f1..6a4aa3f319f 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -52,6 +52,7 @@ var/ear_deaf = 0 //Carbon var/ear_damage = 0 //Carbon var/stuttering = null //Carbon + var/slurring = 0 //Carbon var/real_name = null var/bhunger = 0 //Carbon var/ajourn = 0 diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index e4b923b5ea9..0a516b0d32e 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -203,6 +203,31 @@ proc/isorgan(A) p++ return sanitize(t) +proc/slur(n) + var/phrase = html_decode(n) + 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)=="u") newletter="oo" + if(lowertext(newletter)=="c") newletter="k" + if(rand(1,20)==20) + if(newletter==" ") newletter="...huuuhhh..." + if(newletter==".") newletter=" *BURP*." + switch(rand(1,17)) + if(1,3,5,8) newletter="[lowertext(newletter)]" + if(2,4,6,15) newletter="[uppertext(newletter)]" + if(7) newletter+="'" + if(16) newletter+="[newletter]" + if(17) newletter+="[newletter][newletter]" + newphrase+="[newletter]";counter-=1 + return newphrase /proc/stutter(n) var/te = html_decode(n) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 0de1e2fe156..bf61095ee95 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -33,6 +33,7 @@ var/paralyze = 0 var/irradiate = 0 var/stutter = 0 + var/slur = 0 var/eyeblur = 0 var/drowsy = 0 var/stamina = 0 @@ -59,7 +60,7 @@ if(isanimal(target)) return 0 var/mob/living/L = target L.on_hit(type) - return L.apply_effects(stun, weaken, paralyze, irradiate, stutter, eyeblur, drowsy, blocked, stamina, jitter) + return L.apply_effects(stun, weaken, paralyze, irradiate, stutter, slur, eyeblur, drowsy, blocked, stamina, jitter) /obj/item/projectile/proc/vol_by_damage() if(src.damage) diff --git a/code/modules/reagents/Chemistry-Goon-Medicine.dm b/code/modules/reagents/Chemistry-Goon-Medicine.dm index 07eaac83468..10af58d2f2b 100644 --- a/code/modules/reagents/Chemistry-Goon-Medicine.dm +++ b/code/modules/reagents/Chemistry-Goon-Medicine.dm @@ -762,7 +762,7 @@ datum/reagent/antihol datum/reagent/antihol/on_mob_life(var/mob/living/M as mob) M.dizziness = 0 M.drowsyness = 0 - M.stuttering = 0 + M.slurring = 0 M.confused = 0 M.reagents.remove_reagent("ethanol", 8) M.adjustToxLoss(-0.2*REM) diff --git a/code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Drink-Reagents/Alcohols.dm b/code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Drink-Reagents/Alcohols.dm index 719f217191e..3845d2a5b76 100644 --- a/code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Drink-Reagents/Alcohols.dm +++ b/code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Drink-Reagents/Alcohols.dm @@ -27,8 +27,8 @@ datum/reagent/consumable/ethanol/on_mob_life(var/mob/living/M as mob) data++ M.jitteriness = max(M.jitteriness-5,0) if(data >= boozepwr) - if (!M.stuttering) M.stuttering = 1 - M.stuttering += 4 + if (!M.slurring) M.slurring = 1 + M.slurring += 4 M.Dizzy(5) if(data >= boozepwr*2.5 && prob(33)) if (!M.confused) M.confused = 1 diff --git a/code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Drink-Reagents/Drinks.dm b/code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Drink-Reagents/Drinks.dm index 978390a256a..d7ae0aa1ab9 100644 --- a/code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Drink-Reagents/Drinks.dm +++ b/code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Drink-Reagents/Drinks.dm @@ -412,9 +412,9 @@ datum/reagent/consumable/atomicbomb/on_mob_life(var/mob/living/M as mob) M.druggy = max(M.druggy, 50) M.confused = max(M.confused+2,0) M.Dizzy(10) - if (!M.stuttering) - M.stuttering = 1 - M.stuttering += 3 + if (!M.slurring) + M.slurring = 1 + M.slurring += 3 if(!data) data = 1 data++ @@ -439,9 +439,9 @@ datum/reagent/consumable/gargle_blaster/on_mob_life(var/mob/living/M as mob) data++ M.dizziness +=6 if(data >= 15 && data <45) - if (!M.stuttering) - M.stuttering = 1 - M.stuttering += 3 + if (!M.slurring) + M.slurring = 1 + M.slurring += 3 else if(data >= 45 && prob(50) && data <55) M.confused = max(M.confused+3,0) else if(data >=55) @@ -464,9 +464,9 @@ datum/reagent/consumable/neurotoxin/on_mob_life(var/mob/living/carbon/M as mob) data++ M.dizziness +=6 if(data >= 15 && data <45) - if (!M.stuttering) - M.stuttering = 1 - M.stuttering += 3 + if (!M.slurring) + M.slurring = 1 + M.slurring += 3 else if(data >= 45 && prob(50) && data <55) M.confused = max(M.confused+3,0) else if(data >=55) @@ -491,23 +491,23 @@ datum/reagent/consumable/hippies_delight/on_mob_life(var/mob/living/M as mob) data++ switch(data) if(1 to 5) - if (!M.stuttering) M.stuttering = 1 + if (!M.slurring) M.slurring = 1 M.Dizzy(10) if(prob(10)) M.emote(pick("twitch","giggle")) if(5 to 10) - if (!M.stuttering) M.stuttering = 1 + if (!M.slurring) M.slurring = 1 M.Jitter(20) M.Dizzy(20) M.druggy = max(M.druggy, 45) if(prob(20)) M.emote(pick("twitch","giggle")) if (10 to 200) - if (!M.stuttering) M.stuttering = 1 + if (!M.slurring) M.slurring = 1 M.Jitter(40) M.Dizzy(40) M.druggy = max(M.druggy, 60) if(prob(30)) M.emote(pick("twitch","giggle")) if(200 to INFINITY) - if (!M.stuttering) M.stuttering = 1 + if (!M.slurring) M.slurring = 1 M.Jitter(60) M.Dizzy(60) M.druggy = max(M.druggy, 75) diff --git a/code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Food-Reagents.dm b/code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Food-Reagents.dm index e5109c8f07b..0d3e37d4d6b 100644 --- a/code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Food-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Food-Reagents.dm @@ -268,22 +268,22 @@ datum/reagent/mushroomhallucinogen/on_mob_life(var/mob/living/M as mob) data = 1 switch(data) if(1 to 5) - if (!M.stuttering) - M.stuttering = 1 + if (!M.slurring) + M.slurring = 1 M.Dizzy(5) if(prob(10)) M.emote(pick("twitch","giggle")) if(5 to 10) - if (!M.stuttering) - M.stuttering = 1 + if (!M.slurring) + M.slurring = 1 M.Jitter(10) M.Dizzy(10) M.druggy = max(M.druggy, 35) if(prob(20)) M.emote(pick("twitch","giggle")) if (10 to INFINITY) - if (!M.stuttering) - M.stuttering = 1 + if (!M.slurring) + M.slurring = 1 M.Jitter(20) M.Dizzy(20) M.druggy = max(M.druggy, 40) diff --git a/code/modules/reagents/Chemistry-Reagents/Medicine-Reagents.dm b/code/modules/reagents/Chemistry-Reagents/Medicine-Reagents.dm index 7021ad69946..2fc73900f9a 100644 --- a/code/modules/reagents/Chemistry-Reagents/Medicine-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents/Medicine-Reagents.dm @@ -67,6 +67,7 @@ datum/reagent/medicine/adminordrazine/on_mob_life(var/mob/living/carbon/M as mob M.dizziness = 0 M.drowsyness = 0 M.stuttering = 0 + M.slurring = 0 M.confused = 0 M.sleeping = 0 M.jitteriness = 0