mirror of
				https://gitgud.io/lutepickle/rjw_menstruation.git
				synced 2024-08-14 22:46:52 +00:00 
			
		
		
		
	1.0.5.9
This commit is contained in:
		
							parent
							
								
									1a8d386e02
								
							
						
					
					
						commit
						77cdbb23c8
					
				
					 15 changed files with 131 additions and 52 deletions
				
			
		
										
											Binary file not shown.
										
									
								
							| 
						 | 
					@ -19,7 +19,7 @@
 | 
				
			||||||
		<value>
 | 
							<value>
 | 
				
			||||||
			<comps>
 | 
								<comps>
 | 
				
			||||||
				<li Class="RJW_Menstruation.CompProperties_Breast">
 | 
									<li Class="RJW_Menstruation.CompProperties_Breast">
 | 
				
			||||||
					<BreastTex>Breasts/Breasts_Artificial</BreastTex>
 | 
										<BreastTex>Breasts_Artificial/Breast</BreastTex>
 | 
				
			||||||
					<BlacknippleColor>(255,255,255)</BlacknippleColor>
 | 
										<BlacknippleColor>(255,255,255)</BlacknippleColor>
 | 
				
			||||||
				</li>
 | 
									</li>
 | 
				
			||||||
			</comps>
 | 
								</comps>
 | 
				
			||||||
