mirror of
https://github.com/vegapnk/RJW-Genes.git
synced 2024-08-15 00:23:31 +00:00
Added a set of genes to modify genitalia sizes
This commit is contained in:
parent
b8fa98ea8d
commit
22cc5ba9d1
17 changed files with 558 additions and 0 deletions
Binary file not shown.
155
Common/Defs/Genes/GeneDefs_GenitaliaSizes.xml
Normal file
155
Common/Defs/Genes/GeneDefs_GenitaliaSizes.xml
Normal file
|
@ -0,0 +1,155 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<Defs>
|
||||||
|
<GeneDef Name="GeneGenitaliaSizeBase" Abstract="True">
|
||||||
|
<displayCategory>rjw_genes_genitalia</displayCategory>
|
||||||
|
<!--These Genes need to be loaded quite last, otherwise e.g. genitalia types will re-roll and overrule genitalia size-->
|
||||||
|
</GeneDef>
|
||||||
|
|
||||||
|
<!-- Penis -->
|
||||||
|
<GeneDef ParentName="GeneGenitaliaSizeBase">
|
||||||
|
<defName>rjw_genes_big_male_genitalia</defName>
|
||||||
|
<label>Big Male Genitalia</label>
|
||||||
|
<description>Penises of this Xenotype are bigger.</description>
|
||||||
|
<iconPath>Genes/Icons/Placeholder</iconPath>
|
||||||
|
<geneClass>RJW_Genes.Gene_BigMaleGenitalia</geneClass>
|
||||||
|
<displayOrderInCategory>51</displayOrderInCategory>
|
||||||
|
<exclusionTags>
|
||||||
|
<li>PenisSize</li>
|
||||||
|
</exclusionTags>
|
||||||
|
</GeneDef>
|
||||||
|
|
||||||
|
<GeneDef ParentName="GeneGenitaliaSizeBase">
|
||||||
|
<defName>rjw_genes_normal_male_genitalia</defName>
|
||||||
|
<label>Normal Male Genitalia</label>
|
||||||
|
<description>Penises of this Xenotype can be any size.</description>
|
||||||
|
<iconPath>Genes/Icons/Placeholder</iconPath>
|
||||||
|
<geneClass>RJW_Genes.Gene_NormalMaleGenitalia</geneClass>
|
||||||
|
<displayOrderInCategory>52</displayOrderInCategory>
|
||||||
|
<exclusionTags>
|
||||||
|
<li>PenisSize</li>
|
||||||
|
</exclusionTags>
|
||||||
|
</GeneDef>
|
||||||
|
|
||||||
|
<GeneDef ParentName="GeneGenitaliaSizeBase">
|
||||||
|
<defName>rjw_genes_small_male_genitalia</defName>
|
||||||
|
<label>Small Male Genitalia</label>
|
||||||
|
<description>Penises of this Xenotype are smaller.</description>
|
||||||
|
<iconPath>Genes/Icons/Placeholder</iconPath>
|
||||||
|
<geneClass>RJW_Genes.Gene_SmallMaleGenitalia</geneClass>
|
||||||
|
<displayOrderInCategory>53</displayOrderInCategory>
|
||||||
|
<exclusionTags>
|
||||||
|
<li>PenisSize</li>
|
||||||
|
</exclusionTags>
|
||||||
|
</GeneDef>
|
||||||
|
|
||||||
|
<!-- Vagina -->
|
||||||
|
<GeneDef ParentName="GeneGenitaliaSizeBase">
|
||||||
|
<defName>rjw_genes_loose_female_genitalia</defName>
|
||||||
|
<label>Loose Female Genitalia</label>
|
||||||
|
<description>Vaginas of this Xenotype are quite spacy.</description>
|
||||||
|
<iconPath>Genes/Icons/Placeholder</iconPath>
|
||||||
|
<geneClass>RJW_Genes.Gene_LooseFemaleGenitalia</geneClass>
|
||||||
|
<displayOrderInCategory>54</displayOrderInCategory>
|
||||||
|
<exclusionTags>
|
||||||
|
<li>VaginaSize</li>
|
||||||
|
</exclusionTags>
|
||||||
|
</GeneDef>
|
||||||
|
|
||||||
|
<GeneDef ParentName="GeneGenitaliaSizeBase">
|
||||||
|
<defName>rjw_genes_normal_female_genitalia</defName>
|
||||||
|
<label>Normal Female Genitalia</label>
|
||||||
|
<description>Vaginas of this Xenotype can be any size.</description>
|
||||||
|
<iconPath>Genes/Icons/Placeholder</iconPath>
|
||||||
|
<geneClass>RJW_Genes.Gene_NormalFemaleGenitalia</geneClass>
|
||||||
|
<displayOrderInCategory>55</displayOrderInCategory>
|
||||||
|
<exclusionTags>
|
||||||
|
<li>VaginaSize</li>
|
||||||
|
</exclusionTags>
|
||||||
|
</GeneDef>
|
||||||
|
|
||||||
|
<GeneDef ParentName="GeneGenitaliaSizeBase">
|
||||||
|
<defName>rjw_genes_tight_female_genitalia</defName>
|
||||||
|
<label>Tight Female Genitalia</label>
|
||||||
|
<description>Vaginas of this Xenotype are pretty tight.</description>
|
||||||
|
<iconPath>Genes/Icons/Placeholder</iconPath>
|
||||||
|
<geneClass>RJW_Genes.Gene_TightFemaleGenitalia</geneClass>
|
||||||
|
<displayOrderInCategory>56</displayOrderInCategory>
|
||||||
|
<exclusionTags>
|
||||||
|
<li>VaginaSize</li>
|
||||||
|
</exclusionTags>
|
||||||
|
</GeneDef>
|
||||||
|
|
||||||
|
<!-- Breasts -->
|
||||||
|
<GeneDef ParentName="GeneGenitaliaSizeBase">
|
||||||
|
<defName>rjw_genes_big_breasts</defName>
|
||||||
|
<label>Big Breasts</label>
|
||||||
|
<description>Females of this Xenotype have big honkers.</description>
|
||||||
|
<iconPath>Genes/Icons/Placeholder</iconPath>
|
||||||
|
<geneClass>RJW_Genes.Gene_BigBreasts</geneClass>
|
||||||
|
<displayOrderInCategory>57</displayOrderInCategory>
|
||||||
|
<exclusionTags>
|
||||||
|
<li>BreastSize</li>
|
||||||
|
</exclusionTags>
|
||||||
|
</GeneDef>
|
||||||
|
|
||||||
|
<GeneDef ParentName="GeneGenitaliaSizeBase">
|
||||||
|
<defName>rjw_genes_normal_breasts</defName>
|
||||||
|
<label>Normal Breasts</label>
|
||||||
|
<description>Females of this Xenotype have breasts of any size.</description>
|
||||||
|
<iconPath>Genes/Icons/Placeholder</iconPath>
|
||||||
|
<geneClass>RJW_Genes.Gene_NormalBreasts</geneClass>
|
||||||
|
<displayOrderInCategory>58</displayOrderInCategory>
|
||||||
|
<exclusionTags>
|
||||||
|
<li>BreastSize</li>
|
||||||
|
</exclusionTags>
|
||||||
|
</GeneDef>
|
||||||
|
|
||||||
|
<GeneDef ParentName="GeneGenitaliaSizeBase">
|
||||||
|
<defName>rjw_genes_small_breasts</defName>
|
||||||
|
<label>Small Breasts</label>
|
||||||
|
<description>Females of this Xenotype have smaller breasts.</description>
|
||||||
|
<iconPath>Genes/Icons/Placeholder</iconPath>
|
||||||
|
<geneClass>RJW_Genes.Gene_SmallBreasts</geneClass>
|
||||||
|
<displayOrderInCategory>59</displayOrderInCategory>
|
||||||
|
<exclusionTags>
|
||||||
|
<li>BreastSize</li>
|
||||||
|
</exclusionTags>
|
||||||
|
</GeneDef>
|
||||||
|
|
||||||
|
<!-- Anus -->
|
||||||
|
<GeneDef ParentName="GeneGenitaliaSizeBase">
|
||||||
|
<defName>rjw_genes_loose_anus</defName>
|
||||||
|
<label>Loose Anus</label>
|
||||||
|
<description>The Anus of this Xenotype is roomy.</description>
|
||||||
|
<iconPath>Genes/Icons/Placeholder</iconPath>
|
||||||
|
<geneClass>RJW_Genes.Gene_LooseAnus</geneClass>
|
||||||
|
<displayOrderInCategory>60</displayOrderInCategory>
|
||||||
|
<exclusionTags>
|
||||||
|
<li>AnusSize</li>
|
||||||
|
</exclusionTags>
|
||||||
|
</GeneDef>
|
||||||
|
|
||||||
|
<GeneDef ParentName="GeneGenitaliaSizeBase">
|
||||||
|
<defName>rjw_genes_normal_anus</defName>
|
||||||
|
<label>Normal Anus Size</label>
|
||||||
|
<description>Anus of this Xenotype can be any size.</description>
|
||||||
|
<iconPath>Genes/Icons/Placeholder</iconPath>
|
||||||
|
<geneClass>RJW_Genes.Gene_NormalAnus</geneClass>
|
||||||
|
<displayOrderInCategory>61</displayOrderInCategory>
|
||||||
|
<exclusionTags>
|
||||||
|
<li>AnusSize</li>
|
||||||
|
</exclusionTags>
|
||||||
|
</GeneDef>
|
||||||
|
|
||||||
|
<GeneDef ParentName="GeneGenitaliaSizeBase">
|
||||||
|
<defName>rjw_genes_tight_anus</defName>
|
||||||
|
<label>Tight Anus</label>
|
||||||
|
<description>The anus of this Xenotype is small.</description>
|
||||||
|
<iconPath>Genes/Icons/Placeholder</iconPath>
|
||||||
|
<geneClass>RJW_Genes.Gene_TightAnus</geneClass>
|
||||||
|
<displayOrderInCategory>62</displayOrderInCategory>
|
||||||
|
<exclusionTags>
|
||||||
|
<li>AnusSize</li>
|
||||||
|
</exclusionTags>
|
||||||
|
</GeneDef>
|
||||||
|
</Defs>
|
|
@ -29,5 +29,19 @@ namespace RJW_Genes
|
||||||
[MayRequireBiotech] public static readonly GeneDef rjw_genes_no_anus;
|
[MayRequireBiotech] public static readonly GeneDef rjw_genes_no_anus;
|
||||||
[MayRequireBiotech] public static readonly GeneDef rjw_genes_futa;
|
[MayRequireBiotech] public static readonly GeneDef rjw_genes_futa;
|
||||||
|
|
||||||
|
// Genitalia Sizes
|
||||||
|
[MayRequireBiotech] public static readonly GeneDef rjw_genes_big_male_genitalia;
|
||||||
|
[MayRequireBiotech] public static readonly GeneDef rjw_genes_normal_male_genitalia;
|
||||||
|
[MayRequireBiotech] public static readonly GeneDef rjw_genes_small_male_genitalia;
|
||||||
|
[MayRequireBiotech] public static readonly GeneDef rjw_genes_loose_female_genitalia;
|
||||||
|
[MayRequireBiotech] public static readonly GeneDef rjw_genes_normal_female_genitalia;
|
||||||
|
[MayRequireBiotech] public static readonly GeneDef rjw_genes_tight_female_genitalia;
|
||||||
|
[MayRequireBiotech] public static readonly GeneDef rjw_genes_big_breasts;
|
||||||
|
[MayRequireBiotech] public static readonly GeneDef rjw_genes_normal_breasts;
|
||||||
|
[MayRequireBiotech] public static readonly GeneDef rjw_genes_small_breasts;
|
||||||
|
[MayRequireBiotech] public static readonly GeneDef rjw_genes_loose_anus;
|
||||||
|
[MayRequireBiotech] public static readonly GeneDef rjw_genes_normal_anus;
|
||||||
|
[MayRequireBiotech] public static readonly GeneDef rjw_genes_tight_anus;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
29
Source/Genes/GenitaliaSize/Gene_BigBreasts.cs
Normal file
29
Source/Genes/GenitaliaSize/Gene_BigBreasts.cs
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
using Verse;
|
||||||
|
using rjw;
|
||||||
|
using System;
|
||||||
|
|
||||||
|
namespace RJW_Genes
|
||||||
|
{
|
||||||
|
public class Gene_BigBreasts : Gene
|
||||||
|
{
|
||||||
|
|
||||||
|
public override void PostMake()
|
||||||
|
{
|
||||||
|
base.PostMake();
|
||||||
|
if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
|
||||||
|
Sexualizer.sexualize_pawn(pawn);
|
||||||
|
|
||||||
|
if (pawn.gender == Gender.Female)
|
||||||
|
SizeAdjuster.AdjustAllBreastSizes(pawn,0.5f,1.0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void PostAdd()
|
||||||
|
{
|
||||||
|
base.PostAdd();
|
||||||
|
if (pawn.gender == Gender.Female)
|
||||||
|
SizeAdjuster.AdjustAllBreastSizes(pawn, 0.5f, 1.0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
26
Source/Genes/GenitaliaSize/Gene_BigMaleGenitalia.cs
Normal file
26
Source/Genes/GenitaliaSize/Gene_BigMaleGenitalia.cs
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
using Verse;
|
||||||
|
using rjw;
|
||||||
|
using System;
|
||||||
|
|
||||||
|
namespace RJW_Genes
|
||||||
|
{
|
||||||
|
public class Gene_SmallMaleGenitalia : Gene
|
||||||
|
{
|
||||||
|
|
||||||
|
public override void PostMake()
|
||||||
|
{
|
||||||
|
base.PostMake();
|
||||||
|
if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
|
||||||
|
Sexualizer.sexualize_pawn(pawn);
|
||||||
|
|
||||||
|
SizeAdjuster.AdjustAllPenisSizes(pawn,0.5f,1.0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void PostAdd()
|
||||||
|
{
|
||||||
|
base.PostAdd();
|
||||||
|
SizeAdjuster.AdjustAllPenisSizes(pawn, 0.5f, 1.0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
29
Source/Genes/GenitaliaSize/Gene_LooseAnus.cs
Normal file
29
Source/Genes/GenitaliaSize/Gene_LooseAnus.cs
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
using Verse;
|
||||||
|
using rjw;
|
||||||
|
using System;
|
||||||
|
|
||||||
|
namespace RJW_Genes
|
||||||
|
{
|
||||||
|
public class Gene_LooseAnus : Gene
|
||||||
|
{
|
||||||
|
|
||||||
|
public override void PostMake()
|
||||||
|
{
|
||||||
|
base.PostMake();
|
||||||
|
if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
|
||||||
|
Sexualizer.sexualize_pawn(pawn);
|
||||||
|
|
||||||
|
SizeAdjuster.AdjustAllAnusSizes(pawn, 0.5f, 1.0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void PostAdd()
|
||||||
|
{
|
||||||
|
base.PostAdd();
|
||||||
|
SizeAdjuster.AdjustAllAnusSizes(pawn, 0.5f, 1.0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
28
Source/Genes/GenitaliaSize/Gene_LooseFemaleGenitalia.cs
Normal file
28
Source/Genes/GenitaliaSize/Gene_LooseFemaleGenitalia.cs
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
using Verse;
|
||||||
|
using rjw;
|
||||||
|
using System;
|
||||||
|
|
||||||
|
namespace RJW_Genes
|
||||||
|
{
|
||||||
|
public class Gene_LooseFemaleGenitalia : Gene
|
||||||
|
{
|
||||||
|
|
||||||
|
public override void PostMake()
|
||||||
|
{
|
||||||
|
base.PostMake();
|
||||||
|
if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
|
||||||
|
Sexualizer.sexualize_pawn(pawn);
|
||||||
|
|
||||||
|
SizeAdjuster.AdjustAllVaginaSizes(pawn, 0.5f, 1.0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void PostAdd()
|
||||||
|
{
|
||||||
|
base.PostAdd();
|
||||||
|
SizeAdjuster.AdjustAllVaginaSizes(pawn, 0.5f, 1.0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
20
Source/Genes/GenitaliaSize/Gene_NormalAnus.cs
Normal file
20
Source/Genes/GenitaliaSize/Gene_NormalAnus.cs
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
using Verse;
|
||||||
|
using rjw;
|
||||||
|
|
||||||
|
namespace RJW_Genes
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Dummy Gene that does not alter the genitalia size. Normal RJW Logic and rolled sizes are kept.
|
||||||
|
/// </summary>
|
||||||
|
public class Gene_NormalAnus : Gene
|
||||||
|
{
|
||||||
|
|
||||||
|
public override void PostMake()
|
||||||
|
{
|
||||||
|
base.PostMake();
|
||||||
|
if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
|
||||||
|
Sexualizer.sexualize_pawn(pawn);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
20
Source/Genes/GenitaliaSize/Gene_NormalBreasts.cs
Normal file
20
Source/Genes/GenitaliaSize/Gene_NormalBreasts.cs
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
using Verse;
|
||||||
|
using rjw;
|
||||||
|
|
||||||
|
namespace RJW_Genes
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Dummy Gene that does not alter the genitalia size. Normal RJW Logic and rolled sizes are kept.
|
||||||
|
/// </summary>
|
||||||
|
public class Gene_NormalBreasts : Gene
|
||||||
|
{
|
||||||
|
|
||||||
|
public override void PostMake()
|
||||||
|
{
|
||||||
|
base.PostMake();
|
||||||
|
if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
|
||||||
|
Sexualizer.sexualize_pawn(pawn);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
21
Source/Genes/GenitaliaSize/Gene_NormalFemaleGenitalia.cs
Normal file
21
Source/Genes/GenitaliaSize/Gene_NormalFemaleGenitalia.cs
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
using Verse;
|
||||||
|
using rjw;
|
||||||
|
|
||||||
|
namespace RJW_Genes
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Dummy Gene that does not alter the genitalia size. Normal RJW Logic and rolled sizes are kept.
|
||||||
|
/// </summary>
|
||||||
|
public class Gene_NormalFemaleGenitalia : Gene
|
||||||
|
{
|
||||||
|
|
||||||
|
public override void PostMake()
|
||||||
|
{
|
||||||
|
base.PostMake();
|
||||||
|
if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
|
||||||
|
Sexualizer.sexualize_pawn(pawn);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
20
Source/Genes/GenitaliaSize/Gene_NormalMaleGenitalia.cs
Normal file
20
Source/Genes/GenitaliaSize/Gene_NormalMaleGenitalia.cs
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
using Verse;
|
||||||
|
using rjw;
|
||||||
|
|
||||||
|
namespace RJW_Genes
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Dummy Gene that does not alter the genitalia size. Normal RJW Logic and rolled sizes are kept.
|
||||||
|
/// </summary>
|
||||||
|
public class Gene_NormalMaleGenitalia : Gene
|
||||||
|
{
|
||||||
|
|
||||||
|
public override void PostMake()
|
||||||
|
{
|
||||||
|
base.PostMake();
|
||||||
|
if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
|
||||||
|
Sexualizer.sexualize_pawn(pawn);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
25
Source/Genes/GenitaliaSize/Gene_SmallBreasts.cs
Normal file
25
Source/Genes/GenitaliaSize/Gene_SmallBreasts.cs
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
using Verse;
|
||||||
|
using rjw;
|
||||||
|
using System;
|
||||||
|
|
||||||
|
namespace RJW_Genes
|
||||||
|
{
|
||||||
|
public class Gene_SmallBreasts : Gene
|
||||||
|
{
|
||||||
|
|
||||||
|
public override void PostMake()
|
||||||
|
{
|
||||||
|
base.PostMake();
|
||||||
|
if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
|
||||||
|
Sexualizer.sexualize_pawn(pawn);
|
||||||
|
|
||||||
|
SizeAdjuster.AdjustAllBreastSizes(pawn, 0.0f, 0.5f);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void PostAdd()
|
||||||
|
{
|
||||||
|
base.PostAdd();
|
||||||
|
SizeAdjuster.AdjustAllBreastSizes(pawn, 0.0f, 0.5f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
26
Source/Genes/GenitaliaSize/Gene_SmallMaleGenitalia.cs
Normal file
26
Source/Genes/GenitaliaSize/Gene_SmallMaleGenitalia.cs
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
using Verse;
|
||||||
|
using rjw;
|
||||||
|
using System;
|
||||||
|
|
||||||
|
namespace RJW_Genes
|
||||||
|
{
|
||||||
|
public class Gene_BigMaleGenitalia : Gene
|
||||||
|
{
|
||||||
|
|
||||||
|
public override void PostMake()
|
||||||
|
{
|
||||||
|
base.PostMake();
|
||||||
|
if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
|
||||||
|
Sexualizer.sexualize_pawn(pawn);
|
||||||
|
|
||||||
|
SizeAdjuster.AdjustAllPenisSizes(pawn,0.0f,0.5f);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void PostAdd()
|
||||||
|
{
|
||||||
|
base.PostAdd();
|
||||||
|
SizeAdjuster.AdjustAllPenisSizes(pawn, 0.0f, 0.5f);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
27
Source/Genes/GenitaliaSize/Gene_TightAnus.cs
Normal file
27
Source/Genes/GenitaliaSize/Gene_TightAnus.cs
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
using Verse;
|
||||||
|
using rjw;
|
||||||
|
using System;
|
||||||
|
|
||||||
|
namespace RJW_Genes
|
||||||
|
{
|
||||||
|
public class Gene_TightAnus : Gene
|
||||||
|
{
|
||||||
|
|
||||||
|
public override void PostMake()
|
||||||
|
{
|
||||||
|
base.PostMake();
|
||||||
|
if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
|
||||||
|
Sexualizer.sexualize_pawn(pawn);
|
||||||
|
|
||||||
|
SizeAdjuster.AdjustAllAnusSizes(pawn, 0.5f, 1.0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void PostAdd()
|
||||||
|
{
|
||||||
|
base.PostAdd();
|
||||||
|
SizeAdjuster.AdjustAllAnusSizes(pawn, 0.5f, 1.0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
26
Source/Genes/GenitaliaSize/Gene_TightFemaleGenitalia.cs
Normal file
26
Source/Genes/GenitaliaSize/Gene_TightFemaleGenitalia.cs
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
using Verse;
|
||||||
|
using rjw;
|
||||||
|
using System;
|
||||||
|
|
||||||
|
namespace RJW_Genes
|
||||||
|
{
|
||||||
|
public class Gene_TightFemaleGenitalia : Gene
|
||||||
|
{
|
||||||
|
|
||||||
|
public override void PostMake()
|
||||||
|
{
|
||||||
|
base.PostMake();
|
||||||
|
if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
|
||||||
|
Sexualizer.sexualize_pawn(pawn);
|
||||||
|
|
||||||
|
SizeAdjuster.AdjustAllVaginaSizes(pawn, 0.5f, 1.0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void PostAdd()
|
||||||
|
{
|
||||||
|
base.PostAdd();
|
||||||
|
SizeAdjuster.AdjustAllVaginaSizes(pawn, 0.5f, 1.0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
79
Source/Genes/GenitaliaSize/SizeAdjuster.cs
Normal file
79
Source/Genes/GenitaliaSize/SizeAdjuster.cs
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
using Verse;
|
||||||
|
using rjw;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace RJW_Genes
|
||||||
|
{
|
||||||
|
public class SizeAdjuster
|
||||||
|
{
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Re-Rolls the sizes for all vaginas of the pawn to be between lower and upper limit.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="pawn">The pawn whos vaginas are rerolled</param>
|
||||||
|
/// <param name="lowerLimit">The minimum severity for the vagina</param>
|
||||||
|
/// <param name="upperLimit">The maximum severity for the vagina</param>
|
||||||
|
public static void AdjustAllVaginaSizes(Pawn pawn, float lowerLimit = 0.0f, float upperLimit = 1.0f){
|
||||||
|
List<Hediff> AllVaginas = Genital_Helper.get_AllPartsHediffList(pawn).FindAll(x => Genital_Helper.is_vagina(x));
|
||||||
|
ResizeAll(AllVaginas, lowerLimit, upperLimit);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Re-Rolls the sizes for all anus of the pawn to be between lower and upper limit.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="pawn">The pawn whos anus are rerolled</param>
|
||||||
|
/// <param name="lowerLimit">The minimum severity for the vagina</param>
|
||||||
|
/// <param name="upperLimit">The maximum severity for the vagina</param>
|
||||||
|
public static void AdjustAllAnusSizes(Pawn pawn, float lowerLimit = 0.0f, float upperLimit = 1.0f)
|
||||||
|
{
|
||||||
|
List<Hediff> AllAnus = Genital_Helper.get_AllPartsHediffList(pawn).FindAll(x => GenitaliaChanger.IsAnus(x));
|
||||||
|
ResizeAll(AllAnus, lowerLimit, upperLimit);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Re-Rolls the sizes for all penis of the pawn to be between lower and upper limit.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="pawn">The pawn whos penisses are rerolled</param>
|
||||||
|
/// <param name="lowerLimit">The minimum severity for the vagina</param>
|
||||||
|
/// <param name="upperLimit">The maximum severity for the vagina</param>
|
||||||
|
public static void AdjustAllPenisSizes(Pawn pawn, float lowerLimit = 0.0f, float upperLimit = 1.0f)
|
||||||
|
{
|
||||||
|
List<Hediff> AllPenisses = Genital_Helper.get_AllPartsHediffList(pawn).FindAll(x => Genital_Helper.is_penis(x));
|
||||||
|
ResizeAll(AllPenisses, lowerLimit, upperLimit);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Re-Rolls the sizes for all breasts of the pawn to be between lower and upper limit.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="pawn">The pawn whos breasts are rerolled</param>
|
||||||
|
/// <param name="lowerLimit">The minimum severity for the vagina</param>
|
||||||
|
/// <param name="upperLimit">The maximum severity for the vagina</param>
|
||||||
|
public static void AdjustAllBreastSizes(Pawn pawn, float lowerLimit = 0.0f, float upperLimit = 1.0f)
|
||||||
|
{
|
||||||
|
|
||||||
|
List<Hediff> AllBreasts = Genital_Helper.get_AllPartsHediffList(pawn).FindAll(x => x.def.defName.Contains("breasts"));
|
||||||
|
ResizeAll(AllBreasts,lowerLimit,upperLimit);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private static void ResizeAll(IEnumerable<Hediff> toResize,float lowerLimit, float upperLimit)
|
||||||
|
{
|
||||||
|
foreach (var hediff in toResize)
|
||||||
|
{
|
||||||
|
Random rnd = new Random();
|
||||||
|
float size = (float)(rnd.NextDouble() * (upperLimit - lowerLimit) + lowerLimit);
|
||||||
|
hediff.Severity = size;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -58,6 +58,19 @@
|
||||||
<Compile Include="Genes\ExtraGenitalia\Gene_NoVagina.cs" />
|
<Compile Include="Genes\ExtraGenitalia\Gene_NoVagina.cs" />
|
||||||
<Compile Include="Genes\ExtraGenitalia\Gene_NoPenis.cs" />
|
<Compile Include="Genes\ExtraGenitalia\Gene_NoPenis.cs" />
|
||||||
<Compile Include="Genes\ExtraGenitalia\Gene_ExtraPenis.cs" />
|
<Compile Include="Genes\ExtraGenitalia\Gene_ExtraPenis.cs" />
|
||||||
|
<Compile Include="Genes\GenitaliaSize\Gene_BigBreasts.cs" />
|
||||||
|
<Compile Include="Genes\GenitaliaSize\Gene_LooseAnus.cs" />
|
||||||
|
<Compile Include="Genes\GenitaliaSize\Gene_LooseFemaleGenitalia.cs" />
|
||||||
|
<Compile Include="Genes\GenitaliaSize\Gene_NormalFemaleGenitalia.cs" />
|
||||||
|
<Compile Include="Genes\GenitaliaSize\Gene_NormalAnus.cs" />
|
||||||
|
<Compile Include="Genes\GenitaliaSize\Gene_NormalBreasts.cs" />
|
||||||
|
<Compile Include="Genes\GenitaliaSize\Gene_NormalMaleGenitalia.cs" />
|
||||||
|
<Compile Include="Genes\GenitaliaSize\Gene_TightAnus.cs" />
|
||||||
|
<Compile Include="Genes\GenitaliaSize\Gene_SmallBreasts.cs" />
|
||||||
|
<Compile Include="Genes\GenitaliaSize\Gene_TightFemaleGenitalia.cs" />
|
||||||
|
<Compile Include="Genes\GenitaliaSize\Gene_SmallMaleGenitalia.cs" />
|
||||||
|
<Compile Include="Genes\GenitaliaSize\Gene_BigMaleGenitalia.cs" />
|
||||||
|
<Compile Include="Genes\GenitaliaSize\SizeAdjuster.cs" />
|
||||||
<Compile Include="Genes\Genitalia\Gene_SlimeGenitalia.cs" />
|
<Compile Include="Genes\Genitalia\Gene_SlimeGenitalia.cs" />
|
||||||
<Compile Include="Genes\Genitalia\Gene_DragonGenitalia.cs" />
|
<Compile Include="Genes\Genitalia\Gene_DragonGenitalia.cs" />
|
||||||
<Compile Include="Genes\Genitalia\Gene_FelineGenitalia.cs" />
|
<Compile Include="Genes\Genitalia\Gene_FelineGenitalia.cs" />
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue