public void Digest(Action <ThePrey> digested, float toDigest = 2f) { float totalDigest = toDigest + (Perks.GetPerkLevel(VorePerks.DigestiveFluids) * 2f); for (int i = Preys.Count - 1; i >= 0; i--) { ThePrey prey = Preys[i]; DigestTo(prey.Digest(totalDigest)); // TODO test if working and implement way to toggle vore settings. if (Perks.HasPerk(VorePerks.OrgasmicFluids)) { float arusalGain = 5 * Perks.GetPerkLevel(VorePerks.OrgasmicFluids); if (prey.Prey.SexStats.GainArousal(arusalGain)) { if (Perks.HasPerk(VorePerks.DrainEssence)) { float toDrain = 6 * Perks.GetPerkLevel(VorePerks.DrainEssence); if (prey.Prey.CanDrainFemi() && prey.Prey.CanDrainMasc() && VoreSettings.DrainEss == ChooseEssence.Both) { pred.Essence.Masc.Gain(prey.Prey.Essence.Masc.Lose(toDrain / 2)); pred.Essence.Femi.Gain(prey.Prey.Essence.Femi.Lose(toDrain / 2)); } else if (prey.Prey.CanDrainMasc() && (VoreSettings.DrainEss == ChooseEssence.Masc || VoreSettings.DrainEss == ChooseEssence.Both)) { pred.Essence.Masc.Gain(prey.Prey.Essence.Masc.Lose(toDrain)); } else if (prey.Prey.CanDrainFemi() && (VoreSettings.DrainEss == ChooseEssence.Femi || VoreSettings.DrainEss == ChooseEssence.Both)) { pred.Essence.Femi.Gain(prey.Prey.Essence.Femi.Lose(toDrain)); } } } } if (prey.Prey.Body.Weight <= 1) { digested?.Invoke(prey); Preys.Remove(prey); } GainExp(Mathf.FloorToInt(totalDigest)); } }
public void RemovePrey(ThePrey prey) => Preys.Remove(prey);