From 5d35102338233abe670e7a4429e88754cd054db1 Mon Sep 17 00:00:00 2001 From: Vegapnk Date: Sun, 4 Jun 2023 15:46:30 +0200 Subject: [PATCH] Hardened Fertilin per Ingestion, should help with #39 --- Source/Genes/GeneUtility.cs | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/Source/Genes/GeneUtility.cs b/Source/Genes/GeneUtility.cs index fa23fe7..c46e6e1 100644 --- a/Source/Genes/GeneUtility.cs +++ b/Source/Genes/GeneUtility.cs @@ -17,23 +17,29 @@ namespace RJW_Genes public static void OffsetLifeForce(IGeneResourceDrain drain, float offset) { - float old_value = drain.Resource.Value; - drain.Resource.Value += offset; - PostOffSetLifeForce(drain, old_value); + if (drain.Resource != null && drain.Resource.Active) { + float old_value = drain.Resource.Value; + drain.Resource.Value += offset; + PostOffSetLifeForce(drain, old_value); + } } public static void PostOffSetLifeForce(IGeneResourceDrain drain, float old_value) { - if (old_value > 0.2f && drain.Resource.Value <= 0.2f) - { - //TODO: Mood debuff - } - else if (old_value > 0f && drain.Resource.Value <= 0f) + + if (drain.Resource != null && drain.Resource.Active) { - Pawn pawn = drain.Pawn; - if (!drain.Pawn.health.hediffSet.HasHediff(HediffDefOf.rjw_genes_fertilin_craving)) + if (old_value > 0.2f && drain.Resource.Value <= 0.2f) { - drain.Pawn.health.AddHediff(HediffDefOf.rjw_genes_fertilin_craving); + //TODO: Mood debuff + } + else if (old_value > 0f && drain.Resource.Value <= 0f) + { + Pawn pawn = drain.Pawn; + if (!drain.Pawn.health.hediffSet.HasHediff(HediffDefOf.rjw_genes_fertilin_craving)) + { + drain.Pawn.health.AddHediff(HediffDefOf.rjw_genes_fertilin_craving); + } } } }