diff --git a/Assemblies/RJW.dll b/Assemblies/RJW.dll
index 3bc468c31f6044e8580058f7086625ac7f72b1e8..46673167c28cacbe1508fc6007c3152e326591a2 100644
Binary files a/Assemblies/RJW.dll and b/Assemblies/RJW.dll differ
diff --git a/Defs/NonInheritedTraits.xml b/Defs/NonInheritedTraits.xml
index 60672ba14217c9324059086a0391dfbdb1735dee..fb1e7a3a3c5902d0eab5e90829dd3ab1a25160bd 100644
--- a/Defs/NonInheritedTraits.xml
+++ b/Defs/NonInheritedTraits.xml
@@ -64,8 +64,8 @@
 			<!--<li>TooSmart</li>-->
 			<!--<li>Brawler</li>-->
 			<li>Masochist</li>
-			<li>BodyPurist</li>-->
-			<li>Transhumanist</li>-->
+			<li>BodyPurist</li>
+			<li>Transhumanist</li>
 			<li>GreenThumb</li>
 			<li>NightOwl</li>
 			<li>Greedy</li>
diff --git a/Source/Common/Genital_Helper.cs b/Source/Common/Genital_Helper.cs
index c0e4432c97c1064385ba9b37c26eb120d26387f5..e099b9b2f29fe2dec9d6d761f8eff8084c27e301 100644
--- a/Source/Common/Genital_Helper.cs
+++ b/Source/Common/Genital_Helper.cs
@@ -361,10 +361,10 @@ namespace rjw
 				//hm... should probably remove this, idk
 				//why would mechanoid need something other than hydraulics? they are machines, they dont care about sex life pleasures
 				//probably never triggers, since mechanoid has own genitals/ maybe only works for moded mech pawns?
