diff --git a/About/About.xml b/About/About.xml
index 5d46796..a414d20 100644
--- a/About/About.xml
+++ b/About/About.xml
@@ -13,13 +13,13 @@
RimJobWorld
https://www.loverslab.com/files/file/7257-rimjobworld/
+
diff --git a/Common/Assemblies/0Harmony.dll b/Common/Assemblies/0Harmony.dll
deleted file mode 100644
index 86fc5eb..0000000
Binary files a/Common/Assemblies/0Harmony.dll and /dev/null differ
diff --git a/Common/Assemblies/Rjw-Genes.dll b/Common/Assemblies/Rjw-Genes.dll
index db2c867..5b7deea 100644
Binary files a/Common/Assemblies/Rjw-Genes.dll and b/Common/Assemblies/Rjw-Genes.dll differ
diff --git a/Common/Defs/GeneDefs_Breeding.xml b/Common/Defs/GeneDefs_Breeding.xml
deleted file mode 100644
index 9e9a4a2..0000000
--- a/Common/Defs/GeneDefs_Breeding.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
- rjw_genes_mechbreeder
-
- Pawns with this gene are able to birth mechanoids unharmed.
- World/WorldObjects/Expanding/Mechanoids
- 51
- rjw_genes_breeding
-
-
-
- rjw_genes_insectincubator
-
- Pawns with this gene are able to hold more insect eggs.
- World/WorldObjects/Expanding/Mechanoids
- 52
- rjw_genes_breeding
-
-
-
- rjw_genes_insectbreeder
-
- Pawns with this gene are able to fertilize eggs with any fertile penis.
- World/WorldObjects/Expanding/Mechanoids
- 53
- rjw_genes_breeding
-
-
-
\ No newline at end of file
diff --git a/Common/Defs/Genes/GeneCategories.xml b/Common/Defs/Genes/GeneCategories.xml
index a5e53c1..e9b727b 100644
--- a/Common/Defs/Genes/GeneCategories.xml
+++ b/Common/Defs/Genes/GeneCategories.xml
@@ -1,27 +1,10 @@
-
-
-
- rjw_genes_gender
-
- 20
-
-
rjw_genes_genitalia
- 16
-
-
-
- rjw_genes_breeding
-
- 15
+ 541
\ No newline at end of file
diff --git a/Common/Defs/Genes/GeneDefs_ExtraGenitaliaEndogenes.xml b/Common/Defs/Genes/GeneDefs_ExtraGenitaliaEndogenes.xml
index 703d8db..3242cb6 100644
--- a/Common/Defs/Genes/GeneDefs_ExtraGenitaliaEndogenes.xml
+++ b/Common/Defs/Genes/GeneDefs_ExtraGenitaliaEndogenes.xml
@@ -11,7 +11,7 @@
Males of this species grow an additional penis .
Genes/Icons/Placeholder
RJW_Genes.Gene_ExtraPenis
- 701
+ 20
PenisAmount
@@ -23,7 +23,7 @@
Males of this do not have a penis.
Genes/Icons/Placeholder
RJW_Genes.Gene_NoPenis
- 702
+ 21
PenisAmount
@@ -36,7 +36,7 @@
Females of this species grow an additional vagina .
Genes/Icons/Placeholder
RJW_Genes.Gene_ExtraVagina
- 703
+ 22
VaginaAmount
@@ -48,7 +48,7 @@
Females of this do not have a vagina.
Genes/Icons/Placeholder
RJW_Genes.Gene_NoVagina
- 704
+ 23
VaginaAmount
@@ -61,7 +61,7 @@
Females of this species grow an additional pair of breasts .
Genes/Icons/Placeholder
RJW_Genes.Gene_ExtraBreasts
- 705
+ 24
BreastAmount
@@ -73,7 +73,7 @@
Females of this do not have a pair of breasts.
Genes/Icons/Placeholder
RJW_Genes.Gene_NoBreasts
- 706
+ 25
BreastAmount
@@ -85,7 +85,7 @@
This specias has an extra anus.
Genes/Icons/Placeholder
RJW_Genes.Gene_ExtraAnus
- 707
+ 26
AnusAmount
@@ -97,7 +97,7 @@
This specias has no anus.
Genes/Icons/Placeholder
RJW_Genes.Gene_NoAnus
- 708
+ 27
AnusAmount
@@ -109,7 +109,7 @@
Males of this xenotype grow additional female genitalia, Females grow additional male genitalia.
Genes/Icons/Placeholder
RJW_Genes.Gene_Futa
- 709
+ 29
PenisAmount
VaginaAmount
diff --git a/Common/Defs/Genes/GeneDefs_GenitaliaSizes.xml b/Common/Defs/Genes/GeneDefs_GenitaliaSizes.xml
index 41dac59..8ecc4c7 100644
--- a/Common/Defs/Genes/GeneDefs_GenitaliaSizes.xml
+++ b/Common/Defs/Genes/GeneDefs_GenitaliaSizes.xml
@@ -12,7 +12,7 @@
Penises of this Xenotype are bigger.
Genes/Icons/Placeholder
RJW_Genes.Gene_BigMaleGenitalia
- 751
+ 51
PenisSize
@@ -24,7 +24,7 @@
Penises of this Xenotype can be any size.
Genes/Icons/Placeholder
RJW_Genes.Gene_NormalMaleGenitalia
- 752
+ 52
PenisSize
@@ -36,7 +36,7 @@
Penises of this Xenotype are smaller.
Genes/Icons/Placeholder
RJW_Genes.Gene_SmallMaleGenitalia
- 753
+ 53
PenisSize
@@ -49,7 +49,7 @@
Vaginas of this Xenotype are quite spacy.
Genes/Icons/Placeholder
RJW_Genes.Gene_LooseFemaleGenitalia
- 754
+ 54
VaginaSize
@@ -61,7 +61,7 @@
Vaginas of this Xenotype can be any size.
Genes/Icons/Placeholder
RJW_Genes.Gene_NormalFemaleGenitalia
- 755
+ 55
VaginaSize
@@ -73,7 +73,7 @@
Vaginas of this Xenotype are pretty tight.
Genes/Icons/Placeholder
RJW_Genes.Gene_TightFemaleGenitalia
- 756
+ 56
VaginaSize
@@ -86,7 +86,7 @@
Females of this Xenotype have big honkers.
Genes/Icons/Placeholder
RJW_Genes.Gene_BigBreasts
- 757
+ 57
BreastSize
@@ -98,7 +98,7 @@
Females of this Xenotype have breasts of any size.
Genes/Icons/Placeholder
RJW_Genes.Gene_NormalBreasts
- 758
+ 58
BreastSize
@@ -110,7 +110,7 @@
Females of this Xenotype have smaller breasts.
Genes/Icons/Placeholder
RJW_Genes.Gene_SmallBreasts
- 759
+ 59
BreastSize
@@ -123,7 +123,7 @@
The Anus of this Xenotype is roomy.
Genes/Icons/Placeholder
RJW_Genes.Gene_LooseAnus
- 760
+ 60
AnusSize
@@ -135,7 +135,7 @@
Anus of this Xenotype can be any size.
Genes/Icons/Placeholder
RJW_Genes.Gene_NormalAnus
- 761
+ 61
AnusSize
@@ -147,7 +147,7 @@
The anus of this Xenotype is small.
Genes/Icons/Placeholder
RJW_Genes.Gene_TightAnus
- 762
+ 62
AnusSize
diff --git a/Common/Defs/Genes/GeneDefs_GenitaliaTypeEndogenes.xml b/Common/Defs/Genes/GeneDefs_GenitaliaTypeEndogenes.xml
index 39f7f64..ff90a9f 100644
--- a/Common/Defs/Genes/GeneDefs_GenitaliaTypeEndogenes.xml
+++ b/Common/Defs/Genes/GeneDefs_GenitaliaTypeEndogenes.xml
@@ -18,7 +18,7 @@
Carriers of this carry genitalia similar to humans.
Genes/Icons/Placeholder
RJW_Genes.Gene_HumanGenitalia
- 801
+ 1
@@ -27,7 +27,7 @@
Carriers of this gene develop equine genitalia.
Genes/Icons/Placeholder
RJW_Genes.Gene_EquineGenitalia
- 802
+ 2
@@ -36,7 +36,7 @@
Carriers of this gene develop canine genitalia.
Genes/Icons/Placeholder
RJW_Genes.Gene_CanineGenitalia
- 803
+ 3
@@ -45,7 +45,7 @@
Carriers of this gene develop feline genitalia.
Genes/Icons/Placeholder
RJW_Genes.Gene_FelineGenitalia
- 804
+ 4
@@ -54,7 +54,7 @@
Carriers of this gene have demonic genitalia.
Genes/Icons/Placeholder
RJW_Genes.Gene_DemonicGenitalia
- 805
+ 5
@@ -63,7 +63,7 @@
Carriers of this gene develop dragon genitalia.
Genes/Icons/Placeholder
RJW_Genes.Gene_DragonGenitalia
- 806
+ 6
@@ -72,7 +72,7 @@
Carriers of this gene have slime genitalia.
Genes/Icons/Placeholder
RJW_Genes.Gene_SlimeGenitalia
- 807
+ 7
@@ -81,7 +81,7 @@
Carriers of this gene have ovipositors similar to insects.
Genes/Icons/Placeholder
RJW_Genes.Gene_OvipositorGenitalia
- 808
+ 8
\ No newline at end of file
diff --git a/Common/Defs/Genes/GeneDefs_SpecifiedGender.xml b/Common/Defs/Genes/GeneDefs_SpecifiedGender.xml
deleted file mode 100644
index 521e878..0000000
--- a/Common/Defs/Genes/GeneDefs_SpecifiedGender.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
- rjw_genes_female_only
-
- rjw_genes_gender
- This Xenotype only has females.
- 0
- Genes/Icons/Placeholder
- RJW_Genes.Gene_FemaleOnly
- 1
-
-
-
- rjw_genes_male_only
- rjw_genes_gender
-
- This Xenotype only has males.
- 0
- Genes/Icons/Placeholder
- RJW_Genes.Gene_MaleOnly
- 2
-
-
-
\ No newline at end of file
diff --git a/Source/GeneDefOf.cs b/Source/GeneDefOf.cs
index e9a7362..198a961 100644
--- a/Source/GeneDefOf.cs
+++ b/Source/GeneDefOf.cs
@@ -7,7 +7,6 @@ namespace RJW_Genes
public static class GeneDefOf
{
[MayRequireBiotech] public static readonly GeneCategoryDef rjw_genes_genitalia;
- [MayRequireBiotech] public static readonly GeneCategoryDef rjw_genes_gender;
// Base Genitalia Types
[MayRequireBiotech] public static readonly GeneDef rjw_genes_human_genitalia;
@@ -44,13 +43,5 @@ namespace RJW_Genes
[MayRequireBiotech] public static readonly GeneDef rjw_genes_normal_anus;
[MayRequireBiotech] public static readonly GeneDef rjw_genes_tight_anus;
- // Gender
- [MayRequireBiotech] public static readonly GeneDef rjw_genes_female_only;
- [MayRequireBiotech] public static readonly GeneDef rjw_genes_male_only;
-
- // Breeding
- public static readonly GeneDef rjw_genes_mechbreeder;
- public static readonly GeneDef rjw_genes_insectincubator;
- public static readonly GeneDef rjw_genes_insectbreeder;
}
}
diff --git a/Source/Genes/Breeding/Gene_MechBreeder.cs b/Source/Genes/Breeding/Gene_MechBreeder.cs
deleted file mode 100644
index a0a8855..0000000
--- a/Source/Genes/Breeding/Gene_MechBreeder.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-using Verse;
-
-namespace Genes.Breeding
-{
- internal class Gene_MechBreeder : Gene
- {
- // This one does not do anything, the patch is some where else checking for the pawn to have this Gene!
- }
-}
diff --git a/Source/Genes/Breeding/PatchMechBirth.cs b/Source/Genes/Breeding/PatchMechBirth.cs
deleted file mode 100644
index c92e0a9..0000000
--- a/Source/Genes/Breeding/PatchMechBirth.cs
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-using System;
-using System.Collections.Generic;
-using System.Reflection;
-using System.Reflection.Emit;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using HarmonyLib;
-using rjw;
-
-namespace RJW_Genes
-{
- ///
- /// This Class patches the RJW-Mechbirth to not deal damage when the pawn has the MechBreeder Gene.
- /// This harmony patch was kindly provided by 'shabalox' https://github.com/Shabalox/RJW_Genes_Addons/
- ///
- [HarmonyPatch(typeof(Hediff_MechanoidPregnancy), "GiveBirth")]
- public static class PatchMechBirth
- {
- [HarmonyTranspiler]
- public static IEnumerable Transpiler(IEnumerable instructions, ILGenerator il)
- {
- bool found_call = false;
- bool found_skip = false;
- Label skip_label = il.DefineLabel();
- MethodInfo ismechbreeder = AccessTools.Method(typeof(GeneUtility), "IsMechbreeder");
- foreach (CodeInstruction codeInstruction in instructions)
- {
- //Check if the first opcode after endfinally ldloc_0 is and in that case add the label to skip the code
- if (found_skip && codeInstruction.opcode == OpCodes.Ldloc_0)
- {
- codeInstruction.labels.Add(skip_label);
- }
- found_skip = false;
- if (codeInstruction.opcode == OpCodes.Endfinally)
- {
- found_skip = true;
- }
-
- yield return codeInstruction;
-
- if (codeInstruction.opcode == OpCodes.Call)
- {
- if (codeInstruction.operand.ToString() == "Boolean TryMakeFilth(Verse.IntVec3, Verse.Map, Verse.ThingDef, System.String, Int32, RimWorld.FilthSourceFlags)")
- {
- found_call = true;
- }
- }
- //Triggers after the pop opcode (after generating filth in c#).
- else if (found_call)
- {
- //Load pawn, call function to check if a mechbreeder, and skip past the part which does damage
- yield return new CodeInstruction(OpCodes.Ldloc_0, null);
- yield return new CodeInstruction(OpCodes.Call, ismechbreeder);
- yield return new CodeInstruction(OpCodes.Brtrue_S, skip_label);
- found_call = false;
- }
- }
- yield break;
- }
- }
-}
\ No newline at end of file
diff --git a/Source/Genes/Breeding/PatchPawnExtensions.cs b/Source/Genes/Breeding/PatchPawnExtensions.cs
deleted file mode 100644
index 2c36716..0000000
--- a/Source/Genes/Breeding/PatchPawnExtensions.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using HarmonyLib;
-using rjw;
-using Verse;
-
-namespace RJW_Genes
-{
- ///
- /// Kindly provided by 'shabalox' https://github.com/Shabalox/RJW_Genes_Addons/
- ///
- [HarmonyPatch(typeof(PawnExtensions), "RaceImplantEggs")]
- public static class PatchPawnExtensions
- {
- [HarmonyPostfix]
- public static void Postfix(Pawn pawn, ref bool __result)
- {
- if (!__result)
- {
- __result = GeneUtility.isInsectBreeder(pawn);
- }
- }
- }
-}
\ No newline at end of file
diff --git a/Source/Genes/Breeding/PatchPregnancyHelper.cs b/Source/Genes/Breeding/PatchPregnancyHelper.cs
deleted file mode 100644
index 81a0ad4..0000000
--- a/Source/Genes/Breeding/PatchPregnancyHelper.cs
+++ /dev/null
@@ -1,54 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Reflection.Emit;
-using System.Reflection;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using HarmonyLib;
-using Verse;
-using RimWorld;
-using rjw;
-
-namespace RJW_Genes
-{
- ///
- /// This Class patches the RJW-DoEgg to allow up to MaxEggSizeMul times the original amount of eggs.
- /// This harmony patch was kindly provided by 'shabalox' https://github.com/Shabalox/RJW_Genes_Addons/
- ///
- [HarmonyPatch(typeof(PregnancyHelper), "DoEgg")]
- static class PatchPregnancyHelper
- {
- [HarmonyTranspiler]
- public static IEnumerable Transpiler(IEnumerable instructions, ILGenerator il)
- {
- //MethodInfo isinsectincubator = AccessTools.Method(typeof(GeneUtility), "IsInsectIncubator");
- MethodInfo maxeggsizemul = AccessTools.Method(typeof(GeneUtility), "MaxEggSizeMul");
- FieldInfo partner = AccessTools.Field(typeof(SexProps), "partner");
-
- Label skiplabel = il.DefineLabel();
- bool finished = false;
- foreach (CodeInstruction codeInstruction in instructions)
- {
- if (!finished)
- {
- if (codeInstruction.opcode == OpCodes.Ldc_R4 && codeInstruction.operand.ToString() == "0")
- {
- yield return new CodeInstruction(OpCodes.Ldarg_0, null);
- yield return new CodeInstruction(OpCodes.Ldfld, partner);
- //yield return new CodeInstruction(OpCodes.Call, isinsectincubator);
- yield return new CodeInstruction(OpCodes.Callvirt, maxeggsizemul);
- //yield return new CodeInstruction(OpCodes.Brfalse_S, skiplabel);
- yield return new CodeInstruction(OpCodes.Ldloc_0, null);
- //yield return new CodeInstruction(OpCodes.Ldc_R4, 2f);
- yield return new CodeInstruction(OpCodes.Mul, null);
- yield return new CodeInstruction(OpCodes.Stloc_0, null);
- //codeInstruction.labels.Add(skiplabel);
- finished = true;
- }
- }
- yield return codeInstruction;
- }
- }
- }
-}
diff --git a/Source/Genes/ExtraGenitalia/Gene_ExtraAnus.cs b/Source/Genes/ExtraGenitalia/Gene_ExtraAnus.cs
index cea77f2..7bb5953 100644
--- a/Source/Genes/ExtraGenitalia/Gene_ExtraAnus.cs
+++ b/Source/Genes/ExtraGenitalia/Gene_ExtraAnus.cs
@@ -4,7 +4,7 @@ using RimWorld;
namespace RJW_Genes
{
- public class Gene_ExtraAnus : RJW_Gene
+ public class Gene_ExtraAnus : Gene
{
internal Hediff additional_anus;
@@ -12,6 +12,8 @@ namespace RJW_Genes
public override void PostMake()
{
base.PostMake();
+ if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
+ Sexualizer.sexualize_pawn(pawn);
if (additional_anus == null)
{
diff --git a/Source/Genes/ExtraGenitalia/Gene_ExtraBreasts.cs b/Source/Genes/ExtraGenitalia/Gene_ExtraBreasts.cs
index 8829854..e8e658f 100644
--- a/Source/Genes/ExtraGenitalia/Gene_ExtraBreasts.cs
+++ b/Source/Genes/ExtraGenitalia/Gene_ExtraBreasts.cs
@@ -4,7 +4,7 @@ using RimWorld;
namespace RJW_Genes
{
- public class Gene_ExtraBreasts : RJW_Gene
+ public class Gene_ExtraBreasts : Gene
{
internal Hediff additional_breasts;
@@ -12,11 +12,13 @@ namespace RJW_Genes
public override void PostMake()
{
base.PostMake();
+ if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
+ Sexualizer.sexualize_pawn(pawn);
- // Tits are only added for female pawns!
- if (GenderUtility.IsFemale(pawn) && additional_breasts == null)
+ // Penis are only added for female pawns!
+ if (pawn.gender == Gender.Female && additional_breasts == null)
{
- CreateAndAddBreasts();
+ createAndAddPenis();
}
}
@@ -24,10 +26,10 @@ namespace RJW_Genes
{
base.PostAdd();
- // Tits are only added for female pawns!
- if (GenderUtility.IsFemale(pawn) && additional_breasts == null)
+ // Penis are only added for female pawns!
+ if (pawn.gender == Gender.Female && additional_breasts == null)
{
- CreateAndAddBreasts();
+ createAndAddPenis();
}
}
@@ -38,7 +40,7 @@ namespace RJW_Genes
pawn.health.RemoveHediff(additional_breasts);
}
- internal void CreateAndAddBreasts()
+ internal void createAndAddPenis()
{
var correctGene = GenitaliaUtility.GetGenitaliaTypeGeneForPawn(pawn);
var breastDef = GenitaliaUtility.GetBreastsForGene(correctGene);
diff --git a/Source/Genes/ExtraGenitalia/Gene_ExtraPenis.cs b/Source/Genes/ExtraGenitalia/Gene_ExtraPenis.cs
index aee18c7..10dfb57 100644
--- a/Source/Genes/ExtraGenitalia/Gene_ExtraPenis.cs
+++ b/Source/Genes/ExtraGenitalia/Gene_ExtraPenis.cs
@@ -4,7 +4,7 @@ using RimWorld;
namespace RJW_Genes
{
- public class Gene_ExtraPenis : RJW_Gene
+ public class Gene_ExtraPenis : Gene
{
internal Hediff additional_penis;
@@ -12,11 +12,13 @@ namespace RJW_Genes
public override void PostMake()
{
base.PostMake();
+ if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
+ Sexualizer.sexualize_pawn(pawn);
// Penis are only added for male pawns!
- if (GenderUtility.IsMale(pawn) && additional_penis == null)
+ if (pawn.gender == Gender.Male && additional_penis == null)
{
- CreateAndAddPenis();
+ createAndAddPenis();
}
}
@@ -25,9 +27,9 @@ namespace RJW_Genes
base.PostAdd();
// Penis are only added for male pawns!
- if (GenderUtility.IsMale(pawn) && additional_penis == null)
+ if (pawn.gender == Gender.Male && additional_penis == null)
{
- CreateAndAddPenis();
+ createAndAddPenis();
}
}
@@ -38,7 +40,7 @@ namespace RJW_Genes
pawn.health.RemoveHediff(additional_penis);
}
- internal void CreateAndAddPenis()
+ internal void createAndAddPenis()
{
var correctGene = GenitaliaUtility.GetGenitaliaTypeGeneForPawn(pawn);
HediffDef penisDef = GenitaliaUtility.GetPenisForGene(correctGene);
diff --git a/Source/Genes/ExtraGenitalia/Gene_ExtraVagina.cs b/Source/Genes/ExtraGenitalia/Gene_ExtraVagina.cs
index 9940de0..a6f6bff 100644
--- a/Source/Genes/ExtraGenitalia/Gene_ExtraVagina.cs
+++ b/Source/Genes/ExtraGenitalia/Gene_ExtraVagina.cs
@@ -4,7 +4,7 @@ using RimWorld;
namespace RJW_Genes
{
- public class Gene_ExtraVagina : RJW_Gene
+ public class Gene_ExtraVagina : Gene
{
internal Hediff additional_vagina;
@@ -17,9 +17,11 @@ namespace RJW_Genes
public override void PostMake()
{
base.PostMake();
+ if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
+ Sexualizer.sexualize_pawn(pawn);
// Vaginas are only added for female pawns!
- if (GenderUtility.IsFemale(pawn) && additional_vagina == null)
+ if (pawn.gender == Gender.Female && additional_vagina == null)
{
CreateAndAddVagina();
}
@@ -30,7 +32,7 @@ namespace RJW_Genes
base.PostAdd();
// Vaginas are only added for female pawns!
- if (GenderUtility.IsFemale(pawn) && additional_vagina == null)
+ if (pawn.gender == Gender.Female && additional_vagina == null)
{
CreateAndAddVagina();
}
diff --git a/Source/Genes/ExtraGenitalia/Gene_Futa.cs b/Source/Genes/ExtraGenitalia/Gene_Futa.cs
index 2d9f367..76749ff 100644
--- a/Source/Genes/ExtraGenitalia/Gene_Futa.cs
+++ b/Source/Genes/ExtraGenitalia/Gene_Futa.cs
@@ -4,7 +4,7 @@ using RimWorld;
namespace RJW_Genes
{
- public class Gene_Futa : RJW_Gene
+ public class Gene_Futa : Gene
{
internal Hediff additional_genital;
@@ -12,12 +12,14 @@ namespace RJW_Genes
public override void PostMake()
{
base.PostMake();
+ if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
+ Sexualizer.sexualize_pawn(pawn);
- if (GenderUtility.IsFemale(pawn) && additional_genital == null)
+ if (pawn.gender == Gender.Female && additional_genital == null)
{
createAndAddPenis();
}
- if (GenderUtility.IsMale(pawn) && additional_genital == null)
+ if (pawn.gender == Gender.Male && additional_genital == null)
{
CreateAndAddVagina();
}
diff --git a/Source/Genes/ExtraGenitalia/Gene_NoAnus.cs b/Source/Genes/ExtraGenitalia/Gene_NoAnus.cs
index d23b2df..28ea3ba 100644
--- a/Source/Genes/ExtraGenitalia/Gene_NoAnus.cs
+++ b/Source/Genes/ExtraGenitalia/Gene_NoAnus.cs
@@ -4,7 +4,7 @@ using RimWorld;
namespace RJW_Genes
{
- public class Gene_NoAnus : RJW_Gene
+ public class Gene_NoAnus : Gene
{
internal Hediff removed_anus;
@@ -15,6 +15,8 @@ namespace RJW_Genes
public override void PostMake()
{
base.PostMake();
+ if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
+ Sexualizer.sexualize_pawn(pawn);
if (removed_anus == null)
{
diff --git a/Source/Genes/ExtraGenitalia/Gene_NoBreasts.cs b/Source/Genes/ExtraGenitalia/Gene_NoBreasts.cs
index ddc75a1..bf1cd40 100644
--- a/Source/Genes/ExtraGenitalia/Gene_NoBreasts.cs
+++ b/Source/Genes/ExtraGenitalia/Gene_NoBreasts.cs
@@ -4,7 +4,7 @@ using RimWorld;
namespace RJW_Genes
{
- public class Gene_NoBreasts : RJW_Gene
+ public class Gene_NoBreasts : Gene
{
internal Hediff removed_breasts;
@@ -15,9 +15,11 @@ namespace RJW_Genes
public override void PostMake()
{
base.PostMake();
+ if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
+ Sexualizer.sexualize_pawn(pawn);
// Breasts are removed for female pawns!
- if (GenderUtility.IsFemale(pawn) && removed_breasts == null)
+ if (pawn.gender == Gender.Female && removed_breasts == null)
{
RemoveButStoreBreasts();
}
@@ -28,7 +30,7 @@ namespace RJW_Genes
base.PostAdd();
// Breasts are removed for female pawns!
- if (GenderUtility.IsFemale(pawn) && removed_breasts == null)
+ if (pawn.gender == Gender.Female && removed_breasts == null)
{
RemoveButStoreBreasts();
}
diff --git a/Source/Genes/ExtraGenitalia/Gene_NoPenis.cs b/Source/Genes/ExtraGenitalia/Gene_NoPenis.cs
index be67ef4..cd7f01f 100644
--- a/Source/Genes/ExtraGenitalia/Gene_NoPenis.cs
+++ b/Source/Genes/ExtraGenitalia/Gene_NoPenis.cs
@@ -4,7 +4,7 @@ using RimWorld;
namespace RJW_Genes
{
- public class Gene_NoPenis : RJW_Gene
+ public class Gene_NoPenis : Gene
{
internal Hediff removed_penis;
@@ -15,9 +15,11 @@ namespace RJW_Genes
public override void PostMake()
{
base.PostMake();
+ if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
+ Sexualizer.sexualize_pawn(pawn);
- // Penis are only removed for male pawns!
- if (GenderUtility.IsMale(pawn) && removed_penis == null)
+ // Penis are only added for male pawns!
+ if (pawn.gender == Gender.Male && removed_penis == null)
{
RemoveButStorePenis();
}
@@ -27,8 +29,8 @@ namespace RJW_Genes
{
base.PostAdd();
- // Penis are only removed for male pawns!
- if (GenderUtility.IsMale(pawn) && removed_penis == null)
+ // Penis are only added for male pawns!
+ if (pawn.gender == Gender.Male && removed_penis == null)
{
RemoveButStorePenis();
}
diff --git a/Source/Genes/ExtraGenitalia/Gene_NoVagina.cs b/Source/Genes/ExtraGenitalia/Gene_NoVagina.cs
index 8083f58..920c263 100644
--- a/Source/Genes/ExtraGenitalia/Gene_NoVagina.cs
+++ b/Source/Genes/ExtraGenitalia/Gene_NoVagina.cs
@@ -4,7 +4,7 @@ using RimWorld;
namespace RJW_Genes
{
- public class Gene_NoVagina : RJW_Gene
+ public class Gene_NoVagina : Gene
{
internal Hediff removed_vagina;
@@ -15,9 +15,11 @@ namespace RJW_Genes
public override void PostMake()
{
base.PostMake();
+ if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
+ Sexualizer.sexualize_pawn(pawn);
// Vaginas are only removed for female pawns!
- if (GenderUtility.IsFemale(pawn) && removed_vagina == null)
+ if (pawn.gender == Gender.Female && removed_vagina == null)
{
RemoveButStoreVagina();
}
@@ -28,7 +30,7 @@ namespace RJW_Genes
base.PostAdd();
// Vaginas are only removed for female pawns!
- if (GenderUtility.IsFemale(pawn) && removed_vagina == null)
+ if (pawn.gender == Gender.Female && removed_vagina == null)
{
RemoveButStoreVagina();
}
diff --git a/Source/Genes/Gender/GenderUtility.cs b/Source/Genes/Gender/GenderUtility.cs
deleted file mode 100644
index ea0e1d6..0000000
--- a/Source/Genes/Gender/GenderUtility.cs
+++ /dev/null
@@ -1,73 +0,0 @@
-using Verse;
-using rjw;
-using RimWorld;
-using System.Collections;
-using System.Linq;
-using System;
-
-namespace RJW_Genes
-{
- public class GenderUtility
- {
- ///
- /// Returns if a Pawn is female (Gender==Female) or if it should be (Gene==FemaleOnly)
- /// This is used as a small helper, as the genes might fire in different orders.
- ///
- public static bool IsFemale(Pawn pawn)
- {
- return
- pawn.gender == Gender.Female || pawn.genes.GenesListForReading.Any(gene => gene.def.defName.EqualsIgnoreCase(GeneDefOf.rjw_genes_female_only.defName));
- }
-
- ///
- /// Returns if a Pawn is male (Gender==Male) or if it should be (Gene==MaleOnly)
- /// This is used as a small helper, as the genes might fire in different orders.
- ///
- public static bool IsMale(Pawn pawn)
- {
- return
- pawn.gender == Gender.Male || pawn.genes.GenesListForReading.Any(gene => gene.def.defName.EqualsIgnoreCase(GeneDefOf.rjw_genes_male_only.defName));
- }
-
- ///
- /// Adjusts the Body Type to match the given target gender
- /// (for male and female only, baby,child and hulks don't change)
- ///
- ///
- ///
- public static void AdjustBodyToTargetGender(Pawn pawn, Gender targetGender)
- {
- if (pawn == null)
- return;
- if (pawn.story.bodyType == BodyTypeDefOf.Baby || pawn.story.bodyType == BodyTypeDefOf.Hulk || pawn.story.bodyType == BodyTypeDefOf.Child)
- return;
-
- if (targetGender == Gender.Male)
- {
- pawn.story.bodyType = BodyTypeDefOf.Male;
- }
- else if (targetGender == Gender.Female)
- {
- pawn.story.bodyType = BodyTypeDefOf.Female;
- pawn.style.beardDef = BeardDefOf.NoBeard;
- }
-
- // Re-Choose heads if it is wrong gender
- if (pawn.story.headType.gender == Gender.None || pawn.story.headType.gender == targetGender)
- {
- // Do nothing, Gender of Heat is Neutral or matches
- }
- else
- {
- // Below line tries to get (and set) an available head from the backstory, if it returns true everything worked if it returns false we log it
- if(! pawn.story.TryGetRandomHeadFromSet(DefDatabase.AllDefs.Where((Func)(x => x.randomChosen))))
- {
- Log.Message("Failed to retrieve a correct-gender head for the pawn " + pawn.Name);
- };
- }
-
- // Force Redraw at the spot
- pawn.Drawer.renderer.graphics.SetAllGraphicsDirty();
- }
- }
-}
diff --git a/Source/Genes/Gender/Gene_FemaleOnly.cs b/Source/Genes/Gender/Gene_FemaleOnly.cs
deleted file mode 100644
index 0cfbe0d..0000000
--- a/Source/Genes/Gender/Gene_FemaleOnly.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-using Verse;
-using rjw;
-
-
-namespace RJW_Genes
-{
- public class Gene_FemaleOnly : Gene
- {
- public override void PostMake()
- {
- base.PostMake();
-
- AdjustPawnToFemale();
- // Here we call Sexualization after the Sex-Change
- if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
- Sexualizer.sexualize_pawn(pawn);
- }
-
- public override void PostAdd()
- {
- base.PostMake();
- AdjustPawnToFemale();
- }
-
- private void AdjustPawnToFemale()
- {
- // Here we really use the Gender.Female and not our helper IsFemale(pawn)
- if (pawn.gender == Gender.Female)
- return;
- else
- {
- GenderHelper.ChangeSex(pawn, () => {
- pawn.gender = Gender.Female;
- GenitaliaChanger.RemoveAllGenitalia(pawn);
- Sexualizer.sexualize_pawn(pawn);
- });
- GenderUtility.AdjustBodyToTargetGender(pawn, Gender.Female);
- }
- }
-
- }
-}
diff --git a/Source/Genes/Gender/Gene_MaleOnly.cs b/Source/Genes/Gender/Gene_MaleOnly.cs
deleted file mode 100644
index 51806cf..0000000
--- a/Source/Genes/Gender/Gene_MaleOnly.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-using Verse;
-using rjw;
-
-
-namespace RJW_Genes
-{
- public class Gene_MaleOnly : Gene
- {
- public override void PostMake()
- {
- base.PostMake();
-
- AdjustPawnToMale();
- // Here we call Sexualization after the Sex-Change
- if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
- Sexualizer.sexualize_pawn(pawn);
- }
-
- public override void PostAdd()
- {
- base.PostMake();
- AdjustPawnToMale();
- }
-
- private void AdjustPawnToMale()
- {
- if (pawn.gender == Gender.Male)
- return;
- else
- {
- GenderHelper.ChangeSex(pawn, () => {
-
- pawn.gender = Gender.Male;
- GenitaliaChanger.RemoveAllGenitalia(pawn);
- Sexualizer.sexualize_pawn(pawn);
- });
- GenderUtility.AdjustBodyToTargetGender(pawn, Gender.Male);
- }
- }
-
- }
-}
diff --git a/Source/Genes/GeneUtility.cs b/Source/Genes/GeneUtility.cs
deleted file mode 100644
index 5144aad..0000000
--- a/Source/Genes/GeneUtility.cs
+++ /dev/null
@@ -1,44 +0,0 @@
-using Verse;
-
-namespace RJW_Genes
-{
- public class GeneUtility
- {
- public static bool IsMechbreeder(Pawn pawn)
- {
- if (pawn.genes == null)
- {
- return false;
- }
- return pawn.genes.HasGene(GeneDefOf.rjw_genes_mechbreeder);
- }
-
- public static bool IsInsectIncubator(Pawn pawn)
- {
- if (pawn.genes == null)
- {
- return false;
- }
- return pawn.genes.HasGene(GeneDefOf.rjw_genes_insectincubator);
- }
-
- public static bool isInsectBreeder(Pawn pawn)
- {
- if (pawn.genes == null)
- {
- return false;
- }
- return pawn.genes.HasGene(GeneDefOf.rjw_genes_insectbreeder);
- }
-
- public static float MaxEggSizeMul(Pawn pawn)
- {
- float MaxEggSize = 1;
- if (IsInsectIncubator(pawn))
- {
- MaxEggSize *= 2;
- }
- return MaxEggSize;
- }
- }
-}
\ No newline at end of file
diff --git a/Source/Genes/Genitalia/Gene_CanineGenitalia.cs b/Source/Genes/Genitalia/Gene_CanineGenitalia.cs
index 0f31a11..1d37041 100644
--- a/Source/Genes/Genitalia/Gene_CanineGenitalia.cs
+++ b/Source/Genes/Genitalia/Gene_CanineGenitalia.cs
@@ -3,11 +3,13 @@ using rjw;
namespace RJW_Genes
{
- public class Gene_CanineGenitalia : RJW_Gene
+ public class Gene_CanineGenitalia : Gene
{
public override void PostMake()
{
base.PostMake();
+ if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
+ Sexualizer.sexualize_pawn(pawn);
GenitaliaChanger.ChangeGenitalia(this.pawn,Genital_Helper.canine_penis,Genital_Helper.canine_vagina,Genital_Helper.generic_anus);
}
diff --git a/Source/Genes/Genitalia/Gene_DemonicGenitalia.cs b/Source/Genes/Genitalia/Gene_DemonicGenitalia.cs
index e4c5805..5d33f84 100644
--- a/Source/Genes/Genitalia/Gene_DemonicGenitalia.cs
+++ b/Source/Genes/Genitalia/Gene_DemonicGenitalia.cs
@@ -4,11 +4,13 @@ using rjw;
namespace RJW_Genes
{
- public class Gene_DemonicGenitalia : RJW_Gene
+ public class Gene_DemonicGenitalia : Gene
{
public override void PostMake()
{
base.PostMake();
+ if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
+ Sexualizer.sexualize_pawn(pawn);
GenitaliaChanger.ChangeGenitalia(this.pawn,Genital_Helper.demon_penis,Genital_Helper.demon_vagina,Genital_Helper.demon_anus);
}
diff --git a/Source/Genes/Genitalia/Gene_DragonGenitalia.cs b/Source/Genes/Genitalia/Gene_DragonGenitalia.cs
index abd930d..4e44954 100644
--- a/Source/Genes/Genitalia/Gene_DragonGenitalia.cs
+++ b/Source/Genes/Genitalia/Gene_DragonGenitalia.cs
@@ -3,11 +3,13 @@ using rjw;
namespace RJW_Genes
{
- public class Gene_DragonGenitalia : RJW_Gene
+ public class Gene_DragonGenitalia : Gene
{
public override void PostMake()
{
base.PostMake();
+ if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
+ Sexualizer.sexualize_pawn(pawn);
GenitaliaChanger.ChangeGenitalia(this.pawn,Genital_Helper.dragon_penis,Genital_Helper.dragon_vagina,Genital_Helper.generic_anus);
}
diff --git a/Source/Genes/Genitalia/Gene_EquineGenitalia.cs b/Source/Genes/Genitalia/Gene_EquineGenitalia.cs
index 4ec956b..47eb65a 100644
--- a/Source/Genes/Genitalia/Gene_EquineGenitalia.cs
+++ b/Source/Genes/Genitalia/Gene_EquineGenitalia.cs
@@ -3,11 +3,13 @@ using rjw;
namespace RJW_Genes
{
- public class Gene_EquineGenitalia : RJW_Gene
+ public class Gene_EquineGenitalia : Gene
{
public override void PostMake()
{
base.PostMake();
+ if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
+ Sexualizer.sexualize_pawn(pawn);
GenitaliaChanger.ChangeGenitalia(this.pawn,Genital_Helper.equine_penis,Genital_Helper.equine_vagina,Genital_Helper.generic_anus);
}
diff --git a/Source/Genes/Genitalia/Gene_FelineGenitalia.cs b/Source/Genes/Genitalia/Gene_FelineGenitalia.cs
index 6c1b987..506437c 100644
--- a/Source/Genes/Genitalia/Gene_FelineGenitalia.cs
+++ b/Source/Genes/Genitalia/Gene_FelineGenitalia.cs
@@ -3,11 +3,13 @@ using rjw;
namespace RJW_Genes
{
- public class Gene_FelineGenitalia : RJW_Gene
+ public class Gene_FelineGenitalia : Gene
{
public override void PostMake()
{
base.PostMake();
+ if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
+ Sexualizer.sexualize_pawn(pawn);
GenitaliaChanger.ChangeGenitalia(this.pawn,Genital_Helper.feline_penis,Genital_Helper.feline_vagina,Genital_Helper.generic_anus);
}
diff --git a/Source/Genes/Genitalia/Gene_HumanGenitalia.cs b/Source/Genes/Genitalia/Gene_HumanGenitalia.cs
index 077e0c4..cd9ee11 100644
--- a/Source/Genes/Genitalia/Gene_HumanGenitalia.cs
+++ b/Source/Genes/Genitalia/Gene_HumanGenitalia.cs
@@ -3,11 +3,13 @@ using rjw;
namespace RJW_Genes
{
- public class Gene_HumanGenitalia : RJW_Gene
+ public class Gene_HumanGenitalia : Gene
{
public override void PostMake()
{
base.PostMake();
+ if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
+ Sexualizer.sexualize_pawn(pawn);
GenitaliaChanger.ChangeGenitalia(this.pawn,Genital_Helper.average_penis,Genital_Helper.average_vagina,Genital_Helper.average_anus);
}
diff --git a/Source/Genes/Genitalia/Gene_OvipositorGenitalia.cs b/Source/Genes/Genitalia/Gene_OvipositorGenitalia.cs
index 2e91c2c..3cab5d9 100644
--- a/Source/Genes/Genitalia/Gene_OvipositorGenitalia.cs
+++ b/Source/Genes/Genitalia/Gene_OvipositorGenitalia.cs
@@ -3,11 +3,13 @@ using rjw;
namespace RJW_Genes
{
- public class Gene_OvipositorGenitalia : RJW_Gene
+ public class Gene_OvipositorGenitalia : Gene
{
public override void PostMake()
{
base.PostMake();
+ if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
+ Sexualizer.sexualize_pawn(pawn);
GenitaliaChanger.ChangeGenitalia(this.pawn,Genital_Helper.ovipositorM,Genital_Helper.ovipositorF,Genital_Helper.insect_anus);
}
diff --git a/Source/Genes/Genitalia/Gene_SlimeGenitalia.cs b/Source/Genes/Genitalia/Gene_SlimeGenitalia.cs
index efbdfcb..9837271 100644
--- a/Source/Genes/Genitalia/Gene_SlimeGenitalia.cs
+++ b/Source/Genes/Genitalia/Gene_SlimeGenitalia.cs
@@ -3,11 +3,13 @@ using rjw;
namespace RJW_Genes
{
- public class Gene_SlimeGenitalia : RJW_Gene
+ public class Gene_SlimeGenitalia : Gene
{
public override void PostMake()
{
base.PostMake();
+ if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
+ Sexualizer.sexualize_pawn(pawn);
GenitaliaChanger.ChangeGenitalia(this.pawn,Genital_Helper.slime_penis,Genital_Helper.slime_vagina,Genital_Helper.slime_anus);
}
diff --git a/Source/Genes/Genitalia/GenitaliaChanger.cs b/Source/Genes/Genitalia/GenitaliaChanger.cs
index 48ddc4d..84f4fab 100644
--- a/Source/Genes/Genitalia/GenitaliaChanger.cs
+++ b/Source/Genes/Genitalia/GenitaliaChanger.cs
@@ -79,14 +79,5 @@ namespace RJW_Genes
return candidate.def.defName.ToLower().Contains("bionic") || candidate.def.defName.ToLower().Contains("archo");
}
- public static void RemoveAllGenitalia(Pawn pawn)
- {
- var parts = Genital_Helper.get_AllPartsHediffList(pawn);
- foreach (var part in parts)
- {
- pawn.health.RemoveHediff(part);
- }
- }
-
}
}
diff --git a/Source/Genes/GenitaliaSize/Gene_BigBreasts.cs b/Source/Genes/GenitaliaSize/Gene_BigBreasts.cs
index b0e61ad..d2a4d05 100644
--- a/Source/Genes/GenitaliaSize/Gene_BigBreasts.cs
+++ b/Source/Genes/GenitaliaSize/Gene_BigBreasts.cs
@@ -1,12 +1,17 @@
using Verse;
+using rjw;
+using System;
+
namespace RJW_Genes
{
- public class Gene_BigBreasts : RJW_Gene
+ public class Gene_BigBreasts : Gene
{
public override void PostMake()
{
base.PostMake();
+ if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
+ Sexualizer.sexualize_pawn(pawn);
if (pawn.gender == Gender.Female)
SizeAdjuster.AdjustAllBreastSizes(pawn,0.5f,1.0f);
diff --git a/Source/Genes/GenitaliaSize/Gene_BigMaleGenitalia.cs b/Source/Genes/GenitaliaSize/Gene_BigMaleGenitalia.cs
index b04df46..a745ce6 100644
--- a/Source/Genes/GenitaliaSize/Gene_BigMaleGenitalia.cs
+++ b/Source/Genes/GenitaliaSize/Gene_BigMaleGenitalia.cs
@@ -1,11 +1,17 @@
-namespace RJW_Genes
+using Verse;
+using rjw;
+using System;
+
+namespace RJW_Genes
{
- public class Gene_BigMaleGenitalia : RJW_Gene
+ public class Gene_BigMaleGenitalia : Gene
{
public override void PostMake()
{
base.PostMake();
+ if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
+ Sexualizer.sexualize_pawn(pawn);
SizeAdjuster.AdjustAllPenisSizes(pawn,0.5f,1.0f);
}
diff --git a/Source/Genes/GenitaliaSize/Gene_LooseAnus.cs b/Source/Genes/GenitaliaSize/Gene_LooseAnus.cs
index f5a5312..92a237d 100644
--- a/Source/Genes/GenitaliaSize/Gene_LooseAnus.cs
+++ b/Source/Genes/GenitaliaSize/Gene_LooseAnus.cs
@@ -1,11 +1,17 @@
-namespace RJW_Genes
+using Verse;
+using rjw;
+using System;
+
+namespace RJW_Genes
{
- public class Gene_LooseAnus : RJW_Gene
+ public class Gene_LooseAnus : Gene
{
public override void PostMake()
{
base.PostMake();
+ if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
+ Sexualizer.sexualize_pawn(pawn);
SizeAdjuster.AdjustAllAnusSizes(pawn, 0.5f, 1.0f);
}
@@ -18,5 +24,6 @@
+
}
}
diff --git a/Source/Genes/GenitaliaSize/Gene_LooseFemaleGenitalia.cs b/Source/Genes/GenitaliaSize/Gene_LooseFemaleGenitalia.cs
index 68578b6..c14d5fd 100644
--- a/Source/Genes/GenitaliaSize/Gene_LooseFemaleGenitalia.cs
+++ b/Source/Genes/GenitaliaSize/Gene_LooseFemaleGenitalia.cs
@@ -1,11 +1,17 @@
-namespace RJW_Genes
+using Verse;
+using rjw;
+using System;
+
+namespace RJW_Genes
{
- public class Gene_LooseFemaleGenitalia : RJW_Gene
+ public class Gene_LooseFemaleGenitalia : Gene
{
public override void PostMake()
{
base.PostMake();
+ if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
+ Sexualizer.sexualize_pawn(pawn);
SizeAdjuster.AdjustAllVaginaSizes(pawn, 0.5f, 1.0f);
}
diff --git a/Source/Genes/GenitaliaSize/Gene_NormalAnus.cs b/Source/Genes/GenitaliaSize/Gene_NormalAnus.cs
index 8ee0a45..85370db 100644
--- a/Source/Genes/GenitaliaSize/Gene_NormalAnus.cs
+++ b/Source/Genes/GenitaliaSize/Gene_NormalAnus.cs
@@ -6,12 +6,14 @@ namespace RJW_Genes
///
/// Dummy Gene that does not alter the genitalia size. Normal RJW Logic and rolled sizes are kept.
///
- public class Gene_NormalAnus : RJW_Gene
+ public class Gene_NormalAnus : Gene
{
public override void PostMake()
{
base.PostMake();
+ if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
+ Sexualizer.sexualize_pawn(pawn);
}
}
diff --git a/Source/Genes/GenitaliaSize/Gene_NormalBreasts.cs b/Source/Genes/GenitaliaSize/Gene_NormalBreasts.cs
index 2b8f193..ec71b51 100644
--- a/Source/Genes/GenitaliaSize/Gene_NormalBreasts.cs
+++ b/Source/Genes/GenitaliaSize/Gene_NormalBreasts.cs
@@ -1,16 +1,19 @@
-using rjw;
+using Verse;
+using rjw;
namespace RJW_Genes
{
///
/// Dummy Gene that does not alter the genitalia size. Normal RJW Logic and rolled sizes are kept.
///
- public class Gene_NormalBreasts : RJW_Gene
+ public class Gene_NormalBreasts : Gene
{
public override void PostMake()
{
base.PostMake();
+ if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
+ Sexualizer.sexualize_pawn(pawn);
}
}
diff --git a/Source/Genes/GenitaliaSize/Gene_NormalFemaleGenitalia.cs b/Source/Genes/GenitaliaSize/Gene_NormalFemaleGenitalia.cs
index fce0c87..d00278f 100644
--- a/Source/Genes/GenitaliaSize/Gene_NormalFemaleGenitalia.cs
+++ b/Source/Genes/GenitaliaSize/Gene_NormalFemaleGenitalia.cs
@@ -6,12 +6,14 @@ namespace RJW_Genes
///
/// Dummy Gene that does not alter the genitalia size. Normal RJW Logic and rolled sizes are kept.
///
- public class Gene_NormalFemaleGenitalia : RJW_Gene
+ public class Gene_NormalFemaleGenitalia : Gene
{
public override void PostMake()
{
base.PostMake();
+ if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
+ Sexualizer.sexualize_pawn(pawn);
}
diff --git a/Source/Genes/GenitaliaSize/Gene_NormalMaleGenitalia.cs b/Source/Genes/GenitaliaSize/Gene_NormalMaleGenitalia.cs
index 2fa6247..0c3a89c 100644
--- a/Source/Genes/GenitaliaSize/Gene_NormalMaleGenitalia.cs
+++ b/Source/Genes/GenitaliaSize/Gene_NormalMaleGenitalia.cs
@@ -1,14 +1,19 @@
-namespace RJW_Genes
+using Verse;
+using rjw;
+
+namespace RJW_Genes
{
///
/// Dummy Gene that does not alter the genitalia size. Normal RJW Logic and rolled sizes are kept.
///
- public class Gene_NormalMaleGenitalia : RJW_Gene
+ public class Gene_NormalMaleGenitalia : Gene
{
public override void PostMake()
{
base.PostMake();
+ if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
+ Sexualizer.sexualize_pawn(pawn);
}
}
diff --git a/Source/Genes/GenitaliaSize/Gene_SmallBreasts.cs b/Source/Genes/GenitaliaSize/Gene_SmallBreasts.cs
index d5b4a4e..01c1b74 100644
--- a/Source/Genes/GenitaliaSize/Gene_SmallBreasts.cs
+++ b/Source/Genes/GenitaliaSize/Gene_SmallBreasts.cs
@@ -1,11 +1,17 @@
-namespace RJW_Genes
+using Verse;
+using rjw;
+using System;
+
+namespace RJW_Genes
{
- public class Gene_SmallBreasts : RJW_Gene
+ public class Gene_SmallBreasts : Gene
{
public override void PostMake()
{
base.PostMake();
+ if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
+ Sexualizer.sexualize_pawn(pawn);
SizeAdjuster.AdjustAllBreastSizes(pawn, 0.0f, 0.5f);
}
diff --git a/Source/Genes/GenitaliaSize/Gene_SmallMaleGenitalia.cs b/Source/Genes/GenitaliaSize/Gene_SmallMaleGenitalia.cs
index 12ba154..d9faebb 100644
--- a/Source/Genes/GenitaliaSize/Gene_SmallMaleGenitalia.cs
+++ b/Source/Genes/GenitaliaSize/Gene_SmallMaleGenitalia.cs
@@ -1,11 +1,17 @@
-namespace RJW_Genes
+using Verse;
+using rjw;
+using System;
+
+namespace RJW_Genes
{
- public class Gene_SmallMaleGenitalia : RJW_Gene
+ public class Gene_SmallMaleGenitalia : Gene
{
public override void PostMake()
{
base.PostMake();
+ if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
+ Sexualizer.sexualize_pawn(pawn);
SizeAdjuster.AdjustAllPenisSizes(pawn,0.0f,0.5f);
}
diff --git a/Source/Genes/GenitaliaSize/Gene_TightAnus.cs b/Source/Genes/GenitaliaSize/Gene_TightAnus.cs
index 56f52cd..3a77026 100644
--- a/Source/Genes/GenitaliaSize/Gene_TightAnus.cs
+++ b/Source/Genes/GenitaliaSize/Gene_TightAnus.cs
@@ -1,11 +1,17 @@
-namespace RJW_Genes
+using Verse;
+using rjw;
+using System;
+
+namespace RJW_Genes
{
- public class Gene_TightAnus : RJW_Gene
+ public class Gene_TightAnus : Gene
{
public override void PostMake()
{
base.PostMake();
+ if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
+ Sexualizer.sexualize_pawn(pawn);
SizeAdjuster.AdjustAllAnusSizes(pawn, 0.0f, 0.5f);
}
diff --git a/Source/Genes/GenitaliaSize/Gene_TightFemaleGenitalia.cs b/Source/Genes/GenitaliaSize/Gene_TightFemaleGenitalia.cs
index 53ec2a7..d7cc216 100644
--- a/Source/Genes/GenitaliaSize/Gene_TightFemaleGenitalia.cs
+++ b/Source/Genes/GenitaliaSize/Gene_TightFemaleGenitalia.cs
@@ -1,11 +1,17 @@
-namespace RJW_Genes
+using Verse;
+using rjw;
+using System;
+
+namespace RJW_Genes
{
- public class Gene_TightFemaleGenitalia : RJW_Gene
+ public class Gene_TightFemaleGenitalia : Gene
{
public override void PostMake()
{
base.PostMake();
+ if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
+ Sexualizer.sexualize_pawn(pawn);
SizeAdjuster.AdjustAllVaginaSizes(pawn, 0.0f, 0.5f);
}
diff --git a/Source/Genes/RJW_Gene.cs b/Source/Genes/RJW_Gene.cs
deleted file mode 100644
index d03440c..0000000
--- a/Source/Genes/RJW_Gene.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using rjw;
-using Verse;
-
-namespace RJW_Genes
-{
- public class RJW_Gene : Gene
- {
-
- public override void PostMake()
- {
- base.PostMake();
- if (GenitaliaUtility.PawnStillNeedsGenitalia(pawn))
- Sexualizer.sexualize_pawn(pawn);
- }
- }
-}
diff --git a/Source/Genes/Genitalia/GenitaliaUtility.cs b/Source/GenitaliaUtility.cs
similarity index 100%
rename from Source/Genes/Genitalia/GenitaliaUtility.cs
rename to Source/GenitaliaUtility.cs
diff --git a/Source/HarmonyInit.cs b/Source/HarmonyInit.cs
deleted file mode 100644
index c2f288e..0000000
--- a/Source/HarmonyInit.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using Verse;
-using HarmonyLib;
-
-
-namespace RJW_Genes
-{
- [StaticConstructorOnStartup]
- internal static class HarmonyInit
- {
- static HarmonyInit()
- {
- Harmony harmony = new Harmony("rjw_genes");
- harmony.PatchAll();
- }
- }
-}
\ No newline at end of file
diff --git a/Source/Rjw-Genes.csproj b/Source/Rjw-Genes.csproj
index 708cdb8..015652e 100644
--- a/Source/Rjw-Genes.csproj
+++ b/Source/Rjw-Genes.csproj
@@ -22,9 +22,6 @@
false
-
- ..\..\..\..\..\workshop\content\294100\2009463077\Current\Assemblies\0Harmony.dll
-
..\..\..\RimWorldWin64_Data\Managed\Assembly-CSharp.dll
False
@@ -52,10 +49,6 @@
-
-
-
-
@@ -65,10 +58,6 @@
-
-
-
-
@@ -91,9 +80,7 @@
-
-
-
+