Added infectious version of masturbation block, moved masturbation block to reproduction from breeding

This commit is contained in:
Vegapnk 2024-07-11 12:59:08 +02:00
parent 32774ca3be
commit ef73a80728
5 changed files with 41 additions and 3 deletions

View file

@ -127,6 +127,7 @@ Because this is the genes mod, and I find things here quite robust.
- Gene: Twinkification: Pawns turn their (male) sexual partners into breedable twinks.
- Gene: Feminization: Pawns turn their (male) sexual partners into women.
- Gene: Blocked Masturbation: Pawns cannot masturbate.
- Disease Gene: Infectious Blocked Masturbation
- Pawns will have negative thoughts about pawns with more genetic diseases than themselves.
- Faction Penalties for spreading diseases, stealing genes and aging pawns with age transfer
- Patch for [Imphilee Xeno](https://steamcommunity.com/sharedfiles/filedetails/?id=2990674516) by @Bunuffin

View file

@ -85,6 +85,23 @@
</modExtensions>
</GeneDef>
<GeneDef ParentName="BreedingBase">
<defName>rjw_genes_infectious_blocked_masturbation</defName>
<label>infectious masturbation block</label>
<description>Carriers of this gene are unable to masturbate - they need a partner or equipment.</description>
<iconPath>Genes/Icons/Hypersexual</iconPath>
<displayOrderInCategory>60</displayOrderInCategory>
<biostatCpx>1</biostatCpx>
<biostatMet>2</biostatMet>
<modExtensions>
<li Class="RJW_Genes.GeneticDiseaseExtension">
<infectionChance>0.05</infectionChance>
</li>
</modExtensions>
</GeneDef>
<GeneDef ParentName="RJWGeneDisease">
<defName>rjw_genes_infectious_low_fertility</defName>
<label>infectious low fertility vulnerability</label>

View file

@ -205,4 +205,22 @@
</modExtensions>
</GeneDef>
<GeneDef>
<defName>rjw_genes_blocked_masturbation</defName>
<label>no masturbation</label>
<displayCategory>Reproduction</displayCategory>
<description>Carriers of this gene are unable to masturbate - they need a partner or equipment.</description>
<iconPath>Genes/Icons/Hypersexual</iconPath>
<displayOrderInCategory>60</displayOrderInCategory>
<biostatCpx>0</biostatCpx>
<biostatMet>1</biostatMet>
<modExtensions>
<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core"
Class="VanillaGenesExpanded.GeneExtension">
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
</li>
</modExtensions>
</GeneDef>
</Defs>

View file

@ -140,6 +140,7 @@ namespace RJW_Genes
public static readonly GeneDef rjw_genes_infectious_homosexuality;
public static readonly GeneDef rjw_genes_infectious_hypersexuality;
public static readonly GeneDef rjw_genes_stretcher;
public static readonly GeneDef rjw_genes_infectious_blocked_masturbation;
//Other Defs
public static readonly XenotypeDef rjw_genes_succubus;

View file

@ -14,10 +14,11 @@ namespace RJW_Genes
{
public void PostFix(Pawn pawn, ref bool __result)
{
// Simply check if the pawn has genes, and if so, if they have the active gene for blocked masturbation
if (pawn.genes != null)
if (pawn != null && !pawn.IsAnimal() && pawn.genes != null)
{
__result = __result && !pawn.genes.HasActiveGene(GeneDefOf.rjw_genes_blocked_masturbation);
__result = __result
&& !pawn.genes.HasActiveGene(GeneDefOf.rjw_genes_blocked_masturbation)
&& !pawn.genes.HasActiveGene(GeneDefOf.rjw_genes_infectious_blocked_masturbation);
}
}