diff --git a/1.4/Assemblies/RJW_Menstruation.dll b/1.4/Assemblies/RJW_Menstruation.dll index eb6d422..721b3a7 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 78e3a88..20c9007 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 f57a9fd..699cf02 100644 --- a/1.4/source/RJW_Menstruation/RJW_Menstruation/Hediff_MultiplePregnancy.cs +++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/Hediff_MultiplePregnancy.cs @@ -409,6 +409,21 @@ namespace RJW_Menstruation { Pawn baby = GenerateBaby(request, mother, father, parentTraits, traitSeed); if (baby == null) break; + if (baby.genes != null && ModsConfig.BiotechActive) + { + if (GeneUtility.SameHeritableXenotype(mother, father) && mother.genes.UniqueXenotype) + { + baby.genes.xenotypeName = mother.genes.xenotypeName; + baby.genes.iconDef = mother.genes.iconDef; + } + XenotypeDef xenoTypeDef = BabyXenoTypeDecider(mother, father, out bool hybridBaby); + if (xenoTypeDef != null) baby.genes.SetXenotypeDirect(xenoTypeDef); + if (hybridBaby) + { + baby.genes.hybrid = true; + baby.genes.xenotypeName = "Hybrid".Translate(); + } + } if (division > 1) { if (baby.IsHAR()) // necessary for HAR to decide on graphical properties pre-birth @@ -417,22 +432,7 @@ namespace RJW_Menstruation { firstbaby = baby; request.FixedGender = baby.gender; - request.ForcedEndogenes = baby.genes?.Endogenes.Select(gene => gene.def).ToList(); - if (baby.genes != null && ModsConfig.BiotechActive) - { - if (GeneUtility.SameHeritableXenotype(mother, father) && mother.genes.UniqueXenotype) - { - baby.genes.xenotypeName = mother.genes.xenotypeName; - baby.genes.iconDef = mother.genes.iconDef; - } - XenotypeDef xenoTypeDef = BabyXenoTypeDecider(mother, father, out bool hybridBaby); - if (xenoTypeDef != null) baby.genes.SetXenotypeDirect(xenoTypeDef); - if(hybridBaby) - { - baby.genes.hybrid = true; - baby.genes.xenotypeName = "Hybrid".Translate(); - } - } + request.ForcedEndogenes = baby.genes?.Endogenes.Select(gene => gene.def).ToList(); } else { diff --git a/changelogs.txt b/changelogs.txt index daa6265..6dc78a5 100644 --- a/changelogs.txt +++ b/changelogs.txt @@ -1,4 +1,5 @@ Version 1.0.8.4 + - Fix Biotech xenotype inheritance for single-child pregnancies. - Newborns should now be baseliners if there are no xenotypes to inherit. - The Biotech terminate pregnancy recipe can now terminate a menstruation pregnancy, too. @@ -17,7 +18,7 @@ Version 1.0.8.2 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. + - Properly track Biotech pregnancy through labor. - Pawns that are genetically sterile will no longer produce fertile cum, nor have a menstrual cycle. - Biotech IUDs will now reduce pregnancy chances the same as an RJW IUD. Using both will not stack. - A biotech pregnancy will pause before going into labor if another womb already is in labor.