diff --git a/1.6/Assemblies/Rjw-Genes.dll b/1.6/Assemblies/Rjw-Genes.dll index bb86a3a..4778bf2 100644 Binary files a/1.6/Assemblies/Rjw-Genes.dll and b/1.6/Assemblies/Rjw-Genes.dll differ diff --git a/1.6/Defs/GeneDefs/GeneDefs_ExtraGenitalia.xml b/1.6/Defs/GeneDefs/GeneDefs_ExtraGenitalia.xml index 6bb3aea..eec2a22 100644 --- a/1.6/Defs/GeneDefs/GeneDefs_ExtraGenitalia.xml +++ b/1.6/Defs/GeneDefs/GeneDefs_ExtraGenitalia.xml @@ -8,9 +8,6 @@ Genes/Icons/RJW_Genes_Endogene_Background Genes/Icons/RJW_Genes_Xenogene_Background -
  • - 20 -
  • diff --git a/1.6/Defs/GeneDefs/GeneDefs_Fluids.xml b/1.6/Defs/GeneDefs/GeneDefs_Fluids.xml index bf99e12..eb68666 100644 --- a/1.6/Defs/GeneDefs/GeneDefs_Fluids.xml +++ b/1.6/Defs/GeneDefs/GeneDefs_Fluids.xml @@ -11,9 +11,6 @@ Genes/Icons/RJW_Genes_Endogene_Background Genes/Icons/RJW_Genes_Xenogene_Background -
  • - 50 -
  • @@ -75,9 +72,6 @@ Genes/Icons/RJW_Genes_Endogene_Background Genes/Icons/RJW_Genes_Xenogene_Background -
  • - 50 -
  • diff --git a/1.6/Defs/GeneDefs/GeneDefs_GenitaliaSizes.xml b/1.6/Defs/GeneDefs/GeneDefs_GenitaliaSizes.xml index a2c66f9..208b193 100644 --- a/1.6/Defs/GeneDefs/GeneDefs_GenitaliaSizes.xml +++ b/1.6/Defs/GeneDefs/GeneDefs_GenitaliaSizes.xml @@ -5,14 +5,11 @@ -
  • - Genes/Icons/RJW_Genes_Endogene_Background - Genes/Icons/RJW_Genes_Xenogene_Background -
  • -
  • - 50 -
  • -
    +
  • + Genes/Icons/RJW_Genes_Endogene_Background + Genes/Icons/RJW_Genes_Xenogene_Background +
  • + diff --git a/1.6/Defs/GeneDefs/GeneDefs_GenitaliaTypes.xml b/1.6/Defs/GeneDefs/GeneDefs_GenitaliaTypes.xml index 244c72f..543c542 100644 --- a/1.6/Defs/GeneDefs/GeneDefs_GenitaliaTypes.xml +++ b/1.6/Defs/GeneDefs/GeneDefs_GenitaliaTypes.xml @@ -14,9 +14,6 @@ Genes/Icons/RJW_Genes_Endogene_Background Genes/Icons/RJW_Genes_Xenogene_Background -
  • - 30 -
  • diff --git a/1.6/Patches/Xenotypes/PatchBSSneks.xml b/1.6/Patches/Xenotypes/PatchBSSneks.xml index be6b17a..173a3df 100644 --- a/1.6/Patches/Xenotypes/PatchBSSneks.xml +++ b/1.6/Patches/Xenotypes/PatchBSSneks.xml @@ -11,9 +11,9 @@ Defs/XenotypeDef[defName = "LoS_Lamia" or defName = "LoS_TrueLamia" or defName = "Naga" - or defName = "LoS_Adderman" - or defName = "LoS_Anacondaman" - or defName = "LoS_Snakeman"]/genes + or defName = "Los_Adderman" + or defName = "Los_Anacondaman" + or defName = "Los_Snakeman"]/genes
  • rjw_genes_reptilian_genitalia
  • diff --git a/1.6/Patches/Xenotypes/PatchBiotechNyaron.xml b/1.6/Patches/Xenotypes/PatchBiotechNyaron.xml new file mode 100644 index 0000000..9f32522 --- /dev/null +++ b/1.6/Patches/Xenotypes/PatchBiotechNyaron.xml @@ -0,0 +1,14 @@ + + + + +
  • Biotech Nyaron
  • +
    + + Defs/XenotypeDef[defName="Nyaron"]/genes + +
  • rjw_genes_feline_genitalia
  • +
    +
    +
    +
    \ No newline at end of file diff --git a/1.6/Patches/Xenotypes/PatchImphileeXeno.xml b/1.6/Patches/Xenotypes/PatchImphileeXeno.xml new file mode 100644 index 0000000..4a8655f --- /dev/null +++ b/1.6/Patches/Xenotypes/PatchImphileeXeno.xml @@ -0,0 +1,36 @@ + + + + +
  • + +
  • Imphilee Xeno
  • + + + Defs/XenotypeDef[defName="LD_Imphilee"]/genes + +
  • rjw_genes_tight_female_genitalia
  • +
  • rjw_genes_small_breasts
  • +
  • rjw_genes_elasticity
  • +
  • rjw_genes_demonic_genitalia
  • +
    +
    + +
  • + +
  • Imphilee Xeno
  • + + + Defs/XenotypeDef[defName="LD_Imphilee_Overlord"]/genes + +
  • rjw_genes_tight_female_genitalia
  • +
  • rjw_genes_small_breasts
  • +
  • rjw_genes_elasticity
  • +
  • rjw_genes_demonic_genitalia
  • +
  • rjw_genes_rapist
  • +
    +
    + +
    +
    +
    diff --git a/1.6/Patches/Xenotypes/PatchNyaron.xml b/1.6/Patches/Xenotypes/PatchNyaron.xml index 8d9848a..4ad40a5 100644 --- a/1.6/Patches/Xenotypes/PatchNyaron.xml +++ b/1.6/Patches/Xenotypes/PatchNyaron.xml @@ -12,16 +12,4 @@ - - -
  • [CAP]Biotech Nyaron HAR Addition
  • -
    - - Defs/XenotypeDef[defName="Nyaron"]/genes - -
  • rjw_genes_tight_female_genitalia
  • -
  • rjw_genes_feline_genitalia
  • -
    -
    -
    \ No newline at end of file diff --git a/1.6/Patches/Xenotypes/PatchPapou.xml b/1.6/Patches/Xenotypes/PatchPapou.xml index 361aa89..39a6e81 100644 --- a/1.6/Patches/Xenotypes/PatchPapou.xml +++ b/1.6/Patches/Xenotypes/PatchPapou.xml @@ -2,10 +2,10 @@ -
  • Papou Xenotype: Emotional Birds (Continued)
  • +
  • Papou Race : emotional birds
  • - Defs/XenotypeDef[defName="Papago"]/genes + Defs/XenotypeDef[defName="papago"]/genes
  • rjw_genes_orgasm_rush
  • rjw_genes_tight_female_genitalia
  • diff --git a/1.6/Patches/Xenotypes/PatchVREPigskins.xml b/1.6/Patches/Xenotypes/PatchPigskins.xml similarity index 100% rename from 1.6/Patches/Xenotypes/PatchVREPigskins.xml rename to 1.6/Patches/Xenotypes/PatchPigskins.xml diff --git a/1.6/Patches/Xenotypes/PatchRoosFaun.xml b/1.6/Patches/Xenotypes/PatchRoosFaun.xml index 7d27b2f..64ee8ad 100644 --- a/1.6/Patches/Xenotypes/PatchRoosFaun.xml +++ b/1.6/Patches/Xenotypes/PatchRoosFaun.xml @@ -7,7 +7,7 @@ Defs/XenotypeDef[defName="RBSF_Faun"]/genes -
  • rjw_genes_Needle_genitalia
  • +
  • rjw_genes_equine_genitalia
  • rjw_genes_zoophile
  • rjw_genes_mating_call
  • rjw_genes_tight_female_genitalia
  • diff --git a/1.6/Patches/Xenotypes/PatchRoosSatyr.xml b/1.6/Patches/Xenotypes/PatchRoosSatyr.xml index e2bdfe7..b82b1e1 100644 --- a/1.6/Patches/Xenotypes/PatchRoosSatyr.xml +++ b/1.6/Patches/Xenotypes/PatchRoosSatyr.xml @@ -7,10 +7,8 @@ Defs/XenotypeDef[defName="RBSF_Satyr"]/genes -
  • rjw_genes_equine_genitalia
  • rjw_genes_aphrodisiac_pheromones
  • rjw_genes_much_fluid
  • -
  • rjw_genes_zoophile
  • diff --git a/1.6/Patches/Xenotypes/PatchVRESaurid.xml b/1.6/Patches/Xenotypes/PatchSaurid.xml similarity index 100% rename from 1.6/Patches/Xenotypes/PatchVRESaurid.xml rename to 1.6/Patches/Xenotypes/PatchSaurid.xml diff --git a/1.6/Rjw-Genes.sln b/1.6/Rjw-Genes.sln index 3cee1cf..86df24b 100644 --- a/1.6/Rjw-Genes.sln +++ b/1.6/Rjw-Genes.sln @@ -15,8 +15,8 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {D7D21B4A-1DA7-41D8-B202-C58CA8FA62AA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D7D21B4A-1DA7-41D8-B202-C58CA8FA62AA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D7D21B4A-1DA7-41D8-B202-C58CA8FA62AA}.Debug|Any CPU.ActiveCfg = Release|Any CPU + {D7D21B4A-1DA7-41D8-B202-C58CA8FA62AA}.Debug|Any CPU.Build.0 = Release|Any CPU {D7D21B4A-1DA7-41D8-B202-C58CA8FA62AA}.Release|Any CPU.ActiveCfg = Release|Any CPU {D7D21B4A-1DA7-41D8-B202-C58CA8FA62AA}.Release|Any CPU.Build.0 = Release|Any CPU {3BF2C17E-C492-44DA-8BC4-7AF6ADEB6468}.Debug|Any CPU.ActiveCfg = Debug|Any CPU diff --git a/1.6/Source/Common/Defs/ChanceExtension.cs b/1.6/Source/Common/Defs/ChanceExtension.cs index 111f73e..ff8b260 100644 --- a/1.6/Source/Common/Defs/ChanceExtension.cs +++ b/1.6/Source/Common/Defs/ChanceExtension.cs @@ -11,4 +11,5 @@ namespace RJW_Genes { public float chance; } + } diff --git a/1.6/Source/Common/Defs/SexualizerGeneExtension.cs b/1.6/Source/Common/Defs/SexualizerGeneExtension.cs deleted file mode 100644 index b8fd7e8..0000000 --- a/1.6/Source/Common/Defs/SexualizerGeneExtension.cs +++ /dev/null @@ -1,25 +0,0 @@ -using Verse; - -namespace RJW_Genes -{ - - /// - /// Used by the 'On Sexualization' Patch to determine if a gene needs to be applied, and what order to do so. - /// This Extension is applied to RJW related genes that Depend on the order they are Applied in, - /// using the following basic values - /// - /// 10 Unused. - /// 20 Genes that Alter the Number of sexual parts a Pawn may have. (Includes the Zero Genes?) - /// 30 Genes that Alter the type of genitals a Pawn may have. - /// 40 Genes that Add a specific genital type to the pawn. - /// 50 Genes that alter the values on a pawns genitals such as size or fluid type. - /// -#pragma warning disable CS0649 //Disable the warning for a variable that is 'unset'. - internal class SexualizerGeneExtension : DefModExtension - { - - public int order; - - } -#pragma warning restore CS0649 -} diff --git a/1.6/Source/Common/patches/Patch_RJWSexualizer.cs b/1.6/Source/Common/patches/Patch_RJWSexualizer.cs deleted file mode 100644 index 3deabc1..0000000 --- a/1.6/Source/Common/patches/Patch_RJWSexualizer.cs +++ /dev/null @@ -1,50 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Verse; - -namespace RJW_Genes -{ - internal static class Patch_RJWSexualizer - { - /// - /// This Harmony patch is called after Sexualiser, and runs all the genes on that pawn that would have not been functional before sexualization. - /// - public static void ApplyGenesPostfix(Pawn pawn) - { - //Generate a sorted list of Genes that need to be processed. - if (pawn == null) return; - Dictionary> geneDict = new Dictionary>(); - if (pawn.genes == null) return; - foreach (Gene curGene in pawn.genes.GenesListForReading) - { - - if (!curGene.def.HasModExtension()) continue; - - SexualizerGeneExtension geneExtension = curGene.def.GetModExtension(); - if (geneDict.ContainsKey(geneExtension.order)) - { - geneDict[geneExtension.order].Add(curGene); - } - else - { - geneDict.Add(geneExtension.order, new List { curGene }); - } - - - } - //Once we have the List, iterate over it to run the relavant functions. - List keysList = geneDict.Keys.ToList(); - keysList.Sort(); - foreach (int key in keysList) - { - foreach (var curGene in geneDict[key]) - { - curGene.PostAdd(); - } - } - } - } -} diff --git a/1.6/Source/CumpilationLoader/CumpilationPatcher.csproj b/1.6/Source/CumpilationLoader/CumpilationPatcher.csproj index 025c5d6..6207e63 100644 --- a/1.6/Source/CumpilationLoader/CumpilationPatcher.csproj +++ b/1.6/Source/CumpilationLoader/CumpilationPatcher.csproj @@ -15,7 +15,7 @@ true - portable + full false ..\..\Mods\Cumpilation\Assemblies\ diff --git a/1.6/Source/Genes/ExtraGenitalia/Gene_ExtraAnus.cs b/1.6/Source/Genes/ExtraGenitalia/Gene_ExtraAnus.cs index 527ac35..277691c 100644 --- a/1.6/Source/Genes/ExtraGenitalia/Gene_ExtraAnus.cs +++ b/1.6/Source/Genes/ExtraGenitalia/Gene_ExtraAnus.cs @@ -16,22 +16,22 @@ namespace RJW_Genes // Some sources add Genes before they fire, e.g. Character Editor // This should harden the gene, to solve #19 - //if (HasAlreadyTwoAnus()) - //{ - // return; - //} + if (HasAlreadyTwoAnus()) + { + return; + } - //if (additional_anus == null) - //{ - // CreateAndAddAnus(); - //} + if (additional_anus == null) + { + CreateAndAddAnus(); + } } public override void PostAdd() { if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostAdd(); - if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn)) return; //If pawn hasn't been sexualized yet, skip. + // Some sources add Genes before they fire, e.g. Character Editor // This should harden the gene, to solve #19 if (HasAlreadyTwoAnus()) diff --git a/1.6/Source/Genes/ExtraGenitalia/Gene_ExtraBreasts.cs b/1.6/Source/Genes/ExtraGenitalia/Gene_ExtraBreasts.cs index 64e44d4..b763a64 100644 --- a/1.6/Source/Genes/ExtraGenitalia/Gene_ExtraBreasts.cs +++ b/1.6/Source/Genes/ExtraGenitalia/Gene_ExtraBreasts.cs @@ -16,23 +16,23 @@ namespace RJW_Genes // Some sources add Genes before they fire, e.g. Character Editor // This should harden the gene, to solve #19 - //if (HasAlreadyTwoBreasts()) - //{ - // return; - //} + if (HasAlreadyTwoBreasts()) + { + return; + } - //// Tits are only added for female pawns! - //if (GenderUtility.IsFemale(pawn) && additional_breasts == null) - //{ - // CreateAndAddBreasts(); - //} + // Tits are only added for female pawns! + if (GenderUtility.IsFemale(pawn) && additional_breasts == null) + { + CreateAndAddBreasts(); + } } public override void PostAdd() { if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostAdd(); - if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn)) return; //If pawn hasn't been sexualized yet, skip. + // Some sources add Genes before they fire, e.g. Character Editor // This should harden the gene, to solve #19 if (HasAlreadyTwoBreasts()) diff --git a/1.6/Source/Genes/ExtraGenitalia/Gene_ExtraPenis.cs b/1.6/Source/Genes/ExtraGenitalia/Gene_ExtraPenis.cs index 34926d5..5bacdbd 100644 --- a/1.6/Source/Genes/ExtraGenitalia/Gene_ExtraPenis.cs +++ b/1.6/Source/Genes/ExtraGenitalia/Gene_ExtraPenis.cs @@ -16,23 +16,23 @@ namespace RJW_Genes // Some sources add Genes before they fire, e.g. Character Editor // This should harden the gene, to solve #19 - //if (HasAlreadyTwoPenis()) - //{ - // return; - //} + if (HasAlreadyTwoPenis()) + { + return; + } // Penis are only added for male pawns! - //if (GenderUtility.IsMale(pawn) && additional_penis == null) - //{ - // CreateAndAddPenis(); - //} + if (GenderUtility.IsMale(pawn) && additional_penis == null) + { + CreateAndAddPenis(); + } } public override void PostAdd() { if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostAdd(); - if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn)) return; //If pawn hasn't been sexualized yet, skip. + // Some sources add Genes before they fire, e.g. Character Editor // This should harden the gene, to solve #19 if (HasAlreadyTwoPenis()) diff --git a/1.6/Source/Genes/ExtraGenitalia/Gene_ExtraVagina.cs b/1.6/Source/Genes/ExtraGenitalia/Gene_ExtraVagina.cs index 2771bd6..179742b 100644 --- a/1.6/Source/Genes/ExtraGenitalia/Gene_ExtraVagina.cs +++ b/1.6/Source/Genes/ExtraGenitalia/Gene_ExtraVagina.cs @@ -21,23 +21,23 @@ namespace RJW_Genes // Some sources add Genes before they fire, e.g. Character Editor // This should harden the gene, to solve #19 - //if (HasAlreadyTwoVaginas()) - //{ - // return; - //} + if (HasAlreadyTwoVaginas()) + { + return; + } - //// Vaginas are only added for female pawns! - //if (GenderUtility.IsFemale(pawn) && additional_vagina == null) - //{ - // CreateAndAddVagina(); - //} + // Vaginas are only added for female pawns! + if (GenderUtility.IsFemale(pawn) && additional_vagina == null) + { + CreateAndAddVagina(); + } } public override void PostAdd() { if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostAdd(); - if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn)) return; //If pawn hasn't been sexualized yet, skip. + // Some sources add Genes before they fire, e.g. Character Editor // This should harden the gene, to solve #19 if (HasAlreadyTwoVaginas()) diff --git a/1.6/Source/Genes/ExtraGenitalia/Gene_FeaturelessChest.cs b/1.6/Source/Genes/ExtraGenitalia/Gene_FeaturelessChest.cs index cf0ad0b..df07876 100644 --- a/1.6/Source/Genes/ExtraGenitalia/Gene_FeaturelessChest.cs +++ b/1.6/Source/Genes/ExtraGenitalia/Gene_FeaturelessChest.cs @@ -11,18 +11,18 @@ namespace RJW_Genes { base.PostMake(); - //if (removed_breasts == null) - //{ - // RemoveButStoreBreasts(); - // AddFeaturelessBreast(); - //} + if (removed_breasts == null) + { + RemoveButStoreBreasts(); + AddFeaturelessBreast(); + } } public override void PostAdd() { if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostAdd(); - if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn)) return; //If pawn hasn't been sexualized yet, skip. + if (removed_breasts == null) { RemoveButStoreBreasts(); diff --git a/1.6/Source/Genes/ExtraGenitalia/Gene_Femboy.cs b/1.6/Source/Genes/ExtraGenitalia/Gene_Femboy.cs index d78043f..b3e9140 100644 --- a/1.6/Source/Genes/ExtraGenitalia/Gene_Femboy.cs +++ b/1.6/Source/Genes/ExtraGenitalia/Gene_Femboy.cs @@ -15,7 +15,6 @@ namespace RJW_Genes { if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostAdd(); - if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn)) return; //If pawn hasn't been sexualized yet, skip. if (GenderUtility.IsMale(this.pawn) && this.additional_genital == null) { this.CreateAndAddVagina(); diff --git a/1.6/Source/Genes/ExtraGenitalia/Gene_Futa.cs b/1.6/Source/Genes/ExtraGenitalia/Gene_Futa.cs index 0de91a3..011b466 100644 --- a/1.6/Source/Genes/ExtraGenitalia/Gene_Futa.cs +++ b/1.6/Source/Genes/ExtraGenitalia/Gene_Futa.cs @@ -19,7 +19,7 @@ namespace RJW_Genes { if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostAdd(); - if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn)) return; //If pawn hasn't been sexualized yet, skip. + // If the Pawn is already a Futa, do not do anything. Can Happen by Base-RJW Spawn Chance or potentially races / other mods. if (IsAlreadyFuta(pawn)) { diff --git a/1.6/Source/Genes/ExtraGenitalia/Gene_NoAnus.cs b/1.6/Source/Genes/ExtraGenitalia/Gene_NoAnus.cs index de609a2..11f8706 100644 --- a/1.6/Source/Genes/ExtraGenitalia/Gene_NoAnus.cs +++ b/1.6/Source/Genes/ExtraGenitalia/Gene_NoAnus.cs @@ -13,17 +13,17 @@ namespace RJW_Genes { base.PostMake(); - //if (removed_anus == null) - //{ - // RemoveButStoreAnus(); - //} + if (removed_anus == null) + { + RemoveButStoreAnus(); + } } public override void PostAdd() { if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostAdd(); - if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn)) return; //If pawn hasn't been sexualized yet, skip. + if (removed_anus == null) { RemoveButStoreAnus(); diff --git a/1.6/Source/Genes/ExtraGenitalia/Gene_NoBreasts.cs b/1.6/Source/Genes/ExtraGenitalia/Gene_NoBreasts.cs index acd9135..f1e6aed 100644 --- a/1.6/Source/Genes/ExtraGenitalia/Gene_NoBreasts.cs +++ b/1.6/Source/Genes/ExtraGenitalia/Gene_NoBreasts.cs @@ -13,18 +13,18 @@ namespace RJW_Genes { base.PostMake(); - //// Breasts are removed for female pawns! - //if (GenderUtility.IsFemale(pawn) && oldSize < 0) - //{ - // RemoveButStoreBreasts(); - //} + // Breasts are removed for female pawns! + if (GenderUtility.IsFemale(pawn) && oldSize < 0) + { + RemoveButStoreBreasts(); + } } public override void PostAdd() { if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostAdd(); - if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn)) return; //If pawn hasn't been sexualized yet, skip. + // Breasts are removed for female pawns! if (GenderUtility.IsFemale(pawn) && oldSize < 0) { diff --git a/1.6/Source/Genes/ExtraGenitalia/Gene_NoPenis.cs b/1.6/Source/Genes/ExtraGenitalia/Gene_NoPenis.cs index 54e4c20..5471309 100644 --- a/1.6/Source/Genes/ExtraGenitalia/Gene_NoPenis.cs +++ b/1.6/Source/Genes/ExtraGenitalia/Gene_NoPenis.cs @@ -13,18 +13,18 @@ namespace RJW_Genes { base.PostMake(); - //// Penis are only removed for male pawns! - //if (GenderUtility.IsMale(pawn) && removed_penis == null) - //{ - // RemoveButStorePenis(); - //} + // Penis are only removed for male pawns! + if (GenderUtility.IsMale(pawn) && removed_penis == null) + { + RemoveButStorePenis(); + } } public override void PostAdd() { if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostAdd(); - if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn)) return; //If pawn hasn't been sexualized yet, skip. + // Penis are only removed for male pawns! if (GenderUtility.IsMale(pawn) && removed_penis == null) { diff --git a/1.6/Source/Genes/ExtraGenitalia/Gene_NoVagina.cs b/1.6/Source/Genes/ExtraGenitalia/Gene_NoVagina.cs index 29f1be1..c5ec081 100644 --- a/1.6/Source/Genes/ExtraGenitalia/Gene_NoVagina.cs +++ b/1.6/Source/Genes/ExtraGenitalia/Gene_NoVagina.cs @@ -14,17 +14,17 @@ namespace RJW_Genes base.PostMake(); // Vaginas are only removed for female pawns! - //if (GenderUtility.IsFemale(pawn) && removed_vagina == null) - //{ - // RemoveButStoreVagina(); - //} + if (GenderUtility.IsFemale(pawn) && removed_vagina == null) + { + RemoveButStoreVagina(); + } } public override void PostAdd() { if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostAdd(); - if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn)) return; //If pawn hasn't been sexualized yet, skip. + // Vaginas are only removed for female pawns! if (GenderUtility.IsFemale(pawn) && removed_vagina == null) { diff --git a/1.6/Source/Genes/ExtraGenitalia/Gene_UdderBreasts.cs b/1.6/Source/Genes/ExtraGenitalia/Gene_UdderBreasts.cs index 0fdd0fe..ce53b43 100644 --- a/1.6/Source/Genes/ExtraGenitalia/Gene_UdderBreasts.cs +++ b/1.6/Source/Genes/ExtraGenitalia/Gene_UdderBreasts.cs @@ -27,7 +27,7 @@ namespace RJW_Genes { if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostAdd(); - if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn)) return; //If pawn hasn't been sexualized yet, skip. + AddUdders(); } diff --git a/1.6/Source/Genes/Fluid/Genes/Gene_ChangeFluidAmount.cs b/1.6/Source/Genes/Fluid/Genes/Gene_ChangeFluidAmount.cs index 89bd8f6..49c84a2 100644 --- a/1.6/Source/Genes/Fluid/Genes/Gene_ChangeFluidAmount.cs +++ b/1.6/Source/Genes/Fluid/Genes/Gene_ChangeFluidAmount.cs @@ -9,16 +9,15 @@ { base.PostMake(); - //float multipier = FluidUtility.LookupFluidMultiplier(this); - //FluidUtility.MultiplyFluidAmountBy(pawn, multipier); - //has_been_fired = true; + float multipier = FluidUtility.LookupFluidMultiplier(this); + FluidUtility.MultiplyFluidAmountBy(pawn, multipier); + has_been_fired = true; } public override void PostAdd() { if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostAdd(); - if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn)) return; //If pawn hasn't been sexualized yet, skip. if (!has_been_fired) { float multipier = FluidUtility.LookupFluidMultiplier(this); diff --git a/1.6/Source/Genes/Fluid/Genes/Gene_ChangeFluidType.cs b/1.6/Source/Genes/Fluid/Genes/Gene_ChangeFluidType.cs index 1531f7e..4745828 100644 --- a/1.6/Source/Genes/Fluid/Genes/Gene_ChangeFluidType.cs +++ b/1.6/Source/Genes/Fluid/Genes/Gene_ChangeFluidType.cs @@ -18,7 +18,6 @@ namespace RJW_Genes { if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostAdd(); - if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn)) return; //If pawn hasn't been sexualized yet, skip. Apply(); } diff --git a/1.6/Source/Genes/Gender/Genes/Gene_FemaleOnly.cs b/1.6/Source/Genes/Gender/Genes/Gene_FemaleOnly.cs index 57d3635..551f5ea 100644 --- a/1.6/Source/Genes/Gender/Genes/Gene_FemaleOnly.cs +++ b/1.6/Source/Genes/Gender/Genes/Gene_FemaleOnly.cs @@ -15,10 +15,8 @@ namespace RJW_Genes { if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostMake(); - if (this.Active) { - AdjustPawnToFemale(); - GenderUtility.RemoveSexChangeThoughtsIfTooYoung(this.pawn); - } + AdjustPawnToFemale(); + GenderUtility.RemoveSexChangeThoughtsIfTooYoung(this.pawn); } private void AdjustPawnToFemale() diff --git a/1.6/Source/Genes/Gender/Genes/Gene_GenderFluid.cs b/1.6/Source/Genes/Gender/Genes/Gene_GenderFluid.cs index 5d6d272..4f530f6 100644 --- a/1.6/Source/Genes/Gender/Genes/Gene_GenderFluid.cs +++ b/1.6/Source/Genes/Gender/Genes/Gene_GenderFluid.cs @@ -56,16 +56,14 @@ namespace RJW_Genes // Case 2: Check every interval if the Chance triggers else if (pawn.IsHashIntervalTick(change_interval) && (new Random()).NextDouble() < switch_chance) { - // Case 2.A - if the Pawn is Pregnant, do not allow sex change this interval. - if (pawn.IsPregnant()) return; - // Case 2.B) SexChange was blocked, postpone it + // Case 2.A) SexChange was blocked, postpone it if (SexChangeBlocked(pawn)) { sexChangeWasBlocked |= true; return; } - // Case 2.C) Nothing blocking, change the sex. + // Case 2.B) Nothing blocking, change the sex. else { ChangeSex();} } diff --git a/1.6/Source/Genes/Gender/Genes/Gene_MaleOnly.cs b/1.6/Source/Genes/Gender/Genes/Gene_MaleOnly.cs index ca405e4..b25bfa1 100644 --- a/1.6/Source/Genes/Gender/Genes/Gene_MaleOnly.cs +++ b/1.6/Source/Genes/Gender/Genes/Gene_MaleOnly.cs @@ -15,11 +15,8 @@ namespace RJW_Genes { if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostMake(); - if (this.Active) - { - AdjustPawnToMale(); - GenderUtility.RemoveSexChangeThoughtsIfTooYoung(this.pawn); - } + AdjustPawnToMale(); + GenderUtility.RemoveSexChangeThoughtsIfTooYoung(this.pawn); } private void AdjustPawnToMale() diff --git a/1.6/Source/Genes/Genitalia/Gene_GenitaliaType.cs b/1.6/Source/Genes/Genitalia/Gene_GenitaliaType.cs index 41b85be..b33a210 100644 --- a/1.6/Source/Genes/Genitalia/Gene_GenitaliaType.cs +++ b/1.6/Source/Genes/Genitalia/Gene_GenitaliaType.cs @@ -13,7 +13,6 @@ namespace RJW_Genes { if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostAdd(); - if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn)) return; //If pawn hasn't been sexualized yet, skip. Apply(); } diff --git a/1.6/Source/Genes/GenitaliaSize/Gene_GenitaliaResizingGene.cs b/1.6/Source/Genes/GenitaliaSize/Gene_GenitaliaResizingGene.cs index fd9a2f2..fd1a5f1 100644 --- a/1.6/Source/Genes/GenitaliaSize/Gene_GenitaliaResizingGene.cs +++ b/1.6/Source/Genes/GenitaliaSize/Gene_GenitaliaResizingGene.cs @@ -32,18 +32,17 @@ namespace RJW_Genes public override void PostMake() { base.PostMake(); - //if (pawn.ageTracker.AgeBiologicalYears >= RJW_Genes_Settings.rjw_genes_resizing_age) - //{ - // Resize(); - // ResizingWasApplied = true; - //} + if (pawn.ageTracker.AgeBiologicalYears >= RJW_Genes_Settings.rjw_genes_resizing_age) + { + Resize(); + ResizingWasApplied = true; + } } public override void PostAdd() { if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. base.PostAdd(); - if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn)) return; //If pawn hasn't been sexualized yet, skip. if (pawn.ageTracker.AgeBiologicalYears >= RJW_Genes_Settings.rjw_genes_resizing_age) { Resize(); diff --git a/1.6/Source/Genes/GenitaliaSize/Genes/Gene_EvergrowingGenitalia.cs b/1.6/Source/Genes/GenitaliaSize/Genes/Gene_EvergrowingGenitalia.cs index c80ecb5..4a00846 100644 --- a/1.6/Source/Genes/GenitaliaSize/Genes/Gene_EvergrowingGenitalia.cs +++ b/1.6/Source/Genes/GenitaliaSize/Genes/Gene_EvergrowingGenitalia.cs @@ -46,13 +46,8 @@ namespace RJW_Genes } // Increase Fluid - // Increase Fluid, if it's already above 10x don't increase to avoid crash issues. - if (CompHediff != null && (CompHediff.partFluidMultiplier < 100)) - { + if (CompHediff != null) CompHediff.partFluidMultiplier *= 1.05f; - if (CompHediff.partFluidMultiplier > 100) - CompHediff.partFluidMultiplier = 100; - } } } diff --git a/1.6/Source/Genes/Patches/PatchLitteredBirth.cs b/1.6/Source/Genes/Patches/PatchLitteredBirth.cs index 3a938d5..90c4f12 100644 --- a/1.6/Source/Genes/Patches/PatchLitteredBirth.cs +++ b/1.6/Source/Genes/Patches/PatchLitteredBirth.cs @@ -38,6 +38,7 @@ namespace RJW_Genes ModLog.Message("Pawn: " + __instance.pawn.NameShortColored + " (" + __instance.pawn.ThingID + ")"); ModLog.Message("birthCount: " + laborStateMap.TryGetValue(__instance.pawn.ThingID).birthCount); } + return; } @@ -45,7 +46,7 @@ namespace RJW_Genes if (laborStateIsNull && hasLitteredBirthsGene) { ModLog.Message("Found littered births gene"); - int litteredBirthsTotalRoll = Rand.RangeInclusive(1, 3); + int litteredBirthsTotalRoll = Rand.RangeInclusive(2, 4); laborStateMap.SetOrAdd(__instance.pawn.ThingID, new LaborState(__instance.pawn, litteredBirthsTotalRoll)); return; } @@ -118,7 +119,7 @@ namespace RJW_Genes return; } - if (currentLaborState.birthTotal <= currentLaborState.birthCount) + if (currentLaborState.birthTotal == currentLaborState.birthCount) { laborStateMap.Remove(__instance.pawn.ThingID); if (__instance.pawn.health.hediffSet.HasHediff(HediffDef.Named("Bioscaffold"))) diff --git a/1.6/Source/Genes/Patches/Patch_sexualize_pawn.cs b/1.6/Source/Genes/Patches/Patch_sexualize_pawn.cs index ccc4adb..4e5ea56 100644 --- a/1.6/Source/Genes/Patches/Patch_sexualize_pawn.cs +++ b/1.6/Source/Genes/Patches/Patch_sexualize_pawn.cs @@ -6,11 +6,8 @@ using System.Threading.Tasks; using rjw; using Verse; - - namespace RJW_Genes { - [Obsolete] internal static class Patch_sexualize_pawn { /// diff --git a/1.6/Source/Genes/RJW_Gene.cs b/1.6/Source/Genes/RJW_Gene.cs index a036554..b97dbd7 100644 --- a/1.6/Source/Genes/RJW_Gene.cs +++ b/1.6/Source/Genes/RJW_Gene.cs @@ -19,7 +19,12 @@ namespace RJW_Genes public override void PostAdd() { if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns. + if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn)) + { + Sexualizer.sexualize_pawn(pawn); + } base.PostAdd(); + } @@ -32,8 +37,5 @@ namespace RJW_Genes public virtual void Notify_OnPawnGeneration() { } - - - public virtual void Notify_OnPawnSexualization() { } } } diff --git a/1.6/Source/Genes/Special/Patches/Patch_HormonalSaliva.cs b/1.6/Source/Genes/Special/Patches/Patch_HormonalSaliva.cs index 2d806da..48a035f 100644 --- a/1.6/Source/Genes/Special/Patches/Patch_HormonalSaliva.cs +++ b/1.6/Source/Genes/Special/Patches/Patch_HormonalSaliva.cs @@ -59,13 +59,9 @@ namespace RJW_Genes } CompHediff.UpdateSeverity(); - // Increase Fluid, if it's already above 10x don't increase to avoid crash issues. - if (CompHediff != null && (CompHediff.partFluidMultiplier < 100)) - { + // Increase Fluid + if (CompHediff != null) CompHediff.partFluidMultiplier *= cum_multiplier; - if (CompHediff.partFluidMultiplier > 100) - CompHediff.partFluidMultiplier = 100; - } } } diff --git a/1.6/Source/HarmonyInit.cs b/1.6/Source/HarmonyInit.cs index 0ba3837..7f0a376 100644 --- a/1.6/Source/HarmonyInit.cs +++ b/1.6/Source/HarmonyInit.cs @@ -48,12 +48,10 @@ namespace RJW_Genes //harmony.Patch(AccessTools.Method(typeof(Quirk), nameof(Quirk.CountSatisfiedQuirks)), //postfix: new HarmonyMethod(typeof(QuirkPatcher), nameof(QuirkPatcher.CountSatisfiedPostfix))); - + //RJW.Sexualizer.sexualize_pawn harmony.Patch(AccessTools.Method(typeof(Sexualizer), nameof(Sexualizer.sexualize_pawn)), - //prefix: new HarmonyMethod(typeof(Patch_sexualize_pawn), nameof(Patch_sexualize_pawn.PreFix))); //Old Method that ran Sexualize early. - postfix: new HarmonyMethod(typeof(Patch_RJWSexualizer), nameof(Patch_RJWSexualizer.ApplyGenesPostfix))); - + prefix: new HarmonyMethod(typeof(Patch_sexualize_pawn), nameof(Patch_sexualize_pawn.PreFix))); //Patch for Elastic Gene support with Eltoro's Streching mod. diff --git a/1.6/Source/Properties/AssemblyInfo.cs b/1.6/Source/Properties/AssemblyInfo.cs index 9381075..5dbde35 100644 --- a/1.6/Source/Properties/AssemblyInfo.cs +++ b/1.6/Source/Properties/AssemblyInfo.cs @@ -32,4 +32,4 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.7.0")] +[assembly: AssemblyVersion("2.6.2")] diff --git a/1.6/Source/Rjw-Genes.csproj b/1.6/Source/Rjw-Genes.csproj index 2404ae3..6d77471 100644 --- a/1.6/Source/Rjw-Genes.csproj +++ b/1.6/Source/Rjw-Genes.csproj @@ -22,16 +22,6 @@ 4 false - - ..\Assemblies\ - true - AnyCPU - 9 - prompt - portable - true - TRACE;DEBUG - @@ -41,7 +31,6 @@ - @@ -52,7 +41,6 @@ - diff --git a/About/About.xml b/About/About.xml index c6f0f05..41240b4 100644 --- a/About/About.xml +++ b/About/About.xml @@ -1,64 +1,27 @@ RJW Genes - -
  • Vegapnk
  • -
  • 1.6 Rewrite by Telanda
  • -
    + Vegapnk - 1.6 Rewrite by Telanda Vegapnk.rjw.genes - 2.7.0 + 2.6.2
  • 1.4
  • 1.5
  • 1.6
  • - Adds Genes for RJW Content. + +Adds Genes for RJW Content. Adds: - Genes for Genitalia Types and Sizes - Fertilin, a resource similiar to Hemogen, and accompanying sex-vampires - Mechanics for Breeding and being Breed by Animals and Insects +- Inherit genes from bestiality or produce VGE-Hybrids - Male / Female Only, MPreg, Genderfluid Pawns - Orgasmic Mytosis, Orgasmic Supercharging, Age-Transfer on Sex, Pheromones - Cum-Amount changes, Cumflation Immunity - Horny Pheromones, Animal Mating Call - Genetic Diseases that Spread on Intercourse +- Patches for some popular Xenotypes from the Workshop - Sexual Taming of Animals - -Patches for the following Xenotype Mods -- Alpha Genes -- Biotech Expansion - Mammalia -- Biotech Expansion - Mythic -- Biotech Nyaron -- Big and Small Heaven and Hell -- Big and Small More Xenotypes -- Big and Small - Races -- Big and Small - Slimes -- Big and Small - Lamias and other Snake-People -- Big and Small - Vampires and the Undead -- Big and Small - Yokai -- Erin's Auronya -- Erin's Shisune -- Kijin Race 3.0 -- NaraiXenotype -- Obsidia Expansion - Arachnas Xenotype -- Papou Xenotype: Emotional Birds (Continued) -- Rimsenal Xenotype Pack - Askbarn -- Roo's Faun Xenotype -- Roo's Minotaur Xenotype -- Roo's Satyr Xenotype -- Vanilla Races Expanded - Android -- Vanilla Races Expanded - Archon -- Vanilla Races Expanded - Fungoid -- Vanilla Races Expanded - Genie -- Vanilla Races Expanded - Highmate -- Vanilla Races Expanded - Lycanthrope -- Vanilla Races Expanded - Pigskin -- Vanilla Races Expanded - Phytokin -- Vanilla Races Expanded - Sanguophage -- Vanilla Races Expanded - Saurid -- [LTS]Xenotech - -For Feedback or Support please see the Rimjob World Discord! -https://discord.gg/UWZ3WfVWeK https://github.com/vegapnk/RJW-Genes @@ -77,51 +40,27 @@ https://discord.gg/UWZ3WfVWeK steam://url/CommunityFilePage/2009463077 https://github.com/pardeike/HarmonyRimWorld/releases/latest + -
  • ASMR.RJW.RaceSupport
  • -
  • biotexpans.insect
  • -
  • biotexpans.mammalia
  • -
  • biotexpans.mythic
  • -
  • brrainz.harmony
  • -
  • CaptoLamia.NyaronBioTechHAR
  • -
  • erin.auronyabiotech
  • -
  • erin.shisune
  • -
  • Ludeon.RimWorld.Biotech
  • -
  • Ludeon.RimWorld.Ideology
  • -
  • Ludeon.RimWorld.Royalty
  • Ludeon.RimWorld
  • -
  • lyzz.naraixenotype
  • -
  • obsidiaexpansion.xenos.arachnas
  • -
  • OskarPotocki.VanillaFactionsExpanded.Core
  • -
  • oskarpotocki.vfe.empire
  • -
  • redmattis.bsslimes
  • -
  • redmattis.heaven
  • -
  • redmattis.lamiasandothersnakes
  • -
  • redmattis.undead
  • -
  • redmattis.yokai
  • +
  • Ludeon.RimWorld.Royalty
  • +
  • Ludeon.RimWorld.Ideology
  • +
  • Ludeon.RimWorld.Biotech
  • rim.job.world
  • -
  • rimsenal.askbarn
  • -
  • rjw.sexperience.cumgenes
  • +
  • brrainz.harmony
  • +
  • OskarPotocki.VanillaFactionsExpanded.Core
  • sarg.alphaanimals
  • -
  • sarg.alphagenes
  • Sl4vP0weR.DominantGene
  • -
  • ssulunge.kijinrace3
  • -
  • tug.minotaur
  • -
  • tug.satyr
  • -
  • v.rooboid.faun
  • -
  • VanillaExpanded.VGeneticsE
  • -
  • vanillaracesexpanded.android
  • -
  • vanillaracesexpanded.archon
  • -
  • vanillaracesexpanded.fungoid
  • -
  • vanillaracesexpanded.genie
  • -
  • vanillaracesexpanded.highmate
  • -
  • vanillaracesexpanded.lycanthrope
  • -
  • vanillaracesexpanded.phytokin
  • -
  • vanillaracesexpanded.sanguophage
  • -
  • vanillaracesexpanded.saurid
  • +
  • rjw.sexperience.cumgenes
  • vegapnk.cumpilation
  • -
  • zal.papou
  • diff --git a/About/Manifest.xml b/About/Manifest.xml index f10acfc..0cd2bf9 100644 --- a/About/Manifest.xml +++ b/About/Manifest.xml @@ -1,7 +1,7 @@ RJW-Genes - 2.7.0 + 2.6.2
  • RimJobWorld
  • diff --git a/CHANGELOG.md b/CHANGELOG.md index 671b325..e044bfc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,51 +1,4 @@ -# 2.7.0 (23-07-2026) -(Commit by @Telanda-DDS) - -### Fixes. -- Rewrite of how Genital Genes handle non-Sexualised pawns, should address most 'extra genitals' bugs. -- Gender Fluid no longer allows sex changes while a pawn is pregnant. -- Updated Big & Small - Lamia Patches to account for changes in Def Capitalisation. -- Hormonal Saliva & Evergrowth now have a caps on fluid production, pawns should no longer grow so productive their cumshots crash the game. - - -### Xenotypes. -I've done a Check over the included xenotype patches, A few Xenotypes that hadn't been updated to 1.6 have been removed, and minor fixes Applied to other races. The current Supported Xenotype list is as following. -- Alpha Genes -- Biotech Expansion - Mammalia -- Biotech Expansion - Mythic -- Biotech Nyaron -- Big and Small Heaven and Hell -- Big and Small More Xenotypes -- Big and Small - Races -- Big and Small - Slimes -- Big and Small - Lamias and other Snake-People -- Big and Small - Vampires and the Undead -- Big and Small - Yokai -- Erin's Auronya -- Erin's Shisune -- Kijin Race 3.0 -- NaraiXenotype -- Obsidia Expansion - Arachnas Xenotype -- Papou Xenotype: Emotional Birds (Continued) -- Rimsenal Xenotype Pack - Askbarn -- Roo's Faun Xenotype -- Roo's Minotaur Xenotype -- Roo's Satyr Xenotype -- Vanilla Races Expanded - Android -- Vanilla Races Expanded - Archon -- Vanilla Races Expanded - Fungoid -- Vanilla Races Expanded - Genie -- Vanilla Races Expanded - Highmate -- Vanilla Races Expanded - Lycanthrope -- Vanilla Races Expanded - Pigskin -- Vanilla Races Expanded - Phytokin -- Vanilla Races Expanded - Sanguophage -- Vanilla Races Expanded - Saurid -- \[LTS\]Xenotech - -### Known Issues. -- Fertile Anus gene is Unreliable, and does not work with Biotech Pregnancies Enabled in RJW. (Waiting for large Upstream patch to RJW Core to be accepted.) - +#INPROG # 2.6.2 (15-02-2026) (Commit by @Telanda-DDS)