mirror of
https://github.com/vegapnk/RJW-Genes.git
synced 2024-08-15 00:23:31 +00:00
genitalia addition
This commit is contained in:
parent
8159bb792b
commit
7dbef0d19a
18 changed files with 559 additions and 39 deletions
|
@ -25,6 +25,14 @@ namespace RJW_Genes
|
|||
public static readonly GeneDef rjw_genes_crocodilian_genitalia;
|
||||
public static readonly GeneDef rjw_genes_racoon_genitalia;
|
||||
public static readonly GeneDef rjw_genes_reptilian_genitalia;
|
||||
public static readonly GeneDef rjw_genes_Ghost_genitalia;
|
||||
public static readonly GeneDef rjw_genes_Golem_genitalia;
|
||||
public static readonly GeneDef rjw_genes_Marine_genitalia;
|
||||
public static readonly GeneDef rjw_genes_Necro_genitalia;
|
||||
public static readonly GeneDef rjw_genes_Needle_genitalia;
|
||||
public static readonly GeneDef rjw_genes_Orc_genitalia;
|
||||
public static readonly GeneDef rjw_genes_Pig_genitalia;
|
||||
public static readonly GeneDef rjw_genes_Tentacle_genitalia;
|
||||
|
||||
// Extra Genitalia
|
||||
public static readonly GeneDef rjw_genes_extra_penis;
|
||||
|
@ -37,7 +45,8 @@ namespace RJW_Genes
|
|||
public static readonly GeneDef rjw_genes_no_anus;
|
||||
public static readonly GeneDef rjw_genes_futa;
|
||||
public static readonly GeneDef rjw_genes_femboy;
|
||||
public static readonly GeneDef rjw_genes_featureless_chest;
|
||||
public static readonly GeneDef rjw_genes_featureless_chest;
|
||||
public static readonly GeneDef rjw_genes_udder;
|
||||
|
||||
// Genitalia Sizes
|
||||
public static readonly GeneDef rjw_genes_big_male_genitalia;
|
||||
|
|
|
@ -14,21 +14,12 @@ namespace RJW_Genes
|
|||
public class Gene_UdderBreasts : RJW_Gene
|
||||
{
|
||||
|
||||
Hediff removed_breasts;
|
||||
Hediff added_udders;
|
||||
|
||||
public override void PostMake()
|
||||
{
|
||||
base.PostMake();
|
||||
|
||||
// Breasts are replaced for female,trap and futa pawns
|
||||
if ( removed_breasts == null
|
||||
&& (GenderUtility.IsFemale(pawn) || GenderHelper.GetSex(pawn) == GenderHelper.Sex.futa || GenderHelper.GetSex(pawn) == GenderHelper.Sex.trap)
|
||||
)
|
||||
{
|
||||
RemoveButStoreBreasts();
|
||||
AddUdders();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -36,42 +27,31 @@ namespace RJW_Genes
|
|||
{
|
||||
base.PostAdd();
|
||||
|
||||
// Breasts are replaced for female,trap and futa pawns
|
||||
if (removed_breasts == null
|
||||
&& (GenderUtility.IsFemale(pawn) || GenderHelper.GetSex(pawn) == GenderHelper.Sex.futa || GenderHelper.GetSex(pawn) == GenderHelper.Sex.trap)
|
||||
)
|
||||
{
|
||||
RemoveButStoreBreasts();
|
||||
AddUdders();
|
||||
}
|
||||
AddUdders();
|
||||
|
||||
}
|
||||
|
||||
public override void PostRemove()
|
||||
{
|
||||
base.PostRemove();
|
||||
// Re-Add the old breasts
|
||||
if (removed_breasts != null)
|
||||
pawn.health.AddHediff(removed_breasts);
|
||||
|
||||
if (added_udders != null)
|
||||
pawn.health.RemoveHediff(added_udders);
|
||||
}
|
||||
|
||||
internal void RemoveButStoreBreasts()
|
||||
{
|
||||
var partBPR = Genital_Helper.get_breastsBPR(pawn);
|
||||
Hediff breastsToRemove = Genital_Helper.get_AllPartsHediffList(pawn).FindLast(x => GenitaliaUtility.IsBreasts(x));
|
||||
|
||||
if (breastsToRemove != null)
|
||||
{
|
||||
removed_breasts = breastsToRemove;
|
||||
pawn.health.RemoveHediff(breastsToRemove);
|
||||
}
|
||||
}
|
||||
|
||||
internal void AddUdders()
|
||||
{
|
||||
CompHediffBodyPart CompHediff = null;
|
||||
BodyPartRecord bpr = Genital_Helper.get_uddersBPR(pawn);
|
||||
added_udders = pawn.health.AddHediff(Genital_Helper.udder_breasts, bpr);
|
||||
added_udders.TryGetComp<rjw.CompHediffBodyPart>();
|
||||
if (CompHediff != null)
|
||||
{
|
||||
CompHediff.initComp(pawn);
|
||||
CompHediff.updatesize();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
19
Source/Genes/Genital_Helper_2.cs
Normal file
19
Source/Genes/Genital_Helper_2.cs
Normal file
|
@ -0,0 +1,19 @@
|
|||
using rjw;
|
||||
using Verse;
|
||||
|
||||
namespace RJW_Genes
|
||||
{
|
||||
public class Genital_Helper_2
|
||||
{
|
||||
public static HediffDef NeedlePenis = HediffDef.Named("NeedlePenis");
|
||||
public static HediffDef PigPenis = HediffDef.Named("PigPenis");
|
||||
public static HediffDef MarinePenis = HediffDef.Named("MarinePenis");
|
||||
public static HediffDef TentaclePenis = HediffDef.Named("TentaclePenis");
|
||||
public static HediffDef GolemPenis = HediffDef.Named("GolemPenis");
|
||||
public static HediffDef OrcPenis = HediffDef.Named("OrcPenis");
|
||||
public static HediffDef GhostPenis = HediffDef.Named("GhostPenis");
|
||||
public static HediffDef NecroPenis = HediffDef.Named("NecroPenis");
|
||||
public static HediffDef GhostVagina = HediffDef.Named("GhostVagina");
|
||||
|
||||
}
|
||||
}
|
22
Source/Genes/Genitalia/Gene_GhostGenitalia.cs
Normal file
22
Source/Genes/Genitalia/Gene_GhostGenitalia.cs
Normal file
|
@ -0,0 +1,22 @@
|
|||
using Verse;
|
||||
using rjw;
|
||||
|
||||
namespace RJW_Genes
|
||||
{
|
||||
public class Gene_GhostGenitalia : RJW_Gene
|
||||
{
|
||||
public override void PostMake()
|
||||
{
|
||||
base.PostMake();
|
||||
|
||||
GenitaliaChanger.ChangeGenitalia(this.pawn, Genital_Helper_2.GhostPenis, Genital_Helper_2.GhostVagina, Genital_Helper.average_anus);
|
||||
}
|
||||
|
||||
public override void PostAdd()
|
||||
{
|
||||
base.PostAdd();
|
||||
GenitaliaChanger.ChangeGenitalia(this.pawn, Genital_Helper_2.GhostPenis, Genital_Helper_2.GhostVagina, Genital_Helper.average_anus);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
22
Source/Genes/Genitalia/Gene_GolemGenitalia.cs
Normal file
22
Source/Genes/Genitalia/Gene_GolemGenitalia.cs
Normal file
|
@ -0,0 +1,22 @@
|
|||
using Verse;
|
||||
using rjw;
|
||||
|
||||
namespace RJW_Genes
|
||||
{
|
||||
public class Gene_GolemGenitalia : RJW_Gene
|
||||
{
|
||||
public override void PostMake()
|
||||
{
|
||||
base.PostMake();
|
||||
|
||||
GenitaliaChanger.ChangeGenitalia(this.pawn, Genital_Helper_2.GolemPenis, Genital_Helper.average_vagina, Genital_Helper.average_anus);
|
||||
}
|
||||
|
||||
public override void PostAdd()
|
||||
{
|
||||
base.PostAdd();
|
||||
GenitaliaChanger.ChangeGenitalia(this.pawn, Genital_Helper_2.GolemPenis, Genital_Helper.average_vagina, Genital_Helper.average_anus);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
22
Source/Genes/Genitalia/Gene_MarineGenitalia.cs
Normal file
22
Source/Genes/Genitalia/Gene_MarineGenitalia.cs
Normal file
|
@ -0,0 +1,22 @@
|
|||
using Verse;
|
||||
using rjw;
|
||||
|
||||
namespace RJW_Genes
|
||||
{
|
||||
public class Gene_MarineGenitalia : RJW_Gene
|
||||
{
|
||||
public override void PostMake()
|
||||
{
|
||||
base.PostMake();
|
||||
|
||||
GenitaliaChanger.ChangeGenitalia(this.pawn, Genital_Helper_2.MarinePenis, Genital_Helper.average_vagina, Genital_Helper.average_anus);
|
||||
}
|
||||
|
||||
public override void PostAdd()
|
||||
{
|
||||
base.PostAdd();
|
||||
GenitaliaChanger.ChangeGenitalia(this.pawn, Genital_Helper_2.MarinePenis, Genital_Helper.average_vagina, Genital_Helper.average_anus);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
22
Source/Genes/Genitalia/Gene_NecroGenitalia.cs
Normal file
22
Source/Genes/Genitalia/Gene_NecroGenitalia.cs
Normal file
|
@ -0,0 +1,22 @@
|
|||
using Verse;
|
||||
using rjw;
|
||||
|
||||
namespace RJW_Genes
|
||||
{
|
||||
public class Gene_NecroGenitalia : RJW_Gene
|
||||
{
|
||||
public override void PostMake()
|
||||
{
|
||||
base.PostMake();
|
||||
|
||||
GenitaliaChanger.ChangeGenitalia(this.pawn, Genital_Helper_2.NecroPenis, Genital_Helper.average_vagina, Genital_Helper.average_anus);
|
||||
}
|
||||
|
||||
public override void PostAdd()
|
||||
{
|
||||
base.PostAdd();
|
||||
GenitaliaChanger.ChangeGenitalia(this.pawn, Genital_Helper_2.NecroPenis, Genital_Helper.average_vagina, Genital_Helper.average_anus);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
22
Source/Genes/Genitalia/Gene_NeedleGenitalia.cs
Normal file
22
Source/Genes/Genitalia/Gene_NeedleGenitalia.cs
Normal file
|
@ -0,0 +1,22 @@
|
|||
using Verse;
|
||||
using rjw;
|
||||
|
||||
namespace RJW_Genes
|
||||
{
|
||||
public class Gene_NeedleGenitalia : RJW_Gene
|
||||
{
|
||||
public override void PostMake()
|
||||
{
|
||||
base.PostMake();
|
||||
|
||||
GenitaliaChanger.ChangeGenitalia(this.pawn, Genital_Helper_2.NeedlePenis, Genital_Helper.average_vagina, Genital_Helper.average_anus);
|
||||
}
|
||||
|
||||
public override void PostAdd()
|
||||
{
|
||||
base.PostAdd();
|
||||
GenitaliaChanger.ChangeGenitalia(this.pawn, Genital_Helper_2.NeedlePenis, Genital_Helper.average_vagina, Genital_Helper.average_anus);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
22
Source/Genes/Genitalia/Gene_OrcGenitalia.cs
Normal file
22
Source/Genes/Genitalia/Gene_OrcGenitalia.cs
Normal file
|
@ -0,0 +1,22 @@
|
|||
using Verse;
|
||||
using rjw;
|
||||
|
||||
namespace RJW_Genes
|
||||
{
|
||||
public class Gene_OrcGenitalia : RJW_Gene
|
||||
{
|
||||
public override void PostMake()
|
||||
{
|
||||
base.PostMake();
|
||||
|
||||
GenitaliaChanger.ChangeGenitalia(this.pawn, Genital_Helper_2.OrcPenis, Genital_Helper.average_vagina, Genital_Helper.average_anus);
|
||||
}
|
||||
|
||||
public override void PostAdd()
|
||||
{
|
||||
base.PostAdd();
|
||||
GenitaliaChanger.ChangeGenitalia(this.pawn, Genital_Helper_2.OrcPenis, Genital_Helper.average_vagina, Genital_Helper.average_anus);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
22
Source/Genes/Genitalia/Gene_PigGenitalia.cs
Normal file
22
Source/Genes/Genitalia/Gene_PigGenitalia.cs
Normal file
|
@ -0,0 +1,22 @@
|
|||
using Verse;
|
||||
using rjw;
|
||||
|
||||
namespace RJW_Genes
|
||||
{
|
||||
public class Gene_PigGenitalia : RJW_Gene
|
||||
{
|
||||
public override void PostMake()
|
||||
{
|
||||
base.PostMake();
|
||||
|
||||
GenitaliaChanger.ChangeGenitalia(this.pawn, Genital_Helper_2.PigPenis, Genital_Helper.average_vagina, Genital_Helper.average_anus);
|
||||
}
|
||||
|
||||
public override void PostAdd()
|
||||
{
|
||||
base.PostAdd();
|
||||
GenitaliaChanger.ChangeGenitalia(this.pawn, Genital_Helper_2.PigPenis, Genital_Helper.average_vagina, Genital_Helper.average_anus);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
22
Source/Genes/Genitalia/Gene_TentacleGenitalia.cs
Normal file
22
Source/Genes/Genitalia/Gene_TentacleGenitalia.cs
Normal file
|
@ -0,0 +1,22 @@
|
|||
using Verse;
|
||||
using rjw;
|
||||
|
||||
namespace RJW_Genes
|
||||
{
|
||||
public class Gene_TentacleGenitalia : RJW_Gene
|
||||
{
|
||||
public override void PostMake()
|
||||
{
|
||||
base.PostMake();
|
||||
|
||||
GenitaliaChanger.ChangeGenitalia(this.pawn, Genital_Helper_2.TentaclePenis, Genital_Helper.average_vagina, Genital_Helper.average_anus);
|
||||
}
|
||||
|
||||
public override void PostAdd()
|
||||
{
|
||||
base.PostAdd();
|
||||
GenitaliaChanger.ChangeGenitalia(this.pawn, Genital_Helper_2.TentaclePenis, Genital_Helper.average_vagina, Genital_Helper.average_anus);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -84,10 +84,18 @@
|
|||
<Compile Include="Genes\GenitaliaSize\Gene_BigMaleGenitalia.cs" />
|
||||
<Compile Include="Genes\GenitaliaSize\Patch_ResizingOnAdulthood.cs" />
|
||||
<Compile Include="Genes\GenitaliaSize\SizeAdjuster.cs" />
|
||||
<Compile Include="Genes\Genitalia\Gene_TentacleGenitalia.cs" />
|
||||
<Compile Include="Genes\Genitalia\Gene_GolemGenitalia.cs" />
|
||||
<Compile Include="Genes\Genitalia\Gene_OrcGenitalia.cs" />
|
||||
<Compile Include="Genes\Genitalia\Gene_GhostGenitalia.cs" />
|
||||
<Compile Include="Genes\Genitalia\Gene_NecroGenitalia.cs" />
|
||||
<Compile Include="Genes\Genitalia\Gene_MarineGenitalia.cs" />
|
||||
<Compile Include="Genes\Genitalia\Gene_PigGenitalia.cs" />
|
||||
<Compile Include="Genes\Genitalia\Gene_ReptilianGenitalia.cs" />
|
||||
<Compile Include="Genes\Genitalia\Gene_CrocodilianGenitalia.cs" />
|
||||
<Compile Include="Genes\Genitalia\Gene_RacoonGenitalia.cs" />
|
||||
<Compile Include="Genes\Genitalia\Gene_DemonicGenitaliaTentacle.cs" />
|
||||
<Compile Include="Genes\Genitalia\Gene_NeedleGenitalia.cs" />
|
||||
<Compile Include="Genes\Genitalia\Gene_SlimeGenitalia.cs" />
|
||||
<Compile Include="Genes\Genitalia\Gene_DragonGenitalia.cs" />
|
||||
<Compile Include="Genes\Genitalia\Gene_FelineGenitalia.cs" />
|
||||
|
@ -97,6 +105,7 @@
|
|||
<Compile Include="Genes\Genitalia\Gene_EquineGenitalia.cs" />
|
||||
<Compile Include="Genes\Genitalia\GenitaliaChanger.cs" />
|
||||
<Compile Include="Genes\Patch_AddNotifyOnGeneration.cs" />
|
||||
<Compile Include="Genes\Genital_Helper_2.cs" />
|
||||
<Compile Include="Genes\Special\Defs\AgeTransferExtension.cs" />
|
||||
<Compile Include="Genes\Special\Defs\HormonalSalivaExtension.cs" />
|
||||
<Compile Include="Genes\Special\Patches\Patch_AgeDrain.cs" />
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue