mirror of
				https://gitgud.io/lutepickle/rjw_menstruation.git
				synced 2024-08-14 22:46:52 +00:00 
			
		
		
		
	New ovary power calculation for all vaginas. While at it, remove old deviation factor since it's obsolete, too.
This commit is contained in:
		
							parent
							
								
									eade57bd9e
								
							
						
					
					
						commit
						b2e26f2f1b
					
				
					 7 changed files with 72 additions and 64 deletions
				
			
		| 
						 | 
					@ -16,7 +16,6 @@
 | 
				
			||||||
					<maxCumCapacity>10</maxCumCapacity>
 | 
										<maxCumCapacity>10</maxCumCapacity>
 | 
				
			||||||
					<baseImplantationChanceFactor>1.0</baseImplantationChanceFactor>
 | 
										<baseImplantationChanceFactor>1.0</baseImplantationChanceFactor>
 | 
				
			||||||
					<basefertilizationChanceFactor>1.0</basefertilizationChanceFactor>
 | 
										<basefertilizationChanceFactor>1.0</basefertilizationChanceFactor>
 | 
				
			||||||
					<deviationFactor>0.05</deviationFactor>
 | 
					 | 
				
			||||||
					<follicularIntervalDays>14</follicularIntervalDays>
 | 
										<follicularIntervalDays>14</follicularIntervalDays>
 | 
				
			||||||
					<lutealIntervalDays>14</lutealIntervalDays>
 | 
										<lutealIntervalDays>14</lutealIntervalDays>
 | 
				
			||||||
					<bleedingIntervalDays>6</bleedingIntervalDays>
 | 
										<bleedingIntervalDays>6</bleedingIntervalDays>
 | 
				
			||||||
| 
						 | 
					@ -24,7 +23,6 @@
 | 
				
			||||||
					<eggLifespanDays>1</eggLifespanDays>
 | 
										<eggLifespanDays>1</eggLifespanDays>
 | 
				
			||||||
					<wombTex>Womb/Womb</wombTex>
 | 
										<wombTex>Womb/Womb</wombTex>
 | 
				
			||||||
					<vagTex>Genitals/Vagina</vagTex>
 | 
										<vagTex>Genitals/Vagina</vagTex>
 | 
				
			||||||
					<ovaryPower>420</ovaryPower>
 | 
					 | 
				
			||||||
					<concealedEstrus>true</concealedEstrus>
 | 
										<concealedEstrus>true</concealedEstrus>
 | 
				
			||||||
				</li>
 | 
									</li>
 | 
				
			||||||
			</comps>
 | 
								</comps>
 | 
				
			||||||
| 
						 | 
					@ -39,8 +37,7 @@
 | 
				
			||||||
				<li Class="RJW_Menstruation.CompProperties_Menstruation">
 | 
									<li Class="RJW_Menstruation.CompProperties_Menstruation">
 | 
				
			||||||
					<maxCumCapacity>10</maxCumCapacity>
 | 
										<maxCumCapacity>10</maxCumCapacity>
 | 
				
			||||||
					<baseImplantationChanceFactor>1.0</baseImplantationChanceFactor>
 | 
										<baseImplantationChanceFactor>1.0</baseImplantationChanceFactor>
 | 
				
			||||||
					<basefertilizationChanceFactor>1.0</basefertilizationChanceFactor>
 | 
										<basefertilizationChanceFactor>1.0</basefertilizationChanceFactor
 | 
				
			||||||
					<deviationFactor>0.05</deviationFactor>
 | 
					 | 
				
			||||||
					<follicularIntervalDays>14</follicularIntervalDays>
 | 
										<follicularIntervalDays>14</follicularIntervalDays>
 | 
				
			||||||
					<lutealIntervalDays>14</lutealIntervalDays>
 | 
										<lutealIntervalDays>14</lutealIntervalDays>
 | 
				
			||||||
					<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
										<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
				
			||||||
| 
						 | 
					@ -89,7 +86,6 @@
 | 
				
			||||||
					<maxCumCapacity>10</maxCumCapacity>
 | 
										<maxCumCapacity>10</maxCumCapacity>
 | 
				
			||||||
					<baseImplantationChanceFactor>2.0</baseImplantationChanceFactor>
 | 
										<baseImplantationChanceFactor>2.0</baseImplantationChanceFactor>
 | 
				
			||||||
					<basefertilizationChanceFactor>2.0</basefertilizationChanceFactor>
 | 
										<basefertilizationChanceFactor>2.0</basefertilizationChanceFactor>
 | 
				
			||||||
					<deviationFactor>0.05</deviationFactor>
 | 
					 | 
				
			||||||
					<follicularIntervalDays>14</follicularIntervalDays>
 | 
										<follicularIntervalDays>14</follicularIntervalDays>
 | 
				
			||||||
					<lutealIntervalDays>14</lutealIntervalDays>
 | 
										<lutealIntervalDays>14</lutealIntervalDays>
 | 
				
			||||||
					<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
										<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,7 +18,6 @@
 | 
				
			||||||
					<maxCumCapacity>8</maxCumCapacity>
 | 
										<maxCumCapacity>8</maxCumCapacity>
 | 
				
			||||||
					<baseImplantationChanceFactor>1.0</baseImplantationChanceFactor>
 | 
										<baseImplantationChanceFactor>1.0</baseImplantationChanceFactor>
 | 
				
			||||||
					<basefertilizationChanceFactor>1.0</basefertilizationChanceFactor>
 | 
										<basefertilizationChanceFactor>1.0</basefertilizationChanceFactor>
 | 
				
			||||||
					<deviationFactor>0.05</deviationFactor>
 | 
					 | 
				
			||||||
					<follicularIntervalDays>14</follicularIntervalDays>
 | 
										<follicularIntervalDays>14</follicularIntervalDays>
 | 
				
			||||||
					<lutealIntervalDays>166</lutealIntervalDays>
 | 
										<lutealIntervalDays>166</lutealIntervalDays>
 | 
				
			||||||
					<bleedingIntervalDays>8</bleedingIntervalDays>
 | 
										<bleedingIntervalDays>8</bleedingIntervalDays>
 | 
				
			||||||
