changed cum calculate method
cum overay dependent on womb textrue
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 | 
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 | 
				
			||||||
<Manifest>
 | 
					<Manifest>
 | 
				
			||||||
	<identifier>RJW Menstruation</identifier>
 | 
						<identifier>RJW Menstruation</identifier>
 | 
				
			||||||
	<version>1.0.0.4</version>
 | 
						<version>1.0.0.5</version>
 | 
				
			||||||
	<dependencies>
 | 
						<dependencies>
 | 
				
			||||||
	</dependencies>
 | 
						</dependencies>
 | 
				
			||||||
	<incompatibleWith />
 | 
						<incompatibleWith />
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -32,7 +32,7 @@
 | 
				
			||||||
		<value>
 | 
							<value>
 | 
				
			||||||
			<comps>
 | 
								<comps>
 | 
				
			||||||
				<li Class="RJW_Menstruation.CompProperties_Menstruation">
 | 
									<li Class="RJW_Menstruation.CompProperties_Menstruation">
 | 
				
			||||||
					<maxCumCapacity>1000</maxCumCapacity>
 | 
										<maxCumCapacity>500</maxCumCapacity>
 | 
				
			||||||
					<baseImplantationChanceFactor>0.5</baseImplantationChanceFactor>
 | 
										<baseImplantationChanceFactor>0.5</baseImplantationChanceFactor>
 | 
				
			||||||
					<basefertilizationChanceFactor>0.2</basefertilizationChanceFactor>
 | 
										<basefertilizationChanceFactor>0.2</basefertilizationChanceFactor>
 | 
				
			||||||
					<deviationFactor>0.05</deviationFactor>
 | 
										<deviationFactor>0.05</deviationFactor>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
		 Before Width: | Height: | Size: 3 KiB After Width: | Height: | Size: 3 KiB  | 
| 
		 Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB  | 
| 
		 Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB  | 
| 
		 Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB  | 
| 
		 Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB  | 
| 
		 Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB  | 
| 
		 Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB  | 
| 
		 Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB  | 
| 
		 Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB  | 
| 
		 Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB  | 
| 
		 Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB  | 
| 
		 Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB  | 
| 
		 Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB  | 
| 
		 Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB  | 
| 
		 Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB  | 
| 
		 Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB  | 
| 
		 Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB  | 
| 
		 Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB  | 
							
								
								
									
										28
									
								
								changelogs.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						| 
						 | 
					@ -0,0 +1,28 @@
 | 
				
			||||||
 | 
					Version 1.0.0.5
 | 
				
			||||||
 | 
					 - womb cum capacity is affected by pawn's bodysize
 | 
				
			||||||
 | 
					 - changed cum volume calculate method.
 | 
				
			||||||
 | 
					   - cum volume is affected by pawn's bodysize
 | 
				
			||||||
 | 
					   - generic cum volume decreased.
 | 
				
			||||||
 | 
					   - if pawn has messy quirk, cum volume increases 4~8times.
 | 
				
			||||||
 | 
					 - cum textures are dependent on womb texture
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Version 1.0.0.4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 - fixed errors when runtimeGC removed pawns in cum list.
 | 
				
			||||||
 | 
					 - added menstrual cramp - now pawns will get mood debuff during in period
 | 
				
			||||||
 | 
					 - merged some stages into one stage
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Version 1.0.0.3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 - fixed sometimes hediffcomp stops working.
 | 
				
			||||||
 | 
					 - changed initializing method
 | 
				
			||||||
 | 
					 - added patches for generic vagina and dragon vagina
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Version 1.0.0.2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 - add options for turn on/off vagina/womb image in status window
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Version 1.0.0.1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 - supports for other type of vagina
 | 
				
			||||||
 | 
					 - custom images support for vagina&anus
 | 
				
			||||||
| 
						 | 
					@ -124,7 +124,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            get
 | 
					            get
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                float res = Props.maxCumCapacity;
 | 
					                float res = Props.maxCumCapacity * parent.pawn.BodySize;
 | 
				
			||||||
                if (curStage == Stage.Pregnant) res *= 0.2f;
 | 
					                if (curStage == Stage.Pregnant) res *= 0.2f;
 | 
				
			||||||
                return res;
 | 
					                return res;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
