From 7ee6084b772fb8bbe0436ffde32eab6ece5e383f Mon Sep 17 00:00:00 2001
From: donald moysey <donaldmoysey@gmail.com>
Date: Tue, 5 Jul 2022 20:36:41 -0400
Subject: [PATCH 1/8] Changed the way whore prices are calcuated, uncapping
 beauty and adding more traits to impact price

---
 1.3/Source/Modules/Whoring/Whoring_Helper.cs | 106 +++++++++++++++----
 1 file changed, 88 insertions(+), 18 deletions(-)

diff --git a/1.3/Source/Modules/Whoring/Whoring_Helper.cs b/1.3/Source/Modules/Whoring/Whoring_Helper.cs
index 4d5c89de0..f6ca78e8c 100644
--- a/1.3/Source/Modules/Whoring/Whoring_Helper.cs
+++ b/1.3/Source/Modules/Whoring/Whoring_Helper.cs
@@ -28,6 +28,7 @@ namespace rjw
 			min_price *= WhoreGenderAdjustment(whore);
 			min_price *= WhoreInjuryAdjustment(whore);
 			min_price *= WhoreAbilityAdjustmentMin(whore);
+			min_price *= WhoreBeautyAdjustment(whore);
 			//min_price *= WhoreRoomAdjustment(whore);
 			if (xxx.has_traits(whore))
 				min_price *= WhoreTraitAdjustmentMin(whore);
@@ -42,6 +43,7 @@ namespace rjw
 			max_price *= WhoreGenderAdjustment(whore);
 			max_price *= WhoreInjuryAdjustment(whore);
 			max_price *= WhoreAbilityAdjustmentMax(whore);
+			max_price *= WhoreBeautyAdjustment(whore);
 			//max_price *= WhoreRoomAdjustment(whore);
 			if (xxx.has_traits(whore))
 				max_price *= WhoreTraitAdjustmentMax(whore);
@@ -79,20 +81,24 @@ namespace rjw
 		public static float WhoreAbilityAdjustmentMin(Pawn whore)
 		{
 			int b = backstories.Contains(whore.story?.adulthood?.titleShort) ? 30 : 0;
+			int c = backstories.Contains(whore.story?.childhood?.titleShort) ? 30 : 0;
 			int score = whore.records.GetAsInt(xxx.CountOfWhore);
 			float multiplier = (score + b) / 100;
-			multiplier = Math.Min(multiplier, 2);
-			multiplier = (multiplier - 0.5f) * 0.5f + 1;
+			float s = (whore.skills.GetSkill(SkillDefOf.Social).Level);
+			s *= .3f;
+			multiplier = multiplier + s;
 			return multiplier;
 		}
 
 		public static float WhoreAbilityAdjustmentMax(Pawn whore)
 		{
 			int b = backstories.Contains(whore.story?.adulthood?.titleShort) ? 30 : 0;
+			int c = backstories.Contains(whore.story?.childhood?.titleShort) ? 30 : 0;
 			int score = whore.records.GetAsInt(xxx.CountOfWhore);
-			float multiplier = (score + b) / 100;
-			multiplier = Math.Min(multiplier, 2);
-			multiplier = (multiplier - 0.5f) * 0.5f + 1;
+			float multiplier = (score + b + c) / 100;
+			float s = (whore.skills.GetSkill(SkillDefOf.Social).Level);
+			s *= .4f;
+			multiplier = multiplier + s;
 			return multiplier;
 		}
 
@@ -102,9 +108,17 @@ namespace rjw
 			if (xxx.is_masochist(whore)) // Won't haggle, may settle for low price
 				multiplier *= 0.7f;
 			if (xxx.is_nympho(whore)) // Same as above
-				multiplier *= 0.4f;
+				multiplier *= 0.7f;
 			if (whore.story.traits.HasTrait(TraitDefOf.Wimp)) // Same as above
-				multiplier *= 0.4f;
+				multiplier *= 0.6f;
+			if (whore.story.traits.HasTrait(TraitDefOf.Greedy))
+				multiplier *= 1.1f;
+			if (whore.story.traits.HasTrait(TraitDefOf.Jealous))
+				multiplier *= .7f;
+			if (whore.story.traits.HasTrait(TraitDefOf.Psychopath))
+				multiplier *= .8f;
+			if (whore.story.traits.HasTrait(TraitDefOf.Ascetic))
+				multiplier *= .6f;
 			return multiplier;
 		}
 
