mirror of
https://gitgud.io/lutepickle/rjw_menstruation.git
synced 2024-08-14 22:46:52 +00:00
Slight change to how ageOfLastBirth works, cut down on the save file size for breasts
This commit is contained in:
parent
6344a7c7ad
commit
0999063728
2 changed files with 11 additions and 14 deletions
Binary file not shown.
|
@ -75,9 +75,6 @@ namespace RJW_Menstruation
|
|||
|
||||
if (babyHalfAge <= 0) babyHalfAge = 1.2f / 2; // Default to human
|
||||
|
||||
if (RJWPregnancySettings.phantasy_pregnancy)
|
||||
babyHalfAge /= GenDate.DaysPerYear;
|
||||
|
||||
return babyHalfAge;
|
||||
}
|
||||
}
|
||||
|
@ -140,10 +137,10 @@ namespace RJW_Menstruation
|
|||
{
|
||||
base.CompExposeData();
|
||||
|
||||
Scribe_Values.Look(ref ageOfLastBirth, "ageOfLastBirth", ageOfLastBirth, true);
|
||||
Scribe_Values.Look(ref ageOfLastBirth, "ageOfLastBirth", -1);
|
||||
Scribe_Values.Look(ref maxBreastIncrement, "maxBreastIncrement", maxBreastIncrement, true);
|
||||
Scribe_Values.Look(ref breastSizeIncreased, "breastSizeIncreased", breastSizeIncreased, true);
|
||||
Scribe_Values.Look(ref nippleProgress, "nippleProgress", nippleProgress, true);
|
||||
Scribe_Values.Look(ref breastSizeIncreased, "breastSizeIncreased", 0.0f);
|
||||
Scribe_Values.Look(ref nippleProgress, "nippleProgress", 0.0f);
|
||||
Scribe_Values.Look(ref baseAlpha, "baseAlpha", baseAlpha, true);
|
||||
Scribe_Values.Look(ref baseAreola, "baseAreola", baseAreola, true);
|
||||
Scribe_Values.Look(ref baseNipple, "baseNipple", baseNipple, true);
|
||||
|
@ -199,19 +196,19 @@ namespace RJW_Menstruation
|
|||
|
||||
protected long CalculateLastBirth()
|
||||
{
|
||||
long youngestAge = (long)(BabyHalfAge * GenDate.TicksPerYear) * -2; // So a newborn isn't considered a new mother, either
|
||||
long youngestAge = -1;
|
||||
|
||||
if ((Pawn.relations == null)) return youngestAge;
|
||||
|
||||
List<Hediff_BasePregnancy> pregnancies = new List<Hediff_BasePregnancy>();
|
||||
Pawn.health.hediffSet.GetHediffs(ref pregnancies);
|
||||
List<Hediff_BasePregnancy> rjwPregnancies = new List<Hediff_BasePregnancy>();
|
||||
Pawn.health.hediffSet.GetHediffs(ref rjwPregnancies);
|
||||
|
||||
bool hasChild = Pawn.relations.Children.
|
||||
Where(child => !pregnancies.Any(preg => preg.babies.Contains(child))). // no fetuses
|
||||
Where(child => !rjwPregnancies.Any(preg => preg.babies.Contains(child))). // no fetuses
|
||||
Where(child => child.GetMother() == Pawn). // not Dad
|
||||
TryMinBy(child => child.ageTracker.AgeBiologicalTicks, out Pawn youngest);
|
||||
|
||||
if (hasChild) youngestAge = Pawn.ageTracker.AgeBiologicalTicks - youngest.ageTracker.AgeBiologicalTicks;
|
||||
if (hasChild) youngestAge = Math.Max(Pawn.ageTracker.AgeBiologicalTicks - youngest.ageTracker.AgeBiologicalTicks, -1);
|
||||
|
||||
return youngestAge;
|
||||
}
|
||||
|
@ -224,7 +221,7 @@ namespace RJW_Menstruation
|
|||
{
|
||||
maxBreastIncrement = Utility.RandGaussianLike(0.088f, 0.202f);
|
||||
}
|
||||
if (ageOfLastBirth == 0)
|
||||
if (ageOfLastBirth == 0 || ageOfLastBirth < -1)
|
||||
{
|
||||
ageOfLastBirth = CalculateLastBirth();
|
||||
}
|
||||
|
@ -253,7 +250,7 @@ namespace RJW_Menstruation
|
|||
debugGrowthStatus = "Base size (ageless)";
|
||||
}
|
||||
// The youngest child is less than halfway into babyhood: Full size
|
||||
else if (ageOfLastBirth + BabyHalfAge * GenDate.TicksPerYear > Pawn.ageTracker.AgeBiologicalTicks)
|
||||
else if (ageOfLastBirth > 0 && ageOfLastBirth + BabyHalfAge * GenDate.TicksPerYear > Pawn.ageTracker.AgeBiologicalTicks)
|
||||
{
|
||||
debugGrowthStatus = "Full size due to young child";
|
||||
if (breastSizeIncreased < MaxBreastIncrement)
|
||||
|
@ -299,7 +296,7 @@ namespace RJW_Menstruation
|
|||
float newNippleProgress;
|
||||
if (Pawn.ageTracker.BiologicalTicksPerTick <= 0f)
|
||||
newNippleProgress = 0f;
|
||||
else if (ageOfLastBirth + BabyHalfAge * GenDate.TicksPerYear > Pawn.ageTracker.AgeBiologicalTicks)
|
||||
else if (ageOfLastBirth > 0 && ageOfLastBirth + BabyHalfAge * GenDate.TicksPerYear > Pawn.ageTracker.AgeBiologicalTicks)
|
||||
newNippleProgress = 1f;
|
||||
else if (Pawn.IsRJWPregnant() || Pawn.IsBiotechPregnant())
|
||||
newNippleProgress = nippleTransitions.Evaluate(Pawn.GetFarthestPregnancyProgress());
|
||||
|
|
Loading…
Reference in a new issue