| 
						 | 
					@ -31,7 +31,7 @@
 | 
				
			||||||
		<value>
 | 
							<value>
 | 
				
			||||||
			<comps>
 | 
								<comps>
 | 
				
			||||||
				<li Class="RJW_Menstruation.CompProperties_Breast">
 | 
									<li Class="RJW_Menstruation.CompProperties_Breast">
 | 
				
			||||||
					<BreastTex>Breasts/Breasts_Artificial</BreastTex>
 | 
										<BreastTex>Breasts_Artificial/Breast</BreastTex>
 | 
				
			||||||
					<BlacknippleColor>(255,255,255)</BlacknippleColor>
 | 
										<BlacknippleColor>(255,255,255)</BlacknippleColor>
 | 
				
			||||||
				</li>
 | 
									</li>
 | 
				
			||||||
			</comps>
 | 
								</comps>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											Binary file not shown.
										
									
								
							| 
						 | 
					@ -195,12 +195,12 @@ namespace RJW_Menstruation
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            if (updatefilthDef != null) filthDef = updatefilthDef;
 | 
					            if (updatefilthDef != null) filthDef = updatefilthDef;
 | 
				
			||||||
            volume += volumein;
 | 
					            volume += volumein;
 | 
				
			||||||
            cumthickness = Mathf.Lerp(cumthickness, thickness, volumein / volume);
 | 
					            notcumthickness = Mathf.Lerp(notcumthickness, thickness, volumein / volume);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public bool ShouldRemove()
 | 
					        public bool ShouldRemove()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            if (fertvolume < 0.001f && volume < 0.001f) return true;
 | 
					            if ((notcum || fertvolume < 0.001f) && volume < 0.01f) return true;
 | 
				
			||||||
            return false;
 | 
					            return false;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -218,7 +218,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
        public float DismishForce(float portion, float leakfactor = 1.0f)
 | 
					        public float DismishForce(float portion, float leakfactor = 1.0f)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            float totalleak = volume;
 | 
					            float totalleak = volume;
 | 
				
			||||||
            volume *= Math.Max(0, 1 - (portion * (1 - decayresist)) * leakfactor);
 | 
					            volume *= Math.Max(0, 1 - (portion * (1 - decayresist/10)) * leakfactor);
 | 
				
			||||||
            fertvolume *= Math.Max(0, 1 - (portion * (1 - decayresist)) * leakfactor);
 | 
					            fertvolume *= Math.Max(0, 1 - (portion * (1 - decayresist)) * leakfactor);
 | 
				
			||||||
            CutMinor();
 | 
					            CutMinor();
 | 
				
			||||||
            totalleak -= volume;
 | 
					            totalleak -= volume;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -148,9 +148,17 @@ namespace RJW_Menstruation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public override void CompPostPostRemoved()
 | 
					        public override void CompPostPostRemoved()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            HugsLibController.Instance.TickDelayScheduler.TryUnscheduleCallback(action);
 | 
					
 | 
				
			||||||
            ModLog.Message(parent.pawn.Label + "breast tick scheduler removed");
 | 
					            if (parent?.pawn?.GetBreastComp() == this)
 | 
				
			||||||
            base.CompPostPostRemoved();
 | 
					            {
 | 
				
			||||||
 | 
					                Log.Warning("Something tried to remove hediff with wrong way.");
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            else
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                HugsLibController.Instance.TickDelayScheduler.TryUnscheduleCallback(action);
 | 
				
			||||||
 | 
					                Log.Message(parent.pawn.Label + "breast tick scheduler removed");
 | 
				
			||||||
 | 
					                base.CompPostPostRemoved();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public void Initialize()
 | 
					        public void Initialize()
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -529,9 +529,16 @@ namespace RJW_Menstruation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public override void CompPostPostRemoved()
 | 
					        public override void CompPostPostRemoved()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            HugsLibController.Instance.TickDelayScheduler.TryUnscheduleCallback(actionref);
 | 
					            if (parent?.pawn?.GetMenstruationComp() == this)
 | 
				
			||||||
            Log.Message(parent.pawn.Label + "tick scheduler removed");
 | 
					            {
 | 
				
			||||||
            base.CompPostPostRemoved();
 | 
					                Log.Warning("Something tried to remove hediff with wrong way.");
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            else
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                HugsLibController.Instance.TickDelayScheduler.TryUnscheduleCallback(actionref);
 | 
				
			||||||
 | 
					                Log.Message(parent.pawn.Label + "tick scheduler removed");
 | 
				
			||||||
 | 
					                base.CompPostPostRemoved();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -759,7 +766,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
        /// <param name="targetcum"></param>
 | 
					        /// <param name="targetcum"></param>
 | 
				
			||||||
        /// <param name="portion"></param>
 | 
					        /// <param name="portion"></param>
 | 
				
			||||||
        /// <returns></returns>
 | 
					        /// <returns>Amount of target cum</returns>
 | 
				
			||||||
        public float CumOut(Cum targetcum, float portion = 0.1f)
 | 
					        public float CumOut(Cum targetcum, float portion = 0.1f)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            if (cums.NullOrEmpty()) return 0;
 | 
					            if (cums.NullOrEmpty()) return 0;
 | 
				
			||||||
| 
						 | 
					@ -869,12 +876,21 @@ namespace RJW_Menstruation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                InitOvary(parent.pawn.ageTracker.AgeBiologicalYears);
 | 
					                InitOvary(parent.pawn.ageTracker.AgeBiologicalYears);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                if (parent.pawn.IsPregnant())
 | 
					                Hediff_BasePregnancy pregnancy = parent.pawn.GetRJWPregnancy();
 | 
				
			||||||
 | 
					                if (pregnancy != null)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    Hediff_BasePregnancy hediff = (Hediff_BasePregnancy)PregnancyHelper.GetPregnancy(parent.pawn);
 | 
					                    Hediff hediff = PregnancyHelper.GetPregnancy(parent.pawn);
 | 
				
			||||||
                    currentIntervalhours = (int)(hediff?.GestationHours());
 | 
					                    if (hediff != null)
 | 
				
			||||||
                    curStage = Stage.Pregnant;
 | 
					                    {
 | 
				
			||||||
 | 
					                        if (hediff is Hediff_BasePregnancy)
 | 
				
			||||||
 | 
					                        {
 | 
				
			||||||
 | 
					                            Hediff_BasePregnancy preg = (Hediff_BasePregnancy)hediff;
 | 
				
			||||||
 | 
					                            currentIntervalhours = (int)(preg.GestationHours());
 | 
				
			||||||
 | 
					                            curStage = Stage.Pregnant;
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                if (parent.pawn.IsAnimal())
 | 
					                if (parent.pawn.IsAnimal())
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    if (Configurations.EnableAnimalCycle)
 | 
					                    if (Configurations.EnableAnimalCycle)
 | 
				
			||||||
| 
						 | 
					@ -884,7 +900,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                else
 | 
					                else
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    if (!parent.pawn.IsPregnant() && parent.pawn.health.capacities.GetLevel(xxx.reproduction) <= 0) HugsLibController.Instance.TickDelayScheduler.ScheduleCallback(PeriodSimulator(Stage.Young), tickInterval, parent.pawn, false);
 | 
					                    if (pregnancy == null && parent.pawn.health.capacities.GetLevel(xxx.reproduction) <= 0) HugsLibController.Instance.TickDelayScheduler.ScheduleCallback(PeriodSimulator(Stage.Young), tickInterval, parent.pawn, false);
 | 
				
			||||||
                    else HugsLibController.Instance.TickDelayScheduler.ScheduleCallback(PeriodSimulator(curStage), tickInterval, parent.pawn, false);
 | 
					                    else HugsLibController.Instance.TickDelayScheduler.ScheduleCallback(PeriodSimulator(curStage), tickInterval, parent.pawn, false);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
| 
						 | 
					@ -1044,7 +1060,28 @@ namespace RJW_Menstruation
 | 
				
			||||||
                    if (!egg.fertilized || egg.fertstage < 168) continue;
 | 
					                    if (!egg.fertilized || egg.fertstage < 168) continue;
 | 
				
			||||||
                    else if (Rand.Range(0.0f, 1.0f) <= Configurations.ImplantationChance * Props.baseImplantationChanceFactor * ImplantFactor * InterspeciesImplantFactor(egg.fertilizer))
 | 
					                    else if (Rand.Range(0.0f, 1.0f) <= Configurations.ImplantationChance * Props.baseImplantationChanceFactor * ImplantFactor * InterspeciesImplantFactor(egg.fertilizer))
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
                        if (!parent.pawn.IsPregnant())
 | 
					                        Hediff_BasePregnancy pregnancy = parent.pawn.GetRJWPregnancy();
 | 
				
			||||||
 | 
					                        if (pregnancy != null)
 | 
				
			||||||
 | 
					                        {
 | 
				
			||||||
 | 
					                            if (Configurations.UseMultiplePregnancy && Configurations.EnableHeteroOvularTwins)
 | 
				
			||||||
 | 
					                            {
 | 
				
			||||||
 | 
					                                if (pregnancy is Hediff_MultiplePregnancy)
 | 
				
			||||||
 | 
					                                {
 | 
				
			||||||
 | 
					                                    Hediff_MultiplePregnancy h = (Hediff_MultiplePregnancy)pregnancy;
 | 
				
			||||||
 | 
					                                    h.AddNewBaby(parent.pawn, egg.fertilizer);
 | 
				
			||||||
 | 
					                                }
 | 
				
			||||||
 | 
					                                pregnant = true;
 | 
				
			||||||
 | 
					                                deadeggs.Add(egg);
 | 
				
			||||||
 | 
					                            }
 | 
				
			||||||
 | 
					                            else
 | 
				
			||||||
 | 
					                            {
 | 
				
			||||||
 | 
					                                pregnant = true;
 | 
				
			||||||
 | 
					                                break;
 | 
				
			||||||
 | 
					                            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                        else
 | 
				
			||||||
                        {
 | 
					                        {
 | 
				
			||||||
                            if (!Configurations.UseMultiplePregnancy)
 | 
					                            if (!Configurations.UseMultiplePregnancy)
 | 
				
			||||||
                            {
 | 
					                            {
 | 
				
			||||||
| 
						 | 
					@ -1064,22 +1101,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
                                deadeggs.Add(egg);
 | 
					                                deadeggs.Add(egg);
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                        else if (Configurations.UseMultiplePregnancy && Configurations.EnableHeteroOvularTwins)
 | 
					
 | 
				
			||||||
                        {
 | 
					 | 
				
			||||||
                            Hediff hediff = PregnancyHelper.GetPregnancy(parent.pawn);
 | 
					 | 
				
			||||||
                            if (hediff is Hediff_MultiplePregnancy)
 | 
					 | 
				
			||||||
                            {
 | 
					 | 
				
			||||||
                                Hediff_MultiplePregnancy h = (Hediff_MultiplePregnancy)hediff;
 | 
					 | 
				
			||||||
                                h.AddNewBaby(parent.pawn, egg.fertilizer);
 | 
					 | 
				
			||||||
                            }
 | 
					 | 
				
			||||||
                            pregnant = true;
 | 
					 | 
				
			||||||
                            deadeggs.Add(egg);
 | 
					 | 
				
			||||||
                        }
 | 
					 | 
				
			||||||
                        else
 | 
					 | 
				
			||||||
                        {
 | 
					 | 
				
			||||||
                            pregnant = true;
 | 
					 | 
				
			||||||
                            break;
 | 
					 | 
				
			||||||
                        }
 | 
					 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    else deadeggs.Add(egg);
 | 
					                    else deadeggs.Add(egg);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
| 
						 | 
					@ -1342,7 +1364,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
                Implant();
 | 
					                Implant();
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (parent.pawn.IsPregnant())
 | 
					            if (parent.pawn.GetRJWPregnancy() != null)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                curStageHrs += 1;
 | 
					                curStageHrs += 1;
 | 
				
			||||||
                StayCurrentStageConst(Stage.Pregnant);
 | 
					                StayCurrentStageConst(Stage.Pregnant);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -309,7 +309,6 @@ namespace RJW_Menstruation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public Pawn GenerateBaby(PawnGenerationRequest request, Pawn mother, Pawn father)
 | 
					        public Pawn GenerateBaby(PawnGenerationRequest request, Pawn mother, Pawn father)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            
 | 
					 | 
				
			||||||
            Pawn baby = PawnGenerator.GeneratePawn(request);
 | 
					            Pawn baby = PawnGenerator.GeneratePawn(request);
 | 
				
			||||||
            if (baby != null)
 | 
					            if (baby != null)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
| 
						 | 
					@ -356,6 +355,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					            else Log.Error("Baby not generated. Request: " + request.ToString());
 | 
				
			||||||
            return baby;
 | 
					            return baby;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,31 @@
 | 
				
			||||||
 | 
					using System;
 | 
				
			||||||
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					using System.Linq;
 | 
				
			||||||
 | 
					using System.Text;
 | 
				
			||||||
 | 
					using System.Threading.Tasks;
 | 
				
			||||||
 | 
					using RimWorld;
 | 
				
			||||||
 | 
					using Verse;
 | 
				
			||||||
 | 
					using rjw;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace RJW_Menstruation
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public class IngestionOutcomeDoer_GiveHediff_StackCount : IngestionOutcomeDoer_GiveHediff
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							private bool divideByBodySize = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							protected override void DoIngestionOutcomeSpecial(Pawn pawn, Thing ingested)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								Hediff hediff = HediffMaker.MakeHediff(hediffDef, pawn);
 | 
				
			||||||
 | 
								float effect = ((!(severity > 0f)) ? hediffDef.initialSeverity : severity) * ingested.stackCount;
 | 
				
			||||||
 | 
								if (divideByBodySize)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									effect /= pawn.BodySize;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								AddictionUtility.ModifyChemicalEffectForToleranceAndBodySize(pawn, toleranceChemical, ref effect);
 | 
				
			||||||
 | 
								hediff.Severity = effect;
 | 
				
			||||||
 | 
								pawn.health.AddHediff(hediff);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -11,6 +11,7 @@ namespace RJW_Menstruation
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            var har = new Harmony("RJW_Menstruation");
 | 
					            var har = new Harmony("RJW_Menstruation");
 | 
				
			||||||
            har.PatchAll(Assembly.GetExecutingAssembly());
 | 
					            har.PatchAll(Assembly.GetExecutingAssembly());
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -122,7 +122,6 @@ namespace RJW_Menstruation
 | 
				
			||||||
                float morph = Mathf.Max(baby.BodySize - Mathf.Pow(vagina.Severity * mother.BodySize,2), 0f);
 | 
					                float morph = Mathf.Max(baby.BodySize - Mathf.Pow(vagina.Severity * mother.BodySize,2), 0f);
 | 
				
			||||||
                vagina.Severity += morph * Configurations.VaginaMorphPower;
 | 
					                vagina.Severity += morph * Configurations.VaginaMorphPower;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -61,6 +61,7 @@
 | 
				
			||||||
    <Compile Include="Configurations.cs" />
 | 
					    <Compile Include="Configurations.cs" />
 | 
				
			||||||
    <Compile Include="Cum.cs" />
 | 
					    <Compile Include="Cum.cs" />
 | 
				
			||||||
    <Compile Include="HediffComps\MenstruationUtility.cs" />
 | 
					    <Compile Include="HediffComps\MenstruationUtility.cs" />
 | 
				
			||||||
 | 
					    <Compile Include="IngestionOutcomeDoers.cs" />
 | 
				
			||||||
    <Compile Include="Recipe_Surgery.cs" />
 | 
					    <Compile Include="Recipe_Surgery.cs" />
 | 
				
			||||||
    <Compile Include="UI\Dialog_HybridCustom.cs" />
 | 
					    <Compile Include="UI\Dialog_HybridCustom.cs" />
 | 
				
			||||||
    <Compile Include="UI\Dialog_WombStatus.cs" />
 | 
					    <Compile Include="UI\Dialog_WombStatus.cs" />
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -179,6 +179,10 @@ namespace RJW_Menstruation
 | 
				
			||||||
            return null;
 | 
					            return null;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public static Hediff_BasePregnancy GetRJWPregnancy(this Pawn pawn)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            return (Hediff_BasePregnancy)pawn.health.hediffSet.hediffs.FirstOrDefault(x => x is Hediff_BasePregnancy);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public static void DrawBreastIcon(this Pawn pawn, Rect rect , bool drawOrigin = false)
 | 
					        public static void DrawBreastIcon(this Pawn pawn, Rect rect , bool drawOrigin = false)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -25,10 +25,10 @@ namespace RJW_Menstruation.Sexperience
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            HediffComp_Menstruation Comp = pawn.GetMenstruationComp();
 | 
					            HediffComp_Menstruation Comp = pawn.GetMenstruationComp();
 | 
				
			||||||
            this.FailOn(delegate
 | 
					            //this.FailOn(delegate
 | 
				
			||||||
            {
 | 
					            //{
 | 
				
			||||||
                return !(Comp.TotalCumPercent > 0.001);
 | 
					            //    return !(Comp.TotalCumPercent > 0.001);
 | 
				
			||||||
            });
 | 
					            //});
 | 
				
			||||||
            yield return Toils_Goto.GotoThing(TargetIndex.B, PathEndMode.ClosestTouch);
 | 
					            yield return Toils_Goto.GotoThing(TargetIndex.B, PathEndMode.ClosestTouch);
 | 
				
			||||||
            Toil excreting = Toils_General.Wait(excretingTime, TargetIndex.None);//duration of 
 | 
					            Toil excreting = Toils_General.Wait(excretingTime, TargetIndex.None);//duration of 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -38,18 +38,22 @@ namespace RJW_Menstruation.Sexperience
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                initAction = delegate ()
 | 
					                initAction = delegate ()
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    CumMixture mixture = Comp.MixtureOut(RJWSexperience.VariousDefOf.GatheredCum, 0.5f);
 | 
					                    if (Comp.TotalCumPercent > 0.001)
 | 
				
			||||||
                    float amount = mixture.Volume;
 | 
					 | 
				
			||||||
                    if (mixture.ispurecum)
 | 
					 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
                        Bucket.AddCum(amount);
 | 
					                        CumMixture mixture = Comp.MixtureOut(RJWSexperience.VariousDefOf.GatheredCum, 0.5f);
 | 
				
			||||||
                    }
 | 
					                        float amount = mixture.Volume;
 | 
				
			||||||
                    else
 | 
					                        if (mixture.ispurecum)
 | 
				
			||||||
                    {
 | 
					                        {
 | 
				
			||||||
                        GatheredCumMixture cummixture = (GatheredCumMixture)ThingMaker.MakeThing(VariousDefOf.GatheredCumMixture);
 | 
					                            Bucket.AddCum(amount);
 | 
				
			||||||
                        cummixture.InitwithCum(mixture);
 | 
					                        }
 | 
				
			||||||
                        Bucket.AddCum(amount, cummixture);
 | 
					                        else
 | 
				
			||||||
 | 
					                        {
 | 
				
			||||||
 | 
					                            GatheredCumMixture cummixture = (GatheredCumMixture)ThingMaker.MakeThing(VariousDefOf.GatheredCumMixture);
 | 
				
			||||||
 | 
					                            cummixture.InitwithCum(mixture);
 | 
				
			||||||
 | 
					                            Bucket.AddCum(amount, cummixture);
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
 | 
					                    else ReadyForNextToil();
 | 
				
			||||||
                    if (Comp.TotalCumPercent > 0.001) JumpToToil(excreting);
 | 
					                    if (Comp.TotalCumPercent > 0.001) JumpToToil(excreting);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            };
 | 
					            };
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,11 +1,17 @@
 | 
				
			||||||
<?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.5.8</version>
 | 
						<version>1.0.5.9</version>
 | 
				
			||||||
	<dependencies>
 | 
						<dependencies>
 | 
				
			||||||
	</dependencies>
 | 
						</dependencies>
 | 
				
			||||||
	<incompatibleWith />
 | 
						<incompatibleWith />
 | 
				
			||||||
	<loadAfter>
 | 
						<loadAfter>
 | 
				
			||||||
 | 
							<li>UnlimitedHugs.HugsLib</li>
 | 
				
			||||||
 | 
							<li>brrainz.harmony</li>
 | 
				
			||||||
 | 
							<li>rim.job.world</li>
 | 
				
			||||||
 | 
							<li>Abraxas.RJW.RaceSupport</li>
 | 
				
			||||||
 | 
							<li>rjw.milk.humanoid</li>
 | 
				
			||||||
 | 
							<li>rjw.sexperience</li>
 | 
				
			||||||
	</loadAfter>
 | 
						</loadAfter>
 | 
				
			||||||
	<suggests>
 | 
						<suggests>
 | 
				
			||||||
	</suggests>
 | 
						</suggests>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,6 @@
 | 
				
			||||||
 | 
					Version 1.0.5.9
 | 
				
			||||||
 | 
					 - minor bug fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Version 1.0.5.8
 | 
					Version 1.0.5.8
 | 
				
			||||||
 - requires RJW 4.8.1 or later
 | 
					 - requires RJW 4.8.1 or later
 | 
				
			||||||
 - added toggle for gather cums in womb into a cum bucket
 | 
					 - added toggle for gather cums in womb into a cum bucket
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue