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:** **Changes:**
- New Gene for Evergrowing Cocks. Be careful. - 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) - 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`) - 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> <geneClass>RJW_Genes.Gene_GenderFluid</geneClass>
<displayOrderInCategory>2</displayOrderInCategory> <displayOrderInCategory>2</displayOrderInCategory>
<!-- Design Decision: GenderFluids like GenderFluids (slightly) more. -->
<missingGeneRomanceChanceFactor>0.9</missingGeneRomanceChanceFactor>
<exclusionTags> <exclusionTags>
<li>AG_Gender</li> <li>AG_Gender</li>
<li>Gender</li> <li>Gender</li>
@ -69,8 +72,8 @@
</li> </li>
<li Class="RJW_Genes.GenderFluidExtension"> <li Class="RJW_Genes.GenderFluidExtension">
<!-- 120k = 2 days --> <!-- 120k = 2 days -->
<changeInterval>1000</changeInterval> <changeInterval>120000</changeInterval>
<changeChance>1</changeChance> <changeChance>0.25</changeChance>
</li> </li>
</modExtensions> </modExtensions>
</GeneDef> </GeneDef>

View File

@ -136,6 +136,8 @@ namespace RJW_Genes
} }
SwitchBreasts(); SwitchBreasts();
RemoveLicentiaVaginaHediffs();
} }
@ -192,6 +194,33 @@ namespace RJW_Genes
return additional_breasts; 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> /// <summary>
/// There are some actions that block sex change, /// There are some actions that block sex change,
/// being drafted or having sex. /// being drafted or having sex.