mirror of
https://gitgud.io/lutepickle/rjw_menstruation.git
synced 2024-08-14 22:46:52 +00:00
Only decrement ovary power by eggs actually ovulated, debug log under-ovulations
This commit is contained in:
parent
65b69eaf76
commit
c05d8bad79
1 changed files with 9 additions and 4 deletions
|
@ -306,7 +306,7 @@ namespace RJW_Menstruation
|
||||||
if (factor <= 0.0f) return 0.0f; // Too young or too old
|
if (factor <= 0.0f) return 0.0f; // Too young or too old
|
||||||
}
|
}
|
||||||
else part.TransformValue(StatRequest.For(Pawn), ref ovulationChance);
|
else part.TransformValue(StatRequest.For(Pawn), ref ovulationChance);
|
||||||
}
|
}
|
||||||
if (Pawn.Has(Quirk.Breeder)) ovulationChance *= 10.0f;
|
if (Pawn.Has(Quirk.Breeder)) ovulationChance *= 10.0f;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -1595,7 +1595,6 @@ namespace RJW_Menstruation
|
||||||
{
|
{
|
||||||
estrusflag = false;
|
estrusflag = false;
|
||||||
float eggnum;
|
float eggnum;
|
||||||
int ovulated;
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
eggnum = Math.Max(Rand.ByCurve(Pawn.def.race.litterSizeCurve), 1f);
|
eggnum = Math.Max(Rand.ByCurve(Pawn.def.race.litterSizeCurve), 1f);
|
||||||
|
@ -1610,13 +1609,19 @@ namespace RJW_Menstruation
|
||||||
eggnum = 1f;
|
eggnum = 1f;
|
||||||
}
|
}
|
||||||
eggnum *= ovulationFactor;
|
eggnum *= ovulationFactor;
|
||||||
ovulated = (int)eggnum + eggstack;
|
int toOvulate = (int)eggnum + eggstack;
|
||||||
|
|
||||||
float ovulationChance = OvulationChance;
|
float ovulationChance = OvulationChance;
|
||||||
for (int i = 0; i < ovulated; i++)
|
int ovulated = 0;
|
||||||
|
for (int i = 0; i < toOvulate; i++)
|
||||||
if (i < eggstack || Rand.Chance(ovulationChance)) // eggstack comes from drugs and are guaranteed ovulated
|
if (i < eggstack || Rand.Chance(ovulationChance)) // eggstack comes from drugs and are guaranteed ovulated
|
||||||
|
{
|
||||||
eggs.Add(new Egg((int)(EggLifespanHours / CycleFactor)));
|
eggs.Add(new Egg((int)(EggLifespanHours / CycleFactor)));
|
||||||
|
++ovulated;
|
||||||
|
}
|
||||||
ovarypower -= ovulated;
|
ovarypower -= ovulated;
|
||||||
|
if (Configurations.Debug && ovulated != toOvulate)
|
||||||
|
Log.Message($"{Pawn} ovulated {ovulated}/{toOvulate} eggs ({ovulationChance.ToStringPercent()} chance)");
|
||||||
|
|
||||||
eggstack = 0;
|
eggstack = 0;
|
||||||
if (EggHealth <= 0)
|
if (EggHealth <= 0)
|
||||||
|
|
Loading…
Reference in a new issue