Better handle climacteric for induced ovulators

This commit is contained in:
lutepickle 2022-05-31 08:22:35 -07:00
parent 0a7e80b353
commit 32ae526b0f

View file

@ -45,8 +45,8 @@ namespace RJW_Menstruation
} }
if (curStageHrs >= FollicularIntervalHours) if (curStageHrs >= FollicularIntervalHours)
{ {
GoNextStage(Stage.Luteal);
estrusflag = false; estrusflag = false;
GoNextStage(Stage.Luteal);
} }
else else
{ {
@ -60,10 +60,38 @@ namespace RJW_Menstruation
} }
} }
protected override void ClimactericFollicularAction()
{
if (!Configurations.EnableMenopause)
{
RemoveClimactericEffect();
StayCurrentStage();
}
else if (curStageHrs >= (follicularIntervalhours - bleedingIntervalhours) * CycleFactor)
{
estrusflag = false;
GoNextStage(Stage.ClimactericLuteal);
}
else
{
curStageHrs += Configurations.CycleAcceleration;
StayCurrentStage();
}
}
protected override void AfterCumIn(Pawn cummer) protected override void AfterCumIn(Pawn cummer)
{ {
base.AfterCumIn(cummer); base.AfterCumIn(cummer);
if (curStage == Stage.Follicular || curStage == Stage.ClimactericFollicular) curStage = Stage.Ovulatory; 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;
break;
}
} }
public override bool IsDangerDay public override bool IsDangerDay