1.0.1.8
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 | 
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 | 
				
			||||||
<Manifest>
 | 
					<Manifest>
 | 
				
			||||||
	<identifier>RJW Menstruation</identifier>
 | 
						<identifier>RJW Menstruation</identifier>
 | 
				
			||||||
	<version>1.0.1.6</version>
 | 
						<version>1.0.1.8</version>
 | 
				
			||||||
	<dependencies>
 | 
						<dependencies>
 | 
				
			||||||
	</dependencies>
 | 
						</dependencies>
 | 
				
			||||||
	<incompatibleWith />
 | 
						<incompatibleWith />
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
	<JobDef Name="VaginaWashing">
 | 
						<JobDef Name="VaginaWashing">
 | 
				
			||||||
		<defName>VaginaWashing</defName>
 | 
							<defName>VaginaWashing</defName>
 | 
				
			||||||
		<driverClass>RJW_Menstruation.JobDriver_VaginaWashing</driverClass>
 | 
							<driverClass>RJW_Menstruation.JobDriver_VaginaWashing</driverClass>
 | 
				
			||||||
		<reportString>wasing vagina</reportString>
 | 
							<reportString>washing vagina</reportString>
 | 
				
			||||||
		<casualInterruptible>true</casualInterruptible>
 | 
							<casualInterruptible>true</casualInterruptible>
 | 
				
			||||||
	</JobDef>
 | 
						</JobDef>
 | 
				
			||||||
</Defs>
 | 
					</Defs>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,4 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<LanguageData>
 | 
				
			||||||
 | 
					  <Absorber.label>生殖器</Absorber.label>
 | 
				
			||||||
 | 
					</LanguageData>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,22 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<LanguageData>
 | 
				
			||||||
 | 
					  <Hediff_MenstrualCramp.label>中枢性疼痛</Hediff_MenstrualCramp.label>
 | 
				
			||||||
 | 
					  <Hediff_MenstrualCramp.description>经期中</Hediff_MenstrualCramp.description>
 | 
				
			||||||
 | 
					  <Hediff_MenstrualCramp.stages.0.label>不快</Hediff_MenstrualCramp.stages.0.label>
 | 
				
			||||||
 | 
					  <Hediff_MenstrualCramp.stages.1.label>恼人</Hediff_MenstrualCramp.stages.1.label>
 | 
				
			||||||
 | 
					  <Hediff_MenstrualCramp.stages.2.label>疼痛</Hediff_MenstrualCramp.stages.2.label>
 | 
				
			||||||
 | 
					  <Hediff_MenstrualCramp.stages.3.label>痛苦</Hediff_MenstrualCramp.stages.3.label>
 | 
				
			||||||
 | 
					  <Hediff_Climacteric.label>更年期</Hediff_Climacteric.label>
 | 
				
			||||||
 | 
					  <Hediff_Climacteric.description>到了更年期</Hediff_Climacteric.description>
 | 
				
			||||||
 | 
					  <Hediff_Climacteric.stages.0.label>初期</Hediff_Climacteric.stages.0.label>
 | 
				
			||||||
 | 
					  <Hediff_Climacteric.stages.1.label>中期</Hediff_Climacteric.stages.1.label>
 | 
				
			||||||
 | 
					  <Hediff_Climacteric.stages.2.label>后期</Hediff_Climacteric.stages.2.label>
 | 
				
			||||||
 | 
					  <Hediff_Climacteric.stages.3.label>更年期</Hediff_Climacteric.stages.3.label>
 | 
				
			||||||
 | 
					  <Hediff_Menopause.label>更年期</Hediff_Menopause.label>
 | 
				
			||||||
 | 
					  <Hediff_Menopause.description>不孕</Hediff_Menopause.description>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</LanguageData>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,7 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<LanguageData>
 | 
				
			||||||
 | 
					  <VaginaWashing.reportString>清洗阴道</VaginaWashing.reportString>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					</LanguageData>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,7 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<LanguageData>
 | 
				
			||||||
 | 
					  <MaxAbsorbable.label>可吸收量</MaxAbsorbable.label>
 | 
				
			||||||
 | 
					  <MaxAbsorbable.description>最大可吸收的液体量</MaxAbsorbable.description>
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					</LanguageData>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,31 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="UTF-8"?>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<LanguageData>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<Absorber_Tampon.label>卫生棉条</Absorber_Tampon.label>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<Absorber_Tampon.description>从阴道吸收液体的卫生棉条</Absorber_Tampon.description>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<Absorber_Tampon_Dirty.label>湿的卫生棉条</Absorber_Tampon_Dirty.label>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<Absorber_Tampon_Dirty.description>使用过的湿卫生棉条</Absorber_Tampon_Dirty.description>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<Absorber_Pad.label>卫生棉</Absorber_Pad.label>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<Absorber_Pad.description>从阴道吸收液体的卫生棉</Absorber_Pad.description>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<Absorber_Pad_Dirty.label>湿的卫生棉</Absorber_Pad_Dirty.label>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<Absorber_Pad_Dirty.description>使用过的湿卫生棉</Absorber_Pad_Dirty.description>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<OvaryRegenerationPill.label>卵巢再生药物</OvaryRegenerationPill.label>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<OvaryRegenerationPill.description>使卵巢再生以增加可排卵的卵子
卵子消耗量越大,效果越差
不能缓解更年期症状</OvaryRegenerationPill.description>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<SuperovulationInducingAgent.label>排卵药</SuperovulationInducingAgent.label>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<SuperovulationInducingAgent.description>诱导排卵的药物
可导致更年期提前</SuperovulationInducingAgent.description>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<FilthMixture.label>混合物</FilthMixture.label>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</LanguageData>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,23 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<LanguageData>
 | 
				
			||||||
 | 
					  <LeakingFluids.stages.0.label>裤湿啦</LeakingFluids.stages.0.label>
 | 
				
			||||||
 | 
					  <LeakingFluids.stages.0.description>真让人困恼... </LeakingFluids.stages.0.description>
 | 
				
			||||||
 | 
					  <CameInsideF.stages.0.label>被{0}中出了</CameInsideF.stages.0.label>
 | 
				
			||||||
 | 
					  <CameInsideF.stages.0.description>我担心我可能会怀孕... </CameInsideF.stages.0.description>
 | 
				
			||||||
 | 
					  <CameInsideFLowFert.stages.0.label>被{0}中出了</CameInsideFLowFert.stages.0.label>
 | 
				
			||||||
 | 
					  <CameInsideFLowFert.stages.0.description>虽然几率很低,但我还是担心怀孕... </CameInsideFLowFert.stages.0.description>
 | 
				
			||||||
 | 
					  <CameInsideFFetish.stages.0.label>被{0}中出了</CameInsideFFetish.stages.0.label>
 | 
				
			||||||
 | 
					  <CameInsideFFetish.stages.0.description>我想我怀孕了</CameInsideFFetish.stages.0.description>
 | 
				
			||||||
 | 
					  <CameInsideFFetishSafe.stages.0.label>被{0}中出了</CameInsideFFetishSafe.stages.0.label>
 | 
				
			||||||
 | 
					  <CameInsideFFetishSafe.stages.0.description>我爱做爱</CameInsideFFetishSafe.stages.0.description>
 | 
				
			||||||
 | 
					  <CameInsideM.stages.0.label>中出了{0}</CameInsideM.stages.0.label>
 | 
				
			||||||
 | 
					  <CameInsideM.stages.0.description>超爽的</CameInsideM.stages.0.description>
 | 
				
			||||||
 | 
					  <HaterCameInsideF.stages.0.label>被{0}中出了</HaterCameInsideF.stages.0.label>
 | 
				
			||||||
 | 
					  <HaterCameInsideF.stages.0.description>那龟孙子上了我,我不想怀上他的孩子...</HaterCameInsideF.stages.0.description>
 | 
				
			||||||
 | 
					  <HaterCameInsideFSafe.stages.0.label>被{0}中出了</HaterCameInsideFSafe.stages.0.label>
 | 
				
			||||||
 | 
					  <HaterCameInsideFSafe.stages.0.description>那龟孙子上了我....</HaterCameInsideFSafe.stages.0.description>
 | 
				
			||||||
 | 
					  <HaterCameInsideM.stages.0.label>中出了{0}</HaterCameInsideM.stages.0.label>
 | 
				
			||||||
 | 
					  <HaterCameInsideM.stages.0.description>我上了一个婊子</HaterCameInsideM.stages.0.description>
 | 
				
			||||||
 | 
					  <UnwantedPregnancy.stages.0.label>不想要的怀孕</UnwantedPregnancy.stages.0.label>
 | 
				
			||||||
 | 
					  <UnwantedPregnancy.stages.0.description>我该怎麽办?... </UnwantedPregnancy.stages.0.description>
 | 
				
			||||||
 | 
					</LanguageData> 
 | 
				
			||||||
							
								
								
									
										66
									
								
								Languages/ChineseSimplified/Keyed/RJW_Menstruation.xml
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,66 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<LanguageData>
 | 
				
			||||||
 | 
					  <Mod_Title>RJW Menstruation Cycle</Mod_Title>
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  <Menstrual_Blood>月经血</Menstrual_Blood>
 | 
				
			||||||
 | 
					  <Info_noCum>清空</Info_noCum>
 | 
				
			||||||
 | 
					  <Stage_Follicular>卵泡期</Stage_Follicular>
 | 
				
			||||||
 | 
					  <Stage_Ovulatory>排卵</Stage_Ovulatory> 
 | 
				
			||||||
 | 
					  <Stage_Luteal>黄体期</Stage_Luteal>
 | 
				
			||||||
 | 
					  <Stage_Bleeding>月经来潮</Stage_Bleeding>
 | 
				
			||||||
 | 
					  <Stage_Fertilized>已受精</Stage_Fertilized>
 | 
				
			||||||
 | 
					  <Stage_Pregnant>怀孕</Stage_Pregnant>
 | 
				
			||||||
 | 
					  <Stage_Recover>从出生中恢复</Stage_Recover>
 | 
				
			||||||
 | 
					  <Stage_None>无</Stage_None>
 | 
				
			||||||
 | 
					  <Stage_Climacteric>更年期</Stage_Climacteric>
 | 
				
			||||||
 | 
					  <Dialog_WombInfo01>状态</Dialog_WombInfo01>
 | 
				
			||||||
 | 
					  <Dialog_WombInfo02>胎儿</Dialog_WombInfo02>
 | 
				
			||||||
 | 
					  <Dialog_WombInfo03>父亲</Dialog_WombInfo03>
 | 
				
			||||||
 | 
					  <Dialog_WombInfo04>阴道精液列表</Dialog_WombInfo04>
 | 
				
			||||||
 | 
					  <Dialog_WombInfo05>已受精</Dialog_WombInfo05>
 | 
				
			||||||
 | 
					  <Dialog_WombInfo06>受精中</Dialog_WombInfo06>
 | 
				
			||||||
 | 
					  <Dialog_WombInfo07>排卵</Dialog_WombInfo07>
 | 
				
			||||||
 | 
					  <Dialog_WombInfo08></Dialog_WombInfo08>
 | 
				
			||||||
 | 
					  <Dialog_WombInfo09></Dialog_WombInfo09>
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  <Option1_Label>激活子宫图标</Option1_Label>
 | 
				
			||||||
 | 
					  <Option1_Desc>激活子宫图标框</Option1_Desc>
 | 
				
			||||||
 | 
					  <Option2_Label>激活动物经期</Option2_Label>
 | 
				
			||||||
 | 
					  <Option2_Desc>仿真动物的经期.