| 
						 | 
					@ -40,7 +39,6 @@
 | 
				
			||||||
					<maxCumCapacity>6</maxCumCapacity>
 | 
										<maxCumCapacity>6</maxCumCapacity>
 | 
				
			||||||
					<baseImplantationChanceFactor>1.0</baseImplantationChanceFactor>
 | 
										<baseImplantationChanceFactor>1.0</baseImplantationChanceFactor>
 | 
				
			||||||
					<basefertilizationChanceFactor>2.0</basefertilizationChanceFactor>
 | 
										<basefertilizationChanceFactor>2.0</basefertilizationChanceFactor>
 | 
				
			||||||
					<deviationFactor>0.05</deviationFactor>
 | 
					 | 
				
			||||||
					<follicularIntervalDays>9</follicularIntervalDays>
 | 
										<follicularIntervalDays>9</follicularIntervalDays>
 | 
				
			||||||
					<lutealIntervalDays>10</lutealIntervalDays>
 | 
										<lutealIntervalDays>10</lutealIntervalDays>
 | 
				
			||||||
					<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
										<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
				
			||||||
| 
						 | 
					@ -63,7 +61,6 @@
 | 
				
			||||||
					<maxCumCapacity>25</maxCumCapacity>
 | 
										<maxCumCapacity>25</maxCumCapacity>
 | 
				
			||||||
					<baseImplantationChanceFactor>1.0</baseImplantationChanceFactor>
 | 
										<baseImplantationChanceFactor>1.0</baseImplantationChanceFactor>
 | 
				
			||||||
					<basefertilizationChanceFactor>1.0</basefertilizationChanceFactor>
 | 
										<basefertilizationChanceFactor>1.0</basefertilizationChanceFactor>
 | 
				
			||||||
					<deviationFactor>0.05</deviationFactor>
 | 
					 | 
				
			||||||
					<follicularIntervalDays>7</follicularIntervalDays>
 | 
										<follicularIntervalDays>7</follicularIntervalDays>
 | 
				
			||||||
					<lutealIntervalDays>14</lutealIntervalDays>
 | 
										<lutealIntervalDays>14</lutealIntervalDays>
 | 
				
			||||||
					<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
										<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
				
			||||||
| 
						 | 
					@ -87,7 +84,6 @@
 | 
				
			||||||
					<maxCumCapacity>50</maxCumCapacity>
 | 
										<maxCumCapacity>50</maxCumCapacity>
 | 
				
			||||||
					<baseImplantationChanceFactor>0.5</baseImplantationChanceFactor>
 | 
										<baseImplantationChanceFactor>0.5</baseImplantationChanceFactor>
 | 
				
			||||||
					<basefertilizationChanceFactor>0.2</basefertilizationChanceFactor>
 | 
										<basefertilizationChanceFactor>0.2</basefertilizationChanceFactor>
 | 
				
			||||||
					<deviationFactor>0.05</deviationFactor>
 | 
					 | 
				
			||||||
					<follicularIntervalDays>270</follicularIntervalDays>
 | 
										<follicularIntervalDays>270</follicularIntervalDays>
 | 
				
			||||||
					<lutealIntervalDays>30</lutealIntervalDays>
 | 
										<lutealIntervalDays>30</lutealIntervalDays>
 | 
				
			||||||
					<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
										<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
				
			||||||
| 
						 | 
					@ -109,7 +105,6 @@
 | 
				
			||||||
					<maxCumCapacity>10</maxCumCapacity>
 | 
										<maxCumCapacity>10</maxCumCapacity>
 | 
				
			||||||
					<baseImplantationChanceFactor>1.0</baseImplantationChanceFactor>
 | 
										<baseImplantationChanceFactor>1.0</baseImplantationChanceFactor>
 | 
				
			||||||
					<basefertilizationChanceFactor>1.0</basefertilizationChanceFactor>
 | 
										<basefertilizationChanceFactor>1.0</basefertilizationChanceFactor>
 | 
				
			||||||
					<deviationFactor>0.05</deviationFactor>
 | 
					 | 
				
			||||||
					<follicularIntervalDays>5</follicularIntervalDays>
 | 
										<follicularIntervalDays>5</follicularIntervalDays>
 | 
				
			||||||
					<lutealIntervalDays>16</lutealIntervalDays>
 | 
										<lutealIntervalDays>16</lutealIntervalDays>
 | 
				
			||||||
					<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
										<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
				
			||||||