| 
						 | 
					@ -154,7 +154,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
            get
 | 
					            get
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                float factor = 1.0f;
 | 
					                float factor = 1.0f;
 | 
				
			||||||
                if (xxx.has_quirk(parent.pawn, "Breeder")) factor = 10.0f;
 | 
					                if (parent.pawn.Has(Quirk.Breeder)) factor = 10.0f;
 | 
				
			||||||
                if (xxx.is_animal(parent.pawn)) factor *= RJWPregnancySettings.animal_impregnation_chance/100f;
 | 
					                if (xxx.is_animal(parent.pawn)) factor *= RJWPregnancySettings.animal_impregnation_chance/100f;
 | 
				
			||||||
                else factor *= RJWPregnancySettings.humanlike_impregnation_chance/100f;
 | 
					                else factor *= RJWPregnancySettings.humanlike_impregnation_chance/100f;
 | 
				
			||||||
                return parent.pawn.health.capacities.GetLevel(xxx.reproduction) * factor;
 | 
					                return parent.pawn.health.capacities.GetLevel(xxx.reproduction) * factor;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -55,7 +55,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            Texture2D icon,icon_overay;
 | 
					            Texture2D icon,icon_overay;
 | 
				
			||||||
            string description = "";
 | 
					            string description = "";
 | 
				
			||||||
            if (Configurations.Debug) description += comp.curStage + ": " + comp.curStageHrs + "\n" + "fertcums: " + comp.TotalFertCum;
 | 
					            if (Configurations.Debug) description += comp.curStage + ": " + comp.curStageHrs + "\n" + "fertcums: " + comp.TotalFertCum + "\n";
 | 
				
			||||||
            else description += comp.GetCurStageLabel + "\n";
 | 
					            else description += comp.GetCurStageLabel + "\n";
 | 
				
			||||||
            if (pawn.IsPregnant())
 | 
					            if (pawn.IsPregnant())
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
| 
						 | 
					@ -60,12 +60,12 @@
 | 
				
			||||||
    <Compile Include="Dialog_WombStatus.cs" />
 | 
					    <Compile Include="Dialog_WombStatus.cs" />
 | 
				
			||||||
    <Compile Include="DNADef.cs" />
 | 
					    <Compile Include="DNADef.cs" />
 | 
				
			||||||
    <Compile Include="DrugOutcomDoers.cs" />
 | 
					    <Compile Include="DrugOutcomDoers.cs" />
 | 
				
			||||||
    <Compile Include="GetGizmos.cs" />
 | 
					    <Compile Include="Patch\GetGizmos.cs" />
 | 
				
			||||||
    <Compile Include="Gizmo_Womb.cs" />
 | 
					    <Compile Include="Gizmo_Womb.cs" />
 | 
				
			||||||
    <Compile Include="Harmony.cs" />
 | 
					    <Compile Include="Patch\Harmony.cs" />
 | 
				
			||||||
    <Compile Include="HediffComp_Menstruation.cs" />
 | 
					    <Compile Include="HediffComp_Menstruation.cs" />
 | 
				
			||||||
    <Compile Include="Pawn_Patch.cs" />
 | 
					    <Compile Include="Patch\Pawn_Patch.cs" />
 | 
				
			||||||
    <Compile Include="RJW_Patch.cs" />
 | 
					    <Compile Include="Patch\RJW_Patch.cs" />
 | 
				
			||||||
    <Compile Include="Translations.cs" />
 | 
					    <Compile Include="Translations.cs" />
 | 
				
			||||||
    <Compile Include="Utility.cs" />
 | 
					    <Compile Include="Utility.cs" />
 | 
				
			||||||
    <Compile Include="VariousDefOf.cs" />
 | 
					    <Compile Include="VariousDefOf.cs" />
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -26,7 +26,10 @@ namespace RJW_Menstruation
 | 
				
			||||||
            if (part == null) part = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn))?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("ovipositorm")).InRandomOrder().FirstOrDefault().TryGetComp<rjw.CompHediffBodyPart>();
 | 
					            if (part == null) part = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn))?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("ovipositorm")).InRandomOrder().FirstOrDefault().TryGetComp<rjw.CompHediffBodyPart>();
 | 
				
			||||||
            if (part == null) part = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn))?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("tentacle")).InRandomOrder().FirstOrDefault().TryGetComp<rjw.CompHediffBodyPart>();
 | 
					            if (part == null) part = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn))?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("tentacle")).InRandomOrder().FirstOrDefault().TryGetComp<rjw.CompHediffBodyPart>();
 | 
				
			||||||
            
 | 
					            
 | 
				
			||||||
            return part?.FluidAmmount * part.FluidModifier * Rand.Range(0.8f, 1.2f) ?? 0.0f;
 | 
					            float res = part?.FluidAmmount * part.FluidModifier * pawn.BodySize * Rand.Range(0.8f, 1.2f) * RJWSettings.cum_on_body_amount_adjust * 0.3f ?? 0.0f;
 | 
				
			||||||
 | 
					            if (pawn.Has(Quirk.Messy)) res *= Rand.Range(4.0f,8.0f);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            return res;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public static HediffComp_Menstruation GetMenstruationComp(Pawn pawn)
 | 
					        public static HediffComp_Menstruation GetMenstruationComp(Pawn pawn)
 | 
				
			||||||
