Improve climacteric follicular

This commit is contained in:
lutepickle 2022-05-31 14:36:26 -07:00
parent bba7fd8dbb
commit 4ce0574e0b
2 changed files with 15 additions and 5 deletions

View file

@ -46,6 +46,7 @@ namespace RJW_Menstruation
if (curStageHrs >= FollicularIntervalHours)
{
estrusflag = false;
lutealIntervalhours = PeriodRandomizer(lutealIntervalhours, Props.deviationFactor);
GoNextStage(Stage.Luteal);
}
else
@ -70,11 +71,23 @@ namespace RJW_Menstruation
else if (curStageHrs >= (follicularIntervalhours - bleedingIntervalhours) * CycleFactor)
{
estrusflag = false;
lutealIntervalhours = PeriodRandomizer(lutealIntervalhours, Props.deviationFactor);
GoNextStage(Stage.ClimactericLuteal);
}
else if (ovarypower < OvaryPowerThreshold / 3 && Rand.Range(0.0f, 1.0f) < 0.2f) // Might randomly skip to luteal early)
{
estrusflag = false;
lutealIntervalhours = PeriodRandomizer(lutealIntervalhours, Props.deviationFactor * 6);
GoNextStage(Stage.ClimactericLuteal);
}
else
{
curStageHrs += Configurations.CycleAcceleration;
if (!estrusflag && curStageHrs > FollicularIntervalHours - Props.estrusDaysBeforeOvulation * 24)
{
estrusflag = true;
SetEstrus(Props.eggLifespanDays + Props.estrusDaysBeforeOvulation);
}
StayCurrentStage();
}
}
@ -85,11 +98,8 @@ namespace RJW_Menstruation
switch (curStage)
{
case Stage.Follicular:
curStage = Stage.Ovulatory;
break;
case Stage.ClimactericFollicular:
if(ovarypower >= OvaryPowerThreshold / 3 || Rand.Range(0.0f, 1.0f) > 0.2f) // chance to fail to induce
curStage = Stage.Ovulatory;
curStage = Stage.Ovulatory;
break;
}
}

View file

@ -1515,7 +1515,7 @@ namespace RJW_Menstruation
}
else if (ovarypower < OvaryPowerThreshold / 3 && Rand.Range(0.0f, 1.0f) < 0.2f) //skips ovulatory
{
follicularIntervalhours = PeriodRandomizer(follicularIntervalhours, Props.deviationFactor * 6);
lutealIntervalhours = PeriodRandomizer(lutealIntervalhours, Props.deviationFactor * 6);
GoNextStage(Stage.ClimactericLuteal);
}
else