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 (babyHalfAge <= 0) babyHalfAge = 1.2f / 2; // Default to human
|
||||||
|
|
||||||
if (RJWPregnancySettings.phantasy_pregnancy)
|
|
||||||
babyHalfAge /= GenDate.DaysPerYear;
|
|
||||||
|
|
||||||
return babyHalfAge;
|
return babyHalfAge;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -140,10 +137,10 @@ namespace RJW_Menstruation
|
||||||
{
|
{
|
||||||
base.CompExposeData();
|
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 maxBreastIncrement, "maxBreastIncrement", maxBreastIncrement, true);
|
||||||
Scribe_Values.Look(ref breastSizeIncreased, "breastSizeIncreased", breastSizeIncreased, true);
|
Scribe_Values.Look(ref breastSizeIncreased, "breastSizeIncreased", 0.0f);
|
||||||
Scribe_Values.Look(ref nippleProgress, "nippleProgress", nippleProgress, true);
|
Scribe_Values.Look(ref nippleProgress, "nippleProgress", 0.0f);
|
||||||
Scribe_Values.Look(ref baseAlpha, "baseAlpha", baseAlpha, true);
|
Scribe_Values.Look(ref baseAlpha, "baseAlpha", baseAlpha, true);
|
||||||
Scribe_Values.Look(ref baseAreola, "baseAreola", baseAreola, true);
|
Scribe_Values.Look(ref baseAreola, "baseAreola", baseAreola, true);
|
||||||
Scribe_Values.Look(ref baseNipple, "baseNipple", baseNipple, true);
|
Scribe_Values.Look(ref baseNipple, "baseNipple", baseNipple, true);
|
||||||
|
@ -199,19 +196,19 @@ namespace RJW_Menstruation
|
||||||
|
|
||||||
protected long CalculateLastBirth()
|
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;
|
if ((Pawn.relations == null)) return youngestAge;
|
||||||
|
|
||||||
List<Hediff_BasePregnancy> pregnancies = new List<Hediff_BasePregnancy>();
|
List<Hediff_BasePregnancy> rjwPregnancies = new List<Hediff_BasePregnancy>();
|
||||||
Pawn.health.hediffSet.GetHediffs(ref pregnancies);
|
Pawn.health.hediffSet.GetHediffs(ref rjwPregnancies);
|
||||||
|
|
||||||
bool hasChild = Pawn.relations.Children.
|
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
|
Where(child => child.GetMother() == Pawn). // not Dad
|
||||||
TryMinBy(child => child.ageTracker.AgeBiologicalTicks, out Pawn youngest);
|
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;
|
return youngestAge;
|
||||||
}
|
}
|
||||||
|
@ -224,7 +221,7 @@ namespace RJW_Menstruation
|
||||||
{
|
{
|
||||||
maxBreastIncrement = Utility.RandGaussianLike(0.088f, 0.202f);
|
maxBreastIncrement = Utility.RandGaussianLike(0.088f, 0.202f);
|
||||||
}
|
}
|
||||||
if (ageOfLastBirth == 0)
|
if (ageOfLastBirth == 0 || ageOfLastBirth < -1)
|
||||||
{
|
{
|
||||||
ageOfLastBirth = CalculateLastBirth();
|
ageOfLastBirth = CalculateLastBirth();
|
||||||
}
|
}
|
||||||
|
@ -253,7 +250,7 @@ namespace RJW_Menstruation
|
||||||
debugGrowthStatus = "Base size (ageless)";
|
debugGrowthStatus = "Base size (ageless)";
|
||||||
}
|
}
|
||||||
// The youngest child is less than halfway into babyhood: Full size
|
// 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";
|
debugGrowthStatus = "Full size due to young child";
|
||||||
if (breastSizeIncreased < MaxBreastIncrement)
|
if (breastSizeIncreased < MaxBreastIncrement)
|
||||||
|
@ -299,7 +296,7 @@ namespace RJW_Menstruation
|
||||||
float newNippleProgress;
|
float newNippleProgress;
|
||||||
if (Pawn.ageTracker.BiologicalTicksPerTick <= 0f)
|
if (Pawn.ageTracker.BiologicalTicksPerTick <= 0f)
|
||||||
newNippleProgress = 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;
|
newNippleProgress = 1f;
|
||||||
else if (Pawn.IsRJWPregnant() || Pawn.IsBiotechPregnant())
|
else if (Pawn.IsRJWPregnant() || Pawn.IsBiotechPregnant())
|
||||||
newNippleProgress = nippleTransitions.Evaluate(Pawn.GetFarthestPregnancyProgress());
|
newNippleProgress = nippleTransitions.Evaluate(Pawn.GetFarthestPregnancyProgress());
|
||||||
|
|
Loading…
Reference in a new issue