mirror of
https://gitgud.io/lutepickle/rjw_menstruation.git
synced 2024-08-14 22:46:52 +00:00
Move average litter size to its own function. Have the biosculptor account for average litter size
This commit is contained in:
parent
546d121cde
commit
9e671b4a24
4 changed files with 22 additions and 24 deletions
Binary file not shown.
|
@ -198,20 +198,9 @@ namespace RJW_Menstruation
|
|||
get
|
||||
{
|
||||
if (opcache > 0) return opcache;
|
||||
float avglittersize;
|
||||
try
|
||||
{
|
||||
avglittersize = Mathf.Max(Rand.ByCurveAverage(Pawn.RaceProps.litterSizeCurve), 1.0f);
|
||||
}
|
||||
catch
|
||||
{
|
||||
// Any exceptions in that will have been reported elsewhere in the code by now
|
||||
avglittersize = 1.0f;
|
||||
};
|
||||
avglittersize *= ovulationFactor;
|
||||
const float yearsBeforeMenopause = 6.0f;
|
||||
opcache = (int)(RaceCyclesPerYear() *
|
||||
avglittersize *
|
||||
AverageLitterSize() *
|
||||
yearsBeforeMenopause *
|
||||
(Pawn.RaceProps.lifeExpectancy / ThingDefOf.Human.race.lifeExpectancy));
|
||||
if (opcache == 0) opcache = 1;
|
||||
|
@ -1220,6 +1209,21 @@ namespace RJW_Menstruation
|
|||
{
|
||||
}
|
||||
|
||||
protected float AverageLitterSize()
|
||||
{
|
||||
float avglittersize;
|
||||
try
|
||||
{
|
||||
avglittersize = Mathf.Max(Rand.ByCurveAverage(Pawn.RaceProps.litterSizeCurve), 1.0f);
|
||||
}
|
||||
catch (NullReferenceException)
|
||||
{
|
||||
avglittersize = 1.0f;
|
||||
}
|
||||
avglittersize *= ovulationFactor;
|
||||
return avglittersize;
|
||||
}
|
||||
|
||||
protected virtual float RaceCyclesPerYear()
|
||||
{
|
||||
int breedingSeasons = 0;
|
||||
|
@ -1242,16 +1246,7 @@ namespace RJW_Menstruation
|
|||
|
||||
public int GetOvaryPowerByAge()
|
||||
{
|
||||
float avglittersize;
|
||||
try
|
||||
{
|
||||
avglittersize = Mathf.Max(Rand.ByCurveAverage(Pawn.RaceProps.litterSizeCurve), 1.0f);
|
||||
}
|
||||
catch (NullReferenceException)
|
||||
{
|
||||
avglittersize = 1.0f;
|
||||
}
|
||||
avglittersize *= ovulationFactor;
|
||||
float avglittersize = AverageLitterSize();
|
||||
|
||||
float fertStartAge = Pawn.RaceProps.lifeStageAges?.Find(stage => stage.def.reproductive)?.minAge ?? 0.0f;
|
||||
float fertEndAge = Pawn.RaceProps.lifeExpectancy * (Pawn.IsAnimal() ? RJWPregnancySettings.fertility_endage_female_animal : RJWPregnancySettings.fertility_endage_female_humanlike);
|
||||
|
@ -1972,7 +1967,7 @@ namespace RJW_Menstruation
|
|||
|
||||
public int EggsRestoredPerBiosculptor(float yearsWorth)
|
||||
{
|
||||
return Math.Max(1, (int)((float)RaceCyclesPerYear() * yearsWorth));
|
||||
return Math.Max(1, (int)(RaceCyclesPerYear() * yearsWorth * AverageLitterSize()));
|
||||
}
|
||||
|
||||
public void RestoreEggs(float yearsWorth)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Manifest>
|
||||
<identifier>RJW Menstruation</identifier>
|
||||
<version>1.0.9.2</version>
|
||||
<version>1.0.9.3</version>
|
||||
<dependencies>
|
||||
</dependencies>
|
||||
<incompatibleWith />
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
Version 1.0.9.3
|
||||
- The biosculptor egg restoration cycle will now give more eggs to races that ovulate more than one egg at a time.
|
||||
|
||||
Version 1.0.9.2
|
||||
- Updated Traditional Chinese translation by Hydrogen.
|
||||
- Fixed the no bleeding gene having positive metabolic efficiency instead of negative.
|
||||
|
|
Loading…
Reference in a new issue