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
@@ -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