@@ -114,7 +128,29 @@ namespace rjw
 			if (xxx.IndividualityIsActive && whore.story.traits.HasTrait(xxx.SYR_Haggler))
 				multiplier *= 1.5f;
 			if (whore.story.traits.HasTrait(TraitDefOf.Greedy))
-				multiplier *= 2f;
+				multiplier *= 1.2f;
+			if (whore.story.traits.HasTrait(TraitDefOf.Wimp))
+				multiplier *= 0.7f;
+			if (whore.story.traits.HasTrait(TraitDefOf.Jealous))
+				multiplier *= 1.2f;
+			if (whore.story.traits.HasTrait(TraitDefOf.Ascetic))
+				multiplier *= .8f;
+			return multiplier;
+		}
+
+		public static float WhoreBeautyAdjustment(Pawn whore)
+		{
+			float d = whore.GetStatValue(StatDefOf.PawnBeauty);
+			float e = AgeConfigDef.Instance.whoringPriceByAge.Evaluate(SexUtility.ScaleToHumanAge(whore));
+			float multiplier = ((d / 10) + e);
+			if (whore.story.traits.DegreeOfTrait(TraitDefOf.Beauty) == 2) // beautiful
+				multiplier *= 1.2f;
+			if (whore.story.traits.DegreeOfTrait(TraitDefOf.Beauty) == 1) // pretty
+				multiplier *= 1.1f;
+			if (whore.story.traits.DegreeOfTrait(TraitDefOf.Beauty) == -1) // ugly
+				multiplier *= .6f;
+			if (whore.story.traits.DegreeOfTrait(TraitDefOf.Beauty) == -2) // staggeringly ugly
+				multiplier *= .4f;
 			return multiplier;
 		}
 
@@ -124,22 +160,56 @@ namespace rjw
 
 			if (xxx.has_traits(whore))
 			{
+				if (xxx.is_nympho(whore))
+					multiplier *= 1.1f;
+				if (whore.story.traits.HasTrait(xxx.Virgin))
+					multiplier *= 1.3f;
+				if (xxx.IndividualityIsActive && whore.story.traits.HasTrait(xxx.SYR_Haggler))
+					multiplier *= 1.2f;
+				if (whore.story.traits.HasTrait(TraitDefOf.Bisexual))
+					multiplier *= 1.05f;
+				if (whore.story.traits.HasTrait(TraitDefOf.Nudist))
+					multiplier *= 1.1f;
+				if (whore.story.traits.HasTrait(TraitDefOf.DislikesWomen))
+					multiplier *= .8f;
+				if (whore.story.traits.HasTrait(TraitDefOf.DislikesMen))
+					multiplier *= .8f;
+				if (whore.story.traits.HasTrait(TraitDefOf.Asexual))
+					multiplier *= .95f;
+				if (whore.story.traits.HasTrait(TraitDefOf.TooSmart))
+					multiplier *= .95f;
+				if (whore.story.traits.HasTrait(TraitDefOf.Abrasive))
+					multiplier *= .6f;
+				if (whore.story.traits.HasTrait(TraitDefOf.Kind))
+					multiplier *= 1.1f;
 				if (whore.story.traits.DegreeOfTrait(TraitDefOf.Industriousness) == 2) // Industrious
 					multiplier *= 1.2f;
 				if (whore.story.traits.DegreeOfTrait(TraitDefOf.Industriousness) == 1) // Hard Worker
 					multiplier *= 1.1f;
+				if (whore.story.traits.DegreeOfTrait(TraitDefOf.Industriousness) == -1) // Lazy
+					multiplier *= .9f;
+				if (whore.story.traits.DegreeOfTrait(TraitDefOf.Industriousness) == -2) // Slothful
+					multiplier *= .8f;
+				if (whore.story.traits.DegreeOfTrait(TraitDefOf.Nerves) == 2) // Iron Willed
+					multiplier *= 1.2f;
+				if (whore.story.traits.DegreeOfTrait(TraitDefOf.Nerves) == 1) // steadfast
+					multiplier *= 1.1f;
+				if (whore.story.traits.DegreeOfTrait(TraitDefOf.Nerves) == -1) // nervous
+					multiplier *= .9f;
+				if (whore.story.traits.DegreeOfTrait(TraitDefOf.Nerves) == -2) // volatile
+					multiplier *= .8f;
+				if (whore.story.traits.DegreeOfTrait(TraitDefOf.NaturalMood) == 2) // sanguine
+					multiplier *= 1.2f;
+				if (whore.story.traits.DegreeOfTrait(TraitDefOf.NaturalMood) == 1) // optimist
+					multiplier *= 1.1f;
+				if (whore.story.traits.DegreeOfTrait(TraitDefOf.NaturalMood) == -1) // pessimist
+					multiplier *= .9f;
+				if (whore.story.traits.DegreeOfTrait(TraitDefOf.NaturalMood) == -2) // depressive
+					multiplier *= .8f;
 				if (whore.story.traits.HasTrait(TraitDefOf.CreepyBreathing))
 					multiplier *= 0.75f;
-
-				if (whore.GetStatValue(StatDefOf.PawnBeauty) >= 2)
-					multiplier *= 3.5f;
-				else if (whore.GetStatValue(StatDefOf.PawnBeauty) >= 1)
-					multiplier *= 2f;
-				else if (whore.GetStatValue(StatDefOf.PawnBeauty) < 0)
-					if (whore.GetStatValue(StatDefOf.PawnBeauty) >= -1)
-						multiplier *= 0.8f;
-					else
-						multiplier *= 0.6f;
+				if (whore.story.traits.HasTrait(TraitDefOf.AnnoyingVoice))
+					multiplier *= 0.6f;
 			}
 			return multiplier;
 		}
