Set Genderfluid times out of dev, soreness of vagina gets removed on change.

This commit is contained in:
Vegapnk 2023-07-16 10:15:01 +02:00
parent b18e4077a4
commit 1ddb7dc9bd
3 changed files with 35 additions and 3 deletions

View file

@ -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`)

View file

@ -57,6 +57,9 @@
<geneClass>RJW_Genes.Gene_GenderFluid</geneClass>
<displayOrderInCategory>2</displayOrderInCategory>
<!-- Design Decision: GenderFluids like GenderFluids (slightly) more. -->
<missingGeneRomanceChanceFactor>0.9</missingGeneRomanceChanceFactor>
<exclusionTags>
<li>AG_Gender</li>
<li>Gender</li>
@ -69,8 +72,8 @@
</li>
<li Class="RJW_Genes.GenderFluidExtension">
<!-- 120k = 2 days -->
<changeInterval>1000</changeInterval>
<changeChance>1</changeChance>
<changeInterval>120000</changeInterval>
<changeChance>0.25</changeChance>
</li>
</modExtensions>
</GeneDef>

View file

@ -136,6 +136,8 @@ namespace RJW_Genes
}
SwitchBreasts();
RemoveLicentiaVaginaHediffs();
}
@ -192,6 +194,33 @@ namespace RJW_Genes
return additional_breasts;
}
/// <summary>
/// Checks the pawn if it has any of the vagina-related hediffs (e.g. stretched) and removes them.
/// Anal Soreness, Stretching etc. remains.
/// </summary>
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);
}
/// <summary>
/// There are some actions that block sex change,
/// being drafted or having sex.