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 4c6681c..38fbb81 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 @@ -639,12 +639,8 @@ namespace RJW_Menstruation if (Scribe.mode == LoadSaveMode.PostLoadInit) { Initialize(); - // Biotech labor errors if the mother is also the father, so don't let that happen - if (pregnancy is HediffWithParents vanillaPreg && vanillaPreg.Mother == vanillaPreg.Father && vanillaPreg.Mother != null) - { - Log.Warning($"Pregnancy of {Pawn} has same mother and father, setting father to null"); + if (pregnancy is HediffWithParents vanillaPreg && vanillaPreg.Mother == vanillaPreg.Father) // Fix mother == father issue vanillaPreg.SetParents(vanillaPreg.Mother, null, vanillaPreg.geneSet); - } } } @@ -794,7 +790,7 @@ namespace RJW_Menstruation { get { - if (Pawn.Dead || !Pawn.ShouldCycle()) return null; + if (Pawn.Dead) return null; StringBuilder tip = new StringBuilder(); tip.Append(Translations.Dialog_WombInfo01); tip.Append(": "); @@ -816,11 +812,7 @@ namespace RJW_Menstruation public override string CompDebugString() { - if (Pawn.Dead || - !Pawn.ShouldCycle() || - curStage == Stage.None || - curStage == Stage.Infertile || - curStage == Stage.Pregnant) return null; + if (Pawn.Dead || curStage == Stage.None || curStage == Stage.Infertile || curStage == Stage.Pregnant) return null; StringBuilder debugString = new StringBuilder(); debugString.Append($"Time to next state: "); debugString.Append(GenDate.ToStringTicksToPeriod(TicksToNextStage())); diff --git a/1.5/source/RJW_Menstruation/RJW_Menstruation/HediffComps/MenstruationUtility.cs b/1.5/source/RJW_Menstruation/RJW_Menstruation/HediffComps/MenstruationUtility.cs index d608249..db4bd06 100644 --- a/1.5/source/RJW_Menstruation/RJW_Menstruation/HediffComps/MenstruationUtility.cs +++ b/1.5/source/RJW_Menstruation/RJW_Menstruation/HediffComps/MenstruationUtility.cs @@ -242,7 +242,7 @@ namespace RJW_Menstruation bool isInduced = comp is HediffComp_InducedOvulator; if (comp.curStage == HediffComp_Menstruation.Stage.Follicular && isInduced && - comp.Pawn.jobs?.curDriver is JobDriver_Sex job && + comp.Pawn.jobs.curDriver is JobDriver_Sex job && job.Sexprops != null && !UsingCondom(comp.Pawn, job.Partner) && (job.Sexprops.sexType == xxx.rjwSextype.Vaginal || job.Sexprops.sexType == xxx.rjwSextype.DoublePenetration)) diff --git a/1.5/source/RJW_Menstruation/RJW_Menstruation/Patch/Pawn_Patch.cs b/1.5/source/RJW_Menstruation/RJW_Menstruation/Patch/Pawn_Patch.cs index ef1c8b3..26a66eb 100644 --- a/1.5/source/RJW_Menstruation/RJW_Menstruation/Patch/Pawn_Patch.cs +++ b/1.5/source/RJW_Menstruation/RJW_Menstruation/Patch/Pawn_Patch.cs @@ -33,12 +33,8 @@ namespace RJW_Menstruation foreach (LocalTargetInfo t in selftargets) { - if (t.Pawn == pawn) - { - if (pawn.HasMenstruationComp() && pawn.ShouldCycle()) - opts.AddDistinct(MakeSelfMenu(pawn, t)); - break; - } + if (t.Pawn == pawn && pawn.HasMenstruationComp()) opts.AddDistinct(MakeSelfMenu(pawn, t)); + break; } }