From 298cb1039dc958ce14abc33262f9b2fcd30b68a6 Mon Sep 17 00:00:00 2001 From: zevo <95449138+Zevotech@users.noreply.github.com> Date: Sat, 3 Aug 2024 06:22:15 -0400 Subject: [PATCH] Social Anxiety quirk fixes and tweaks (#3222) ## About The Pull Request Changes some things about the social anxiety quirk to make it more bearable to deal with. - Removes the ability for it to silence you, which would eat messages players tried to send while roleplaying. - Decreases the severity of stuttering across the board, and prevents it from removing characters in the message. - Psicodine now actually suppresses the main effects of social anxiety while it is active, making the medicine actually usable once more. ## Why It's Good For The Game Players were unable to use this quirk due to a variety of reasons. It would randomly silence you around people, give you an exaggerated stutter that made your runechat impossible to read, and couldn't even be suppressed because it's treatment medication was bugged and had very little use outside of it. Now the quirk is a little more managable, and players should be able to take it and roleplay with it again. I may mess with the stutter further if needed as I still think its a little extreme in some cases. ## Changelog :cl: balance: the Quirk Social Anxiety no longer silences you randomly fix: Stuttering is now far less extreme and will not delete characters fix: Psicodine now actually suppresses the effects of social anxiety /:cl: --- code/datums/traits/negative.dm | 9 +++++---- code/modules/mob/mob_helpers.dm | 8 ++------ 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm index 873729866a405..6bb9ca1200c81 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 de1cb857ed4ed..42d217cf96e4e 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