-- 
GitLab


From 36ce777e13dc932d778c9125231bccd31fbaa575 Mon Sep 17 00:00:00 2001
From: donald moysey <donaldmoysey@gmail.com>
Date: Tue, 5 Jul 2022 21:24:19 -0400
Subject: [PATCH 2/8] changes to determine if customer finds whore appealing

---
 1.3/Source/Modules/Whoring/Whoring_Helper.cs | 46 +++++++++++++++-----
 1.3/Source/RimJobWorld.Main.csproj           |  3 +-
 2 files changed, 38 insertions(+), 11 deletions(-)

diff --git a/1.3/Source/Modules/Whoring/Whoring_Helper.cs b/1.3/Source/Modules/Whoring/Whoring_Helper.cs
index f6ca78e8c..2b63a912a 100644
--- a/1.3/Source/Modules/Whoring/Whoring_Helper.cs
+++ b/1.3/Source/Modules/Whoring/Whoring_Helper.cs
@@ -380,41 +380,67 @@ namespace rjw
 				//Log.Message("IsHookupAppealing - fail: " + xxx.get_pawnname(target) + " has need to do");
 				return false;
 			}
-			float num = target.relations.SecondaryRomanceChanceFactor(whore) / 1.5f;
+			float numb = target.relations.SecondaryRomanceChanceFactor(whore) / 1.5f;
 			if (xxx.is_frustrated(target))
 			{
-				num *= 3.0f;
+				numb *= 3.0f;
 			}
 			else if (xxx.is_hornyorfrustrated(target))
 			{
-				num *= 2.0f;
+				numb *= 2.0f;
 			}
 			if (xxx.is_zoophile(target) && !xxx.is_animal(whore))
 			{
-				num *= 0.5f;
+				numb *= 0.5f;
 			}
