diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_PeriodicOvulator.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_PeriodicOvulator.cs index 2daf3a5..11509de 100644 --- a/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_PeriodicOvulator.cs +++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_PeriodicOvulator.cs @@ -75,14 +75,14 @@ namespace RJW_Menstruation base.PregnantAction(); if (curStage != Stage.Pregnant) // Go halfway into the cycle - hoursToNextCycle = (int)(averageCycleIntervalHours * (1 + Rand.Range(-cycleVariability, cycleVariability))) / 2; + hoursToNextCycle = (int)(averageCycleIntervalHours * Rand.Range(-cycleVariability, cycleVariability)) / 2; } protected override void AnestrusAction() { if (hoursToNextCycle <= 0) { - hoursToNextCycle = (int)(averageCycleIntervalHours * (1 + Rand.Range(-cycleVariability, cycleVariability))); + hoursToNextCycle = (int)(averageCycleIntervalHours * Rand.Range(-cycleVariability, cycleVariability)); if (IsBreedingSeason()) GoNextStage(Stage.Follicular); return; } diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_PregeneratedBabies.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_PregeneratedBabies.cs index 8831540..ef0e8ad 100644 --- a/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_PregeneratedBabies.cs +++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_PregeneratedBabies.cs @@ -37,7 +37,6 @@ namespace RJW_Menstruation // But it is possible that there is no new hediff (be it a birth, miscarrage, or dev edit) base.CompPostPostRemoved(); - // Send the babies from this comp to the new one switch (parent) { case Hediff_Pregnant hediff_Pregnant: @@ -71,7 +70,7 @@ namespace RJW_Menstruation public void AddNewBaby(Pawn mother, Pawn father) { if (babies == null) babies = new List(); - PawnKindDef babyPawnKind = PregnancyCommon.BabyPawnKindDecider(mother, father, true); + PawnKindDef babyPawnKind = PregnancyCommon.BabyPawnKindDecider(mother, father); PawnGenerationRequest request = new PawnGenerationRequest ( kind: babyPawnKind, @@ -116,7 +115,7 @@ namespace RJW_Menstruation baby.story.furDef = firstbaby.story.furDef; } - if (baby.genes != null) + if (baby.genes != null && ModsConfig.BiotechActive) { baby.genes.SetXenotypeDirect(firstbaby.genes.Xenotype); baby.genes.xenotypeName = firstbaby.genes.xenotypeName; 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 0d44d2e..67b4820 100644 --- a/1.4/source/RJW_Menstruation/RJW_Menstruation/Hediff_MultiplePregnancy.cs +++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/Hediff_MultiplePregnancy.cs @@ -313,7 +313,7 @@ namespace RJW_Menstruation allowAddictions: false, relationWithExtraPawnChanceFactor: 0, fixedLastName: lastname, - kind: PregnancyCommon.BabyPawnKindDecider(mother, father, false), + kind: PregnancyCommon.BabyPawnKindDecider(mother, father), //fixedIdeo: mother.Ideo, forbidAnyTitle: true, forceNoBackstory: true, diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/PregnancyCommon.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/PregnancyCommon.cs index 2429736..b642947 100644 --- a/1.4/source/RJW_Menstruation/RJW_Menstruation/PregnancyCommon.cs +++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/PregnancyCommon.cs @@ -1,6 +1,5 @@ using RimWorld; using rjw; -using System; using System.Collections.Generic; using System.Linq; using System.Reflection; @@ -62,8 +61,7 @@ namespace RJW_Menstruation /// /// - /// - public static PawnKindDef BabyPawnKindDecider(Pawn mother, Pawn father, bool noAnimalsFromHumanlikes) + public static PawnKindDef BabyPawnKindDecider(Pawn mother, Pawn father) { PawnKindDef motherKindDef = Utility.GetRacesPawnKind(mother); PawnKindDef fatherKindDef = Utility.GetRacesPawnKind(father); @@ -179,12 +177,6 @@ namespace RJW_Menstruation if (!spawn_kind_def_list.NullOrEmpty()) spawn_kind_def = spawn_kind_def_list.RandomElement(); } - // If both parents are humanlike, Biotech will attempt to assign genes to the child - // Normally not a problem, but with the hybrid system, two humanlikes might produce an animal - // So override it and force the child to be human - if (noAnimalsFromHumanlikes && mother.genes != null && father?.genes != null && !spawn_kind_def.race.race.Humanlike) - spawn_kind_def = Rand.Chance(RJWPregnancySettings.humanlike_DNA_from_mother) ? motherKindDef : fatherKindDef; - return spawn_kind_def; }