| 
						 | 
					@ -131,7 +126,6 @@
 | 
				
			||||||
					<maxCumCapacity>5</maxCumCapacity>
 | 
										<maxCumCapacity>5</maxCumCapacity>
 | 
				
			||||||
					<baseImplantationChanceFactor>1.0</baseImplantationChanceFactor>
 | 
										<baseImplantationChanceFactor>1.0</baseImplantationChanceFactor>
 | 
				
			||||||
					<basefertilizationChanceFactor>2.0</basefertilizationChanceFactor>
 | 
										<basefertilizationChanceFactor>2.0</basefertilizationChanceFactor>
 | 
				
			||||||
					<deviationFactor>0.05</deviationFactor>
 | 
					 | 
				
			||||||
					<follicularIntervalDays>6</follicularIntervalDays>
 | 
										<follicularIntervalDays>6</follicularIntervalDays>
 | 
				
			||||||
					<lutealIntervalDays>9</lutealIntervalDays>
 | 
										<lutealIntervalDays>9</lutealIntervalDays>
 | 
				
			||||||
					<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
										<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
				
			||||||
| 
						 | 
					@ -153,7 +147,6 @@
 | 
				
			||||||
					<maxCumCapacity>5</maxCumCapacity>
 | 
										<maxCumCapacity>5</maxCumCapacity>
 | 
				
			||||||
					<baseImplantationChanceFactor>2.0</baseImplantationChanceFactor>
 | 
										<baseImplantationChanceFactor>2.0</baseImplantationChanceFactor>
 | 
				
			||||||
					<basefertilizationChanceFactor>2.0</basefertilizationChanceFactor>
 | 
										<basefertilizationChanceFactor>2.0</basefertilizationChanceFactor>
 | 
				
			||||||
					<deviationFactor>0.05</deviationFactor>
 | 
					 | 
				
			||||||
					<follicularIntervalDays>12</follicularIntervalDays>
 | 
										<follicularIntervalDays>12</follicularIntervalDays>
 | 
				
			||||||
					<lutealIntervalDays>9</lutealIntervalDays>
 | 
										<lutealIntervalDays>9</lutealIntervalDays>
 | 
				
			||||||
					<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
										<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
				
			||||||
| 
						 | 
					@ -175,7 +168,6 @@
 | 
				
			||||||
					<maxCumCapacity>10</maxCumCapacity>
 | 
										<maxCumCapacity>10</maxCumCapacity>
 | 
				
			||||||
					<baseImplantationChanceFactor>2.0</baseImplantationChanceFactor>
 | 
										<baseImplantationChanceFactor>2.0</baseImplantationChanceFactor>
 | 
				
			||||||
					<basefertilizationChanceFactor>2.0</basefertilizationChanceFactor>
 | 
										<basefertilizationChanceFactor>2.0</basefertilizationChanceFactor>
 | 
				
			||||||
					<deviationFactor>0.05</deviationFactor>
 | 
					 | 
				
			||||||
					<follicularIntervalDays>14</follicularIntervalDays>
 | 
										<follicularIntervalDays>14</follicularIntervalDays>
 | 
				
			||||||
					<lutealIntervalDays>14</lutealIntervalDays>
 | 
										<lutealIntervalDays>14</lutealIntervalDays>
 | 
				
			||||||
					<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
										<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,7 +18,6 @@
 | 
				
			||||||
					<maxCumCapacity>18</maxCumCapacity>
 | 
										<maxCumCapacity>18</maxCumCapacity>
 | 
				
			||||||
					<baseImplantationChanceFactor>1.0</baseImplantationChanceFactor>
 | 
										<baseImplantationChanceFactor>1.0</baseImplantationChanceFactor>
 | 
				
			||||||
					<basefertilizationChanceFactor>1.0</basefertilizationChanceFactor>
 | 
										<basefertilizationChanceFactor>1.0</basefertilizationChanceFactor>
 | 
				
			||||||
					<deviationFactor>0.05</deviationFactor>
 | 
					 | 
				
			||||||
					<follicularIntervalDays>10</follicularIntervalDays>
 | 
										<follicularIntervalDays>10</follicularIntervalDays>
 | 
				
			||||||
					<lutealIntervalDays>10</lutealIntervalDays>
 | 
										<lutealIntervalDays>10</lutealIntervalDays>
 | 
				
			||||||
					<bleedingIntervalDays>4</bleedingIntervalDays>
 | 
										<bleedingIntervalDays>4</bleedingIntervalDays>
 | 
				
			||||||
