diff --git a/code/datums/traits/good.dm b/code/datums/traits/good.dm
index c34b9b8949f..8bd59861af0 100644
--- a/code/datums/traits/good.dm
+++ b/code/datums/traits/good.dm
@@ -4,7 +4,7 @@
/datum/quirk/alcohol_tolerance
name = "Alcohol Tolerance"
desc = "You become drunk more slowly and suffer fewer drawbacks from alcohol."
- value = 1
+ value = 4
mob_trait = TRAIT_ALCOHOL_TOLERANCE
gain_text = "You feel like you could drink a whole keg!"
lose_text = "You don't feel as resistant to alcohol anymore. Somehow."
@@ -13,7 +13,7 @@
/datum/quirk/apathetic
name = "Apathetic"
desc = "You just don't care as much as other people. That's nice to have in a place like this, I guess."
- value = 1
+ value = 4
mood_quirk = TRUE
medical_record_text = "Patient was administered the Apathy Evaluation Scale but did not bother to complete it."
@@ -31,7 +31,7 @@
/datum/quirk/drunkhealing
name = "Drunken Resilience"
desc = "Nothing like a good drink to make you feel on top of the world. Whenever you're drunk, you slowly recover from injuries."
- value = 2
+ value = 8
mob_trait = TRAIT_DRUNK_HEALING
gain_text = "You feel like a drink would do you good."
lose_text = "You no longer feel like drinking would ease your pain."
@@ -53,7 +53,7 @@
/datum/quirk/empath
name = "Empath"
desc = "Whether it's a sixth sense or careful study of body language, it only takes you a quick glance at someone to understand how they feel."
- value = 2
+ value = 8
mob_trait = TRAIT_EMPATH
gain_text = "You feel in tune with those around you."
lose_text = "You feel isolated from others."
@@ -62,7 +62,7 @@
/datum/quirk/fan_clown
name = "Clown Fan"
desc = "You enjoy clown antics and get a mood boost from wearing your clown pin."
- value = 1
+ value = 2
mob_trait = TRAIT_FAN_CLOWN
gain_text = "You are a big fan of clowns."
lose_text = "The clown doesn't seem so great."
@@ -82,7 +82,7 @@
/datum/quirk/fan_mime
name = "Mime Fan"
desc = "You enjoy mime antics and get a mood boost from wearing your mime pin."
- value = 1
+ value = 2
mob_trait = TRAIT_FAN_MIME
gain_text = "You are a big fan of the Mime."
lose_text = "The mime doesn't seem so great."
@@ -102,7 +102,7 @@
/datum/quirk/freerunning
name = "Freerunning"
desc = "You're great at quick moves! You can climb tables more quickly and take no damage from short falls."
- value = 2
+ value = 8
mob_trait = TRAIT_FREERUNNING
gain_text = "You feel lithe on your feet!"
lose_text = "You feel clumsy again."
@@ -111,7 +111,7 @@
/datum/quirk/friendly
name = "Friendly"
desc = "You give the best hugs, especially when you're in the right mood."
- value = 1
+ value = 4
mob_trait = TRAIT_FRIENDLY
gain_text = "You want to hug someone."
lose_text = "You no longer feel compelled to hug others."
@@ -121,7 +121,7 @@
/datum/quirk/jolly
name = "Jolly"
desc = "You sometimes just feel happy, for no reason at all."
- value = 1
+ value = 4
mob_trait = TRAIT_JOLLY
mood_quirk = TRUE
medical_record_text = "Patient demonstrates constant euthymia irregular for environment. It's a bit much, to be honest."
@@ -133,7 +133,7 @@
/datum/quirk/light_step
name = "Light Step"
desc = "You walk with a gentle step; footsteps and stepping on sharp objects is quieter and less painful."
- value = 1
+ value = 4
mob_trait = TRAIT_LIGHT_STEP
gain_text = "You walk with a little more litheness."
lose_text = "You start tromping around like a barbarian."
@@ -148,7 +148,7 @@
/datum/quirk/musician
name = "Musician"
desc = "You can tune handheld musical instruments to play melodies that clear certain negative effects and soothe the soul."
- value = 1
+ value = 2
mob_trait = TRAIT_MUSICIAN
gain_text = "You know everything about musical instruments."
lose_text = "You forget how musical instruments work."
@@ -166,7 +166,7 @@
/datum/quirk/night_vision
name = "Night Vision"
desc = "You can see slightly more clearly in full darkness than most people."
- value = 1
+ value = 4
mob_trait = TRAIT_NIGHT_VISION
gain_text = "The shadows seem a little less dark."
lose_text = "Everything seems a little darker."
@@ -182,21 +182,21 @@
/datum/quirk/selfaware
name = "Self-Aware"
desc = "You know your body well, and can accurately assess the extent of your wounds."
- value = 2
+ value = 8
mob_trait = TRAIT_SELF_AWARE
medical_record_text = "Patient demonstrates an uncanny knack for self-diagnosis."
/datum/quirk/skittish
name = "Skittish"
desc = "You can conceal yourself in danger. Ctrl-shift-click a closed locker to jump into it, as long as you have access."
- value = 2
+ value = 8
mob_trait = TRAIT_SKITTISH
medical_record_text = "Patient demonstrates a high aversion to danger and has described hiding in containers out of fear."
/datum/quirk/spiritual
name = "Spiritual"
desc = "You hold a spiritual belief, whether in God, nature or the arcane rules of the universe. You gain comfort from the presence of holy people, and believe that your prayers are more special than others."
- value = 1
+ value = 4
mob_trait = TRAIT_SPIRITUAL
gain_text = "You have faith in a higher power."
lose_text = "You lose faith!"
@@ -210,7 +210,7 @@
/datum/quirk/tagger
name = "Tagger"
desc = "You're an experienced artist. People will actually be impressed by your graffiti, and you can get twice as many uses out of drawing supplies."
- value = 1
+ value = 4
mob_trait = TRAIT_TAGGER
gain_text = "You know how to tag walls efficiently."
lose_text = "You forget how to tag walls properly."
@@ -226,7 +226,7 @@
/datum/quirk/voracious
name = "Voracious"
desc = "Nothing gets between you and your food. You eat faster and can binge on junk food! Being fat suits you just fine."
- value = 1
+ value = 4
mob_trait = TRAIT_VORACIOUS
gain_text = "You feel HONGRY."
lose_text = "You no longer feel HONGRY."
diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm
index 46a7c587640..a57a05777b8 100644
--- a/code/datums/traits/negative.dm
+++ b/code/datums/traits/negative.dm
@@ -9,7 +9,7 @@
/datum/quirk/badback
name = "Bad Back"
desc = "Thanks to your poor posture, backpacks and other bags never sit right on your back. More evently weighted objects are fine, though."
- value = -2
+ value = -8
mood_quirk = TRUE
gain_text = "Your back REALLY hurts!"
lose_text = "Your back feels better."
@@ -26,7 +26,7 @@
/datum/quirk/blooddeficiency
name = "Blood Deficiency"
desc = "Your body can't produce enough blood to sustain itself."
- value = -2
+ value = -8
gain_text = "You feel your vigor slowly fading away."
lose_text = "You feel vigorous again."
medical_record_text = "Patient requires regular treatment for blood loss due to low production of blood."
@@ -43,7 +43,7 @@
/datum/quirk/blindness
name = "Blind"
desc = "You are completely blind, nothing can counteract this."
- value = -4
+ value = -16
gain_text = "You can't see anything."
lose_text = "You miraculously gain back your vision."
medical_record_text = "Patient has permanent blindness."
@@ -66,7 +66,7 @@
/datum/quirk/brainproblems
name = "Brain Tumor"
desc = "You have a little friend in your brain that is slowly destroying it. Better bring some mannitol!"
- value = -3
+ value = -12
gain_text = "You feel smooth."
lose_text = "You feel wrinkled again."
medical_record_text = "Patient has a tumor in their brain that is slowly driving them to brain death."
@@ -100,7 +100,7 @@
/datum/quirk/deafness
name = "Deaf"
desc = "You are incurably deaf."
- value = -2
+ value = -8
mob_trait = TRAIT_DEAF
gain_text = "You can't hear anything."
lose_text = "You're able to hear again!"
@@ -111,7 +111,7 @@
name = "Depression"
desc = "You sometimes just hate life."
mob_trait = TRAIT_DEPRESSION
- value = -1
+ value = -3
gain_text = "You start feeling depressed."
lose_text = "You no longer feel depressed." //if only it were that easy!
medical_record_text = "Patient has a mild mood disorder causing them to experience acute episodes of depression."
@@ -125,7 +125,7 @@
/datum/quirk/family_heirloom
name = "Family Heirloom"
desc = "You are the current owner of an heirloom, passed down for generations. You have to keep it safe!"
- value = -1
+ value = -2
mood_quirk = TRUE
var/obj/item/heirloom
var/where
@@ -255,7 +255,7 @@
/datum/quirk/frail
name = "Frail"
desc = "You have skin of paper and bones of glass! You suffer wounds much more easily than most."
- value = -2
+ value = -6
mob_trait = TRAIT_EASILY_WOUNDED
gain_text = "You feel frail."
lose_text = "You feel sturdy again."
@@ -265,7 +265,7 @@
/datum/quirk/heavy_sleeper
name = "Heavy Sleeper"
desc = "You sleep like a rock! Whenever you're put to sleep or knocked unconscious, you take a little bit longer to wake up."
- value = -1
+ value = -2
mob_trait = TRAIT_HEAVY_SLEEPER
gain_text = "You feel sleepy."
lose_text = "You feel awake again."
@@ -275,7 +275,7 @@
/datum/quirk/hypersensitive
name = "Hypersensitive"
desc = "For better or worse, everything seems to affect your mood more than it should."
- value = -1
+ value = -2
gain_text = "You seem to make a big deal out of everything."
lose_text = "You don't seem to make a big deal out of everything anymore."
medical_record_text = "Patient demonstrates a high level of emotional volatility."
@@ -295,7 +295,7 @@
/datum/quirk/light_drinker
name = "Light Drinker"
desc = "You just can't handle your drinks and get drunk very quickly."
- value = -1
+ value = -2
mob_trait = TRAIT_LIGHT_DRINKER
gain_text = "Just the thought of drinking alcohol makes your head spin."
lose_text = "You're no longer severely affected by alcohol."
@@ -323,7 +323,7 @@
/datum/quirk/nyctophobia
name = "Nyctophobia"
desc = "As far as you can remember, you've always been afraid of the dark. While in the dark without a light source, you instinctually act careful, and constantly feel a sense of dread."
- value = -1
+ value = -3
medical_record_text = "Patient demonstrates a fear of the dark. (Seriously?)"
hardcore_value = 5
@@ -344,7 +344,7 @@
/datum/quirk/nonviolent
name = "Pacifist"
desc = "The thought of violence makes you sick. So much so, in fact, that you can't hurt anyone."
- value = -2
+ value = -8
mob_trait = TRAIT_PACIFISM
gain_text = "You feel repulsed by the thought of violence!"
lose_text = "You think you can defend yourself again."
@@ -354,7 +354,7 @@
/datum/quirk/paraplegic
name = "Paraplegic"
desc = "Your legs do not function. Nothing will ever fix this. But hey, free wheelchair!"
- value = -3
+ value = -12
human_only = TRUE
gain_text = null // Handled by trauma.
lose_text = null
@@ -393,7 +393,7 @@
/datum/quirk/poor_aim
name = "Poor Aim"
desc = "You're terrible with guns and can't line up a straight shot to save your life. Dual-wielding is right out."
- value = -1
+ value = -4
mob_trait = TRAIT_POOR_AIM
medical_record_text = "Patient possesses a strong tremor in both hands."
hardcore_value = 3
@@ -401,7 +401,7 @@
/datum/quirk/prosopagnosia
name = "Prosopagnosia"
desc = "You have a mental disorder that prevents you from being able to recognize faces at all."
- value = -1
+ value = -4
mob_trait = TRAIT_PROSOPAGNOSIA
medical_record_text = "Patient suffers from prosopagnosia and cannot recognize faces."
hardcore_value = 5
@@ -411,7 +411,7 @@
/datum/quirk/prosthetic_limb
name = "Prosthetic Limb"
desc = "An accident caused you to lose one of your limbs. Because of this, you now have a random prosthetic!"
- value = -1
+ value = -4
var/slot_string = "limb"
medical_record_text = "During physical examination, patient was found to have a prosthetic limb."
hardcore_value = 3
@@ -447,7 +447,7 @@
/datum/quirk/pushover
name = "Pushover"
desc = "Your first instinct is always to let people push you around. Resisting out of grabs will take conscious effort."
- value = -2
+ value = -8
mob_trait = TRAIT_GRABWEAKNESS
gain_text = "You feel like a pushover."
lose_text = "You feel like standing up for yourself."
@@ -457,7 +457,7 @@
/datum/quirk/insanity
name = "Reality Dissociation Syndrome"
desc = "You suffer from a severe disorder that causes very vivid hallucinations. Mindbreaker toxin can suppress its effects, and you are immune to mindbreaker's hallucinogenic properties. This is not a license to grief."
- value = -2
+ value = -8
//no mob trait because it's handled uniquely
gain_text = "..."
lose_text = "You feel in tune with the world again."
@@ -483,7 +483,7 @@
/datum/quirk/social_anxiety
name = "Social Anxiety"
desc = "Talking to people is very difficult for you, and you often stutter or even lock up."
- value = -1
+ value = -3
gain_text = "You start worrying about what you're saying."
lose_text = "You feel easier about talking again." //if only it were that easy!
medical_record_text = "Patient is usually anxious in social encounters and prefers to avoid them."
@@ -560,7 +560,7 @@
/datum/quirk/junkie
name = "Junkie"
desc = "You can't get enough of hard drugs."
- value = -2
+ value = -6
gain_text = "You suddenly feel the craving for drugs."
medical_record_text = "Patient has a history of hard drugs."
hardcore_value = 4
@@ -634,7 +634,7 @@
/datum/quirk/junkie/smoker
name = "Smoker"
desc = "Sometimes you just really want a smoke. Probably not great for your lungs."
- value = -1
+ value = -4
gain_text = "You could really go for a smoke right about now."
medical_record_text = "Patient is a current smoker."
reagent_type = /datum/reagent/drug/nicotine
@@ -669,7 +669,7 @@
/datum/quirk/unstable
name = "Unstable"
desc = "Due to past troubles, you are unable to recover your sanity if you lose it. Be very careful managing your mood!"
- value = -2
+ value = -10
mob_trait = TRAIT_UNSTABLE
gain_text = "There's a lot on your mind right now."
lose_text = "Your mind finally feels calm."
@@ -679,7 +679,7 @@
/datum/quirk/allergic
name = "Extreme Medicine Allergy"
desc = "Ever since you were a kid, you've been allergic to certain chemicals..."
- value = -2
+ value = -6
gain_text = "You feel your immune system shift."
lose_text = "You feel your immune system phase back into perfect shape."
medical_record_text = "Patient's immune system responds violently to certain chemicals."
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index 76d78714166..378c1700467 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -1105,6 +1105,10 @@ GLOBAL_LIST_EMPTY(preferences_datums)
if(SSquirks.quirk_points[q] > 0)
.++
+/datum/preferences/proc/validate_quirks()
+ if(GetQuirkBalance() < 0)
+ all_quirks = list()
+
/datum/preferences/Topic(href, href_list, hsrc) //yeah, gotta do this I guess..
. = ..()
if(href_list["close"])
diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm
index b9c9eaade82..9bab02176fb 100644
--- a/code/modules/client/preferences_savefile.dm
+++ b/code/modules/client/preferences_savefile.dm
@@ -490,6 +490,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
job_preferences -= j
all_quirks = SANITIZE_LIST(all_quirks)
+ validate_quirks()
return TRUE
diff --git a/modular_skyrat/master_files/code/datums/traits/good.dm b/modular_skyrat/master_files/code/datums/traits/good.dm
index 769aebc396b..7b8deeec460 100644
--- a/modular_skyrat/master_files/code/datums/traits/good.dm
+++ b/modular_skyrat/master_files/code/datums/traits/good.dm
@@ -3,7 +3,7 @@
/datum/quirk/hard_soles
name = "Hardened Soles"
desc = "You're used to walking barefoot, and won't receive the negative effects of doing so."
- value = 1
+ value = 2
mob_trait = TRAIT_HARD_SOLES
gain_text = "The ground doesn't feel so rough on your feet anymore."
lose_text = "You start feeling the ridges and imperfections on the ground."
diff --git a/modular_skyrat/master_files/code/datums/traits/negative.dm b/modular_skyrat/master_files/code/datums/traits/negative.dm
index fa52976d930..4c0f9dc541d 100644
--- a/modular_skyrat/master_files/code/datums/traits/negative.dm
+++ b/modular_skyrat/master_files/code/datums/traits/negative.dm
@@ -3,6 +3,6 @@
/datum/quirk/alexithymia
name = "Alexithymia"
desc = "You cannot accurately assess your feelings."
- value = -1
+ value = -4
mob_trait = TRAIT_MOOD_NOEXAMINE
medical_record_text = "Patient is incapable of communicating their emotions."
diff --git a/modular_skyrat/modules/customization/modules/client/preferences.dm b/modular_skyrat/modules/customization/modules/client/preferences.dm
index 5d0c831d41f..612724eb8e0 100644
--- a/modular_skyrat/modules/customization/modules/client/preferences.dm
+++ b/modular_skyrat/modules/customization/modules/client/preferences.dm
@@ -3019,3 +3019,7 @@ GLOBAL_LIST_INIT(food, list(
popup.set_window_options("can_close=0")
popup.set_content(dat.Join())
popup.open(FALSE)
+
+/datum/preferences/proc/validate_quirks()
+ if(GetQuirkBalance() < 0)
+ all_quirks = list()
diff --git a/modular_skyrat/modules/customization/modules/client/preferences_savefile.dm b/modular_skyrat/modules/customization/modules/client/preferences_savefile.dm
index 6e627d1f12a..02d32ede84f 100644
--- a/modular_skyrat/modules/customization/modules/client/preferences_savefile.dm
+++ b/modular_skyrat/modules/customization/modules/client/preferences_savefile.dm
@@ -460,6 +460,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
job_preferences -= j
all_quirks = SANITIZE_LIST(all_quirks)
+ validate_quirks()
//All the new skyrat related stuff here
READ_FILE(S["features"], features)