此选项将在保存读取后生效
不推荐开启此选项</Option2_Desc>
 | 
				
			||||||
 | 
					  <Option3_Label>植入机会</Option3_Label>
 | 
				
			||||||
 | 
					  <Option3_Desc>设置受精卵的植入机会</Option3_Desc>
 | 
				
			||||||
 | 
					  <Option4_Label>受精的机会</Option4_Label>
 | 
				
			||||||
 | 
					  <Option4_Desc>设置每小时受精的机会</Option4_Desc>
 | 
				
			||||||
 | 
					  <Option5_Label>每小时阴道中的精液量衰减率</Option5_Label>
 | 
				
			||||||
 | 
					  <Option5_Desc>阴道中的精液量将以这个比率减少</Option5_Desc>
 | 
				
			||||||
 | 
					  <Option6_Label>每小时生育率衰减率</Option6_Label>
 | 
				
			||||||
 | 
					  <Option6_Desc>精液列表的生育率将以这个比率减少</Option6_Desc>
 | 
				
			||||||
 | 
					  <Option7_Label>循环加速</Option7_Label>
 | 
				
			||||||
 | 
					  <Option7_Desc>加快月经周期</Option7_Desc>
 | 
				
			||||||
 | 
					  <Option8_Label>调试</Option8_Label>
 | 
				
			||||||
 | 
					  <Option8_Desc>显示调试信息</Option8_Desc>
 | 
				
			||||||
 | 
					  <Option9_Label>子宫状态</Option9_Label>
 | 
				
			||||||
 | 
					  <Option9_Desc>在状态窗口中绘制子宫图标</Option9_Desc>
 | 
				
			||||||
 | 
					  <Option10_Label>阴道状态</Option10_Label>
 | 
				
			||||||
 | 
					  <Option10_Desc>在状态窗口中绘制阴道和肛门图标</Option10_Desc>
 | 
				
			||||||
 | 
					  <Option11_Label>胎儿信息级别</Option11_Label>
 | 
				
			||||||
 | 
					  <Option11_Desc_1>显示有关胎儿的所有信息</Option11_Desc_1>
 | 
				
			||||||
 | 
					  <Option11_Desc_2>显示妊娠後胎儿的所有信息</Option11_Desc_2>
 | 
				
			||||||
 | 
					  <Option11_Desc_3>不显示有关胎儿的信息,但显示怀孕後胎儿的图象</Option11_Desc_3>
 | 
				
			||||||
 | 
					  <Option11_Desc_4>不显示胎儿图象和信息</Option11_Desc_4>
 | 
				
			||||||
 | 
					  <Option12_Label>激活更年期</Option12_Label>
 | 
				
			||||||
 | 
					  <Option12_Desc>激活更年期效果,使小人随着时间的推移而变得不育