| 
						 | 
					@ -40,7 +39,6 @@
 | 
				
			||||||
					<maxCumCapacity>8</maxCumCapacity>
 | 
										<maxCumCapacity>8</maxCumCapacity>
 | 
				
			||||||
					<baseImplantationChanceFactor>1.0</baseImplantationChanceFactor>
 | 
										<baseImplantationChanceFactor>1.0</baseImplantationChanceFactor>
 | 
				
			||||||
					<basefertilizationChanceFactor>1.0</basefertilizationChanceFactor>
 | 
										<basefertilizationChanceFactor>1.0</basefertilizationChanceFactor>
 | 
				
			||||||
					<deviationFactor>0.05</deviationFactor>
 | 
					 | 
				
			||||||
					<follicularIntervalDays>8</follicularIntervalDays>
 | 
										<follicularIntervalDays>8</follicularIntervalDays>
 | 
				
			||||||
					<lutealIntervalDays>12</lutealIntervalDays>
 | 
										<lutealIntervalDays>12</lutealIntervalDays>
 | 
				
			||||||
					<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
										<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
				
			||||||
| 
						 | 
					@ -62,7 +60,6 @@
 | 
				
			||||||
					<maxCumCapacity>15</maxCumCapacity>
 | 
										<maxCumCapacity>15</maxCumCapacity>
 | 
				
			||||||
					<baseImplantationChanceFactor>1.0</baseImplantationChanceFactor>
 | 
										<baseImplantationChanceFactor>1.0</baseImplantationChanceFactor>
 | 
				
			||||||
					<basefertilizationChanceFactor>1.0</basefertilizationChanceFactor>
 | 
										<basefertilizationChanceFactor>1.0</basefertilizationChanceFactor>
 | 
				
			||||||
					<deviationFactor>0.05</deviationFactor>
 | 
					 | 
				
			||||||
					<follicularIntervalDays>10</follicularIntervalDays>
 | 
										<follicularIntervalDays>10</follicularIntervalDays>
 | 
				
			||||||
					<lutealIntervalDays>12</lutealIntervalDays>
 | 
										<lutealIntervalDays>12</lutealIntervalDays>
 | 
				
			||||||
					<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
										<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
				
			||||||
| 
						 | 
					@ -84,7 +81,6 @@
 | 
				
			||||||
					<maxCumCapacity>8</maxCumCapacity>
 | 
										<maxCumCapacity>8</maxCumCapacity>
 | 
				
			||||||
					<baseImplantationChanceFactor>1.0</baseImplantationChanceFactor>
 | 
										<baseImplantationChanceFactor>1.0</baseImplantationChanceFactor>
 | 
				
			||||||
					<basefertilizationChanceFactor>1.0</basefertilizationChanceFactor>
 | 
										<basefertilizationChanceFactor>1.0</basefertilizationChanceFactor>
 | 
				
			||||||
					<deviationFactor>0.05</deviationFactor>
 | 
					 | 
				
			||||||
					<follicularIntervalDays>6</follicularIntervalDays>
 | 
										<follicularIntervalDays>6</follicularIntervalDays>
 | 
				
			||||||
					<lutealIntervalDays>12</lutealIntervalDays>
 | 
										<lutealIntervalDays>12</lutealIntervalDays>
 | 
				
			||||||
					<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
										<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
				
			||||||
| 
						 | 
					@ -106,7 +102,6 @@
 | 
				
			||||||
					<maxCumCapacity>12</maxCumCapacity>
 | 
										<maxCumCapacity>12</maxCumCapacity>
 | 
				
			||||||
					<baseImplantationChanceFactor>1.0</baseImplantationChanceFactor>
 | 
										<baseImplantationChanceFactor>1.0</baseImplantationChanceFactor>
 | 
				
			||||||
					<basefertilizationChanceFactor>1.0</basefertilizationChanceFactor>
 | 
										<basefertilizationChanceFactor>1.0</basefertilizationChanceFactor>
 | 
				
			||||||
					<deviationFactor>0.05</deviationFactor>
 | 
					 | 
				
			||||||
					<follicularIntervalDays>14</follicularIntervalDays>
 | 
										<follicularIntervalDays>14</follicularIntervalDays>
 | 
				
			||||||
					<lutealIntervalDays>20</lutealIntervalDays>
 | 
										<lutealIntervalDays>20</lutealIntervalDays>
 | 
				
			||||||
					<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
										<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
				
			||||||
| 
						 | 
					@ -128,7 +123,6 @@
 | 
				
			||||||
					<maxCumCapacity>2</maxCumCapacity>
 | 
										<maxCumCapacity>2</maxCumCapacity>
 | 
				
			||||||
					<baseImplantationChanceFactor>0.1</baseImplantationChanceFactor>
 | 
										<baseImplantationChanceFactor>0.1</baseImplantationChanceFactor>
 | 
				
			||||||
					<basefertilizationChanceFactor>0.1</basefertilizationChanceFactor>
 | 
										<basefertilizationChanceFactor>0.1</basefertilizationChanceFactor>
 | 
				
			||||||
					<deviationFactor>0.05</deviationFactor>
 | 
					 | 
				
			||||||
					<follicularIntervalDays>14</follicularIntervalDays>
 | 
										<follicularIntervalDays>14</follicularIntervalDays>
 | 
				
			||||||
					<lutealIntervalDays>14</lutealIntervalDays>
 | 
										<lutealIntervalDays>14</lutealIntervalDays>
 | 
				
			||||||
					<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
										<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
				
			||||||
