mirror of
https://github.com/vegapnk/RJW-Genes.git
synced 2026-08-22 08:23:24 +00:00
Compare commits
No commits in common. "c20f36dafc685fb9ffd2fa28c35e2ebc105ca615" and "eef293f6f0a814a491742cf33f33213a5d0c70d3" have entirely different histories.
c20f36dafc
...
eef293f6f0
49 changed files with 184 additions and 380 deletions
Binary file not shown.
|
|
@ -8,9 +8,6 @@
|
||||||
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
|
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
|
||||||
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
|
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
|
||||||
</li>
|
</li>
|
||||||
<li Class="RJW_Genes.SexualizerGeneExtension">
|
|
||||||
<order>20</order>
|
|
||||||
</li>
|
|
||||||
</modExtensions>
|
</modExtensions>
|
||||||
</GeneDef>
|
</GeneDef>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,9 +11,6 @@
|
||||||
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
|
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
|
||||||
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
|
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
|
||||||
</li>
|
</li>
|
||||||
<li Class="RJW_Genes.SexualizerGeneExtension">
|
|
||||||
<order>50</order>
|
|
||||||
</li>
|
|
||||||
</modExtensions>
|
</modExtensions>
|
||||||
</GeneDef>
|
</GeneDef>
|
||||||
|
|
||||||
|
|
@ -75,9 +72,6 @@
|
||||||
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
|
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
|
||||||
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
|
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
|
||||||
</li>
|
</li>
|
||||||
<li Class="RJW_Genes.SexualizerGeneExtension">
|
|
||||||
<order>50</order>
|
|
||||||
</li>
|
|
||||||
</modExtensions>
|
</modExtensions>
|
||||||
</GeneDef>
|
</GeneDef>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,14 +5,11 @@
|
||||||
<!--These Genes need to be loaded quite late, otherwise e.g. genitalia types will re-roll and overrule genitalia size-->
|
<!--These Genes need to be loaded quite late, otherwise e.g. genitalia types will re-roll and overrule genitalia size-->
|
||||||
|
|
||||||
<modExtensions>
|
<modExtensions>
|
||||||
<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core" Class="VEF.Genes.GeneExtension">
|
<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core" Class="VEF.Genes.GeneExtension">
|
||||||
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
|
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
|
||||||
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
|
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
|
||||||
</li>
|
</li>
|
||||||
<li Class="RJW_Genes.SexualizerGeneExtension">
|
</modExtensions>
|
||||||
<order>50</order>
|
|
||||||
</li>
|
|
||||||
</modExtensions>
|
|
||||||
</GeneDef>
|
</GeneDef>
|
||||||
|
|
||||||
<!-- Penis -->
|
<!-- Penis -->
|
||||||
|
|
|
||||||
|
|
@ -14,9 +14,6 @@
|
||||||
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
|
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
|
||||||
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
|
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
|
||||||
</li>
|
</li>
|
||||||
<li Class="RJW_Genes.SexualizerGeneExtension">
|
|
||||||
<order>30</order>
|
|
||||||
</li>
|
|
||||||
</modExtensions>
|
</modExtensions>
|
||||||
</GeneDef>
|
</GeneDef>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,9 +11,9 @@
|
||||||
<xpath>Defs/XenotypeDef[defName = "LoS_Lamia"
|
<xpath>Defs/XenotypeDef[defName = "LoS_Lamia"
|
||||||
or defName = "LoS_TrueLamia"
|
or defName = "LoS_TrueLamia"
|
||||||
or defName = "Naga"
|
or defName = "Naga"
|
||||||
or defName = "LoS_Adderman"
|
or defName = "Los_Adderman"
|
||||||
or defName = "LoS_Anacondaman"
|
or defName = "Los_Anacondaman"
|
||||||
or defName = "LoS_Snakeman"]/genes</xpath>
|
or defName = "Los_Snakeman"]/genes</xpath>
|
||||||
<value>
|
<value>
|
||||||
<li>rjw_genes_reptilian_genitalia</li>
|
<li>rjw_genes_reptilian_genitalia</li>
|
||||||
</value>
|
</value>
|
||||||
|
|
|
||||||
14
1.6/Patches/Xenotypes/PatchBiotechNyaron.xml
Normal file
14
1.6/Patches/Xenotypes/PatchBiotechNyaron.xml
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Patch>
|
||||||
|
<Operation Class="PatchOperationFindMod">
|
||||||
|
<mods>
|
||||||
|
<li>Biotech Nyaron</li>
|
||||||
|
</mods>
|
||||||
|
<match Class="PatchOperationAdd">
|
||||||
|
<xpath>Defs/XenotypeDef[defName="Nyaron"]/genes</xpath>
|
||||||
|
<value>
|
||||||
|
<li>rjw_genes_feline_genitalia</li>
|
||||||
|
</value>
|
||||||
|
</match>
|
||||||
|
</Operation>
|
||||||
|
</Patch>
|
||||||
36
1.6/Patches/Xenotypes/PatchImphileeXeno.xml
Normal file
36
1.6/Patches/Xenotypes/PatchImphileeXeno.xml
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<Patch>
|
||||||
|
<Operation Class="PatchOperationSequence">
|
||||||
|
<operations>
|
||||||
|
<li Class="PatchOperationFindMod">
|
||||||
|
<mods>
|
||||||
|
<li>Imphilee Xeno</li>
|
||||||
|
</mods>
|
||||||
|
<match Class="PatchOperationAdd">
|
||||||
|
<xpath>Defs/XenotypeDef[defName="LD_Imphilee"]/genes</xpath>
|
||||||
|
<value>
|
||||||
|
<li>rjw_genes_tight_female_genitalia</li>
|
||||||
|
<li>rjw_genes_small_breasts</li>
|
||||||
|
<li MayRequire="LustLicentia.RJWLabs">rjw_genes_elasticity</li>
|
||||||
|
<li>rjw_genes_demonic_genitalia</li>
|
||||||
|
</value>
|
||||||
|
</match>
|
||||||
|
</li>
|
||||||
|
<li Class="PatchOperationFindMod">
|
||||||
|
<mods>
|
||||||
|
<li>Imphilee Xeno</li>
|
||||||
|
</mods>
|
||||||
|
<match Class="PatchOperationAdd">
|
||||||
|
<xpath>Defs/XenotypeDef[defName="LD_Imphilee_Overlord"]/genes</xpath>
|
||||||
|
<value>
|
||||||
|
<li>rjw_genes_tight_female_genitalia</li>
|
||||||
|
<li>rjw_genes_small_breasts</li>
|
||||||
|
<li MayRequire="LustLicentia.RJWLabs">rjw_genes_elasticity</li>
|
||||||
|
<li>rjw_genes_demonic_genitalia</li>
|
||||||
|
<li>rjw_genes_rapist</li>
|
||||||
|
</value>
|
||||||
|
</match>
|
||||||
|
</li>
|
||||||
|
</operations>
|
||||||
|
</Operation>
|
||||||
|
</Patch>
|
||||||
|
|
@ -12,16 +12,4 @@
|
||||||
</value>
|
</value>
|
||||||
</match>
|
</match>
|
||||||
</Operation>
|
</Operation>
|
||||||
<Operation Class="PatchOperationFindMod">
|
|
||||||
<mods>
|
|
||||||
<li>[CAP]Biotech Nyaron HAR Addition</li>
|
|
||||||
</mods>
|
|
||||||
<match Class="PatchOperationAdd">
|
|
||||||
<xpath>Defs/XenotypeDef[defName="Nyaron"]/genes</xpath>
|
|
||||||
<value>
|
|
||||||
<li>rjw_genes_tight_female_genitalia</li>
|
|
||||||
<li>rjw_genes_feline_genitalia</li>
|
|
||||||
</value>
|
|
||||||
</match>
|
|
||||||
</Operation>
|
|
||||||
</Patch>
|
</Patch>
|
||||||
|
|
@ -2,10 +2,10 @@
|
||||||
<Patch>
|
<Patch>
|
||||||
<Operation Class="PatchOperationFindMod">
|
<Operation Class="PatchOperationFindMod">
|
||||||
<mods>
|
<mods>
|
||||||
<li>Papou Xenotype: Emotional Birds (Continued)</li>
|
<li>Papou Race : emotional birds</li>
|
||||||
</mods>
|
</mods>
|
||||||
<match Class="PatchOperationAdd">
|
<match Class="PatchOperationAdd">
|
||||||
<xpath>Defs/XenotypeDef[defName="Papago"]/genes</xpath>
|
<xpath>Defs/XenotypeDef[defName="papago"]/genes</xpath>
|
||||||
<value>
|
<value>
|
||||||
<li>rjw_genes_orgasm_rush</li>
|
<li>rjw_genes_orgasm_rush</li>
|
||||||
<li>rjw_genes_tight_female_genitalia</li>
|
<li>rjw_genes_tight_female_genitalia</li>
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
<match Class="PatchOperationAdd">
|
<match Class="PatchOperationAdd">
|
||||||
<xpath>Defs/XenotypeDef[defName="RBSF_Faun"]/genes</xpath>
|
<xpath>Defs/XenotypeDef[defName="RBSF_Faun"]/genes</xpath>
|
||||||
<value>
|
<value>
|
||||||
<li>rjw_genes_Needle_genitalia</li>
|
<li>rjw_genes_equine_genitalia</li>
|
||||||
<li>rjw_genes_zoophile</li>
|
<li>rjw_genes_zoophile</li>
|
||||||
<li>rjw_genes_mating_call</li>
|
<li>rjw_genes_mating_call</li>
|
||||||
<li>rjw_genes_tight_female_genitalia</li>
|
<li>rjw_genes_tight_female_genitalia</li>
|
||||||
|
|
|
||||||
|
|
@ -7,10 +7,8 @@
|
||||||
<match Class="PatchOperationAdd">
|
<match Class="PatchOperationAdd">
|
||||||
<xpath>Defs/XenotypeDef[defName="RBSF_Satyr"]/genes</xpath>
|
<xpath>Defs/XenotypeDef[defName="RBSF_Satyr"]/genes</xpath>
|
||||||
<value>
|
<value>
|
||||||
<li>rjw_genes_equine_genitalia</li>
|
|
||||||
<li>rjw_genes_aphrodisiac_pheromones</li>
|
<li>rjw_genes_aphrodisiac_pheromones</li>
|
||||||
<li>rjw_genes_much_fluid</li>
|
<li>rjw_genes_much_fluid</li>
|
||||||
<li>rjw_genes_zoophile</li>
|
|
||||||
</value>
|
</value>
|
||||||
</match>
|
</match>
|
||||||
</Operation>
|
</Operation>
|
||||||
|
|
|
||||||
|
|
@ -15,8 +15,8 @@ Global
|
||||||
Release|Any CPU = Release|Any CPU
|
Release|Any CPU = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
{D7D21B4A-1DA7-41D8-B202-C58CA8FA62AA}.Debug|Any CPU.ActiveCfg = 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 = Debug|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.ActiveCfg = Release|Any CPU
|
||||||
{D7D21B4A-1DA7-41D8-B202-C58CA8FA62AA}.Release|Any CPU.Build.0 = 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
|
{3BF2C17E-C492-44DA-8BC4-7AF6ADEB6468}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
|
|
||||||
|
|
@ -11,4 +11,5 @@ namespace RJW_Genes
|
||||||
{
|
{
|
||||||
public float chance;
|
public float chance;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
using Verse;
|
|
||||||
|
|
||||||
namespace RJW_Genes
|
|
||||||
{
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 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.
|
|
||||||
/// </summary>
|
|
||||||
#pragma warning disable CS0649 //Disable the warning for a variable that is 'unset'.
|
|
||||||
internal class SexualizerGeneExtension : DefModExtension
|
|
||||||
{
|
|
||||||
|
|
||||||
public int order;
|
|
||||||
|
|
||||||
}
|
|
||||||
#pragma warning restore CS0649
|
|
||||||
}
|
|
||||||
|
|
@ -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
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// This Harmony patch is called after Sexualiser, and runs all the genes on that pawn that would have not been functional before sexualization.
|
|
||||||
/// </summary>
|
|
||||||
public static void ApplyGenesPostfix(Pawn pawn)
|
|
||||||
{
|
|
||||||
//Generate a sorted list of Genes that need to be processed.
|
|
||||||
if (pawn == null) return;
|
|
||||||
Dictionary<int,List<Gene>> geneDict = new Dictionary<int,List<Gene>>();
|
|
||||||
if (pawn.genes == null) return;
|
|
||||||
foreach (Gene curGene in pawn.genes.GenesListForReading)
|
|
||||||
{
|
|
||||||
|
|
||||||
if (!curGene.def.HasModExtension<SexualizerGeneExtension>()) continue;
|
|
||||||
|
|
||||||
SexualizerGeneExtension geneExtension = curGene.def.GetModExtension<SexualizerGeneExtension>();
|
|
||||||
if (geneDict.ContainsKey(geneExtension.order))
|
|
||||||
{
|
|
||||||
geneDict[geneExtension.order].Add(curGene);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
geneDict.Add(geneExtension.order, new List<Gene> { curGene });
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
//Once we have the List, iterate over it to run the relavant functions.
|
|
||||||
List<int> keysList = geneDict.Keys.ToList();
|
|
||||||
keysList.Sort();
|
|
||||||
foreach (int key in keysList)
|
|
||||||
{
|
|
||||||
foreach (var curGene in geneDict[key])
|
|
||||||
{
|
|
||||||
curGene.PostAdd();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -15,7 +15,7 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
<DebugSymbols>true</DebugSymbols>
|
<DebugSymbols>true</DebugSymbols>
|
||||||
<DebugType>portable</DebugType>
|
<DebugType>full</DebugType>
|
||||||
<Optimize>false</Optimize>
|
<Optimize>false</Optimize>
|
||||||
<OutputPath>..\..\Mods\Cumpilation\Assemblies\</OutputPath>
|
<OutputPath>..\..\Mods\Cumpilation\Assemblies\</OutputPath>
|
||||||
<DefineConstants>
|
<DefineConstants>
|
||||||
|
|
|
||||||
|
|
@ -16,22 +16,22 @@ namespace RJW_Genes
|
||||||
|
|
||||||
// Some sources add Genes before they fire, e.g. Character Editor
|
// Some sources add Genes before they fire, e.g. Character Editor
|
||||||
// This should harden the gene, to solve #19
|
// This should harden the gene, to solve #19
|
||||||
//if (HasAlreadyTwoAnus())
|
if (HasAlreadyTwoAnus())
|
||||||
//{
|
{
|
||||||
// return;
|
return;
|
||||||
//}
|
}
|
||||||
|
|
||||||
//if (additional_anus == null)
|
if (additional_anus == null)
|
||||||
//{
|
{
|
||||||
// CreateAndAddAnus();
|
CreateAndAddAnus();
|
||||||
//}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void PostAdd()
|
public override void PostAdd()
|
||||||
{
|
{
|
||||||
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
||||||
base.PostAdd();
|
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
|
// Some sources add Genes before they fire, e.g. Character Editor
|
||||||
// This should harden the gene, to solve #19
|
// This should harden the gene, to solve #19
|
||||||
if (HasAlreadyTwoAnus())
|
if (HasAlreadyTwoAnus())
|
||||||
|
|
|
||||||
|
|
@ -16,23 +16,23 @@ namespace RJW_Genes
|
||||||
|
|
||||||
// Some sources add Genes before they fire, e.g. Character Editor
|
// Some sources add Genes before they fire, e.g. Character Editor
|
||||||
// This should harden the gene, to solve #19
|
// This should harden the gene, to solve #19
|
||||||
//if (HasAlreadyTwoBreasts())
|
if (HasAlreadyTwoBreasts())
|
||||||
//{
|
{
|
||||||
// return;
|
return;
|
||||||
//}
|
}
|
||||||
|
|
||||||
//// Tits are only added for female pawns!
|
// Tits are only added for female pawns!
|
||||||
//if (GenderUtility.IsFemale(pawn) && additional_breasts == null)
|
if (GenderUtility.IsFemale(pawn) && additional_breasts == null)
|
||||||
//{
|
{
|
||||||
// CreateAndAddBreasts();
|
CreateAndAddBreasts();
|
||||||
//}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void PostAdd()
|
public override void PostAdd()
|
||||||
{
|
{
|
||||||
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
||||||
base.PostAdd();
|
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
|
// Some sources add Genes before they fire, e.g. Character Editor
|
||||||
// This should harden the gene, to solve #19
|
// This should harden the gene, to solve #19
|
||||||
if (HasAlreadyTwoBreasts())
|
if (HasAlreadyTwoBreasts())
|
||||||
|
|
|
||||||
|
|
@ -16,23 +16,23 @@ namespace RJW_Genes
|
||||||
|
|
||||||
// Some sources add Genes before they fire, e.g. Character Editor
|
// Some sources add Genes before they fire, e.g. Character Editor
|
||||||
// This should harden the gene, to solve #19
|
// This should harden the gene, to solve #19
|
||||||
//if (HasAlreadyTwoPenis())
|
if (HasAlreadyTwoPenis())
|
||||||
//{
|
{
|
||||||
// return;
|
return;
|
||||||
//}
|
}
|
||||||
|
|
||||||
// Penis are only added for male pawns!
|
// Penis are only added for male pawns!
|
||||||
//if (GenderUtility.IsMale(pawn) && additional_penis == null)
|
if (GenderUtility.IsMale(pawn) && additional_penis == null)
|
||||||
//{
|
{
|
||||||
// CreateAndAddPenis();
|
CreateAndAddPenis();
|
||||||
//}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void PostAdd()
|
public override void PostAdd()
|
||||||
{
|
{
|
||||||
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
||||||
base.PostAdd();
|
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
|
// Some sources add Genes before they fire, e.g. Character Editor
|
||||||
// This should harden the gene, to solve #19
|
// This should harden the gene, to solve #19
|
||||||
if (HasAlreadyTwoPenis())
|
if (HasAlreadyTwoPenis())
|
||||||
|
|
|
||||||
|
|
@ -21,23 +21,23 @@ namespace RJW_Genes
|
||||||
|
|
||||||
// Some sources add Genes before they fire, e.g. Character Editor
|
// Some sources add Genes before they fire, e.g. Character Editor
|
||||||
// This should harden the gene, to solve #19
|
// This should harden the gene, to solve #19
|
||||||
//if (HasAlreadyTwoVaginas())
|
if (HasAlreadyTwoVaginas())
|
||||||
//{
|
{
|
||||||
// return;
|
return;
|
||||||
//}
|
}
|
||||||
|
|
||||||
//// Vaginas are only added for female pawns!
|
// Vaginas are only added for female pawns!
|
||||||
//if (GenderUtility.IsFemale(pawn) && additional_vagina == null)
|
if (GenderUtility.IsFemale(pawn) && additional_vagina == null)
|
||||||
//{
|
{
|
||||||
// CreateAndAddVagina();
|
CreateAndAddVagina();
|
||||||
//}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void PostAdd()
|
public override void PostAdd()
|
||||||
{
|
{
|
||||||
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
||||||
base.PostAdd();
|
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
|
// Some sources add Genes before they fire, e.g. Character Editor
|
||||||
// This should harden the gene, to solve #19
|
// This should harden the gene, to solve #19
|
||||||
if (HasAlreadyTwoVaginas())
|
if (HasAlreadyTwoVaginas())
|
||||||
|
|
|
||||||
|
|
@ -11,18 +11,18 @@ namespace RJW_Genes
|
||||||
{
|
{
|
||||||
base.PostMake();
|
base.PostMake();
|
||||||
|
|
||||||
//if (removed_breasts == null)
|
if (removed_breasts == null)
|
||||||
//{
|
{
|
||||||
// RemoveButStoreBreasts();
|
RemoveButStoreBreasts();
|
||||||
// AddFeaturelessBreast();
|
AddFeaturelessBreast();
|
||||||
//}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void PostAdd()
|
public override void PostAdd()
|
||||||
{
|
{
|
||||||
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
||||||
base.PostAdd();
|
base.PostAdd();
|
||||||
if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn)) return; //If pawn hasn't been sexualized yet, skip.
|
|
||||||
if (removed_breasts == null)
|
if (removed_breasts == null)
|
||||||
{
|
{
|
||||||
RemoveButStoreBreasts();
|
RemoveButStoreBreasts();
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,6 @@ namespace RJW_Genes
|
||||||
{
|
{
|
||||||
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
||||||
base.PostAdd();
|
base.PostAdd();
|
||||||
if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn)) return; //If pawn hasn't been sexualized yet, skip.
|
|
||||||
if (GenderUtility.IsMale(this.pawn) && this.additional_genital == null)
|
if (GenderUtility.IsMale(this.pawn) && this.additional_genital == null)
|
||||||
{
|
{
|
||||||
this.CreateAndAddVagina();
|
this.CreateAndAddVagina();
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ namespace RJW_Genes
|
||||||
{
|
{
|
||||||
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
||||||
base.PostAdd();
|
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 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))
|
if (IsAlreadyFuta(pawn))
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -13,17 +13,17 @@ namespace RJW_Genes
|
||||||
{
|
{
|
||||||
base.PostMake();
|
base.PostMake();
|
||||||
|
|
||||||
//if (removed_anus == null)
|
if (removed_anus == null)
|
||||||
//{
|
{
|
||||||
// RemoveButStoreAnus();
|
RemoveButStoreAnus();
|
||||||
//}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void PostAdd()
|
public override void PostAdd()
|
||||||
{
|
{
|
||||||
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
||||||
base.PostAdd();
|
base.PostAdd();
|
||||||
if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn)) return; //If pawn hasn't been sexualized yet, skip.
|
|
||||||
if (removed_anus == null)
|
if (removed_anus == null)
|
||||||
{
|
{
|
||||||
RemoveButStoreAnus();
|
RemoveButStoreAnus();
|
||||||
|
|
|
||||||
|
|
@ -13,18 +13,18 @@ namespace RJW_Genes
|
||||||
{
|
{
|
||||||
base.PostMake();
|
base.PostMake();
|
||||||
|
|
||||||
//// Breasts are removed for female pawns!
|
// Breasts are removed for female pawns!
|
||||||
//if (GenderUtility.IsFemale(pawn) && oldSize < 0)
|
if (GenderUtility.IsFemale(pawn) && oldSize < 0)
|
||||||
//{
|
{
|
||||||
// RemoveButStoreBreasts();
|
RemoveButStoreBreasts();
|
||||||
//}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void PostAdd()
|
public override void PostAdd()
|
||||||
{
|
{
|
||||||
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
||||||
base.PostAdd();
|
base.PostAdd();
|
||||||
if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn)) return; //If pawn hasn't been sexualized yet, skip.
|
|
||||||
// Breasts are removed for female pawns!
|
// Breasts are removed for female pawns!
|
||||||
if (GenderUtility.IsFemale(pawn) && oldSize < 0)
|
if (GenderUtility.IsFemale(pawn) && oldSize < 0)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -13,18 +13,18 @@ namespace RJW_Genes
|
||||||
{
|
{
|
||||||
base.PostMake();
|
base.PostMake();
|
||||||
|
|
||||||
//// Penis are only removed for male pawns!
|
// Penis are only removed for male pawns!
|
||||||
//if (GenderUtility.IsMale(pawn) && removed_penis == null)
|
if (GenderUtility.IsMale(pawn) && removed_penis == null)
|
||||||
//{
|
{
|
||||||
// RemoveButStorePenis();
|
RemoveButStorePenis();
|
||||||
//}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void PostAdd()
|
public override void PostAdd()
|
||||||
{
|
{
|
||||||
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
||||||
base.PostAdd();
|
base.PostAdd();
|
||||||
if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn)) return; //If pawn hasn't been sexualized yet, skip.
|
|
||||||
// Penis are only removed for male pawns!
|
// Penis are only removed for male pawns!
|
||||||
if (GenderUtility.IsMale(pawn) && removed_penis == null)
|
if (GenderUtility.IsMale(pawn) && removed_penis == null)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -14,17 +14,17 @@ namespace RJW_Genes
|
||||||
base.PostMake();
|
base.PostMake();
|
||||||
|
|
||||||
// Vaginas are only removed for female pawns!
|
// Vaginas are only removed for female pawns!
|
||||||
//if (GenderUtility.IsFemale(pawn) && removed_vagina == null)
|
if (GenderUtility.IsFemale(pawn) && removed_vagina == null)
|
||||||
//{
|
{
|
||||||
// RemoveButStoreVagina();
|
RemoveButStoreVagina();
|
||||||
//}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void PostAdd()
|
public override void PostAdd()
|
||||||
{
|
{
|
||||||
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
||||||
base.PostAdd();
|
base.PostAdd();
|
||||||
if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn)) return; //If pawn hasn't been sexualized yet, skip.
|
|
||||||
// Vaginas are only removed for female pawns!
|
// Vaginas are only removed for female pawns!
|
||||||
if (GenderUtility.IsFemale(pawn) && removed_vagina == null)
|
if (GenderUtility.IsFemale(pawn) && removed_vagina == null)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ namespace RJW_Genes
|
||||||
{
|
{
|
||||||
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
||||||
base.PostAdd();
|
base.PostAdd();
|
||||||
if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn)) return; //If pawn hasn't been sexualized yet, skip.
|
|
||||||
AddUdders();
|
AddUdders();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,16 +9,15 @@
|
||||||
{
|
{
|
||||||
base.PostMake();
|
base.PostMake();
|
||||||
|
|
||||||
//float multipier = FluidUtility.LookupFluidMultiplier(this);
|
float multipier = FluidUtility.LookupFluidMultiplier(this);
|
||||||
//FluidUtility.MultiplyFluidAmountBy(pawn, multipier);
|
FluidUtility.MultiplyFluidAmountBy(pawn, multipier);
|
||||||
//has_been_fired = true;
|
has_been_fired = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void PostAdd()
|
public override void PostAdd()
|
||||||
{
|
{
|
||||||
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
||||||
base.PostAdd();
|
base.PostAdd();
|
||||||
if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn)) return; //If pawn hasn't been sexualized yet, skip.
|
|
||||||
if (!has_been_fired)
|
if (!has_been_fired)
|
||||||
{
|
{
|
||||||
float multipier = FluidUtility.LookupFluidMultiplier(this);
|
float multipier = FluidUtility.LookupFluidMultiplier(this);
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,6 @@ namespace RJW_Genes
|
||||||
{
|
{
|
||||||
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
||||||
base.PostAdd();
|
base.PostAdd();
|
||||||
if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn)) return; //If pawn hasn't been sexualized yet, skip.
|
|
||||||
Apply();
|
Apply();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,10 +15,8 @@ namespace RJW_Genes
|
||||||
{
|
{
|
||||||
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
||||||
base.PostMake();
|
base.PostMake();
|
||||||
if (this.Active) {
|
AdjustPawnToFemale();
|
||||||
AdjustPawnToFemale();
|
GenderUtility.RemoveSexChangeThoughtsIfTooYoung(this.pawn);
|
||||||
GenderUtility.RemoveSexChangeThoughtsIfTooYoung(this.pawn);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AdjustPawnToFemale()
|
private void AdjustPawnToFemale()
|
||||||
|
|
|
||||||
|
|
@ -56,16 +56,14 @@ namespace RJW_Genes
|
||||||
// Case 2: Check every interval if the Chance triggers
|
// Case 2: Check every interval if the Chance triggers
|
||||||
else if (pawn.IsHashIntervalTick(change_interval) && (new Random()).NextDouble() < switch_chance)
|
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))
|
if (SexChangeBlocked(pawn))
|
||||||
{
|
{
|
||||||
sexChangeWasBlocked |= true;
|
sexChangeWasBlocked |= true;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Case 2.C) Nothing blocking, change the sex.
|
// Case 2.B) Nothing blocking, change the sex.
|
||||||
else { ChangeSex();}
|
else { ChangeSex();}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,11 +15,8 @@ namespace RJW_Genes
|
||||||
{
|
{
|
||||||
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
||||||
base.PostMake();
|
base.PostMake();
|
||||||
if (this.Active)
|
AdjustPawnToMale();
|
||||||
{
|
GenderUtility.RemoveSexChangeThoughtsIfTooYoung(this.pawn);
|
||||||
AdjustPawnToMale();
|
|
||||||
GenderUtility.RemoveSexChangeThoughtsIfTooYoung(this.pawn);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AdjustPawnToMale()
|
private void AdjustPawnToMale()
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,6 @@ namespace RJW_Genes
|
||||||
{
|
{
|
||||||
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
||||||
base.PostAdd();
|
base.PostAdd();
|
||||||
if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn)) return; //If pawn hasn't been sexualized yet, skip.
|
|
||||||
Apply();
|
Apply();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -32,18 +32,17 @@ namespace RJW_Genes
|
||||||
public override void PostMake()
|
public override void PostMake()
|
||||||
{
|
{
|
||||||
base.PostMake();
|
base.PostMake();
|
||||||
//if (pawn.ageTracker.AgeBiologicalYears >= RJW_Genes_Settings.rjw_genes_resizing_age)
|
if (pawn.ageTracker.AgeBiologicalYears >= RJW_Genes_Settings.rjw_genes_resizing_age)
|
||||||
//{
|
{
|
||||||
// Resize();
|
Resize();
|
||||||
// ResizingWasApplied = true;
|
ResizingWasApplied = true;
|
||||||
//}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void PostAdd()
|
public override void PostAdd()
|
||||||
{
|
{
|
||||||
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
||||||
base.PostAdd();
|
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)
|
if (pawn.ageTracker.AgeBiologicalYears >= RJW_Genes_Settings.rjw_genes_resizing_age)
|
||||||
{
|
{
|
||||||
Resize();
|
Resize();
|
||||||
|
|
|
||||||
|
|
@ -46,13 +46,8 @@ namespace RJW_Genes
|
||||||
}
|
}
|
||||||
|
|
||||||
// Increase Fluid
|
// Increase Fluid
|
||||||
// Increase Fluid, if it's already above 10x don't increase to avoid crash issues.
|
if (CompHediff != null)
|
||||||
if (CompHediff != null && (CompHediff.partFluidMultiplier < 100))
|
|
||||||
{
|
|
||||||
CompHediff.partFluidMultiplier *= 1.05f;
|
CompHediff.partFluidMultiplier *= 1.05f;
|
||||||
if (CompHediff.partFluidMultiplier > 100)
|
|
||||||
CompHediff.partFluidMultiplier = 100;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,7 @@ namespace RJW_Genes
|
||||||
ModLog.Message("Pawn: " + __instance.pawn.NameShortColored + " (" + __instance.pawn.ThingID + ")");
|
ModLog.Message("Pawn: " + __instance.pawn.NameShortColored + " (" + __instance.pawn.ThingID + ")");
|
||||||
ModLog.Message("birthCount: " + laborStateMap.TryGetValue(__instance.pawn.ThingID).birthCount);
|
ModLog.Message("birthCount: " + laborStateMap.TryGetValue(__instance.pawn.ThingID).birthCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -45,7 +46,7 @@ namespace RJW_Genes
|
||||||
if (laborStateIsNull && hasLitteredBirthsGene)
|
if (laborStateIsNull && hasLitteredBirthsGene)
|
||||||
{
|
{
|
||||||
ModLog.Message("Found littered births gene");
|
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));
|
laborStateMap.SetOrAdd(__instance.pawn.ThingID, new LaborState(__instance.pawn, litteredBirthsTotalRoll));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -118,7 +119,7 @@ namespace RJW_Genes
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (currentLaborState.birthTotal <= currentLaborState.birthCount)
|
if (currentLaborState.birthTotal == currentLaborState.birthCount)
|
||||||
{
|
{
|
||||||
laborStateMap.Remove(__instance.pawn.ThingID);
|
laborStateMap.Remove(__instance.pawn.ThingID);
|
||||||
if (__instance.pawn.health.hediffSet.HasHediff(HediffDef.Named("Bioscaffold")))
|
if (__instance.pawn.health.hediffSet.HasHediff(HediffDef.Named("Bioscaffold")))
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,8 @@ using System.Threading.Tasks;
|
||||||
using rjw;
|
using rjw;
|
||||||
using Verse;
|
using Verse;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
namespace RJW_Genes
|
namespace RJW_Genes
|
||||||
{
|
{
|
||||||
[Obsolete]
|
|
||||||
internal static class Patch_sexualize_pawn
|
internal static class Patch_sexualize_pawn
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,12 @@ namespace RJW_Genes
|
||||||
public override void PostAdd()
|
public override void PostAdd()
|
||||||
{
|
{
|
||||||
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
if (pawn.kindDef == null) return; //Added to catch Rimworld creating statues of pawns.
|
||||||
|
if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
|
||||||
|
{
|
||||||
|
Sexualizer.sexualize_pawn(pawn);
|
||||||
|
}
|
||||||
base.PostAdd();
|
base.PostAdd();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -32,8 +37,5 @@ namespace RJW_Genes
|
||||||
public virtual void Notify_OnPawnGeneration()
|
public virtual void Notify_OnPawnGeneration()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public virtual void Notify_OnPawnSexualization() { }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -59,13 +59,9 @@ namespace RJW_Genes
|
||||||
}
|
}
|
||||||
CompHediff.UpdateSeverity();
|
CompHediff.UpdateSeverity();
|
||||||
|
|
||||||
// Increase Fluid, if it's already above 10x don't increase to avoid crash issues.
|
// Increase Fluid
|
||||||
if (CompHediff != null && (CompHediff.partFluidMultiplier < 100))
|
if (CompHediff != null)
|
||||||
{
|
|
||||||
CompHediff.partFluidMultiplier *= cum_multiplier;
|
CompHediff.partFluidMultiplier *= cum_multiplier;
|
||||||
if (CompHediff.partFluidMultiplier > 100)
|
|
||||||
CompHediff.partFluidMultiplier = 100;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -48,12 +48,10 @@ namespace RJW_Genes
|
||||||
//harmony.Patch(AccessTools.Method(typeof(Quirk), nameof(Quirk.CountSatisfiedQuirks)),
|
//harmony.Patch(AccessTools.Method(typeof(Quirk), nameof(Quirk.CountSatisfiedQuirks)),
|
||||||
//postfix: new HarmonyMethod(typeof(QuirkPatcher), nameof(QuirkPatcher.CountSatisfiedPostfix)));
|
//postfix: new HarmonyMethod(typeof(QuirkPatcher), nameof(QuirkPatcher.CountSatisfiedPostfix)));
|
||||||
|
|
||||||
|
|
||||||
//RJW.Sexualizer.sexualize_pawn
|
//RJW.Sexualizer.sexualize_pawn
|
||||||
harmony.Patch(AccessTools.Method(typeof(Sexualizer), nameof(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.
|
prefix: new HarmonyMethod(typeof(Patch_sexualize_pawn), nameof(Patch_sexualize_pawn.PreFix)));
|
||||||
postfix: new HarmonyMethod(typeof(Patch_RJWSexualizer), nameof(Patch_RJWSexualizer.ApplyGenesPostfix)));
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//Patch for Elastic Gene support with Eltoro's Streching mod.
|
//Patch for Elastic Gene support with Eltoro's Streching mod.
|
||||||
|
|
|
||||||
|
|
@ -32,4 +32,4 @@ using System.Runtime.InteropServices;
|
||||||
// You can specify all the values or you can default the Build and Revision Numbers
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("2.7.0")]
|
[assembly: AssemblyVersion("2.6.2")]
|
||||||
|
|
|
||||||
|
|
@ -22,16 +22,6 @@
|
||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
<Prefer32Bit>false</Prefer32Bit>
|
<Prefer32Bit>false</Prefer32Bit>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
|
|
||||||
<OutputPath>..\Assemblies\</OutputPath>
|
|
||||||
<Optimize>true</Optimize>
|
|
||||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
|
||||||
<LangVersion>9</LangVersion>
|
|
||||||
<ErrorReport>prompt</ErrorReport>
|
|
||||||
<DebugType>portable</DebugType>
|
|
||||||
<DebugSymbols>true</DebugSymbols>
|
|
||||||
<DefineConstants>TRACE;DEBUG</DefineConstants>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\About\**" />
|
<None Include="..\About\**" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
@ -41,7 +31,6 @@
|
||||||
<Compile Include="Common\Defs\HediffIncreaseOnSexExtension.cs" />
|
<Compile Include="Common\Defs\HediffIncreaseOnSexExtension.cs" />
|
||||||
<Compile Include="Common\Defs\ModExtensionHelper.cs" />
|
<Compile Include="Common\Defs\ModExtensionHelper.cs" />
|
||||||
<Compile Include="Common\Defs\MultiplierExtension.cs" />
|
<Compile Include="Common\Defs\MultiplierExtension.cs" />
|
||||||
<Compile Include="Common\Defs\SexualizerGeneExtension.cs" />
|
|
||||||
<Compile Include="Common\Defs\TickBasedChanceExtension.cs" />
|
<Compile Include="Common\Defs\TickBasedChanceExtension.cs" />
|
||||||
<Compile Include="Common\Either.cs" />
|
<Compile Include="Common\Either.cs" />
|
||||||
<Compile Include="Common\Helpers\FactionUtility.cs" />
|
<Compile Include="Common\Helpers\FactionUtility.cs" />
|
||||||
|
|
@ -52,7 +41,6 @@
|
||||||
<Compile Include="Common\Patches\PatchImplants.cs" />
|
<Compile Include="Common\Patches\PatchImplants.cs" />
|
||||||
<Compile Include="Common\Patches\Patch_HediffIncreaseOnSex.cs" />
|
<Compile Include="Common\Patches\Patch_HediffIncreaseOnSex.cs" />
|
||||||
<Compile Include="Common\Patches\Patch_ParentRelationUtility_GetParents.cs" />
|
<Compile Include="Common\Patches\Patch_ParentRelationUtility_GetParents.cs" />
|
||||||
<Compile Include="Common\Patches\Patch_RJWSexualizer.cs" />
|
|
||||||
<Compile Include="Genes\Breeding\Abilities\CompAbilityEffect_MatingCall.cs" />
|
<Compile Include="Genes\Breeding\Abilities\CompAbilityEffect_MatingCall.cs" />
|
||||||
<Compile Include="Genes\Breeding\Abilities\CompAbilityEffect_PheromoneSpit.cs" />
|
<Compile Include="Genes\Breeding\Abilities\CompAbilityEffect_PheromoneSpit.cs" />
|
||||||
<Compile Include="Genes\Breeding\Abilities\CompProperties_AbilityMatingCall.cs" />
|
<Compile Include="Genes\Breeding\Abilities\CompProperties_AbilityMatingCall.cs" />
|
||||||
|
|
|
||||||
101
About/About.xml
101
About/About.xml
|
|
@ -1,64 +1,27 @@
|
||||||
<ModMetaData>
|
<ModMetaData>
|
||||||
<name>RJW Genes</name>
|
<name>RJW Genes</name>
|
||||||
<authors>
|
<author>Vegapnk - 1.6 Rewrite by Telanda</author>
|
||||||
<li>Vegapnk</li>
|
|
||||||
<li>1.6 Rewrite by Telanda</li>
|
|
||||||
</authors>
|
|
||||||
<packageId>Vegapnk.rjw.genes</packageId>
|
<packageId>Vegapnk.rjw.genes</packageId>
|
||||||
<modVersion>2.7.0</modVersion>
|
<modVersion>2.6.2</modVersion>
|
||||||
<supportedVersions>
|
<supportedVersions>
|
||||||
<li>1.4</li>
|
<li>1.4</li>
|
||||||
<li>1.5</li>
|
<li>1.5</li>
|
||||||
<li>1.6</li>
|
<li>1.6</li>
|
||||||
</supportedVersions>
|
</supportedVersions>
|
||||||
<description>Adds Genes for RJW Content.
|
<description>
|
||||||
|
Adds Genes for RJW Content.
|
||||||
Adds:
|
Adds:
|
||||||
- Genes for Genitalia Types and Sizes
|
- Genes for Genitalia Types and Sizes
|
||||||
- Fertilin, a resource similiar to Hemogen, and accompanying sex-vampires
|
- Fertilin, a resource similiar to Hemogen, and accompanying sex-vampires
|
||||||
- Mechanics for Breeding and being Breed by Animals and Insects
|
- Mechanics for Breeding and being Breed by Animals and Insects
|
||||||
|
- Inherit genes from bestiality or produce VGE-Hybrids
|
||||||
- Male / Female Only, MPreg, Genderfluid Pawns
|
- Male / Female Only, MPreg, Genderfluid Pawns
|
||||||
- Orgasmic Mytosis, Orgasmic Supercharging, Age-Transfer on Sex, Pheromones
|
- Orgasmic Mytosis, Orgasmic Supercharging, Age-Transfer on Sex, Pheromones
|
||||||
- Cum-Amount changes, Cumflation Immunity
|
- Cum-Amount changes, Cumflation Immunity
|
||||||
- Horny Pheromones, Animal Mating Call
|
- Horny Pheromones, Animal Mating Call
|
||||||
- Genetic Diseases that Spread on Intercourse
|
- Genetic Diseases that Spread on Intercourse
|
||||||
|
- Patches for some popular Xenotypes from the Workshop
|
||||||
- Sexual Taming of Animals
|
- 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
|
|
||||||
</description>
|
</description>
|
||||||
<url>https://github.com/vegapnk/RJW-Genes</url>
|
<url>https://github.com/vegapnk/RJW-Genes</url>
|
||||||
<modDependencies>
|
<modDependencies>
|
||||||
|
|
@ -77,51 +40,27 @@ https://discord.gg/UWZ3WfVWeK
|
||||||
<steamWorkshopUrl>steam://url/CommunityFilePage/2009463077</steamWorkshopUrl>
|
<steamWorkshopUrl>steam://url/CommunityFilePage/2009463077</steamWorkshopUrl>
|
||||||
<downloadUrl>https://github.com/pardeike/HarmonyRimWorld/releases/latest</downloadUrl>
|
<downloadUrl>https://github.com/pardeike/HarmonyRimWorld/releases/latest</downloadUrl>
|
||||||
</li>
|
</li>
|
||||||
|
<!--
|
||||||
|
<li>
|
||||||
|
<packageId>vegapnk.cumpilation</packageId>
|
||||||
|
<displayName>Cumpilation</displayName>
|
||||||
|
<steamWorkshopUrl></steamWorkshopUrl>
|
||||||
|
<downloadUrl>https://github.com/vegapnk/Cumpilation</downloadUrl>
|
||||||
|
</li>
|
||||||
|
-->
|
||||||
</modDependencies>
|
</modDependencies>
|
||||||
<loadAfter>
|
<loadAfter>
|
||||||
<li>ASMR.RJW.RaceSupport</li>
|
|
||||||
<li>biotexpans.insect</li>
|
|
||||||
<li>biotexpans.mammalia</li>
|
|
||||||
<li>biotexpans.mythic</li>
|
|
||||||
<li>brrainz.harmony</li>
|
|
||||||
<li>CaptoLamia.NyaronBioTechHAR</li>
|
|
||||||
<li>erin.auronyabiotech</li>
|
|
||||||
<li>erin.shisune</li>
|
|
||||||
<li>Ludeon.RimWorld.Biotech</li>
|
|
||||||
<li>Ludeon.RimWorld.Ideology</li>
|
|
||||||
<li>Ludeon.RimWorld.Royalty</li>
|
|
||||||
<li>Ludeon.RimWorld</li>
|
<li>Ludeon.RimWorld</li>
|
||||||
<li>lyzz.naraixenotype</li>
|
<li>Ludeon.RimWorld.Royalty</li>
|
||||||
<li>obsidiaexpansion.xenos.arachnas</li>
|
<li>Ludeon.RimWorld.Ideology</li>
|
||||||
<li>OskarPotocki.VanillaFactionsExpanded.Core</li>
|
<li>Ludeon.RimWorld.Biotech</li>
|
||||||
<li>oskarpotocki.vfe.empire</li>
|
|
||||||
<li>redmattis.bsslimes</li>
|
|
||||||
<li>redmattis.heaven</li>
|
|
||||||
<li>redmattis.lamiasandothersnakes</li>
|
|
||||||
<li>redmattis.undead</li>
|
|
||||||
<li>redmattis.yokai</li>
|
|
||||||
<li>rim.job.world</li>
|
<li>rim.job.world</li>
|
||||||
<li>rimsenal.askbarn</li>
|
<li>brrainz.harmony</li>
|
||||||
<li>rjw.sexperience.cumgenes</li>
|
<li>OskarPotocki.VanillaFactionsExpanded.Core</li>
|
||||||
<li>sarg.alphaanimals</li>
|
<li>sarg.alphaanimals</li>
|
||||||
<li>sarg.alphagenes</li>
|
|
||||||
<li>Sl4vP0weR.DominantGene</li>
|
<li>Sl4vP0weR.DominantGene</li>
|
||||||
<li>ssulunge.kijinrace3</li>
|
<li>rjw.sexperience.cumgenes</li>
|
||||||
<li>tug.minotaur</li>
|
|
||||||
<li>tug.satyr</li>
|
|
||||||
<li>v.rooboid.faun</li>
|
|
||||||
<li>VanillaExpanded.VGeneticsE</li>
|
|
||||||
<li>vanillaracesexpanded.android</li>
|
|
||||||
<li>vanillaracesexpanded.archon</li>
|
|
||||||
<li>vanillaracesexpanded.fungoid</li>
|
|
||||||
<li>vanillaracesexpanded.genie</li>
|
|
||||||
<li>vanillaracesexpanded.highmate</li>
|
|
||||||
<li>vanillaracesexpanded.lycanthrope</li>
|
|
||||||
<li>vanillaracesexpanded.phytokin</li>
|
|
||||||
<li>vanillaracesexpanded.sanguophage</li>
|
|
||||||
<li>vanillaracesexpanded.saurid</li>
|
|
||||||
<li>vegapnk.cumpilation</li>
|
<li>vegapnk.cumpilation</li>
|
||||||
<li>zal.papou</li>
|
|
||||||
</loadAfter>
|
</loadAfter>
|
||||||
|
|
||||||
</ModMetaData>
|
</ModMetaData>
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
<Manifest>
|
<Manifest>
|
||||||
<identifier>RJW-Genes</identifier>
|
<identifier>RJW-Genes</identifier>
|
||||||
<version>2.7.0</version>
|
<version>2.6.2</version>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<li>RimJobWorld</li>
|
<li>RimJobWorld</li>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
|
||||||
49
CHANGELOG.md
49
CHANGELOG.md
|
|
@ -1,51 +1,4 @@
|
||||||
# 2.7.0 (23-07-2026)
|
#INPROG
|
||||||
(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.)
|
|
||||||
|
|
||||||
|
|
||||||
# 2.6.2 (15-02-2026)
|
# 2.6.2 (15-02-2026)
|
||||||
(Commit by @Telanda-DDS)
|
(Commit by @Telanda-DDS)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue