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)