如果您较长寿的外星人种族有碰到任何问题,请关闭此选项.
此选项将在保存读取后生效</Option12_Desc>
 | 
				
			||||||
 | 
					  <Option13_Label>多重怀孕</Option13_Label>
 | 
				
			||||||
 | 
					  <Option13_Desc>使用多重怀孕代替RJW的默认怀孕</Option13_Desc>
 | 
				
			||||||
 | 
					  <Option14_Label>激活异卵双胞胎</Option14_Label>
 | 
				
			||||||
 | 
					  <Option14_Desc>激活复数个卵子可以个别受精</Option14_Desc>
 | 
				
			||||||
 | 
					  <Option15_Label>激活双胞胎</Option15_Label>
 | 
				
			||||||
 | 
					  <Option15_Desc>允许单个卵子生成多个后代</Option15_Desc>
 | 
				
			||||||
 | 
					  <Option16_Label>双胞胎出现率</Option16_Label>
 | 
				
			||||||
 | 
					  <Option16_Desc>设置双胞胎的出现率</Option16_Desc>
 | 
				
			||||||
 | 
					  <Option17_Label>最大双胞胎数量</Option17_Label>
 | 
				
			||||||
 | 
					  <Option17_Desc>设置最大双胞胎数量</Option17_Desc>
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  <FloatMenu_CleanSelf>清洗阴道</FloatMenu_CleanSelf>
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					</LanguageData>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,4 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<LanguageData>
 | 
				
			||||||
 | 
					  <Absorber.label>生殖器</Absorber.label>
 | 
				
			||||||
 | 
					</LanguageData>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,22 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<LanguageData>
 | 
				
			||||||
 | 
					  <Hediff_MenstrualCramp.label>中樞性疼痛</Hediff_MenstrualCramp.label>
 | 
				
			||||||
 | 
					  <Hediff_MenstrualCramp.description>經期中</Hediff_MenstrualCramp.description>
 | 
				
			||||||
 | 
					  <Hediff_MenstrualCramp.stages.0.label>不快</Hediff_MenstrualCramp.stages.0.label>
 | 
				
			||||||
 | 
					  <Hediff_MenstrualCramp.stages.1.label>惱人</Hediff_MenstrualCramp.stages.1.label>
 | 
				
			||||||
 | 
					  <Hediff_MenstrualCramp.stages.2.label>疼痛</Hediff_MenstrualCramp.stages.2.label>
 | 
				
			||||||
 | 
					  <Hediff_MenstrualCramp.stages.3.label>痛苦</Hediff_MenstrualCramp.stages.3.label>
 | 
				
			||||||
 | 
					  <Hediff_Climacteric.label>更年期</Hediff_Climacteric.label>
 | 
				
			||||||
 | 
					  <Hediff_Climacteric.description>到了更年期</Hediff_Climacteric.description>
 | 
				
			||||||
 | 
					  <Hediff_Climacteric.stages.0.label>初期</Hediff_Climacteric.stages.0.label>
 | 
				
			||||||
 | 
					  <Hediff_Climacteric.stages.1.label>中期</Hediff_Climacteric.stages.1.label>
 | 
				
			||||||
 | 
					  <Hediff_Climacteric.stages.2.label>後期</Hediff_Climacteric.stages.2.label>
 | 
				
			||||||
 | 
					  <Hediff_Climacteric.stages.3.label>更年期</Hediff_Climacteric.stages.3.label>
 | 
				
			||||||
 | 
					  <Hediff_Menopause.label>更年期</Hediff_Menopause.label>
 | 
				
			||||||
 | 
					  <Hediff_Menopause.description>不孕</Hediff_Menopause.description>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</LanguageData>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,7 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<LanguageData>
 | 
				
			||||||
 | 
					  <VaginaWashing.reportString>清洗陰道</VaginaWashing.reportString>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					</LanguageData>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,7 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<LanguageData>
 | 
				
			||||||
 | 
					  <MaxAbsorbable.label>可吸收量</MaxAbsorbable.label>
 | 
				
			||||||
 | 
					  <MaxAbsorbable.description>最大可吸收的液體量</MaxAbsorbable.description>
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					</LanguageData>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,31 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="UTF-8"?>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<LanguageData>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<Absorber_Tampon.label>衛生棉條</Absorber_Tampon.label>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<Absorber_Tampon.description>從陰道吸收液體的衛生棉條</Absorber_Tampon.description>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<Absorber_Tampon_Dirty.label>濕的衛生棉條</Absorber_Tampon_Dirty.label>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<Absorber_Tampon_Dirty.description>使用過的濕衛生棉條</Absorber_Tampon_Dirty.description>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<Absorber_Pad.label>衛生棉</Absorber_Pad.label>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<Absorber_Pad.description>從陰道吸收液體的衛生棉</Absorber_Pad.description>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<Absorber_Pad_Dirty.label>濕的衛生棉</Absorber_Pad_Dirty.label>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<Absorber_Pad_Dirty.description>使用過的濕衛生棉</Absorber_Pad_Dirty.description>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<OvaryRegenerationPill.label>卵巢再生藥物</OvaryRegenerationPill.label>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<OvaryRegenerationPill.description>使卵巢再生以增加可排卵的卵子
卵子消耗量越大,效果越差
不能緩解更年期症狀</OvaryRegenerationPill.description>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<SuperovulationInducingAgent.label>排卵藥</SuperovulationInducingAgent.label>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<SuperovulationInducingAgent.description>誘導排卵的藥物
可導致更年期提前</SuperovulationInducingAgent.description>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<FilthMixture.label>混合物</FilthMixture.label>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</LanguageData>
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,23 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<LanguageData>
 | 
				
			||||||
 | 
					  <LeakingFluids.stages.0.label>褲濕啦</LeakingFluids.stages.0.label>
 | 
				
			||||||
 | 
					  <LeakingFluids.stages.0.description>真讓人困惱... </LeakingFluids.stages.0.description>
 | 
				
			||||||
 | 
					  <CameInsideF.stages.0.label>被{0}中出了</CameInsideF.stages.0.label>
 | 
				
			||||||
 | 
					  <CameInsideF.stages.0.description>我擔心我可能會懷孕... </CameInsideF.stages.0.description>
 | 
				
			||||||
 | 
					  <CameInsideFLowFert.stages.0.label>被{0}中出了</CameInsideFLowFert.stages.0.label>
 | 
				
			||||||
 | 
					  <CameInsideFLowFert.stages.0.description>雖然機率很低,但我還是擔心懷孕... </CameInsideFLowFert.stages.0.description>
 | 
				
			||||||
 | 
					  <CameInsideFFetish.stages.0.label>被{0}中出了</CameInsideFFetish.stages.0.label>
 | 
				
			||||||
 | 
					  <CameInsideFFetish.stages.0.description>我想我懷孕了</CameInsideFFetish.stages.0.description>
 | 
				
			||||||
 | 
					  <CameInsideFFetishSafe.stages.0.label>被{0}中出了</CameInsideFFetishSafe.stages.0.label>
 | 
				
			||||||
 | 
					  <CameInsideFFetishSafe.stages.0.description>我愛做愛</CameInsideFFetishSafe.stages.0.description>
 | 
				
			||||||
 | 
					  <CameInsideM.stages.0.label>中出了{0}</CameInsideM.stages.0.label>
 | 
				
			||||||
 | 
					  <CameInsideM.stages.0.description>超爽的</CameInsideM.stages.0.description>
 | 
				
			||||||
 | 
					  <HaterCameInsideF.stages.0.label>被{0}中出了</HaterCameInsideF.stages.0.label>
 | 
				
			||||||
 | 
					  <HaterCameInsideF.stages.0.description>那龜孫子上了我,我不想懷上他的孩子...</HaterCameInsideF.stages.0.description>
 | 
				
			||||||
 | 
					  <HaterCameInsideFSafe.stages.0.label>被{0}中出了</HaterCameInsideFSafe.stages.0.label>
 | 
				
			||||||
 | 
					  <HaterCameInsideFSafe.stages.0.description>那龜孫子上了我....</HaterCameInsideFSafe.stages.0.description>
 | 
				
			||||||
 | 
					  <HaterCameInsideM.stages.0.label>中出了{0}</HaterCameInsideM.stages.0.label>
 | 
				
			||||||
 | 
					  <HaterCameInsideM.stages.0.description>我上了一個婊子</HaterCameInsideM.stages.0.description>
 | 
				
			||||||
 | 
					  <UnwantedPregnancy.stages.0.label>不想要的懷孕</UnwantedPregnancy.stages.0.label>
 | 
				
			||||||
 | 
					  <UnwantedPregnancy.stages.0.description>我該怎麼辦?... </UnwantedPregnancy.stages.0.description>
 | 
				
			||||||
 | 
					</LanguageData> 
 | 
				
			||||||
							
								
								
									
										66
									
								
								Languages/ChineseTraditional/Keyed/RJW_Menstruation.xml
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,66 @@
 | 
				
			||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<LanguageData>
 | 
				
			||||||
 | 
					  <Mod_Title>RJW Menstruation Cycle</Mod_Title>
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  <Menstrual_Blood>月經血</Menstrual_Blood>
 | 
				
			||||||
 | 
					  <Info_noCum>清空</Info_noCum>
 | 
				
			||||||
 | 
					  <Stage_Follicular>卵泡期</Stage_Follicular>
 | 
				
			||||||
 | 
					  <Stage_Ovulatory>排卵</Stage_Ovulatory> 
 | 
				
			||||||
 | 
					  <Stage_Luteal>黃體期</Stage_Luteal>
 | 
				
			||||||
 | 
					  <Stage_Bleeding>月經來潮</Stage_Bleeding>
 | 
				
			||||||
 | 
					  <Stage_Fertilized>已受精</Stage_Fertilized>
 | 
				
			||||||
 | 
					  <Stage_Pregnant>懷孕</Stage_Pregnant>
 | 
				
			||||||
 | 
					  <Stage_Recover>從出生中恢復</Stage_Recover>
 | 
				
			||||||
 | 
					  <Stage_None>無</Stage_None>
 | 
				
			||||||
 | 
					  <Stage_Climacteric>更年期</Stage_Climacteric>
 | 
				
			||||||
 | 
					  <Dialog_WombInfo01>狀態</Dialog_WombInfo01>
 | 
				
			||||||
 | 
					  <Dialog_WombInfo02>胎兒</Dialog_WombInfo02>
 | 
				
			||||||
 | 
					  <Dialog_WombInfo03>父親</Dialog_WombInfo03>
 | 
				
			||||||
 | 
					  <Dialog_WombInfo04>陰道精液列表</Dialog_WombInfo04>
 | 
				
			||||||
 | 
					  <Dialog_WombInfo05>已受精</Dialog_WombInfo05>
 | 
				
			||||||
 | 
					  <Dialog_WombInfo06>受精中</Dialog_WombInfo06>
 | 
				
			||||||
 | 
					  <Dialog_WombInfo07>排卵</Dialog_WombInfo07>
 | 
				
			||||||
 | 
					  <Dialog_WombInfo08></Dialog_WombInfo08>
 | 
				
			||||||
 | 
					  <Dialog_WombInfo09></Dialog_WombInfo09>
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  <Option1_Label>啟用子宮圖標</Option1_Label>
 | 
				
			||||||
 | 
					  <Option1_Desc>啟用子宮圖標框</Option1_Desc>
 | 
				
			||||||
 | 
					  <Option2_Label>啟用動物經期</Option2_Label>
 | 
				
			||||||
 | 
					  <Option2_Desc>模擬動物的經期.
此選項將在保存讀取後生效
不推薦開啟此選項</Option2_Desc>
 | 
				
			||||||
 | 
					  <Option3_Label>植入機會</Option3_Label>
 | 
				
			||||||
 | 
					  <Option3_Desc>設置受精卵的植入機會</Option3_Desc>
 | 
				
			||||||
 | 
					  <Option4_Label>受精的機會</Option4_Label>
 | 
				
			||||||
 | 
					  <Option4_Desc>設置每小時受精的機會</Option4_Desc>
 | 
				
			||||||
 | 
					  <Option5_Label>每小時陰道中的精液量衰減率</Option5_Label>
 | 
				
			||||||
 | 
					  <Option5_Desc>陰道中的精液量將以這個比率減少</Option5_Desc>
 | 
				
			||||||
 | 
					  <Option6_Label>每小時生育率衰減率</Option6_Label>
 | 
				
			||||||
 | 
					  <Option6_Desc>精液列表的生育率將以這個比率減少</Option6_Desc>
 | 
				
			||||||
 | 
					  <Option7_Label>循環加速</Option7_Label>
 | 
				
			||||||
 | 
					  <Option7_Desc>加快月經週期</Option7_Desc>
 | 
				
			||||||
 | 
					  <Option8_Label>除錯</Option8_Label>
 | 
				
			||||||
 | 
					  <Option8_Desc>顯示除錯資訊</Option8_Desc>
 | 
				
			||||||
 | 
					  <Option9_Label>子宮狀態</Option9_Label>
 | 
				
			||||||
 | 
					  <Option9_Desc>在狀態窗口中繪製子宮圖標</Option9_Desc>
 | 
				
			||||||
 | 
					  <Option10_Label>陰道狀態</Option10_Label>
 | 
				
			||||||
 | 
					  <Option10_Desc>在狀態窗口中繪製陰道和肛門圖標</Option10_Desc>
 | 
				
			||||||
 | 
					  <Option11_Label>胎兒信息級別</Option11_Label>
 | 
				
			||||||
 | 
					  <Option11_Desc_1>顯示有關胎兒的所有信息</Option11_Desc_1>
 | 
				
			||||||
 | 
					  <Option11_Desc_2>顯示妊娠後胎兒的所有信息</Option11_Desc_2>
 | 
				
			||||||
 | 
					  <Option11_Desc_3>不顯示有關胎兒的信息,但顯示懷孕後胎兒的圖像</Option11_Desc_3>
 | 
				
			||||||
 | 
					  <Option11_Desc_4>不顯示胎兒圖像和信息</Option11_Desc_4>
 | 
				
			||||||
 | 
					  <Option12_Label>啟用更年期</Option12_Label>
 | 
				
			||||||
 | 
					  <Option12_Desc>啟用更年期效果,使小人隨著時間的推移而變得不育
