diff --git a/About/About.xml b/About/About.xml
index 32a15a0..35023f0 100644
--- a/About/About.xml
+++ b/About/About.xml
@@ -1,6 +1,6 @@
- RJW Menstrution Cycle
+ RJW Menstruation Cycle
a
1.2
@@ -29,6 +29,6 @@
brrainz.harmony
rim.job.world
- rjw.menstrution
+ rjw.menstruation
yes yes
\ No newline at end of file
diff --git a/About/Manifest.xml b/About/Manifest.xml
index 2b37343..04a4ef7 100644
--- a/About/Manifest.xml
+++ b/About/Manifest.xml
@@ -1,7 +1,7 @@
RJW Menstruation
- 1.0.1.2
+ 1.0.1.3
diff --git a/Assemblies/RJW_Menstruation.dll b/Assemblies/RJW_Menstruation.dll
index e176b9c..1a50d99 100644
Binary files a/Assemblies/RJW_Menstruation.dll and b/Assemblies/RJW_Menstruation.dll differ
diff --git a/Defs/ThoughtDefs/Thoughts_sex.xml b/Defs/ThoughtDefs/Thoughts_sex.xml
new file mode 100644
index 0000000..77b7ba6
--- /dev/null
+++ b/Defs/ThoughtDefs/Thoughts_sex.xml
@@ -0,0 +1,160 @@
+
+
+
+
+ LeakingFluids
+ Thought_Memory
+ 0.05
+ 1
+ 0.4
+
+
+
+ It bothers me.
+ -2
+
+
+
+
+
+ CameInsideF
+ Thought_Memory
+ 7.0
+ 5
+ 0.1
+
+
+
+ I'm worried i might get pregnant.
+ -5
+ -2
+
+
+
+
+
+ CameInsideFLowFert
+ Thought_Memory
+ 7.0
+ 5
+ 0.1
+
+
+
+ I'm worried i might get pregnant.
The chance is low, but...
+ -2
+
+
+
+
+
+ CameInsideFFetish
+ Thought_Memory
+ 3.0
+ 5
+ 0.1
+
+
+
+ I might get pregnant.
+ 15
+ 5
+
+
+
+
+
+ CameInsideFFetishSafe
+ Thought_Memory
+ 3.0
+ 5
+ 0.1
+
+
+
+ I loved it.
+ 5
+ 1
+
+
+
+
+
+ CameInsideM
+ Thought_Memory
+ 1.0
+ 5
+ 0.4
+
+
+
+ Feel so good.
+ 2
+
+
+
+
+
+ HaterCameInsideFSafe
+ Thought_Memory
+ 3.0
+ 5
+ 0.1
+
+
+
+ That son of bitch came inside of me!
+ -5
+ -5
+
+
+
+
+
+ HaterCameInsideF
+ Thought_Memory
+ 7.0
+ 5
+ 0.1
+
+
+
+ That son of bitch came inside of me!
I don't want to be pregnant with his baby
+ -10
+ -10
+
+
+
+
+
+ HaterCameInsideM
+ Thought_Memory
+ 1.0
+ 5
+ 0.4
+
+
+
+ i came inside of that bitch
+ 5
+
+
+
+
+
+ UnwantedPregnancy
+ Thought_Memory
+ 14.0
+ 5
+ 0.1
+
+
+
+ How do i...
+ -15
+
+
+
+
+
+
diff --git a/Languages/Korean/DefInjected/ThoughtDef/RJWMenstruation.xml b/Languages/Korean/DefInjected/ThoughtDef/RJWMenstruation.xml
new file mode 100644
index 0000000..7d503c0
--- /dev/null
+++ b/Languages/Korean/DefInjected/ThoughtDef/RJWMenstruation.xml
@@ -0,0 +1,23 @@
+
+
+ 가랑이가 축축함
+ 찝찝해...
+ {0}에게 질내사정 당함
+ 임신할까봐 걱정돼...
+ {0}에게 질내사정 당함
+ 확률은 낮겠지만 임신할까봐 걱정돼...
+ {0}에게 질내사정당함
+ 임신할것 같아
+ {0}에게 질내사정당함
+ 좋았어...
+ {0}에게 질내사정함
+ 질싸를하니 기분이 좋네
+ {0}에게 질내사정당함
+ 그 개새끼가 질싸를했어!
그새끼의 자식을 임신하고 싶지 않아...
+ {0}에게 질내사정당함
+ 그 개새끼가 질싸를했어!
+ {0}에게 질내사정함
+ 그 개년한테 질싸를했어
+ 원치않은 임신
+ 어떻게 해야하지?...
+
\ No newline at end of file
diff --git a/Patches/Item_Resource_Stuffs.xml b/Patches/Item_Resource_Stuffs.xml
new file mode 100644
index 0000000..9a4a571
--- /dev/null
+++ b/Patches/Item_Resource_Stuffs.xml
@@ -0,0 +1,38 @@
+
+
+
+
+ Defs/ThingDef[defName="Cloth"]/stuffProps/statFactors
+
+ 1.0
+
+
+
+
+ Defs/ThingDef[defName="Synthread"]/stuffProps/statFactors
+
+ 2.0
+
+
+
+
+ Defs/ThingDef[defName="DevilstrandCloth"]/stuffProps/statFactors
+
+ 0.5
+
+
+
+
+ Defs/ThingDef[defName="Hyperweave"]/stuffProps/statFactors
+
+ 0.25
+
+
+
+
+ Defs/ThingDef[@Name="WoolBase"]/stuffProps/statFactors
+
+ 1.5
+
+
+
\ No newline at end of file
diff --git a/Textures/Fetus/Fetus_Brown00.png b/Textures/Fetus/Fetus_Brown00.png
deleted file mode 100644
index 3df90a7..0000000
Binary files a/Textures/Fetus/Fetus_Brown00.png and /dev/null differ
diff --git a/Textures/Fetus/Fetus_Brown01.png b/Textures/Fetus/Fetus_Brown01.png
deleted file mode 100644
index b4e25bb..0000000
Binary files a/Textures/Fetus/Fetus_Brown01.png and /dev/null differ
diff --git a/Textures/Fetus/Fetus_Brown02.png b/Textures/Fetus/Fetus_Brown02.png
deleted file mode 100644
index b40e3e7..0000000
Binary files a/Textures/Fetus/Fetus_Brown02.png and /dev/null differ
diff --git a/Textures/Fetus/Fetus_Brown03.png b/Textures/Fetus/Fetus_Brown03.png
deleted file mode 100644
index 40e1742..0000000
Binary files a/Textures/Fetus/Fetus_Brown03.png and /dev/null differ
diff --git a/Textures/Fetus/Fetus_Green00.png b/Textures/Fetus/Fetus_Green00.png
deleted file mode 100644
index cdf8600..0000000
Binary files a/Textures/Fetus/Fetus_Green00.png and /dev/null differ
diff --git a/Textures/Fetus/Fetus_Green01.png b/Textures/Fetus/Fetus_Green01.png
deleted file mode 100644
index fac6c7e..0000000
Binary files a/Textures/Fetus/Fetus_Green01.png and /dev/null differ
diff --git a/Textures/Fetus/Fetus_Green02.png b/Textures/Fetus/Fetus_Green02.png
deleted file mode 100644
index 30f7ae5..0000000
Binary files a/Textures/Fetus/Fetus_Green02.png and /dev/null differ
diff --git a/Textures/Fetus/Fetus_Green03.png b/Textures/Fetus/Fetus_Green03.png
deleted file mode 100644
index 9ef6076..0000000
Binary files a/Textures/Fetus/Fetus_Green03.png and /dev/null differ
diff --git a/Textures/Fetus/Fetus_Orc00.png b/Textures/Fetus/Fetus_Orc00.png
deleted file mode 100644
index 9e4bdbd..0000000
Binary files a/Textures/Fetus/Fetus_Orc00.png and /dev/null differ
diff --git a/Textures/Fetus/Fetus_Orc01.png b/Textures/Fetus/Fetus_Orc01.png
deleted file mode 100644
index 90cffe0..0000000
Binary files a/Textures/Fetus/Fetus_Orc01.png and /dev/null differ
diff --git a/Textures/Fetus/Fetus_Orc02.png b/Textures/Fetus/Fetus_Orc02.png
deleted file mode 100644
index ac28262..0000000
Binary files a/Textures/Fetus/Fetus_Orc02.png and /dev/null differ
diff --git a/Textures/Fetus/Fetus_Orc03.png b/Textures/Fetus/Fetus_Orc03.png
deleted file mode 100644
index c736b55..0000000
Binary files a/Textures/Fetus/Fetus_Orc03.png and /dev/null differ
diff --git a/Textures/Fetus/Slime_Abomi02.png b/Textures/Fetus/Slime_Abomi02.png
deleted file mode 100644
index 612481f..0000000
Binary files a/Textures/Fetus/Slime_Abomi02.png and /dev/null differ
diff --git a/Textures/Fetus/Slime_Black02.png b/Textures/Fetus/Slime_Black02.png
deleted file mode 100644
index 8094fc6..0000000
Binary files a/Textures/Fetus/Slime_Black02.png and /dev/null differ
diff --git a/Textures/Fetus/Slime_Blue02.png b/Textures/Fetus/Slime_Blue02.png
deleted file mode 100644
index 6ee8a45..0000000
Binary files a/Textures/Fetus/Slime_Blue02.png and /dev/null differ
diff --git a/Textures/Fetus/Slime_Default00.png b/Textures/Fetus/Slime_Default00.png
deleted file mode 100644
index db17277..0000000
Binary files a/Textures/Fetus/Slime_Default00.png and /dev/null differ
diff --git a/Textures/Fetus/Slime_Default01.png b/Textures/Fetus/Slime_Default01.png
deleted file mode 100644
index 817f77d..0000000
Binary files a/Textures/Fetus/Slime_Default01.png and /dev/null differ
diff --git a/Textures/Fetus/Slime_Default02.png b/Textures/Fetus/Slime_Default02.png
deleted file mode 100644
index fa3805b..0000000
Binary files a/Textures/Fetus/Slime_Default02.png and /dev/null differ
diff --git a/Textures/Fetus/Slime_Pink02.png b/Textures/Fetus/Slime_Pink02.png
deleted file mode 100644
index eb560c5..0000000
Binary files a/Textures/Fetus/Slime_Pink02.png and /dev/null differ
diff --git a/Textures/Fetus/Slime_Red02.png b/Textures/Fetus/Slime_Red02.png
deleted file mode 100644
index 0ecb289..0000000
Binary files a/Textures/Fetus/Slime_Red02.png and /dev/null differ
diff --git a/Textures/Fetus/Slime_Yellow02.png b/Textures/Fetus/Slime_Yellow02.png
deleted file mode 100644
index 818f2d0..0000000
Binary files a/Textures/Fetus/Slime_Yellow02.png and /dev/null differ
diff --git a/Textures/Fetus_small/Fetus_Brown00.png b/Textures/Fetus_small/Fetus_Brown00.png
deleted file mode 100644
index 3df90a7..0000000
Binary files a/Textures/Fetus_small/Fetus_Brown00.png and /dev/null differ
diff --git a/Textures/Fetus_small/Fetus_Brown01.png b/Textures/Fetus_small/Fetus_Brown01.png
deleted file mode 100644
index b4e25bb..0000000
Binary files a/Textures/Fetus_small/Fetus_Brown01.png and /dev/null differ
diff --git a/Textures/Fetus_small/Fetus_Brown02.png b/Textures/Fetus_small/Fetus_Brown02.png
deleted file mode 100644
index b40e3e7..0000000
Binary files a/Textures/Fetus_small/Fetus_Brown02.png and /dev/null differ
diff --git a/Textures/Fetus_small/Fetus_Brown03.png b/Textures/Fetus_small/Fetus_Brown03.png
deleted file mode 100644
index 40e1742..0000000
Binary files a/Textures/Fetus_small/Fetus_Brown03.png and /dev/null differ
diff --git a/Textures/Fetus_small/Fetus_Default00.png b/Textures/Fetus_small/Fetus_Default00.png
deleted file mode 100644
index b56cde5..0000000
Binary files a/Textures/Fetus_small/Fetus_Default00.png and /dev/null differ
diff --git a/Textures/Fetus_small/Fetus_Default01.png b/Textures/Fetus_small/Fetus_Default01.png
deleted file mode 100644
index f11d1ae..0000000
Binary files a/Textures/Fetus_small/Fetus_Default01.png and /dev/null differ
diff --git a/Textures/Fetus_small/Fetus_Default02.png b/Textures/Fetus_small/Fetus_Default02.png
deleted file mode 100644
index 7ef4239..0000000
Binary files a/Textures/Fetus_small/Fetus_Default02.png and /dev/null differ
diff --git a/Textures/Fetus_small/Fetus_Default03.png b/Textures/Fetus_small/Fetus_Default03.png
deleted file mode 100644
index 8197f1c..0000000
Binary files a/Textures/Fetus_small/Fetus_Default03.png and /dev/null differ
diff --git a/Textures/Fetus_small/Fetus_Early00.png b/Textures/Fetus_small/Fetus_Early00.png
deleted file mode 100644
index 232cdb4..0000000
Binary files a/Textures/Fetus_small/Fetus_Early00.png and /dev/null differ
diff --git a/Textures/Fetus_small/Fetus_Early01.png b/Textures/Fetus_small/Fetus_Early01.png
deleted file mode 100644
index c884fdc..0000000
Binary files a/Textures/Fetus_small/Fetus_Early01.png and /dev/null differ
diff --git a/Textures/Fetus_small/Fetus_Early02.png b/Textures/Fetus_small/Fetus_Early02.png
deleted file mode 100644
index f52b5f3..0000000
Binary files a/Textures/Fetus_small/Fetus_Early02.png and /dev/null differ
diff --git a/Textures/Fetus_small/Fetus_Green00.png b/Textures/Fetus_small/Fetus_Green00.png
deleted file mode 100644
index cdf8600..0000000
Binary files a/Textures/Fetus_small/Fetus_Green00.png and /dev/null differ
diff --git a/Textures/Fetus_small/Fetus_Green01.png b/Textures/Fetus_small/Fetus_Green01.png
deleted file mode 100644
index fac6c7e..0000000
Binary files a/Textures/Fetus_small/Fetus_Green01.png and /dev/null differ
diff --git a/Textures/Fetus_small/Fetus_Green02.png b/Textures/Fetus_small/Fetus_Green02.png
deleted file mode 100644
index 30f7ae5..0000000
Binary files a/Textures/Fetus_small/Fetus_Green02.png and /dev/null differ
diff --git a/Textures/Fetus_small/Fetus_Green03.png b/Textures/Fetus_small/Fetus_Green03.png
deleted file mode 100644
index 9ef6076..0000000
Binary files a/Textures/Fetus_small/Fetus_Green03.png and /dev/null differ
diff --git a/Textures/Fetus_small/Fetus_Orc00.png b/Textures/Fetus_small/Fetus_Orc00.png
deleted file mode 100644
index 3637251..0000000
Binary files a/Textures/Fetus_small/Fetus_Orc00.png and /dev/null differ
diff --git a/Textures/Fetus_small/Fetus_Orc01.png b/Textures/Fetus_small/Fetus_Orc01.png
deleted file mode 100644
index 769edba..0000000
Binary files a/Textures/Fetus_small/Fetus_Orc01.png and /dev/null differ
diff --git a/Textures/Fetus_small/Fetus_Orc02.png b/Textures/Fetus_small/Fetus_Orc02.png
deleted file mode 100644
index 939af97..0000000
Binary files a/Textures/Fetus_small/Fetus_Orc02.png and /dev/null differ
diff --git a/Textures/Fetus_small/Fetus_Orc03.png b/Textures/Fetus_small/Fetus_Orc03.png
deleted file mode 100644
index 6e9d9cb..0000000
Binary files a/Textures/Fetus_small/Fetus_Orc03.png and /dev/null differ
diff --git a/Textures/Fetus_small/ImplantedEgg.png b/Textures/Fetus_small/ImplantedEgg.png
deleted file mode 100644
index 3b5769c..0000000
Binary files a/Textures/Fetus_small/ImplantedEgg.png and /dev/null differ
diff --git a/Textures/Fetus_small/Slime_Abomi02.png b/Textures/Fetus_small/Slime_Abomi02.png
deleted file mode 100644
index 325d613..0000000
Binary files a/Textures/Fetus_small/Slime_Abomi02.png and /dev/null differ
diff --git a/Textures/Fetus_small/Slime_Black02.png b/Textures/Fetus_small/Slime_Black02.png
deleted file mode 100644
index 8094fc6..0000000
Binary files a/Textures/Fetus_small/Slime_Black02.png and /dev/null differ
diff --git a/Textures/Fetus_small/Slime_Blue02.png b/Textures/Fetus_small/Slime_Blue02.png
deleted file mode 100644
index 754909d..0000000
Binary files a/Textures/Fetus_small/Slime_Blue02.png and /dev/null differ
diff --git a/Textures/Fetus_small/Slime_Default00.png b/Textures/Fetus_small/Slime_Default00.png
deleted file mode 100644
index b20b609..0000000
Binary files a/Textures/Fetus_small/Slime_Default00.png and /dev/null differ
diff --git a/Textures/Fetus_small/Slime_Default01.png b/Textures/Fetus_small/Slime_Default01.png
deleted file mode 100644
index 9b9d95c..0000000
Binary files a/Textures/Fetus_small/Slime_Default01.png and /dev/null differ
diff --git a/Textures/Fetus_small/Slime_Default02.png b/Textures/Fetus_small/Slime_Default02.png
deleted file mode 100644
index b05119e..0000000
Binary files a/Textures/Fetus_small/Slime_Default02.png and /dev/null differ
diff --git a/Textures/Fetus_small/Slime_Pink02.png b/Textures/Fetus_small/Slime_Pink02.png
deleted file mode 100644
index eb560c5..0000000
Binary files a/Textures/Fetus_small/Slime_Pink02.png and /dev/null differ
diff --git a/Textures/Fetus_small/Slime_Red02.png b/Textures/Fetus_small/Slime_Red02.png
deleted file mode 100644
index 0ecb289..0000000
Binary files a/Textures/Fetus_small/Slime_Red02.png and /dev/null differ
diff --git a/Textures/Fetus_small/Slime_Yellow02.png b/Textures/Fetus_small/Slime_Yellow02.png
deleted file mode 100644
index 818f2d0..0000000
Binary files a/Textures/Fetus_small/Slime_Yellow02.png and /dev/null differ
diff --git a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Anal00.png b/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Anal00.png
deleted file mode 100644
index 2923a23..0000000
Binary files a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Anal00.png and /dev/null differ
diff --git a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Anal01.png b/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Anal01.png
deleted file mode 100644
index 432b0b8..0000000
Binary files a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Anal01.png and /dev/null differ
diff --git a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Anal02.png b/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Anal02.png
deleted file mode 100644
index a251d81..0000000
Binary files a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Anal02.png and /dev/null differ
diff --git a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Anal03.png b/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Anal03.png
deleted file mode 100644
index 2f81bd1..0000000
Binary files a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Anal03.png and /dev/null differ
diff --git a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Anal04.png b/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Anal04.png
deleted file mode 100644
index 02459be..0000000
Binary files a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Anal04.png and /dev/null differ
diff --git a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Anal05.png b/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Anal05.png
deleted file mode 100644
index 10541df..0000000
Binary files a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Anal05.png and /dev/null differ
diff --git a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Anal2_00.png b/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Anal2_00.png
deleted file mode 100644
index abe20b9..0000000
Binary files a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Anal2_00.png and /dev/null differ
diff --git a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina00.png b/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina00.png
deleted file mode 100644
index fd028b4..0000000
Binary files a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina00.png and /dev/null differ
diff --git a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina01.png b/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina01.png
deleted file mode 100644
index f21f123..0000000
Binary files a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina01.png and /dev/null differ
diff --git a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina02.png b/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina02.png
deleted file mode 100644
index 37f6830..0000000
Binary files a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina02.png and /dev/null differ
diff --git a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina03.png b/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina03.png
deleted file mode 100644
index 53ab1cb..0000000
Binary files a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina03.png and /dev/null differ
diff --git a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina04.png b/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina04.png
deleted file mode 100644
index 70eba1f..0000000
Binary files a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina04.png and /dev/null differ
diff --git a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina05.png b/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina05.png
deleted file mode 100644
index c19e597..0000000
Binary files a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina05.png and /dev/null differ
diff --git a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina06.png b/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina06.png
deleted file mode 100644
index d381cb1..0000000
Binary files a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina06.png and /dev/null differ
diff --git a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina07.png b/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina07.png
deleted file mode 100644
index 7565f91..0000000
Binary files a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina07.png and /dev/null differ
diff --git a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina08.png b/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina08.png
deleted file mode 100644
index 99d1def..0000000
Binary files a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina08.png and /dev/null differ
diff --git a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina09.png b/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina09.png
deleted file mode 100644
index 99d1def..0000000
Binary files a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina09.png and /dev/null differ
diff --git a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina10.png b/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina10.png
deleted file mode 100644
index 0c70534..0000000
Binary files a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina10.png and /dev/null differ
diff --git a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina11.png b/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina11.png
deleted file mode 100644
index d90afad..0000000
Binary files a/Textures/Genitals_old(RGB)(noise_scale)(Level1)(x2.000000)(16bit)/Vagina11.png and /dev/null differ
diff --git a/Textures/Genitals_old/Anal00.png b/Textures/Genitals_old/Anal00.png
deleted file mode 100644
index 3e4a0df..0000000
Binary files a/Textures/Genitals_old/Anal00.png and /dev/null differ
diff --git a/Textures/Genitals_old/Anal01.png b/Textures/Genitals_old/Anal01.png
deleted file mode 100644
index dd2e2b7..0000000
Binary files a/Textures/Genitals_old/Anal01.png and /dev/null differ
diff --git a/Textures/Genitals_old/Anal02.png b/Textures/Genitals_old/Anal02.png
deleted file mode 100644
index 97ce6a0..0000000
Binary files a/Textures/Genitals_old/Anal02.png and /dev/null differ
diff --git a/Textures/Genitals_old/Anal03.png b/Textures/Genitals_old/Anal03.png
deleted file mode 100644
index b55f8d3..0000000
Binary files a/Textures/Genitals_old/Anal03.png and /dev/null differ
diff --git a/Textures/Genitals_old/Anal04.png b/Textures/Genitals_old/Anal04.png
deleted file mode 100644
index 21b6fb5..0000000
Binary files a/Textures/Genitals_old/Anal04.png and /dev/null differ
diff --git a/Textures/Genitals_old/Anal05.png b/Textures/Genitals_old/Anal05.png
deleted file mode 100644
index adf9ba5..0000000
Binary files a/Textures/Genitals_old/Anal05.png and /dev/null differ
diff --git a/Textures/Genitals_old/Anal2_00.png b/Textures/Genitals_old/Anal2_00.png
deleted file mode 100644
index cb175a6..0000000
Binary files a/Textures/Genitals_old/Anal2_00.png and /dev/null differ
diff --git a/Textures/Genitals_old/Genitals.zip b/Textures/Genitals_old/Genitals.zip
deleted file mode 100644
index ccd7cc9..0000000
Binary files a/Textures/Genitals_old/Genitals.zip and /dev/null differ
diff --git a/Textures/Genitals_old/Vagina00.png b/Textures/Genitals_old/Vagina00.png
deleted file mode 100644
index f8f2ec3..0000000
Binary files a/Textures/Genitals_old/Vagina00.png and /dev/null differ
diff --git a/Textures/Genitals_old/Vagina01.png b/Textures/Genitals_old/Vagina01.png
deleted file mode 100644
index 7c966bb..0000000
Binary files a/Textures/Genitals_old/Vagina01.png and /dev/null differ
diff --git a/Textures/Genitals_old/Vagina02.png b/Textures/Genitals_old/Vagina02.png
deleted file mode 100644
index 496c1b6..0000000
Binary files a/Textures/Genitals_old/Vagina02.png and /dev/null differ
diff --git a/Textures/Genitals_old/Vagina03.png b/Textures/Genitals_old/Vagina03.png
deleted file mode 100644
index 8ef46dd..0000000
Binary files a/Textures/Genitals_old/Vagina03.png and /dev/null differ
diff --git a/Textures/Genitals_old/Vagina04.png b/Textures/Genitals_old/Vagina04.png
deleted file mode 100644
index badddf8..0000000
Binary files a/Textures/Genitals_old/Vagina04.png and /dev/null differ
diff --git a/Textures/Genitals_old/Vagina05.png b/Textures/Genitals_old/Vagina05.png
deleted file mode 100644
index b790cf4..0000000
Binary files a/Textures/Genitals_old/Vagina05.png and /dev/null differ
diff --git a/Textures/Genitals_old/Vagina06.png b/Textures/Genitals_old/Vagina06.png
deleted file mode 100644
index 1328f40..0000000
Binary files a/Textures/Genitals_old/Vagina06.png and /dev/null differ
diff --git a/Textures/Genitals_old/Vagina07.png b/Textures/Genitals_old/Vagina07.png
deleted file mode 100644
index db8afb7..0000000
Binary files a/Textures/Genitals_old/Vagina07.png and /dev/null differ
diff --git a/Textures/Genitals_old/Vagina08.png b/Textures/Genitals_old/Vagina08.png
deleted file mode 100644
index e2cb3fe..0000000
Binary files a/Textures/Genitals_old/Vagina08.png and /dev/null differ
diff --git a/Textures/Genitals_old/Vagina09.png b/Textures/Genitals_old/Vagina09.png
deleted file mode 100644
index ff16fb4..0000000
Binary files a/Textures/Genitals_old/Vagina09.png and /dev/null differ
diff --git a/Textures/Genitals_old/Vagina10.png b/Textures/Genitals_old/Vagina10.png
deleted file mode 100644
index 0ab5f78..0000000
Binary files a/Textures/Genitals_old/Vagina10.png and /dev/null differ
diff --git a/Textures/Genitals_old/Vagina11.png b/Textures/Genitals_old/Vagina11.png
deleted file mode 100644
index b493620..0000000
Binary files a/Textures/Genitals_old/Vagina11.png and /dev/null differ
diff --git a/Textures/Womb_old/Cum.psd b/Textures/Womb_old/Cum.psd
deleted file mode 100644
index f163dfc..0000000
Binary files a/Textures/Womb_old/Cum.psd and /dev/null differ
diff --git a/Textures/Womb_old/Cum_00.png b/Textures/Womb_old/Cum_00.png
deleted file mode 100644
index e399317..0000000
Binary files a/Textures/Womb_old/Cum_00.png and /dev/null differ
diff --git a/Textures/Womb_old/Cum_01.png b/Textures/Womb_old/Cum_01.png
deleted file mode 100644
index cccb471..0000000
Binary files a/Textures/Womb_old/Cum_01.png and /dev/null differ
diff --git a/Textures/Womb_old/Cum_02.png b/Textures/Womb_old/Cum_02.png
deleted file mode 100644
index ed4f690..0000000
Binary files a/Textures/Womb_old/Cum_02.png and /dev/null differ
diff --git a/Textures/Womb_old/Cum_03.png b/Textures/Womb_old/Cum_03.png
deleted file mode 100644
index cd6cbff..0000000
Binary files a/Textures/Womb_old/Cum_03.png and /dev/null differ
diff --git a/Textures/Womb_old/Cum_04.png b/Textures/Womb_old/Cum_04.png
deleted file mode 100644
index 48a5101..0000000
Binary files a/Textures/Womb_old/Cum_04.png and /dev/null differ
diff --git a/Textures/Womb_old/Cum_05.png b/Textures/Womb_old/Cum_05.png
deleted file mode 100644
index 8bd5f29..0000000
Binary files a/Textures/Womb_old/Cum_05.png and /dev/null differ
diff --git a/Textures/Womb_old/Cum_06.png b/Textures/Womb_old/Cum_06.png
deleted file mode 100644
index 76e94c1..0000000
Binary files a/Textures/Womb_old/Cum_06.png and /dev/null differ
diff --git a/Textures/Womb_old/Cum_07.png b/Textures/Womb_old/Cum_07.png
deleted file mode 100644
index d4629d4..0000000
Binary files a/Textures/Womb_old/Cum_07.png and /dev/null differ
diff --git a/Textures/Womb_old/Cum_08.png b/Textures/Womb_old/Cum_08.png
deleted file mode 100644
index 9bb7992..0000000
Binary files a/Textures/Womb_old/Cum_08.png and /dev/null differ
diff --git a/Textures/Womb_old/Cum_09.png b/Textures/Womb_old/Cum_09.png
deleted file mode 100644
index fb5c539..0000000
Binary files a/Textures/Womb_old/Cum_09.png and /dev/null differ
diff --git a/Textures/Womb_old/Cum_10.png b/Textures/Womb_old/Cum_10.png
deleted file mode 100644
index 314753a..0000000
Binary files a/Textures/Womb_old/Cum_10.png and /dev/null differ
diff --git a/Textures/Womb_old/Cum_11.png b/Textures/Womb_old/Cum_11.png
deleted file mode 100644
index 241760f..0000000
Binary files a/Textures/Womb_old/Cum_11.png and /dev/null differ
diff --git a/Textures/Womb_old/Cum_12.png b/Textures/Womb_old/Cum_12.png
deleted file mode 100644
index 7872f5f..0000000
Binary files a/Textures/Womb_old/Cum_12.png and /dev/null differ
diff --git a/Textures/Womb_old/Cum_13.png b/Textures/Womb_old/Cum_13.png
deleted file mode 100644
index 3bae9d9..0000000
Binary files a/Textures/Womb_old/Cum_13.png and /dev/null differ
diff --git a/Textures/Womb_old/Cum_14.png b/Textures/Womb_old/Cum_14.png
deleted file mode 100644
index 0bbac57..0000000
Binary files a/Textures/Womb_old/Cum_14.png and /dev/null differ
diff --git a/Textures/Womb_old/Cum_15.png b/Textures/Womb_old/Cum_15.png
deleted file mode 100644
index b472b16..0000000
Binary files a/Textures/Womb_old/Cum_15.png and /dev/null differ
diff --git a/Textures/Womb_old/Cum_16.png b/Textures/Womb_old/Cum_16.png
deleted file mode 100644
index 0b5a949..0000000
Binary files a/Textures/Womb_old/Cum_16.png and /dev/null differ
diff --git a/Textures/Womb_old/Cum_17.png b/Textures/Womb_old/Cum_17.png
deleted file mode 100644
index e62bc70..0000000
Binary files a/Textures/Womb_old/Cum_17.png and /dev/null differ
diff --git a/Textures/Womb_old/Empty.png b/Textures/Womb_old/Empty.png
deleted file mode 100644
index 1aa9036..0000000
Binary files a/Textures/Womb_old/Empty.png and /dev/null differ
diff --git a/Textures/Womb_old/ImplantedEgg.png b/Textures/Womb_old/ImplantedEgg.png
deleted file mode 100644
index a109402..0000000
Binary files a/Textures/Womb_old/ImplantedEgg.png and /dev/null differ
diff --git a/Textures/Womb_old/Womb.7z b/Textures/Womb_old/Womb.7z
deleted file mode 100644
index 9041c54..0000000
Binary files a/Textures/Womb_old/Womb.7z and /dev/null differ
diff --git a/Textures/Womb_old/Womb.png b/Textures/Womb_old/Womb.png
deleted file mode 100644
index 99cc7c9..0000000
Binary files a/Textures/Womb_old/Womb.png and /dev/null differ
diff --git a/Textures/Womb_old/Womb_Bleeding.png b/Textures/Womb_old/Womb_Bleeding.png
deleted file mode 100644
index 005c530..0000000
Binary files a/Textures/Womb_old/Womb_Bleeding.png and /dev/null differ
diff --git a/Textures/Womb_old/Womb_Cum.psd b/Textures/Womb_old/Womb_Cum.psd
deleted file mode 100644
index 8867b14..0000000
Binary files a/Textures/Womb_old/Womb_Cum.psd and /dev/null differ
diff --git a/Textures/Womb_old/Womb_Cum00.png b/Textures/Womb_old/Womb_Cum00.png
deleted file mode 100644
index 7788477..0000000
Binary files a/Textures/Womb_old/Womb_Cum00.png and /dev/null differ
diff --git a/Textures/Womb_old/Womb_Cum01.png b/Textures/Womb_old/Womb_Cum01.png
deleted file mode 100644
index 0538950..0000000
Binary files a/Textures/Womb_old/Womb_Cum01.png and /dev/null differ
diff --git a/Textures/Womb_old/Womb_Cum02.png b/Textures/Womb_old/Womb_Cum02.png
deleted file mode 100644
index 6cbdbef..0000000
Binary files a/Textures/Womb_old/Womb_Cum02.png and /dev/null differ
diff --git a/Textures/Womb_old/Womb_Cum03.png b/Textures/Womb_old/Womb_Cum03.png
deleted file mode 100644
index b5eb038..0000000
Binary files a/Textures/Womb_old/Womb_Cum03.png and /dev/null differ
diff --git a/Textures/Womb_old/Womb_Cum04.png b/Textures/Womb_old/Womb_Cum04.png
deleted file mode 100644
index cf3331c..0000000
Binary files a/Textures/Womb_old/Womb_Cum04.png and /dev/null differ
diff --git a/Textures/Womb_old/Womb_Cum05.png b/Textures/Womb_old/Womb_Cum05.png
deleted file mode 100644
index d6c211e..0000000
Binary files a/Textures/Womb_old/Womb_Cum05.png and /dev/null differ
diff --git a/Textures/Womb_old/Womb_Cum06.png b/Textures/Womb_old/Womb_Cum06.png
deleted file mode 100644
index 1a4c741..0000000
Binary files a/Textures/Womb_old/Womb_Cum06.png and /dev/null differ
diff --git a/Textures/Womb_old/Womb_Cum07.png b/Textures/Womb_old/Womb_Cum07.png
deleted file mode 100644
index 17c9eed..0000000
Binary files a/Textures/Womb_old/Womb_Cum07.png and /dev/null differ
diff --git a/Textures/Womb_old/Womb_Cum08.png b/Textures/Womb_old/Womb_Cum08.png
deleted file mode 100644
index b2c785f..0000000
Binary files a/Textures/Womb_old/Womb_Cum08.png and /dev/null differ
diff --git a/Textures/Womb_old/Womb_Cum09.png b/Textures/Womb_old/Womb_Cum09.png
deleted file mode 100644
index d90fcbc..0000000
Binary files a/Textures/Womb_old/Womb_Cum09.png and /dev/null differ
diff --git a/Textures/Womb_old/Womb_Cum10.png b/Textures/Womb_old/Womb_Cum10.png
deleted file mode 100644
index 6405442..0000000
Binary files a/Textures/Womb_old/Womb_Cum10.png and /dev/null differ
diff --git a/Textures/Womb_old/Womb_Cum11.png b/Textures/Womb_old/Womb_Cum11.png
deleted file mode 100644
index 4708645..0000000
Binary files a/Textures/Womb_old/Womb_Cum11.png and /dev/null differ
diff --git a/Textures/Womb_old/Womb_Cum12.png b/Textures/Womb_old/Womb_Cum12.png
deleted file mode 100644
index de7a045..0000000
Binary files a/Textures/Womb_old/Womb_Cum12.png and /dev/null differ
diff --git a/Textures/Womb_old/Womb_Cum13.png b/Textures/Womb_old/Womb_Cum13.png
deleted file mode 100644
index f085f10..0000000
Binary files a/Textures/Womb_old/Womb_Cum13.png and /dev/null differ
diff --git a/Textures/Womb_old/Womb_Cum14.png b/Textures/Womb_old/Womb_Cum14.png
deleted file mode 100644
index 25a94d7..0000000
Binary files a/Textures/Womb_old/Womb_Cum14.png and /dev/null differ
diff --git a/Textures/Womb_old/Womb_Cum15.png b/Textures/Womb_old/Womb_Cum15.png
deleted file mode 100644
index 995ae80..0000000
Binary files a/Textures/Womb_old/Womb_Cum15.png and /dev/null differ
diff --git a/Textures/Womb_old/Womb_Cum16.png b/Textures/Womb_old/Womb_Cum16.png
deleted file mode 100644
index 5c70d4d..0000000
Binary files a/Textures/Womb_old/Womb_Cum16.png and /dev/null differ
diff --git a/Textures/Womb_old/Womb_Cum17.png b/Textures/Womb_old/Womb_Cum17.png
deleted file mode 100644
index 0687db2..0000000
Binary files a/Textures/Womb_old/Womb_Cum17.png and /dev/null differ
diff --git a/Textures/Womb_old/Womb_Implanted.png b/Textures/Womb_old/Womb_Implanted.png
deleted file mode 100644
index 33b72cc..0000000
Binary files a/Textures/Womb_old/Womb_Implanted.png and /dev/null differ
diff --git a/changelogs.txt b/changelogs.txt
index 4117b79..d194a01 100644
--- a/changelogs.txt
+++ b/changelogs.txt
@@ -1,4 +1,23 @@
+Version 1.0.1.3
+ *Note* you should update mod list
+ - requires RJW 4.6.1 or later
+ - max absorbable statbase added to vanilla fabrics.
+ - added thoughts for cum inside
+ - male pawn get mood buff if his partner is not ugly or he has breeder or impregnation fetish quirk
+ - female pawn get mood buff if she has breeder or impregnation fetish quirk
+ - female pawn get mood debuff if she is in fertile window or hates her partner
+ - added thought for leaking fluids
+ - absorbers can prevent this
+ - added thought for pregnancy
+ - female pawn without breeder quirk get mood debuff when pregnant without spouse or fiance
+ - mestrual blood color is determined by race's blood color
+ - absorber's color change gradually
+ - fixed bugs with enzygotic twins
+ - enzigotic twins will get same appearance
+ - added HAR compatibllity
+ -
Version 1.0.1.2
+ - requires RJW 4.6.1 or later
- reduced sex satisfaction debuffs
- if pawn is climacteric or menopause sex need recover to 50%.
- added vaginal washing
diff --git a/source/RJW_Menstruation/RJW_Menstruation/Configurations.cs b/source/RJW_Menstruation/RJW_Menstruation/Configurations.cs
index 842e017..3b05f48 100644
--- a/source/RJW_Menstruation/RJW_Menstruation/Configurations.cs
+++ b/source/RJW_Menstruation/RJW_Menstruation/Configurations.cs
@@ -47,6 +47,10 @@ namespace RJW_Menstruation
public static int MaxEnzygoticTwins = MaxEnzygoticTwinsDefault;
+
+ public static bool HARActivated = false;
+ public static bool LLActivated = false;
+
public enum DetailLevel
{
All,
@@ -111,10 +115,12 @@ namespace RJW_Menstruation
private readonly Configurations config;
private static Vector2 scroll;
+
public RJW_Menstruation(ModContentPack content) : base(content)
{
config = GetSettings();
-
+ Configurations.HARActivated = ModLister.HasActiveModWithName("Humanoid Alien Races 2.0");
+ Configurations.LLActivated = ModLister.HasActiveModWithName("RimJobWorld - Licentia Labs");
}
diff --git a/source/RJW_Menstruation/RJW_Menstruation/Cum.cs b/source/RJW_Menstruation/RJW_Menstruation/Cum.cs
index 5495527..b77fbb2 100644
--- a/source/RJW_Menstruation/RJW_Menstruation/Cum.cs
+++ b/source/RJW_Menstruation/RJW_Menstruation/Cum.cs
@@ -36,6 +36,7 @@ namespace RJW_Menstruation
}
}
private Color customColor;
+
public DNADef DNA
{
get
@@ -90,6 +91,7 @@ namespace RJW_Menstruation
volume = 1.0f;
fertvolume = 1.0f;
decayresist = 0;
+
}
public Cum(Pawn pawn, float volume, string notcumlabel, float decayresist = 0, ThingDef filthDef = null)
diff --git a/source/RJW_Menstruation/RJW_Menstruation/DNADef.cs b/source/RJW_Menstruation/RJW_Menstruation/DNADef.cs
index 2f71ff7..65f4d80 100644
--- a/source/RJW_Menstruation/RJW_Menstruation/DNADef.cs
+++ b/source/RJW_Menstruation/RJW_Menstruation/DNADef.cs
@@ -12,9 +12,9 @@ namespace RJW_Menstruation
{
public class DNADef : Def
{
- public bool IsNone => string.IsNullOrEmpty(defName);
- public static readonly DNADef None = new DNADef();
-
+ //public bool IsNone => string.IsNullOrEmpty(defName);
+ //public static readonly DNADef None = new DNADef();
+
public string fetusTexPath;
public ColorInt cumColor;
public Color CumColor => cumColor.ToColor;
@@ -24,4 +24,8 @@ namespace RJW_Menstruation
+
+
+
+
}
diff --git a/source/RJW_Menstruation/RJW_Menstruation/Dialog_WombStatus.cs b/source/RJW_Menstruation/RJW_Menstruation/Dialog_WombStatus.cs
index f8bc12d..5509517 100644
--- a/source/RJW_Menstruation/RJW_Menstruation/Dialog_WombStatus.cs
+++ b/source/RJW_Menstruation/RJW_Menstruation/Dialog_WombStatus.cs
@@ -17,7 +17,7 @@ namespace RJW_Menstruation
private const float windowMargin = 20f;
private const float pawnRectWidth = 150f;
private const float pawnRectHeight = 150f;
- private const float wombRectHeight = 270f;
+ private const float wombRectHeight = 300f;
private const float wombRectWidth = 300f;
private const float fontheight = 30;
private const float genitalRectWidth = 102;
@@ -104,9 +104,9 @@ namespace RJW_Menstruation
if (hediff is Hediff_MultiplePregnancy)
{
Hediff_MultiplePregnancy h = (Hediff_MultiplePregnancy)hediff;
- if (h.GestationProgress < 0.2f) cum = Utility.GetCumIcon(comp);
+ if (h.GestationProgress < 0.2f) cum = comp.GetCumIcon();
else cum = ContentFinder.Get(("Womb/Empty"), true);
- Pawn fetus = Utility.GetFetus(pawn);
+ Pawn fetus = pawn.GetFetus();
if (fetus != null && Utility.ShowFetusInfo())
{
string feinfo = h.GetBabyInfo();
@@ -133,9 +133,9 @@ namespace RJW_Menstruation
else if (hediff is Hediff_BasePregnancy)
{
Hediff_BasePregnancy h = (Hediff_BasePregnancy)hediff;
- if (h.GestationProgress < 0.2f) cum = Utility.GetCumIcon(comp);
+ if (h.GestationProgress < 0.2f) cum = comp.GetCumIcon();
else cum = ContentFinder.Get(("Womb/Empty"), true);
- Pawn fetus = Utility.GetFetus(pawn);
+ Pawn fetus = pawn.GetFetus();
if (fetus != null && Utility.ShowFetusInfo())
{
@@ -154,8 +154,8 @@ namespace RJW_Menstruation
}
else
{
- womb = Utility.GetWombIcon(comp);
- cum = Utility.GetCumIcon(comp);
+ womb = comp.GetWombIcon();
+ cum = comp.GetCumIcon();
}
@@ -173,7 +173,7 @@ namespace RJW_Menstruation
{
wombrecth = wombRectHeight;
cumcolor = comp.GetCumMixtureColor;
- Rect wombRect = new Rect(0f, mainRect.yMax - wombRectHeight + preginfoheight, wombRectWidth, wombRectHeight);
+ Rect wombRect = new Rect(0f, mainRect.yMax - wombRectHeight + preginfoheight, wombRectWidth, wombRectWidth*0.9f);
DrawWomb(wombRect);
}
@@ -257,8 +257,8 @@ namespace RJW_Menstruation
Rect genitalVaginaLabelRect = new Rect(rect.x, rect.y, genitalRectWidth, fontheight);
Rect genitalAnusLabelRect = new Rect(rect.x, rect.y + fontheight + genitalRectHeight, genitalRectWidth, fontheight);
- vagina = Utility.GetGenitalIcon(pawn);
- anal = Utility.GetAnalIcon(pawn);
+ vagina = pawn.GetGenitalIcon();
+ anal = pawn.GetAnalIcon();
GUI.color = new Color(1.00f, 0.47f, 0.47f, 1);
GUI.Box(rect, "", boxstyle);
GUI.color = pawn.story.SkinColor;
@@ -268,8 +268,8 @@ namespace RJW_Menstruation
GUI.DrawTexture(genitalIconRect, vagina, ScaleMode.ScaleToFit);
GUI.color = Color.white;
- GUI.Label(genitalVaginaLabelRect, Utility.GetVaginaLabel(pawn), fontstylecenter);
- GUI.Label(genitalAnusLabelRect, Utility.GetAnusLabel(pawn), fontstylecenter);
+ GUI.Label(genitalVaginaLabelRect, pawn.GetVaginaLabel(), fontstylecenter);
+ GUI.Label(genitalAnusLabelRect, pawn.GetAnusLabel(), fontstylecenter);
}
diff --git a/source/RJW_Menstruation/RJW_Menstruation/HARCompatibility.cs b/source/RJW_Menstruation/RJW_Menstruation/HARCompatibility.cs
new file mode 100644
index 0000000..fb35a52
--- /dev/null
+++ b/source/RJW_Menstruation/RJW_Menstruation/HARCompatibility.cs
@@ -0,0 +1,36 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Verse;
+using RimWorld;
+
+namespace RJW_Menstruation
+{
+ public static class HARCompatibility
+ {
+
+ public static bool IsHAR(this Pawn pawn)
+ {
+ return pawn.def.GetType().ToString().StartsWith("AlienRace");
+ }
+
+ public static ThingComp GetHARComp(this Pawn pawn)
+ {
+ return pawn?.GetComps()?.First(x => x.GetType().Namespace.EqualsIgnoreCase("AlienRace") && x.GetType().Name.EndsWith("AlienComp"));
+ }
+
+ public static string GetHARCrown(this Pawn pawn)
+ {
+ return (string)pawn.GetHARComp().GetMemberValue("crownType");
+ }
+
+ public static void SetHARCrown(this Pawn pawn, string crown)
+ {
+ pawn.GetHARComp().SetMemberValue("crownType", crown);
+ }
+
+
+ }
+}
diff --git a/source/RJW_Menstruation/RJW_Menstruation/HediffComp_Menstruation.cs b/source/RJW_Menstruation/RJW_Menstruation/HediffComp_Menstruation.cs
index 7e92489..e626bc1 100644
--- a/source/RJW_Menstruation/RJW_Menstruation/HediffComp_Menstruation.cs
+++ b/source/RJW_Menstruation/RJW_Menstruation/HediffComp_Menstruation.cs
@@ -194,7 +194,7 @@ namespace RJW_Menstruation
float mixedsofar = 0;
foreach (Cum cum in cums)
{
- mixedcolor = Color.LerpUnclamped(mixedcolor, cum.color, cum.volume/(mixedsofar + cum.volume));
+ mixedcolor = Colors.CMYKLerp(mixedcolor, cum.color, cum.volume/(mixedsofar + cum.volume));
mixedsofar += cum.volume;
}
}
@@ -258,7 +258,7 @@ namespace RJW_Menstruation
string res = "";
if (!eggs.NullOrEmpty())
{
- if (cums.NullOrEmpty()) return eggs.Count + " " + Translations.Dialog_WombInfo07;
+ if (cums.NullOrEmpty() || TotalFertCum == 0) return eggs.Count + " " + Translations.Dialog_WombInfo07;
else
{
int fertilized = 0;
@@ -309,7 +309,22 @@ namespace RJW_Menstruation
return !eggs.NullOrEmpty();
}
}
-
+ public bool IsDangerDay
+ {
+ get
+ {
+ if (curStage == Stage.Follicular || curStage == Stage.ClimactericFollicular)
+ {
+ if (curStageHrs > 0.7f * (follicularIntervalhours - bleedingIntervalhours)) return true;
+ }
+ else if (curStage == Stage.Luteal || curStage == Stage.ClimactericLuteal)
+ {
+ if (curStageHrs < Props.eggLifespanDays * 24) return true;
+ }
+ else if (curStage == Stage.Ovulatory) return true;
+ return false;
+ }
+ }
public int GetNumofEggs
{
get
@@ -319,6 +334,23 @@ namespace RJW_Menstruation
}
}
+ public Color BloodColor
+ {
+ get
+ {
+ try
+ {
+ Color c = parent.pawn.def.race.BloodDef.graphicData.color;
+ return c;
+ }
+ catch
+ {
+ return Colors.blood;
+ }
+
+ }
+ }
+
public override void CompExposeData()
{
base.CompExposeData();
@@ -437,7 +469,7 @@ namespace RJW_Menstruation
}
if (!merged) cums.Add(new Cum(pawn, volume, fertility, filthdef));
}
- AfterCumIn();
+ AfterCumIn(pawn);
}
///
@@ -487,12 +519,58 @@ namespace RJW_Menstruation
}
if (!merged) cums.Add(new Cum(pawn, volume, notcumlabel,decayresist, filthdef));
}
- AfterCumIn();
+ AfterNotCumIn();
}
- public void AfterCumIn()
+ public void AfterCumIn(Pawn cummer)
{
-
+ if (xxx.is_human(parent.pawn) && xxx.is_human(cummer))
+ {
+ if (parent.pawn.GetStatValue(StatDefOf.PawnBeauty) >= 0 || cummer.Has(Quirk.ImpregnationFetish) || cummer.Has(Quirk.Breeder))
+ {
+ if (cummer.relations.OpinionOf(parent.pawn) <= -25)
+ {
+ cummer.needs.mood.thoughts.memories.TryGainMemory(VariousDefOf.HaterCameInsideM, parent.pawn);
+ }
+ else
+ {
+ cummer.needs.mood.thoughts.memories.TryGainMemory(VariousDefOf.CameInsideM, parent.pawn);
+ }
+ }
+
+ if (IsDangerDay)
+ {
+ if (parent.pawn.Has(Quirk.Breeder) || parent.pawn.Has(Quirk.ImpregnationFetish))
+ {
+ parent.pawn.needs.mood.thoughts.memories.TryGainMemory(VariousDefOf.CameInsideFFetish, cummer);
+ }
+ else if (!parent.pawn.relations.DirectRelationExists(PawnRelationDefOf.Spouse, cummer) && !parent.pawn.relations.DirectRelationExists(PawnRelationDefOf.Fiance, cummer))
+ {
+ if (parent.pawn.health.capacities.GetLevel(xxx.reproduction) < 0.50f) parent.pawn.needs.mood.thoughts.memories.TryGainMemory(VariousDefOf.CameInsideFLowFert, cummer);
+ else parent.pawn.needs.mood.thoughts.memories.TryGainMemory(VariousDefOf.CameInsideF, cummer);
+ }
+ else if (parent.pawn.relations.OpinionOf(cummer) <= -5)
+ {
+ parent.pawn.needs.mood.thoughts.memories.TryGainMemory(VariousDefOf.HaterCameInsideF, cummer);
+ }
+ }
+ else
+ {
+ if (parent.pawn.Has(Quirk.Breeder) || parent.pawn.Has(Quirk.ImpregnationFetish))
+ {
+ parent.pawn.needs.mood.thoughts.memories.TryGainMemory(VariousDefOf.CameInsideFFetishSafe, cummer);
+ }
+ else if (parent.pawn.relations.OpinionOf(cummer) <= -5)
+ {
+ parent.pawn.needs.mood.thoughts.memories.TryGainMemory(VariousDefOf.HaterCameInsideFSafe, cummer);
+ }
+ }
+ }
+ }
+
+ public void AfterNotCumIn()
+ {
+
}
public void BeforeCumOut(out Absorber absorber)
@@ -500,16 +578,24 @@ namespace RJW_Menstruation
absorber = (Absorber)parent.pawn.apparel?.WornApparel?.Find(x => x.def.apparel.tags.Contains("Absorber"));
if (absorber != null)
{
+ absorber.WearEffect();
if (absorber.dirty && absorber.EffectAfterDirty) absorber.DirtyEffect();
}
}
+
+ public void AfterCumOut()
+ {
+ parent.pawn.needs.mood.thoughts.memories.TryGainMemory(VariousDefOf.LeakingFluids);
+ }
+
///
/// Excrete cums in womb naturally
///
public void CumOut()
{
float leakfactor = 1.0f;
+ float totalleak = 0f;
Absorber absorber;
BeforeCumOut(out absorber);
if (cums.NullOrEmpty()) return;
@@ -520,7 +606,8 @@ namespace RJW_Menstruation
float vd = cum.volume;
cum.volume *= Math.Max(0, (1 - (Configurations.CumDecayRatio * (1 - cum.decayresist)) * leakfactor));
cum.fertvolume *= Math.Max(0, (1 - (Configurations.CumDecayRatio * (1 - cum.decayresist)) * leakfactor) * (1 - (Configurations.CumFertilityDecayRatio * (1 - cum.decayresist))));
- MakeCumFilth(cum, vd - cum.volume, absorber);
+ vd -= cum.volume;
+ totalleak += MakeCumFilth(cum, vd, absorber);
if (cum.fertvolume < 0.01f) cum.fertvolume = 0;
if (cum.volume < 0.01f) removecums.Add(cum);
}
@@ -529,10 +616,11 @@ namespace RJW_Menstruation
cums.Remove(cum);
}
removecums.Clear();
+ if (totalleak >= 1.0f) AfterCumOut();
}
///
- /// Excrete cums in womb and get excreted amount of specific cum
+ /// Force excrete cums in womb and get excreted amount of specific cum.
///
///
///
@@ -540,10 +628,7 @@ namespace RJW_Menstruation
public float CumOut(Cum targetcum, float portion = 0.1f)
{
float leakfactor = 1.0f;
- Absorber absorber;
- BeforeCumOut(out absorber);
if (cums.NullOrEmpty()) return 0;
- else if (absorber != null && absorber.dirty && !absorber.LeakAfterDirty) leakfactor = 0;
float outcum = 0;
List removecums = new List();
foreach (Cum cum in cums)
@@ -552,7 +637,7 @@ namespace RJW_Menstruation
if (cum.Equals(targetcum)) outcum = cum.volume * (portion * (1 - cum.decayresist));
cum.volume *= Math.Max(0, 1 - (portion * (1 - cum.decayresist)) * leakfactor);
cum.fertvolume *= Math.Max(0, (1 - (portion * (1 - cum.decayresist)) * leakfactor) * (1 - (Configurations.CumFertilityDecayRatio * (1 - cum.decayresist))));
- MakeCumFilth(cum, vd - cum.volume,absorber);
+ MakeCumFilth(cum, vd - cum.volume);
if (cum.fertvolume < 0.01f) cum.fertvolume = 0;
if (cum.volume < 0.01f) removecums.Add(cum);
}
@@ -696,10 +781,27 @@ namespace RJW_Menstruation
if (sexNeed == null) sexNeed = parent.pawn.needs.TryGetNeed(VariousDefOf.SexNeed);
else
{
- if (sexNeed.CurLevel < 0.5) sexNeed.CurLevel += 0.02f;
+ if (sexNeed.CurLevel < 0.5) sexNeed.CurLevel += 0.01f;
}
}
+ //if (Configurations.LLActivated)
+ //{
+ // float tcp = TotalCumPercent;
+ // if (tcp > 2.0f)
+ // {
+ // Hediff hediff = parent.pawn.health.hediffSet.GetFirstHediffOfDef(VariousDefOf.Cumflation);
+ // if (hediff != null)
+ // {
+ //
+ // }
+ // else
+ // {
+ //
+ // }
+ // }
+ //
+ //}
}
@@ -742,11 +844,11 @@ namespace RJW_Menstruation
{
Hediff_BasePregnancy.Create(parent.pawn, egg.fertilizer);
Hediff hediff = PregnancyHelper.GetPregnancy(parent.pawn);
- if (hediff is Hediff_BasePregnancy)
- {
- Hediff_BasePregnancy h = (Hediff_BasePregnancy)hediff;
- if (h.babies.Count > 1) h.babies.RemoveRange(1, h.babies.Count - 1);
- }
+ //if (hediff is Hediff_BasePregnancy)
+ //{
+ // Hediff_BasePregnancy h = (Hediff_BasePregnancy)hediff;
+ // if (h.babies.Count > 1) h.babies.RemoveRange(1, h.babies.Count - 1);
+ //}
pregnant = true;
deadeggs.Add(egg);
}
@@ -794,31 +896,55 @@ namespace RJW_Menstruation
{
//FilthMaker.TryMakeFilth(parent.pawn.Position, parent.pawn.Map, ThingDefOf.Filth_Blood,parent.pawn.Label);
CumIn(parent.pawn, Rand.Range(1f, 2f), Translations.Menstrual_Blood,-5.0f,ThingDefOf.Filth_Blood);
- GetNotCum(Translations.Menstrual_Blood).color = Colors.blood;
+ GetNotCum(Translations.Menstrual_Blood).color = BloodColor;
}
- private void MakeCumFilth(Cum cum, float amount, Absorber absorber = null)
+ ///
+ /// Make filth ignoring absorber
+ ///
+ ///
+ ///
+ private void MakeCumFilth(Cum cum, float amount)
+ {
+ if (amount >= minmakefilthvalue) FilthMaker.TryMakeFilth(parent.pawn.Position, parent.pawn.Map, cum.FilthDef, cum.pawn.LabelShort);
+ }
+
+ ///
+ /// Make filth from considering absorber
+ ///
+ ///
+ ///
+ ///
+ ///
+ private float MakeCumFilth(Cum cum, float amount, Absorber absorber)
{
if (absorber != null)
{
+ float absorbable = absorber.GetStatValue(VariousDefOf.MaxAbsorbable);
+ absorber.SetColor(Colors.CMYKLerp(GetCumMixtureColor, absorber.DrawColor, 1f - amount/absorbable));
if (!absorber.dirty)
{
absorber.absorbedfluids += amount;
- if (absorber.absorbedfluids > absorber.GetStatValue(VariousDefOf.MaxAbsorbable))
+ if (absorber.absorbedfluids > absorbable)
{
absorber.def = absorber.DirtyDef;
//absorber.fluidColor = GetCumMixtureColor;
- absorber.SetColor(GetCumMixtureColor);
absorber.dirty = true;
}
}
else
{
if (absorber.LeakAfterDirty) FilthMaker.TryMakeFilth(parent.pawn.Position, parent.pawn.Map, cum.FilthDef, cum.pawn.LabelShort);
+ return amount;
}
}
- else if (amount >= minmakefilthvalue) FilthMaker.TryMakeFilth(parent.pawn.Position, parent.pawn.Map, cum.FilthDef, cum.pawn.LabelShort);
+ else
+ {
+ if (amount >= minmakefilthvalue) FilthMaker.TryMakeFilth(parent.pawn.Position, parent.pawn.Map, cum.FilthDef, cum.pawn.LabelShort);
+ return amount;
+ }
+ return 0;
}
diff --git a/source/RJW_Menstruation/RJW_Menstruation/Hediff_MultiplePregnancy.cs b/source/RJW_Menstruation/RJW_Menstruation/Hediff_MultiplePregnancy.cs
index eff1dcb..f878905 100644
--- a/source/RJW_Menstruation/RJW_Menstruation/Hediff_MultiplePregnancy.cs
+++ b/source/RJW_Menstruation/RJW_Menstruation/Hediff_MultiplePregnancy.cs
@@ -7,19 +7,25 @@ using System.Reflection;
using rjw;
using Verse;
using RimWorld;
-
+using UnityEngine;
namespace RJW_Menstruation
{
public class Hediff_MultiplePregnancy : Hediff_BasePregnancy
{
-
-
-
-
- public override void GiveBirth()
+ public override void DiscoverPregnancy()
{
+ if (!is_discovered && xxx.is_human(pawn) && !pawn.Has(Quirk.Breeder) && pawn.relations?.DirectRelations?.Find(x => x.def.Equals(PawnRelationDefOf.Spouse) || x.def.Equals(PawnRelationDefOf.Fiance)) == null)
+ {
+ pawn.needs.mood.thoughts.memories.TryGainMemory(VariousDefOf.UnwantedPregnancy);
+ }
+ base.DiscoverPregnancy();
+ }
+
+ public override void GiveBirth()
+ {
+
if (babies.NullOrEmpty())
{
ModLog.Warning(" no babies (debug?) " + this.GetType().Name);
@@ -155,9 +161,6 @@ namespace RJW_Menstruation
//restore melanin, LastName for when baby reset by other mod on spawn/backstorychange
//baby.story.melanin = skin_whiteness;
//baby.story.birthLastName = last_name;
-
-
-
}
protected override void GenerateBabies()
@@ -209,9 +212,15 @@ namespace RJW_Menstruation
melanin = father.story.melanin;
lastname = NameTriple.FromString(father.Name.ToStringFull).Last;
}
- else melanin = Rand.Range(0, 1.0f);
+ else
+ {
+ melanin = Rand.Range(0, 1.0f);
+ lastname = NameTriple.FromString(mother.Name.ToStringFull).Last;
+ }
}
+
+
PawnGenerationRequest request = new PawnGenerationRequest(
newborn: true,
allowDowned: true,
@@ -221,17 +230,82 @@ namespace RJW_Menstruation
allowAddictions: false,
relationWithExtraPawnChanceFactor: 0,
fixedMelanin: melanin,
+ fixedLastName: lastname,
kind: BabyPawnKindDecider(mother, father)
);
+
+ int division = 1;
+ HairDef firsthair = null;
+ Color firsthaircolor = Color.white;
+ BodyTypeDef firstbody = null;
+ CrownType firstcrown = CrownType.Undefined;
+ string firstheadpath = null;
+ string firstHARcrown = null;
+ while (Rand.Chance(Configurations.EnzygoticTwinsChance) && division < Configurations.MaxEnzygoticTwins) division++;
+ for (int i = 0; i < division; i++)
+ {
+ Pawn baby = GenerateBaby(request, mother, father);
+ if (division > 1)
+ {
+ if (i == 0 && baby.story != null)
+ {
+ firsthair = baby.story.hairDef;
+ firsthaircolor = baby.story.hairColor;
+ request.FixedGender = baby.gender;
+ firstbody = baby.story.bodyType;
+ firstcrown = baby.story.crownType;
+ firstheadpath = (string)baby.story.GetMemberValue("headGraphicPath");
+ if (firstheadpath == null)
+ {
+ baby.story.SetMemberValue("headGraphicPath", GraphicDatabaseHeadRecords.GetHeadRandom(baby.gender, baby.story.SkinColor, baby.story.crownType).GraphicPath);
+ firstheadpath = (string)baby.story.GetMemberValue("headGraphicPath");
+ }
+ if (Configurations.HARActivated && baby.IsHAR())
+ {
+ firstHARcrown = baby.GetHARCrown();
+ }
+
+ }
+ else
+ {
+ if (baby.story != null)
+ {
+ baby.story.hairDef = firsthair;
+ baby.story.hairColor = firsthaircolor;
+ baby.story.bodyType = firstbody;
+ baby.story.crownType = firstcrown;
+ baby.story.SetMemberValue("headGraphicPath", firstheadpath);
+
+ if (Configurations.HARActivated && baby.IsHAR())
+ {
+ baby.SetHARCrown(firstHARcrown);
+ }
+ }
+ }
+ }
+
+ if (baby != null) babies.Add(baby);
+ }
+
+
+
+
+ return true;
+
+ }
+
+ public Pawn GenerateBaby(PawnGenerationRequest request, Pawn mother, Pawn father)
+ {
+
Pawn baby = PawnGenerator.GeneratePawn(request);
if (baby != null)
- {
+ {
if (xxx.is_human(baby))
{
List traitpool = new List();
baby.SetMother(mother);
if (mother != father) baby.SetFather(father);
-
+
if (xxx.has_traits(pawn) && pawn.RaceProps.Humanlike)
{
foreach (Trait momtrait in pawn.story.traits.allTraits)
@@ -252,7 +326,7 @@ namespace RJW_Menstruation
}
else
- {
+ {
baby.relations.AddDirectRelation(VariousDefOf.Relation_birthgiver, mother);
mother.relations.AddDirectRelation(VariousDefOf.Relation_spawn, baby);
if (mother != father)
@@ -260,20 +334,10 @@ namespace RJW_Menstruation
baby.relations.AddDirectRelation(VariousDefOf.Relation_birthgiver, father);
father.relations.AddDirectRelation(VariousDefOf.Relation_spawn, baby);
}
- }
-
- int division = 1;
- while (Rand.Chance(Configurations.EnzygoticTwinsChance) && division < Configurations.MaxEnzygoticTwins) division++;
- for (int i = 0; i < division; i++) babies.Add(baby);
- return true;
- }
-
-
- return false;
-
- }
-
-
+ }
+ }
+ return baby;
+ }
///
/// Decide pawnkind from mother and father
diff --git a/source/RJW_Menstruation/RJW_Menstruation/Patch/GetGizmos.cs b/source/RJW_Menstruation/RJW_Menstruation/Patch/GetGizmos.cs
index 9c9f7cf..f4fb544 100644
--- a/source/RJW_Menstruation/RJW_Menstruation/Patch/GetGizmos.cs
+++ b/source/RJW_Menstruation/RJW_Menstruation/Patch/GetGizmos.cs
@@ -46,7 +46,7 @@ namespace RJW_Menstruation
private static void AddWombGizmos(Pawn __instance, ref List gizmoList)
{
- HediffComp_Menstruation comp = Utility.GetMenstruationComp(__instance);
+ HediffComp_Menstruation comp = __instance.GetMenstruationComp();
if (comp != null) gizmoList.Add(CreateGizmo_WombStatus(__instance, comp));
@@ -72,21 +72,21 @@ namespace RJW_Menstruation
if (hediff is Hediff_BasePregnancy && Utility.ShowFetusImage((Hediff_BasePregnancy)hediff))
{
Hediff_BasePregnancy h = (Hediff_BasePregnancy)hediff;
- if (h.GestationProgress < 0.2f) icon_overay = Utility.GetCumIcon(comp);
+ if (h.GestationProgress < 0.2f) icon_overay = comp.GetCumIcon();
else icon_overay = ContentFinder.Get(("Womb/Empty"), true);
}
else icon_overay = ContentFinder.Get(("Womb/Empty"), true);
}
else
{
- icon = Utility.GetWombIcon(comp);
- icon_overay = Utility.GetCumIcon(comp);
+ icon = comp.GetWombIcon();
+ icon_overay = comp.GetCumIcon();
}
}
else
{
- icon = Utility.GetWombIcon(comp);
- icon_overay = Utility.GetCumIcon(comp);
+ icon = comp.GetWombIcon();
+ icon_overay = comp.GetCumIcon();
}
foreach (string s in comp.GetCumsInfo) description += s + "\n";
diff --git a/source/RJW_Menstruation/RJW_Menstruation/Patch/RJW_Patch.cs b/source/RJW_Menstruation/RJW_Menstruation/Patch/RJW_Patch.cs
index 5863ac9..137d6aa 100644
--- a/source/RJW_Menstruation/RJW_Menstruation/Patch/RJW_Patch.cs
+++ b/source/RJW_Menstruation/RJW_Menstruation/Patch/RJW_Patch.cs
@@ -34,7 +34,7 @@ namespace RJW_Menstruation
PregnancyHelper.Doimpregnate(pawn, partner);
return false;
}
- else comp.CumIn(pawn, Utility.GetCumVolume(pawn), 0);
+ else comp.CumIn(pawn, pawn.GetCumVolume(), 0);
}
}
else if (Genital_Helper.has_vagina(pawn, pawnparts))
@@ -48,7 +48,7 @@ namespace RJW_Menstruation
PregnancyHelper.Doimpregnate(partner, pawn);
return false;
}
- else comp.CumIn(partner, Utility.GetCumVolume(partner), 0);
+ else comp.CumIn(partner, partner.GetCumVolume(), 0);
}
}
}
@@ -64,15 +64,15 @@ namespace RJW_Menstruation
public static bool Prefix(Pawn pawn, Pawn partner) // partner has vagina
{
if (partner.IsAnimal() && !Configurations.EnableAnimalCycle) return true;
- HediffComp_Menstruation comp = Utility.GetMenstruationComp(partner);
+ HediffComp_Menstruation comp = partner.GetMenstruationComp();
if (comp != null)
{
if (AndroidsCompatibility.IsAndroid(pawn) && !AndroidsCompatibility.AndroidPenisFertility(pawn))
{
- comp.CumIn(pawn, Utility.GetCumVolume(pawn),0);
+ comp.CumIn(pawn, pawn.GetCumVolume(), 0);
return false;
}
- else comp.CumIn(pawn, Utility.GetCumVolume(pawn), pawn.health.capacities.GetLevel(xxx.reproduction));
+ else comp.CumIn(pawn, pawn.GetCumVolume(), pawn.health.capacities.GetLevel(xxx.reproduction));
return false;
}
ModLog.Message("used original rjw method: Comp missing");
@@ -80,6 +80,7 @@ namespace RJW_Menstruation
}
}
+
diff --git a/source/RJW_Menstruation/RJW_Menstruation/RJW_Menstruation.csproj b/source/RJW_Menstruation/RJW_Menstruation/RJW_Menstruation.csproj
index c9fb7b2..c1d1ff9 100644
--- a/source/RJW_Menstruation/RJW_Menstruation/RJW_Menstruation.csproj
+++ b/source/RJW_Menstruation/RJW_Menstruation/RJW_Menstruation.csproj
@@ -60,6 +60,7 @@
+
@@ -68,6 +69,7 @@
+
diff --git a/source/RJW_Menstruation/RJW_Menstruation/Reflect.cs b/source/RJW_Menstruation/RJW_Menstruation/Reflect.cs
new file mode 100644
index 0000000..50d8fb8
--- /dev/null
+++ b/source/RJW_Menstruation/RJW_Menstruation/Reflect.cs
@@ -0,0 +1,47 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Reflection;
+
+namespace RJW_Menstruation
+{
+ public static class Reflector
+ {
+ public static object GetMemberValue(this Type type, string name)
+ {
+ BindingFlags flags = BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic;
+ FieldInfo fieldInfo = (type != null) ? type.GetField(name, flags) : null;
+ return fieldInfo?.GetValue(null);
+ }
+
+ public static object GetMemberValue(this object obj, string name)
+ {
+ BindingFlags flags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic;
+ FieldInfo fieldInfo = (obj != null) ? obj.GetType().GetField(name, flags) : null;
+ return fieldInfo?.GetValue(obj);
+ }
+
+ public static void SetMemberValue(this Type type, string name, object value)
+ {
+ BindingFlags flags = BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic;
+ FieldInfo fieldInfo = type?.GetField(name, flags);
+ if (fieldInfo != null)
+ {
+ fieldInfo.SetValue(null, value);
+ }
+ }
+
+ public static void SetMemberValue(this object obj, string name, object value)
+ {
+ BindingFlags flags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic;
+ FieldInfo fieldInfo = obj?.GetType().GetField(name, flags);
+ if (fieldInfo != null)
+ {
+ fieldInfo.SetValue(obj, value);
+ }
+ }
+
+ }
+}
diff --git a/source/RJW_Menstruation/RJW_Menstruation/Things.cs b/source/RJW_Menstruation/RJW_Menstruation/Things.cs
index c17a413..35c598e 100644
--- a/source/RJW_Menstruation/RJW_Menstruation/Things.cs
+++ b/source/RJW_Menstruation/RJW_Menstruation/Things.cs
@@ -38,6 +38,7 @@ namespace RJW_Menstruation
public virtual void WearEffect()
{
+ absorbedfluids+=0.1f;
wearhours++;
}
@@ -59,8 +60,8 @@ namespace RJW_Menstruation
public override void WearEffect()
{
- base.WearEffect();
- absorbedfluids += 0.1f;
+ wearhours++;
+ absorbedfluids += 0.5f;
}
public override void DirtyEffect()
diff --git a/source/RJW_Menstruation/RJW_Menstruation/Utility.cs b/source/RJW_Menstruation/RJW_Menstruation/Utility.cs
index c7204ff..4a5d194 100644
--- a/source/RJW_Menstruation/RJW_Menstruation/Utility.cs
+++ b/source/RJW_Menstruation/RJW_Menstruation/Utility.cs
@@ -13,13 +13,39 @@ namespace RJW_Menstruation
public static class Colors
{
public static Color blood = new Color(0.78f, 0, 0);
+
+
+ public static Color CMYKLerp(Color a, Color b, float t)
+ {
+ RGBtoCMYK(a, out float ac, out float am, out float ay, out float ak);
+ RGBtoCMYK(b, out float bc, out float bm, out float by, out float bk);
+
+ return CMYKtoRGB(Mathf.Lerp(ac, bc, t), Mathf.Lerp(am, bm, t), Mathf.Lerp(ay, by, t), Mathf.Lerp(ak, bk, t));
+ }
+
+ public static void RGBtoCMYK(Color rgb, out float c, out float m, out float y, out float k)
+ {
+ k = 1 - Math.Max(rgb.r,Math.Max(rgb.g,rgb.b));
+ c = (1 - rgb.r - k) / (1 - k);
+ m = (1 - rgb.g - k) / (1 - k);
+ y = (1 - rgb.b - k) / (1 - k);
+
+ }
+
+ public static Color CMYKtoRGB(float c,float m, float y, float k)
+ {
+ return new Color((1 - c) * (1 - k), (1 - m) * (1 - k), (1 - y) * (1 - k));
+ }
+
+
+
}
public static class Utility
{
- public static float GetCumVolume(Pawn pawn)
+ public static float GetCumVolume(this Pawn pawn)
{
CompHediffBodyPart part = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn))?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("penis")).InRandomOrder().FirstOrDefault().TryGetComp();
if (part == null) part = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn))?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("ovipositorf")).InRandomOrder().FirstOrDefault().TryGetComp();
@@ -32,7 +58,7 @@ namespace RJW_Menstruation
return res;
}
- public static HediffComp_Menstruation GetMenstruationComp(Pawn pawn)
+ public static HediffComp_Menstruation GetMenstruationComp(this Pawn pawn)
{
var hedifflist = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn))?.FindAll((Hediff h) => h.def.defName.ToLower().Contains("vagina"));
HediffComp_Menstruation result;
@@ -48,7 +74,7 @@ namespace RJW_Menstruation
return null;
}
- public static bool HasMenstruationComp(Pawn pawn)
+ public static bool HasMenstruationComp(this Pawn pawn)
{
var hedifflist = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn))?.FindAll((Hediff h) => h.def.defName.ToLower().Contains("vagina"));
HediffComp_Menstruation result;
@@ -64,13 +90,13 @@ namespace RJW_Menstruation
return false;
}
- public static HediffComp_Menstruation.Stage GetCurStage(Pawn pawn)
+ public static HediffComp_Menstruation.Stage GetCurStage(this Pawn pawn)
{
return GetMenstruationComp(pawn)?.curStage ?? HediffComp_Menstruation.Stage.Bleeding;
}
- public static float GetPregnancyProgress(Pawn pawn)
+ public static float GetPregnancyProgress(this Pawn pawn)
{
Hediff hediff = PregnancyHelper.GetPregnancy(pawn);
if (hediff is Hediff_BasePregnancy)
@@ -81,7 +107,7 @@ namespace RJW_Menstruation
return -1;
}
- public static Pawn GetFetus(Pawn pawn)
+ public static Pawn GetFetus(this Pawn pawn)
{
Hediff hediff = PregnancyHelper.GetPregnancy(pawn);
if (hediff is Hediff_BasePregnancy)
@@ -135,7 +161,7 @@ namespace RJW_Menstruation
return ContentFinder.Get((icon), true);
}
- public static Texture2D GetCumIcon(HediffComp_Menstruation comp)
+ public static Texture2D GetCumIcon(this HediffComp_Menstruation comp)
{
string icon = comp.wombTex;
float cumpercent = comp.TotalCumPercent;
@@ -162,7 +188,7 @@ namespace RJW_Menstruation
return cumtex;
}
- public static Texture2D GetWombIcon(HediffComp_Menstruation comp)
+ public static Texture2D GetWombIcon(this HediffComp_Menstruation comp)
{
string icon = comp.wombTex;
HediffComp_Menstruation.Stage stage = comp.curStage;
@@ -173,7 +199,7 @@ namespace RJW_Menstruation
return wombtex;
}
- public static Texture2D GetGenitalIcon(Pawn pawn)
+ public static Texture2D GetGenitalIcon(this Pawn pawn)
{
var hediff = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn)).Find((Hediff h) => h.def.defName.ToLower().Contains("vagina"));
CompProperties_Menstruation Props = (CompProperties_Menstruation)hediff.TryGetComp().props;
@@ -197,7 +223,7 @@ namespace RJW_Menstruation
return ContentFinder.Get((icon), true);
}
- public static Texture2D GetAnalIcon(Pawn pawn)
+ public static Texture2D GetAnalIcon(this Pawn pawn)
{
var hediff = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_anusBPR(pawn)).Find((Hediff h) => h.def.defName.ToLower().Contains("anus"));
CompProperties_Anus Props = (CompProperties_Anus)hediff.TryGetComp().props;
@@ -214,18 +240,18 @@ namespace RJW_Menstruation
return ContentFinder.Get((icon), true);
}
- public static string GetVaginaLabel(Pawn pawn)
+ public static string GetVaginaLabel(this Pawn pawn)
{
var hediff = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn)).Find((Hediff h) => h.def.defName.ToLower().Contains("vagina"));
- return hediff.LabelBase + "\n(" + hediff.LabelInBrackets + ")";
+ return hediff.LabelBase.CapitalizeFirst() + "\n(" + hediff.LabelInBrackets + ")";
}
- public static string GetAnusLabel(Pawn pawn)
+ public static string GetAnusLabel(this Pawn pawn)
{
var hediff = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_anusBPR(pawn)).Find((Hediff h) => h.def.defName.ToLower().Contains("anus"));
- return hediff.LabelBase + "\n(" + hediff.LabelInBrackets + ")";
+ return hediff.LabelBase.CapitalizeFirst() + "\n(" + hediff.LabelInBrackets + ")";
}
- public static bool ShowFetusImage(Hediff_BasePregnancy hediff)
+ public static bool ShowFetusImage(this Hediff_BasePregnancy hediff)
{
if (Configurations.InfoDetail == Configurations.DetailLevel.All) return true;
else if (Configurations.InfoDetail == Configurations.DetailLevel.Hide) return false;
@@ -248,13 +274,10 @@ namespace RJW_Menstruation
res = pawn.relations?.GetFirstDirectRelationPawn(VariousDefOf.Relation_birthgiver, x => !x.Equals(mother)) ?? null;
return res;
}
-
-
-
-
}
+
}
}
diff --git a/source/RJW_Menstruation/RJW_Menstruation/VariousDefOf.cs b/source/RJW_Menstruation/RJW_Menstruation/VariousDefOf.cs
index d9f234a..b67b68b 100644
--- a/source/RJW_Menstruation/RJW_Menstruation/VariousDefOf.cs
+++ b/source/RJW_Menstruation/RJW_Menstruation/VariousDefOf.cs
@@ -31,6 +31,26 @@ namespace RJW_Menstruation
public static readonly PawnRelationDef Relation_spawn = DefDatabase.AllDefs.FirstOrDefault(d => d.defName == "RJW_Pup");
public static readonly NeedDef SexNeed = DefDatabase.GetNamed("Sex");
public static readonly JobDef VaginaWashing = DefDatabase.GetNamed("VaginaWashing");
+ public static readonly ThoughtDef LeakingFluids = DefDatabase.GetNamed("LeakingFluids");
+ public static readonly ThoughtDef CameInsideF = DefDatabase.GetNamed("CameInsideF");
+ public static readonly ThoughtDef CameInsideFLowFert = DefDatabase.GetNamed("CameInsideFLowFert");
+ public static readonly ThoughtDef CameInsideFFetish = DefDatabase.GetNamed("CameInsideFFetish");
+ public static readonly ThoughtDef CameInsideFFetishSafe = DefDatabase.GetNamed("CameInsideFFetishSafe");
+ public static readonly ThoughtDef HaterCameInsideFSafe = DefDatabase.GetNamed("HaterCameInsideFSafe");
+ public static readonly ThoughtDef HaterCameInsideF = DefDatabase.GetNamed("HaterCameInsideF");
+ public static readonly ThoughtDef CameInsideM = DefDatabase.GetNamed("CameInsideM");
+ public static readonly ThoughtDef HaterCameInsideM = DefDatabase.GetNamed("HaterCameInsideM");
+ public static readonly ThoughtDef UnwantedPregnancy = DefDatabase.GetNamed("UnwantedPregnancy");
+
+
+
+
+ // Defs from Licentia Labs
+ public static readonly HediffDef Cumflation = DefDatabase.GetNamedSilentFail("Cumflation");
+
+
+
+
}
}