Have ovulation and implant chance cache be nullable

This commit is contained in:
lutepickle 2024-03-13 08:09:54 -07:00
parent ba8801370f
commit cca7676bc0
1 changed files with 10 additions and 10 deletions

View File

@ -123,8 +123,8 @@ namespace RJW_Menstruation
protected string customwombtex = null; protected string customwombtex = null;
protected string customvagtex = null; protected string customvagtex = null;
protected bool estrusflag = false; protected bool estrusflag = false;
protected float ovulationChanceCache = -1.0f; // Dirtied every simulation protected float? ovulationChanceCache = null; // Dirtied every simulation
protected float implantationChanceCache = -1.0f; protected float? implantationChanceCache = null;
protected int opcache = -1; protected int opcache = -1;
protected float antisperm = 0.0f; protected float antisperm = 0.0f;
// RJW pregnancy, or Biotech pregnancy/labor/laborpushing // RJW pregnancy, or Biotech pregnancy/labor/laborpushing
@ -289,7 +289,7 @@ namespace RJW_Menstruation
private bool calculatingOvulationChance = false; private bool calculatingOvulationChance = false;
public bool CalculatingOvulationChance { get => calculatingOvulationChance; } public bool CalculatingOvulationChance { get => calculatingOvulationChance; }
protected float CalculatedOvulationChance() private float CalculatedOvulationChance()
{ {
float ovulationChance = 1.0f; float ovulationChance = 1.0f;
if (EggHealth <= 0.0f) return 0.0f; if (EggHealth <= 0.0f) return 0.0f;
@ -315,7 +315,7 @@ namespace RJW_Menstruation
return ovulationChance; return ovulationChance;
} }
protected float CalculatedImplantChance() private float CalculatedImplantChance()
{ {
if (ModsConfig.BiotechActive && xxx.is_human(Pawn)) if (ModsConfig.BiotechActive && xxx.is_human(Pawn))
{ {
@ -336,8 +336,8 @@ namespace RJW_Menstruation
{ {
get get
{ {
if (ovulationChanceCache < 0.0f) ovulationChanceCache = CalculatedOvulationChance(); if (ovulationChanceCache == null) ovulationChanceCache = CalculatedOvulationChance();
return ovulationChanceCache; return ovulationChanceCache.Value;
} }
} }
@ -346,8 +346,8 @@ namespace RJW_Menstruation
{ {
get get
{ {
if (implantationChanceCache < 0.0f) implantationChanceCache = CalculatedImplantChance(); if (implantationChanceCache == null) implantationChanceCache = CalculatedImplantChance();
return implantationChanceCache; return implantationChanceCache.Value;
} }
} }
@ -1266,8 +1266,8 @@ namespace RJW_Menstruation
protected virtual void BeforeSimulator() protected virtual void BeforeSimulator()
{ {
ovulationChanceCache = -1.0f; ovulationChanceCache = null;
implantationChanceCache = -1.0f; implantationChanceCache = null;
CumOut(); CumOut();
} }