From 15094b8b1215ef895b0c6fa47a83fbe157087103 Mon Sep 17 00:00:00 2001 From: DragonTrance Date: Tue, 23 Feb 2021 13:46:07 -0700 Subject: [PATCH 1/4] enjoy being fat with quirks! --- code/datums/components/mood.dm | 3 ++- code/modules/food_and_drinks/food/snacks.dm | 6 ++++-- hyperstation/code/datums/traits/good.dm | 7 +++++++ hyperstation/code/datums/traits/neutral.dm | 11 +++++++++++ 4 files changed, 24 insertions(+), 3 deletions(-) diff --git a/code/datums/components/mood.dm b/code/datums/components/mood.dm index dbce0072..b5df5431 100644 --- a/code/datums/components/mood.dm +++ b/code/datums/components/mood.dm @@ -293,7 +293,8 @@ /datum/component/mood/proc/HandleNutrition(mob/living/L) switch(L.nutrition) if(NUTRITION_LEVEL_FULL to INFINITY) - add_event(null, "nutrition", /datum/mood_event/fat) + if(!L.has_quirk(/datum/quirk/fat_enjoyer)) + add_event(null, "nutrition", /datum/mood_event/fat) if(NUTRITION_LEVEL_WELL_FED to NUTRITION_LEVEL_FULL) add_event(null, "nutrition", /datum/mood_event/wellfed) if( NUTRITION_LEVEL_FED to NUTRITION_LEVEL_WELL_FED) diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm index be09a91d..0055727b 100644 --- a/code/modules/food_and_drinks/food/snacks.dm +++ b/code/modules/food_and_drinks/food/snacks.dm @@ -109,14 +109,16 @@ All foods are distributed among various categories. Use common sense. user.visible_message("[user] takes a [eatverb] from \the [src].", "You take a [eatverb] from \the [src].") else if(fullness > 500 && fullness < 600) user.visible_message("[user] unwillingly takes a [eatverb] of a bit of \the [src].", "You unwillingly take a [eatverb] of a bit of \the [src].") - else if(fullness > (600 * (1 + M.overeatduration / 2000))) // The more you eat - the more you can eat + else if(fullness > (600 * (1 + M.overeatduration / 2000))\ + || (M.has_quirk(/datum/quirk/fat_enjoyer) && fullness < 780 * (1 + M.overeatduration / 2000))) // The more you eat - the more you can eat user.visible_message("[user] cannot force any more of \the [src] to go down [user.p_their()] throat!", "You cannot force any more of \the [src] to go down your throat!") return 0 if(HAS_TRAIT(M, TRAIT_VORACIOUS)) M.changeNext_move(CLICK_CD_MELEE * 0.5) //nom nom nom else if(!isbrain(M)) //If you're feeding it to someone else. - if(fullness <= (600 * (1 + M.overeatduration / 1000))) + if(fullness <= (600 * (1 + M.overeatduration / 1000))\ + || (M.has_quirk(/datum/quirk/fat_enjoyer) && fullness <= 780 * (1 + M.overeatduration / 1000))) M.visible_message("[user] attempts to feed [M] [src].", \ "[user] attempts to feed [M] [src].") else diff --git a/hyperstation/code/datums/traits/good.dm b/hyperstation/code/datums/traits/good.dm index 672d8719..253b88b0 100644 --- a/hyperstation/code/datums/traits/good.dm +++ b/hyperstation/code/datums/traits/good.dm @@ -57,3 +57,10 @@ /datum/quirk/xenospeaker/remove() if(quirk_holder) quirk_holder.remove_language(/datum/language/ratvar) + +/datum/quirk/fat_enjoyer + name = "Fat Enjoyer" + desc = "You don't particularly mind being fat compared to some people, and have grown used to feeling a bit plump." + value = 1 + gain_text = "You enjoy fat more than some people." + lose_text = "Your views towards being overweight has changed." diff --git a/hyperstation/code/datums/traits/neutral.dm b/hyperstation/code/datums/traits/neutral.dm index ba031c25..cad4e5be 100644 --- a/hyperstation/code/datums/traits/neutral.dm +++ b/hyperstation/code/datums/traits/neutral.dm @@ -34,3 +34,14 @@ mob_trait = TRAIT_HEAT gain_text = "You body burns with the desire to be bred." lose_text = "You feel more in control of your body and thoughts." + +/datum/quirk/overweight + name = "Overweight" + desc = "You're particularly fond of food, and join the round being overweight." + value = 0 + gain_text = "You feel a bit chubby!" + //no lose_text cause why would there be? + +/datum/quirk/overweight/on_spawn() + var/mob/living/M = quirk_holder + M.nutrition = rand(NUTRITION_LEVEL_FAT + NUTRITION_LEVEL_START_MIN, NUTRITION_LEVEL_FAT + NUTRITION_LEVEL_START_MAX) From ab941f04067230e223fc215b840ce7591e7844b5 Mon Sep 17 00:00:00 2001 From: DragonTrance Date: Tue, 23 Feb 2021 13:50:43 -0700 Subject: [PATCH 2/4] forgot one thing --- hyperstation/code/datums/traits/neutral.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/hyperstation/code/datums/traits/neutral.dm b/hyperstation/code/datums/traits/neutral.dm index cad4e5be..cb10529b 100644 --- a/hyperstation/code/datums/traits/neutral.dm +++ b/hyperstation/code/datums/traits/neutral.dm @@ -45,3 +45,4 @@ /datum/quirk/overweight/on_spawn() var/mob/living/M = quirk_holder M.nutrition = rand(NUTRITION_LEVEL_FAT + NUTRITION_LEVEL_START_MIN, NUTRITION_LEVEL_FAT + NUTRITION_LEVEL_START_MAX) + ADD_TRAIT(M, TRAIT_FAT, OBESITY) From b37e1db35e26779d7d5b52f1543e98e0bb4a8a81 Mon Sep 17 00:00:00 2001 From: DragonTrance Date: Tue, 23 Feb 2021 13:55:15 -0700 Subject: [PATCH 3/4] a --- hyperstation/code/datums/traits/neutral.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/hyperstation/code/datums/traits/neutral.dm b/hyperstation/code/datums/traits/neutral.dm index cb10529b..2402a26d 100644 --- a/hyperstation/code/datums/traits/neutral.dm +++ b/hyperstation/code/datums/traits/neutral.dm @@ -45,4 +45,5 @@ /datum/quirk/overweight/on_spawn() var/mob/living/M = quirk_holder M.nutrition = rand(NUTRITION_LEVEL_FAT + NUTRITION_LEVEL_START_MIN, NUTRITION_LEVEL_FAT + NUTRITION_LEVEL_START_MAX) + M.overeatduration = 100 ADD_TRAIT(M, TRAIT_FAT, OBESITY) From 5740825e1b234164dda4af9857b42d2ce125d33a Mon Sep 17 00:00:00 2001 From: DragonTrance Date: Tue, 23 Feb 2021 14:04:34 -0700 Subject: [PATCH 4/4] only start fat --- code/datums/components/mood.dm | 3 +-- code/modules/food_and_drinks/food/snacks.dm | 6 ++---- hyperstation/code/datums/traits/good.dm | 7 ------- 3 files changed, 3 insertions(+), 13 deletions(-) diff --git a/code/datums/components/mood.dm b/code/datums/components/mood.dm index b5df5431..dbce0072 100644 --- a/code/datums/components/mood.dm +++ b/code/datums/components/mood.dm @@ -293,8 +293,7 @@ /datum/component/mood/proc/HandleNutrition(mob/living/L) switch(L.nutrition) if(NUTRITION_LEVEL_FULL to INFINITY) - if(!L.has_quirk(/datum/quirk/fat_enjoyer)) - add_event(null, "nutrition", /datum/mood_event/fat) + add_event(null, "nutrition", /datum/mood_event/fat) if(NUTRITION_LEVEL_WELL_FED to NUTRITION_LEVEL_FULL) add_event(null, "nutrition", /datum/mood_event/wellfed) if( NUTRITION_LEVEL_FED to NUTRITION_LEVEL_WELL_FED) diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm index 0055727b..be09a91d 100644 --- a/code/modules/food_and_drinks/food/snacks.dm +++ b/code/modules/food_and_drinks/food/snacks.dm @@ -109,16 +109,14 @@ All foods are distributed among various categories. Use common sense. user.visible_message("[user] takes a [eatverb] from \the [src].", "You take a [eatverb] from \the [src].") else if(fullness > 500 && fullness < 600) user.visible_message("[user] unwillingly takes a [eatverb] of a bit of \the [src].", "You unwillingly take a [eatverb] of a bit of \the [src].") - else if(fullness > (600 * (1 + M.overeatduration / 2000))\ - || (M.has_quirk(/datum/quirk/fat_enjoyer) && fullness < 780 * (1 + M.overeatduration / 2000))) // The more you eat - the more you can eat + else if(fullness > (600 * (1 + M.overeatduration / 2000))) // The more you eat - the more you can eat user.visible_message("[user] cannot force any more of \the [src] to go down [user.p_their()] throat!", "You cannot force any more of \the [src] to go down your throat!") return 0 if(HAS_TRAIT(M, TRAIT_VORACIOUS)) M.changeNext_move(CLICK_CD_MELEE * 0.5) //nom nom nom else if(!isbrain(M)) //If you're feeding it to someone else. - if(fullness <= (600 * (1 + M.overeatduration / 1000))\ - || (M.has_quirk(/datum/quirk/fat_enjoyer) && fullness <= 780 * (1 + M.overeatduration / 1000))) + if(fullness <= (600 * (1 + M.overeatduration / 1000))) M.visible_message("[user] attempts to feed [M] [src].", \ "[user] attempts to feed [M] [src].") else diff --git a/hyperstation/code/datums/traits/good.dm b/hyperstation/code/datums/traits/good.dm index 253b88b0..672d8719 100644 --- a/hyperstation/code/datums/traits/good.dm +++ b/hyperstation/code/datums/traits/good.dm @@ -57,10 +57,3 @@ /datum/quirk/xenospeaker/remove() if(quirk_holder) quirk_holder.remove_language(/datum/language/ratvar) - -/datum/quirk/fat_enjoyer - name = "Fat Enjoyer" - desc = "You don't particularly mind being fat compared to some people, and have grown used to feeling a bit plump." - value = 1 - gain_text = "You enjoy fat more than some people." - lose_text = "Your views towards being overweight has changed."