如果您較長壽的外星人種族有碰到任何問題,請關閉此選項.
此選項將在保存讀取後生效</Option12_Desc>
 | 
				
			||||||
 | 
					  <Option13_Label>多重懷孕</Option13_Label>
 | 
				
			||||||
 | 
					  <Option13_Desc>使用多重懷孕代替RJW的默認懷孕</Option13_Desc>
 | 
				
			||||||
 | 
					  <Option14_Label>啟用異卵雙胞胎</Option14_Label>
 | 
				
			||||||
 | 
					  <Option14_Desc>啟用複數個卵子可以個別受精</Option14_Desc>
 | 
				
			||||||
 | 
					  <Option15_Label>啟用雙胞胎</Option15_Label>
 | 
				
			||||||
 | 
					  <Option15_Desc>允許單個卵子產生多個後代</Option15_Desc>
 | 
				
			||||||
 | 
					  <Option16_Label>雙胞胎出現率</Option16_Label>
 | 
				
			||||||
 | 
					  <Option16_Desc>設置雙胞胎的出現率</Option16_Desc>
 | 
				
			||||||
 | 
					  <Option17_Label>最大雙胞胎數量</Option17_Label>
 | 
				
			||||||
 | 
					  <Option17_Desc>設置最大雙胞胎數量</Option17_Desc>
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  <FloatMenu_CleanSelf>清洗陰道</FloatMenu_CleanSelf>
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					</LanguageData>
 | 
				
			||||||
| 
						 | 
					@ -60,6 +60,8 @@
 | 
				
			||||||
  <Option16_Desc>set chance of twins</Option16_Desc>
 | 
					  <Option16_Desc>set chance of twins</Option16_Desc>
 | 
				
			||||||
  <Option17_Label>max enzygotic twins</Option17_Label>
 | 
					  <Option17_Label>max enzygotic twins</Option17_Label>
 | 
				
			||||||
  <Option17_Desc>set max number of twins</Option17_Desc>
 | 
					  <Option17_Desc>set max number of twins</Option17_Desc>
 | 
				
			||||||
 | 
					  <Option18_Label>enable egg overlay</Option18_Label>
 | 
				
			||||||
 | 
					  <Option18_Desc>enable egg overlay on womb icon</Option18_Desc>
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
  <FloatMenu_CleanSelf>Vaginal washing</FloatMenu_CleanSelf>
 | 
					  <FloatMenu_CleanSelf>Vaginal washing</FloatMenu_CleanSelf>
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -60,6 +60,8 @@
 | 
				
			||||||
  <Option16_Desc>일란성 쌍둥이가 발생할 확률을 설정합니다.</Option16_Desc>
 | 
					  <Option16_Desc>일란성 쌍둥이가 발생할 확률을 설정합니다.</Option16_Desc>
 | 
				
			||||||
  <Option17_Label>최대 일란성 쌍둥이 수</Option17_Label>
 | 
					  <Option17_Label>최대 일란성 쌍둥이 수</Option17_Label>
 | 
				
			||||||
  <Option17_Desc>일란성 쌍둥이의 수를 제한합니다.</Option17_Desc>
 | 
					  <Option17_Desc>일란성 쌍둥이의 수를 제한합니다.</Option17_Desc>
 | 
				
			||||||
 | 
					  <Option18_Label>난자 오버레이</Option18_Label>
 | 
				
			||||||
 | 
					  <Option18_Desc>자궁그림 위에 난자그림를 표시합니다.</Option18_Desc>
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
  <FloatMenu_CleanSelf>질세척</FloatMenu_CleanSelf>
 | 
					  <FloatMenu_CleanSelf>질세척</FloatMenu_CleanSelf>
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								Textures/Eggs/Egg.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 44 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/Eggs/Egg.psd
									
										
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								Textures/Eggs/Egg_Fertilized00.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 78 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/Eggs/Egg_Fertilized01.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 78 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/Eggs/Egg_Fertilized02.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 81 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/Eggs/Egg_Fertilizing00.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 73 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/Eggs/Egg_Fertilizing01.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 76 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/Eggs/Egg_Fertilizing02.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 81 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/Eggs/Egg_Implanted00.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 73 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Textures/Eggs/Eggs.zip
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -1,3 +1,13 @@
 | 
				
			||||||
 | 
					Version 1.0.1.8
 | 
				
			||||||
 | 
					 - fixed problems with animal status window
 | 
				
			||||||
 | 
					 - fixed RMB menu crash
 | 
				
			||||||
 | 
					 - added egg overlay
 | 
				
			||||||
 | 
					 - default implantation chance changed to 65%
 | 
				
			||||||
 | 
					 - now fertilized eggs are implanted after 7 days later
 | 
				
			||||||
 | 
					Version 1.0.1.7
 | 
				
			||||||
 | 
					 - added chinese translations
 | 
				
			||||||
 | 
					 - major bug fixes
 | 
				
			||||||
 | 
					 - minor bug fixes
 | 
				
			||||||
Version 1.0.1.6
 | 
					Version 1.0.1.6
 | 
				
			||||||
 - fixed bugs when display fetus image
 | 
					 - fixed bugs when display fetus image
 | 
				
			||||||
 - fixed futa female was not set as parent
 | 
					 - fixed futa female was not set as parent
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -10,12 +10,12 @@ namespace RJW_Menstruation
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    public class Configurations : ModSettings
 | 
					    public class Configurations : ModSettings
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        public const float ImplantationChanceDefault = 0.25f;
 | 
					        public const float ImplantationChanceDefault = 0.65f;
 | 
				
			||||||
        public const int ImplantationChanceAdjustDefault = 25;
 | 
					        public const int ImplantationChanceAdjustDefault = 65;
 | 
				
			||||||
        public const float FertilizeChanceDefault = 0.05f;
 | 
					        public const float FertilizeChanceDefault = 0.05f;
 | 
				
			||||||
        public const int FertilizeChanceAdjustDefault = 50;
 | 
					        public const int FertilizeChanceAdjustDefault = 50;
 | 
				
			||||||
        public const float CumDecayRatioDefault = 0.05f;
 | 
					        public const float CumDecayRatioDefault = 0.15f;
 | 
				
			||||||
        public const int CumDecayRatioAdjustDefault = 50;
 | 
					        public const int CumDecayRatioAdjustDefault = 150;
 | 
				
			||||||
        public const float CumFertilityDecayRatioDefault = 0.2f;
 | 
					        public const float CumFertilityDecayRatioDefault = 0.2f;
 | 
				
			||||||
        public const int CumFertilityDecayRatioAdjustDefault = 200;
 | 
					        public const int CumFertilityDecayRatioAdjustDefault = 200;
 | 
				
			||||||
        public const int CycleAccelerationDefault = 6;
 | 
					        public const int CycleAccelerationDefault = 6;
 | 
				
			||||||
| 
						 | 
					@ -36,6 +36,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
        public static bool EnableAnimalCycle = false;
 | 
					        public static bool EnableAnimalCycle = false;
 | 
				
			||||||
        public static bool DrawWombStatus = true;
 | 
					        public static bool DrawWombStatus = true;
 | 
				
			||||||
        public static bool DrawVaginaStatus = true;
 | 
					        public static bool DrawVaginaStatus = true;
 | 
				
			||||||
 | 
					        public static bool DrawEggOverlay = true;
 | 
				
			||||||
        public static bool Debug = false;
 | 
					        public static bool Debug = false;
 | 
				
			||||||
        public static bool EnableMenopause = true;
 | 
					        public static bool EnableMenopause = true;
 | 
				
			||||||
        public static DetailLevel InfoDetail = DetailLevel.All;
 | 
					        public static DetailLevel InfoDetail = DetailLevel.All;
 | 
				
			||||||
