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>
|
||||
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
|
||||
</li>
|
||||
<li Class="RJW_Genes.SexualizerGeneExtension">
|
||||
<order>20</order>
|
||||
</li>
|
||||
</modExtensions>
|
||||
</GeneDef>
|
||||
|
||||
|
|
|
|||
|
|
@ -11,9 +11,6 @@
|
|||
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
|
||||
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
|
||||
</li>
|
||||
<li Class="RJW_Genes.SexualizerGeneExtension">
|
||||
<order>50</order>
|
||||
</li>
|
||||
</modExtensions>
|
||||
</GeneDef>
|
||||
|
||||
|
|
@ -75,9 +72,6 @@
|
|||
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
|
||||
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
|
||||
</li>
|
||||
<li Class="RJW_Genes.SexualizerGeneExtension">
|
||||
<order>50</order>
|
||||
</li>
|
||||
</modExtensions>
|
||||
</GeneDef>
|
||||
|
||||
|
|
|
|||
|
|
@ -9,9 +9,6 @@
|
|||
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
|
||||
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
|
||||
</li>
|
||||
<li Class="RJW_Genes.SexualizerGeneExtension">
|
||||
<order>50</order>
|
||||
</li>
|
||||
</modExtensions>
|
||||
</GeneDef>
|
||||
|
||||
|
|
|
|||
|
|
@ -14,9 +14,6 @@
|
|||
<backgroundPathEndogenes>Genes/Icons/RJW_Genes_Endogene_Background</backgroundPathEndogenes>
|
||||
<backgroundPathXenogenes>Genes/Icons/RJW_Genes_Xenogene_Background</backgroundPathXenogenes>
|
||||
</li>
|
||||
<li Class="RJW_Genes.SexualizerGeneExtension">
|
||||
<order>30</order>
|
||||
</li>
|
||||
</modExtensions>
|
||||
</GeneDef>
|
||||
|
||||
|
|
|
|||
|
|
@ -11,9 +11,9 @@
|
|||
<xpath>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</xpath>
|
||||
or defName = "Los_Adderman"
|
||||
or defName = "Los_Anacondaman"
|
||||
or defName = "Los_Snakeman"]/genes</xpath>
|
||||
<value>
|
||||
<li>rjw_genes_reptilian_genitalia</li>
|
||||
</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>
|
||||
</match>
|
||||
</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>
|
||||
|
|
@ -2,10 +2,10 @@
|
|||
<Patch>
|
||||
<Operation Class="PatchOperationFindMod">
|
||||
<mods>
|
||||
<li>Papou Xenotype: Emotional Birds (Continued)</li>
|
||||
<li>Papou Race : emotional birds</li>
|
||||
</mods>
|
||||
<match Class="PatchOperationAdd">
|
||||
<xpath>Defs/XenotypeDef[defName="Papago"]/genes</xpath>
|
||||
<xpath>Defs/XenotypeDef[defName="papago"]/genes</xpath>
|
||||
<value>
|
||||
<li>rjw_genes_orgasm_rush</li>
|
||||
<li>rjw_genes_tight_female_genitalia</li>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
<match Class="PatchOperationAdd">
|
||||
<xpath>Defs/XenotypeDef[defName="RBSF_Faun"]/genes</xpath>
|
||||
<value>
|
||||
<li>rjw_genes_Needle_genitalia</li>
|
||||
<li>rjw_genes_equine_genitalia</li>
|
||||
<li>rjw_genes_zoophile</li>
|
||||
<li>rjw_genes_mating_call</li>
|
||||
<li>rjw_genes_tight_female_genitalia</li>
|
||||
|
|
|
|||
|
|
@ -7,10 +7,8 @@
|
|||
<match Class="PatchOperationAdd">
|
||||
<xpath>Defs/XenotypeDef[defName="RBSF_Satyr"]/genes</xpath>
|
||||
<value>
|
||||
<li>rjw_genes_equine_genitalia</li>
|
||||
<li>rjw_genes_aphrodisiac_pheromones</li>
|
||||
<li>rjw_genes_much_fluid</li>
|
||||
<li>rjw_genes_zoophile</li>
|
||||
</value>
|
||||
</match>
|
||||
</Operation>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -11,4 +11,5 @@ namespace RJW_Genes
|
|||
{
|
||||
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 Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>portable</DebugType>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\Mods\Cumpilation\Assemblies\</OutputPath>
|
||||
<DefineConstants>
|
||||
|
|
|
|||
|
|
@ -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())
|
||||
|
|
|
|||
|
|
@ -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())
|
||||
|
|
|
|||
|
|
@ -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())
|
||||
|
|
|
|||
|
|
@ -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())
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -15,11 +15,9 @@ 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);
|
||||
}
|
||||
}
|
||||
|
||||
private void AdjustPawnToFemale()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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();}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -15,12 +15,9 @@ 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);
|
||||
}
|
||||
}
|
||||
|
||||
private void AdjustPawnToMale()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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")))
|
||||
|
|
|
|||
|
|
@ -6,11 +6,8 @@ using System.Threading.Tasks;
|
|||
using rjw;
|
||||
using Verse;
|
||||
|
||||
|
||||
|
||||
namespace RJW_Genes
|
||||
{
|
||||
[Obsolete]
|
||||
internal static class Patch_sexualize_pawn
|
||||
{
|
||||
/// <summary>
|
||||
|
|
|
|||
|
|
@ -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() { }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -51,9 +51,7 @@ namespace RJW_Genes
|
|||
|
||||
//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.
|
||||
|
|
|
|||
|
|
@ -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")]
|
||||
|
|
|
|||
|
|
@ -22,16 +22,6 @@
|
|||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</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>
|
||||
<None Include="..\About\**" />
|
||||
</ItemGroup>
|
||||
|
|
@ -41,7 +31,6 @@
|
|||
<Compile Include="Common\Defs\HediffIncreaseOnSexExtension.cs" />
|
||||
<Compile Include="Common\Defs\ModExtensionHelper.cs" />
|
||||
<Compile Include="Common\Defs\MultiplierExtension.cs" />
|
||||
<Compile Include="Common\Defs\SexualizerGeneExtension.cs" />
|
||||
<Compile Include="Common\Defs\TickBasedChanceExtension.cs" />
|
||||
<Compile Include="Common\Either.cs" />
|
||||
<Compile Include="Common\Helpers\FactionUtility.cs" />
|
||||
|
|
@ -52,7 +41,6 @@
|
|||
<Compile Include="Common\Patches\PatchImplants.cs" />
|
||||
<Compile Include="Common\Patches\Patch_HediffIncreaseOnSex.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_PheromoneSpit.cs" />
|
||||
<Compile Include="Genes\Breeding\Abilities\CompProperties_AbilityMatingCall.cs" />
|
||||
|
|
|
|||
101
About/About.xml
101
About/About.xml
|
|
@ -1,64 +1,27 @@
|
|||
<ModMetaData>
|
||||
<name>RJW Genes</name>
|
||||
<authors>
|
||||
<li>Vegapnk</li>
|
||||
<li>1.6 Rewrite by Telanda</li>
|
||||
</authors>
|
||||
<author>Vegapnk - 1.6 Rewrite by Telanda</author>
|
||||
<packageId>Vegapnk.rjw.genes</packageId>
|
||||
<modVersion>2.7.0</modVersion>
|
||||
<modVersion>2.6.2</modVersion>
|
||||
<supportedVersions>
|
||||
<li>1.4</li>
|
||||
<li>1.5</li>
|
||||
<li>1.6</li>
|
||||
</supportedVersions>
|
||||
<description>Adds Genes for RJW Content.
|
||||
<description>
|
||||
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
|
||||
</description>
|
||||
<url>https://github.com/vegapnk/RJW-Genes</url>
|
||||
<modDependencies>
|
||||
|
|
@ -77,51 +40,27 @@ https://discord.gg/UWZ3WfVWeK
|
|||
<steamWorkshopUrl>steam://url/CommunityFilePage/2009463077</steamWorkshopUrl>
|
||||
<downloadUrl>https://github.com/pardeike/HarmonyRimWorld/releases/latest</downloadUrl>
|
||||
</li>
|
||||
<!--
|
||||
<li>
|
||||
<packageId>vegapnk.cumpilation</packageId>
|
||||
<displayName>Cumpilation</displayName>
|
||||
<steamWorkshopUrl></steamWorkshopUrl>
|
||||
<downloadUrl>https://github.com/vegapnk/Cumpilation</downloadUrl>
|
||||
</li>
|
||||
-->
|
||||
</modDependencies>
|
||||
<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>lyzz.naraixenotype</li>
|
||||
<li>obsidiaexpansion.xenos.arachnas</li>
|
||||
<li>OskarPotocki.VanillaFactionsExpanded.Core</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>Ludeon.RimWorld.Royalty</li>
|
||||
<li>Ludeon.RimWorld.Ideology</li>
|
||||
<li>Ludeon.RimWorld.Biotech</li>
|
||||
<li>rim.job.world</li>
|
||||
<li>rimsenal.askbarn</li>
|
||||
<li>rjw.sexperience.cumgenes</li>
|
||||
<li>brrainz.harmony</li>
|
||||
<li>OskarPotocki.VanillaFactionsExpanded.Core</li>
|
||||
<li>sarg.alphaanimals</li>
|
||||
<li>sarg.alphagenes</li>
|
||||
<li>Sl4vP0weR.DominantGene</li>
|
||||
<li>ssulunge.kijinrace3</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>rjw.sexperience.cumgenes</li>
|
||||
<li>vegapnk.cumpilation</li>
|
||||
<li>zal.papou</li>
|
||||
</loadAfter>
|
||||
|
||||
</ModMetaData>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Manifest>
|
||||
<identifier>RJW-Genes</identifier>
|
||||
<version>2.7.0</version>
|
||||
<version>2.6.2</version>
|
||||
<dependencies>
|
||||
<li>RimJobWorld</li>
|
||||
</dependencies>
|
||||
|
|
|
|||
49
CHANGELOG.md
49
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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue