diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm
index d1a8fd6acaa5..f464c66920d5 100644
--- a/code/datums/traits/negative.dm
+++ b/code/datums/traits/negative.dm
@@ -451,15 +451,14 @@
/datum/quirk/social_anxiety/on_process()
var/nearby_people = 0
+ if(HAS_TRAIT(quirk_holder, TRAIT_FEARLESS))
+ return
for(var/mob/living/carbon/human/H in oview(3, quirk_holder))
if(H.client)
nearby_people++
var/mob/living/carbon/human/H = quirk_holder
if(prob(2 + nearby_people))
- H.stuttering = max(3, H.stuttering)
- else if(prob(min(3, nearby_people)) && !H.silent)
- to_chat(H, "You retreat into yourself. You really don't feel up to talking.")
- H.silent = max(10, H.silent)
+ H.stuttering = max(4, H.stuttering)
else if(prob(0.5) && dumb_thing)
to_chat(H, "You think of a dumb thing you said a long time ago and scream internally.")
dumb_thing = FALSE //only once per life
@@ -479,6 +478,8 @@
/datum/quirk/social_anxiety/proc/eye_contact(datum/source, mob/living/other_mob, triggering_examiner)
SIGNAL_HANDLER
+ if(HAS_TRAIT(quirk_holder, TRAIT_FEARLESS))
+ return
if(prob(75))
return
var/msg
diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm
index de1cb857ed4e..42d217cf96e4 100644
--- a/code/modules/mob/mob_helpers.dm
+++ b/code/modules/mob/mob_helpers.dm
@@ -169,13 +169,9 @@
var/static/regex/nostutter = regex(@@[aeiouAEIOU "'()[\]{}.!?,:;_`~-]@)
for(var/i = 1, i <= leng, i += length(rawchar))
rawchar = newletter = phrase[i]
- if(prob(80) && !nostutter.Find(rawchar))
- if(prob(10))
- newletter = "[newletter]-[newletter]-[newletter]-[newletter]"
- else if(prob(20))
+ if(prob(70) && !nostutter.Find(rawchar))
+ if(prob(25))
newletter = "[newletter]-[newletter]-[newletter]"
- else if (prob(5))
- newletter = ""
else
newletter = "[newletter]-[newletter]"
. += newletter