| 
						 | 
					@ -94,6 +95,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
            Scribe_Values.Look(ref EnableAnimalCycle, "EnableAnimalCycle", EnableAnimalCycle, true);
 | 
					            Scribe_Values.Look(ref EnableAnimalCycle, "EnableAnimalCycle", EnableAnimalCycle, true);
 | 
				
			||||||
            Scribe_Values.Look(ref DrawWombStatus, "DrawWombStatus", DrawWombStatus, true);
 | 
					            Scribe_Values.Look(ref DrawWombStatus, "DrawWombStatus", DrawWombStatus, true);
 | 
				
			||||||
            Scribe_Values.Look(ref DrawVaginaStatus, "DrawVaginaStatus", DrawVaginaStatus, true);
 | 
					            Scribe_Values.Look(ref DrawVaginaStatus, "DrawVaginaStatus", DrawVaginaStatus, true);
 | 
				
			||||||
 | 
					            Scribe_Values.Look(ref DrawEggOverlay, "DrawEggOvray", DrawEggOverlay, true);
 | 
				
			||||||
            Scribe_Values.Look(ref Debug, "Debug", Debug, true);
 | 
					            Scribe_Values.Look(ref Debug, "Debug", Debug, true);
 | 
				
			||||||
            Scribe_Values.Look(ref InfoDetail, "InfoDetail", InfoDetail, true);
 | 
					            Scribe_Values.Look(ref InfoDetail, "InfoDetail", InfoDetail, true);
 | 
				
			||||||
            Scribe_Values.Look(ref EnableMenopause, "EnableMenopause", EnableMenopause, true);
 | 
					            Scribe_Values.Look(ref EnableMenopause, "EnableMenopause", EnableMenopause, true);
 | 
				
			||||||
| 
						 | 
					@ -143,8 +145,12 @@ namespace RJW_Menstruation
 | 
				
			||||||
            listmain.CheckboxLabeled(Translations.Option1_Label, ref Configurations.EnableWombIcon, Translations.Option1_Desc);
 | 
					            listmain.CheckboxLabeled(Translations.Option1_Label, ref Configurations.EnableWombIcon, Translations.Option1_Desc);
 | 
				
			||||||
            if (Configurations.EnableWombIcon)
 | 
					            if (Configurations.EnableWombIcon)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                Listing_Standard wombsection = listmain.BeginSection_NewTemp(111);
 | 
					                Listing_Standard wombsection = listmain.BeginSection_NewTemp(131);
 | 
				
			||||||
                wombsection.CheckboxLabeled(Translations.Option9_Label, ref Configurations.DrawWombStatus, Translations.Option9_Desc);
 | 
					                wombsection.CheckboxLabeled(Translations.Option9_Label, ref Configurations.DrawWombStatus, Translations.Option9_Desc);
 | 
				
			||||||
 | 
					                if (Configurations.DrawWombStatus)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    wombsection.CheckboxLabeled(Translations.Option18_Label, ref Configurations.DrawEggOverlay, Translations.Option18_Desc);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
                wombsection.CheckboxLabeled(Translations.Option10_Label, ref Configurations.DrawVaginaStatus, Translations.Option10_Desc);
 | 
					                wombsection.CheckboxLabeled(Translations.Option10_Label, ref Configurations.DrawVaginaStatus, Translations.Option10_Desc);
 | 
				
			||||||
                if (wombsection.ButtonText(Translations.Option11_Label + ": " + Configurations.LevelString(Configurations.InfoDetail)))
 | 
					                if (wombsection.ButtonText(Translations.Option11_Label + ": " + Configurations.LevelString(Configurations.InfoDetail)))
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -42,7 +42,14 @@ namespace RJW_Menstruation
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                if (DNAcache == null)
 | 
					                if (DNAcache == null)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    DNAcache = pawn.def.GetModExtension<PawnDNAModExtention>();
 | 
					                    try
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        DNAcache = pawn.def.GetModExtension<PawnDNAModExtention>();
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                    catch (NullReferenceException)
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        DNAcache = ThingDefOf.Human.GetModExtension<PawnDNAModExtention>();
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
                    if (DNAcache == null)
 | 
					                    if (DNAcache == null)
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
                        DNAcache = ThingDefOf.Human.GetModExtension<PawnDNAModExtention>();
 | 
					                        DNAcache = ThingDefOf.Human.GetModExtension<PawnDNAModExtention>();
 | 
				
			||||||
| 
						 | 
					@ -89,9 +96,6 @@ namespace RJW_Menstruation
 | 
				
			||||||
            this.pawn = pawn;
 | 
					            this.pawn = pawn;
 | 
				
			||||||
            volume = 1.0f;
 | 
					            volume = 1.0f;
 | 
				
			||||||
            fertvolume = 1.0f;
 | 
					            fertvolume = 1.0f;
 | 
				
			||||||
            decayresist = 0;
 | 
					 | 
				
			||||||
            
 | 
					 | 
				
			||||||
            
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public Cum(Pawn pawn, float volume, string notcumlabel, float decayresist = 0, ThingDef filthDef = null)
 | 
					        public Cum(Pawn pawn, float volume, string notcumlabel, float decayresist = 0, ThingDef filthDef = null)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -23,7 +23,6 @@ namespace RJW_Menstruation
 | 
				
			||||||
		private const float genitalRectWidth = 102;
 | 
							private const float genitalRectWidth = 102;
 | 
				
			||||||
		private const float genitalRectHeight = 140;
 | 
							private const float genitalRectHeight = 140;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
		private Texture2D womb;
 | 
							private Texture2D womb;
 | 
				
			||||||
		private Texture2D cum;
 | 
							private Texture2D cum;
 | 
				
			||||||
		private Texture2D vagina;
 | 
							private Texture2D vagina;
 | 
				
			||||||
| 
						 | 
					@ -97,8 +96,9 @@ namespace RJW_Menstruation
 | 
				
			||||||
			boxstyle.border.left = 4; boxstyle.border.right = 4; boxstyle.border.bottom = 4; boxstyle.border.top = 4;
 | 
								boxstyle.border.left = 4; boxstyle.border.right = 4; boxstyle.border.bottom = 4; boxstyle.border.top = 4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			float preginfoheight = 0f;
 | 
								float preginfoheight = 0f;
 | 
				
			||||||
 | 
								bool pregnant = pawn.IsPregnant();
 | 
				
			||||||
			Hediff hediff = PregnancyHelper.GetPregnancy(pawn);
 | 
								Hediff hediff = PregnancyHelper.GetPregnancy(pawn);
 | 
				
			||||||
			if (pawn.IsPregnant() && Utility.ShowFetusImage((Hediff_BasePregnancy)hediff))
 | 
								if (pregnant && Utility.ShowFetusImage((Hediff_BasePregnancy)hediff))
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
				womb = Utility.GetPregnancyIcon(comp, hediff);
 | 
									womb = Utility.GetPregnancyIcon(comp, hediff);
 | 
				
			||||||
				if (hediff is Hediff_MultiplePregnancy)
 | 
									if (hediff is Hediff_MultiplePregnancy)
 | 
				
			||||||
| 
						 | 
					@ -165,7 +165,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
			Rect pawnLabel2Rect = new Rect(0, pawnRectHeight + fontheight - 10, pawnRectWidth, fontheight - 10);
 | 
								Rect pawnLabel2Rect = new Rect(0, pawnRectHeight + fontheight - 10, pawnRectWidth, fontheight - 10);
 | 
				
			||||||
			fontstylecenter.normal.textColor = pawn.DrawColor;
 | 
								fontstylecenter.normal.textColor = pawn.DrawColor;
 | 
				
			||||||
			GUI.Label(pawnLabelRect, pawn.Name.ToStringFull, fontstylecenter);
 | 
								GUI.Label(pawnLabelRect, pawn.Name.ToStringFull, fontstylecenter);
 | 
				
			||||||
			GUI.Label(pawnLabel2Rect, pawn.story.Title, fontstylecenter);
 | 
								if (pawn.story != null)GUI.Label(pawnLabel2Rect, pawn.story.Title, fontstylecenter);
 | 
				
			||||||
			GUI.color = Color.white;
 | 
								GUI.color = Color.white;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			float wombrecth = 0;
 | 
								float wombrecth = 0;
 | 
				
			||||||
| 
						 | 
					@ -175,6 +175,14 @@ namespace RJW_Menstruation
 | 
				
			||||||
				cumcolor = comp.GetCumMixtureColor;
 | 
									cumcolor = comp.GetCumMixtureColor;
 | 
				
			||||||
				Rect wombRect = new Rect(0f, mainRect.yMax - wombRectHeight + preginfoheight, wombRectWidth, wombRectWidth*0.9f);
 | 
									Rect wombRect = new Rect(0f, mainRect.yMax - wombRectHeight + preginfoheight, wombRectWidth, wombRectWidth*0.9f);
 | 
				
			||||||
				DrawWomb(wombRect);
 | 
									DrawWomb(wombRect);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									if (Configurations.DrawEggOverlay)
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										comp.DrawEggOverlay(wombRect);
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			Rect wombInfoRect = new Rect(0f, mainRect.yMax - wombrecth - fontheight - 2, wombRectWidth, fontheight);
 | 
								Rect wombInfoRect = new Rect(0f, mainRect.yMax - wombrecth - fontheight - 2, wombRectWidth, fontheight);
 | 
				
			||||||
| 
						 | 
					@ -197,7 +205,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			//Widgets.Label(wombInfoRect,Translations.Dialog_WombInfo01 + ": " + comp.GetCurStageLabel);
 | 
								//Widgets.Label(wombInfoRect,Translations.Dialog_WombInfo01 + ": " + comp.GetCurStageLabel);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			if (Configurations.DrawVaginaStatus)
 | 
								if (Configurations.DrawVaginaStatus && !pawn.IsAnimal())
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
				Rect genitalRect = new Rect(24, pawnRectHeight + 2 * fontheight, genitalRectWidth, genitalRectHeight + fontheight * 2);
 | 
									Rect genitalRect = new Rect(24, pawnRectHeight + 2 * fontheight, genitalRectWidth, genitalRectHeight + fontheight * 2);
 | 
				
			||||||
				DrawVagina(genitalRect);
 | 
									DrawVagina(genitalRect);
 | 
				
			||||||
| 
						 | 
					@ -249,8 +257,12 @@ namespace RJW_Menstruation
 | 
				
			||||||
			GUI.DrawTexture(rect, womb, ScaleMode.ScaleToFit, true, 0, Color.white, 0, 0);
 | 
								GUI.DrawTexture(rect, womb, ScaleMode.ScaleToFit, true, 0, Color.white, 0, 0);
 | 
				
			||||||
			GUI.DrawTexture(rect, cum, ScaleMode.ScaleToFit, true, 0, cumcolor, 0, 0);
 | 
								GUI.DrawTexture(rect, cum, ScaleMode.ScaleToFit, true, 0, cumcolor, 0, 0);
 | 
				
			||||||
			GUI.color = Color.white;
 | 
								GUI.color = Color.white;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		private void DrawVagina(Rect rect)
 | 
							private void DrawVagina(Rect rect)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
			Rect genitalIconRect = new Rect(rect.x, rect.y + fontheight, genitalRectWidth, genitalRectHeight);
 | 
								Rect genitalIconRect = new Rect(rect.x, rect.y + fontheight, genitalRectWidth, genitalRectHeight);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -14,6 +14,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        public Texture2D icon_overay;
 | 
					        public Texture2D icon_overay;
 | 
				
			||||||
		public Color cumcolor;
 | 
							public Color cumcolor;
 | 
				
			||||||
 | 
							public HediffComp_Menstruation comp;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        protected override void DrawIcon(Rect rect, Material buttonMat = null)
 | 
					        protected override void DrawIcon(Rect rect, Material buttonMat = null)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
| 
						 | 
					@ -36,6 +37,8 @@ namespace RJW_Menstruation
 | 
				
			||||||
			GUI.color = color;
 | 
								GUI.color = color;
 | 
				
			||||||
			Widgets.DrawTextureFitted(rect, overay, iconDrawScale * 0.85f, iconProportions, iconTexCoords, iconAngle, buttonMat);
 | 
								Widgets.DrawTextureFitted(rect, overay, iconDrawScale * 0.85f, iconProportions, iconTexCoords, iconAngle, buttonMat);
 | 
				
			||||||
			GUI.color = Color.white;
 | 
								GUI.color = Color.white;
 | 
				
			||||||
 | 
								if (Configurations.DrawEggOverlay) comp.DrawEggOverlay(rect);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -289,7 +289,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public bool GetEggFertilizing
 | 
					        public bool IsEggFertilizing
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            get
 | 
					            get
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
| 
						 | 
					@ -305,18 +305,22 @@ namespace RJW_Menstruation
 | 
				
			||||||
                else return false;
 | 
					                else return false;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        public bool GetFertilization
 | 
					
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        /// returns fertstage. if not fertilized returns -1
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        public int IsFertilized
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            get
 | 
					            get
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                if (!eggs.NullOrEmpty()) foreach(Egg egg in eggs)
 | 
					                if (!eggs.NullOrEmpty()) foreach(Egg egg in eggs)
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
                        if (egg.fertilized) return true;
 | 
					                        if (egg.fertilized) return egg.fertstage;
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                return false;
 | 
					                return -1;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        public bool GetEgg
 | 
					        public bool IsEggExist
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            get
 | 
					            get
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
| 
						 | 
					@ -655,7 +659,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public void BeforeCumOut(out Absorber absorber)
 | 
					        public void BeforeCumOut(out Absorber absorber)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            absorber = (Absorber)parent.pawn.apparel?.WornApparel?.Find(x => x.def.apparel.tags.Contains("Absorber"));
 | 
					            absorber = (Absorber)parent.pawn.apparel?.WornApparel?.Find(x => x is Absorber);
 | 
				
			||||||
            if (absorber != null)
 | 
					            if (absorber != null)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                absorber.WearEffect();
 | 
					                absorber.WearEffect();
 | 
				
			||||||
| 
						 | 
					@ -706,7 +710,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
                cum.fertvolume *= Math.Max(0, (1 - (Configurations.CumDecayRatio * (1 - cum.decayresist)) * leakfactor) * (1 - (Configurations.CumFertilityDecayRatio * (1 - cum.decayresist))));
 | 
					                cum.fertvolume *= Math.Max(0, (1 - (Configurations.CumDecayRatio * (1 - cum.decayresist)) * leakfactor) * (1 - (Configurations.CumFertilityDecayRatio * (1 - cum.decayresist))));
 | 
				
			||||||
                vd -= cum.volume;
 | 
					                vd -= cum.volume;
 | 
				
			||||||
                totalleak += AbsorbCum(cum, vd, absorber);
 | 
					                totalleak += AbsorbCum(cum, vd, absorber);
 | 
				
			||||||
                string tmp = "FilthLabelWithSource".Translate(cum.FilthDef.label, cum.pawn.LabelShort, 1.ToString());
 | 
					                string tmp = "FilthLabelWithSource".Translate(cum.FilthDef.label, cum.pawn?.LabelShort ?? "Unknown", 1.ToString());
 | 
				
			||||||
                filthlabels.Add(tmp.Replace(" x1",""));
 | 
					                filthlabels.Add(tmp.Replace(" x1",""));
 | 
				
			||||||
                if (cum.fertvolume < 0.01f) cum.fertvolume = 0;
 | 
					                if (cum.fertvolume < 0.01f) cum.fertvolume = 0;
 | 
				
			||||||
                if (cum.volume < 0.01f) removecums.Add(cum);
 | 
					                if (cum.volume < 0.01f) removecums.Add(cum);
 | 
				
			||||||
| 
						 | 
					@ -746,7 +750,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
                cum.volume *= Math.Max(0, 1 - (portion * (1 - cum.decayresist)) * leakfactor);
 | 
					                cum.volume *= Math.Max(0, 1 - (portion * (1 - cum.decayresist)) * leakfactor);
 | 
				
			||||||
                cum.fertvolume *= Math.Max(0, (1 - (portion * (1 - cum.decayresist)) * leakfactor) * (1 - (Configurations.CumFertilityDecayRatio * (1 - cum.decayresist))));
 | 
					                cum.fertvolume *= Math.Max(0, (1 - (portion * (1 - cum.decayresist)) * leakfactor) * (1 - (Configurations.CumFertilityDecayRatio * (1 - cum.decayresist))));
 | 
				
			||||||
                //MakeCumFilth(cum, vd - cum.volume);
 | 
					                //MakeCumFilth(cum, vd - cum.volume);
 | 
				
			||||||
                string tmp = "FilthLabelWithSource".Translate(cum.FilthDef.label, cum.pawn.LabelShort, 1.ToString());
 | 
					                string tmp = "FilthLabelWithSource".Translate(cum.FilthDef.label, cum.pawn?.LabelShort ?? "Unknown", 1.ToString());
 | 
				
			||||||
                filthlabels.Add(tmp.Replace(" x1", ""));
 | 
					                filthlabels.Add(tmp.Replace(" x1", ""));
 | 
				
			||||||
                totalleak += vd - cum.volume;
 | 
					                totalleak += vd - cum.volume;
 | 
				
			||||||
                if (cum.fertvolume < 0.01f) cum.fertvolume = 0;
 | 
					                if (cum.fertvolume < 0.01f) cum.fertvolume = 0;
 | 
				
			||||||
| 
						 | 
					@ -785,7 +789,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
                cum.volume *= 1 - (portion);
 | 
					                cum.volume *= 1 - (portion);
 | 
				
			||||||
                cum.fertvolume *= (1 - (portion)) * (1 - (Configurations.CumFertilityDecayRatio));
 | 
					                cum.fertvolume *= (1 - (portion)) * (1 - (Configurations.CumFertilityDecayRatio));
 | 
				
			||||||
                //MakeCumFilth(cum, vd - cum.volume);
 | 
					                //MakeCumFilth(cum, vd - cum.volume);
 | 
				
			||||||
                string tmp = "FilthLabelWithSource".Translate(cum.FilthDef.label, cum.pawn.LabelShort, 1.ToString());
 | 
					                string tmp = "FilthLabelWithSource".Translate(cum.FilthDef.label, cum.pawn?.LabelShort ?? "Unknown", 1.ToString());
 | 
				
			||||||
                filthlabels.Add(tmp.Replace(" x1", ""));
 | 
					                filthlabels.Add(tmp.Replace(" x1", ""));
 | 
				
			||||||
                totalleak += vd - cum.volume;
 | 
					                totalleak += vd - cum.volume;
 | 
				
			||||||
                if (cum.fertvolume < 0.01f) cum.fertvolume = 0;
 | 
					                if (cum.fertvolume < 0.01f) cum.fertvolume = 0;
 | 
				
			||||||
