From 4b5d04af3c657a2597672a768d34431a00a88c1e Mon Sep 17 00:00:00 2001 From: Vegapnk Date: Mon, 21 Nov 2022 17:20:50 +0100 Subject: [PATCH] Added genes on cum-amount and two traits, fixed an issue with PostAdd in some GenitaliaTypeGenes --- Common/Assemblies/Rjw-Genes.dll | Bin 28160 -> 29184 bytes Common/Defs/Genes/GeneCategories.xml | 6 ++ Common/Defs/Genes/GeneDefs_Cum.xml | 79 ++++++++++++++++++ Common/Defs/Genes/GeneDefs_Reproduction.xml | 18 ++++ Source/GeneDefOf.cs | 76 +++++++++-------- Source/Genes/Breeding/Gene_MechBreeder.cs | 2 +- Source/Genes/Cum/CumUtility.cs | 37 ++++++++ Source/Genes/Cum/Gene_MuchCum.cs | 39 +++++++++ Source/Genes/Cum/Gene_NoCum.cs | 34 ++++++++ Source/Genes/Cum/Gene_VeryMuchCum.cs | 39 +++++++++ .../Genes/Genitalia/Gene_CanineGenitalia.cs | 2 +- .../Genes/Genitalia/Gene_DemonicGenitalia.cs | 2 +- .../Genes/Genitalia/Gene_DragonGenitalia.cs | 2 +- .../Genes/Genitalia/Gene_EquineGenitalia.cs | 2 +- .../Genes/Genitalia/Gene_FelineGenitalia.cs | 2 +- .../Genitalia/Gene_OvipositorGenitalia.cs | 2 +- Source/Genes/Genitalia/Gene_SlimeGenitalia.cs | 2 +- Source/Rjw-Genes.csproj | 4 + 18 files changed, 307 insertions(+), 41 deletions(-) create mode 100644 Common/Defs/Genes/GeneDefs_Cum.xml create mode 100644 Common/Defs/Genes/GeneDefs_Reproduction.xml create mode 100644 Source/Genes/Cum/CumUtility.cs create mode 100644 Source/Genes/Cum/Gene_MuchCum.cs create mode 100644 Source/Genes/Cum/Gene_NoCum.cs create mode 100644 Source/Genes/Cum/Gene_VeryMuchCum.cs diff --git a/Common/Assemblies/Rjw-Genes.dll b/Common/Assemblies/Rjw-Genes.dll index c6063711a67107d04eeeb95a4b67a386a332816d..b1fd66c2e7ef9ba02366906e0deb03b1693a06c3 100644 GIT binary patch literal 29184 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%0A;JFR~YY=}lU_KE47~jIU$|+5mzJot#z7 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 + + rjw_genes_cum + + 14 + + \ No newline at end of file diff --git a/Common/Defs/Genes/GeneDefs_Cum.xml b/Common/Defs/Genes/GeneDefs_Cum.xml new file mode 100644 index 0000000..0100d33 --- /dev/null +++ b/Common/Defs/Genes/GeneDefs_Cum.xml @@ -0,0 +1,79 @@ + + + + rjw_genes_cum + +
  • CumAmount
  • +
    +
    + + + + rjw_genes_no_cum + + Males of these species have no fluid. + Genes/Icons/Placeholder + RJW_Genes.Gene_NoCum + 533 + 0 + 1 + + + + rjw_genes_much_cum + + Males of this species produce a lot of fluid. + Genes/Icons/Placeholder + RJW_Genes.Gene_MuchCum + 534 + 1 + -1 + + + + rjw_genes_very_much_cum + + Males of this species produce a whole lot of fluid. They are like fountains basically. + Genes/Icons/Placeholder + RJW_Genes.Gene_VeryMuchCum + 535 + 1 + -2 + + + + rjw_genes_likes_cumflation + + rjw_genes_cum + This Xenotype loves being cumflated. + Genes/Icons/Placeholder + 536 + +
  • + LikesCumflation +
  • +
    + +
  • NotCumflatable
  • +
    +
    + + + + +
    \ No newline at end of file diff --git a/Common/Defs/Genes/GeneDefs_Reproduction.xml b/Common/Defs/Genes/GeneDefs_Reproduction.xml new file mode 100644 index 0000000..ad27692 --- /dev/null +++ b/Common/Defs/Genes/GeneDefs_Reproduction.xml @@ -0,0 +1,18 @@ + + + + + rjw_genes_hypersexual + + Reproduction + Xenotypes with this Gene are Hypersexual (Nymphs). + Genes/Icons/Placeholder + 1 + +
  • + Nymphomaniac +
  • +
    +
    + +
    \ No newline at end of file diff --git a/Source/GeneDefOf.cs b/Source/GeneDefOf.cs index e9a7362..2c0b42e 100644 --- a/Source/GeneDefOf.cs +++ b/Source/GeneDefOf.cs @@ -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; } } diff --git a/Source/Genes/Breeding/Gene_MechBreeder.cs b/Source/Genes/Breeding/Gene_MechBreeder.cs index a0a8855..1ceaf67 100644 --- a/Source/Genes/Breeding/Gene_MechBreeder.cs +++ b/Source/Genes/Breeding/Gene_MechBreeder.cs @@ -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! } diff --git a/Source/Genes/Cum/CumUtility.cs b/Source/Genes/Cum/CumUtility.cs new file mode 100644 index 0000000..ea049cc --- /dev/null +++ b/Source/Genes/Cum/CumUtility.cs @@ -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(); + if (CompHediff != null) + { + CompHediff.FluidAmmount *= multiplier; + } + } + } + + } + + } + } +} diff --git a/Source/Genes/Cum/Gene_MuchCum.cs b/Source/Genes/Cum/Gene_MuchCum.cs new file mode 100644 index 0000000..e88ac3f --- /dev/null +++ b/Source/Genes/Cum/Gene_MuchCum.cs @@ -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; + } + } + + } +} diff --git a/Source/Genes/Cum/Gene_NoCum.cs b/Source/Genes/Cum/Gene_NoCum.cs new file mode 100644 index 0000000..0c3e888 --- /dev/null +++ b/Source/Genes/Cum/Gene_NoCum.cs @@ -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(); + + } + + } +} diff --git a/Source/Genes/Cum/Gene_VeryMuchCum.cs b/Source/Genes/Cum/Gene_VeryMuchCum.cs new file mode 100644 index 0000000..21faecc --- /dev/null +++ b/Source/Genes/Cum/Gene_VeryMuchCum.cs @@ -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; + } + } + + } +} diff --git a/Source/Genes/Genitalia/Gene_CanineGenitalia.cs b/Source/Genes/Genitalia/Gene_CanineGenitalia.cs index 0f31a11..01f0015 100644 --- a/Source/Genes/Genitalia/Gene_CanineGenitalia.cs +++ b/Source/Genes/Genitalia/Gene_CanineGenitalia.cs @@ -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); } } diff --git a/Source/Genes/Genitalia/Gene_DemonicGenitalia.cs b/Source/Genes/Genitalia/Gene_DemonicGenitalia.cs index e4c5805..cc0cc29 100644 --- a/Source/Genes/Genitalia/Gene_DemonicGenitalia.cs +++ b/Source/Genes/Genitalia/Gene_DemonicGenitalia.cs @@ -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); } } diff --git a/Source/Genes/Genitalia/Gene_DragonGenitalia.cs b/Source/Genes/Genitalia/Gene_DragonGenitalia.cs index abd930d..34d24f6 100644 --- a/Source/Genes/Genitalia/Gene_DragonGenitalia.cs +++ b/Source/Genes/Genitalia/Gene_DragonGenitalia.cs @@ -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); } } diff --git a/Source/Genes/Genitalia/Gene_EquineGenitalia.cs b/Source/Genes/Genitalia/Gene_EquineGenitalia.cs index 4ec956b..74b8b2f 100644 --- a/Source/Genes/Genitalia/Gene_EquineGenitalia.cs +++ b/Source/Genes/Genitalia/Gene_EquineGenitalia.cs @@ -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); } } diff --git a/Source/Genes/Genitalia/Gene_FelineGenitalia.cs b/Source/Genes/Genitalia/Gene_FelineGenitalia.cs index 6c1b987..2fe4882 100644 --- a/Source/Genes/Genitalia/Gene_FelineGenitalia.cs +++ b/Source/Genes/Genitalia/Gene_FelineGenitalia.cs @@ -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); } } diff --git a/Source/Genes/Genitalia/Gene_OvipositorGenitalia.cs b/Source/Genes/Genitalia/Gene_OvipositorGenitalia.cs index 2e91c2c..b7a1141 100644 --- a/Source/Genes/Genitalia/Gene_OvipositorGenitalia.cs +++ b/Source/Genes/Genitalia/Gene_OvipositorGenitalia.cs @@ -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); } } diff --git a/Source/Genes/Genitalia/Gene_SlimeGenitalia.cs b/Source/Genes/Genitalia/Gene_SlimeGenitalia.cs index efbdfcb..5671f1f 100644 --- a/Source/Genes/Genitalia/Gene_SlimeGenitalia.cs +++ b/Source/Genes/Genitalia/Gene_SlimeGenitalia.cs @@ -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); } } diff --git a/Source/Rjw-Genes.csproj b/Source/Rjw-Genes.csproj index 708cdb8..befe2c2 100644 --- a/Source/Rjw-Genes.csproj +++ b/Source/Rjw-Genes.csproj @@ -56,6 +56,10 @@ + + + +