Better handle climacteric for induced ovulators

This commit is contained in:
lutepickle 2022-05-31 08:22:35 -07:00
parent 0a7e80b353
commit 32ae526b0f
1 changed files with 30 additions and 2 deletions

View File

@ -45,8 +45,8 @@ namespace RJW_Menstruation
}
if (curStageHrs >= FollicularIntervalHours)
{
GoNextStage(Stage.Luteal);
estrusflag = false;
GoNextStage(Stage.Luteal);
}
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)
{
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