+			if (whore.story.traits.HasTrait(TraitDefOf.CreepyBreathing))
+				numb *= 0.75f;
+
+			if (whore.story.traits.HasTrait(TraitDefOf.AnnoyingVoice))
+				numb *= 0.6f;
+			if (whore.story.traits.HasTrait(TraitDefOf.Abrasive))
+				numb *= .5f;
+			if (xxx.IndividualityIsActive && whore.story.traits.HasTrait(xxx.SYR_Haggler))
+				numb *= 1.5f;
+			if (whore.story.traits.DegreeOfTrait(TraitDefOf.NaturalMood) == 2) // sanguine
+				numb *= 1.2f;
+			if (whore.story.traits.DegreeOfTrait(TraitDefOf.NaturalMood) == 1) // optimist
+				numb *= 1.1f;
+			if (whore.story.traits.DegreeOfTrait(TraitDefOf.NaturalMood) == -1) // pessimist
+				numb *= .9f;
+			if (whore.story.traits.DegreeOfTrait(TraitDefOf.NaturalMood) == -2) // depressive
+				numb *= .8f;
+			if (whore.story.traits.HasTrait(TraitDefOf.Kind))
+				numb *= 1.1f;
 			if (xxx.AlienFrameworkIsActive)
 			{
 				if (xxx.is_xenophile(target))
 				{
 					if (target.def.defName == whore.def.defName)
-						num *= 0.5f; // Same species, xenophile less interested.
+						numb *= 0.5f; // Same species, xenophile less interested.
 					else
-						num *= 1.5f; // Different species, xenophile more interested.
+						numb *= 1.5f; // Different species, xenophile more interested.
 				}
 				else if (xxx.is_xenophobe(target))
 				{
 					if (target.def.defName != whore.def.defName)
-						num *= 0.25f; // Different species, xenophobe less interested.
+						numb *= 0.25f; // Different species, xenophobe less interested.
 				}
 			}
 
-			num *= 0.8f + ((float)whore.skills.GetSkill(SkillDefOf.Social).Level / 40); // 0.8 to 1.3
-			num *= Mathf.InverseLerp(-100f, 0f, target.relations.OpinionOf(whore)); // 1 to 0 reduce score by negative opinion/relations to whore
+			float s = (whore.skills.GetSkill(SkillDefOf.Social).Level);
+			float y = whore.GetStatValue(StatDefOf.PawnBeauty);
+			float z = AgeConfigDef.Instance.whoringPriceByAge.Evaluate(SexUtility.ScaleToHumanAge(whore));
+			float n = ((y / 10) + z + (s / 20));
+
+			float num = n + numb;
+
+			numb *= 0.8f + ((float)whore.skills.GetSkill(SkillDefOf.Social).Level / 40); // 0.8 to 1.3
+			numb *= Mathf.InverseLerp(-100f, 0f, target.relations.OpinionOf(whore)); // 1 to 0 reduce score by negative opinion/relations to whore
 			//Log.Message("IsHookupAppealing - score: " + num);
 			//Rand.PopState();
 			//Rand.PushState(RJW_Multiplayer.PredictableSeed());
-			return Rand.Range(0.05f, 1f) < num;
+			return Rand.Range(0.05f, 1f) < numb;
 		}
 
 		// Summary:
diff --git a/1.3/Source/RimJobWorld.Main.csproj b/1.3/Source/RimJobWorld.Main.csproj
index cbdbd8cd7..ed844cb90 100644
--- a/1.3/Source/RimJobWorld.Main.csproj
+++ b/1.3/Source/RimJobWorld.Main.csproj
@@ -437,7 +437,7 @@
   </ItemGroup>
   <ItemGroup>
     <Reference Include="0Harmony">
-      <HintPath>0trash\packages\Lib.Harmony.2.2.0\lib\net472\0Harmony.dll</HintPath>
+      <HintPath>..\..\..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\workshop\content\294100\2009463077\Current\Assemblies\0Harmony.dll</HintPath>
       <HintPath Condition="Exists('0trash\packages\Lib.Harmony.2.2.0\lib\net472\')">0trash\packages\Lib.Harmony.2.2.0\lib\net472\0Harmony.dll</HintPath>
       <HintPath Condition="Exists('$(RIMWORLD)\..\..\workshop\content\294100\2009463077\')">$(RIMWORLD)\..\..\workshop\content\294100\2009463077\Current\Assemblies\0Harmony.dll</HintPath>
       <Private>False</Private>
