diff --git a/1.5/Assemblies/RJW_Menstruation.dll b/1.5/Assemblies/RJW_Menstruation.dll index 87704b7..6b43c1d 100644 Binary files a/1.5/Assemblies/RJW_Menstruation.dll and b/1.5/Assemblies/RJW_Menstruation.dll differ diff --git a/1.5/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_InducedOvulator.cs b/1.5/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_InducedOvulator.cs index 3b4ab9c..e2ec838 100644 --- a/1.5/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_InducedOvulator.cs +++ b/1.5/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_InducedOvulator.cs @@ -17,9 +17,9 @@ namespace RJW_Menstruation { protected bool hadOvulatoryStage = false; // Regardless of whether an egg was actually produced - protected override void InitializeExtraValues() + protected override void PostInitialize() { - base.InitializeExtraValues(); + base.PostInitialize(); hadOvulatoryStage |= IsEggExist; } diff --git a/1.5/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Menstruation.cs b/1.5/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Menstruation.cs index fbb0115..741fbb3 100644 --- a/1.5/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Menstruation.cs +++ b/1.5/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Menstruation.cs @@ -971,7 +971,7 @@ namespace RJW_Menstruation if (Pawn.HasIUD()) antisperm = 0.70f + asafactor; else antisperm = 0.0f + asafactor; - absorber = (Absorber)Pawn.apparel?.WornApparel?.Find(x => x is Absorber); + absorber = (Absorber)Pawn.apparel?.WornApparel.Find(x => x is Absorber); if (absorber != null) { absorber.WearEffect(TickInterval); @@ -1164,7 +1164,7 @@ namespace RJW_Menstruation else if (currentIntervalTicks < curStageTicks) curStageTicks = currentIntervalTicks; } if (crampPain < 0) crampPain = PainRandomizer(); - InitializeExtraValues(); + PostInitialize(); TakeLoosePregnancy(); @@ -1178,7 +1178,7 @@ namespace RJW_Menstruation Notify_UpdatedGenes(); } - protected virtual void InitializeExtraValues() + protected virtual void PostInitialize() { } @@ -1459,6 +1459,7 @@ namespace RJW_Menstruation break; case Hediff_BasePregnancy _: default: + if (Configurations.Debug) Log.Message($"Not adding to existing pregnancy {pregnancy?.GetUniqueLoadID()}"); pregnant = true; deadeggs.Add(egg); break; @@ -1479,7 +1480,7 @@ namespace RJW_Menstruation float interspeciesFactor = InterspeciesImplantFactor(egg.fertilizer); float implantChance = Configurations.ImplantationChance * ImplantChance * interspeciesFactor; Log.Message($"Fertilized egg of {Pawn} failed to implant (chance {implantChance.ToStringPercent()}, " + - (interspeciesFactor < 1.0f ? $"interspecies factor {interspeciesFactor.ToStringPercent()}, " : "") + + (interspeciesFactor != 1.0f ? $"interspecies factor {interspeciesFactor.ToStringPercent()}, " : "") + $"father {egg.fertilizer})"); } deadeggs.Add(egg); diff --git a/1.5/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_PeriodicOvulator.cs b/1.5/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_PeriodicOvulator.cs index 62a9651..662c248 100644 --- a/1.5/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_PeriodicOvulator.cs +++ b/1.5/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_PeriodicOvulator.cs @@ -26,9 +26,9 @@ namespace RJW_Menstruation Props = (CompProperties_PeriodicOvulator)props; } - protected override void InitializeExtraValues() + protected override void PostInitialize() { - base.InitializeExtraValues(); + base.PostInitialize(); if (averageCycleIntervalTicks < 0) { averageCycleIntervalTicks = (int)(Props.cycleIntervalDays.RandomInRange * GenDate.TicksPerDay / cycleSpeed); diff --git a/1.5/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Pheromones.cs b/1.5/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Pheromones.cs index 3848b78..cd41c92 100644 --- a/1.5/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Pheromones.cs +++ b/1.5/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Pheromones.cs @@ -47,8 +47,11 @@ namespace RJW_Menstruation protected IEnumerable AffectedPawns() { - if(Pawn.GetCaravan() is Caravan caravan) + if (Pawn.GetCaravan() is Caravan caravan) + { foreach (Pawn p in caravan.PawnsListForReading.Where(p => p != Pawn)) yield return p; + yield break; + } Map mapHeld = Pawn.MapHeld; if (mapHeld == null) yield break; foreach (Pawn pawn in mapHeld.mapPawns.AllPawnsSpawned) diff --git a/1.5/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_PregeneratedBabies.cs b/1.5/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_PregeneratedBabies.cs index 9df33f4..48078a1 100644 --- a/1.5/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_PregeneratedBabies.cs +++ b/1.5/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_PregeneratedBabies.cs @@ -204,7 +204,7 @@ namespace RJW_Menstruation if (comp?.HasBaby ?? false) { RitualOutcomePossibility thisOutcome = outcome; - Precept_Ritual precept_Ritual = (Precept_Ritual)comp.Pawn.Ideo.GetPrecept(PreceptDefOf.ChildBirth); + Precept_Ritual precept_Ritual = (Precept_Ritual)comp.Pawn.Ideo.GetPrecept(RimWorld.PreceptDefOf.ChildBirth); float birthQuality = PregnancyUtility.GetBirthQualityFor(mother); do { diff --git a/1.5/source/RJW_Menstruation/RJW_Menstruation/Hediff_Estrus.cs b/1.5/source/RJW_Menstruation/RJW_Menstruation/Hediff_Estrus.cs index 26fa191..8c306a9 100644 --- a/1.5/source/RJW_Menstruation/RJW_Menstruation/Hediff_Estrus.cs +++ b/1.5/source/RJW_Menstruation/RJW_Menstruation/Hediff_Estrus.cs @@ -30,7 +30,8 @@ namespace RJW_Menstruation base.PostAdd(dinfo); if (IsVisible) { - List removals = pawn.health.hediffSet.hediffs.Where(hediff => hediff.def == VariousDefOf.Hediff_Estrus_Concealed).ToList(); + List removals = new List (); + pawn.health.hediffSet.GetHediffs(ref removals, hediff => hediff.def == VariousDefOf.Hediff_Estrus_Concealed); foreach (Hediff concealedEstrus in removals) { pawn.health.RemoveHediff(concealedEstrus); diff --git a/1.5/source/RJW_Menstruation/RJW_Menstruation/RJW_Menstruation.csproj b/1.5/source/RJW_Menstruation/RJW_Menstruation/RJW_Menstruation.csproj index 6dfaeca..359ea04 100644 --- a/1.5/source/RJW_Menstruation/RJW_Menstruation/RJW_Menstruation.csproj +++ b/1.5/source/RJW_Menstruation/RJW_Menstruation/RJW_Menstruation.csproj @@ -174,7 +174,7 @@ - 2.3.1.1 + 2.3.2 runtime compile; build; native; contentfiles; analyzers; buildtransitive