| 
						 | 
					@ -821,6 +825,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
                    if (!egg.fertilized) egg.fertilizer = Fertilize();
 | 
					                    if (!egg.fertilized) egg.fertilizer = Fertilize();
 | 
				
			||||||
                    if (egg.fertilizer != null) {
 | 
					                    if (egg.fertilizer != null) {
 | 
				
			||||||
                        egg.fertilized = true;
 | 
					                        egg.fertilized = true;
 | 
				
			||||||
 | 
					                        egg.lifespanhrs += 240;
 | 
				
			||||||
                        onefertilized = true;
 | 
					                        onefertilized = true;
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
| 
						 | 
					@ -918,7 +923,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
            foreach (Cum cum in cums)
 | 
					            foreach (Cum cum in cums)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                float rand = Rand.Range(0.0f, 1.0f);
 | 
					                float rand = Rand.Range(0.0f, 1.0f);
 | 
				
			||||||
                if (!cum.notcum && rand < cum.fertvolume * cum.fertFactor * Configurations.FertilizeChance * Props.basefertilizationChanceFactor)
 | 
					                if (cum.pawn != null && !cum.notcum && rand < cum.fertvolume * cum.fertFactor * Configurations.FertilizeChance * Props.basefertilizationChanceFactor)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    if (!RJWPregnancySettings.bestial_pregnancy_enabled && (xxx.is_animal(parent.pawn) ^ xxx.is_animal(cum.pawn))) continue;
 | 
					                    if (!RJWPregnancySettings.bestial_pregnancy_enabled && (xxx.is_animal(parent.pawn) ^ xxx.is_animal(cum.pawn))) continue;
 | 
				
			||||||
                    return cum.pawn;
 | 
					                    return cum.pawn;
 | 
				
			||||||
| 
						 | 
					@ -936,7 +941,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
                bool pregnant = false;
 | 
					                bool pregnant = false;
 | 
				
			||||||
                foreach(Egg egg in eggs)
 | 
					                foreach(Egg egg in eggs)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    if (egg.position < 24 || !egg.fertilized) continue;
 | 
					                    if (!egg.fertilized || egg.fertstage < 168) continue;
 | 
				
			||||||
                    else if (Rand.Range(0.0f, 1.0f) <= Configurations.ImplantationChance * Props.baseImplantationChanceFactor * ImplantFactor * InterspeciesImplantFactor(egg.fertilizer))
 | 
					                    else if (Rand.Range(0.0f, 1.0f) <= Configurations.ImplantationChance * Props.baseImplantationChanceFactor * ImplantFactor * InterspeciesImplantFactor(egg.fertilizer))
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
                        if (!parent.pawn.IsPregnant())
 | 
					                        if (!parent.pawn.IsPregnant())
 | 
				
			||||||
| 
						 | 
					@ -1013,7 +1018,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
        /// <param name="amount"></param>
 | 
					        /// <param name="amount"></param>
 | 
				
			||||||
        private void MakeCumFilth(Cum cum, float amount) 
 | 
					        private void MakeCumFilth(Cum cum, float amount) 
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            if (amount >= minmakefilthvalue) FilthMaker.TryMakeFilth(parent.pawn.Position, parent.pawn.Map, cum.FilthDef, cum.pawn.LabelShort);
 | 
					            if (amount >= minmakefilthvalue) FilthMaker.TryMakeFilth(parent.pawn.Position, parent.pawn.Map, cum.FilthDef, cum.pawn?.LabelShort ?? "Unknown");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
| 
						 | 
					@ -1076,6 +1081,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
                egg.lifespanhrs -= Configurations.CycleAcceleration;
 | 
					                egg.lifespanhrs -= Configurations.CycleAcceleration;
 | 
				
			||||||
                egg.position += Configurations.CycleAcceleration;
 | 
					                egg.position += Configurations.CycleAcceleration;
 | 
				
			||||||
                if (egg.lifespanhrs < 0) deadeggs.Add(egg);
 | 
					                if (egg.lifespanhrs < 0) deadeggs.Add(egg);
 | 
				
			||||||
 | 
					                if (egg.fertilized) egg.fertstage += Configurations.CycleAcceleration;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (!deadeggs.NullOrEmpty())
 | 
					            if (!deadeggs.NullOrEmpty())
 | 
				
			||||||
| 
						 | 
					@ -1463,6 +1469,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
            public int lifespanhrs;
 | 
					            public int lifespanhrs;
 | 
				
			||||||
            public Pawn fertilizer;
 | 
					            public Pawn fertilizer;
 | 
				
			||||||
            public int position;
 | 
					            public int position;
 | 
				
			||||||
 | 
					            public int fertstage = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            public Egg()
 | 
					            public Egg()
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
| 
						 | 
					@ -1486,6 +1493,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
                Scribe_Values.Look(ref fertilized, "fertilized", fertilized, true);
 | 
					                Scribe_Values.Look(ref fertilized, "fertilized", fertilized, true);
 | 
				
			||||||
                Scribe_Values.Look(ref lifespanhrs, "lifespanhrs", lifespanhrs, true);
 | 
					                Scribe_Values.Look(ref lifespanhrs, "lifespanhrs", lifespanhrs, true);
 | 
				
			||||||
                Scribe_Values.Look(ref position, "position", position, true);
 | 
					                Scribe_Values.Look(ref position, "position", position, true);
 | 
				
			||||||
 | 
					                Scribe_Values.Look(ref fertstage, "fertstage", fertstage, true);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -99,6 +99,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
                icon = icon,
 | 
					                icon = icon,
 | 
				
			||||||
                icon_overay = icon_overay,
 | 
					                icon_overay = icon_overay,
 | 
				
			||||||
                cumcolor = c,
 | 
					                cumcolor = c,
 | 
				
			||||||
 | 
					                comp = comp,
 | 
				
			||||||
                order = 100,
 | 
					                order = 100,
 | 
				
			||||||
                action = delegate
 | 
					                action = delegate
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -37,7 +37,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            foreach (LocalTargetInfo t in selftargets)
 | 
					            foreach (LocalTargetInfo t in selftargets)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                opts.AddDistinct(MakeSelfMenu(pawn, t));
 | 
					                if (Utility.HasMenstruationComp(pawn)) opts.AddDistinct(MakeSelfMenu(pawn, t));
 | 
				
			||||||
                break;
 | 
					                break;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            
 | 
					            
 | 
				
			||||||
| 
						 | 
					@ -48,15 +48,10 @@ namespace RJW_Menstruation
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        public static FloatMenuOption MakeSelfMenu(Pawn pawn, LocalTargetInfo target)
 | 
					        public static FloatMenuOption MakeSelfMenu(Pawn pawn, LocalTargetInfo target)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            FloatMenuOption option = null;
 | 
					            FloatMenuOption option = FloatMenuUtility.DecoratePrioritizedTask(new FloatMenuOption(Translations.FloatMenu_CleanSelf, delegate ()
 | 
				
			||||||
            if (Utility.HasMenstruationComp(pawn))
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                option = FloatMenuUtility.DecoratePrioritizedTask(new FloatMenuOption(Translations.FloatMenu_CleanSelf, delegate ()
 | 
					 | 
				
			||||||
                 {
 | 
					                 {
 | 
				
			||||||
                     pawn.jobs.TryTakeOrderedJob_NewTemp(new Verse.AI.Job(VariousDefOf.VaginaWashing, null, null, target.Cell));
 | 
					                     pawn.jobs.TryTakeOrderedJob_NewTemp(new Verse.AI.Job(VariousDefOf.VaginaWashing, null, null, target.Cell));
 | 
				
			||||||
                 }, MenuOptionPriority.Low), pawn, target);
 | 
					                 }, MenuOptionPriority.Low), pawn, target);
 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            return option;
 | 
					            return option;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
| 
						 | 
					@ -65,7 +60,20 @@ namespace RJW_Menstruation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					    //[HarmonyPatch(typeof(JobGiver_OptimizeApparel), "ApparelScoreGain_NewTmp")]
 | 
				
			||||||
 | 
					    //public class OptimizeApparel_Patch
 | 
				
			||||||
 | 
					    //{
 | 
				
			||||||
 | 
					    //    public static bool Prefix(ref float __result, Pawn pawn, Apparel ap, List<float> wornScoresCache)
 | 
				
			||||||
 | 
					    //    {
 | 
				
			||||||
 | 
					    //        if (ap is Absorber)
 | 
				
			||||||
 | 
					    //        {
 | 
				
			||||||
 | 
					    //            __result = -1000f;
 | 
				
			||||||
 | 
					    //            return false;
 | 
				
			||||||
 | 
					    //        }
 | 
				
			||||||
 | 
					    //        return true;
 | 
				
			||||||
 | 
					    //    }
 | 
				
			||||||
 | 
					    //
 | 
				
			||||||
 | 
					    //}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -16,6 +16,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
        public ColorInt cumColor;
 | 
					        public ColorInt cumColor;
 | 
				
			||||||
        public Color CumColor => cumColor.ToColor;
 | 
					        public Color CumColor => cumColor.ToColor;
 | 
				
			||||||
        public float cumThickness = 0f;
 | 
					        public float cumThickness = 0f;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -66,6 +66,8 @@ namespace RJW_Menstruation
 | 
				
			||||||
        public static readonly string Option16_Desc =  "Option16_Desc".Translate();
 | 
					        public static readonly string Option16_Desc =  "Option16_Desc".Translate();
 | 
				
			||||||
        public static readonly string Option17_Label = "Option17_Label".Translate();
 | 
					        public static readonly string Option17_Label = "Option17_Label".Translate();
 | 
				
			||||||
        public static readonly string Option17_Desc =  "Option17_Desc".Translate();
 | 
					        public static readonly string Option17_Desc =  "Option17_Desc".Translate();
 | 
				
			||||||
 | 
					        public static readonly string Option18_Label = "Option18_Label".Translate();
 | 
				
			||||||
 | 
					        public static readonly string Option18_Desc =  "Option18_Desc".Translate();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public static readonly string FloatMenu_CleanSelf = "FloatMenu_CleanSelf".Translate();
 | 
					        public static readonly string FloatMenu_CleanSelf = "FloatMenu_CleanSelf".Translate();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -47,14 +47,24 @@ namespace RJW_Menstruation
 | 
				
			||||||
    public static class Utility
 | 
					    public static class Utility
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public static float GetCumVolume(this Pawn pawn)
 | 
					        public static float GetCumVolume(this Pawn pawn)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            CompHediffBodyPart part = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn))?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("penis")).InRandomOrder().FirstOrDefault().TryGetComp<rjw.CompHediffBodyPart>();
 | 
					            CompHediffBodyPart part = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn))?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("penis")).InRandomOrder().FirstOrDefault()?.TryGetComp<CompHediffBodyPart>();
 | 
				
			||||||
            if (part == null) part = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn))?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("ovipositorf")).InRandomOrder().FirstOrDefault().TryGetComp<rjw.CompHediffBodyPart>();
 | 
					            if (part == null) part = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn))?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("ovipositorf")).InRandomOrder().FirstOrDefault()?.TryGetComp<CompHediffBodyPart>();
 | 
				
			||||||
            if (part == null) part = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn))?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("ovipositorm")).InRandomOrder().FirstOrDefault().TryGetComp<rjw.CompHediffBodyPart>();
 | 
					            if (part == null) part = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn))?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("ovipositorm")).InRandomOrder().FirstOrDefault()?.TryGetComp<CompHediffBodyPart>();
 | 
				
			||||||
            if (part == null) part = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn))?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("tentacle")).InRandomOrder().FirstOrDefault().TryGetComp<rjw.CompHediffBodyPart>();
 | 
					            if (part == null) part = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn))?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("tentacle")).InRandomOrder().FirstOrDefault()?.TryGetComp<CompHediffBodyPart>();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            float res = part?.FluidAmmount * part.FluidModifier * pawn.BodySize * Rand.Range(0.8f, 1.2f) * RJWSettings.cum_on_body_amount_adjust * 0.3f ?? 0.0f;
 | 
					            float res = 0;
 | 
				
			||||||
 | 
					            try
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                res = part.FluidAmmount * part.FluidModifier * pawn.BodySize * Rand.Range(0.8f, 1.2f) * RJWSettings.cum_on_body_amount_adjust * 0.3f;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            catch (NullReferenceException)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                res = 0.0f;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
            if (pawn.Has(Quirk.Messy)) res *= Rand.Range(4.0f,8.0f);
 | 
					            if (pawn.Has(Quirk.Messy)) res *= Rand.Range(4.0f,8.0f);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            return res;
 | 
					            return res;
 | 
				
			||||||
| 
						 | 
					@ -149,7 +159,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
            else if (hediff is Hediff_BasePregnancy)
 | 
					            else if (hediff is Hediff_BasePregnancy)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                Hediff_BasePregnancy h = (Hediff_BasePregnancy)hediff;
 | 
					                Hediff_BasePregnancy h = (Hediff_BasePregnancy)hediff;
 | 
				
			||||||
                string fetustex = h.babies?.First()?.def.GetModExtension<PawnDNAModExtention>()?.fetusTexPath ?? "Fetus/Fetus_Default";
 | 
					                string fetustex = h.babies?.FirstOrDefault()?.def.GetModExtension<PawnDNAModExtention>()?.fetusTexPath ?? "Fetus/Fetus_Default";
 | 
				
			||||||
                if (h.GestationProgress < 0.2f) icon = comp.wombTex + "_Implanted";
 | 
					                if (h.GestationProgress < 0.2f) icon = comp.wombTex + "_Implanted";
 | 
				
			||||||
                else if (h.GestationProgress < 0.3f) icon += "Fetus/Fetus_Early00";
 | 
					                else if (h.GestationProgress < 0.3f) icon += "Fetus/Fetus_Early00";
 | 
				
			||||||
                else if (h.GestationProgress < 0.4f) icon += fetustex + "00";
 | 
					                else if (h.GestationProgress < 0.4f) icon += fetustex + "00";
 | 
				
			||||||
| 
						 | 
					@ -167,7 +177,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            string icon = comp.wombTex;
 | 
					            string icon = comp.wombTex;
 | 
				
			||||||
            float cumpercent = comp.TotalCumPercent;
 | 
					            float cumpercent = comp.TotalCumPercent;
 | 
				
			||||||
            if (cumpercent < 0.001f) icon = "Womb/Empty";
 | 
					            if (cumpercent < 0.001f) return ContentFinder<Texture2D>.Get("Womb/Empty", true);
 | 
				
			||||||
            else if (cumpercent < 0.01f) icon += "_Cum_00";
 | 
					            else if (cumpercent < 0.01f) icon += "_Cum_00";
 | 
				
			||||||
            else if (cumpercent < 0.05f) icon += "_Cum_01";
 | 
					            else if (cumpercent < 0.05f) icon += "_Cum_01";
 | 
				
			||||||
            else if (cumpercent < 0.11f) icon += "_Cum_02";
 | 
					            else if (cumpercent < 0.11f) icon += "_Cum_02";
 | 
				
			||||||
| 
						 | 
					@ -230,7 +240,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
            var hediff = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_anusBPR(pawn)).Find((Hediff h) => h.def.defName.ToLower().Contains("anus"));
 | 
					            var hediff = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_anusBPR(pawn)).Find((Hediff h) => h.def.defName.ToLower().Contains("anus"));
 | 
				
			||||||
            CompProperties_Anus Props = (CompProperties_Anus)hediff.TryGetComp<HediffComp_Anus>().props;
 | 
					            CompProperties_Anus Props = (CompProperties_Anus)hediff.TryGetComp<HediffComp_Anus>().props;
 | 
				
			||||||
            string icon;
 | 
					            string icon;
 | 
				
			||||||
            if (Props != null) icon = Props.analTex;
 | 
					            if (Props != null) icon = Props.analTex ?? "Genitals/Anal";
 | 
				
			||||||
            else icon = "Genitals/Anal";
 | 
					            else icon = "Genitals/Anal";
 | 
				
			||||||
            if (hediff.Severity < 0.20f) icon += "00";        //micro 
 | 
					            if (hediff.Severity < 0.20f) icon += "00";        //micro 
 | 
				
			||||||
            else if (hediff.Severity < 0.40f) icon += "01";   //tight
 | 
					            else if (hediff.Severity < 0.40f) icon += "01";   //tight
 | 
				
			||||||
| 
						 | 
					@ -278,7 +288,34 @@ namespace RJW_Menstruation
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public static void DrawEggOverlay(this HediffComp_Menstruation comp, Rect wombRect)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            Rect rect = new Rect(wombRect.xMax - wombRect.width/3, wombRect.y, wombRect.width / 3, wombRect.width / 3);
 | 
				
			||||||
 | 
					            GUI.color = Color.white;
 | 
				
			||||||
 | 
					            GUI.DrawTexture(rect, comp.GetEggIcon(), ScaleMode.ScaleToFit);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public static Texture2D GetEggIcon(this HediffComp_Menstruation comp)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            if (comp.parent.pawn.IsPregnant())
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if (comp.parent.pawn.GetPregnancyProgress() < 0.2f) return ContentFinder<Texture2D>.Get("Eggs/Egg_Implanted00", true);
 | 
				
			||||||
 | 
					                else return ContentFinder<Texture2D>.Get("Womb/Empty", true);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            else if (!comp.IsEggExist) return ContentFinder<Texture2D>.Get("Womb/Empty", true);
 | 
				
			||||||
 | 
					            else
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                int fertstage = comp.IsFertilized;
 | 
				
			||||||
 | 
					                if (fertstage >= 0)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    if (fertstage < 1) return ContentFinder<Texture2D>.Get("Eggs/Egg_Fertilized00", true);
 | 
				
			||||||
 | 
					                    else if (fertstage < 24) return ContentFinder<Texture2D>.Get("Eggs/Egg_Fertilized01", true);
 | 
				
			||||||
 | 
					                    else return ContentFinder<Texture2D>.Get("Eggs/Egg_Fertilized02", true);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                else if (comp.IsEggFertilizing) return ContentFinder<Texture2D>.Get("Eggs/Egg_Fertilizing01", true);
 | 
				
			||||||
 | 
					                else return ContentFinder<Texture2D>.Get("Eggs/Egg", true);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||