@@ -449,6 +449,7 @@
       <HintPath Condition="Exists('0trash\packages\UnlimitedHugs.Rimworld.HugsLib.9.0.0\lib\net472\')">0trash\packages\UnlimitedHugs.Rimworld.HugsLib.9.0.0\lib\net472\HugsLib.dll</HintPath>
       <HintPath Condition="Exists('$(RIMWORLD)\..\..\workshop\content\294100\818773962\')">$(RIMWORLD)\..\..\workshop\content\294100\818773962\Assemblies\HugsLib.dll</HintPath>
       <Private>False</Private>
+      <HintPath>..\..\..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\workshop\content\294100\818773962\Assemblies\HugsLib.dll</HintPath>
     </Reference>
     <Reference Include="Psychology">
       <HintPath>0trash\modpackages\Psychology.2018-11-18\Assemblies\Psychology.dll</HintPath>
-- 
GitLab


From c0aa5090bc41a67f31f078efe238790165f751c6 Mon Sep 17 00:00:00 2001
From: donald moysey <donaldmoysey@gmail.com>
Date: Tue, 5 Jul 2022 21:29:09 -0400
Subject: [PATCH 3/8] changes to if customer will use whore

---
 1.3/Source/Modules/Whoring/Whoring_Helper.cs | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/1.3/Source/Modules/Whoring/Whoring_Helper.cs b/1.3/Source/Modules/Whoring/Whoring_Helper.cs
index 2b63a912a..c6d83cef2 100644
--- a/1.3/Source/Modules/Whoring/Whoring_Helper.cs
+++ b/1.3/Source/Modules/Whoring/Whoring_Helper.cs
@@ -469,6 +469,10 @@ namespace rjw
 				//Lechers are always up for it.
 				num2 = Mathf.InverseLerp(100f, 50f, num);
 			}
