Compare commits

..

No commits in common. "e6d244637640f9a3da83c27df18e1800a244f367" and "9ec87537f8e0fa6c6940f0fb8792e70f47ebb10c" have entirely different histories.

4 changed files with 31 additions and 15 deletions

Binary file not shown.

View file

@ -1037,7 +1037,7 @@ namespace RJW_Menstruation
if (TotalCum > Props.maxCumCapacity * Pawn.BodySize) leakfactor = Math.Min(1 + (TotalCum - Props.maxCumCapacity * Pawn.BodySize) / 10, 2f);
if (absorber != null && absorber.dirty && !absorber.LeakAfterDirty) leakfactor = 0f;
if (Pawn.CurJobDef == xxx.knotted) leakfactor = 0f;
HashSet<Cum> removecums = new HashSet<Cum>();
List<Cum> removecums = new List<Cum>();
foreach (Cum cum in cums)
{
cum.CumEffects(Pawn);
@ -1050,7 +1050,10 @@ namespace RJW_Menstruation
}
if (cums.Count > 1) MakeCumFilthMixture(totalleak, filthlabels);
else if (cums.Count == 1) MakeCumFilth(cums.First(), totalleak);
cums.RemoveAll(cum => removecums.Contains(cum));
foreach (Cum cum in removecums)
{
cums.Remove(cum);
}
cumd = TotalCumPercent - cumd;
if (totalleak >= 1.0f) AfterCumOut();
AfterFluidOut(cumd);
@ -1070,7 +1073,7 @@ namespace RJW_Menstruation
List<string> filthlabels = new List<string>();
float outcum = 0;
float cumd = TotalCumPercent;
HashSet<Cum> removecums = new HashSet<Cum>();
List<Cum> removecums = new List<Cum>();
foreach (Cum cum in cums)
{
float vd = cum.DismishForce(portion);
@ -1083,7 +1086,10 @@ namespace RJW_Menstruation
}
if (cums.Count > 1) MakeCumFilthMixture(totalleak, filthlabels);
else if (cums.Count == 1) MakeCumFilth(cums.First(), totalleak);
cums.RemoveAll(cum => removecums.Contains(cum));
foreach (Cum cum in removecums)
{
cums.Remove(cum);
}
cumd = TotalCumPercent - cumd;
AfterFluidOut(cumd);
return outcum;
@ -1101,7 +1107,7 @@ namespace RJW_Menstruation
Color color = GetCumMixtureColor;
float totalleak = 0;
List<string> cumlabels = new List<string>();
HashSet<Cum> removecums = new HashSet<Cum>();
List<Cum> removecums = new List<Cum>();
bool pure = true;
foreach (Cum cum in cums)
{
@ -1112,7 +1118,10 @@ namespace RJW_Menstruation
if (cum.ShouldRemove()) removecums.Add(cum);
if (cum.notcum) pure = false;
}
cums.RemoveAll(cum => removecums.Contains(cum));
foreach (Cum cum in removecums)
{
cums.Remove(cum);
}
return new CumMixture(Pawn, totalleak, cumlabels, color, mixtureDef, pure);
}
@ -1355,7 +1364,7 @@ namespace RJW_Menstruation
{
if (eggs.NullOrEmpty()) return false;
HashSet<Egg> deadeggs = new HashSet<Egg>();
List<Egg> deadeggs = new List<Egg>();
bool pregnant = false;
foreach (Egg egg in eggs)
{
@ -1448,7 +1457,9 @@ namespace RJW_Menstruation
rjw_preg.p_start_tick -= egg.fertstage / Configurations.CycleAcceleration * GenDate.TicksPerHour;
rjw_preg.p_end_tick -= egg.fertstage / Configurations.CycleAcceleration * GenDate.TicksPerHour;
}
if (!(pregnancy is Hediff_MultiplePregnancy)) break;
}
}
else
{
@ -1465,7 +1476,12 @@ namespace RJW_Menstruation
return true;
}
else
eggs.RemoveAll(egg => deadeggs.Contains(egg));
{
foreach (Egg egg in deadeggs)
{
eggs.Remove(egg);
}
}
return pregnant;
}
@ -1535,7 +1551,7 @@ namespace RJW_Menstruation
protected void EggDecay()
{
HashSet<Egg> deadeggs = new HashSet<Egg>();
List<Egg> deadeggs = new List<Egg>();
foreach (Egg egg in eggs)
{
egg.position += Configurations.CycleAcceleration;
@ -1546,7 +1562,10 @@ namespace RJW_Menstruation
if (egg.lifespanhrs < 0) deadeggs.Add(egg);
}
}
eggs.RemoveAll(egg => deadeggs.Contains(egg));
foreach (Egg egg in deadeggs)
{
eggs.Remove(egg);
}
}
protected void AddCrampPain()
@ -1610,7 +1629,7 @@ namespace RJW_Menstruation
eggs.Add(new Egg((int)(EggLifespanHours / CycleFactor)));
++ovulated;
}
if(ovulated > ovarypower) ovulated = Math.Min(ovarypower, eggstack);
if(ovulated < ovarypower) ovulated = Math.Max(ovarypower, eggstack);
ovarypower -= ovulated;
eggstack = 0;

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Manifest>
<identifier>RJW Menstruation</identifier>
<version>1.0.8.9</version>
<version>1.0.8.8</version>
<dependencies>
</dependencies>
<incompatibleWith />

View file

@ -1,6 +1,3 @@
Version 1.0.8.9
- Fix bug that sent pawns into menopause very early. Please use the recalculate ovary power dev action to restore lost eggs.
Version 1.0.8.8
- Fix pawns skipping straight to menopause instead of going through climacteric stages.
- Fix father appearing as "Null" in womb dialog for some Biotech pregnancies.