From 2598e4cc49a5756f319a43bb67d7edf7feebdbe9 Mon Sep 17 00:00:00 2001 From: Vegapnk Date: Sun, 16 Jul 2023 10:18:52 +0200 Subject: [PATCH] Hardened Genderfluid LicentiaLab Hediff Removal --- Source/Genes/Gender/Gene_GenderFluid.cs | 45 ++++++++++++++++--------- 1 file changed, 29 insertions(+), 16 deletions(-) diff --git a/Source/Genes/Gender/Gene_GenderFluid.cs b/Source/Genes/Gender/Gene_GenderFluid.cs index ebbfadb..23f0705 100644 --- a/Source/Genes/Gender/Gene_GenderFluid.cs +++ b/Source/Genes/Gender/Gene_GenderFluid.cs @@ -1,4 +1,5 @@ -using RimWorld; +using HarmonyLib; +using RimWorld; using rjw; using System; using System.Collections.Generic; @@ -200,25 +201,37 @@ namespace RJW_Genes /// private void RemoveLicentiaVaginaHediffs() { - Hediff cumflation = pawn.health.hediffSet.GetFirstHediffOfDef(LicentiaLabs.Licentia.HediffDefs.Cumflation); - if (cumflation != null) - pawn.health.RemoveHediff(cumflation); + try + { + if (ModsConfig.IsActive("LustLicentia.RJWLabs")){ + Hediff cumflation = pawn.health.hediffSet.GetFirstHediffOfDef(LicentiaLabs.Licentia.HediffDefs.Cumflation); + if (cumflation != null) + pawn.health.RemoveHediff(cumflation); - Hediff stretched = pawn.health.hediffSet.GetFirstHediffOfDef(LicentiaLabs.Licentia.HediffDefs.Stretched); - if (stretched != null && stretched.Part != Genital_Helper.get_anusBPR(pawn)) - pawn.health.RemoveHediff(stretched); + Hediff stretched = pawn.health.hediffSet.GetFirstHediffOfDef(LicentiaLabs.Licentia.HediffDefs.Stretched); + if (stretched != null && stretched.Part != Genital_Helper.get_anusBPR(pawn)) + pawn.health.RemoveHediff(stretched); - Hediff torn = pawn.health.hediffSet.GetFirstHediffOfDef(LicentiaLabs.Licentia.HediffDefs.StretchTear); - if (torn != null && torn.Part != Genital_Helper.get_anusBPR(pawn)) - pawn.health.RemoveHediff(torn); + Hediff torn = pawn.health.hediffSet.GetFirstHediffOfDef(LicentiaLabs.Licentia.HediffDefs.StretchTear); + if (torn != null && torn.Part != Genital_Helper.get_anusBPR(pawn)) + pawn.health.RemoveHediff(torn); - Hediff prolapsed = pawn.health.hediffSet.GetFirstHediffOfDef(LicentiaLabs.Licentia.HediffDefs.Prolapse); - if (prolapsed != null && prolapsed.Part != Genital_Helper.get_anusBPR(pawn)) - pawn.health.RemoveHediff(prolapsed); + Hediff prolapsed = pawn.health.hediffSet.GetFirstHediffOfDef(LicentiaLabs.Licentia.HediffDefs.Prolapse); + if (prolapsed != null && prolapsed.Part != Genital_Helper.get_anusBPR(pawn)) + pawn.health.RemoveHediff(prolapsed); - Hediff extremeProlapsed = pawn.health.hediffSet.GetFirstHediffOfDef(LicentiaLabs.Licentia.HediffDefs.ExtremeProlapse); - if (extremeProlapsed != null && extremeProlapsed.Part != Genital_Helper.get_anusBPR(pawn)) - pawn.health.RemoveHediff(extremeProlapsed); + Hediff extremeProlapsed = pawn.health.hediffSet.GetFirstHediffOfDef(LicentiaLabs.Licentia.HediffDefs.ExtremeProlapse); + if (extremeProlapsed != null && extremeProlapsed.Part != Genital_Helper.get_anusBPR(pawn)) + pawn.health.RemoveHediff(extremeProlapsed); + }; + } + catch (TypeLoadException ex) + { + // To be expected for people without Licentia Labs, do nothing. + } + } + + } ///