Voracious Trait fullness

Voracious trait now also modifies fullness added values to make the eater able to eat/drink twice as much. Also makes fullness decay twice as fast
This commit is contained in:
Alphas00
2024-05-26 09:12:29 +02:00
parent 818d6dcf2e
commit c7ae2db240
5 changed files with 11 additions and 2 deletions
+2
View File
@@ -103,4 +103,6 @@
if(L.reagents)
if(!L.is_mouth_covered(head_only = 1))
L.reagents.add_reagent(food_fed, food_per_feeding)
if(HAS_TRAIT(L, TRAIT_VORACIOUS))
fullness_add = fullness_add * 0.67
L.fullness += (fullness_add)
+1 -1
View File
@@ -231,7 +231,7 @@
/datum/quirk/voracious
name = "Voracious"
desc = "Nothing gets between you and your food. You eat twice as fast as everyone else!"
desc = "Nothing gets between you and your food. You eat twice as fast, get half as full and recover from stuffing twice as fast!"
value = 1
category = CATEGORY_FOOD
mob_trait = TRAIT_VORACIOUS
@@ -53,7 +53,10 @@
checkLiked(fraction, M)
reagents.reaction(M, INGEST, fraction)
reagents.trans_to(M, gulp_size)
M.fullness += min(gulp_size, reagents.total_volume) // GS13 drinks will fill your stomach
if(HAS_TRAIT(M, TRAIT_VORACIOUS))
M.fullness += min(gulp_size * 0.67, reagents.total_volume * 0.67)
else
M.fullness += min(gulp_size, reagents.total_volume) // GS13 drinks will fill your stomach
playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1)
return 1
@@ -140,6 +140,8 @@ All foods are distributed among various categories. Use common sense.
if(M.satiety > -200)
M.satiety -= junkiness
playsound(M.loc,'sound/items/eatfood.ogg', rand(10,50), 1)
if(HAS_TRAIT(M, TRAIT_VORACIOUS))
bitevolume = bitevolume * 0.67
M.fullness += bitevolume;
if(reagents.total_volume)
SEND_SIGNAL(src, COMSIG_FOOD_EATEN, M, user)
@@ -1502,6 +1502,8 @@ GLOBAL_LIST_EMPTY(roundstart_races)
H.adjust_fatness(nutritionThatBecomesFat, FATTENING_TYPE_FOOD)
if(H.fullness > FULLNESS_LEVEL_EMPTY)//GS13 stomach-emptying routine
var/ticksToEmptyStomach = 20 // GS13 how many ticks it takes to decrease the fullness by 1
if(HAS_TRAIT(H, TRAIT_VORACIOUS))
ticksToEmptyStomach = ticksToEmptyStomach * 0.5
H.fullness -= 1/ticksToEmptyStomach
if (H.fullness > FULLNESS_LEVEL_BLOATED) //GS13 overeating depends on fullness now
if(H.overeatduration < 5000) //capped so people don't take forever to unfat