Compare commits

..

No commits in common. "b5df8b1dce0e2b05146b49aae6b446fa2c92d6ee" and "f58e154ca3a26246fdcfa62a756e92ce7f531611" have entirely different histories.

734 changed files with 316 additions and 16516 deletions

3
.gitignore vendored
View file

@ -343,6 +343,3 @@ healthchecksdb
*.psd
*.dds
*.pdn
Directory.Build.props
Directory.Build.targets

View file

@ -14,7 +14,7 @@
<li>image->[FUCKER_nameFull]'s penis deep inside of [FUCKED_nameFull]'s vagina [circumstance_group]</li>
<li>image->[FUCKER_nameFull]'s penis vanishing into [FUCKED_nameFull]'s vagina [circumstance_group]</li>
<li>image->[FUCKED_nameFull]'s vagina being filled by [FUCKER_nameFull]'s penis [circumstance_group]</li>
<li>image->[FUCKED_nameFull]'s vagina gripping [FUCKER_nameFull]'s penis tight [circumstance_group]</li>
<li>image->[FUCKED_nameFull]'s vagina gripping [FUCKER_nameFull]'s penis tight [cirsumstance_group]</li>
<li>circumstance_phrase->while [FUCKER_nameDef] grits [FUCKER_possessive] teeth</li>
<li>circumstance_phrase->while [FUCKER_nameDef] wears a triumphant smirk</li>
<li>circumstance_phrase->as [FUCKED_nameDef] shudders in ecstasy</li>

View file

@ -14,7 +14,7 @@
<li>image->[FUCKER_nameFull]'s penis deep inside of [FUCKED_nameFull]'s vagina [circumstance_group]</li>
<li>image->[FUCKER_nameFull]'s penis vanishing into [FUCKED_nameFull]'s vagina [circumstance_group]</li>
<li>image->[FUCKED_nameFull]'s vagina being filled by [FUCKER_nameFull]'s penis [circumstance_group]</li>
<li>image->[FUCKED_nameFull]'s vagina gripping [FUCKER_nameFull]'s penis tight [circumstance_group]</li>
<li>image->[FUCKED_nameFull]'s vagina gripping [FUCKER_nameFull]'s penis tight [cirsumstance_group]</li>
<li>circumstance_phrase->while [FUCKER_nameDef] grits [FUCKER_possessive] teeth</li>
<li>circumstance_phrase->while [FUCKER_nameDef] wears a triumphant smirk</li>
<li>circumstance_phrase->as [FUCKED_nameDef] shudders in ecstasy</li>

Binary file not shown.

View file

@ -14,7 +14,7 @@
<li>image->[FUCKER_nameFull]'s penis deep inside of [FUCKED_nameFull]'s vagina [circumstance_group]</li>
<li>image->[FUCKER_nameFull]'s penis vanishing into [FUCKED_nameFull]'s vagina [circumstance_group]</li>
<li>image->[FUCKED_nameFull]'s vagina being filled by [FUCKER_nameFull]'s penis [circumstance_group]</li>
<li>image->[FUCKED_nameFull]'s vagina gripping [FUCKER_nameFull]'s penis tight [circumstance_group]</li>
<li>image->[FUCKED_nameFull]'s vagina gripping [FUCKER_nameFull]'s penis tight [cirsumstance_group]</li>
<li>circumstance_phrase->while [FUCKER_nameDef] grits [FUCKER_possessive] teeth</li>
<li>circumstance_phrase->while [FUCKER_nameDef] wears a triumphant smirk</li>
<li>circumstance_phrase->as [FUCKED_nameDef] shudders in ecstasy</li>

View file

@ -73,7 +73,6 @@
<effectsAfterDirty>true</effectsAfterDirty>
<minHourstoDirtyEffect>10</minHourstoDirtyEffect>
<dirtyDef>Absorber_Tampon_Dirty</dirtyDef>
<dirtyEffectMTBHrs>100.0</dirtyEffectMTBHrs>
</li>
</modExtensions>
</ThingDef>
@ -129,7 +128,6 @@
<effectsAfterDirty>true</effectsAfterDirty>
<minHourstoDirtyEffect>8</minHourstoDirtyEffect>
<dirtyDef>Absorber_Tampon_Dirty</dirtyDef>
<dirtyEffectMTBHrs>100.0</dirtyEffectMTBHrs>
</li>
</modExtensions>
</ThingDef>

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<LanguageData>
<Absorber.label>生殖器</Absorber.label>
</LanguageData>

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<LanguageData>
<PainReliever.label>止痛藥</PainReliever.label>
<PainReliever.description>在接下來的24小時內舒緩痛經。
亦作用於其他類型的疼痛。</PainReliever.description>
<Cyclosporine.label>環孢素</Cyclosporine.label>
<Cyclosporine.description>一種免疫抑製劑。
用以清除體內的精子抗體但會在24小時期間降低身體的免疫力。</Cyclosporine.description>
</LanguageData>

View file

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<LanguageData>
<Menstruation.label>生理週期</Menstruation.label>
</LanguageData>

View file

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<LanguageData>
<Menstruation_ShortEggLifetime.label>較短卵細胞壽命</Menstruation_ShortEggLifetime.label>
<Menstruation_ShortEggLifetime.description>未受精卵細胞存活時長僅有原先的3/4</Menstruation_ShortEggLifetime.description>
<Menstruation_DoubleEggLifetime.label>雙倍卵細胞壽命</Menstruation_DoubleEggLifetime.label>
<Menstruation_DoubleEggLifetime.description>未受精卵細胞可存活至原先的2倍之久</Menstruation_DoubleEggLifetime.description>
<Menstruation_QuadEggLifetime.label>四倍卵細胞壽命</Menstruation_QuadEggLifetime.label>
<Menstruation_QuadEggLifetime.description>未受精卵細胞可存活至原先的4倍之久</Menstruation_QuadEggLifetime.description>
<Menstruation_NeverEstrus.label>永不發情</Menstruation_NeverEstrus.label>
<Menstruation_NeverEstrus.description>基因攜帶者永遠不會進入發情期。</Menstruation_NeverEstrus.description>
<Menstruation_FullEstrus.label>始終發情</Menstruation_FullEstrus.label>
<Menstruation_FullEstrus.description>基因攜帶者的每一個月經週期均具備發情期,無論陰道類型為何。</Menstruation_FullEstrus.description>
<Menstruation_DoubleOvulation.label>雙倍排卵</Menstruation_DoubleOvulation.label>
<Menstruation_DoubleOvulation.description>基因攜帶者的子宮可以在每個排卵週期產生雙倍的卵子。</Menstruation_DoubleOvulation.description>
<Menstruation_QuadOvulation.label>四倍排卵</Menstruation_QuadOvulation.label>
<Menstruation_QuadOvulation.description>基因攜帶者的子宮可以在每個排卵週期產生四倍的卵子。</Menstruation_QuadOvulation.description>
<Menstruation_NoBleeding.label>無經血</Menstruation_NoBleeding.label>
<Menstruation_NoBleeding.description>基因攜帶者的子宮內膜不會脫落出血。</Menstruation_NoBleeding.description>
</LanguageData>

View file

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<LanguageData>
<Menstruation.label>月經週期</Menstruation.label>
<Menstruation_ShortEggLifetime.label>較短卵細胞壽命</Menstruation_ShortEggLifetime.label>
<Menstruation_ShortEggLifetime.description>未受精卵細胞存活時長僅有原先的3/4</Menstruation_ShortEggLifetime.description>
<Menstruation_DoubleEggLifetime.label>雙倍卵細胞壽命</Menstruation_DoubleEggLifetime.label>

View file

@ -19,12 +19,4 @@
<Hediff_AffectedByPheromones.stages.0.label></Hediff_AffectedByPheromones.stages.0.label>
<Hediff_AffectedByPheromones.stages.1.label></Hediff_AffectedByPheromones.stages.1.label>
<Hediff_AffectedByPheromones.stages.2.label></Hediff_AffectedByPheromones.stages.2.label>
<!--Generated at: 2024-08-22-->
<Hediff_MenstrualCramp.description>陰道會於經期結束時出血。
此時常常感到劇痛。</Hediff_MenstrualCramp.description>
<Hediff_MenstrualCramp.label>忍受痛經</Hediff_MenstrualCramp.label>
<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>
</LanguageData>

View file

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<LanguageData>
<Hediff_MenstrualCramp.label>性疼痛</Hediff_MenstrualCramp.label>
<Hediff_MenstrualCramp.description>期中</Hediff_MenstrualCramp.description>
<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.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>

View file

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<LanguageData>
<VaginaWashing.reportString>正清洗陰道</VaginaWashing.reportString>
</LanguageData>

View file

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<LanguageData>
<LactateSelf.reportString>正自行擠奶</LactateSelf.reportString>
</LanguageData>

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<LanguageData>
<VaginaWashing.reportString>清洗陰道</VaginaWashing.reportString>
</LanguageData>

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<LanguageData>
<Absorber.label>生殖器</Absorber.label>
<LactateSelf.reportString>自行擠奶</LactateSelf.reportString>
</LanguageData>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<LanguageData>
<AmountofCreampied.description>我子宮中的精液。(以毫升計)</AmountofCreampied.description>
<AmountofCreampied.label>體內射精</AmountofCreampied.label>
<AmountofFertilizedEggs.description>我體內同精子結合的卵子數。</AmountofFertilizedEggs.description>
<AmountofCreampied.description>我子宮中的精液,以毫升計。</AmountofCreampied.description>
<AmountofFertilizedEggs.label>受精卵</AmountofFertilizedEggs.label>
<AmountofFertilizedEggs.description>我體內同精子結合的卵子數。</AmountofFertilizedEggs.description>
</LanguageData>

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<LanguageData>
<MaxAbsorbable.label>可吸收量</MaxAbsorbable.label>
<MaxAbsorbable.description>最大可吸收的液體量</MaxAbsorbable.description>
</LanguageData>

View file

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<LanguageData>
<MaxAbsorbable.description>此物可吸收液體的最大量</MaxAbsorbable.description>
<MaxAbsorbable.formatString>{0}毫升</MaxAbsorbable.formatString>
<MaxAbsorbable.label>可吸收量</MaxAbsorbable.label>
</LanguageData>

View file

@ -1,15 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<LanguageData>
<Absorber_Pad.description>用於從陰道吸收液體。</Absorber_Pad.description>
<Absorber_Pad.label>衛生棉</Absorber_Pad.label>
<Absorber_Pad_Dirty.description>濕的衛生棉</Absorber_Pad_Dirty.description>
<Absorber_Pad_Dirty.label>已經使用過的衛生棉</Absorber_Pad_Dirty.label>
<Absorber_Tampon.description>用於從陰道吸收液體。
配戴過久容易引發陰道感染。</Absorber_Tampon.description>
<Absorber_Tampon.label>衛生棉條</Absorber_Tampon.label>
<Absorber_Tampon_Dirty.description>已經使用過的衛生棉條。
繼續滯留在內會引發陰道感染。</Absorber_Tampon_Dirty.description>
<Absorber_Tampon_Dirty.label>濕的衛生棉條</Absorber_Tampon_Dirty.label>
</LanguageData>

View file

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<LanguageData>
<FilthMixture.label>混合物</FilthMixture.label>
</LanguageData>

View file

@ -1,21 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<LanguageData>
<Cyclosporine.description>免疫抑制劑。
可用於治療精子抗體但會降低身體對感染和疾病的抵抗力。有效期24小時。</Cyclosporine.description>
<Cyclosporine.label>環孢素</Cyclosporine.label>
<OvaryRegenerationPill.description>恢復卵巢的活力,令一部分卵子甦生。
對卵子所剩無幾之人作用微乎其微。
不能令人從絕經中恢復。</OvaryRegenerationPill.description>
<OvaryRegenerationPill.label>卵巢甦生劑</OvaryRegenerationPill.label>
<PainReliever.description>舒緩痛經。有效期24小時。
對其他來源的疼痛亦生效。</PainReliever.description>
<PainReliever.label>止痛藥</PainReliever.label>
<SuperovulationInducingAgent.description>誘發超量排卵使下一次排卵時額外排出1-4枚卵細胞。
很可能導致提前閉經。</SuperovulationInducingAgent.description>
<SuperovulationInducingAgent.label>超量排卵藥劑</SuperovulationInducingAgent.label>
</LanguageData>

View file

@ -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>使卵巢再生以增加可排卵的卵子&#10;卵子消耗量越大,效果越差&#10;不能緩解更年期症狀</OvaryRegenerationPill.description>
<SuperovulationInducingAgent.label>排卵藥</SuperovulationInducingAgent.label>
<SuperovulationInducingAgent.description>誘導排卵的藥物&#10;可導致更年期提前</SuperovulationInducingAgent.description>
<FilthMixture.label>混合物</FilthMixture.label>
</LanguageData>

View file

@ -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>

View file

@ -1,41 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<LanguageData>
<CameInsideF.stages.0.label>被{0}中出了</CameInsideF.stages.0.label>
<CameInsideF.stages.0.description>我擔心我可能會懷孕... </CameInsideF.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>
<CameInsideFIdeo.stages.0.label>{0}內射了我</CameInsideFIdeo.stages.0.label>
<CameInsideFIdeo.stages.0.description>我希望這次能懷上,讓我盡到責任。</CameInsideFIdeo.stages.0.description>
<CameInsideFLowFert.stages.0.label>被{0}中出了</CameInsideFLowFert.stages.0.label>
<CameInsideFLowFert.stages.0.description>雖然機率很低,但我還是擔心懷孕... </CameInsideFLowFert.stages.0.description>
<CameInsideM.stages.0.label>中出了{0}</CameInsideM.stages.0.label>
<CameInsideM.stages.0.description>超爽的</CameInsideM.stages.0.description>
<CameInsideMIdeo.stages.0.label>內射了{0}</CameInsideMIdeo.stages.0.label>
<CameInsideMIdeo.stages.0.description>讓她懷孕正是我的職責所在。</CameInsideMIdeo.stages.0.description>
<EggRestorationReceived.stages.0.label>卵母細胞再生術</EggRestorationReceived.stages.0.label>
<EggRestorationReceived.stages.0.description>我可以繼續繁衍一小段時間了!</EggRestorationReceived.stages.0.description>
<HateTookContraceptivePill.stages.0.label>吃了避孕藥</HateTookContraceptivePill.stages.0.label>
<HateTookContraceptivePill.stages.0.description>我想要個寶寶!</HateTookContraceptivePill.stages.0.description>
<HateTookContraceptivePillIdeo.stages.0.label>服用避孕藥</HateTookContraceptivePillIdeo.stages.0.label>
<HateTookContraceptivePillIdeo.stages.0.description>我的信仰要求我能夠懷孕。</HateTookContraceptivePillIdeo.stages.0.description>
<HaterCameInsideF.stages.0.label>被{0}中出了</HaterCameInsideF.stages.0.label>
<HaterCameInsideF.stages.0.description>我不想要他的孩子!</HaterCameInsideF.stages.0.description>
<HaterCameInsideFEstrus.stages.0.label>{0}內射了</HaterCameInsideFEstrus.stages.0.label>
<HaterCameInsideFEstrus.stages.0.description>我著了什麼魔,竟然讓他做出了這種事!</HaterCameInsideFEstrus.stages.0.description>
<HaterCameInsideFIdeo.stages.0.label>{0}內射了我</HaterCameInsideFIdeo.stages.0.label>
<HaterCameInsideFIdeo.stages.0.description>我知道我有生育的義務,但是難道非他不可嗎?</HaterCameInsideFIdeo.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>
<LeakingFluids.stages.0.label>褲濕啦</LeakingFluids.stages.0.label>
<LeakingFluids.stages.0.description>能不能有什麼東西來吸體液啊?</LeakingFluids.stages.0.description>
<TookContraceptivePill.stages.0.label>吃了避孕藥</TookContraceptivePill.stages.0.label>
<TookContraceptivePill.stages.0.description>一切都會過去。會好起來的。</TookContraceptivePill.stages.0.description>
<UnwantedPregnancy.stages.0.label>不情願的妊娠</UnwantedPregnancy.stages.0.label>
<UnwantedPregnancy.stages.0.description>我該怎麼照顧寶寶?怎麼辦怎麼辦怎麼辦...</UnwantedPregnancy.stages.0.description>
<UnwantedPregnancyMild.stages.0.label>忐忑不安的妊娠</UnwantedPregnancyMild.stages.0.label>
<UnwantedPregnancyMild.stages.0.description>有個寶寶在我肚子裡。但願我能照看好他。</UnwantedPregnancyMild.stages.0.description>
</LanguageData>