| 
						 | 
					@ -150,7 +144,6 @@
 | 
				
			||||||
					<maxCumCapacity>10</maxCumCapacity>
 | 
										<maxCumCapacity>10</maxCumCapacity>
 | 
				
			||||||
					<baseImplantationChanceFactor>0.1</baseImplantationChanceFactor>
 | 
										<baseImplantationChanceFactor>0.1</baseImplantationChanceFactor>
 | 
				
			||||||
					<basefertilizationChanceFactor>0.1</basefertilizationChanceFactor>
 | 
										<basefertilizationChanceFactor>0.1</basefertilizationChanceFactor>
 | 
				
			||||||
					<deviationFactor>0.05</deviationFactor>
 | 
					 | 
				
			||||||
					<follicularIntervalDays>14</follicularIntervalDays>
 | 
										<follicularIntervalDays>14</follicularIntervalDays>
 | 
				
			||||||
					<lutealIntervalDays>14</lutealIntervalDays>
 | 
										<lutealIntervalDays>14</lutealIntervalDays>
 | 
				
			||||||
					<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
										<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -16,7 +16,6 @@
 | 
				
			||||||
					<maxCumCapacity>10</maxCumCapacity>
 | 
										<maxCumCapacity>10</maxCumCapacity>
 | 
				
			||||||
					<baseImplantationChanceFactor>1.0</baseImplantationChanceFactor>
 | 
										<baseImplantationChanceFactor>1.0</baseImplantationChanceFactor>
 | 
				
			||||||
					<basefertilizationChanceFactor>1.0</basefertilizationChanceFactor>
 | 
										<basefertilizationChanceFactor>1.0</basefertilizationChanceFactor>
 | 
				
			||||||
					<deviationFactor>0.05</deviationFactor>
 | 
					 | 
				
			||||||
					<follicularIntervalDays>1800</follicularIntervalDays>
 | 
										<follicularIntervalDays>1800</follicularIntervalDays>
 | 
				
			||||||
					<lutealIntervalDays>1800</lutealIntervalDays>
 | 
										<lutealIntervalDays>1800</lutealIntervalDays>
 | 
				
			||||||
					<bleedingIntervalDays>6</bleedingIntervalDays>
 | 
										<bleedingIntervalDays>6</bleedingIntervalDays>
 | 
				
			||||||
| 
						 | 
					@ -24,7 +23,6 @@
 | 
				
			||||||
					<eggLifespanDays>1</eggLifespanDays>
 | 
										<eggLifespanDays>1</eggLifespanDays>
 | 
				
			||||||
					<wombTex>Womb/Womb</wombTex>
 | 
										<wombTex>Womb/Womb</wombTex>
 | 
				
			||||||
					<vagTex>Genitals/Vagina</vagTex>
 | 
										<vagTex>Genitals/Vagina</vagTex>
 | 
				
			||||||
					<ovaryPower>620</ovaryPower>
 | 
					 | 
				
			||||||
					<concealedEstrus>true</concealedEstrus>
 | 
										<concealedEstrus>true</concealedEstrus>
 | 
				
			||||||
				</li>
 | 
									</li>
 | 
				
			||||||
			</comps>
 | 
								</comps>
 | 
				
			||||||
| 
						 | 
					@ -50,7 +48,6 @@
 | 
				
			||||||
					<maxCumCapacity>10</maxCumCapacity>
 | 
										<maxCumCapacity>10</maxCumCapacity>
 | 
				
			||||||
					<baseImplantationChanceFactor>1.0</baseImplantationChanceFactor>
 | 
										<baseImplantationChanceFactor>1.0</baseImplantationChanceFactor>
 | 
				
			||||||
					<basefertilizationChanceFactor>1.0</basefertilizationChanceFactor>
 | 
										<basefertilizationChanceFactor>1.0</basefertilizationChanceFactor>
 | 
				
			||||||
					<deviationFactor>0.05</deviationFactor>
 | 
					 | 
				
			||||||
					<follicularIntervalDays>7</follicularIntervalDays>
 | 
										<follicularIntervalDays>7</follicularIntervalDays>
 | 
				
			||||||
					<lutealIntervalDays>10</lutealIntervalDays>
 | 
										<lutealIntervalDays>10</lutealIntervalDays>
 | 
				
			||||||
					<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
										<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
				
			||||||
| 
						 | 
					@ -58,7 +55,6 @@
 | 
				
			||||||
					<eggLifespanDays>1</eggLifespanDays>
 | 
										<eggLifespanDays>1</eggLifespanDays>
 | 
				
			||||||
					<wombTex>Womb/Womb</wombTex>
 | 
										<wombTex>Womb/Womb</wombTex>
 | 
				
			||||||
					<vagTex>Genitals/Vagina</vagTex>
 | 
										<vagTex>Genitals/Vagina</vagTex>
 | 
				
			||||||
					<ovaryPower>620</ovaryPower>
 | 
					 | 
				
			||||||
					<concealedEstrus>true</concealedEstrus>
 | 
										<concealedEstrus>true</concealedEstrus>
 | 
				
			||||||
				</li>
 | 
									</li>
 | 
				
			||||||
			</comps>
 | 
								</comps>
 | 
				
			||||||
