mirror of
https://github.com/vegapnk/RJW-Genes.git
synced 2024-08-15 00:23:31 +00:00
Added genes on cum-amount and two traits, fixed an issue with PostAdd in some GenitaliaTypeGenes
This commit is contained in:
parent
1db82e96d5
commit
4b5d04af3c
18 changed files with 307 additions and 41 deletions
Binary file not shown.
|
@ -24,4 +24,10 @@
|
|||
<displayPriorityInXenotype>15</displayPriorityInXenotype>
|
||||
</GeneCategoryDef>
|
||||
|
||||
<GeneCategoryDef>
|
||||
<defName>rjw_genes_cum</defName>
|
||||
<label>Cum</label>
|
||||
<displayPriorityInXenotype>14</displayPriorityInXenotype>
|
||||
</GeneCategoryDef>
|
||||
|
||||
</Defs>
|
79
Common/Defs/Genes/GeneDefs_Cum.xml
Normal file
79
Common/Defs/Genes/GeneDefs_Cum.xml
Normal file
|
@ -0,0 +1,79 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Defs>
|
||||
<GeneDef Name="GeneCumAmount" Abstract="True">
|
||||
<displayCategory>rjw_genes_cum</displayCategory>
|
||||
<exclusionTags>
|
||||
<li>CumAmount</li>
|
||||
</exclusionTags>
|
||||
</GeneDef>
|
||||
|
||||
<!-- Penis -->
|
||||
<GeneDef ParentName="GeneCumAmount">
|
||||
<defName>rjw_genes_no_cum</defName>
|
||||
<label>No Cum</label>
|
||||
<description>Males of these species have no fluid.</description>
|
||||
<iconPath>Genes/Icons/Placeholder</iconPath>
|
||||
<geneClass>RJW_Genes.Gene_NoCum</geneClass>
|
||||
<displayOrderInCategory>533</displayOrderInCategory>
|
||||
<biostatCpx>0</biostatCpx>
|
||||
<biostatMet>1</biostatMet>
|
||||
</GeneDef>
|
||||
|
||||
<GeneDef ParentName="GeneCumAmount">
|
||||
<defName>rjw_genes_much_cum</defName>
|
||||
<label>Much Cum</label>
|
||||
<description>Males of this species produce a lot of fluid.</description>
|
||||
<iconPath>Genes/Icons/Placeholder</iconPath>
|
||||
<geneClass>RJW_Genes.Gene_MuchCum</geneClass>
|
||||
<displayOrderInCategory>534</displayOrderInCategory>
|
||||
<biostatCpx>1</biostatCpx>
|
||||
<biostatMet>-1</biostatMet>
|
||||
</GeneDef>
|
||||
|
||||
<GeneDef ParentName="GeneCumAmount">
|
||||
<defName>rjw_genes_very_much_cum</defName>
|
||||
<label>Very Much Cum</label>
|
||||
<description>Males of this species produce a whole lot of fluid. They are like fountains basically.</description>
|
||||
<iconPath>Genes/Icons/Placeholder</iconPath>
|
||||
<geneClass>RJW_Genes.Gene_VeryMuchCum</geneClass>
|
||||
<displayOrderInCategory>535</displayOrderInCategory>
|
||||
<biostatCpx>1</biostatCpx>
|
||||
<biostatMet>-2</biostatMet>
|
||||
</GeneDef>
|
||||
|
||||
<GeneDef MayRequire="LustLicentia.RJWLabs">
|
||||
<defName>rjw_genes_likes_cumflation</defName>
|
||||
<label>Likes Cumflation</label>
|
||||
<displayCategory>rjw_genes_cum</displayCategory>
|
||||
<description>This Xenotype loves being cumflated.</description>
|
||||
<iconPath>Genes/Icons/Placeholder</iconPath>
|
||||
<displayOrderInCategory>536</displayOrderInCategory>
|
||||
<forcedTraits>
|
||||
<li>
|
||||
<def>LikesCumflation</def>
|
||||
</li>
|
||||
</forcedTraits>
|
||||
<exclusionTags>
|
||||
<li>NotCumflatable</li>
|
||||
</exclusionTags>
|
||||
</GeneDef>
|
||||
|
||||
<!-- Does not Work like this (yet)-->
|
||||
<!--
|
||||
<GeneDef MayRequire="LustLicentia.RJWLabs">
|
||||
<defName>rjw_genes_cumflation_immunity</defName>
|
||||
<label>Cumflation Immunity</label>
|
||||
<displayCategory>rjw_genes_cum</displayCategory>
|
||||
<description>This Xenotype cannot get cumflated.</description>
|
||||
<iconPath>Genes/Icons/Placeholder</iconPath>
|
||||
<displayOrderInCategory>537</displayOrderInCategory>
|
||||
<hediffGiversCannotGive>
|
||||
<li>Cumflation</li>
|
||||
</hediffGiversCannotGive>
|
||||
<exclusionTags>
|
||||
<li>NotCumflatable</li>
|
||||
</exclusionTags>
|
||||
</GeneDef>
|
||||
-->
|
||||
|
||||
</Defs>
|
18
Common/Defs/Genes/GeneDefs_Reproduction.xml
Normal file
18
Common/Defs/Genes/GeneDefs_Reproduction.xml
Normal file
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Defs>
|
||||
|
||||
<GeneDef>
|
||||
<defName>rjw_genes_hypersexual</defName>
|
||||
<label>Hypersexuality</label>
|
||||
<displayCategory>Reproduction</displayCategory>
|
||||
<description>Xenotypes with this Gene are Hypersexual (Nymphs).</description>
|
||||
<iconPath>Genes/Icons/Placeholder</iconPath>
|
||||
<displayOrderInCategory>1</displayOrderInCategory>
|
||||
<forcedTraits>
|
||||
<li>
|
||||
<def>Nymphomaniac</def>
|
||||
</li>
|
||||
</forcedTraits>
|
||||
</GeneDef>
|
||||
|
||||
</Defs>
|
|
@ -6,51 +6,61 @@ namespace RJW_Genes
|
|||
[DefOf]
|
||||
public static class GeneDefOf
|
||||
{
|
||||
[MayRequireBiotech] public static readonly GeneCategoryDef rjw_genes_genitalia;
|
||||
[MayRequireBiotech] public static readonly GeneCategoryDef rjw_genes_gender;
|
||||
public static readonly GeneCategoryDef rjw_genes_genitalia;
|
||||
public static readonly GeneCategoryDef rjw_genes_gender;
|
||||
|
||||
// Base Genitalia Types
|
||||
[MayRequireBiotech] public static readonly GeneDef rjw_genes_human_genitalia;
|
||||
[MayRequireBiotech] public static readonly GeneDef rjw_genes_equine_genitalia;
|
||||
[MayRequireBiotech] public static readonly GeneDef rjw_genes_demonic_genitalia;
|
||||
[MayRequireBiotech] public static readonly GeneDef rjw_genes_dragon_genitalia;
|
||||
[MayRequireBiotech] public static readonly GeneDef rjw_genes_slime_genitalia;
|
||||
[MayRequireBiotech] public static readonly GeneDef rjw_genes_ovipositor_genitalia;
|
||||
[MayRequireBiotech] public static readonly GeneDef rjw_genes_feline_genitalia;
|
||||
[MayRequireBiotech] public static readonly GeneDef rjw_genes_canine_genitalia;
|
||||
public static readonly GeneDef rjw_genes_human_genitalia;
|
||||
public static readonly GeneDef rjw_genes_equine_genitalia;
|
||||
public static readonly GeneDef rjw_genes_demonic_genitalia;
|
||||
public static readonly GeneDef rjw_genes_dragon_genitalia;
|
||||
public static readonly GeneDef rjw_genes_slime_genitalia;
|
||||
public static readonly GeneDef rjw_genes_ovipositor_genitalia;
|
||||
public static readonly GeneDef rjw_genes_feline_genitalia;
|
||||
public static readonly GeneDef rjw_genes_canine_genitalia;
|
||||
|
||||
// Extra Genitalia
|
||||
[MayRequireBiotech] public static readonly GeneDef rjw_genes_extra_penis;
|
||||
[MayRequireBiotech] public static readonly GeneDef rjw_genes_no_penis;
|
||||
[MayRequireBiotech] public static readonly GeneDef rjw_genes_extra_vagina;
|
||||
[MayRequireBiotech] public static readonly GeneDef rjw_genes_no_vagina;
|
||||
[MayRequireBiotech] public static readonly GeneDef rjw_genes_extra_breasts;
|
||||
[MayRequireBiotech] public static readonly GeneDef rjw_genes_no_breasts;
|
||||
[MayRequireBiotech] public static readonly GeneDef rjw_genes_extra_anus;
|
||||
[MayRequireBiotech] public static readonly GeneDef rjw_genes_no_anus;
|
||||
[MayRequireBiotech] public static readonly GeneDef rjw_genes_futa;
|
||||
public static readonly GeneDef rjw_genes_extra_penis;
|
||||
public static readonly GeneDef rjw_genes_no_penis;
|
||||
public static readonly GeneDef rjw_genes_extra_vagina;
|
||||
public static readonly GeneDef rjw_genes_no_vagina;
|
||||
public static readonly GeneDef rjw_genes_extra_breasts;
|
||||
public static readonly GeneDef rjw_genes_no_breasts;
|
||||
public static readonly GeneDef rjw_genes_extra_anus;
|
||||
public static readonly GeneDef rjw_genes_no_anus;
|
||||
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;
|
||||
public static readonly GeneDef rjw_genes_big_male_genitalia;
|
||||
public static readonly GeneDef rjw_genes_normal_male_genitalia;
|
||||
public static readonly GeneDef rjw_genes_small_male_genitalia;
|
||||
public static readonly GeneDef rjw_genes_loose_female_genitalia;
|
||||
public static readonly GeneDef rjw_genes_normal_female_genitalia;
|
||||
public static readonly GeneDef rjw_genes_tight_female_genitalia;
|
||||
public static readonly GeneDef rjw_genes_big_breasts;
|
||||
public static readonly GeneDef rjw_genes_normal_breasts;
|
||||
public static readonly GeneDef rjw_genes_small_breasts;
|
||||
public static readonly GeneDef rjw_genes_loose_anus;
|
||||
public static readonly GeneDef rjw_genes_normal_anus;
|
||||
public static readonly GeneDef rjw_genes_tight_anus;
|
||||
|
||||
// Gender
|
||||
[MayRequireBiotech] public static readonly GeneDef rjw_genes_female_only;
|
||||
[MayRequireBiotech] public static readonly GeneDef rjw_genes_male_only;
|
||||
public static readonly GeneDef rjw_genes_female_only;
|
||||
public static readonly GeneDef rjw_genes_male_only;
|
||||
|
||||
// Breeding
|
||||
public static readonly GeneDef rjw_genes_mechbreeder;
|
||||
public static readonly GeneDef rjw_genes_insectincubator;
|
||||
public static readonly GeneDef rjw_genes_insectbreeder;
|
||||
|
||||
//Cum
|
||||
public static readonly GeneDef rjw_genes_no_cum;
|
||||
public static readonly GeneDef rjw_genes_much_cum;
|
||||
public static readonly GeneDef rjw_genes_very_much_cum;
|
||||
[MayRequire("LustLicentia.RJWLabs")] public static readonly GeneDef rjw_genes_likes_cumflation;
|
||||
//[MayRequire("LustLicentia.RJWLabs")] public static readonly GeneDef rjw_genes_cumflation_immunity; //Does currently not work like this
|
||||
|
||||
//Reproduction
|
||||
public static readonly GeneDef rjw_genes_hypersexual;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
namespace Genes.Breeding
|
||||
{
|
||||
internal class Gene_MechBreeder : Gene
|
||||
public class Gene_MechBreeder : Gene
|
||||
{
|
||||
// This one does not do anything, the patch is some where else checking for the pawn to have this Gene!
|
||||
}
|
||||
|
|
37
Source/Genes/Cum/CumUtility.cs
Normal file
37
Source/Genes/Cum/CumUtility.cs
Normal file
|
@ -0,0 +1,37 @@
|
|||
using Verse;
|
||||
using rjw;
|
||||
|
||||
namespace RJW_Genes
|
||||
{
|
||||
public class CumUtility
|
||||
{
|
||||
|
||||
public static void MultiplyFluidAmountBy(Pawn pawn, float multiplier)
|
||||
{
|
||||
var partBPR = Genital_Helper.get_genitalsBPR(pawn);
|
||||
var parts = Genital_Helper.get_PartsHediffList(pawn, partBPR);
|
||||
|
||||
if (!parts.NullOrEmpty())
|
||||
{
|
||||
CompHediffBodyPart CompHediff;
|
||||
|
||||
foreach (Hediff part in parts)
|
||||
{
|
||||
if (GenitaliaChanger.IsArtificial(part))
|
||||
continue;
|
||||
|
||||
if (rjw.Genital_Helper.is_penis(part))
|
||||
{
|
||||
CompHediff = part.TryGetComp<rjw.CompHediffBodyPart>();
|
||||
if (CompHediff != null)
|
||||
{
|
||||
CompHediff.FluidAmmount *= multiplier;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
39
Source/Genes/Cum/Gene_MuchCum.cs
Normal file
39
Source/Genes/Cum/Gene_MuchCum.cs
Normal file
|
@ -0,0 +1,39 @@
|
|||
namespace RJW_Genes
|
||||
{
|
||||
public class Gene_MuchCum : RJW_Gene
|
||||
{
|
||||
bool has_been_fired = false;
|
||||
|
||||
float multiplier_much_cum = 3f;
|
||||
|
||||
public override void PostMake()
|
||||
{
|
||||
base.PostMake();
|
||||
|
||||
CumUtility.MultiplyFluidAmountBy(pawn, multiplier_much_cum);
|
||||
has_been_fired = true;
|
||||
}
|
||||
|
||||
public override void PostAdd()
|
||||
{
|
||||
base.PostAdd();
|
||||
if (!has_been_fired) {
|
||||
CumUtility.MultiplyFluidAmountBy(pawn, multiplier_much_cum);
|
||||
has_been_fired = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public override void PostRemove()
|
||||
{
|
||||
base.PostAdd();
|
||||
|
||||
if (has_been_fired)
|
||||
{
|
||||
CumUtility.MultiplyFluidAmountBy(pawn, 1/multiplier_much_cum);
|
||||
has_been_fired = false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
34
Source/Genes/Cum/Gene_NoCum.cs
Normal file
34
Source/Genes/Cum/Gene_NoCum.cs
Normal file
|
@ -0,0 +1,34 @@
|
|||
namespace RJW_Genes
|
||||
{
|
||||
public class Gene_NoCum : RJW_Gene
|
||||
{
|
||||
bool has_been_fired = false;
|
||||
|
||||
|
||||
public override void PostMake()
|
||||
{
|
||||
base.PostMake();
|
||||
|
||||
CumUtility.MultiplyFluidAmountBy(pawn, 0f);
|
||||
has_been_fired = true;
|
||||
}
|
||||
|
||||
public override void PostAdd()
|
||||
{
|
||||
base.PostAdd();
|
||||
if (!has_been_fired) {
|
||||
CumUtility.MultiplyFluidAmountBy(pawn, 0f);
|
||||
has_been_fired = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public override void PostRemove()
|
||||
{
|
||||
// Cum Removal does not do at the moment :/ I would need to safe the old cum amount but I don't want to at the moment
|
||||
base.PostAdd();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
39
Source/Genes/Cum/Gene_VeryMuchCum.cs
Normal file
39
Source/Genes/Cum/Gene_VeryMuchCum.cs
Normal file
|
@ -0,0 +1,39 @@
|
|||
namespace RJW_Genes
|
||||
{
|
||||
public class Gene_VeryMuchCum : RJW_Gene
|
||||
{
|
||||
bool has_been_fired = false;
|
||||
|
||||
float multiplier_much_cum = 10f;
|
||||
|
||||
public override void PostMake()
|
||||
{
|
||||
base.PostMake();
|
||||
|
||||
CumUtility.MultiplyFluidAmountBy(pawn, multiplier_much_cum);
|
||||
has_been_fired = true;
|
||||
}
|
||||
|
||||
public override void PostAdd()
|
||||
{
|
||||
base.PostAdd();
|
||||
if (!has_been_fired) {
|
||||
CumUtility.MultiplyFluidAmountBy(pawn, multiplier_much_cum);
|
||||
has_been_fired = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public override void PostRemove()
|
||||
{
|
||||
base.PostAdd();
|
||||
|
||||
if (has_been_fired)
|
||||
{
|
||||
CumUtility.MultiplyFluidAmountBy(pawn, 1/multiplier_much_cum);
|
||||
has_been_fired = false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -14,7 +14,7 @@ namespace RJW_Genes
|
|||
|
||||
public override void PostAdd()
|
||||
{
|
||||
base.PostMake();
|
||||
base.PostAdd();
|
||||
GenitaliaChanger.ChangeGenitalia(this.pawn, Genital_Helper.canine_penis, Genital_Helper.canine_vagina, Genital_Helper.generic_anus);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@ namespace RJW_Genes
|
|||
|
||||
public override void PostAdd()
|
||||
{
|
||||
base.PostMake();
|
||||
base.PostAdd();
|
||||
GenitaliaChanger.ChangeGenitalia(this.pawn, Genital_Helper.demon_penis, Genital_Helper.demon_vagina, Genital_Helper.demon_anus);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace RJW_Genes
|
|||
|
||||
public override void PostAdd()
|
||||
{
|
||||
base.PostMake();
|
||||
base.PostAdd();
|
||||
GenitaliaChanger.ChangeGenitalia(this.pawn, Genital_Helper.dragon_penis, Genital_Helper.dragon_vagina, Genital_Helper.generic_anus);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace RJW_Genes
|
|||
|
||||
public override void PostAdd()
|
||||
{
|
||||
base.PostMake();
|
||||
base.PostAdd();
|
||||
GenitaliaChanger.ChangeGenitalia(this.pawn, Genital_Helper.equine_penis, Genital_Helper.equine_vagina, Genital_Helper.generic_anus);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace RJW_Genes
|
|||
|
||||
public override void PostAdd()
|
||||
{
|
||||
base.PostMake();
|
||||
base.PostAdd();
|
||||
GenitaliaChanger.ChangeGenitalia(this.pawn, Genital_Helper.feline_penis, Genital_Helper.feline_vagina, Genital_Helper.generic_anus);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace RJW_Genes
|
|||
|
||||
public override void PostAdd()
|
||||
{
|
||||
base.PostMake();
|
||||
base.PostAdd();
|
||||
GenitaliaChanger.ChangeGenitalia(this.pawn, Genital_Helper.ovipositorM, Genital_Helper.ovipositorF, Genital_Helper.insect_anus);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace RJW_Genes
|
|||
|
||||
public override void PostAdd()
|
||||
{
|
||||
base.PostMake();
|
||||
base.PostAdd();
|
||||
GenitaliaChanger.ChangeGenitalia(this.pawn, Genital_Helper.slime_penis, Genital_Helper.slime_vagina, Genital_Helper.slime_anus);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -56,6 +56,10 @@
|
|||
<Compile Include="Genes\Breeding\PatchMechBirth.cs" />
|
||||
<Compile Include="Genes\Breeding\PatchPawnExtensions.cs" />
|
||||
<Compile Include="Genes\Breeding\PatchPregnancyHelper.cs" />
|
||||
<Compile Include="Genes\Cum\CumUtility.cs" />
|
||||
<Compile Include="Genes\Cum\Gene_VeryMuchCum.cs" />
|
||||
<Compile Include="Genes\Cum\Gene_MuchCum.cs" />
|
||||
<Compile Include="Genes\Cum\Gene_NoCum.cs" />
|
||||
<Compile Include="Genes\ExtraGenitalia\Gene_ExtraBreasts.cs" />
|
||||
<Compile Include="Genes\ExtraGenitalia\Gene_ExtraAnus.cs" />
|
||||
<Compile Include="Genes\ExtraGenitalia\Gene_Futa.cs" />
|
||||
|
|
Loading…
Reference in a new issue