diff --git a/CHANGELOG.md b/CHANGELOG.md
index b86fa4b..8719cf0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,15 +1,3 @@
-# 1.1.3
-
-Changes:
-
-- Youth Fountain and Age Drainer "stop" at 18 (#26)
-- Youth Fountain and Age Drainer activate only for pawns at 18 (#26)
-- Drained Pawns vomit less (from mtb 0.05 to 0.01)
-
-Fixes:
-
-- InsectBreeder would mess with normal Pawn-Animal pregancy for egg laying animals (#23)
-
# 1.1.2
Changes:
diff --git a/Common/Assemblies/Rjw-Genes.dll b/Common/Assemblies/Rjw-Genes.dll
index db8c46a..cf2ff5d 100644
Binary files a/Common/Assemblies/Rjw-Genes.dll and b/Common/Assemblies/Rjw-Genes.dll differ
diff --git a/Common/Defs/HediffDefs/Hediffs_Fertilin.xml b/Common/Defs/HediffDefs/Hediffs_Fertilin.xml
index 5330414..d8ee3db 100644
--- a/Common/Defs/HediffDefs/Hediffs_Fertilin.xml
+++ b/Common/Defs/HediffDefs/Hediffs_Fertilin.xml
@@ -74,7 +74,7 @@
-0.2
- 0.01
+ 0.05
0.1
0.35
diff --git a/README.md b/README.md
index f0a12ac..cd3012d 100644
--- a/README.md
+++ b/README.md
@@ -28,14 +28,9 @@ Please consider looking at [the known bugs](./KNOWN_BUGS.md)
I currently don't use Races after Biotech was introduced.
One of the main motivations was to have genes being added to the xenotypes that other mods and the base game add, e.g. adding demonic penis for impids.
-Some HAR races change sex-ages and behave unfriendly with this mod.
-You can make reports about that, but I might not fix it.
+## Load Order / Deps
-## Load Order, Dependencies and Conflicts
-
-Please load this after any mod adding genes, and after the used RJW-Mods (Licentia, Sexperience).
-
-**Conflicts:**
-1. Should not be used with the original RJW_Animal_Gene_Inheritance anymore.
-2. There was an issue with other "Male-Only / Female-Only" Mods --- for which we provide our own Genes now.
-3. CAI5000 will not crash, but will make *Seduce*-Ability fail. I think same goes for Combat Extended.
\ No newline at end of file
+1. Please load this after any mod adding genes, and after the used RJW-Mods (Licentia, Sexperience).
+2. Should not be used with the original RJW_Animal_Gene_Inheritance anymore.
+3. There was an issue with other "Male-Only / Female-Only" Mods --- for which we provide our own Genes now.
+4. CAI5000 will not crash, but will make *Seduce*-Ability fail. I think same goes for Combat Extended.
\ No newline at end of file
diff --git a/Source/Genes/Breeding/PatchPawnExtensions.cs b/Source/Genes/Breeding/PatchPawnExtensions.cs
new file mode 100644
index 0000000..be2e2dc
--- /dev/null
+++ b/Source/Genes/Breeding/PatchPawnExtensions.cs
@@ -0,0 +1,24 @@
+using HarmonyLib;
+using rjw;
+using Verse;
+
+namespace RJW_Genes
+{
+ ///
+ /// Kindly provided by 'shabalox' https://github.com/Shabalox/RJW_Genes_Addons/
+ ///
+ /// Note on the logic: the result mentioned below is changing the result of fertilization (true or false) to true if the pawn has the insect-breeder gene.
+ ///
+ [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/Special/Patch_AgeDrain.cs b/Source/Genes/Special/Patch_AgeDrain.cs
index fce28db..2c7e55d 100644
--- a/Source/Genes/Special/Patch_AgeDrain.cs
+++ b/Source/Genes/Special/Patch_AgeDrain.cs
@@ -11,20 +11,12 @@ namespace RJW_Genes.Genes.Special
[HarmonyPatch(typeof(SexUtility), "Aftersex")]
public static class Patch_AgeDrain
{
- /**
- * Update Issue #26:
- * There are options that a 16 yo pawn and a 16 yo pawn have sex,
- * or there are races that have a different age-limits.
- * I don't want to account for "trust me this race is really adult with Age 6!!!"-stuff.
- * As it is somewhat a bug when the pawns age tho, I added that the youth-fountain also needs to have MIN_AGE.
- * If you'd like a different behaviour, you have to do it yourself.
- */
const long AGE_TRANSFERED = 120000; // 120k == 2 days
- // 18 Years * 60 Days / Year * 60k Ticks/Day + 1 for safety
- const long MINIMUM_AGE = 18 * 60 * 60000 + 1;
+ // 20 Years * 60 Days / Year * 60k Ticks/Day + 1 for safety
+ const long MINIMUM_AGE = 20 * 60 * 60000 + 1;
- // Comment AGE_TRANSFERED in for debugging, changes years
+ // Comment Below in for debugging, changes years
// const long AGE_TRANSFERED = 12000000;
public static void Postfix(SexProps props)
{
@@ -32,7 +24,7 @@ namespace RJW_Genes.Genes.Special
{
return;
}
- if (GeneUtility.IsAgeDrainer(props.pawn) && props.pawn.ageTracker.AgeBiologicalTicks > MINIMUM_AGE)
+ if (GeneUtility.IsAgeDrainer(props.pawn))
{
var pawnAge = props.pawn.ageTracker.AgeBiologicalTicks;
//ModLog.Error($"Firing Age Drain \nMinimum Age is \t{MINIMUM_AGE} \nPawn Age is \t{pawnAge} \nTransferred \t{AGE_TRANSFERED}\nResulting in \t{pawnAge - AGE_TRANSFERED}");
diff --git a/Source/Genes/Special/Patch_Youth_Fountain.cs b/Source/Genes/Special/Patch_Youth_Fountain.cs
index ff90e93..a1a1840 100644
--- a/Source/Genes/Special/Patch_Youth_Fountain.cs
+++ b/Source/Genes/Special/Patch_Youth_Fountain.cs
@@ -11,19 +11,10 @@ namespace RJW_Genes.Genes.Special
[HarmonyPatch(typeof(SexUtility), "Aftersex")]
public static class Patch_Youth_Fountain
{
- /**
- * Update Issue #26:
- * There are options that a 16 yo pawn and a 16 yo pawn have sex,
- * or there are races that have a different age-limits.
- * I don't want to account for "trust me this race is really adult with Age 6!!!"-stuff.
- * As it is somewhat a bug when the pawns age tho, I added that the youth-fountain also needs to have MIN_AGE.
- * If you'd like a different behaviour, you have to do it yourself.
- */
-
const long AGE_REDUCTION = 60000; // 60k == 1 day
- // 18 Years * 60 Days / Year * 60k Ticks/Day + 1 for safety
- const long MINIMUM_AGE = 18 * 60 * 60000 + 1;
+ // 20 Years * 60 Days / Year * 60k Ticks/Day + 1 for safety
+ const long MINIMUM_AGE = 20 * 60 * 60000 + 1;
// Comment Below in for debugging
// const long AGE_REDUCTION = 6000000; // 6000k == 100 days
@@ -33,10 +24,12 @@ namespace RJW_Genes.Genes.Special
{
return;
}
- if (GeneUtility.IsYouthFountain(props.pawn) && props.pawn.ageTracker.AgeBiologicalTicks >= MINIMUM_AGE)
+ if (GeneUtility.IsYouthFountain(props.pawn))
{
var partnerAge = props.partner.ageTracker.AgeBiologicalTicks;
+ //ModLog.Error($"Firing Youth Fountain \nMinimum Age is \t{MINIMUM_AGE}\t{ticksToYears(MINIMUM_AGE)}y\nPawn Age is \t{partnerAge}\t{ticksToYears(partnerAge)}y \nTransferred \t {AGE_REDUCTION}\t{ticksToYears(AGE_REDUCTION)}y\nResulting in \t{partnerAge - AGE_REDUCTION}\t{ticksToYears(partnerAge - AGE_REDUCTION)}y");
+
props.partner.ageTracker.AgeBiologicalTicks = Math.Max(MINIMUM_AGE, partnerAge - AGE_REDUCTION);
}
diff --git a/Source/Rjw-Genes.csproj b/Source/Rjw-Genes.csproj
index 29d14d9..a090438 100644
--- a/Source/Rjw-Genes.csproj
+++ b/Source/Rjw-Genes.csproj
@@ -44,6 +44,7 @@
+
diff --git a/TODOS.md b/TODOS.md
index 29a540c..ebb6550 100644
--- a/TODOS.md
+++ b/TODOS.md
@@ -1,6 +1,7 @@
# ToDos and Planned Genes
-Any help is very appreciated, even if it is just pointing me to existing similar projects.
+I have many ideas but not too much time / knowledge of Rimworld or Modding.
+So any help is very appreciated, even if it is just pointing me to existing similar projects.
## Additions to existing things
@@ -52,10 +53,4 @@ There were some suggestions on the Discord I saved them somewhere else. I am far
- Genitalia deal damage as per size (on normal sex-use)
- Genitalia can cause Terror (as ability)
-- Cumshot Sniper Abilities
-
-## Cleanups:
-
-- Streamline Filenames / Names to either be LifeForce or Fertilin (e.g. `Hediffs_Fertilin.xml` but `Pawnkind_LifeForce.xml`). I think most things are called LifeForce.
-- Similar cleanup for the patches, and make a note what to find where in the patches
-- Change Project structure to the 1.3, 1.4 Structure of other mods
\ No newline at end of file
+- Cumshot Sniper Abilities
\ No newline at end of file