| 
						 | 
					@ -86,7 +82,6 @@
 | 
				
			||||||
					<maxCumCapacity>10</maxCumCapacity>
 | 
										<maxCumCapacity>10</maxCumCapacity>
 | 
				
			||||||
					<baseImplantationChanceFactor>0.2</baseImplantationChanceFactor>
 | 
										<baseImplantationChanceFactor>0.2</baseImplantationChanceFactor>
 | 
				
			||||||
					<basefertilizationChanceFactor>0.2</basefertilizationChanceFactor>
 | 
										<basefertilizationChanceFactor>0.2</basefertilizationChanceFactor>
 | 
				
			||||||
					<deviationFactor>0.05</deviationFactor>
 | 
					 | 
				
			||||||
					<follicularIntervalDays>14</follicularIntervalDays>
 | 
										<follicularIntervalDays>14</follicularIntervalDays>
 | 
				
			||||||
					<lutealIntervalDays>14</lutealIntervalDays>
 | 
										<lutealIntervalDays>14</lutealIntervalDays>
 | 
				
			||||||
					<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
										<bleedingIntervalDays>0</bleedingIntervalDays>
 | 
				
			||||||
| 
						 | 
					@ -94,7 +89,6 @@
 | 
				
			||||||
					<eggLifespanDays>1</eggLifespanDays>
 | 
										<eggLifespanDays>1</eggLifespanDays>
 | 
				
			||||||
					<wombTex>Womb/Womb</wombTex>
 | 
										<wombTex>Womb/Womb</wombTex>
 | 
				
			||||||
					<vagTex>Genitals/Vagina</vagTex>
 | 
										<vagTex>Genitals/Vagina</vagTex>
 | 
				
			||||||
					<ovaryPower>420</ovaryPower>
 | 
					 | 
				
			||||||
					<concealedEstrus>true</concealedEstrus>
 | 
										<concealedEstrus>true</concealedEstrus>
 | 
				
			||||||
				</li>
 | 
									</li>
 | 
				
			||||||
			</comps>
 | 
								</comps>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -62,7 +62,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
        [DebugAction("RJW Menstruation", "Recalculate pawn's ovary power", false, false, actionType = DebugActionType.ToolMapForPawns, allowedGameStates = AllowedGameStates.Playing)]
 | 
					        [DebugAction("RJW Menstruation", "Recalculate pawn's ovary power", false, false, actionType = DebugActionType.ToolMapForPawns, allowedGameStates = AllowedGameStates.Playing)]
 | 
				
			||||||
        private static void RecalculateOvaryPower(Pawn p)
 | 
					        private static void RecalculateOvaryPower(Pawn p)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            p.GetMenstruationComp().ovarypower = p.GetMenstruationComp().GetOvaryPowerByAge(p);
 | 
					            p.GetMenstruationComp().ovarypower = p.GetMenstruationComp().GetOvaryPowerByAge();
 | 
				
			||||||
            Messages.Message($"{p}'s ovarypower recalculated ({p.GetMenstruationComp().ovarypower})", MessageTypeDefOf.NeutralEvent, false);
 | 
					            Messages.Message($"{p}'s ovarypower recalculated ({p.GetMenstruationComp().ovarypower})", MessageTypeDefOf.NeutralEvent, false);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -36,6 +36,29 @@ namespace RJW_Menstruation
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // The maximum theoretical rate of ovulation is inducing the moment it goes follicular and no pregnancies
 | 
				
			||||||
 | 
					        // There will be far more eggs than will ever actually be produced, but it fits the induced ovulator philosophy
 | 
				
			||||||
 | 
					        protected override float RaceCyclesPerYear()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            int breedingSeasons = 0;
 | 
				
			||||||
 | 
					            if (Props.breedingSeason == SeasonalBreed.Always) breedingSeasons = 4;
 | 
				
			||||||
 | 
					            else
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if ((Props.breedingSeason & SeasonalBreed.Spring) != 0) breedingSeasons++;
 | 
				
			||||||
 | 
					                if ((Props.breedingSeason & SeasonalBreed.Summer) != 0) breedingSeasons++;
 | 
				
			||||||
 | 
					                if ((Props.breedingSeason & SeasonalBreed.Fall) != 0) breedingSeasons++;
 | 
				
			||||||
 | 
					                if ((Props.breedingSeason & SeasonalBreed.Winter) != 0) breedingSeasons++;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            float breedingRatio = breedingSeasons / 4.0f;
 | 
				
			||||||
 | 
					            return breedingRatio * GenDate.DaysPerYear / ((float)Props.lutealIntervalDays / Configurations.CycleAccelerationDefault);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // There's really no good way to estimate the number of times it's been induced, so this is all we can do
 | 
				
			||||||
 | 
					        protected override int PawnEggsUsed(int pawnCyclesElapsed, float avglittersize)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            return 0;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        protected override void FollicularAction(bool climacteric)
 | 
					        protected override void FollicularAction(bool climacteric)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            if (climacteric && !Configurations.EnableMenopause)
 | 
					            if (climacteric && !Configurations.EnableMenopause)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -27,7 +27,6 @@ namespace RJW_Menstruation
 | 
				
			||||||
        public float maxCumCapacity; // ml
 | 
					        public float maxCumCapacity; // ml
 | 
				
			||||||
        public float baseImplantationChanceFactor;
 | 
					        public float baseImplantationChanceFactor;
 | 
				
			||||||
        public float basefertilizationChanceFactor;
 | 
					        public float basefertilizationChanceFactor;
 | 
				
			||||||
        public float deviationFactor;
 | 
					 | 
				
			||||||
        public int follicularIntervalDays = 14; //before ovulation including beginning of bleeding
 | 
					        public int follicularIntervalDays = 14; //before ovulation including beginning of bleeding
 | 
				
			||||||
        public int lutealIntervalDays = 14; //after ovulation until bleeding
 | 
					        public int lutealIntervalDays = 14; //after ovulation until bleeding
 | 
				
			||||||
        public int bleedingIntervalDays = 6; //must be less than folicularIntervalDays
 | 
					        public int bleedingIntervalDays = 6; //must be less than folicularIntervalDays
 | 
				
			||||||
