diff --git a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm index aa65bb48..01497ed2 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm @@ -162,6 +162,8 @@ if(gibee.dna && gibee.dna.species) typeofmeat = gibee.dna.species.meat typeofskin = gibee.dna.species.skinned_type + + fatbonus = calc_fat_bonus(gibee.fatness) //Gainstation Edit: Fat people Produce more meat else if(iscarbon(occupant)) var/mob/living/carbon/C = occupant @@ -172,16 +174,13 @@ else if(isalien(C)) typeofskin = /obj/item/stack/sheet/animalhide/xeno - //Gainstation Edit Start: Fat people Produce more meat - var/efficiency - for(var/obj/item/stock_parts/matter_bin/B in component_parts) - efficiency += B.rating - fatbonus = C.fatness / max(1000 - (200 * efficiency), 200) + + fatbonus = calc_fat_bonus(C.fatness) //Gainstation Edit: Fat people Produce more meat - var/obj/item/reagent_containers/food/snacks/meat/slab/allmeat[meat_produced + fatbonus] //And now it gets defined.. - //Gainstation Edit End + var/obj/item/reagent_containers/food/snacks/meat/slab/allmeat[meat_produced + fatbonus] //Gainstation Edit: And now it gets defined... + - for (var/i=1 to meat_produced) + for (var/i=1 to (meat_produced + fatbonus)) //Gainstation Edit: Fat bonus var/obj/item/reagent_containers/food/snacks/meat/slab/newmeat = new typeofmeat newmeat.name = "[sourcename] [newmeat.name]" if(istype(newmeat)) @@ -221,6 +220,15 @@ operating = FALSE update_icon() +//Gainstation Add: Fat bonus calculation +/obj/machinery/gibber/proc/calc_fat_bonus(fatness) + var/efficiency + for(var/obj/item/stock_parts/matter_bin/B in component_parts) + efficiency += B.rating + var/fatbonus = fatness / max(1000 - (200 * efficiency), 200) // 800 fatness per bonus at T1, 600 at T2, 400 at T3 and finally capped at 200 fatness per bonus at T4. + return fatbonus // If a T5 bin is ever real, it'll stay capped at 200 fatness per slice instead of producing infinite meat. +//Gainstation Add End + //auto-gibs anything that bumps into it /obj/machinery/gibber/autogibber var/input_dir = NORTH