diff --git a/1.4/Assemblies/RJW_Menstruation.dll b/1.4/Assemblies/RJW_Menstruation.dll index 4179a95..ec97165 100644 Binary files a/1.4/Assemblies/RJW_Menstruation.dll and b/1.4/Assemblies/RJW_Menstruation.dll differ diff --git a/1.4/MilkModule/Assemblies/MilkModule.dll b/1.4/MilkModule/Assemblies/MilkModule.dll index 7c22131..aaf7777 100644 Binary files a/1.4/MilkModule/Assemblies/MilkModule.dll and b/1.4/MilkModule/Assemblies/MilkModule.dll differ diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/Hediff_MultiplePregnancy.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/Hediff_MultiplePregnancy.cs index 1142ff4..8abaf18 100644 --- a/1.4/source/RJW_Menstruation/RJW_Menstruation/Hediff_MultiplePregnancy.cs +++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/Hediff_MultiplePregnancy.cs @@ -439,20 +439,6 @@ namespace RJW_Menstruation firstbaby = baby; request.FixedGender = baby.gender; request.ForcedEndogenes = baby.genes?.Endogenes.Select(gene => gene.def).ToList(); - if (GeneUtility.SameHeritableXenotype(mother, father) && mother.genes.UniqueXenotype) - { - baby.genes.xenotypeName = mother.genes.xenotypeName; - baby.genes.iconDef = mother.genes.iconDef; - } - if (baby.genes != null) - { - baby.genes.SetXenotypeDirect(BabyXenoTypeDecider(mother, father, out bool hybridBaby)); - if(hybridBaby) - { - baby.genes.hybrid = true; - baby.genes.xenotypeName = "Hybrid".Translate(); - } - } } else { @@ -465,14 +451,6 @@ namespace RJW_Menstruation baby.story.bodyType = firstbaby.story.bodyType; } - if (baby.genes != null) - { - baby.genes.SetXenotypeDirect(firstbaby.genes.Xenotype); - baby.genes.xenotypeName = firstbaby.genes.xenotypeName; - baby.genes.iconDef = firstbaby.genes.iconDef; - baby.genes.hybrid = firstbaby.genes.hybrid; - } - if (baby.IsHAR()) HARCompatibility.CopyHARProperties(baby, firstbaby); //if (Configurations.AnimalGeneticsActivated) @@ -643,39 +621,6 @@ namespace RJW_Menstruation } - public XenotypeDef BabyXenoTypeDecider(Pawn mother, Pawn father, out bool hybrid) - { - hybrid = false; - bool hybridMother = mother?.genes?.hybrid ?? false; - bool hybridFather = father?.genes?.hybrid ?? false; - if (hybridMother && hybridFather) - { - hybrid = true; - return null; - } - XenotypeDef motherInheritableXenotype = mother?.genes?.Xenotype; - XenotypeDef fatherInheritableXenotype = father?.genes?.Xenotype; - if (!motherInheritableXenotype.inheritable) motherInheritableXenotype = null; - if (!fatherInheritableXenotype.inheritable) fatherInheritableXenotype = null; - - // If they're the same (or both null) - if (motherInheritableXenotype == fatherInheritableXenotype) - { - // Both null, but one's a hybrid - if (motherInheritableXenotype == null && (hybridMother || hybridFather)) - hybrid = true; - - return motherInheritableXenotype; - } - - // If one is null and the other isn't - if ((motherInheritableXenotype == null) != (fatherInheritableXenotype == null)) return motherInheritableXenotype ?? fatherInheritableXenotype; - - // So two different inheritable ones - hybrid = true; - return null; - } - public PawnKindDef GetHybrid(Pawn first, Pawn second) { PawnKindDef res = null; diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/Patch/Biotech_Patch.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/Patch/Biotech_Patch.cs deleted file mode 100644 index 2257c55..0000000 --- a/1.4/source/RJW_Menstruation/RJW_Menstruation/Patch/Biotech_Patch.cs +++ /dev/null @@ -1,64 +0,0 @@ -using HarmonyLib; -using System.Linq; -using RimWorld; -using Verse; - -namespace RJW_Menstruation -{ - [HarmonyPatch(typeof(Hediff_Pregnant), "Miscarry")] - public class Miscarry_Patch - { - public static void Postfix(Hediff_Pregnant __instance) - { - HediffComp_Menstruation comp = __instance.GetMenstruationCompFromPregnancy(); - if (comp == null) return; - comp.Pregnancy = null; - } - } - - [HarmonyPatch(typeof(Hediff_Pregnant), nameof(Hediff_Pregnant.StartLabor))] - public class StartLabor_Patch - { - public static void Postfix(Hediff_Pregnant __instance) - { - HediffComp_Menstruation comp = __instance.GetMenstruationCompFromPregnancy(); - if (comp == null) return; - comp.Pregnancy = __instance.pawn.health.hediffSet.GetFirstHediffOfDef(HediffDefOf.PregnancyLabor); - } - } - - [HarmonyPatch(typeof(Hediff_Labor), nameof(Hediff_Labor.PreRemoved))] - public class Labor_PreRemoved_Patch - { - public static void PostFix(Hediff_Labor __instance) - { - HediffComp_Menstruation comp = __instance.GetMenstruationCompFromPregnancy(); - if (comp == null) return; - comp.Pregnancy = __instance.pawn.health.hediffSet.GetFirstHediffOfDef(HediffDefOf.PregnancyLaborPushing); - } - } - - [HarmonyPatch(typeof(Hediff_LaborPushing), nameof(Hediff_LaborPushing.PreRemoved))] - public class LaborPushing_PreRemoved_Patch - { - public static void PostFix(Hediff_LaborPushing __instance) - { - HediffComp_Menstruation comp = __instance.GetMenstruationCompFromPregnancy(); - if (comp == null) return; - comp.Pregnancy = null; - } - } - - // Prevents a pregnancy from going into labor if another pregnancy already is - [HarmonyPatch(typeof(Hediff_Pregnant), nameof(Hediff_Pregnant.GestationProgress), MethodType.Getter)] - public class Hediff_Pregnant_GestationProgess_Patch - { - public static void PostFix(Hediff_Pregnant __instance, ref float __result) - { - if (__result < 1f) return; - Pawn pawn = __instance.pawn; - if (pawn.health.hediffSet.hediffs.Any(hediff => hediff.def == HediffDefOf.PregnancyLabor || hediff.def == HediffDefOf.PregnancyLaborPushing)) - __result = 0.999f; - } - } -} \ No newline at end of file diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/RJW_Menstruation.csproj b/1.4/source/RJW_Menstruation/RJW_Menstruation/RJW_Menstruation.csproj index 22ab246..35f0a1c 100644 --- a/1.4/source/RJW_Menstruation/RJW_Menstruation/RJW_Menstruation.csproj +++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/RJW_Menstruation.csproj @@ -70,7 +70,6 @@ - diff --git a/changelogs.txt b/changelogs.txt index 0b61fda..5734acd 100644 --- a/changelogs.txt +++ b/changelogs.txt @@ -1,8 +1,5 @@ Version 1.0.8.1 - Added the option for humans to start Biotech pregnancies if the DLC is enabled. If set, non-humans will use the old multiple pregnancy instead. - - Babies conceived through the multiple pregnancy option will now properly inherit xenotypes. - - Properly track biotech pregnancy through labor. - - A biotech pregnancy will pause before going into labor if another womb already is in labor. Version 1.0.8.0 - Support for RimWorld 1.4. All future changes to Menstruation will only be for Rimworld 1.4.