| 
						 | 
					@ -135,27 +138,27 @@ namespace RJW_Menstruation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public static Texture2D GetCumIcon(HediffComp_Menstruation comp)
 | 
					        public static Texture2D GetCumIcon(HediffComp_Menstruation comp)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            string icon = "Womb/";
 | 
					            string icon = comp.Props.wombTex;
 | 
				
			||||||
            float cumpercent = comp.TotalCumPercent;
 | 
					            float cumpercent = comp.TotalCumPercent;
 | 
				
			||||||
            if (cumpercent < 0.001f) icon += "Empty";
 | 
					            if (cumpercent < 0.001f) icon = "Womb/Empty";
 | 
				
			||||||
            else if (cumpercent < 0.01f) icon += "Cum_00";
 | 
					            else if (cumpercent < 0.01f) icon += "_Cum_00";
 | 
				
			||||||
            else if (cumpercent < 0.05f) icon += "Cum_01";
 | 
					            else if (cumpercent < 0.05f) icon += "_Cum_01";
 | 
				
			||||||
            else if (cumpercent < 0.11f) icon += "Cum_02";
 | 
					            else if (cumpercent < 0.11f) icon += "_Cum_02";
 | 
				
			||||||
            else if (cumpercent < 0.17f) icon += "Cum_03";
 | 
					            else if (cumpercent < 0.17f) icon += "_Cum_03";
 | 
				
			||||||
            else if (cumpercent < 0.23f) icon += "Cum_04";
 | 
					            else if (cumpercent < 0.23f) icon += "_Cum_04";
 | 
				
			||||||
            else if (cumpercent < 0.29f) icon += "Cum_05";
 | 
					            else if (cumpercent < 0.29f) icon += "_Cum_05";
 | 
				
			||||||
            else if (cumpercent < 0.35f) icon += "Cum_06";
 | 
					            else if (cumpercent < 0.35f) icon += "_Cum_06";
 | 
				
			||||||
            else if (cumpercent < 0.41f) icon += "Cum_07";
 | 
					            else if (cumpercent < 0.41f) icon += "_Cum_07";
 | 
				
			||||||
            else if (cumpercent < 0.47f) icon += "Cum_08";
 | 
					            else if (cumpercent < 0.47f) icon += "_Cum_08";
 | 
				
			||||||
            else if (cumpercent < 0.53f) icon += "Cum_09";
 | 
					            else if (cumpercent < 0.53f) icon += "_Cum_09";
 | 
				
			||||||
            else if (cumpercent < 0.59f) icon += "Cum_10";
 | 
					            else if (cumpercent < 0.59f) icon += "_Cum_10";
 | 
				
			||||||
            else if (cumpercent < 0.65f) icon += "Cum_11";
 | 
					            else if (cumpercent < 0.65f) icon += "_Cum_11";
 | 
				
			||||||
            else if (cumpercent < 0.71f) icon += "Cum_12";
 | 
					            else if (cumpercent < 0.71f) icon += "_Cum_12";
 | 
				
			||||||
            else if (cumpercent < 0.77f) icon += "Cum_13";
 | 
					            else if (cumpercent < 0.77f) icon += "_Cum_13";
 | 
				
			||||||
            else if (cumpercent < 0.83f) icon += "Cum_14";
 | 
					            else if (cumpercent < 0.83f) icon += "_Cum_14";
 | 
				
			||||||
            else if (cumpercent < 0.89f) icon += "Cum_15";
 | 
					            else if (cumpercent < 0.89f) icon += "_Cum_15";
 | 
				
			||||||
            else if (cumpercent < 0.95f) icon += "Cum_16";
 | 
					            else if (cumpercent < 0.95f) icon += "_Cum_16";
 | 
				
			||||||
            else icon += "Cum_17";
 | 
					            else icon += "_Cum_17";
 | 
				
			||||||
            Texture2D cumtex = ContentFinder<Texture2D>.Get((icon), true);
 | 
					            Texture2D cumtex = ContentFinder<Texture2D>.Get((icon), true);
 | 
				
			||||||
            return cumtex;
 | 
					            return cumtex;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||