Compare commits

...

2 commits

4 changed files with 16 additions and 7 deletions

Binary file not shown.

View file

@ -57,7 +57,7 @@
<Option7_Label>Cycle acceleration</Option7_Label>
<Option7_Desc>Accelerate menstruation cycle&#10;This can cause early menopause and infertility.&#10;Setting this lower than x12 is recommended.&#10;Rimworld's timescale: x6(default)</Option7_Desc>
<Option8_Label>Debug</Option8_Label>
<Option8_Desc>Show debug information.&#10;Also overrides "Fetus information level" to All.</Option8_Desc>
<Option8_Desc>Show debug information.</Option8_Desc>
<Option9_Label>Womb status</Option9_Label>
<Option9_Desc>Draw womb icon in status window.</Option9_Desc>
<Option10_Label>Vagina and breast status</Option10_Label>
@ -68,7 +68,7 @@
<Option11_Desc_3>Show only image of a fetus after discovered pregnancy.</Option11_Desc_3>
<Option11_Desc_4>Do not show any information about a fetus.</Option11_Desc_4>
<Option12_Label>Enable menopause</Option12_Label>
<Option12_Desc>Enable menopause effect that makes pawn infertile in time progress&#10;If you have problems with long life races, turn off this option.</Option12_Desc>
<Option12_Desc>Enable menopause effect that makes pawn infertile when they run out of eggs&#10;If you have problems with long lived races, turn off this option.</Option12_Desc>
<Option13_Label>Use multiple pregnancy</Option13_Label>
<Option13_Desc>Use multiple pregnancy instead RJW's default pregnancy&#10;Disable this option if you are in trouble with impregnation&#10;RJW pregnancy should be turned on.</Option13_Desc>
<Option14_Label>Enable hetero ovular twins</Option14_Label>

View file

@ -246,8 +246,14 @@ namespace RJW_Menstruation
protected void CalculateBreastSize()
{
// Scenario A: the youngest child is less than halfway into babyhood: Full size
if (ageOfLastBirth + BabyHalfAge * GenDate.TicksPerYear > Pawn.ageTracker.AgeBiologicalTicks)
// Ageless pawns can't depend on the chrono age, so just disable their growth entirely
if (Pawn.ageTracker.BiologicalTicksPerTick <= 0f && breastSizeIncreased > 0)
{
ShrinkBreasts();
debugGrowthStatus = "Base size (ageless)";
}
// The youngest child is less than halfway into babyhood: Full size
else if (ageOfLastBirth + BabyHalfAge * GenDate.TicksPerYear > Pawn.ageTracker.AgeBiologicalTicks)
{
debugGrowthStatus = "Full size due to young child";
if (breastSizeIncreased < MaxBreastIncrement)
@ -256,7 +262,7 @@ namespace RJW_Menstruation
breastSizeIncreased = MaxBreastIncrement;
}
}
// Scenario B: Pregnant, grow in the second half of first trimester
// Pregnant, grow in the second half of first trimester
else if (Pawn.IsRJWPregnant() || Pawn.IsBiotechPregnant())
{
float pregnancySize = Mathf.InverseLerp(breastGrowthStart, breastGrowthEnd, Pawn.GetFarthestPregnancyProgress()) * MaxBreastIncrement;
@ -279,7 +285,7 @@ namespace RJW_Menstruation
}
else debugGrowthStatus = "Pregnant and full size";
}
// Scenario C: Not (or very early) pregnant and youngest child nonexistent or more than halfway into babyhood, time to shrink
// Not (or very early) pregnant and youngest child nonexistent or more than halfway into babyhood, time to shrink
else if (breastSizeIncreased > 0)
{
debugGrowthStatus = "Shrinking due to no pregnancy nor young child";
@ -291,7 +297,9 @@ namespace RJW_Menstruation
protected void CalculateNipples()
{
float newNippleProgress;
if (ageOfLastBirth + BabyHalfAge * GenDate.TicksPerYear > Pawn.ageTracker.AgeBiologicalTicks)
if (Pawn.ageTracker.BiologicalTicksPerTick <= 0f)
newNippleProgress = 0f;
else if (ageOfLastBirth + BabyHalfAge * GenDate.TicksPerYear > Pawn.ageTracker.AgeBiologicalTicks)
newNippleProgress = 1f;
else if (Pawn.IsRJWPregnant() || Pawn.IsBiotechPregnant())
newNippleProgress = nippleTransitions.Evaluate(Pawn.GetFarthestPregnancyProgress());

View file

@ -5,6 +5,7 @@ Version 1.0.8.5
- Some males will release small amounts of semen into a womb during vaginal sex before their actual ejaculation.
- Babies born from multiple pregnancy will properly produce the prompt to name them.
- Hopefully improve compatibility with xenotype inhertiance-altering mods for multiple pregnancy.
- Pawns that have stopped aging will no longer have larger breasts during and after pregnancy.
- Experimental "periodic ovulator" cycle type, currently not used. See Patches/Hediffs_Private_Parts_Animal.xml.
Version 1.0.8.4