| 
						 | 
					@ -36,7 +35,6 @@ namespace RJW_Menstruation
 | 
				
			||||||
        public string wombTex = "Womb/Womb"; //fertiledays = ovaluationday - spermlifespan ~ ovaluationday + egglifespanday
 | 
					        public string wombTex = "Womb/Womb"; //fertiledays = ovaluationday - spermlifespan ~ ovaluationday + egglifespanday
 | 
				
			||||||
        public string vagTex = "Genitals/Vagina"; //fertiledays = ovaluationday - spermlifespan ~ ovaluationday + egglifespanday
 | 
					        public string vagTex = "Genitals/Vagina"; //fertiledays = ovaluationday - spermlifespan ~ ovaluationday + egglifespanday
 | 
				
			||||||
        public bool infertile = false;
 | 
					        public bool infertile = false;
 | 
				
			||||||
        public int ovaryPower = 600000000; // default: almost unlimited ovulation 
 | 
					 | 
				
			||||||
        public bool concealedEstrus = false;
 | 
					        public bool concealedEstrus = false;
 | 
				
			||||||
        public SeasonalBreed breedingSeason = SeasonalBreed.Always;
 | 
					        public SeasonalBreed breedingSeason = SeasonalBreed.Always;
 | 
				
			||||||
        public int estrusDaysBeforeOvulation = 3;
 | 
					        public int estrusDaysBeforeOvulation = 3;
 | 
				
			||||||
| 
						 | 
					@ -946,35 +944,52 @@ namespace RJW_Menstruation
 | 
				
			||||||
            loaded = true;
 | 
					            loaded = true;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public int GetOvaryPowerByAge(Pawn pawn)
 | 
					        protected virtual float RaceCyclesPerYear()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            int power;
 | 
					            int breedingSeasons = 0;
 | 
				
			||||||
 | 
					            if (Props.breedingSeason == SeasonalBreed.Always) breedingSeasons = 4;
 | 
				
			||||||
 | 
					            else
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if ((Props.breedingSeason & SeasonalBreed.Spring) != 0) breedingSeasons++;
 | 
				
			||||||
 | 
					                if ((Props.breedingSeason & SeasonalBreed.Summer) != 0) breedingSeasons++;
 | 
				
			||||||
 | 
					                if ((Props.breedingSeason & SeasonalBreed.Fall) != 0) breedingSeasons++;
 | 
				
			||||||
 | 
					                if ((Props.breedingSeason & SeasonalBreed.Winter) != 0) breedingSeasons++;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            float breedingRatio = breedingSeasons / 4.0f;
 | 
				
			||||||
 | 
					            return breedingRatio * GenDate.DaysPerYear / ((float)(Props.follicularIntervalDays + Props.lutealIntervalDays) / Configurations.CycleAccelerationDefault);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        protected virtual int PawnEggsUsed(int pawnCyclesElapsed, float avglittersize)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            return (int)(pawnCyclesElapsed * avglittersize);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public int GetOvaryPowerByAge()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            Pawn pawn = parent.pawn;
 | 
				
			||||||
            float avglittersize;
 | 
					            float avglittersize;
 | 
				
			||||||
            try
 | 
					            try
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                if (pawn.def.race.litterSizeCurve.Points.Count < 3) avglittersize = 1;  // Account for busted littersizecurves
 | 
					                avglittersize = Mathf.Min(Rand.ByCurveAverage(pawn.def.race.litterSizeCurve), 1.0f);
 | 
				
			||||||
                else avglittersize = Rand.ByCurveAverage(pawn.def.race.litterSizeCurve);
 | 
					 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            catch (NullReferenceException)
 | 
					            catch (NullReferenceException)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                avglittersize = 1;
 | 
					                avglittersize = 1.0f;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            //Old one. Sex minimum age based.
 | 
					            float fertStartAge = pawn.RaceProps.lifeStageAges?.Find(stage => stage.def.reproductive)?.minAge ?? 0.0f;
 | 
				
			||||||
            //ovarypower = (int)(((Props.ovaryPower * Utility.RandGaussianLike(0.70f, 1.30f) * parent.pawn.def.race.lifeExpectancy / ThingDefOf.Human.race.lifeExpectancy)
 | 
					            float fertEndAge = pawn.RaceProps.lifeExpectancy * (pawn.IsAnimal() ? RJWPregnancySettings.fertility_endage_female_animal : RJWPregnancySettings.fertility_endage_female_humanlike);
 | 
				
			||||||
            //    - (Math.Max(0, ageYear - RJWSettings.sex_minimum_age * parent.pawn.def.race.lifeExpectancy / ThingDefOf.Human.race.lifeExpectancy))
 | 
					            if (fertEndAge < fertStartAge) fertEndAge = fertStartAge;
 | 
				
			||||||
            //    * (60 / (Props.folicularIntervalDays + Props.lutealIntervalDays) * Configurations.CycleAcceleration)) * avglittersize);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            //New one. 
 | 
					            float raceCyclesPerYear = RaceCyclesPerYear();
 | 
				
			||||||
            float fertendage, lifenormalized;
 | 
					            int lifetimeCycles = (int)(raceCyclesPerYear * (fertEndAge - fertStartAge));
 | 
				
			||||||
            if (pawn.IsAnimal()) fertendage = RJWPregnancySettings.fertility_endage_female_animal * 100f;
 | 
					            int lifetimeEggs = (int)(lifetimeCycles * avglittersize * Utility.RandGaussianLike(0.70f, 1.30f, 5));
 | 
				
			||||||
            else fertendage = RJWPregnancySettings.fertility_endage_female_humanlike * 80f;
 | 
					 | 
				
			||||||
            lifenormalized = pawn.def.race.lifeExpectancy / ThingDefOf.Human.race.lifeExpectancy;
 | 
					 | 
				
			||||||
            fertendage *= lifenormalized;
 | 
					 | 
				
			||||||
            power = (int)((fertendage - pawn.ageTracker.AgeBiologicalYearsFloat) * (60f / (Props.follicularIntervalDays + Props.lutealIntervalDays) * Configurations.CycleAcceleration) * avglittersize);
 | 
					 | 
				
			||||||
            power = (int)Mathf.Max(0, Mathf.Min(Props.ovaryPower * Utility.RandGaussianLike(0.70f, 1.30f, 5) * lifenormalized, power));
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            return power;
 | 
					            float pawnCyclesPerYear = raceCyclesPerYear / cycleSpeed;
 | 
				
			||||||
 | 
					            int pawnCyclesElapsed = (int)Mathf.Max((pawn.ageTracker.AgeBiologicalYearsFloat - fertStartAge) * pawnCyclesPerYear, 0.0f);
 | 
				
			||||||
 | 
					            int pawnEggsUsed = PawnEggsUsed(pawnCyclesElapsed, avglittersize);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            return Math.Max(lifetimeEggs - pawnEggsUsed, 0);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        protected void InitOvary()
 | 
					        protected void InitOvary()
 | 
				
			||||||
