From 1ddb7dc9bd9b9d1c2b086b42e92dcc632339672a Mon Sep 17 00:00:00 2001 From: Vegapnk Date: Sun, 16 Jul 2023 10:15:01 +0200 Subject: [PATCH] Set Genderfluid times out of dev, soreness of vagina gets removed on change. --- CHANGELOG.md | 2 +- .../GeneDefs/GeneDefs_SpecifiedGender.xml | 7 +++-- Source/Genes/Gender/Gene_GenderFluid.cs | 29 +++++++++++++++++++ 3 files changed, 35 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 91b6cd8..5dec301 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ **Changes:** - New Gene for Evergrowing Cocks. Be careful. -- New Gene for Genderfluid Pawns - daily chance to change sex. Futas just change "display" and keep genitalia, other pawns switch genitalia. +- New Gene for Genderfluid Pawns - daily chance to change sex. Futas just change "display" and keep genitalia, other pawns switch genitalia. XML configurable times & chances. - New Drawings for the Succubi Wings & Tail, thanks to @Monti (donated via Discord) - Simple Gene that removes Sex need (called asexual, `rjw_genes_no_sex_need`) diff --git a/Common/Defs/GeneDefs/GeneDefs_SpecifiedGender.xml b/Common/Defs/GeneDefs/GeneDefs_SpecifiedGender.xml index 4434560..d7541e7 100644 --- a/Common/Defs/GeneDefs/GeneDefs_SpecifiedGender.xml +++ b/Common/Defs/GeneDefs/GeneDefs_SpecifiedGender.xml @@ -57,6 +57,9 @@ RJW_Genes.Gene_GenderFluid 2 + + 0.9 +
  • AG_Gender
  • Gender
  • @@ -69,8 +72,8 @@
  • - 1000 - 1 + 120000 + 0.25
  • diff --git a/Source/Genes/Gender/Gene_GenderFluid.cs b/Source/Genes/Gender/Gene_GenderFluid.cs index 064a778..ebbfadb 100644 --- a/Source/Genes/Gender/Gene_GenderFluid.cs +++ b/Source/Genes/Gender/Gene_GenderFluid.cs @@ -136,6 +136,8 @@ namespace RJW_Genes } SwitchBreasts(); + + RemoveLicentiaVaginaHediffs(); } @@ -192,6 +194,33 @@ namespace RJW_Genes return additional_breasts; } + /// + /// Checks the pawn if it has any of the vagina-related hediffs (e.g. stretched) and removes them. + /// Anal Soreness, Stretching etc. remains. + /// + private void RemoveLicentiaVaginaHediffs() + { + 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 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 extremeProlapsed = pawn.health.hediffSet.GetFirstHediffOfDef(LicentiaLabs.Licentia.HediffDefs.ExtremeProlapse); + if (extremeProlapsed != null && extremeProlapsed.Part != Genital_Helper.get_anusBPR(pawn)) + pawn.health.RemoveHediff(extremeProlapsed); + } + /// /// There are some actions that block sex change, /// being drafted or having sex.