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."