-				if (value < 0.70)
-					privates = (pawn.gender == Gender.Male && gender != Gender.Female) ? hydraulic_penis : hydraulic_vagina;
-				else
-					privates = (pawn.gender == Gender.Male && gender != Gender.Female) ? bionic_penis : bionic_vagina;
+				//if (value < 0.70)
+				//	privates = (pawn.gender == Gender.Male && gender != Gender.Female) ? hydraulic_penis : hydraulic_vagina;
+				//else
+				//	privates = (pawn.gender == Gender.Male && gender != Gender.Female) ? bionic_penis : bionic_vagina;
 			}
 			//insects
 			else if (xxx.is_insect(temppawn)
@@ -641,11 +641,11 @@ namespace rjw
 				{
 					if (xxx.is_mechanoid(pawn))
 					{
-						return;
-						if (value < 0.70)
-							bewbs = hydraulic_breasts;
-						else
-							bewbs = bionic_breasts;
+						//return;
+						//if (value < 0.70)
+						//	bewbs = hydraulic_breasts;
+						//else
+						//	bewbs = bionic_breasts;
 					}
 					//alien races - ChjDroid, ChjAndroid
 					else if (racename.Contains("droid"))
@@ -778,10 +778,10 @@ namespace rjw
 			if (xxx.is_mechanoid(pawn))
 			{
 				return;
-				if (value < 0.70)
-					asshole = hydraulic_anus;
-				else
-					asshole = bionic_anus;
+				//if (value < 0.70)
+				//	asshole = hydraulic_anus;
+				//else
+				//	asshole = bionic_anus;
 			}
 			else if (xxx.is_insect(temppawn))
 			{
diff --git a/Source/Common/Mod_Settings.cs b/Source/Common/Mod_Settings.cs
index 10ee19980b0b5afcee0d5adc3c7de68de0fd24b8..91fef8b816e8e51211e48b23057fab529b167fd7 100644
--- a/Source/Common/Mod_Settings.cs
+++ b/Source/Common/Mod_Settings.cs
@@ -148,8 +148,8 @@ namespace rjw
 		private SettingHandle<bool> option_CP_pregnancy;
 		private SettingHandle<bool> option_genetic_trait_filter;
 
-		private SettingHandle<int> option_fertility_endAge_male;
-		private SettingHandle<int> option_fertility_endAge_female;
+		//private SettingHandle<int> option_fertility_endAge_male;
+		//private SettingHandle<int> option_fertility_endAge_female;
 
 		private SettingHandle<bool> option_DevMode;
 
diff --git a/Source/JobDrivers/JobDriver_Bestiality.cs b/Source/JobDrivers/JobDriver_Bestiality.cs
index da21e953308c21b6013e62fb26d9db367c39b125..e32e8625eb53a744265742e6354c7edff54dbc98 100644
--- a/Source/JobDrivers/JobDriver_Bestiality.cs
+++ b/Source/JobDrivers/JobDriver_Bestiality.cs
@@ -91,7 +91,7 @@ namespace rjw
 				{
 					//wild animals may flee or attack
 					if (pawn.Faction != animal.Faction && animal.CanSee(pawn) && animal.RaceProps.wildness > Rand.Range(0.3f,1.0f) 
-					    && !(pawn.TicksPerMoveCardinal < (animal.TicksPerMoveCardinal / 2) && !animal.Downed && xxx.is_healthy_enough(animal))
+					    && !(pawn.TicksPerMoveCardinal < (animal.TicksPerMoveCardinal / 2) && !animal.Downed && xxx.is_healthy_enough(animal)))
 
 						if (animal.kindDef.RaceProps.manhunterOnTameFailChance >= Rand.Range(0.0f, 1.0f) && animal.CanSee(pawn))
 						{
diff --git a/Source/JobDrivers/JobDriver_GettinRaped.cs b/Source/JobDrivers/JobDriver_GettinRaped.cs
index 5dfeed2e42e8db6939b9f30e656b2b26234c29e0..b6be97d81a54b86cfc5a4dec661b3293527643a8 100644
--- a/Source/JobDrivers/JobDriver_GettinRaped.cs
+++ b/Source/JobDrivers/JobDriver_GettinRaped.cs
@@ -17,7 +17,7 @@ namespace rjw
 
 		private bool was_laying_down;
 
-		internal RJW_DummyContainer dummy_container;
+		//internal RJW_DummyContainer dummy_container;
 
 		public void increase_time(int min_ticks_remaining)
 		{
diff --git a/Source/JobGivers/JobGiver_Bestiality.cs b/Source/JobGivers/JobGiver_Bestiality.cs
index 8b7c8578d1496e0c2594309e1bad57dd43ae0c9f..584efbe17297416b3f0c043f89c292e108fc4285 100644
--- a/Source/JobGivers/JobGiver_Bestiality.cs
+++ b/Source/JobGivers/JobGiver_Bestiality.cs
@@ -143,7 +143,7 @@ namespace rjw
 
 					var fuc = xxx.would_fuck(pawn, target);
 
-					fuc = fuc + (fuc * petness) - (fuc * wildness) + tamed;
+					fuc = fuc + (fuc * petness) - (fuc * wildness);// + tamed;
 					fuc *= Rand.Range(1f, 1.25f) - (distance / 50000);
 					fuc *= (1.0f - (System.Math.Abs(pawn.BodySize - target.BodySize) / 8f));
 
diff --git a/Source/JobGivers/JobGiver_NymphJoinInBed.cs b/Source/JobGivers/JobGiver_NymphJoinInBed.cs
index 3faa96aea78463220bd9e3d235b46fadbc190f90..5f28de5b1f272d68efb98766deff3916303b710e 100644
--- a/Source/JobGivers/JobGiver_NymphJoinInBed.cs
+++ b/Source/JobGivers/JobGiver_NymphJoinInBed.cs
@@ -27,7 +27,7 @@ namespace rjw
 				if ((q != nymph) &&
 					xxx.is_laying_down_alone(q) &&
 					nymph.CanReserve(q, 1, 0) &&
-					nymph.CanReach(q, PathEndNode.OnCell, Danger.Some) &&
+					nymph.CanReach(q, PathEndMode.OnCell, Danger.Some) &&
 					q.CanReserve(nymph, 1, 0) &&
 					roll_to_skip(nymph, q) &&
 					(!q.Position.IsForbidden(nymph)) &&
diff --git a/Source/PawnCapacities/PawnCapacityWorker_Fertility.cs b/Source/PawnCapacities/PawnCapacityWorker_Fertility.cs
index 70bac3ab7eef5bbf041f853f15d9f10c0cae97ab..f5e7306c199a0f0ce535e005a8bc85ff8995d3e1 100644
--- a/Source/PawnCapacities/PawnCapacityWorker_Fertility.cs
+++ b/Source/PawnCapacities/PawnCapacityWorker_Fertility.cs
@@ -1,6 +1,6 @@
 using RimWorld;
 using System.Collections.Generic;
-
+using UnityEngine;
 using Verse;
 
 namespace rjw
@@ -26,7 +26,7 @@ namespace rjw
 			RaceProperties race = diffSet.pawn.RaceProps;
 
             //Ensure that the pawn is sexualized. This should cover most pawns that don't otherwise get genitalia.
-            if (!Genital_Helper.is_sexualized(p)) { Genital_Helper.sexualize_pawn(p); }
+            Genital_Helper.sexualize(p);
 
             float startAge = 0f;	//raise fertility
 			float startMaxAge = 0f;	//max fertility
diff --git a/changelog.txt b/changelog.txt
index 64a6260c242d55deacd192d5fd9e43e6e0d913e7..43bf3a9877bdf56933d18e7a624117070a71a4d4 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,3 +1,43 @@
+v1.8.8
+Zaltys:
+Removed the tick increase from failed job, since that stops nymphs from seeking other activities.
+Changed the age scaling, to account for modded races with non-human lifespans.
+Rewrote fertility to work for modded races/animals of any lifespan.
+No fapping while in cryosleep.
+Adjusted distance checks.
+Added motes.
+Colonists were unable to open doors, fixed.
+Animals were unable to pass doors, fixed.
+Extra check to make sure that everyone is sexualized.
+Added traits from Consolidated Traits mod
+Added alert for failed attempt at bestiality.
+Wild animals may flee or attack when bothered
+Fix to enable some pawns to have sex again.
+Wild animals may flee from zoo + bug fix for zone restrictions
+Merged tame and bonded animals into one check, added distance and size checks to partner selection
+Added check to ensure that nymph can move to target
+Added check to make breeding fail if target is unreachable
+Minor balancing, drunk colonists now less picky when trying to get laid
+
+Ed86:
+rjw pregnancies: 
+children are now sexualized at birth 
+there is 25% per futa parent to birth futa child 
+cross-breeding:
+there is a 10% chance child will inherit mother genitals 
+there is a 10% chance child will inherit father genitals 
+anuses are now always added, even if pawn is genderless, everyone has to poop right? 
+disabled "mechanoid" genitals, so those roombas shouldnt spawn with hydraulic dicks n stuff 
+added humanoid check for hydraulic and bionic parts
+fixed aphrodisiac effect from smokeleaf to humpshroom
+added egg removal recipes for ROMA_Spiders
+changed whore serving colonist chance 75%->50% and added check for colonist sex need, should reduce them harrasing 1 colonist and tend to those in need
+breaking pawns removes negative "raped" effects/relations 
+pawn becoming zoophile removes negative zoo effects
+added LOS check for "allowed me to get raped", so no more seeing through walls
+disabled stripping during rape, probably needs fixing for weather and some races
+renamed fappin' to masturbatin'
+
 v1.8.7_ed86
 Zaltys:
 added racoon penis