From 65b69eaf76d12197b72328a12a6afc04e2579d9a Mon Sep 17 00:00:00 2001 From: lutepickle <28810-lutepickle@users.noreply.gitgud.io> Date: Sat, 11 Mar 2023 09:13:01 -0800 Subject: [PATCH] Shift breeder from implant chance to ovulation chane. It would overflow back down anyways. --- .../HediffComps/HediffComp_Menstruation.cs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) 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 a9cf99a..d86fbcd 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 @@ -306,7 +306,8 @@ namespace RJW_Menstruation if (factor <= 0.0f) return 0.0f; // Too young or too old } else part.TransformValue(StatRequest.For(Pawn), ref ovulationChance); - } + } + if (Pawn.Has(Quirk.Breeder)) ovulationChance *= 10.0f; try { calculatingOvulationChance = true; @@ -322,18 +323,19 @@ namespace RJW_Menstruation get { float factor = 1.0f; - if (Pawn.Has(Quirk.Breeder)) factor = 10.0f; - if (ModsConfig.BiotechActive && xxx.is_human(Pawn)) { // Implant factor will be based solely on pawn age, plus any rollover from ovulation chance StatPart_FertilityByGenderAge fertilityStatPart = StatDefOf.Fertility.GetStatPart(); fertilityStatPart?.TransformValue(StatRequest.For(Pawn), ref factor); float ovulationOverflow = OvulationChance; - if (ovulationOverflow > 1.0f) factor *= ovulationOverflow; + if (ovulationOverflow > 1.0f) factor *= ovulationOverflow; return Props.baseImplantationChanceFactor * FertilityModifier * factor; } - else return Pawn.health.capacities.GetLevel(xxx.reproduction) * Props.baseImplantationChanceFactor * FertilityModifier * factor; + else + { + return Pawn.health.capacities.GetLevel(xxx.reproduction) * Props.baseImplantationChanceFactor * FertilityModifier * factor; + } } }