diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 3fe39024..b9ddd659 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -197,9 +197,10 @@ #define TRAIT_CUM_PLUS "cum_plus" #define TRAIT_NEVER_CLONE "donotclone" #define TRAIT_COLDBLOODED "coldblooded" // Your body is literal room temperature. Does not make you immune to the temp. -#define TRAIT_FLIMSY "flimsy" //you have 20% less maxhealth -#define TRAIT_TRASHCAN "trashcan" //Im the TRASH MAN! (Shamlessly stolen from hyper for local trash eater, flint) - +#define TRAIT_FLIMSY "flimsy" //you have 20% less maxhealth +#define TRAIT_TRASHCAN "trashcan" //Im the TRASH MAN! (Shamlessly stolen from hyper for local trash eater, flint) +#define TRAIT_FAT_GOOD "fat_good" +#define TRAIT_FAT_BAD "fat_bad" //Hyper #define TRAIT_VIRILE "virile" //you have 20% more chance of impreg diff --git a/code/controllers/subsystem/processing/quirks.dm b/code/controllers/subsystem/processing/quirks.dm index 67745c90..619ba131 100644 --- a/code/controllers/subsystem/processing/quirks.dm +++ b/code/controllers/subsystem/processing/quirks.dm @@ -26,7 +26,8 @@ PROCESSING_SUBSYSTEM_DEF(quirks) list("Ananas Affinity","Ananas Aversion"), list("Alcohol Tolerance","Light Drinker"), list("Social Anxiety","Mute"), - list("Prosthetic Limb (Left Arm)","Prosthetic Limb (Right Arm)","Prosthetic Limb (Left Leg)","Prosthetic Limb (Right Leg)","Prosthetic Limb") + list("Prosthetic Limb (Left Arm)","Prosthetic Limb (Right Arm)","Prosthetic Limb (Left Leg)","Prosthetic Limb (Right Leg)","Prosthetic Limb"), + list("Fat Affinity","Fat Aversion") ) return ..() diff --git a/code/datums/components/mood.dm b/code/datums/components/mood.dm index f188c66c..ff0d5f9d 100644 --- a/code/datums/components/mood.dm +++ b/code/datums/components/mood.dm @@ -297,7 +297,10 @@ switch(L.fatness) if(FATNESS_LEVEL_FAT to INFINITY) - add_event(null, "fatness", /datum/mood_event/fat) + if(HAS_TRAIT(L, TRAIT_FAT_GOOD)) + add_event(null, "fatness", /datum/mood_event/fat_good) + else if(HAS_TRAIT(L, TRAIT_FAT_BAD)) + add_event(null, "fatness", /datum/mood_event/fat_bad) /datum/component/mood/proc/HandleNutrition(mob/living/L) switch(L.nutrition) diff --git a/code/datums/mood_events/needs_events.dm b/code/datums/mood_events/needs_events.dm index 79ce9d17..f4dde733 100644 --- a/code/datums/mood_events/needs_events.dm +++ b/code/datums/mood_events/needs_events.dm @@ -1,6 +1,10 @@ //nutrition -/datum/mood_event/fat - description = "I'm so fat...\n" //yay for fats! +/datum/mood_event/fat_bad + description = "I'm so fat...\n" + mood_change = -4 + +/datum/mood_event/fat_good + description = "I'm so fat!\n" mood_change = 4 /datum/mood_event/wellfed diff --git a/code/datums/traits/neutral.dm b/code/datums/traits/neutral.dm index e025626d..ae6d5d81 100644 --- a/code/datums/traits/neutral.dm +++ b/code/datums/traits/neutral.dm @@ -207,3 +207,19 @@ if(H) var/datum/species/species = H.dna.species species.disliked_food = initial(species.disliked_food) + +/datum/quirk/fatness_liker + name = "Fat Affinity" + desc = "You like being fat, alot, maybe even a little bit too much. Being fat gives you a bigger mood boost." + mob_trait = TRAIT_FAT_GOOD + value = 0 + category = CATEGORY_MOODS + medical_record_text = "Patient seems overly content with gaining weight." + +/datum/quirk/fatness_hater + name = "Fat Aversion" + desc = "You dislike being fat. Being fat brings your mood down, alot." + mob_trait = TRAIT_FAT_BAD + value = 0 + category = CATEGORY_MOODS + medical_record_text = "Patient seems distressed by gaining weight."