+			else if (xxx.is_nympho(target))
+			{
+				num2 = 4f;
+			}
 			else if (target.Map == lover.Map)
 			{
 				//Less likely to cheat if the lover is on the same map.
@@ -478,12 +482,17 @@ namespace rjw
 
 			if (xxx.is_frustrated(target))
 			{
-				num2 *= 1.8f;
+				num2 *= 4f;
 			}
 			else if (xxx.is_hornyorfrustrated(target))
 			{
-				num2 *= 1.4f;
+				num2 *= 2f;
 			}
+			if (target.story.traits.HasTrait(TraitDefOf.Psychopath))
+				num2 *= 2f;
+			if (target.story.traits.HasTrait(TraitDefOf.Greedy))
+				num2 *= 2f;
+
 			num2 /= 1.5f;
 			//Rand.PopState();
 			//Rand.PushState(RJW_Multiplayer.PredictableSeed());
-- 
GitLab


From 6685c063858c63700111140284a9989a6b19eb36 Mon Sep 17 00:00:00 2001
From: donald moysey <donaldmoysey@gmail.com>
Date: Tue, 5 Jul 2022 21:31:38 -0400
Subject: [PATCH 4/8] updated list of jobs to be interupted by whores

---
 .../Whoring/JobDrivers/JobDriver_WhoreInvitingVisitors.cs   | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/1.3/Source/Modules/Whoring/JobDrivers/JobDriver_WhoreInvitingVisitors.cs b/1.3/Source/Modules/Whoring/JobDrivers/JobDriver_WhoreInvitingVisitors.cs
index 45839802c..1c630325a 100644
--- a/1.3/Source/Modules/Whoring/JobDrivers/JobDriver_WhoreInvitingVisitors.cs
+++ b/1.3/Source/Modules/Whoring/JobDrivers/JobDriver_WhoreInvitingVisitors.cs
@@ -8,13 +8,13 @@ namespace rjw
 	public class JobDriver_WhoreInvitingVisitors : JobDriver
 	{
 		// List of jobs that can be interrupted by whores. 
-		public static readonly List<JobDef> allowedJobs = new List<JobDef> { null, JobDefOf.Wait_Wander, JobDefOf.GotoWander, JobDefOf.Clean, JobDefOf.ClearSnow,
+		public static readonly List<JobDef> allowedJobs = new List<JobDef> { null, JobDefOf.Meditate, JobDefOf.Play_MusicalInstrument, JobDefOf.Wait_Wander, JobDefOf.MeditatePray, JobDefOf.GotoWander, JobDefOf.Clean, JobDefOf.ClearSnow,
 			JobDefOf.CutPlant, JobDefOf.HaulToCell, JobDefOf.Deconstruct, JobDefOf.Harvest, JobDefOf.LayDown, JobDefOf.Research, JobDefOf.SmoothFloor, JobDefOf.SmoothWall,
 			JobDefOf.SocialRelax, JobDefOf.StandAndBeSociallyActive, JobDefOf.RemoveApparel, JobDefOf.Strip, JobDefOf.Tame, JobDefOf.Wait, JobDefOf.Wear, JobDefOf.FixBrokenDownBuilding,
-			JobDefOf.FillFermentingBarrel, JobDefOf.DoBill, JobDefOf.Sow, JobDefOf.Shear, JobDefOf.BuildRoof, JobDefOf.DeliverFood,	JobDefOf.HaulToContainer, JobDefOf.Hunt, JobDefOf.Mine,
+			JobDefOf.FillFermentingBarrel, JobDefOf.DoBill, JobDefOf.Sow, JobDefOf.Shear, JobDefOf.BuildRoof, JobDefOf.DeliverFood, JobDefOf.HaulToContainer, JobDefOf.Hunt, JobDefOf.Mine,
 			JobDefOf.OperateDeepDrill, JobDefOf.OperateScanner, JobDefOf.RearmTurret, JobDefOf.Refuel, JobDefOf.RefuelAtomic, JobDefOf.RemoveFloor, JobDefOf.RemoveRoof, JobDefOf.Repair,
 			JobDefOf.TakeBeerOutOfFermentingBarrel, JobDefOf.Train, JobDefOf.Uninstall, xxx.Masturbate};
-			
+
 		public bool successfulPass = true;
 
 		private Pawn Whore => GetActor();
-- 
GitLab


From cffbf7f6f12bcf1f321f6f2d9a4107cfd26d5842 Mon Sep 17 00:00:00 2001
From: donald moysey <donaldmoysey@gmail.com>
Date: Tue, 5 Jul 2022 21:59:12 -0400
Subject: [PATCH 5/8] updated attractivness for potential partners

---
 1.3/Source/Common/SexAppraiser.cs | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/1.3/Source/Common/SexAppraiser.cs b/1.3/Source/Common/SexAppraiser.cs
index 7ab54ae95..fd8a3fd6f 100644
--- a/1.3/Source/Common/SexAppraiser.cs
+++ b/1.3/Source/Common/SexAppraiser.cs
@@ -482,6 +482,13 @@ namespace rjw
 					if (fucked.story.traits.HasTrait(TraitDefOf.CreepyBreathing))
 						body_factor *= 0.9f;
 
+					if (fucked.story.traits.HasTrait(TraitDefOf.AnnoyingVoice))
+						body_factor *= 0.6f;
+
+					float d = fucked.GetStatValue(StatDefOf.PawnBeauty);
+					float e = AgeConfigDef.Instance.whoringPriceByAge.Evaluate(SexUtility.ScaleToHumanAge(fucked));
+					float beauty = ((d / 10) + e) / 10;
+					body_factor *= beauty;
 					//if (fucked.story.traits.HasTrait(TraitDefOf.Beauty))
 					//{
 					//	switch (fucked.story.traits.DegreeOfTrait(TraitDefOf.Beauty))
@@ -500,21 +507,15 @@ namespace rjw
 					//			break;
 					//	}
 					//}
-					if (fucked.GetStatValue(StatDefOf.PawnBeauty) >= 2)
-						body_factor *= 1.25f;
-					else if (fucked.GetStatValue(StatDefOf.PawnBeauty) >= 1)
-						body_factor *= 1.1f;
-					else if (fucked.GetStatValue(StatDefOf.PawnBeauty) < 0)
-						if (fucked.GetStatValue(StatDefOf.PawnBeauty) >= -1)
-							body_factor *= 0.8f;
-						else
-							body_factor *= 0.5f;
 
 					if (RelationsUtility.IsDisfigured(fucked))
 					{
 						body_factor *= 0.8f;
 					}
 
+					if (fucked.story.traits.HasTrait(xxx.Virgin))
+						body_factor *= 1.2f;
+
 					// Nude target is more tempting.
 					if (!fucked.Dead && fucked.apparel.PsychologicallyNude && fucker.CanSee(fucked))
 						body_factor *= 1.1f;
-- 
GitLab


From bef3e3bf39100bb04b17d1925a329982eca39b35 Mon Sep 17 00:00:00 2001
From: donald moysey <donaldmoysey@gmail.com>
Date: Tue, 5 Jul 2022 22:03:31 -0400
Subject: [PATCH 6/8] factored nympho and asexual to chance to become rapist

---
 1.3/Source/Common/Helpers/SexUtility.cs | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/1.3/Source/Common/Helpers/SexUtility.cs b/1.3/Source/Common/Helpers/SexUtility.cs
index cba3f5d82..6cc8f1ccb 100644
--- a/1.3/Source/Common/Helpers/SexUtility.cs
+++ b/1.3/Source/Common/Helpers/SexUtility.cs
@@ -535,6 +535,8 @@ namespace rjw
 				if (xxx.is_ascetic(pawn)) chance -= 0.2f;
 				if (xxx.is_bloodlust(pawn)) chance += 0.2f;
 				if (xxx.is_psychopath(pawn)) chance += 0.25f;
+				if (xxx.is_nympho(pawn)) chance += 0.1f;
+				if (xxx.is_asexual(pawn)) chance -= 0.2f;
 
 				CheckTraitGainInitiatorRNG(pawn, chance);
 			}
-- 
GitLab


From 9dca6b852ca204325e629dada4ad9fe968ec0044 Mon Sep 17 00:00:00 2001
From: donald moysey <donaldmoysey@gmail.com>
Date: Tue, 5 Jul 2022 22:08:46 -0400
Subject: [PATCH 7/8] added ability to check childhood backgrounds to give
 whore experience to cover cloning backgrounds

---
 1.3/Source/MainTab/PawnColumnWorker_WhoreExperience.cs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/1.3/Source/MainTab/PawnColumnWorker_WhoreExperience.cs b/1.3/Source/MainTab/PawnColumnWorker_WhoreExperience.cs
index 851f01e21..e91299b0d 100644
--- a/1.3/Source/MainTab/PawnColumnWorker_WhoreExperience.cs
+++ b/1.3/Source/MainTab/PawnColumnWorker_WhoreExperience.cs
@@ -15,7 +15,7 @@ namespace rjw.MainTab
 
 		protected override string GetTextFor(Pawn pawn)
 		{
-
+			int c = backstories.Contains(pawn.story?.childhood?.titleShort) ? 30 : 0;
 			int b = backstories.Contains(pawn.story?.adulthood?.titleShort) ? 30 : 0;
 			int score = pawn.records.GetAsInt(xxx.CountOfWhore);
 			return (score + b).ToString();
-- 
GitLab


From 2215510fa467c27a1536e14cc79c201b9f92538c Mon Sep 17 00:00:00 2001
From: donald moysey <donaldmoysey@gmail.com>
Date: Tue, 5 Jul 2022 22:21:22 -0400
Subject: [PATCH 8/8] reduced time between whores soliciting customers

---
 1.3/Defs/ThoughtDefs/Thoughts_Whore.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/1.3/Defs/ThoughtDefs/Thoughts_Whore.xml b/1.3/Defs/ThoughtDefs/Thoughts_Whore.xml
index 0e3ad8627..fdffb885d 100644
--- a/1.3/Defs/ThoughtDefs/Thoughts_Whore.xml
+++ b/1.3/Defs/ThoughtDefs/Thoughts_Whore.xml
@@ -79,7 +79,7 @@
 		<durationDays>0.4</durationDays>
 		<stackLimit>100</stackLimit>
 		<stackLimitForSameOtherPawn>1</stackLimitForSameOtherPawn>
-		<stackedEffectMultiplier>0.5</stackedEffectMultiplier>
+		<stackedEffectMultiplier>0.1</stackedEffectMultiplier>
 		<stages>
 			<li>
 				<label>tried to solicit me</label>
-- 
GitLab