| 
						 | 
					@ -985,24 +1000,19 @@ namespace RJW_Menstruation
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            else if (ovarypower < -50000)
 | 
					            else if (ovarypower < -50000)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                if (Props.ovaryPower > 10000000) ovarypower = Props.ovaryPower;
 | 
					                ovarypower = GetOvaryPowerByAge();
 | 
				
			||||||
                else
 | 
					                if (ovarypower < 1)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    ovarypower = GetOvaryPowerByAge(parent.pawn);
 | 
					                    Hediff hediff = HediffMaker.MakeHediff(VariousDefOf.Hediff_Menopause, parent.pawn);
 | 
				
			||||||
                    if (ovarypower < 1)
 | 
					                    hediff.Severity = 0.2f;
 | 
				
			||||||
                    {
 | 
					                    parent.pawn.health.AddHediff(hediff, Genital_Helper.get_genitalsBPR(parent.pawn));
 | 
				
			||||||
                        Hediff hediff = HediffMaker.MakeHediff(VariousDefOf.Hediff_Menopause, parent.pawn);
 | 
					                    curStage = Stage.Young;
 | 
				
			||||||
                        hediff.Severity = 0.2f;
 | 
					                }
 | 
				
			||||||
                        parent.pawn.health.AddHediff(hediff, Genital_Helper.get_genitalsBPR(parent.pawn));
 | 
					                else if (ovarypower < OvaryPowerThreshold)
 | 
				
			||||||
                        curStage = Stage.Young;
 | 
					                {
 | 
				
			||||||
                    }
 | 
					                    Hediff hediff = HediffMaker.MakeHediff(VariousDefOf.Hediff_Climacteric, parent.pawn);
 | 
				
			||||||
                    else if (ovarypower < OvaryPowerThreshold)
 | 
					                    hediff.Severity = 0.008f * (OvaryPowerThreshold - ovarypower);
 | 
				
			||||||
                    {
 | 
					                    parent.pawn.health.AddHediff(hediff, Genital_Helper.get_genitalsBPR(parent.pawn));
 | 
				
			||||||
                        Hediff hediff = HediffMaker.MakeHediff(VariousDefOf.Hediff_Climacteric, parent.pawn);
 | 
					 | 
				
			||||||
                        hediff.Severity = 0.008f * (OvaryPowerThreshold - ovarypower);
 | 
					 | 
				
			||||||
                        parent.pawn.health.AddHediff(hediff, Genital_Helper.get_genitalsBPR(parent.pawn));
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue