/// <summary> Handles hp/wp recovery, fat burn, vore </summary> public static void OverTimeTick(this BasicChar basicChar) { basicChar.HP.TickRecovery(); basicChar.WP.TickRecovery(); if (basicChar.Vore.Active) { basicChar.Vore.Digest(); } Body body = basicChar.Body; BodyStat fat = body.Fat; float fatBurnRate = fat.BaseValue * 0.0001f; if (basicChar.Vore.Active) { VorePerksSystem perks = basicChar.Vore.Perks; if (perks.HasPerk(VorePerks.PredatoryMetabolism)) { // TODO test pred metabol if (body.FatPrecent > 0.18f) { fatBurnRate += fat.BaseValue * (0.0001f * perks.GetPerkLevel(VorePerks.PredatoryMetabolism)) * body.FatPrecent; } } } if (basicChar.Perks.HasPerk(PerksTypes.Gluttony)) { fatBurnRate += PerkEffects.Gluttony.ExtraFatBurn(basicChar.Perks); } else if (basicChar.Perks.HasPerk(PerksTypes.LowMetabolism)) { fatBurnRate -= PerkEffects.LowMetabolism.LowerBurn(basicChar.Perks); } fat.LoseFlat(fatBurnRate); basicChar.ReGainFluidsTick(); }