From 0c38513084ddf8073f3c9d7779aba78468c88cd2 Mon Sep 17 00:00:00 2001 From: lutepickle <28810-lutepickle@users.noreply.gitgud.io> Date: Sat, 29 Jul 2023 14:42:46 -0700 Subject: [PATCH] Eliminate egg if there is an error implanting it. --- 1.4/Assemblies/RJW_Menstruation.dll | Bin 217088 -> 217600 bytes .../HediffComps/HediffComp_Menstruation.cs | 124 ++++++++++-------- About/Manifest.xml | 2 +- changelogs.txt | 3 + 4 files changed, 70 insertions(+), 59 deletions(-) diff --git a/1.4/Assemblies/RJW_Menstruation.dll b/1.4/Assemblies/RJW_Menstruation.dll index 66a2a578f9684ada420b0d4e37037361407eb120..bd3fce25bd126f84f23eaaf63b06cfb80e849529 100644 GIT binary patch delta 23431 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 delta 23265 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 KbC*|Ho&OIhHr=!U diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Menstruation.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Menstruation.cs index 7019a44..74173fe 100644 --- a/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Menstruation.cs +++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Menstruation.cs @@ -1414,77 +1414,85 @@ namespace RJW_Menstruation } else if (Rand.Chance(Configurations.ImplantationChance * ImplantChance * InterspeciesImplantFactor(egg.fertilizer))) { - if (Configurations.Debug) Log.Message($"Implanting fertilized egg of {Pawn} into {parent}, father {egg.fertilizer}"); - if (pregnancy != null) + try { - if (Configurations.PregnancySource == Configurations.PregnancyType.Biotech && Configurations.EnableBiotechTwins && Configurations.EnableHeteroOvularTwins) + if (Configurations.Debug) Log.Message($"Implanting fertilized egg of {Pawn} into {parent}, father {egg.fertilizer}"); + if (pregnancy != null) { - if (Configurations.Debug) Log.Message($"Adding to existing Biotech pregnancy {pregnancy}"); - HediffComp_PregeneratedBabies comp = pregnancy.TryGetComp(); - if (comp == null) Log.Warning($"Trying to add Biotech egg to {Pawn}'s pregnancy without a pregenerated baby comp: {pregnancy}"); - else + if (Configurations.PregnancySource == Configurations.PregnancyType.Biotech && Configurations.EnableBiotechTwins && Configurations.EnableHeteroOvularTwins) { - comp.AddNewBaby(Pawn, egg.fertilizer); + if (Configurations.Debug) Log.Message($"Adding to existing Biotech pregnancy {pregnancy}"); + HediffComp_PregeneratedBabies comp = pregnancy.TryGetComp(); + if (comp == null) Log.Warning($"Trying to add Biotech egg to {Pawn}'s pregnancy without a pregenerated baby comp: {pregnancy}"); + else + { + comp.AddNewBaby(Pawn, egg.fertilizer); + pregnant = true; + deadeggs.Add(egg); + } + } + else if (Configurations.PregnancySource == Configurations.PregnancyType.MultiplePregnancy && Configurations.EnableHeteroOvularTwins) + { + if (pregnancy is Hediff_MultiplePregnancy h) + { + if (Configurations.Debug) Log.Message($"Adding to existing pregnancy {h}"); + h.AddNewBaby(Pawn, egg.fertilizer); + } pregnant = true; deadeggs.Add(egg); } - } - else if (Configurations.PregnancySource == Configurations.PregnancyType.MultiplePregnancy && Configurations.EnableHeteroOvularTwins) - { - if (pregnancy is Hediff_MultiplePregnancy h) + else { - if (Configurations.Debug) Log.Message($"Adding to existing pregnancy {h}"); - h.AddNewBaby(Pawn, egg.fertilizer); + pregnant = true; + break; } - pregnant = true; - deadeggs.Add(egg); } else { - pregnant = true; - break; + Configurations.PregnancyType usePregnancy = xxx.is_human(Pawn) ? Configurations.PregnancySource : Configurations.PregnancyType.MultiplePregnancy; + switch (usePregnancy) + { + case Configurations.PregnancyType.BaseRJW: + + if (Configurations.Debug) Log.Message($"Creating new base RJW pregnancy"); + PregnancyHelper.AddPregnancyHediff(Pawn, egg.fertilizer); + // I hate having to do this, but it gets the newest pregnancy + List pregnancies = new List(); + Pawn.health.hediffSet.GetHediffs(ref pregnancies); + pregnancy = pregnancies.MaxBy(hediff => hediff.loadID); + pregnant = true; + break; + + case Configurations.PregnancyType.MultiplePregnancy: + if (Configurations.Debug) Log.Message($"Creating new menstruation pregnancy"); + pregnancy = Hediff_BasePregnancy.Create(Pawn, egg.fertilizer); + pregnant = true; + deadeggs.Add(egg); + break; + + case Configurations.PregnancyType.Biotech: + if (Configurations.Debug) Log.Message($"Creating new biotech pregnancy"); + pregnancy = HediffMaker.MakeHediff(HediffDefOf.PregnantHuman, Pawn); + if (Configurations.EnableBiotechTwins) + pregnancy.TryGetComp().AddNewBaby(Pawn, egg.fertilizer); + ((Hediff_Pregnant)pregnancy).SetParents(Pawn, egg.fertilizer, PregnancyUtility.GetInheritedGeneSet(egg.fertilizer, Pawn)); + Pawn.health.AddHediff(pregnancy); + pregnant = true; + deadeggs.Add(egg); + break; + } + if (pregnancy is Hediff_BasePregnancy rjw_preg) + { + // TODO: advance biotech pregnancy + rjw_preg.p_start_tick -= egg.ticksSinceFertilization / Configurations.CycleAcceleration; + rjw_preg.p_end_tick -= egg.ticksSinceFertilization / Configurations.CycleAcceleration; + } } } - else + catch (Exception ex) { - Configurations.PregnancyType usePregnancy = xxx.is_human(Pawn) ? Configurations.PregnancySource : Configurations.PregnancyType.MultiplePregnancy; - switch (usePregnancy) - { - case Configurations.PregnancyType.BaseRJW: - - if (Configurations.Debug) Log.Message($"Creating new base RJW pregnancy"); - PregnancyHelper.AddPregnancyHediff(Pawn, egg.fertilizer); - // I hate having to do this, but it gets the newest pregnancy - List pregnancies = new List(); - Pawn.health.hediffSet.GetHediffs(ref pregnancies); - pregnancy = pregnancies.MaxBy(hediff => hediff.loadID); - pregnant = true; - break; - - case Configurations.PregnancyType.MultiplePregnancy: - if (Configurations.Debug) Log.Message($"Creating new menstruation pregnancy"); - pregnancy = Hediff_BasePregnancy.Create(Pawn, egg.fertilizer); - pregnant = true; - deadeggs.Add(egg); - break; - - case Configurations.PregnancyType.Biotech: - if (Configurations.Debug) Log.Message($"Creating new biotech pregnancy"); - pregnancy = HediffMaker.MakeHediff(HediffDefOf.PregnantHuman, Pawn); - if(Configurations.EnableBiotechTwins) - pregnancy.TryGetComp().AddNewBaby(Pawn, egg.fertilizer); - ((Hediff_Pregnant)pregnancy).SetParents(Pawn, egg.fertilizer, PregnancyUtility.GetInheritedGeneSet(egg.fertilizer, Pawn)); - Pawn.health.AddHediff(pregnancy); - pregnant = true; - deadeggs.Add(egg); - break; - } - if (pregnancy is Hediff_BasePregnancy rjw_preg) - { - // TODO: advance biotech pregnancy - rjw_preg.p_start_tick -= egg.ticksSinceFertilization / Configurations.CycleAcceleration; - rjw_preg.p_end_tick -= egg.ticksSinceFertilization / Configurations.CycleAcceleration; - } + Log.Error($"Error creating pregnancy in {Pawn}'s womb, father {egg.fertilizer}: {ex}"); + deadeggs.Add(egg); } } else @@ -1492,7 +1500,7 @@ namespace RJW_Menstruation if (Configurations.Debug) { float implantChance = Configurations.ImplantationChance * ImplantChance * InterspeciesImplantFactor(egg.fertilizer); - Log.Message($"Fertilized egg of {Pawn} failed to implant (chance {implantChance.ToStringPercent()}, father {egg.fertilizer})"); + if (Configurations.Debug) Log.Message($"Fertilized egg of {Pawn} failed to implant (chance {implantChance.ToStringPercent()}, father {egg.fertilizer})"); } deadeggs.Add(egg); } diff --git a/About/Manifest.xml b/About/Manifest.xml index 028cc7b..eb861f5 100644 --- a/About/Manifest.xml +++ b/About/Manifest.xml @@ -1,7 +1,7 @@ RJW Menstruation - 1.0.9.1 + 1.0.9.2 diff --git a/changelogs.txt b/changelogs.txt index 6db36eb..9f8ca90 100644 --- a/changelogs.txt +++ b/changelogs.txt @@ -1,3 +1,6 @@ +Version 1.0.9.2 + - Prevent repeated pregnancies when some errors occur. + Version 1.0.9.1 - Japanese translation for most text by Lokuzt. - New womb, cum, and fetus graphics by Euldrop.