View file

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<LanguageData>
<HaterCameInsideFEstrus.stages.0.label>{0}內射了</HaterCameInsideFEstrus.stages.0.label>
<HaterCameInsideFEstrus.stages.0.description>我著了什麼魔,竟然讓他做出了這種事!</HaterCameInsideFEstrus.stages.0.description>
<UnwantedPregnancyMild.stages.0.label>不情願的妊娠</UnwantedPregnancyMild.stages.0.label>
<UnwantedPregnancyMild.stages.0.description>有個寶寶在我肚子裡。但願我能搞定這事。</UnwantedPregnancyMild.stages.0.description>
<TookContraceptivePill.stages.0.label>吃了避孕藥</TookContraceptivePill.stages.0.label>
<TookContraceptivePill.stages.0.description>總算把這事了結了。</TookContraceptivePill.stages.0.description>
<HateTookContraceptivePill.stages.0.label>吃了避孕藥</HateTookContraceptivePill.stages.0.label>
<HateTookContraceptivePill.stages.0.description>我想要小孩!</HateTookContraceptivePill.stages.0.description>
<!--Auto generated: Thu Jan 5 22:13:15 2023-->
<EggRestorationReceived.stages.0.label>卵母細胞再生術</EggRestorationReceived.stages.0.label>
<EggRestorationReceived.stages.0.description>我可以繼續繁衍一小段時間了!</EggRestorationReceived.stages.0.description>
<!--Auto generated: Wed Aug 30 16:05:07 2023-->
<CameInsideMIdeo.stages.0.label>內射了{0}</CameInsideMIdeo.stages.0.label>
<CameInsideMIdeo.stages.0.description>讓她懷孕正是我的職責所在。</CameInsideMIdeo.stages.0.description>
<CameInsideFIdeo.stages.0.label>{0}內射了我</CameInsideFIdeo.stages.0.label>
<CameInsideFIdeo.stages.0.description>我希望這次能懷上,讓我盡到責任。</CameInsideFIdeo.stages.0.description>
<HaterCameInsideFIdeo.stages.0.label>{0}內射了我</HaterCameInsideFIdeo.stages.0.label>
<HaterCameInsideFIdeo.stages.0.description>我知道我有生育的義務,但是難道非他不可嗎?</HaterCameInsideFIdeo.stages.0.description>
<HateTookContraceptivePillIdeo.stages.0.label>服用避孕藥</HateTookContraceptivePillIdeo.stages.0.label>
<HateTookContraceptivePillIdeo.stages.0.description>我的信仰要求我能夠懷孕。</HateTookContraceptivePillIdeo.stages.0.description>
</LanguageData>

View file

@ -164,6 +164,4 @@
<Option_AnimalPheromoneEffect_Desc>選定擁有發情期的動物在發情期內對類人生物的影響。</Option_AnimalPheromoneEffect_Desc>
<!--Generated at: 2024-04-17-->
<Description_Absorbed>已吸收</Description_Absorbed>
<!--Generated at: 2025-01-21-->
<Stage_Anestrus_Periodic_Desc>子宮處於月經週期之外。經過足夠的時間後,月經週期會恢復。</Stage_Anestrus_Periodic_Desc>
</LanguageData>

View file

@ -25,7 +25,6 @@
<Stage_Climacteric_Desc>The ovaries have neared exhaustion and the menstrual cycle has become irregular.</Stage_Climacteric_Desc>
<Stage_Menopause_Desc>The ovaries have been exhausted and the womb can no longer produce eggs.</Stage_Menopause_Desc>
<Stage_Anestrus_Desc>The womb is out of breeding season. The cycle will resume once conditions are met.</Stage_Anestrus_Desc>
<Stage_Anestrus_Periodic_Desc>The womb is between cycles. The cycle will resume after enough time has passed.</Stage_Anestrus_Periodic_Desc>
<Button_HealthTab>Status</Button_HealthTab>
<Button_MilkTooltip>Lactate self</Button_MilkTooltip>
<Dialog_WombInfo01>State</Dialog_WombInfo01>

View file

@ -9,7 +9,7 @@
<Patch>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="Vagina"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="Vagina"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Menstruation">
@ -31,7 +31,7 @@
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="GenericVagina"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="GenericVagina"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Menstruation">
@ -51,7 +51,7 @@
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="HydraulicVagina"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="HydraulicVagina"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Menstruation">
@ -66,7 +66,7 @@
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="BionicVagina"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="BionicVagina"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Menstruation">
@ -81,7 +81,7 @@
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="ArchotechVagina"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="ArchotechVagina"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Menstruation">
@ -103,7 +103,7 @@
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="Anus"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="Anus"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Anus">
@ -114,7 +114,7 @@
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="HydraulicAnus"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="HydraulicAnus"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Anus">
@ -125,7 +125,7 @@
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="BionicAnus"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="BionicAnus"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Anus">
@ -136,7 +136,7 @@
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="ArchotechAnus"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="ArchotechAnus"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Anus">

View file

@ -11,7 +11,7 @@
<Patch>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="DogVagina"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="DogVagina"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_PeriodicOvulator">
@ -33,7 +33,7 @@
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="CatVagina"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="CatVagina"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_InducedOvulator">
@ -55,7 +55,7 @@
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="HorseVagina"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="HorseVagina"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Menstruation">
@ -78,7 +78,7 @@
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="DragonVagina"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="DragonVagina"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Menstruation">
@ -99,7 +99,7 @@
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="NarrowVagina"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="NarrowVagina"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Menstruation">
@ -120,7 +120,7 @@
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="RodentVagina"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="RodentVagina"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_InducedOvulator">
@ -141,7 +141,7 @@
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="SlimeVagina"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="SlimeVagina"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_InducedOvulator">
@ -162,7 +162,7 @@
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="DemonVagina"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="DemonVagina"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_InducedOvulator">

View file

@ -3,7 +3,7 @@
<Patch>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="Breasts"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="Breasts"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Breast">
@ -15,7 +15,7 @@
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="HydraulicBreasts"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="HydraulicBreasts"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Breast">
@ -27,7 +27,7 @@
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="BionicBreasts"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="BionicBreasts"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Breast">
@ -39,7 +39,7 @@
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="ArchotechBreasts"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="ArchotechBreasts"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Breast">
@ -51,7 +51,7 @@
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="SlimeBreasts"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="SlimeBreasts"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Breast">
@ -63,7 +63,7 @@
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="UdderBreasts"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="UdderBreasts"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Breast">

View file

@ -148,7 +148,7 @@
<xpath>/Defs/ThingDef[@Name="ThingBaseFox"]</xpath>
<value>
<li Class="RJW_Menstruation.PawnDNAModExtension">
<fetusTexPath>Fetus/Canines/Fetus_Canine_V</fetusTexPath>
<fetusTexPath>Fetus/Canines/Fetus_CanineV</fetusTexPath>
<cumColor>(255,255,255,255)</cumColor>
<cumThickness>0.05</cumThickness>
<hybridExtension>

View file

@ -11,7 +11,7 @@
<Patch>
<!--<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="CervineVagina"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="CervineVagina"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Menstruation">
@ -32,7 +32,7 @@
</Operation>-->
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="BovineVagina"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="BovineVagina"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Menstruation">
@ -52,7 +52,7 @@
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="CactoidVagina"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="CactoidVagina"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Menstruation">
@ -73,7 +73,7 @@
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="ElephantVagina"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="ElephantVagina"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Menstruation">
@ -93,7 +93,7 @@
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="HyenaVagina"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="HyenaVagina"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Menstruation">
@ -114,7 +114,7 @@
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="MammalVagina"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="MammalVagina"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Menstruation">
@ -134,7 +134,7 @@
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="MarineVagina"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="MarineVagina"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Menstruation">
@ -154,7 +154,7 @@
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="PigVagina"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="PigVagina"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Menstruation">
@ -174,7 +174,7 @@
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="PistilVagina"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="PistilVagina"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Menstruation">
@ -195,7 +195,7 @@
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="GhostVagina"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="GhostVagina"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Menstruation">

View file

@ -4,7 +4,7 @@
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="MammalBreasts"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="MammalBreasts"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Breast">
@ -16,7 +16,7 @@
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="GhostBreasts"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="CatBreasts"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Breast">
@ -27,7 +27,7 @@
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="CactoidBreasts"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="GhostBreasts"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Breast">
@ -38,7 +38,7 @@
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="GhoulBreasts"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="CactoidBreasts"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Breast">
@ -49,7 +49,7 @@
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="NecroBreasts"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="GhoulBreasts"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Breast">
@ -60,7 +60,7 @@
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="OrcBreasts"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="NecroBreasts"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Breast">
@ -71,7 +71,7 @@
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="ScaleBreasts"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="OrcBreasts"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Breast">
@ -82,7 +82,18 @@
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="TreeBreasts"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="ScaleBreasts"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Breast">
<BreastTex>Breasts/Breast</BreastTex>
<BlacknippleColor>(55,20,0)</BlacknippleColor>
</li>
</comps>
</value>
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_PartBase[defName="TreeBreasts"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Breast">

View file

@ -9,7 +9,7 @@
<Patch>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="ElfVagina"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="ElfVagina"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Menstruation">
@ -30,7 +30,7 @@
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="ElfAnus"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="ElfAnus"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Anus">
@ -41,7 +41,7 @@
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="OrcVagina"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="OrcVagina"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Menstruation">
@ -62,7 +62,7 @@
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="OrcAnus"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="OrcAnus"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Anus">
@ -75,7 +75,7 @@
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="GhoulVagina"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="GhoulVagina"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Menstruation">
@ -96,7 +96,7 @@
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="GhoulAnus"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="GhoulAnus"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Anus">
@ -107,7 +107,7 @@
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="NecroVagina"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="NecroVagina"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Menstruation">
@ -128,7 +128,7 @@
</Operation>
<Operation Class="PatchOperationAdd">
<xpath>/Defs/rjw.HediffDef_SexPart[defName="TreeVagina"]</xpath>
<xpath>/Defs/rjw.HediffDef_PartBase[defName="TreeVagina"]</xpath>
<value>
<comps>
<li Class="RJW_Menstruation.CompProperties_Menstruation">

View file

@ -48,8 +48,6 @@ namespace RJW_Menstruation
public CompProperties_Breast Props;
HediffComp_SexPart sexPartComp;
protected long ageOfLastBirth = 0;
protected float maxBreastIncrement = -1f;
protected float breastSizeIncreased = 0f;
@ -87,9 +85,7 @@ namespace RJW_Menstruation
float shrinkRate = tickInterval * MaxBreastIncrement / (BabyHalfAge * GenDate.TicksPerYear);
float shrinkAmount = Mathf.Min(shrinkRate, breastSizeIncreased);
breastSizeIncreased -= shrinkAmount;
sexPartComp.baseSize -= shrinkAmount;
if (sexPartComp.baseSize < 0.01f) sexPartComp.baseSize = 0.01f;
sexPartComp.UpdateSeverity();
parent.Severity -= shrinkAmount;
}
protected float MaxBreastIncrement
@ -118,14 +114,14 @@ namespace RJW_Menstruation
{
get
{
return cachedNipple * sexPartComp.baseSize;
return cachedNipple * parent.Severity;
}
}
public float AreolaSize
{
get
{
return cachedAreola * sexPartComp.baseSize;
return cachedAreola * parent.Severity;
}
}
@ -203,7 +199,7 @@ namespace RJW_Menstruation
{
long youngestAge = -1;
if (Pawn.relations == null) return youngestAge;
if ((Pawn.relations == null)) return youngestAge;
List<Hediff_BasePregnancy> rjwPregnancies = new List<Hediff_BasePregnancy>();
Pawn.health.hediffSet.GetHediffs(ref rjwPregnancies);
@ -221,9 +217,6 @@ namespace RJW_Menstruation
public void Initialize()
{
Props = (CompProperties_Breast)props;
sexPartComp = parent.TryGetComp<HediffComp_SexPart>();
if (sexPartComp == null)
Log.Error($"Could not get breast SexPart comp of {Pawn}");
if (maxBreastIncrement <= 0f)
{
@ -263,8 +256,7 @@ namespace RJW_Menstruation
debugGrowthStatus = "Full size due to young child";
if (breastSizeIncreased < MaxBreastIncrement)
{
sexPartComp.baseSize += (MaxBreastIncrement - breastSizeIncreased);
sexPartComp.UpdateSeverity();
parent.Severity += (MaxBreastIncrement - breastSizeIncreased);
breastSizeIncreased = MaxBreastIncrement;
}
}
@ -287,8 +279,7 @@ namespace RJW_Menstruation
else
debugGrowthStatus = "Pregnant, but not time to grow";
breastSizeIncreased += growAmount;
sexPartComp.baseSize += growAmount;
sexPartComp.UpdateSeverity();
parent.Severity += growAmount;
}
else debugGrowthStatus = "Pregnant and full size";
}
@ -386,7 +377,7 @@ namespace RJW_Menstruation
public string DebugInfo()
{
return "Size: " + sexPartComp.baseSize +
return "Size: " + parent.Severity +
"\nIncrease: " + breastSizeIncreased +
"\n" + debugGrowthStatus +
"\nNipple progress: " + nippleProgress +

View file

@ -66,7 +66,7 @@ namespace RJW_Menstruation
const float minmakefilthvalue = 1.0f;
const int maxImplantDelayHours = 30 * GenDate.HoursPerDay;
const int minImplantAgeHours = 3 * GenDate.HoursPerDay;
const float fluidLeakThreshold = 3.5f; // ml per filth produced
const float fluidLeakThreshold = 3.5f;
const float pulloutSuccessRate = 0.8f;
const float fetishPulloutSuccessModifier = 0.25f;
@ -307,15 +307,10 @@ namespace RJW_Menstruation
if (Pawn.IsBreeder()) ovulationChance *= 10.0f;
try
{
StatDefOf.Fertility.Worker.ClearCacheForThing(Pawn); // No effect for now, but a future RW update might add caching for this
calculatingOvulationChance = true;
ovulationChance *= PawnCapacityUtility.CalculateCapacityLevel(Pawn.health.hediffSet, xxx.reproduction);
}
finally
{
calculatingOvulationChance = false;
StatDefOf.Fertility.Worker.ClearCacheForThing(Pawn);
}
finally { calculatingOvulationChance = false; }
}
return ovulationChance;
}
@ -561,9 +556,9 @@ namespace RJW_Menstruation
{
return Utility.BloodDef(Pawn).graphicData.color;
}
catch (Exception ex)
catch
{
Log.WarningOnce($"Error when fetching blood color of {Pawn}: {ex}", Pawn.thingIDNumber + 657493519);
Log.WarningOnce($"Error when fetching BloodDef of {Pawn}", Pawn.thingIDNumber + 657493519);
return Colors.blood;
}
}
@ -642,15 +637,7 @@ namespace RJW_Menstruation
Scribe_Values.Look(ref DoCleanWomb, "DoCleanWomb", false);
Scribe_References.Look(ref pregnancy, "pregnancy");
if (Scribe.mode == LoadSaveMode.PostLoadInit)
{
Initialize();
// Biotech labor errors if the mother is also the father, so don't let that happen
if (pregnancy is HediffWithParents vanillaPreg && vanillaPreg.Mother == vanillaPreg.Father && vanillaPreg.Mother != null)
{
Log.Warning($"Pregnancy of {Pawn} has same mother and father, setting father to null");
vanillaPreg.SetParents(vanillaPreg.Mother, null, vanillaPreg.geneSet);
}
}
}
@ -799,7 +786,7 @@ namespace RJW_Menstruation
{
get
{
if (Pawn.Dead || !Pawn.ShouldCycle()) return null;
if (Pawn.Dead) return null;
StringBuilder tip = new StringBuilder();
tip.Append(Translations.Dialog_WombInfo01);
tip.Append(": ");
@ -821,11 +808,7 @@ namespace RJW_Menstruation
public override string CompDebugString()
{
if (Pawn.Dead ||
!Pawn.ShouldCycle() ||
curStage == Stage.None ||
curStage == Stage.Infertile ||
curStage == Stage.Pregnant) return null;
if (Pawn.Dead || curStage == Stage.None || curStage == Stage.Infertile || curStage == Stage.Pregnant) return null;
StringBuilder debugString = new StringBuilder();
debugString.Append($"Time to next state: ");
debugString.Append(GenDate.ToStringTicksToPeriod(TicksToNextStage()));
@ -861,11 +844,7 @@ namespace RJW_Menstruation
/// <param name="precum"></param>
public void CumIn(Pawn cummer, float volume, float fertility = 1.0f, bool precum = false)
{
if (volume <= 0)
{
if (!precum) Log.Warning($"{cummer} trying to cum inside of {Pawn} with 0 fluid");
return;
}
if (volume <= 0) return;
if (!precum && fertility > 0 && IsDangerDay && cummer.relations.GetPregnancyApproachForPartner(Pawn) == PregnancyApproach.AvoidPregnancy)
{
float successChance = pulloutSuccessRate;
@ -925,11 +904,7 @@ namespace RJW_Menstruation
/// <param name="filthdef"></param>
public void CumIn(Pawn cummer, float volume, string notcumlabel, float decayresist = 0, ThingDef filthdef = null)
{
if (volume <= 0)
{
Log.Warning($"{cummer} trying to cum {notcumlabel} inside of {Pawn} with 0 fluid");
return;
}
if (volume <= 0) return;
float tmp = TotalCum + volume;
float cumd = TotalCumPercent;
if (tmp > CumCapacity)
@ -1454,9 +1429,7 @@ namespace RJW_Menstruation
pregnancy = HediffMaker.MakeHediff(HediffDefOf.PregnantHuman, Pawn);
if (Configurations.EnableBiotechTwins)
pregnancy.TryGetComp<HediffComp_PregeneratedBabies>().AddNewBaby(Pawn, egg.fertilizer);
Pawn father = egg.fertilizer;
if (Pawn == father) father = null;
((Hediff_Pregnant)pregnancy).SetParents(Pawn, father, PregnancyUtility.GetInheritedGeneSet(father, Pawn));
((Hediff_Pregnant)pregnancy).SetParents(Pawn, egg.fertilizer, PregnancyUtility.GetInheritedGeneSet(egg.fertilizer, Pawn));
Pawn.health.AddHediff(pregnancy);
pregnant = true;
deadeggs.Add(egg);

View file

@ -41,21 +41,6 @@ namespace RJW_Menstruation
}
}
public override string GetCurStageDesc
{
get
{
switch (CurrentVisibleStage)
{
case Stage.Anestrus:
if (IsBreedingSeason()) return Translations.Stage_Anestrus_Periodic_Desc;
else goto default;
default:
return base.GetCurStageDesc;
}
}
}
protected override float RaceCyclesPerYear()
{
// Don't bother trying to work seasonal breeding into the math

View file

@ -234,11 +234,9 @@ namespace RJW_Menstruation
{
Pawn baby = comp.PeekBaby();
Pawn thisFather = baby.GetFather() ?? father;
if (thisFather == geneticMother || thisFather == mother) thisFather = null;
bool preventOneLetter = preventLetter || !(baby.Name is NameTriple);
baby.relations.ClearAllRelations(); // To keep ApplyBirthOutcome from erroring when it tries to set up relations
PregnancyUtility.ApplyBirthOutcome_NewTemp(thisOutcome, quality, ritual, genes, geneticMother, birtherThing, thisFather, doctor, lordJobRitual, assignments, preventOneLetter);
PregnancyUtility.ApplyBirthOutcome_NewTemp(thisOutcome, quality, ritual, genes, geneticMother, birtherThing, thisFather, doctor, lordJobRitual, assignments, preventLetter);
// No more babies if mom dies halfway through. Unrealistic maybe, but saves a lot of headache in ApplyBirthOutcome
if (mother.Dead) break;
if (xxx.is_human(baby))
@ -295,11 +293,9 @@ namespace RJW_Menstruation
{
Pawn baby = comp.PeekBaby();
Pawn thisFather = baby.GetFather() ?? father;
if (thisFather == geneticMother || thisFather == mother) thisFather = null;
bool preventOneLetter = !(baby.Name is NameTriple);
baby.relations.ClearAllRelations();
PregnancyUtility.ApplyBirthOutcome_NewTemp(outcome, quality, ritual, genes, geneticMother, birtherThing, thisFather, doctor, lordJobRitual, assignments, preventLetter: preventOneLetter);
PregnancyUtility.ApplyBirthOutcome(outcome, quality, ritual, genes, geneticMother, birtherThing, thisFather, doctor, lordJobRitual, assignments);
if (mother.Dead) break;
if (xxx.is_human(baby))
mother.records.Increment(xxx.CountOfBirthHuman);

View file

@ -67,13 +67,18 @@ namespace RJW_Menstruation
{
switch (hediff)
{
case Hediff_BasePregnancy _:
case Hediff_Pregnant _:
case Hediff_Labor _:
case Hediff_LaborPushing _:
return hediff.GetMenstruationCompFromPregnancy();
case ISexPartHediff _:
return hediff.GetMenstruationCompFromVagina();
case Hediff_BasePregnancy rjwPreg:
return rjwPreg.GetMenstruationCompFromPregnancy();
case Hediff_Pregnant vanillaPreg:
return vanillaPreg.GetMenstruationCompFromPregnancy();
case Hediff_Labor vanillaLabor:
return vanillaLabor.GetMenstruationCompFromPregnancy();
case Hediff_LaborPushing vanillaLaborPushing:
return vanillaLaborPushing.GetMenstruationCompFromPregnancy();
case Hediff_PartBaseNatural rjwNatrual:
return rjwNatrual.GetMenstruationCompFromVagina();
case Hediff_PartBaseArtifical rjwArtificial:
return rjwArtificial.GetMenstruationCompFromVagina();
default:
Log.Warning("Obsolete GetMenstruationComp called with unknown hediff. Ensure your submods are up to date.");
return null;
@ -82,7 +87,7 @@ namespace RJW_Menstruation
public static HediffComp_Anus GetAnusComp(this Hediff hediff)
{
if (hediff is ISexPartHediff)
if (hediff is Hediff_PartBaseNatural || hediff is Hediff_PartBaseArtifical)
{
return hediff.TryGetComp<HediffComp_Anus>();
}
@ -237,7 +242,7 @@ namespace RJW_Menstruation
bool isInduced = comp is HediffComp_InducedOvulator;
if (comp.curStage == HediffComp_Menstruation.Stage.Follicular &&
isInduced &&
comp.Pawn.jobs?.curDriver is JobDriver_Sex job &&
comp.Pawn.jobs.curDriver is JobDriver_Sex job &&
job.Sexprops != null &&
!UsingCondom(comp.Pawn, job.Partner) &&
(job.Sexprops.sexType == xxx.rjwSextype.Vaginal || job.Sexprops.sexType == xxx.rjwSextype.DoublePenetration))

View file

@ -15,7 +15,7 @@ namespace RJW_Menstruation
public static void Postfix(Hediff_Pregnant __instance)
{
HediffComp_PregeneratedBabies babiesComp = __instance.TryGetComp<HediffComp_PregeneratedBabies>();
babiesComp?.Miscarried();
if (babiesComp != null) babiesComp.Miscarried();
HediffComp_Menstruation menstruationComp = __instance.GetMenstruationCompFromPregnancy();
if (menstruationComp != null) menstruationComp.Pregnancy = null;

View file

@ -33,14 +33,10 @@ namespace RJW_Menstruation
foreach (LocalTargetInfo t in selftargets)
{
if (t.Pawn == pawn)
{
if (pawn.HasMenstruationComp() && pawn.ShouldCycle())
opts.AddDistinct(MakeSelfMenu(pawn, t));
if (t.Pawn == pawn && pawn.HasMenstruationComp()) opts.AddDistinct(MakeSelfMenu(pawn, t));
break;
}
}
}
public static FloatMenuOption MakeSelfMenu(Pawn pawn, LocalTargetInfo target)
{

View file

@ -20,45 +20,45 @@ namespace RJW_Menstruation
public static bool Prefix(SexProps props)
{
xxx.rjwSextype sextype = props.sexType;
Pawn father = props.pawn;
Pawn mother = props.partner;
Pawn pawn = props.pawn; // Penis
Pawn partner = props.partner; // Womb
if (sextype != xxx.rjwSextype.Vaginal && sextype != xxx.rjwSextype.DoublePenetration) return true;
if (!mother.ShouldCycle()) return true;
if (!partner.ShouldCycle()) return true;
if (!InteractionCanCausePregnancy(props)) return false;
List<Hediff> pawnparts = Genital_Helper.get_PartsHediffList(father, Genital_Helper.get_genitalsBPR(father));
List<Hediff> pawnparts = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn));
HediffComp_Menstruation comp;
if (father.HasImpregnationFetish() || mother.HasImpregnationFetish() || mother.IsInEstrus())
comp = mother.GetFertileMenstruationComp();
else comp = mother.GetRandomMenstruationComp();
if (pawn.HasImpregnationFetish() || partner.HasImpregnationFetish() || partner.IsInEstrus())
comp = partner.GetFertileMenstruationComp();
else comp = partner.GetRandomMenstruationComp();
if (comp == null) return true;
if (Genital_Helper.has_penis_fertile(father, pawnparts) && PregnancyHelper.CanImpregnate(father, mother, sextype))
if (Genital_Helper.has_penis_fertile(pawn, pawnparts) && PregnancyHelper.CanImpregnate(pawn, partner, sextype))
{
if (MenstruationUtility.UsingCondom(father, mother)) return false; // Probably unnecessary
if (MenstruationUtility.UsingCondom(pawn, partner)) return false; // Probably unnecessary
PregnancyHelper.DoImpregnate(father, mother);
PregnancyHelper.DoImpregnate(pawn, partner);
return false;
}
else if (Genital_Helper.has_ovipositorM(father, pawnparts))
else if (Genital_Helper.has_ovipositorM(pawn, pawnparts))
{
comp.CumIn(father, Rand.Range(0.75f, 4.5f) * father.BodySize, father.SterileGenes() ? 0.0f : 1.0f);
comp.CumIn(pawn, Rand.Range(0.75f, 4.5f) * pawn.BodySize, pawn.SterileGenes() ? 0.0f : 1.0f);
}
else comp.CumIn(father, father.GetCumVolume(pawnparts), 0);
else comp.CumIn(pawn, pawn.GetCumVolume(pawnparts), 0);
return true;
}
public static void Postfix(SexProps props)
{
Pawn mother = props.partner;
Pawn pawn = props.partner;
if (props.sexType != xxx.rjwSextype.MechImplant && mother.health.hediffSet.GetFirstHediff<Hediff_InsectEgg>() == null) return;
if (props.sexType != xxx.rjwSextype.MechImplant && pawn.health.hediffSet.GetFirstHediff<Hediff_InsectEgg>() == null) return;
// The existing pregnancies might have been destroyed, so go through see if any new mech pregnancies need to be picked up
foreach (HediffComp_Menstruation comp in mother.GetMenstruationComps())
foreach (HediffComp_Menstruation comp in pawn.GetMenstruationComps())
{
_ = comp.Pregnancy; // get_Pregnancy will do any removals
comp.TakeLoosePregnancy();
@ -99,26 +99,23 @@ namespace RJW_Menstruation
[HarmonyPatch(typeof(PregnancyHelper), nameof(PregnancyHelper.DoImpregnate))]
public static class DoImpregnate_Patch
{
public static bool Prefix(Pawn pawn, Pawn partner)
public static bool Prefix(Pawn pawn, Pawn partner) // partner has vagina
{
Pawn father = pawn;
Pawn mother = partner;
if (!mother.ShouldCycle()) return true;
if (!partner.ShouldCycle()) return true;
HediffComp_Menstruation comp;
if (father.HasImpregnationFetish() || mother.HasImpregnationFetish() || mother.IsInEstrus())
comp = mother.GetFertileMenstruationComp();
else comp = mother.GetRandomMenstruationComp();
if (pawn.HasImpregnationFetish() || partner.HasImpregnationFetish() || partner.IsInEstrus())
comp = partner.GetFertileMenstruationComp();
else comp = partner.GetRandomMenstruationComp();
if (comp == null)
{
return true;
}
else if (AndroidsCompatibility.IsAndroid(father) && !AndroidsCompatibility.AndroidPenisFertility(father))
else if (AndroidsCompatibility.IsAndroid(pawn) && !AndroidsCompatibility.AndroidPenisFertility(pawn))
{
comp.CumIn(father, father.GetCumVolume(), 0);
comp.CumIn(pawn, pawn.GetCumVolume(), 0);
return false;
}
else comp.CumIn(father, father.GetCumVolume(), father.SterileGenes() ? 0.0f : father.health.capacities.GetLevel(xxx.reproduction));
else comp.CumIn(pawn, pawn.GetCumVolume(), pawn.SterileGenes() ? 0.0f : pawn.health.capacities.GetLevel(xxx.reproduction));
return false;
}
}
@ -159,11 +156,9 @@ namespace RJW_Menstruation
{
// The comp still has the pregnancy attached at this point in the process
Hediff vagina = (__instance.GetMenstruationCompFromPregnancy()?.parent) ?? mother.health.hediffSet.hediffs.FirstOrFallback(x => VariousDefOf.AllVaginas.Contains(x.def));
HediffComp_SexPart vaginaComp = vagina?.TryGetComp<HediffComp_SexPart>();
if (vaginaComp == null) return;
float morph = Mathf.Max(baby.BodySize - Mathf.Pow(vaginaComp.Size, 2), 0f);
vaginaComp.baseSize += morph * Configurations.VaginaMorphPower;
vaginaComp.UpdateSeverity();
if (vagina == null) return;
float morph = Mathf.Max(baby.BodySize - Mathf.Pow(vagina.Severity * mother.BodySize, 2), 0f);
vagina.Severity += morph * Configurations.VaginaMorphPower;
}
}
}
@ -359,42 +354,39 @@ namespace RJW_Menstruation
public static void Postfix(JobDriver_Sex __instance, Pawn pawn, Thing target)
{
Pawn father = pawn;
if (!father.IsHashIntervalTick(__instance.ticks_between_thrusts)) return;
if (!pawn.IsHashIntervalTick(__instance.ticks_between_thrusts)) return;
xxx.rjwSextype sextype = __instance.Sexprops.sexType;
if (!(target is Pawn mother)) return;
if (!(target is Pawn partner)) return;
if (sextype != xxx.rjwSextype.Vaginal && sextype != xxx.rjwSextype.DoublePenetration) return;
if (MenstruationUtility.UsingCondom(father, mother)) return;
if (AndroidsCompatibility.IsAndroid(father)) return;
if (MenstruationUtility.UsingCondom(pawn, partner)) return;
if (AndroidsCompatibility.IsAndroid(pawn)) return;
if (!Impregnate_Patch.InteractionCanCausePregnancy(__instance.Sexprops)) return;
if (!mother.ShouldCycle()) return;
if (!partner.ShouldCycle()) return;
HediffComp_SexPart penisComp = Genital_Helper.get_PartsHediffList(father, Genital_Helper.get_genitalsBPR(father)).
Select(hed => hed.TryGetComp<HediffComp_SexPart>()).
Where(p => p?.Def.genitalFamily == GenitalFamily.Penis).
RandomElementWithFallback();
// Archotech penises have more control. Or something.
CompHediffBodyPart penisComp = pawn.GetGenitalsList()?.Find(genital => (genital as Hediff_PartBaseNatural)?.def.defName.ToLower().Contains("penis") ?? false)?.TryGetComp<CompHediffBodyPart>();
if (penisComp == null || Rand.ChanceSeeded(1.0f - fertilePrecummersPercentage, Gen.HashOffset(penisComp.parent.loadID))) return;
HediffComp_Menstruation vaginaComp = mother.GetRandomMenstruationComp();
HediffComp_Menstruation vaginaComp = partner.GetRandomMenstruationComp();
if (vaginaComp == null) return;
float precumAmount = father.GetCumVolume(penisComp) * precumRatio * __instance.ticks_between_thrusts / expectedDurationTicks;
vaginaComp.CumIn(father, precumAmount, father.SterileGenes() ? 0.0f : precumFertility * father.health.capacities.GetLevel(xxx.reproduction), true);
float precumAmount = pawn.GetCumVolume(penisComp) * precumRatio * __instance.ticks_between_thrusts / expectedDurationTicks;
vaginaComp.CumIn(pawn, precumAmount, pawn.SterileGenes() ? 0.0f : precumFertility * pawn.health.capacities.GetLevel(xxx.reproduction), true);
}
}
//[HarmonyPatch(typeof(HediffComp_SexPart), "get_Size")]
//public static class SexPart_Size_Patch
//{
// public static void Postfix(ref float __result, HediffComp_SexPart __instance)
// {
// HediffComp_Breast comp = __instance.parent.GetBreastComp();
// if (comp != null)
// {
// __result += comp.BreastSizeIncreased;
// }
[HarmonyPatch(typeof(CompHediffBodyPart), nameof(CompHediffBodyPart.updatesize))]
public static class Updatesize_Patch
{
public static void Postfix(CompHediffBodyPart __instance)
{
HediffComp_Breast comp = __instance.parent.GetBreastComp();
if (comp != null)
{
__instance.parent.Severity += comp.BreastSizeIncreased;
}
// }
//}
}
}
[HarmonyPatch(typeof(PawnCapacityWorker_Fertility), "CalculateAgeImpact")]
public static class PawnCapacityWorker_Fertility_Age_Patch

View file

@ -170,10 +170,7 @@ namespace RJW_Menstruation
// Normally not a problem, but with the hybrid system, two humanlikes might produce an animal
// So override it and force the child to be human
if (noAnimalsFromHumanlikes && mother.genes != null && father?.genes != null && !spawn_kind_def.race.race.Humanlike)
{
Log.Warning($"{mother}: cannot produce an animal from two humanlikes with Biotech pregnancy, setting child to humanlike");
spawn_kind_def = Rand.Chance(RJWPregnancySettings.humanlike_DNA_from_mother) ? motherKindDef : fatherKindDef;
}
return spawn_kind_def;
@ -244,16 +241,18 @@ namespace RJW_Menstruation
private static void CopyBodyPartProperties(Hediff part, Hediff originalPart)
{
HediffComp_SexPart comp = part.TryGetComp<HediffComp_SexPart>();
HediffComp_SexPart originalComp = originalPart.TryGetComp<HediffComp_SexPart>();
CompHediffBodyPart comp = part.TryGetComp<CompHediffBodyPart>();
CompHediffBodyPart originalComp = originalPart.TryGetComp<CompHediffBodyPart>();
if (comp != null && originalComp != null)
{
comp.baseSize = originalComp.baseSize;
comp.partFluidMultiplier = originalComp.partFluidMultiplier;
comp.Fluid = originalComp.Fluid;
comp.discovered = originalComp.discovered;
comp.UpdateSeverity();
// the string properties should be the same between both pawns anyways, besides the name of the owner
part.Severity = originalPart.Severity;
comp.SizeBase = originalComp.SizeBase;
comp.SizeOwner = originalComp.SizeOwner;
comp.EffSize = originalComp.EffSize;
comp.FluidAmmount = originalComp.FluidAmmount;
comp.FluidModifier = originalComp.FluidModifier;
}
HediffComp_Menstruation originalMenstruationComp = originalPart.GetMenstruationCompFromVagina();
@ -289,6 +288,7 @@ namespace RJW_Menstruation
// A bit wasteful since Hediff_BasePregnancy.PostBirth already redid the genitals
CopyBodyPartRecord(baby, original, Genital_Helper.get_genitalsBPR(baby), Genital_Helper.get_genitalsBPR(original));
CopyBodyPartRecord(baby, original, Genital_Helper.get_breastsBPR(baby), Genital_Helper.get_breastsBPR(original));
CopyBodyPartRecord(baby, original, Genital_Helper.get_uddersBPR(baby), Genital_Helper.get_uddersBPR(original));
CopyBodyPartRecord(baby, original, Genital_Helper.get_anusBPR(baby), Genital_Helper.get_anusBPR(original));
}

View file

@ -110,6 +110,10 @@
<HintPath>..\..\..\..\..\..\..\..\workshop\content\294100\2830943477\1.5\Assemblies\AnimalGenetics.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Assembly-CSharp">
<HintPath>..\..\..\..\..\..\RimWorldWin64_Data\Managed\Assembly-CSharp.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="RJW">
<HintPath>..\..\..\..\..\rjw\1.5\Assemblies\RJW.dll</HintPath>
<Private>False</Private>
@ -174,9 +178,6 @@
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Krafs.Rimworld.Ref">
<Version>1.5.4409</Version>
</PackageReference>
<PackageReference Include="Lib.Harmony">
<Version>2.3.2</Version>
<ExcludeAssets>runtime</ExcludeAssets>

View file

@ -10,7 +10,7 @@ namespace RJW_Menstruation
{
public override IEnumerable<BodyPartRecord> GetPartsToApplyOn(Pawn pawn, RecipeDef recipe)
{
BodyPartRecord part = Genital_Helper.get_breastsBPR(pawn);
BodyPartRecord part = Genital_Helper.get_breastsBPR(pawn) ?? Genital_Helper.get_uddersBPR(pawn);
if (part != null)
{

View file

@ -192,7 +192,6 @@ namespace RJW_Menstruation
public bool effectsAfterDirty = false;
public ThingDef dirtyDef = null;
public int minHourstoDirtyEffect = 0;
public float dirtyEffectMTBHrs = 100.0f;
}
public class Absorber : Apparel
@ -206,7 +205,6 @@ namespace RJW_Menstruation
public virtual bool EffectAfterDirty => def.GetModExtension<AbsorberModExtension>().effectsAfterDirty;
public virtual ThingDef DirtyDef => def.GetModExtension<AbsorberModExtension>().dirtyDef;
public virtual int MinHrstoDirtyEffect => def.GetModExtension<AbsorberModExtension>().minHourstoDirtyEffect;
public virtual float DirtyEffectMTBHrs => def.GetModExtension<AbsorberModExtension>().dirtyEffectMTBHrs;
public Color fluidColor = Color.white;
@ -268,7 +266,7 @@ namespace RJW_Menstruation
public override void DirtyEffect(int tickInterval)
{
if (wearTicks > MinHrstoDirtyEffect * GenDate.TicksPerHour && Rand.MTBEventOccurs(DirtyEffectMTBHrs, GenDate.TicksPerHour, tickInterval) && !(Wearer.apparel?.IsLocked(this) ?? false))
if (wearTicks > MinHrstoDirtyEffect * GenDate.TicksPerHour && Rand.MTBEventOccurs(100.0f, GenDate.TicksPerHour, tickInterval) && !(Wearer.apparel?.IsLocked(this) ?? false))
{
Wearer.health.AddHediff(HediffDefOf.WoundInfection, Genital_Helper.get_genitalsBPR(Wearer));
}

View file

@ -28,7 +28,6 @@ namespace RJW_Menstruation
public static readonly string Stage_Menopause_Desc = "Stage_Menopause_Desc".Translate();
public static readonly string Stage_Climacteric_Desc = "Stage_Climacteric_Desc".Translate();
public static readonly string Stage_Anestrus_Desc = "Stage_Anestrus_Desc".Translate();
public static readonly string Stage_Anestrus_Periodic_Desc = "Stage_Anestrus_Periodic_Desc".Translate();
public static readonly string Button_HealthTab = "Button_HealthTab".Translate();
public static readonly string Button_MilkTooltip = "Button_MilkTooltip".Translate();
public static readonly string Dialog_DoCleanWomb_Tooltip = "Dialog_DoCleanWomb_Tooltip".Translate();

View file

@ -57,16 +57,6 @@ namespace RJW_Menstruation
pawn.kindDef;
}
public static HediffComp_SexPart GetPenisSexPart(this Pawn pawn, List<Hediff> hediffs)
{
List<HediffComp_SexPart> parts = hediffs.Select(hed => hed.TryGetComp<HediffComp_SexPart>()).Where(p => p != null).ToList();
return
parts.Where(p => p.Def.genitalFamily == GenitalFamily.Penis).RandomElementWithFallback() ??
parts.Where(p => p.Def.genitalFamily == GenitalFamily.FemaleOvipositor).RandomElementWithFallback() ??
parts.Where(p => p.Def.genitalFamily == GenitalFamily.MaleOvipositor).RandomElementWithFallback();
}
public static float GetCumVolume(this Pawn pawn)
{
List<Hediff> hediffs = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn));
@ -76,16 +66,26 @@ namespace RJW_Menstruation
public static float GetCumVolume(this Pawn pawn, List<Hediff> hediffs)
{
if (hediffs.NullOrEmpty()) return 0.0f;
return pawn.GetCumVolume(pawn.GetPenisSexPart(hediffs));
CompHediffBodyPart part = (((hediffs?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("penis")).InRandomOrder().FirstOrDefault()?.TryGetComp<CompHediffBodyPart>()) ??
(hediffs?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("ovipositorf")).InRandomOrder().FirstOrDefault()?.TryGetComp<CompHediffBodyPart>())) ??
(hediffs?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("ovipositorm")).InRandomOrder().FirstOrDefault()?.TryGetComp<CompHediffBodyPart>())) ??
(hediffs?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("tentacle")).InRandomOrder().FirstOrDefault()?.TryGetComp<CompHediffBodyPart>());
return pawn.GetCumVolume(part);
}
public static float GetCumVolume(this Pawn pawn, HediffComp_SexPart part)
public static float GetCumVolume(this Pawn pawn, CompHediffBodyPart part)
{
if (part == null) return 0.0f;
float res;
float res = VariationRange(part.FluidAmount, 0.2f);
try
{
res = VariationRange(part.FluidAmmount * part.FluidModifier * pawn.BodySize / pawn.RaceProps.baseBodySize, 0.2f);
}
catch (NullReferenceException)
{
res = 0.0f;
}
if (pawn.IsMessy()) res *= Rand.Range(4.0f, 8.0f);
return res;
@ -100,7 +100,7 @@ namespace RJW_Menstruation
public static HediffComp_Breast GetBreastComp(this Hediff hediff)
{
if (hediff is Hediff_NaturalSexPart)
if (hediff is Hediff_PartBaseNatural)
{
return hediff.TryGetComp<HediffComp_Breast>();
}
@ -120,7 +120,7 @@ namespace RJW_Menstruation
public static bool HasMenstruationComp(this Hediff hediff)
{
if ((hediff is ISexPartHediff) && hediff.TryGetComp<HediffComp_Menstruation>() != null)
if ((hediff is Hediff_PartBaseNatural || hediff is Hediff_PartBaseArtifical) && hediff.TryGetComp<HediffComp_Menstruation>() != null)
return true;
else return false;
}
@ -461,18 +461,18 @@ namespace RJW_Menstruation
public static ThingDef BloodDef(Pawn pawn)
{
if (pawn == null) return ThingDefOf.Filth_Blood;
if (Configurations.VEFActivated)
{
ThingDef VEBloodDef = VECompatibility.VEGeneBloodDef(pawn);
if (VEBloodDef != null) return VEBloodDef;
}
ThingDef bloodDef = null;
if (Configurations.VEFActivated) bloodDef = VECompatibility.VEGeneBloodDef(pawn);
if (bloodDef != null) return bloodDef;
if (pawn.Dead && pawn.IsShambler) return MutantDefOf.Shambler.bloodDef;
if (pawn.IsMutant)
{
ThingDef MutantBloodDef = pawn.mutant.Def.bloodDef;
if (MutantBloodDef != null) return MutantBloodDef;
ThingDef mutantBloodDef = pawn.mutant.Def.bloodDef;
if (mutantBloodDef != null) return mutantBloodDef;
}
return pawn.RaceProps?.BloodDef ?? ThingDefOf.Filth_Blood;
bloodDef = pawn.RaceProps?.BloodDef;
if (bloodDef != null) return bloodDef;
return ThingDefOf.Filth_Blood;
}
}
}

View file

@ -60,7 +60,7 @@ namespace RJW_Menstruation
get
{
if (allraces != null) return allraces;
allraces = DefDatabase<ThingDef>.AllDefsListForReading.Where(thingdef => (thingdef.race?.IsFlesh ?? false) && !thingdef.IsCorpse).ToList();
allraces = DefDatabase<ThingDef>.AllDefsListForReading.Where(thingdef => thingdef.race?.IsFlesh ?? false).ToList();
return allraces;
}
@ -77,7 +77,18 @@ namespace RJW_Menstruation
}
private static HashSet<HediffDef> GetCompHashSet(Type type)
{
return DefDatabase<HediffDef>.AllDefsListForReading.Where(hediffdef => hediffdef.comps?.Any(comp => type.IsAssignableFrom(comp.compClass)) ?? false).ToHashSet();
HashSet<HediffDef> set = new HashSet<HediffDef>();
foreach (HediffDef hediffDef in DefDatabase<HediffDef>.AllDefsListForReading)
{
if (hediffDef.comps.NullOrEmpty()) continue;
foreach (HediffCompProperties comp in hediffDef.comps)
if (comp.compClass == type || (comp.compClass?.IsSubclassOf(type) ?? false))
{
set.Add(hediffDef);
break;
}
}
return set;
}
public static HashSet<HediffDef> AllVaginas
{

View file

@ -1,51 +0,0 @@
using AnimalGenetics;
using HarmonyLib;
using RimWorld;
using RJW_Menstruation;
using System.Collections.Generic;
using Verse;
namespace RJW_Menstruation_Animal_Genetics
{
[HarmonyPatch(typeof(AnimalGeneticsCompatibility), nameof(AnimalGeneticsCompatibility.PreConception))]
public static class PreConception_Patch
{
static void Postfix(Pawn mother, Pawn father)
{
GeneticInformation motherGeneticInformation = mother?.AnimalGenetics();
GeneticInformation fatherGeneticInformation = father?.AnimalGenetics();
ParentReferences.Push(new ParentReferences.Record { Mother = motherGeneticInformation, Father = fatherGeneticInformation });
}
}
[HarmonyPatch(typeof(AnimalGeneticsCompatibility), nameof(AnimalGeneticsCompatibility.PostConception))]
public static class PostConception_Patch
{
static void Postfix()
{
ParentReferences.Pop();
}
}
[HarmonyPatch(typeof(AnimalGeneticsCompatibility), nameof(AnimalGeneticsCompatibility.CopyGenes))]
public static class CopyGenes_Patch
{
static void Postfix(Pawn baby, Pawn original)
{
Dictionary<StatDef, GeneRecord> babyRecords = baby.AnimalGenetics()?.GeneRecords;
Dictionary<StatDef, GeneRecord> originalRecords = original.AnimalGenetics()?.GeneRecords;
if (babyRecords == null || originalRecords == null) return;
foreach (KeyValuePair<StatDef, GeneRecord> record in originalRecords)
{
GeneRecord originalRecord = record.Value;
if (!babyRecords.TryGetValue(record.Key, out GeneRecord babyRecord)) continue; // Shouldn't fail, but best to be safe
babyRecord.Parent = originalRecord.Parent;
babyRecord.Value = originalRecord.Value;
}
}
}
}

View file

@ -1,73 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{07A63534-EF4E-489D-8EA9-84B24E1BA944}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Animal_Genetics</RootNamespace>
<AssemblyName>Animal Genetics</AssemblyName>
<TargetFrameworkVersion>v4.8.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\..\assemblies\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\..\Assemblies\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="0Harmony, Version=2.3.6.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\..\source\RJW_Menstruation\packages\Lib.Harmony.2.3.6\lib\net48\0Harmony.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="AnimalGenetics">
<HintPath>..\..\..\..\..\..\..\..\workshop\content\294100\2830943477\1.6\Assemblies\AnimalGenetics.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Assembly-CSharp">
<HintPath>..\..\..\..\..\..\RimWorldWin64_Data\Managed\Assembly-CSharp.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="AGCompatibility.cs" />
<Compile Include="Harmony.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\source\RJW_Menstruation\RJW_Menstruation\RJW_Menstruation.csproj">
<Project>{eed2f3b9-8c20-4194-919e-8d151b29f70b}</Project>
<Name>RJW_Menstruation</Name>
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Folder Include="Properties\" />
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View file

@ -1,16 +0,0 @@
using HarmonyLib;
using System.Reflection;
using Verse;
namespace RJW_Menstruation_Animal_Genetics
{
[StaticConstructorOnStartup]
internal static class First
{
static First()
{
Harmony har = new Harmony("RJW_Menstruation.AG");
har.PatchAll(Assembly.GetExecutingAssembly());
}
}
}

View file

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Lib.Harmony" version="2.3.6" targetFramework="net48" />
</packages>

Binary file not shown.

View file

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
</startup>
</configuration>

View file

@ -1,188 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<ThingDef ParentName="MakeableDrugPillBase">
<defName>OvaryRegenerationPill</defName>
<label>Ovary regeneration pill</label>
<description>Recovers the ovaries' health, restoring some quantity of eggs.&#10;Less effective on ovaries with few eggs remaining.&#10;Cannot recover menopause.</description>
<graphicData>
<texPath>Things/Item/ORPill</texPath>
<graphicClass>Graphic_StackCount</graphicClass>
</graphicData>
<rotatable>false</rotatable>
<statBases>
<WorkToMake>2400</WorkToMake>
<MarketValue>160</MarketValue>
<Mass>0.05</Mass>
</statBases>
<techLevel>Industrial</techLevel>
<ingestible>
<drugCategory>Medical</drugCategory>
<outcomeDoers>
<li Class="RJW_Menstruation.OvaryPillOutcomeDoer">
<effectOffset>0.3</effectOffset>
</li>
</outcomeDoers>
</ingestible>
<recipeMaker>
<researchPrerequisite>DrugProduction</researchPrerequisite>
<recipeUsers>
<li>DrugLab</li>
</recipeUsers>
</recipeMaker>
<costList>
<MedicineHerbal>10</MedicineHerbal>
<Neutroamine>4</Neutroamine>
<InsectJelly>8</InsectJelly>
</costList>
<comps>
<li Class="CompProperties_Drug">
<addictiveness>0</addictiveness>
<listOrder>1000</listOrder>
<overdoseSeverityOffset>
<min>0.08</min>
<max>0.14</max>
</overdoseSeverityOffset>
</li>
</comps>
</ThingDef>
<ThingDef ParentName="MakeableDrugPillBase">
<defName>SuperovulationInducingAgent</defName>
<label>Superovulation inducing agent</label>
<description>Induce superovulation, causing the next ovulation to produce 1-4 extra eggs.&#10;&#10;May hasten the onset of menopause.</description>
<graphicData>
<texPath>Things/Item/SIA</texPath>
<graphicClass>Graphic_StackCount</graphicClass>
</graphicData>
<rotatable>false</rotatable>
<statBases>
<WorkToMake>2400</WorkToMake>
<MarketValue>140</MarketValue>
<Mass>0.05</Mass>
</statBases>
<techLevel>Industrial</techLevel>
<ingestible>
<drugCategory>Medical</drugCategory>
<outcomeDoers>
<li Class="RJW_Menstruation.SuperOvulationOutcomeDoer">
</li>
</outcomeDoers>
</ingestible>
<recipeMaker>
<researchPrerequisite>DrugProduction</researchPrerequisite>
<recipeUsers>
<li>DrugLab</li>
</recipeUsers>
</recipeMaker>
<costList>
<MedicineHerbal>12</MedicineHerbal>
<Neutroamine>6</Neutroamine>
</costList>
<comps>
<li Class="CompProperties_Drug">
<addictiveness>0</addictiveness>
<listOrder>1000</listOrder>
<overdoseSeverityOffset>
<min>0.08</min>
<max>0.14</max>
</overdoseSeverityOffset>
</li>
</comps>
</ThingDef>
<ThingDef ParentName="MakeableDrugPillBase">
<defName>PainReliever</defName>
<label>Pain reliever</label>
<description>Relieves menstrual pain for 24 hours.&#10;&#10;Also effective on other sources of pain.</description>
<graphicData>
<texPath>Things/Item/PainReliever</texPath>
<graphicClass>Graphic_StackCount</graphicClass>
</graphicData>
<rotatable>false</rotatable>
<statBases>
<WorkToMake>1000</WorkToMake>
<MarketValue>12</MarketValue>
<Mass>0.01</Mass>
</statBases>
<techLevel>Industrial</techLevel>
<ingestible>
<drugCategory>Medical</drugCategory>
<outcomeDoers>
<li Class="IngestionOutcomeDoer_GiveHediff">
<hediffDef>Hediff_PainReliever</hediffDef>
<severity>1.0</severity>
</li>
</outcomeDoers>
</ingestible>
<recipeMaker>
<researchPrerequisite>DrugProduction</researchPrerequisite>
<recipeUsers>
<li>DrugLab</li>
</recipeUsers>
</recipeMaker>
<costList>
<MedicineHerbal>1</MedicineHerbal>
</costList>
<comps>
<li Class="CompProperties_Drug">
<addictiveness>0</addictiveness>
<listOrder>1000</listOrder>
<overdoseSeverityOffset>
<min>0.08</min>
<max>0.14</max>
</overdoseSeverityOffset>
</li>
</comps>
</ThingDef>
<ThingDef ParentName="MakeableDrugPillBase">
<defName>Cyclosporine</defName>
<label>cyclosporine</label>
<description>An immunosuppressant.&#10;Can cure antisperm antibody, but reduces the body's ability to fight off infection and disease for 24 hours.</description>
<graphicData>
<texPath>Things/Item/Cyclosporine</texPath>
<graphicClass>Graphic_StackCount</graphicClass>
</graphicData>
<rotatable>false</rotatable>
<statBases>
<WorkToMake>1000</WorkToMake>
<MarketValue>12</MarketValue>
<Mass>0.01</Mass>
</statBases>
<techLevel>Industrial</techLevel>
<ingestible>
<drugCategory>Medical</drugCategory>
<outcomeDoers>
<li Class="IngestionOutcomeDoer_GiveHediff">
<hediffDef>Hediff_Cyclosporine</hediffDef>
<severity>1.0</severity>
</li>
<li Class="RJW_Menstruation.IngestionOutcomeDoer_AdjustSeverity">
<hediffDef>Hediff_ASA</hediffDef>
<severity>-0.20</severity>
</li>
</outcomeDoers>
</ingestible>
<recipeMaker>
<researchPrerequisite>DrugProduction</researchPrerequisite>
<recipeUsers>
<li>DrugLab</li>
</recipeUsers>
</recipeMaker>
<costList>
<MedicineHerbal>1</MedicineHerbal>
</costList>
<comps>
<li Class="CompProperties_Drug">
<addictiveness>0</addictiveness>
<listOrder>1000</listOrder>
<overdoseSeverityOffset>
<min>0.08</min>
<max>0.14</max>
</overdoseSeverityOffset>
</li>
</comps>
</ThingDef>
</Defs>

View file

@ -1,150 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<GeneCategoryDef>
<defName>Menstruation</defName>
<label>menstruation</label>
<displayPriorityInXenotype>402</displayPriorityInXenotype>
</GeneCategoryDef>
<GeneDef Name="Menstruation_EggLifetime" Abstract="True">
<displayCategory>Menstruation</displayCategory>
<iconPath>UI/Genes/Placeholder</iconPath>
<exclusionTags>
<li>Menstruation_EggLifetime</li>
</exclusionTags>
</GeneDef>
<GeneDef ParentName="Menstruation_EggLifetime">
<defName>Menstruation_ShortEggLifetime</defName>
<label>short egg lifetime</label>
<description>Unfertilized eggs with this gene last three-quarters as long.</description>
<iconPath>UI/Genes/ShortEggLifetime</iconPath>
<biostatMet>1</biostatMet>
<displayOrderInCategory>10</displayOrderInCategory>
<modExtensions>
<li Class ="RJW_Menstruation.MenstruationModExtension">
<eggLifeTimeFactor>0.75</eggLifeTimeFactor>
</li>
</modExtensions>
</GeneDef>
<GeneDef ParentName="Menstruation_EggLifetime">
<defName>Menstruation_DoubleEggLifetime</defName>
<label>double egg lifetime</label>
<description>Unfertilized eggs with this gene last twice as long.</description>
<iconPath>UI/Genes/DoubleEggLifetime</iconPath>
<biostatMet>-1</biostatMet>
<displayOrderInCategory>12</displayOrderInCategory>
<modExtensions>
<li Class ="RJW_Menstruation.MenstruationModExtension">
<eggLifeTimeFactor>2.0</eggLifeTimeFactor>
</li>
</modExtensions>
</GeneDef>
<GeneDef ParentName="Menstruation_EggLifetime">
<defName>Menstruation_QuadEggLifetime</defName>
<label>quadrule egg lifetime</label>
<description>Eggs with this gene last four times as long.</description>
<iconPath>UI/Genes/QuadEggLifetime</iconPath>
<biostatMet>-2</biostatMet>
<biostatCpx>1</biostatCpx>
<displayOrderInCategory>16</displayOrderInCategory>
<modExtensions>
<li Class ="RJW_Menstruation.MenstruationModExtension">
<eggLifeTimeFactor>4.0</eggLifeTimeFactor>
</li>
</modExtensions>
</GeneDef>
<GeneDef Name="Menstruation_Estrus" Abstract="True">
<displayCategory>Menstruation</displayCategory>
<iconPath>UI/Genes/Placeholder</iconPath>
<exclusionTags>
<li>Menstruation_Estrus</li>
</exclusionTags>
</GeneDef>
<GeneDef ParentName="Menstruation_Estrus">
<defName>Menstruation_NeverEstrus</defName>
<label>never estrus</label>
<description>Carriers of this gene will never go into estrus.</description>
<iconPath>UI/Genes/NeverEstrus</iconPath>
<biostatMet>1</biostatMet>
<displayOrderInCategory>20</displayOrderInCategory>
<modExtensions>
<li Class ="RJW_Menstruation.MenstruationModExtension">
<neverEstrus>true</neverEstrus>
</li>
</modExtensions>
</GeneDef>
<GeneDef ParentName="Menstruation_Estrus">
<defName>Menstruation_FullEstrus</defName>
<label>full estrus</label>
<description>Carriers of this gene will enter full estrus every menstrual cycle, regardless of vagina type.</description>
<iconPath>UI/Genes/FullEstrus</iconPath>
<biostatMet>-1</biostatMet>
<biostatCpx>1</biostatCpx>
<displayOrderInCategory>25</displayOrderInCategory>
<modExtensions>
<li Class ="RJW_Menstruation.MenstruationModExtension">
<alwaysEstrus>true</alwaysEstrus>
</li>
</modExtensions>
</GeneDef>
<GeneDef Name="Menstruation_Ovulation" Abstract="True">
<displayCategory>Menstruation</displayCategory>
<iconPath>UI/Genes/Placeholder</iconPath>
<exclusionTags>
<li>Menstruation_Ovulation</li>
</exclusionTags>
</GeneDef>
<GeneDef ParentName="Menstruation_Ovulation">
<defName>Menstruation_DoubleOvulation</defName>
<label>double ovulation</label>
<description>Carriers of this gene will ovulate twice as many eggs.</description>
<iconPath>UI/Genes/DoubleOvulation</iconPath>
<biostatMet>-1</biostatMet>
<displayOrderInCategory>30</displayOrderInCategory>
<modExtensions>
<li Class ="RJW_Menstruation.MenstruationModExtension">
<ovulationFactor>2</ovulationFactor>
</li>
</modExtensions>
</GeneDef>
<GeneDef ParentName="Menstruation_Ovulation">
<defName>Menstruation_QuadOvulation</defName>
<label>quadruple ovulation</label>
<description>Carriers of this gene will ovulate four times as many eggs.</description>
<iconPath>UI/Genes/QuadOvulation</iconPath>
<biostatMet>-1</biostatMet>
<displayOrderInCategory>35</displayOrderInCategory>
<modExtensions>
<li Class ="RJW_Menstruation.MenstruationModExtension">
<ovulationFactor>4</ovulationFactor>
</li>
</modExtensions>
</GeneDef>
<GeneDef>
<defName>Menstruation_NoBleeding</defName>
<label>no bleeding</label>
<displayCategory>Menstruation</displayCategory>
<description>Carriers of this gene will not bleed at the end of their cycle.</description>
<iconPath>UI/Genes/NoBleeding</iconPath>
<biostatMet>-1</biostatMet>
<displayOrderInCategory>40</displayOrderInCategory>
<modExtensions>
<li Class ="RJW_Menstruation.MenstruationModExtension">
<noBleeding>true</noBleeding>
</li>
</modExtensions>
</GeneDef>
<!-- Pheromones? -->
</Defs>

View file

@ -1,111 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<HediffDef>
<hediffClass>HediffWithComps</hediffClass>
<defName>Hediff_ASA</defName>
<label>Antisperm antibody</label>
<labelNoun>antisperm antibody</labelNoun>
<description>Antisperm antibody.&#10;Increases death rate of sperm.</description>
<labelNounPretty>{0} has an antisperm antibody</labelNounPretty>
<defaultLabelColor>(0.8,0.1,0.1)</defaultLabelColor>
<isBad>false</isBad>
<tendable>false</tendable>
<makesSickThought>false</makesSickThought>
<makesAlert>true</makesAlert>
<maxSeverity>1</maxSeverity>
<initialSeverity>0.1</initialSeverity>
<injuryProps>
<canMerge>true</canMerge>
</injuryProps>
<stages>
<li>
<becomeVisible>false</becomeVisible>
</li>
<li>
<minSeverity>0.40</minSeverity>
<becomeVisible>true</becomeVisible>
</li>
</stages>
<comps>
</comps>
</HediffDef>
<HediffDef>
<hediffClass>HediffWithComps</hediffClass>
<defName>Hediff_ForceFertile</defName>
<label>Fertile</label>
<labelNoun>fertile</labelNoun>
<description>fertile</description>
<labelNounPretty>{0} is fertile</labelNounPretty>
<defaultLabelColor>(0.3,0.3,0.8)</defaultLabelColor>
<isBad>false</isBad>
<tendable>false</tendable>
<makesSickThought>false</makesSickThought>
<makesAlert>true</makesAlert>
<maxSeverity>3</maxSeverity>
<initialSeverity>0.1</initialSeverity>
<injuryProps>
<canMerge>true</canMerge>
</injuryProps>
<stages>
<li>
<becomeVisible>false</becomeVisible>
<capMods>
<li>
<capacity>RJW_Fertility</capacity>
<offset>0.05</offset>
</li>
</capMods>
</li>
<li>
<minSeverity>0.20</minSeverity>
<becomeVisible>false</becomeVisible>
<capMods>
<li>
<capacity>RJW_Fertility</capacity>
<offset>0.25</offset>
</li>
</capMods>
</li>
<li>
<minSeverity>0.40</minSeverity>
<becomeVisible>true</becomeVisible>
<capMods>
<li>
<capacity>RJW_Fertility</capacity>
<offset>0.50</offset>
</li>
</capMods>
</li>
<li>
<minSeverity>0.60</minSeverity>
<becomeVisible>true</becomeVisible>
<capMods>
<li>
<capacity>RJW_Fertility</capacity>
<offset>0.75</offset>
</li>
</capMods>
</li>
<li>
<minSeverity>0.80</minSeverity>
<becomeVisible>true</becomeVisible>
<capMods>
<li>
<capacity>RJW_Fertility</capacity>
<offset>1.00</offset>
</li>
</capMods>
</li>
</stages>
<comps>
<li Class="HediffCompProperties_SeverityPerDay">
<severityPerDay>-1.0</severityPerDay>
<showHoursToRecover>true</showHoursToRecover>
</li>
</comps>
</HediffDef>
</Defs>

View file

@ -1,218 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<HediffDef Name="Hediff_MenstrualCramp">
<hediffClass>HediffWithComps</hediffClass>
<defName>Hediff_MenstrualCramp</defName>
<label>In period</label>
<labelNoun>in period</labelNoun>
<description>Bleeding from the vagina at the end of the menstrual cycle.&#10;Often painful.</description>
<defaultLabelColor>(0.70,0.00,0.00)</defaultLabelColor>
<isBad>true</isBad>
<tendable>false</tendable>
<makesSickThought>false</makesSickThought>
<makesAlert>false</makesAlert>
<maxSeverity>1</maxSeverity>
<initialSeverity>0.1</initialSeverity>
<injuryProps>
<canMerge>true</canMerge>
</injuryProps>
<defaultInstallPart>Genitals</defaultInstallPart>
<stages>
<li>
<label>unpleasant</label>
<statFactors>
<SexFrequency>0.50</SexFrequency>
<SexSatisfaction>0.95</SexSatisfaction>
</statFactors>
<painOffset>0.005</painOffset>
</li>
<li>
<minSeverity>0.2</minSeverity>
<label>annoying</label>
<statFactors>
<SexFrequency>0.40</SexFrequency>
<SexSatisfaction>0.95</SexSatisfaction>
</statFactors>
<painOffset>0.01</painOffset>
</li>
<li>
<minSeverity>0.4</minSeverity>
<label>aching</label>
<statFactors>
<SexFrequency>0.20</SexFrequency>
<SexSatisfaction>0.95</SexSatisfaction>
</statFactors>
<painOffset>0.10</painOffset>
</li>
<li>
<minSeverity>0.6</minSeverity>
<label>painful</label>
<statFactors>
<SexFrequency>0.0</SexFrequency>
<SexSatisfaction>0.95</SexSatisfaction>
</statFactors>
<painOffset>0.20</painOffset>
</li>
</stages>
<comps>
<li Class="HediffCompProperties_SeverityPerDay">
<severityPerDay>-0.1</severityPerDay>
</li>
</comps>
</HediffDef>
<HediffDef Name="Hediff_Estrus">
<hediffClass>RJW_Menstruation.Hediff_Estrus</hediffClass>
<defName>Hediff_Estrus</defName>
<label>Estrus</label>
<labelNoun>estrus</labelNoun>
<description>A condition caused by a womb entering the most fertile phase of its menstrual cycle. Sexual arousal and desire increase dramatically as the body yearns to become pregnant.&#10;Increased chance of vaginal sex occurring and potentially lower standards in mate selection.</description>
<defaultLabelColor>(1.00,0.60,0.75)</defaultLabelColor>
<isBad>false</isBad>
<tendable>false</tendable>
<makesSickThought>false</makesSickThought>
<makesAlert>false</makesAlert>
<maxSeverity>10000</maxSeverity>
<initialSeverity>1.0</initialSeverity>
<injuryProps>
<canMerge>true</canMerge>
</injuryProps>
<stages>
<li>
<statFactors>
<SexFrequency>5.0</SexFrequency>
<SexSatisfaction>1.5</SexSatisfaction>
</statFactors>
</li>
</stages>
<comps>
<li Class="RJW_Menstruation.CompProperties_Pheromones">
<daysToMaxSeverity>0.25</daysToMaxSeverity> <!-- The amount of time spent near someone in estrus for full effect -->
<range>6</range>
</li>
</comps>
</HediffDef>
<HediffDef Name="Hediff_Estrus_Concealed">
<hediffClass>RJW_Menstruation.Hediff_Estrus</hediffClass>
<defName>Hediff_Estrus_Concealed</defName>
<label>Estrus (concealed)</label>
<labelNoun>estrus</labelNoun>
<description>A condition caused by a womb its most fertile phase of the menstrual cycle. Sexual arousal and desire increase slightly.&#10;Slightly increased chance of vaginal sex.</description>
<defaultLabelColor>(1.00,0.60,0.75)</defaultLabelColor>
<isBad>false</isBad>
<tendable>false</tendable>
<makesSickThought>false</makesSickThought>
<makesAlert>false</makesAlert>
<maxSeverity>10000</maxSeverity>
<initialSeverity>1.0</initialSeverity>
<injuryProps>
<canMerge>true</canMerge>
</injuryProps>
<stages>
<li>
<becomeVisible>false</becomeVisible>
<statFactors>
<SexFrequency>1.10</SexFrequency>
<SexSatisfaction>1.05</SexSatisfaction>
</statFactors>
</li>
</stages>
</HediffDef>
<HediffDef Name="Hediff_AffectedByPheromones">
<hediffClass>HediffWithComps</hediffClass>
<defName>Hediff_AffectedByPheromones</defName>
<label>Affected by pheromones</label>
<description>A condition caused by being around someone in estrus. Sex drive and satisfaction is increased by the scent of heat.</description>
<defaultLabelColor>(1.00,0.60,0.75)</defaultLabelColor>
<isBad>false</isBad>
<tendable>false</tendable>
<makesSickThought>false</makesSickThought>
<makesAlert>false</makesAlert>
<maxSeverity>1.0</maxSeverity>
<injuryProps>
<canMerge>true</canMerge>
</injuryProps>
<stages>
<li>
<label>weak</label>
<statFactors>
<SexFrequency>1.1</SexFrequency>
</statFactors>
</li>
<li>
<minSeverity>0.4</minSeverity>
<label>moderate</label>
<statFactors>
<SexFrequency>1.4</SexFrequency>
<SexSatisfaction>1.1</SexSatisfaction>
</statFactors>
</li>
<li>
<minSeverity>0.8</minSeverity>
<label>strong</label>
<statFactors>
<SexFrequency>2.0</SexFrequency>
<SexSatisfaction>1.2</SexSatisfaction>
</statFactors>
</li>
</stages>
<comps>
<li Class="HediffCompProperties_SeverityPerDay">
<severityPerDay>-1.0</severityPerDay>
</li>
</comps>
</HediffDef>
<HediffDef Name="Hediff_PainReliever">
<hediffClass>HediffWithComps</hediffClass>
<defName>Hediff_PainReliever</defName>
<label>Pain reliever</label>
<description>A mild reprieve from menstrual (and other) sources of pain.</description>
<defaultLabelColor>(0.75,0.75,1.0)</defaultLabelColor>
<isBad>false</isBad>
<tendable>false</tendable>
<makesSickThought>false</makesSickThought>
<makesAlert>false</makesAlert>
<maxSeverity>5</maxSeverity>
<initialSeverity>1.0</initialSeverity>
<stages>
<li>
<painOffset>-0.1</painOffset>
</li>
</stages>
<comps>
<li Class="HediffCompProperties_SeverityPerDay">
<severityPerDay>-1.0</severityPerDay>
</li>
</comps>
</HediffDef>
<HediffDef>
<hediffClass>HediffWithComps</hediffClass>
<defName>Hediff_Cyclosporine</defName>
<label>Cyclosporine</label>
<description>Under the effect of an immunosuppressant, hampering the body's ability to fight off infection and disease.</description>
<defaultLabelColor>(0.75,0.75,1.0)</defaultLabelColor>
<isBad>false</isBad>
<tendable>false</tendable>
<makesSickThought>false</makesSickThought>
<makesAlert>false</makesAlert>
<maxSeverity>10</maxSeverity>
<initialSeverity>1.0</initialSeverity>
<stages>
<li>
<statOffsets>
<ImmunityGainSpeed>-0.25</ImmunityGainSpeed>
</statOffsets>
</li>
</stages>
<comps>
<li Class="HediffCompProperties_SeverityPerDay">
<severityPerDay>-1.0</severityPerDay>
</li>
</comps>
</HediffDef>
</Defs>

View file

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<JobDef Name="VaginaWashing">
<defName>VaginaWashing</defName>
<driverClass>RJW_Menstruation.JobDriver_VaginaWashing</driverClass>
<reportString>washing vagina</reportString>
<casualInterruptible>true</casualInterruptible>
</JobDef>
</Defs>

View file

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<JobDef>
<defName>LactateSelf</defName>
<driverClass>RJW_Menstruation.JobDriver_MilkSelf</driverClass>
<reportString>lactating self</reportString>
<allowOpportunisticPrefix>true</allowOpportunisticPrefix>
</JobDef>
</Defs>

View file

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<KeyBindingDef ParentName="GameKeyBinding">
<defName>OpenStatusWindow</defName>
<label>Menstruation: open status window</label>
<defaultKeyCodeA>Q</defaultKeyCodeA>
</KeyBindingDef>
</Defs>

View file

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<PawnColumnDef>
<defName>RJWMenstruation_Womb</defName>
<headerIcon>Womb/Womb</headerIcon>
<headerTip>Open womb status. Click the header to sort by womb presence and cycle stage.</headerTip>
<workerClass>RJW_Menstruation.MainTab.PawnColumnWorker_WombStatus</workerClass>
<sortable>true</sortable>
<width>34</width>
</PawnColumnDef>
</Defs>

View file

@ -1,80 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<RecipeDef Abstract="True" Name="BaseBreastSurgery">
<effectWorking>Surgery</effectWorking>
<soundWorking>Recipe_Surgery</soundWorking>
<workSpeedStat>MedicalOperationSpeed</workSpeedStat>
<workSkill>Medicine</workSkill>
<workSkillLearnFactor>0.2</workSkillLearnFactor>
<workAmount>400</workAmount>
<anesthetize>false</anesthetize>
<recipeUsers>
<li>Human</li>
</recipeUsers>
<surgerySuccessChanceFactor>100</surgerySuccessChanceFactor>
<ingredients>
<li>
<filter>
<categories>
<li>Medicine</li>
</categories>
</filter>
<count>1</count>
</li>
</ingredients>
<fixedIngredientFilter>
<categories>
<li>Medicine</li>
</categories>
</fixedIngredientFilter>
</RecipeDef>
<RecipeDef ParentName="BaseBreastSurgery">
<defName>Surgery_ExpandAreola</defName>
<label>expand areolae</label>
<description>Expand the areolae.</description>
<workerClass>RJW_Menstruation.Recipe_ExpandAreola</workerClass>
<jobString>expanding areolae</jobString>
</RecipeDef>
<RecipeDef ParentName="BaseBreastSurgery">
<defName>Surgery_ContractAreola</defName>
<label>contract areolae</label>
<description>Contract the areolae.</description>
<workerClass>RJW_Menstruation.Recipe_ContractAreola</workerClass>
<jobString>contracting areolae</jobString>
</RecipeDef>
<RecipeDef ParentName="BaseBreastSurgery">
<defName>Surgery_ExpandNipple</defName>
<label>Expand nipple</label>
<description>Expand the nipples.</description>
<workerClass>RJW_Menstruation.Recipe_ExpandNipple</workerClass>
<jobString>expanding nipples</jobString>
</RecipeDef>
<RecipeDef ParentName="BaseBreastSurgery">
<defName>Surgery_ContractNipple</defName>
<label>Contract nipples</label>
<description>Contract the nipples.</description>
<workerClass>RJW_Menstruation.Recipe_ContractNipple</workerClass>
<jobString>contracting nipples</jobString>
</RecipeDef>
<RecipeDef ParentName="BaseBreastSurgery">
<defName>Surgery_DarkenNipple</defName>
<label>Darken nipples</label>
<description>Darken the nipples.</description>
<workerClass>RJW_Menstruation.Recipe_DarkenNipple</workerClass>
<jobString>darkening nipples</jobString>
</RecipeDef>
<RecipeDef ParentName="BaseBreastSurgery">
<defName>Surgery_LightenNipple</defName>
<label>Lighten nipples</label>
<description>Lighten the nipples.</description>
<workerClass>RJW_Menstruation.Recipe_LightenNipple</workerClass>
<jobString>lightening nipples</jobString>
</RecipeDef>
</Defs>

View file

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<RecordDef>
<defName>AmountofCreampied</defName>
<label>creampied</label>
<description>The milliliters of cum that's been ejaculated into my womb.</description>
<type>Float</type>
</RecordDef>
<RecordDef>
<defName>AmountofFertilizedEggs</defName>
<label>fertilized eggs</label>
<description>The number of my eggs that sperm has fertilized.</description>
<type>Int</type>
</RecordDef>
</Defs>

View file

@ -1,27 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<StatDef>
<defName>MaxAbsorbable</defName>
<label>Absorbable</label>
<description>Maximum amount of fluid that this item can absorb.</description>
<category>Apparel</category>
<minValue>0</minValue>
<toStringStyle>FloatOne</toStringStyle>
<formatString>{0} ml</formatString>
<showIfUndefined>false</showIfUndefined>
<displayPriorityInCategory>60</displayPriorityInCategory>
<parts>
<li Class="StatPart_Quality">
<factorAwful>0.5</factorAwful>
<factorPoor>0.8</factorPoor>
<factorNormal>1</factorNormal>
<factorGood>1.2</factorGood>
<factorExcellent>1.4</factorExcellent>
<factorMasterwork>2.0</factorMasterwork>
<factorLegendary>5.0</factorLegendary>
</li>
</parts>
</StatDef>
</Defs>

View file

@ -1,32 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<TaleDef>
<defName>CameInside</defName>
<label>came inside</label>
<taleClass>Tale_DoublePawn</taleClass>
<type>Volatile</type>
<firstPawnSymbol>FUCKER</firstPawnSymbol>
<secondPawnSymbol>FUCKED</secondPawnSymbol>
<baseInterest>1.5</baseInterest>
<rulePack>
<rulesStrings>
<li>tale_noun->[FUCKER_nameDef] coming inside of [FUCKED_nameDef]</li>
<li>image->[FUCKER_nameFull]'s penis deep inside of [FUCKED_nameFull]'s vagina [circumstance_group]</li>
<li>image->[FUCKER_nameFull]'s penis vanishing into [FUCKED_nameFull]'s vagina [circumstance_group]</li>
<li>image->[FUCKED_nameFull]'s vagina being filled by [FUCKER_nameFull]'s penis [circumstance_group]</li>
<li>image->[FUCKED_nameFull]'s vagina gripping [FUCKER_nameFull]'s penis tight [circumstance_group]</li>
<li>circumstance_phrase->while [FUCKER_nameDef] grits [FUCKER_possessive] teeth</li>
<li>circumstance_phrase->while [FUCKER_nameDef] wears a triumphant smirk</li>
<li>circumstance_phrase->as [FUCKED_nameDef] shudders in ecstasy</li>
<li>circumstance_phrase->as [FUCKER_nameDef] shoots [FUCKER_possessive] load into [FUCKED_nameDef]</li>
<li>circumstance_phrase->while [FUCKED_nameDef] looks into [FUCKER_nameDef]'s eyes with a smile</li>
<li>desc_sentence->[FUCKER_nameDef]'s cum oozes out of [FUCKED_nameDef]'s vagina and drips onto the floor.</li>
<li>desc_sentence->[FUCKER_nameDef]'s sperm races into [FUCKED_nameDef]'s womb and enters [FUCKED_possessive] egg.</li>
<li>desc_sentence->[FUCKER_nameDef]'s cum shoots into [FUCKED_nameDef]'s womb.</li>
<li>desc_sentence->[FUCKED_nameDef]'s womb is filled with cum.</li>
<li>desc_sentence->Sweat runs down [FUCKER_nameDef]'s face.</li>
<li>desc_sentence->[FUCKED_nameDef] is panting heavily.</li>
</rulesStrings>
</rulePack>
</TaleDef>
</Defs>

View file

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<ApparelLayerDef>
<defName>Absorber</defName>
<label>genital</label>
<drawOrder>500</drawOrder>
</ApparelLayerDef>
</Defs>

View file

@ -1,280 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<ThingDef ParentName="ApparelNoQualityBase">
<defName>Absorber_Tampon</defName>
<label>tampon</label>
<description>A tampon for absorbing fluids from a vagina.&#10;May cause an infection if worn for too long.</description>
<thingClass>RJW_Menstruation.Absorber_Tampon</thingClass>
<graphicData>
<texPath>Things/Item/Tampon</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<tickerType>Never</tickerType>
<smeltable>false</smeltable>
<tradeability>Sellable</tradeability>
<statBases>
<MaxHitPoints>20</MaxHitPoints>
<Mass>0.01</Mass>
<WorkToMake>1000</WorkToMake>
<Flammability>1.0</Flammability>
<EquipDelay>2</EquipDelay>
<MaxAbsorbable>10</MaxAbsorbable>
</statBases>
<costStuffCount>5</costStuffCount>
<stuffCategories>
<li>Fabric</li>
</stuffCategories>
<recipeMaker>
<unfinishedThingDef>UnfinishedApparel</unfinishedThingDef>
<researchPrerequisite>ComplexClothing</researchPrerequisite>
<workSpeedStat>GeneralLaborSpeed</workSpeedStat>
<workSkill>Crafting</workSkill>
<effectWorking>Tailor</effectWorking>
<soundWorking>Recipe_Tailor</soundWorking>
<recipeUsers>
<li>ElectricTailoringBench</li>
<li>HandTailoringBench</li>
</recipeUsers>
<useIngredientsForColor>true</useIngredientsForColor>
<skillRequirements>
<Crafting>4</Crafting>
</skillRequirements>
</recipeMaker>
<thingCategories>
<li>ApparelUtility</li>
</thingCategories>
<apparel>
<careIfWornByCorpse>true</careIfWornByCorpse>
<countsAsClothingForNudity>false</countsAsClothingForNudity>
<careIfDamaged>false</careIfDamaged>
<wearPerDay>0</wearPerDay>
<gender>Female</gender>
<bodyPartGroups>
<li>GenitalsBPG</li>
</bodyPartGroups>
<layers>
<li>Absorber</li>
</layers>
<tags>
<li>Absorber</li>
</tags>
<defaultOutfitTags>
<li>Worker</li>
<li>Soldier</li>
<li>Nudist</li>
<li>Slave</li>
</defaultOutfitTags>
</apparel>
<modExtensions>
<li Class="RJW_Menstruation.AbsorberModExtension">
<passiveAbsorptionPerHour>0.2</passiveAbsorptionPerHour>
<leakAfterDirty>false</leakAfterDirty>
<effectsAfterDirty>true</effectsAfterDirty>
<minHourstoDirtyEffect>10</minHourstoDirtyEffect>
<dirtyDef>Absorber_Tampon_Dirty</dirtyDef>
<dirtyEffectMTBHrs>100.0</dirtyEffectMTBHrs>
</li>
</modExtensions>
</ThingDef>
<ThingDef ParentName="ApparelNoQualityBase">
<defName>Absorber_Tampon_Dirty</defName>
<label>dirty tampon</label>
<description>A wet used tampon.&#10;May cause infection if left in.</description>
<thingClass>RJW_Menstruation.Absorber_Tampon</thingClass>
<graphicData>
<texPath>Things/Item/Tampon</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<tickerType>Never</tickerType>
<smeltable>false</smeltable>
<tradeability>None</tradeability>
<statBases>
<MaxHitPoints>20</MaxHitPoints>
<Mass>0.05</Mass>
<MarketValue>0</MarketValue>
<WorkToMake>1000</WorkToMake>
<Flammability>0.2</Flammability>
<EquipDelay>2</EquipDelay>
<MaxAbsorbable>10</MaxAbsorbable>
<Cleanliness>-5</Cleanliness>
</statBases>
<stuffCategories>
<li>Fabric</li>
</stuffCategories>
<thingCategories>
<li>ApparelUtility</li>
</thingCategories>
<apparel>
<careIfWornByCorpse>true</careIfWornByCorpse>
<countsAsClothingForNudity>false</countsAsClothingForNudity>
<careIfDamaged>false</careIfDamaged>
<wearPerDay>0</wearPerDay>
<gender>Female</gender>
<bodyPartGroups>
<li>GenitalsBPG</li>
</bodyPartGroups>
<layers>
<li>Absorber</li>
</layers>
<tags>
<li>Absorber</li>
</tags>
</apparel>
<modExtensions>
<li Class="RJW_Menstruation.AbsorberModExtension">
<passiveAbsorptionPerHour>0.2</passiveAbsorptionPerHour>
<leakAfterDirty>false</leakAfterDirty>
<effectsAfterDirty>true</effectsAfterDirty>
<minHourstoDirtyEffect>8</minHourstoDirtyEffect>
<dirtyDef>Absorber_Tampon_Dirty</dirtyDef>
<dirtyEffectMTBHrs>100.0</dirtyEffectMTBHrs>
</li>
</modExtensions>
</ThingDef>
<ThingDef ParentName="ApparelNoQualityBase">
<defName>Absorber_Pad</defName>
<label>sanitary pad</label>
<description>A pad for absorbing fluids from a vagina.</description>
<thingClass>RJW_Menstruation.Absorber</thingClass>
<graphicData>
<texPath>Things/Item/Pad</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<tickerType>Never</tickerType>
<smeltable>false</smeltable>
<tradeability>Sellable</tradeability>
<statBases>
<MaxHitPoints>40</MaxHitPoints>
<Mass>0.02</Mass>
<WorkToMake>1000</WorkToMake>
<Flammability>1.0</Flammability>
<EquipDelay>4</EquipDelay>
<MaxAbsorbable>25</MaxAbsorbable>
<StuffEffectMultiplierArmor>0.02</StuffEffectMultiplierArmor>
<StuffEffectMultiplierInsulation_Cold>0.02</StuffEffectMultiplierInsulation_Cold>
<StuffEffectMultiplierInsulation_Heat>0.05</StuffEffectMultiplierInsulation_Heat>
<ArmorRating_Sharp>0.01</ArmorRating_Sharp>
<ArmorRating_Blunt>0.04</ArmorRating_Blunt>
<ArmorRating_Heat>0.05</ArmorRating_Heat>
<Insulation_Cold>1</Insulation_Cold>
<Insulation_Heat>-1</Insulation_Heat>
</statBases>
<costStuffCount>10</costStuffCount>
<stuffCategories>
<li>Fabric</li>
</stuffCategories>
<recipeMaker>
<unfinishedThingDef>UnfinishedApparel</unfinishedThingDef>
<workSpeedStat>GeneralLaborSpeed</workSpeedStat>
<workSkill>Crafting</workSkill>
<effectWorking>Tailor</effectWorking>
<soundWorking>Recipe_Tailor</soundWorking>
<recipeUsers>
<li>ElectricTailoringBench</li>
<li>HandTailoringBench</li>
</recipeUsers>
<useIngredientsForColor>true</useIngredientsForColor>
<skillRequirements>
<Crafting>4</Crafting>
</skillRequirements>
</recipeMaker>
<thingCategories>
<li>ApparelUtility</li>
</thingCategories>
<apparel>
<careIfWornByCorpse>true</careIfWornByCorpse>
<countsAsClothingForNudity>true</countsAsClothingForNudity>
<careIfDamaged>false</careIfDamaged>
<wearPerDay>0</wearPerDay>
<gender>Female</gender>
<bodyPartGroups>
<li>GenitalsBPG</li>
</bodyPartGroups>
<layers>
<li>Absorber</li>
</layers>
<tags>
<li>Absorber</li>
</tags>
<defaultOutfitTags>
<li>Worker</li>
<li>Soldier</li>
<li>Slave</li>
</defaultOutfitTags>
</apparel>
<modExtensions>
<li Class="RJW_Menstruation.AbsorberModExtension">
<passiveAbsorptionPerHour>0.04</passiveAbsorptionPerHour>
<leakAfterDirty>true</leakAfterDirty>
<effectsAfterDirty>false</effectsAfterDirty>
<dirtyDef>Absorber_Pad_Dirty</dirtyDef>
</li>
</modExtensions>
</ThingDef>
<ThingDef ParentName="ApparelNoQualityBase">
<defName>Absorber_Pad_Dirty</defName>
<label>wet sanitary pad</label>
<description>A wet used pad.</description>
<thingClass>RJW_Menstruation.Absorber</thingClass>
<graphicData>
<texPath>Things/Item/Pad</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<tickerType>Never</tickerType>
<smeltable>false</smeltable>
<tradeability>None</tradeability>
<statBases>
<MaxHitPoints>40</MaxHitPoints>
<Mass>0.10</Mass>
<MarketValue>0</MarketValue>
<WorkToMake>1000</WorkToMake>
<Flammability>0.2</Flammability>
<EquipDelay>4</EquipDelay>
<MaxAbsorbable>25</MaxAbsorbable>
<Cleanliness>-5</Cleanliness>
<StuffEffectMultiplierArmor>0.02</StuffEffectMultiplierArmor>
<StuffEffectMultiplierInsulation_Cold>0.02</StuffEffectMultiplierInsulation_Cold>
<StuffEffectMultiplierInsulation_Heat>0.05</StuffEffectMultiplierInsulation_Heat>
<ArmorRating_Sharp>0.01</ArmorRating_Sharp>
<ArmorRating_Blunt>0.04</ArmorRating_Blunt>
<ArmorRating_Heat>0.1</ArmorRating_Heat>
<Insulation_Cold>-4</Insulation_Cold>
<Insulation_Heat>2</Insulation_Heat>
</statBases>
<stuffCategories>
<li>Fabric</li>
</stuffCategories>
<thingCategories>
<li>ApparelUtility</li>
</thingCategories>
<apparel>
<careIfWornByCorpse>true</careIfWornByCorpse>
<countsAsClothingForNudity>true</countsAsClothingForNudity>
<careIfDamaged>false</careIfDamaged>
<wearPerDay>0</wearPerDay>
<gender>Female</gender>
<bodyPartGroups>
<li>GenitalsBPG</li>
</bodyPartGroups>
<layers>
<li>Absorber</li>
</layers>
<tags>
<li>Absorber</li>
</tags>
</apparel>
<modExtensions>
<li Class="RJW_Menstruation.AbsorberModExtension">
<passiveAbsorptionPerHour>0.04</passiveAbsorptionPerHour>
<leakAfterDirty>true</leakAfterDirty>
<effectsAfterDirty>false</effectsAfterDirty>
<dirtyDef>Absorber_Pad_Dirty</dirtyDef>
</li>
</modExtensions>
</ThingDef>
</Defs>

View file

@ -1,25 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<ThingDef ParentName="BaseFilth">
<defName>FilthMixture</defName>
<label>mixture</label>
<thingClass>RJW_Menstruation.Filth_Colored</thingClass>
<statBases>
<Beauty>-30</Beauty>
<Cleanliness>-10</Cleanliness>
</statBases>
<graphicData>
<graphicClass>Graphic_Random</graphicClass>
<texPath>Things/Filth/PoolSoft</texPath>
<color>(255, 255, 255, 180)</color>
</graphicData>
<filth>
<rainWashes>true</rainWashes>
<cleaningWorkToReduceThickness>40</cleaningWorkToReduceThickness>
<canFilthAttach>true</canFilthAttach>
</filth>
</ThingDef>
</Defs>

View file

@ -1,367 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<ThoughtDef>
<defName>LeakingFluids</defName>
<thoughtClass>Thought_Memory</thoughtClass>
<durationDays>0.05</durationDays>
<stackLimit>1</stackLimit>
<stackedEffectMultiplier>0.4</stackedEffectMultiplier>
<stages>
<li>
<label>dripping fluids</label>
<description>Can't I get something to absorb this?</description>
<baseMoodEffect>-2</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>HaterCameInsideM</defName>
<thoughtClass>Thought_MemorySocial</thoughtClass>
<durationDays>1.0</durationDays>
<stackLimit>5</stackLimit>
<stackedEffectMultiplier>0.4</stackedEffectMultiplier>
<stages>
<li>
<label>came inside of {0}</label>
<description>I came inside of my rival!</description>
<baseMoodEffect>5</baseMoodEffect>
<baseOpinionOffset>1</baseOpinionOffset>
</li>
</stages>
<replaceThoughts>
<li>CameInsideMIdeo</li>
<li>CameInsideM</li>
</replaceThoughts>
</ThoughtDef>
<ThoughtDef>
<defName>CameInsideM</defName>
<thoughtClass>Thought_MemorySocial</thoughtClass>
<durationDays>1.0</durationDays>
<stackLimit>5</stackLimit>
<stackedEffectMultiplier>0.4</stackedEffectMultiplier>
<stages>
<li>
<label>came inside of {0}</label>
<description>That felt so good.</description>
<baseMoodEffect>2</baseMoodEffect>
<baseOpinionOffset>1</baseOpinionOffset>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>CameInsideFFetish</defName>
<thoughtClass>Thought_MemorySocial</thoughtClass>
<durationDays>3.0</durationDays>
<stackLimit>5</stackLimit>
<stackedEffectMultiplier>0.1</stackedEffectMultiplier>
<stackLimitForSameOtherPawn>1</stackLimitForSameOtherPawn>
<stages>
<li>
<label>{0} came inside</label>
<description>I hope I get pregnant.</description>
<baseMoodEffect>10</baseMoodEffect>
<baseOpinionOffset>5</baseOpinionOffset>
</li>
</stages>
<replaceThoughts>
<li>CameInsideFIdeo</li>
</replaceThoughts>
</ThoughtDef>
<ThoughtDef>
<defName>HaterCameInsideF</defName>
<thoughtClass>Thought_MemorySocial</thoughtClass>
<durationDays>7.0</durationDays>
<stackLimit>5</stackLimit>
<stackedEffectMultiplier>0.1</stackedEffectMultiplier>
<stackLimitForSameOtherPawn>1</stackLimitForSameOtherPawn>
<stages>
<li>
<label>{0} came inside</label>
<description>I don't want to be pregnant with his baby!</description>
<baseMoodEffect>-5</baseMoodEffect>
<baseOpinionOffset>-10</baseOpinionOffset>
</li>
</stages>
<replaceThoughts>
<li>HaterCameInsideFEstrus</li>
<li>CameInsideF</li>
<li>HaterCameInsideFSafe</li>
<li>CameInsideFLowFert</li>
<li>CameInsideFFetishSafe</li>
<li>HaterCameInsideFIdeo</li>
<li>CameInsideFFetish</li>
<li>CameInsideFIdeo</li>
</replaceThoughts>
</ThoughtDef>
<ThoughtDef>
<defName>HaterCameInsideFEstrus</defName>
<thoughtClass>Thought_MemorySocial</thoughtClass>
<durationDays>7.0</durationDays>
<stackLimit>5</stackLimit>
<stackedEffectMultiplier>0.1</stackedEffectMultiplier>
<stackLimitForSameOtherPawn>1</stackLimitForSameOtherPawn>
<stages>
<li>
<label>{0} came inside</label>
<description>What was I thinking, letting him do that?</description>
<baseMoodEffect>-3</baseMoodEffect>
<baseOpinionOffset>-5</baseOpinionOffset>
</li>
</stages>
<replaceThoughts>
<li>CameInsideF</li>
<li>HaterCameInsideFSafe</li>
<li>CameInsideFLowFert</li>
<li>CameInsideFFetishSafe</li>
<li>HaterCameInsideFIdeo</li>
<li>CameInsideFFetish</li>
<li>CameInsideFIdeo</li>
</replaceThoughts>
</ThoughtDef>
<ThoughtDef>
<defName>CameInsideFLowFert</defName>
<thoughtClass>Thought_MemorySocial</thoughtClass>
<durationDays>3.0</durationDays>
<stackLimit>5</stackLimit>
<stackedEffectMultiplier>0.1</stackedEffectMultiplier>
<stackLimitForSameOtherPawn>1</stackLimitForSameOtherPawn>
<stages>
<li>
<label>{0} came inside</label>
<description>I'm worried I might get pregnant.&#10;The chance is low, but...</description>
<baseMoodEffect>-1</baseMoodEffect>
</li>
</stages>
<replaceThoughts>
<li>CameInsideFFetishSafe</li>
<li>HaterCameInsideFIdeo</li>
<li>CameInsideFFetish</li>
<li>CameInsideFIdeo</li>
</replaceThoughts>
</ThoughtDef>
<ThoughtDef>
<defName>CameInsideF</defName>
<thoughtClass>Thought_MemorySocial</thoughtClass>
<durationDays>7.0</durationDays>
<stackLimit>5</stackLimit>
<stackedEffectMultiplier>0.1</stackedEffectMultiplier>
<stackLimitForSameOtherPawn>1</stackLimitForSameOtherPawn>
<stages>
<li>
<label>{0} came inside</label>
<description>I'm worried I might get pregnant.</description>
<baseMoodEffect>-3</baseMoodEffect>
<baseOpinionOffset>-2</baseOpinionOffset>
</li>
</stages>
<replaceThoughts>
<li>HaterCameInsideFSafe</li>
<li>CameInsideFLowFert</li>
<li>CameInsideFFetishSafe</li>
<li>HaterCameInsideFIdeo</li>
<li>CameInsideFFetish</li>
<li>CameInsideFIdeo</li>
</replaceThoughts>
</ThoughtDef>
<ThoughtDef>
<defName>CameInsideFFetishSafe</defName>
<thoughtClass>Thought_MemorySocial</thoughtClass>
<durationDays>3.0</durationDays>
<stackLimit>5</stackLimit>
<stackedEffectMultiplier>0.1</stackedEffectMultiplier>
<stackLimitForSameOtherPawn>1</stackLimitForSameOtherPawn>
<stages>
<li>
<label>{0} came inside</label>
<description>I don't think I'll get pregnant, but it's fun to fantasize.</description>
<baseMoodEffect>3</baseMoodEffect>
<baseOpinionOffset>1</baseOpinionOffset>
</li>
</stages>
<replaceThoughts>
<li>HaterCameInsideFIdeo</li>
<li>CameInsideFFetish</li>
<li>CameInsideFIdeo</li>
</replaceThoughts>
</ThoughtDef>
<ThoughtDef>
<defName>HaterCameInsideFSafe</defName>
<thoughtClass>Thought_MemorySocial</thoughtClass>
<durationDays>3.0</durationDays>
<stackLimit>5</stackLimit>
<stackedEffectMultiplier>0.1</stackedEffectMultiplier>
<stackLimitForSameOtherPawn>1</stackLimitForSameOtherPawn>
<stages>
<li>
<label>{0} came inside</label>
<description>I probably won't get pregnant, but I still don't like it.</description>
<baseMoodEffect>-2</baseMoodEffect>
<baseOpinionOffset>-5</baseOpinionOffset>
</li>
</stages>
<replaceThoughts>
<li>CameInsideFLowFert</li>
<li>CameInsideFFetishSafe</li>
<li>HaterCameInsideFIdeo</li>
<li>CameInsideFFetish</li>
<li>CameInsideFIdeo</li>
</replaceThoughts>
</ThoughtDef>
<ThoughtDef>
<defName>UnwantedPregnancy</defName>
<thoughtClass>Thought_Memory</thoughtClass>
<durationDays>14.0</durationDays>
<stackLimit>5</stackLimit>
<stackedEffectMultiplier>0.1</stackedEffectMultiplier>
<stages>
<li>
<label>unwanted pregnancy</label>
<description>How will I take care of a baby? What am I going to do?</description>
<baseMoodEffect>-10</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>UnwantedPregnancyMild</defName>
<thoughtClass>Thought_Memory</thoughtClass>
<durationDays>14.0</durationDays>
<stackLimit>5</stackLimit>
<stackedEffectMultiplier>0.1</stackedEffectMultiplier>
<stages>
<li>
<label>unwanted pregnancy</label>
<description>I'm having a baby. I hope I can manage.</description>
<baseMoodEffect>-3</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>TookContraceptivePill</defName>
<thoughtClass>Thought_Memory</thoughtClass>
<durationDays>7.0</durationDays>
<stackLimit>5</stackLimit>
<stackedEffectMultiplier>0.1</stackedEffectMultiplier>
<stages>
<li>
<label>took contraceptive pill</label>
<description>Everything will be okay now.</description>
<baseMoodEffect>1</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>HateTookContraceptivePill</defName>
<thoughtClass>Thought_Memory</thoughtClass>
<durationDays>7.0</durationDays>
<stackLimit>5</stackLimit>
<stackedEffectMultiplier>0.1</stackedEffectMultiplier>
<stages>
<li>
<label>took contraceptive pill</label>
<description>I want to get pregnant.</description>
<baseMoodEffect>-3</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>EggRestorationReceived</defName>
<thoughtClass>Thought_Memory</thoughtClass>
<durationDays>4</durationDays>
<stackLimit>1</stackLimit>
<stages>
<li>
<label>egg restoration received</label>
<description>I can breed for a little longer now.</description>
<baseMoodEffect>2</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>CameInsideMIdeo</defName>
<thoughtClass>Thought_MemorySocial</thoughtClass>
<durationDays>1.0</durationDays>
<stackLimit>5</stackLimit>
<stackedEffectMultiplier>0.4</stackedEffectMultiplier>
<stages>
<li>
<label>came inside of {0}</label>
<description>It is my duty to make her pregnant.</description>
<baseMoodEffect>3</baseMoodEffect>
<baseOpinionOffset>2</baseOpinionOffset>
</li>
</stages>
<replaceThoughts>
<li>CameInsideM</li>
</replaceThoughts>
</ThoughtDef>
<ThoughtDef>
<defName>CameInsideFIdeo</defName>
<thoughtClass>Thought_MemorySocial</thoughtClass>
<durationDays>3.0</durationDays>
<stackLimit>5</stackLimit>
<stackedEffectMultiplier>0.1</stackedEffectMultiplier>
<stackLimitForSameOtherPawn>1</stackLimitForSameOtherPawn>
<stages>
<li>
<label>{0} came inside</label>
<description>I hope this makes me pregnant like I should be.</description>
<baseMoodEffect>15</baseMoodEffect>
<baseOpinionOffset>10</baseOpinionOffset>
</li>
</stages>
</ThoughtDef>
<ThoughtDef>
<defName>HaterCameInsideFIdeo</defName>
<thoughtClass>Thought_MemorySocial</thoughtClass>
<durationDays>3.0</durationDays>
<stackLimit>5</stackLimit>
<stackedEffectMultiplier>0.1</stackedEffectMultiplier>
<stackLimitForSameOtherPawn>1</stackLimitForSameOtherPawn>
<stages>
<li>
<label>{0} came inside</label>
<description>I know I should become pregnant, but does it have to be his?</description>
<baseMoodEffect>5</baseMoodEffect>
<baseOpinionOffset>2</baseOpinionOffset>
</li>
</stages>
<replaceThoughts>
<li>CameInsideFFetish</li>
<li>CameInsideFIdeo</li>
</replaceThoughts>
</ThoughtDef>
<ThoughtDef>
<defName>HateTookContraceptivePillIdeo</defName>
<thoughtClass>Thought_Memory</thoughtClass>
<durationDays>7.0</durationDays>
<stackLimit>5</stackLimit>
<stackedEffectMultiplier>0.1</stackedEffectMultiplier>
<stages>
<li>
<label>took contraceptive pill</label>
<description>My beliefs demand I become pregnant.</description>
<baseMoodEffect>-5</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
</Defs>

View file

@ -1,40 +0,0 @@
using AlienRace;
using HarmonyLib;
using RJW_Menstruation;
using Verse;
namespace RJW_Menstruation_HAR
{
[HarmonyPatch(typeof(HARCompatibility), nameof(HARCompatibility.IsHAR))]
public static class IsHAR_Patch
{
static void Postfix(ref bool __result, Pawn pawn)
{
__result = pawn?.def is ThingDef_AlienRace;
}
}
[HarmonyPatch(typeof(HARCompatibility), nameof(HARCompatibility.CopyHARProperties))]
public static class CopyHARProperties_Patch
{
static void Postfix(Pawn baby, Pawn original)
{
if (!baby.HasComp<AlienPartGenerator.AlienComp>() || !original.HasComp<AlienPartGenerator.AlienComp>()) return;
AlienPartGenerator.AlienComp.CopyAlienData(original, baby);
}
}
// HAR patches ApplyBirthOutcome to produce multiple babies based on the mother's littersize. But the pregenerated babies system already makes multiple babies
// So make it always consider the mother to have one baby
[HarmonyPatch(typeof(HarmonyPatches), nameof(HarmonyPatches.BirthOutcomeMultiplier))]
public static class HAR_LitterSize_Undo
{
public static void Postfix(ref int __result, Pawn mother)
{
if (!(mother?.ShouldCycle() ?? false)) return;
if (Configurations.PregnancySource == Configurations.PregnancyType.Biotech && Configurations.EnableBiotechTwins)
__result = 0;
return;
}
}
}

View file

@ -1,16 +0,0 @@
using HarmonyLib;
using System.Reflection;
using Verse;
namespace RJW_Menstruation_HAR
{
[StaticConstructorOnStartup]
internal static class First
{
static First()
{
Harmony har = new Harmony("RJW_Menstruation.HAR");
har.PatchAll(Assembly.GetExecutingAssembly());
}
}
}

View file

@ -1,73 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{F9DFB070-9C28-43C5-8226-F4C0B4047CC5}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>HAR</RootNamespace>
<AssemblyName>HAR</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\..\assemblies\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\..\Assemblies\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="0Harmony, Version=2.3.6.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\..\source\RJW_Menstruation\packages\Lib.Harmony.2.3.6\lib\net48\0Harmony.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="AlienRace">
<HintPath>..\..\..\..\..\..\..\..\workshop\content\294100\839005762\1.6\Assemblies\AlienRace.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Assembly-CSharp">
<HintPath>..\..\..\..\..\..\RimWorldWin64_Data\Managed\Assembly-CSharp.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="HARCompatibility.cs" />
<Compile Include="Harmony.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\source\RJW_Menstruation\RJW_Menstruation\RJW_Menstruation.csproj">
<Project>{eed2f3b9-8c20-4194-919e-8d151b29f70b}</Project>
<Name>RJW_Menstruation</Name>
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<Folder Include="Properties\" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View file

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Lib.Harmony" version="2.3.6" targetFramework="net48" />
</packages>

View file

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LanguageData>
<VaginaWashing.reportString>清洗阴道</VaginaWashing.reportString>
</LanguageData>

View file

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LanguageData>
<MaxAbsorbable.label>可吸收量</MaxAbsorbable.label>
<MaxAbsorbable.description>最大可吸收的液体量</MaxAbsorbable.description>
</LanguageData>

View file

@ -1,31 +0,0 @@
<?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>使卵巢再生以增加可排卵的卵子&#10;卵子消耗量越大,效果越差&#10;不能缓解更年期症状</OvaryRegenerationPill.description>
<SuperovulationInducingAgent.label>排卵药</SuperovulationInducingAgent.label>
<SuperovulationInducingAgent.description>诱导排卵的药物&#10;可导致更年期提前</SuperovulationInducingAgent.description>
<FilthMixture.label>混合物</FilthMixture.label>
</LanguageData>

View file

@ -1,23 +0,0 @@
<?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>

View file

@ -1,110 +0,0 @@
<?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_Pregnant>怀孕</Stage_Pregnant>
<Stage_Recover>产后恢复</Stage_Recover>
<Stage_None></Stage_None>
<Stage_Climacteric>更年期</Stage_Climacteric>
<Stage_Anestrus>非发情期</Stage_Anestrus>
<Button_HealthTab>状态</Button_HealthTab>
<Button_MilkTooltip>挤自己奶</Button_MilkTooltip>
<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>仿真动物的经期.&#10;此选项将在保存读取后生效&#10;不推荐开启此选项</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>激活更年期效果,使小人随着时间的推移而变得不育&#10;如果您较长寿的外星人种族有碰到任何问题,请关闭此选项.&#10;此选项将在保存读取后生效</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>
<Option18_Label>启用卵子图标</Option18_Label>
<Option18_Desc>启用覆盖在子宫图标上的卵子图标</Option18_Desc>
<Option19_Label_1>经血数量</Option19_Label_1>
<Option19_Label_2>预计经血总量</Option19_Label_2>
<Option19_Desc>设置经血量&#10;根据阴道不同出血量有变化&#10;通常人类女性的经血量为20-80ml左右每月</Option19_Desc>
<Option20_Label_1>殖民者</Option20_Label_1>
<Option20_Label_2>囚犯</Option20_Label_2>
<Option20_Label_3>盟友派系</Option20_Label_3>
<Option20_Label_4>中立者</Option20_Label_4>
<Option20_Label_5>敌对派系</Option20_Label_5>
<Option21_Label>目标小人</Option21_Label>
<Option21_Desc>按钮和图标会出现在这些人物上</Option21_Desc>
<Option22_Label>使用杂交扩展</Option22_Label>
<Option22_Desc>覆盖RJW and RaceSupport的杂交定义&#10;主杂交决定了谁的定义用在前面,不建议改变此项</Option22_Desc>
<Option23_Label>主杂交扩展</Option23_Label>
<Option23_Label_1>母方</Option23_Label_1>
<Option23_Label_2>父方</Option23_Label_2>
<Option24_Label>怀孕后乳头动态变化</Option24_Label>
<Option24_Desc>设定每次怀孕,乳头/乳晕变得更深色/宽大的程度。</Option24_Desc>
<Option25_Label>怀孕后乳头固定变化</Option25_Label>
<Option25_Desc>设定每次怀孕,乳头/乳晕永久性变得更深色/宽大的程度。</Option25_Desc>
<Option26_Label>最大变化</Option26_Label>
<Option26_Desc>乳头/乳晕不会变得比这个值更深色/宽大。</Option26_Desc>
<Option27_Label>乳头变化速度</Option27_Label>
<Option27_Desc>设定乳头/乳晕的变化速度。&#10;1 = 立刻变化</Option27_Desc>
<Option28_Label>自定义杂交</Option28_Label>
<Option28_Tooltip>打开自定义杂交编辑器&#10;该项会覆盖XML文件定义的杂交。</Option28_Tooltip>
<Option29_Label>允许缩放图标</Option29_Label>
<Option29_Desc>如有需要,允许图标缩小。</Option29_Desc>
<Option30_Label>卵子生命周期倍增</Option30_Label>
<Option30_Desc>倍增卵子生命周期。&#10;在已受精阶段结束后,卵子将无视该选项死去。</Option30_Desc>
<Option31_Label>启用产后阴道变化</Option31_Label>
<Option31_Desc>启用产后永久阴道扩张。&#10;如果你在用另一mod处理该项关闭该选项。</Option31_Desc>
<Option32_Label>变形力度</Option32_Label>
<Option32_Desc>设置变形力度。</Option32_Desc>
<EstimatedCumLifespan>预计精子生命周期</EstimatedCumLifespan>
<EstimatedEggLifespan>预计卵子生命周期</EstimatedEggLifespan>
<FertilityDesc>1小时内受精几率: {0}%&#10;受精卵着床几率。&#10;白色覆盖层表示子宫内精子受精的几率。</FertilityDesc>
<FloatMenu_CleanSelf>清洗阴道</FloatMenu_CleanSelf>
<CustomHybrid_List_Title>自定义杂交编辑器</CustomHybrid_List_Title>
<CustomHybrid_Title>{0}的杂交种</CustomHybrid_Title>
<CustomHybrid_Tooltip>当{0}与{1}交配,将有{3}几率生出{2}。&#10;如果两个种族都有对方的杂交定义,将会使用父方的定义。</CustomHybrid_Tooltip>
</LanguageData>

View file

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<LanguageData>
<Absorber.label>生殖器</Absorber.label>
</LanguageData>

View file

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<LanguageData>
<Menstruation.label>生理週期</Menstruation.label>
</LanguageData>

View file

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<LanguageData>
<Hediff_ASA.label>精子抗體</Hediff_ASA.label>
<Hediff_ASA.labelNoun>精子抗體</Hediff_ASA.labelNoun>
<Hediff_ASA.description>精子抗體。
增加精子的失活率。</Hediff_ASA.description>
<Hediff_ASA.labelNounPretty>{0}體內存有精子抗體。</Hediff_ASA.labelNounPretty>
<Hediff_ForceFertile.label>多產</Hediff_ForceFertile.label>
<Hediff_ForceFertile.labelNoun>多產</Hediff_ForceFertile.labelNoun>
<Hediff_ForceFertile.description>多產。</Hediff_ForceFertile.description>
<Hediff_ForceFertile.labelNounPretty>{0}有著多產的身體。</Hediff_ForceFertile.labelNounPretty>
</LanguageData>

View file

@ -1,30 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<LanguageData>
<Hediff_MenstrualCramp.labelNoun>月經來潮</Hediff_MenstrualCramp.labelNoun>
<Hediff_Estrus.label>發情期</Hediff_Estrus.label>
<Hediff_Estrus.labelNoun>發情期</Hediff_Estrus.labelNoun>
<Hediff_Estrus.description>由於子宮進入月經週期中最多產的階段,身體受激素影響而變得渴望懷孕。性慾急遽膨脹。
增加發生陰道性交的頻率,並且對性伴侶的選擇標準降低。</Hediff_Estrus.description>
<Hediff_Estrus_Concealed.label>發情期(隱性)</Hediff_Estrus_Concealed.label>
<Hediff_Estrus_Concealed.labelNoun>發情期</Hediff_Estrus_Concealed.labelNoun>
<Hediff_Estrus_Concealed.description>由於子宮進入月經週期中最多產的階段,身體受激素影響而變得渴望懷孕。輕微增加性慾。
輕微增加發生陰道性交的頻率。</Hediff_Estrus_Concealed.description>
<Hediff_PainReliever.label>止痛藥</Hediff_PainReliever.label>
<Hediff_PainReliever.description>緩解源自於痛經及此類神經痛的苦楚。</Hediff_PainReliever.description>
<Hediff_Cyclosporine.label>環孢素</Hediff_Cyclosporine.label>
<Hediff_Cyclosporine.description>由於免疫抑製劑的作用,身體抵抗感染和疾病的能力受扼制。</Hediff_Cyclosporine.description>
<!--Auto generated: Wed Aug 30 16:05:07 2023-->
<Hediff_AffectedByPheromones.label>受費洛蒙影響</Hediff_AffectedByPheromones.label>
<Hediff_AffectedByPheromones.description>受附近某人處於發情期之故,此人的性需求及娛樂需求正急遽上升。</Hediff_AffectedByPheromones.description>
<Hediff_AffectedByPheromones.stages.0.label></Hediff_AffectedByPheromones.stages.0.label>
<Hediff_AffectedByPheromones.stages.1.label></Hediff_AffectedByPheromones.stages.1.label>
<Hediff_AffectedByPheromones.stages.2.label></Hediff_AffectedByPheromones.stages.2.label>
<!--Generated at: 2024-08-22-->
<Hediff_MenstrualCramp.description>陰道會於經期結束時出血。
此時常常感到劇痛。</Hediff_MenstrualCramp.description>
<Hediff_MenstrualCramp.label>忍受痛經</Hediff_MenstrualCramp.label>
<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>
</LanguageData>

View file

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<LanguageData>
<VaginaWashing.reportString>正清洗陰道</VaginaWashing.reportString>
</LanguageData>

View file

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<LanguageData>
<LactateSelf.reportString>正自行擠奶</LactateSelf.reportString>
</LanguageData>

View file

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<LanguageData>
<OpenStatusWindow.label>月經週期: 開啟狀態視窗</OpenStatusWindow.label>
</LanguageData>

View file

@ -1,21 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<LanguageData>
<Surgery_ExpandAreola.label>增大乳暈</Surgery_ExpandAreola.label>
<Surgery_ExpandAreola.description>增大乳暈。</Surgery_ExpandAreola.description>
<Surgery_ExpandAreola.jobString>正通過手術增大乳暈</Surgery_ExpandAreola.jobString>
<Surgery_ContractAreola.label>縮小乳暈</Surgery_ContractAreola.label>
<Surgery_ContractAreola.description>縮小乳暈。</Surgery_ContractAreola.description>
<Surgery_ContractAreola.jobString>正通過手術縮小乳暈</Surgery_ContractAreola.jobString>
<Surgery_ExpandNipple.label>增大乳頭</Surgery_ExpandNipple.label>
<Surgery_ExpandNipple.description>增大乳頭。</Surgery_ExpandNipple.description>
<Surgery_ExpandNipple.jobString>正通過手術增大乳頭。</Surgery_ExpandNipple.jobString>
<Surgery_ContractNipple.label>縮小乳頭</Surgery_ContractNipple.label>
<Surgery_ContractNipple.description>縮小乳頭。</Surgery_ContractNipple.description>
<Surgery_ContractNipple.jobString>正通過手術縮小乳頭</Surgery_ContractNipple.jobString>
<Surgery_DarkenNipple.label>染黑乳頭</Surgery_DarkenNipple.label>
<Surgery_DarkenNipple.description>染黑乳頭。</Surgery_DarkenNipple.description>
<Surgery_DarkenNipple.jobString>正通過手術染黑乳頭</Surgery_DarkenNipple.jobString>
<Surgery_LightenNipple.label>白化乳頭</Surgery_LightenNipple.label>
<Surgery_LightenNipple.description>使乳頭顏色變粉。</Surgery_LightenNipple.description>
<Surgery_LightenNipple.jobString>正通過手術粉化乳頭</Surgery_LightenNipple.jobString>
</LanguageData>

View file

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<LanguageData>
<AmountofCreampied.description>我子宮中的精液。(以毫升計)</AmountofCreampied.description>
<AmountofCreampied.label>體內射精</AmountofCreampied.label>
<AmountofFertilizedEggs.description>我體內同精子結合的卵子數。</AmountofFertilizedEggs.description>
<AmountofFertilizedEggs.label>受精卵</AmountofFertilizedEggs.label>
</LanguageData>

View file

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<LanguageData>
<MaxAbsorbable.description>此物可吸收液體的最大量</MaxAbsorbable.description>
<MaxAbsorbable.formatString>{0}毫升</MaxAbsorbable.formatString>
<MaxAbsorbable.label>可吸收量</MaxAbsorbable.label>
</LanguageData>

View file

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<LanguageData>
<MaxAbsorbable.formatString>{0}毫升</MaxAbsorbable.formatString>
</LanguageData>

View file

@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<LanguageData>
<CameInside.label>體內射精</CameInside.label>
<CameInside.rulePack.rulesStrings.0>tale_noun-&gt;[FUCKER_nameDef]在[FUCKED_nameDef]體內射了精。</CameInside.rulePack.rulesStrings.0>
<CameInside.rulePack.rulesStrings.1>image-&gt;[FUCKER_nameFull]的陰莖深深刺入了[FUCKED_nameFull]的陰道[circumstance_group]</CameInside.rulePack.rulesStrings.1>
<CameInside.rulePack.rulesStrings.2>image-&gt;[FUCKER_nameFull]的陰莖消失在了[FUCKED_nameFull]的黑洞中[circumstance_group]</CameInside.rulePack.rulesStrings.2>
<CameInside.rulePack.rulesStrings.3>image-&gt;[FUCKED_nameFull]的陰道被[FUCKER_nameFull]的陰莖灌得滿滿的[circumstance_group]</CameInside.rulePack.rulesStrings.3>
<CameInside.rulePack.rulesStrings.4>image-&gt;[FUCKED_nameFull]的陰道緊緊吸住了[FUCKER_nameFull]的陰莖[circumstance_group]</CameInside.rulePack.rulesStrings.4>
<CameInside.rulePack.rulesStrings.5>circumstance_phrase-&gt;,於是[FUCKER_nameDef]不得不咬緊牙關</CameInside.rulePack.rulesStrings.5>
<CameInside.rulePack.rulesStrings.6>circumstance_phrase-&gt;,但[FUCKER_nameDef]卻滿臉傻笑</CameInside.rulePack.rulesStrings.6>
<CameInside.rulePack.rulesStrings.7>circumstance_phrase-&gt;,整得[FUCKED_nameDef]在狂喜中不停顫抖</CameInside.rulePack.rulesStrings.7>
<CameInside.rulePack.rulesStrings.8>circumstance_phrase-&gt;,而後[FUCKER_nameDef]將[FUCKER_possessive]濃稠精液射入[FUCKED_nameDef]的體內</CameInside.rulePack.rulesStrings.8>
<CameInside.rulePack.rulesStrings.9>circumstance_phrase-&gt;。接著,[FUCKED_nameDef]深情地看著[FUCKER_nameDef]的眼眸。</CameInside.rulePack.rulesStrings.9>
<CameInside.rulePack.rulesStrings.10>desc_sentence-&gt;[FUCKER_nameDef]的精液緩緩流出[FUCKED_nameDef]的陰道,順著大腿滴到了地上。</CameInside.rulePack.rulesStrings.10>
<CameInside.rulePack.rulesStrings.11>desc_sentence-&gt;[FUCKER_nameDef]的精液衝進了[FUCKED_nameDef]的子宮,同[FUCKED_possessive]的卵子結合了。</CameInside.rulePack.rulesStrings.11>
<CameInside.rulePack.rulesStrings.12>desc_sentence-&gt;[FUCKER_nameDef]的精液射入了[FUCKED_nameDef]的子宮。</CameInside.rulePack.rulesStrings.12>
<CameInside.rulePack.rulesStrings.13>desc_sentence-&gt;[FUCKED_nameDef]的子宮被精液灌得滿滿的。</CameInside.rulePack.rulesStrings.13>
<CameInside.rulePack.rulesStrings.14>desc_sentence-&gt;汗水從[FUCKER_nameDef]的臉上滴落。</CameInside.rulePack.rulesStrings.14>
<CameInside.rulePack.rulesStrings.15>desc_sentence-&gt;[FUCKED_nameDef]氣喘吁吁。</CameInside.rulePack.rulesStrings.15>
</LanguageData>

View file

@ -1,15 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<LanguageData>
<Absorber_Pad.description>用於從陰道吸收液體。</Absorber_Pad.description>
<Absorber_Pad.label>衛生棉</Absorber_Pad.label>
<Absorber_Pad_Dirty.description>濕的衛生棉</Absorber_Pad_Dirty.description>
<Absorber_Pad_Dirty.label>已經使用過的衛生棉</Absorber_Pad_Dirty.label>
<Absorber_Tampon.description>用於從陰道吸收液體。
配戴過久容易引發陰道感染。</Absorber_Tampon.description>
<Absorber_Tampon.label>衛生棉條</Absorber_Tampon.label>
<Absorber_Tampon_Dirty.description>已經使用過的衛生棉條。
繼續滯留在內會引發陰道感染。</Absorber_Tampon_Dirty.description>
<Absorber_Tampon_Dirty.label>濕的衛生棉條</Absorber_Tampon_Dirty.label>
</LanguageData>

View file

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<LanguageData>
<FilthMixture.label>混合物</FilthMixture.label>
</LanguageData>

Some files were not shown because too many files have changed in this diff Show more