From 0c465bc3e5a1e754de84564442fef06779805e59 Mon Sep 17 00:00:00 2001
From: Pregmodder <pregmodder@gmail.com>
Date: Sat, 22 Jul 2017 00:24:07 -0400
Subject: [PATCH] Fixes and EFM transfer p1.

---
 src/npc/fFeelings.tw                          |   2 +-
 src/npc/startingGirls/commitStartingGirl.tw   |  33 +--
 src/npc/startingGirls/startingGirls.tw        |  38 ++--
 src/pregmod/widgets/pregmodWidgets.tw         |   7 -
 src/uncategorized/BackwardsCompatibility.tw   |   9 +
 src/uncategorized/addCustomDescriptors.tw     |   2 +-
 src/uncategorized/clinic.tw                   |   3 +-
 src/uncategorized/clubReport.tw               |   2 +-
 src/uncategorized/completeCatalog.tw          |  11 +
 src/{pregmod => uncategorized}/familyPanic.tw |   0
 .../freeRangeDairyAssignmentScene.tw          |  28 +--
 src/uncategorized/generateXXSlave.tw          |   8 +-
 src/uncategorized/genericPlotEvents.tw        |   2 +
 src/uncategorized/hgSelect.tw                 |   2 +-
 src/uncategorized/masterSuiteReport.tw        |  29 ++-
 src/uncategorized/matchmaking.tw              |   4 +-
 src/uncategorized/neighborsFSAdoption.tw      | 188 +++++++++---------
 src/uncategorized/newSlaveIntro.tw            |  38 ++--
 src/utility/descriptionWidgetsFlesh.tw        |  12 +-
 .../extendedFamilyWidgets.tw                  |   0
 src/utility/miscWidgets.tw                    |   7 +
 src/utility/slaveCreationWidgets.tw           |   2 +-
 22 files changed, 219 insertions(+), 208 deletions(-)
 rename src/{pregmod => uncategorized}/familyPanic.tw (100%)
 rename src/{pregmod/widgets => utility}/extendedFamilyWidgets.tw (100%)

diff --git a/src/npc/fFeelings.tw b/src/npc/fFeelings.tw
index 11833368849..c0f655d8a63 100644
--- a/src/npc/fFeelings.tw
+++ b/src/npc/fFeelings.tw
@@ -879,7 +879,7 @@ My favorite part of my body i<<s>>
 			I - I'm fucking my <<s>>i<<s>>ter," she bursts out, blushing even harder. "It'<<s>> <<s>>o fucking wrong, but <<s>>he'<<s>> <<s>>o hot, I can't <<s>>top.
 		<<elseif areSisters($activeSlave, $slaves[$partner]) == 3>>
 			I - I'm fucking my half-<<s>>i<<s>>ter," she bursts out, blushing even harder. "It'<<s>> <<s>>o fucking wrong, but <<s>>he'<<s>> <<s>>o hot, I can't <<s>>top.
-		<<elseif ($activeSlave.relation != 0) && ($slaves[$partner].ID is $activeSlave.relationTarget)>>
+		<<elseif ($activeSlave.relation != 0) && ($slaves[$partner].ID == $activeSlave.relationTarget)>>
 			I - I'm fucking my <<if ($activeSlave.relation == "mother")>>daughter<<elseif ($activeSlave.relation == "daughter")>>mother<<else>>$activeSlave.relation<</if>>," she bursts out, blushing even harder. "It'<<s>> <<s>>o fucking wrong, but <<if ($activeSlave.relation == "mother")>><<s>>he ha<<s>> <<s>>uch a hot little body<<elseif ($activeSlave.relation == "daughter")>><<s>>he'<<s>> <<s>>uch a hot MILF<<else>><<s>>he'<<s>> <<s>>o hot<</if>>, I can't <<s>>top.
 		<<elseif ($activeSlave.actualAge + 14) < $slaves[$partner].actualAge>>
 			<<S>>he'<<s>> old enough to be my mother." She looks down, blushing a little harder. "But I'm lucky, <<s>>he'<<s>> <<s>>uch a hot MILF.
diff --git a/src/npc/startingGirls/commitStartingGirl.tw b/src/npc/startingGirls/commitStartingGirl.tw
index 4ef5b0163f9..d88fc588e8e 100644
--- a/src/npc/startingGirls/commitStartingGirl.tw
+++ b/src/npc/startingGirls/commitStartingGirl.tw
@@ -24,13 +24,7 @@
 	<<set $hostage = $slaveWithoutBonuses, $hostageCost = $slaveCost, $hostageAnnounced = -1>>
 <</if>>
 
-<<switch $activeSlave.nationality>>
-<<case "Chinese" "Japanese" "Korean" "Cambodian" "Vietnamese" "Hungarian">>
-	<<if $activeSlave.slaveSurname>>$activeSlave.slaveSurname <</if>>$activeSlave.slaveName
-<<default>>
-	$activeSlave.slaveName<<if $activeSlave.slaveSurname>> $activeSlave.slaveSurname<</if>>
-<</switch>>
-has been added to your starting stable of slaves. You now have ¤$cash remaining.
+<<SlaveFullName $activeSlave>> has been added to your starting stable of slaves. You now have ¤$cash remaining.
 <br>
 <<if $cash >= $minimumSlaveCost>>
 	<br>
@@ -44,32 +38,17 @@ has been added to your starting stable of slaves. You now have ¤$cash remaining
 	//Add another slave, related to the previous slave://
 	<br>&nbsp;&nbsp;&nbsp;&nbsp;
 	<<if $familyTesting == 1>>
-		//Use "based on the previous slave" and the available .father and .mother controls to create your family//
-		/*
-		[[Twin|RG AS Dump][$returnTo = "Starting Girls", $activeSlave.father = $missingParentID, $activeSlave.mother = $missingParentID, $startingSlaveRelative = "twin"]]
-		<<if $activeSlave.actualAge <= 8 && ($PC.career == "servant" || $PC.career == "escort") && ($PC.vagina == 1)>>
-		<<else>>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		[[Sister|RG AS Dump][$returnTo = "Starting Girls", $activeSlave.father = $missingParentID, $activeSlave.mother = $missingParentID, $startingSlaveRelative = "sister"]]
-		<<if $activeSlave.actualAge >= ($fertilityAge + $minimumSlaveAge)>>
-			<br>&nbsp;&nbsp;&nbsp;&nbsp;
-			[[Daughter|RG AS Dump][$returnTo = "Starting Girls", $activeSlave.birthsTotal += 1, $startingSlaveRelative = "daughter"]]
-		<</if>>
-		<</if>>
-		*/
+		<br>&nbsp;&nbsp;&nbsp;&nbsp;//Use "based on the previous slave" and the available .father and .mother controls to create your family//
 	<<else>>
-		[[Twin|RG AS Dump][$returnTo = "Starting Girls", $activeSlave.relation = "twin", $activeSlave.relationTarget = $activeSlave.ID+1, $startingGirlCopied = 1]]
+		<br>&nbsp;&nbsp;&nbsp;&nbsp;[[Twin|RG AS Dump][$returnTo = "Starting Girls", $activeSlave.relation = "twin", $activeSlave.relationTarget = $activeSlave.ID+1, $startingGirlCopied = 1]]
 		<<if $activeSlave.actualAge <= 8 && ($PC.career == "servant" || $PC.career == "escort") && ($PC.vagina == 1)>>
 		<<else>>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		[[Sister|RG AS Dump][$returnTo = "Starting Girls", $activeSlave.relation = "sister", $activeSlave.relationTarget = $activeSlave.ID+1, $startingGirlCopied = 1]]
+		<br>&nbsp;&nbsp;&nbsp;&nbsp;[[Sister|RG AS Dump][$returnTo = "Starting Girls", $activeSlave.relation = "sister", $activeSlave.relationTarget = $activeSlave.ID+1, $startingGirlCopied = 1]]
 		<<if $activeSlave.actualAge <= 24>>
-			<br>&nbsp;&nbsp;&nbsp;&nbsp;
-			[[Mother|RG AS Dump][$returnTo = "Starting Girls", $activeSlave.relation = "daughter", $activeSlave.relationTarget = $activeSlave.ID+1, $startingGirlCopied = 1]]
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;[[Mother|RG AS Dump][$returnTo = "Starting Girls", $activeSlave.relation = "daughter", $activeSlave.relationTarget = $activeSlave.ID+1, $startingGirlCopied = 1]]
 		<</if>>
 		<<if $activeSlave.actualAge >= ($fertilityAge + $minimumSlaveAge)>>
-			<br>&nbsp;&nbsp;&nbsp;&nbsp;
-			[[Daughter|RG AS Dump][$returnTo = "Starting Girls", $activeSlave.relation = "mother", $activeSlave.birthsTotal += 1, $activeSlave.relationTarget to $activeSlave.ID+1, $startingGirlCopied = 1]]
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;[[Daughter|RG AS Dump][$returnTo = "Starting Girls", $activeSlave.relation = "mother", $activeSlave.birthsTotal += 1, $activeSlave.relationTarget to $activeSlave.ID+1, $startingGirlCopied = 1]]
 		<</if>>
 		<</if>>
 	<</if>>
diff --git a/src/npc/startingGirls/startingGirls.tw b/src/npc/startingGirls/startingGirls.tw
index b8140eac7f5..012ea33ac65 100644
--- a/src/npc/startingGirls/startingGirls.tw
+++ b/src/npc/startingGirls/startingGirls.tw
@@ -37,28 +37,32 @@
 		<</if>>
 		<<set $missingParentID -= 1>>
 	<<else>>
-	<<set _tempSlave = clone($activeSlave), $activeSlave = $slaveWithoutBonuses>>
-	<<if _tempSlave.relation != 0>>
-		<<if _tempSlave.relation == "sister">>
-			<<set $activeSlave.relation = "sister">>
-			<<set $activeSlave.actualAge -= 5>>
-			<<set $activeSlave.actualAge += random(0,10)>>
-		<<elseif _tempSlave.relation == "mother">>
-			<<set $activeSlave.relation = "daughter">>
-			<<set $activeSlave.actualAge -= random(16,24)>>
-		<<elseif _tempSlave.relation == "daughter">>
-			<<set $activeSlave.relation = "mother">>
-			<<set $activeSlave.actualAge += random(16,24)>>
-			<<if $activeSlave.vagina == 0>><<set $activeSlave.vagina++>><</if>>
-		<<elseif _tempSlave.relation == "twin">>
-			<<set $activeSlave.relation = "twin">>
+		<<set _tempSlave = clone($activeSlave), $activeSlave = $slaveWithoutBonuses>>
+		<<if _tempSlave.relation != 0>>
+			<<if _tempSlave.relation == "sister">>
+				<<set $activeSlave.relation = "sister">>
+				<<set $activeSlave.actualAge -= 5>>
+				<<set $activeSlave.actualAge += random(0,10)>>
+			<<elseif _tempSlave.relation == "mother">>
+				<<set $activeSlave.relation = "daughter">>
+				<<set $activeSlave.actualAge -= random(16,24)>>
+			<<elseif _tempSlave.relation == "daughter">>
+				<<set $activeSlave.relation = "mother">>
+				<<set $activeSlave.actualAge += random(16,24)>>
+				<<if $activeSlave.vagina == 0>><<set $activeSlave.vagina++>><</if>>
+			<<elseif _tempSlave.relation == "twin">>
+				<<set $activeSlave.relation = "twin">>
+			<</if>>
+			<<set $activeSlave.relationTarget = _tempSlave.ID>>
 		<</if>>
-		<<set $activeSlave.relationTarget = _tempSlave.ID>>
-	<</if>>
 	<</if>>
 	<<set $activeSlave.visualAge = $activeSlave.actualAge>>
 	<<set $activeSlave.physicalAge = $activeSlave.actualAge>>
+	<<if $activeSlave.slaveSurname>><<set _familyName = $activeSlave.slaveSurname>><</if>>
+	<<set _familyBirthSurname = $activeSlave.birthSurname>>
 	<<NationalityToName $activeSlave>>
+	<<if _familyName>><<set $activeSlave.slaveSurname = _familyName>><</if>>
+	<<set $activeSlave.birthSurname = _familyBirthSurname>>
 	<<set $activeSlave.slaveName = $activeSlave.birthName>>
 	<<set $activeSlave.ID = $IDNumber++>>
 	<<if $activeSlave.attrKnown == 0>>
diff --git a/src/pregmod/widgets/pregmodWidgets.tw b/src/pregmod/widgets/pregmodWidgets.tw
index 7862f702b65..359512a284f 100644
--- a/src/pregmod/widgets/pregmodWidgets.tw
+++ b/src/pregmod/widgets/pregmodWidgets.tw
@@ -575,13 +575,6 @@ $activeSlave.slaveName is up for review:
 	<</replace>>
 <</widget>>
 
-/* see how they are on a single line? This permits "."s and other things to be appended directly onto the widget result */
-<<widget "PlayerName">><<switch $PC.nationality>><<case "Chinese" "Japanese" "Korean" "Cambodian" "Vietnamese" "Hungarian">><<if $PC.surname>>$PC.surname <</if>>$PC.name<<default>>$PC.name<<if $PC.surname>> $PC.surname<</if>><</switch>><</widget>>
-
-<<widget "SlaveFullName">><<switch $args[0].nationality>><<case "Chinese" "Japanese" "Korean" "Cambodian" "Vietnamese" "Hungarian">><<if $args[0].slaveSurname>>$args[0].slaveSurname <</if>>$args[0].slaveName<<default>>$args[0].slaveName<<if $args[0].slaveSurname>> $args[0].slaveSurname<</if>><</switch>><</widget>>
-
-<<widget "PoliteRudeTitle">><<switch $args[0].nationality>><<case "Japanese">><<if $args[0].trust > 0>>$PC.name<<if $PC.title > 0>>kun<<else>>chan<</if>><<else>><<print $PC.surname>>san<</if>><<default>><<if $args[0].intelligence < -2>><<Master>><<elseif $args[0].trust > 0>>$PC.name<<else>>$PC.surname<</if>><</switch>><</widget>>
-
 <<widget "ResyncHeight">>
 
 <<set $args[0].height = Math.round(Height.random($args[0]))>>
diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
index 751cd7c967c..cb142e4eb56 100644
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ b/src/uncategorized/BackwardsCompatibility.tw
@@ -186,6 +186,15 @@
 <<if ndef $AdvancedHeightSMR>>
 	<<set $AdvancedHeightSMR = 0>>
 <</if>>
+<<if ndef $toysBoughtDildos>>
+	<<set $toysBoughtDildos = 0>>
+<</if>>
+<<if ndef $toysBoughtGags>>
+	<<set $toysBoughtGags = 0>>
+<</if>>
+<<if ndef $toysBoughtButtPlugs>>
+	<<set $toysBoughtButtPlugs = 0>>
+<</if>>
 <<if ndef $toysBoughtButtPlugTails>>
 	<<set $toysBoughtButtPlugTails = 0>>
 <</if>>
diff --git a/src/uncategorized/addCustomDescriptors.tw b/src/uncategorized/addCustomDescriptors.tw
index fda5e0b4bfb..a00876ec992 100644
--- a/src/uncategorized/addCustomDescriptors.tw
+++ b/src/uncategorized/addCustomDescriptors.tw
@@ -105,7 +105,7 @@ You may enter custom descriptors for your slave's hair color, hair style, tattoo
 
 <br><br>
 <<switch $activeSlave.hStyle>>
-<<case "tails" "dreadlocks" "curled" "cornrows">>
+<<case "tails" "dreadlocks" "cornrows">>
 Her hair is in $activeSlave.hStyle.
 <<case "ponytail">>
 Her hair is in a $activeSlave.hStyle.
diff --git a/src/uncategorized/clinic.tw b/src/uncategorized/clinic.tw
index f19f8032025..d9f49d4043a 100644
--- a/src/uncategorized/clinic.tw
+++ b/src/uncategorized/clinic.tw
@@ -124,6 +124,7 @@ $clinicNameCaps
 	You do not have a slave serving as a clinical Nurse. [[Appoint one|Nurse Select]]
 <</if>>
 
+<br><br>
 <<if ($clinic <= $clinicSlaves)>>
 	''$clinicNameCaps is full and cannot hold any more slaves''
 <<elseif ($slaves.length > $clinicSlaves)>>
@@ -141,7 +142,7 @@ $clinicNameCaps
 	<</link>>
 <</if>>
 <<if $clinicSlaves > 0>>
-	| <<link "''Take a slave out of the clinic:''">>
+	| <<link "''Take a slave out of the clinic''">>
 		<<set $leaveClinic = 1>>
 		<<replace #clinicComingGoing>>
 			<<if $leaveClinic == 0>>
diff --git a/src/uncategorized/clubReport.tw b/src/uncategorized/clubReport.tw
index 40248470105..011d2110320 100644
--- a/src/uncategorized/clubReport.tw
+++ b/src/uncategorized/clubReport.tw
@@ -160,7 +160,7 @@
 <<if (_DL > 0)>>
 	<<for _dI = 0; _dI < _DL; _dI++>>
 		<<set $i = $ClubiIDs[_dI].Index>>
-		<<if ($legendaryEntertainerID == 0) && ($slaves[$i].prestige == 0) && ($slaves[$i].entertainSkill >= 100) && ($slaves[$i].devotion > 50) && ($slaves[$i].prestige == 0)>>
+		<<if ($legendaryEntertainerID == 0) && ($slaves[$i].prestige == 0) && ($slaves[$i].entertainSkill >= 100) && ($slaves[$i].devotion > 50)>>
 			<<set $legendaryEntertainerID = $slaves[$i].ID>>
 		<</if>>
 		<<if ($legendaryWombID == 0) && ($slaves[$i].amp != 1) && ($slaves[$i].preg > 30) && ($slaves[$i].pregType < 50) && ($slaves[$i].eggType == "human") && ($slaves[$i].births > 10) && ($slaves[$i].devotion > 50) && ($slaves[$i].prestige == 0)>>
diff --git a/src/uncategorized/completeCatalog.tw b/src/uncategorized/completeCatalog.tw
index a85846324c5..afe225b6b64 100644
--- a/src/uncategorized/completeCatalog.tw
+++ b/src/uncategorized/completeCatalog.tw
@@ -33,6 +33,17 @@
 			<</if>>
 		<</for>>
 	<</if>>
+	<<if $activeSlave.mother == -9995 && $activeSlave.father == -9994>> /* The fruit siblings - Green & Purple Grape */
+		<<for _k = 0; _k < $slaves.length; _k++>>
+			<<if areSisters($slaves[_k], $activeSlave) > 0>>
+				<<if $activeSlave.birthName == "Green Grape">>
+					<<set $activeSlave.actualAge = $slaves[_k].actualAge-5, $activeSlave.physicalAge = $activeSlave.actualAge, $activeSlave.visualAge = $activeSlave.actualAge>>
+				<<elseif $activeSlave.birthName == "Purple Grape">>
+					<<set $activeSlave.actualAge = $slaves[_k].actualAge+5, $activeSlave.physicalAge = $activeSlave.actualAge, $activeSlave.visualAge = $activeSlave.actualAge>>
+				<</if>>
+			<</if>>
+		<</for>>
+	<</if>>
 <</if>>
 
 <br><br>
diff --git a/src/pregmod/familyPanic.tw b/src/uncategorized/familyPanic.tw
similarity index 100%
rename from src/pregmod/familyPanic.tw
rename to src/uncategorized/familyPanic.tw
diff --git a/src/uncategorized/freeRangeDairyAssignmentScene.tw b/src/uncategorized/freeRangeDairyAssignmentScene.tw
index 4cf9e49f1ae..59d8b428066 100644
--- a/src/uncategorized/freeRangeDairyAssignmentScene.tw
+++ b/src/uncategorized/freeRangeDairyAssignmentScene.tw
@@ -136,20 +136,20 @@ Eventually, $activeSlave.slaveName arrives at her designated milking stall.
 		<</for>>
 	<</if>>
 <<else>>
-<<if ($activeSlave.relation != 0)>>
-    <<for $i = 0; $i < $slaves.length; $i++>>
-    <<if $slaves[$i].ID == $activeSlave.relationTarget >>
-        <<if $slaves[$i].assignment == "work in the dairy">>
-            <<set $assayedSlave = $slaves[$i]>>
-            <<set $assayedSlaveAvailable = 1>>
-        <</if>>
-        <<break>>
-    <</if>>
-    <</for>>
-    <<if $assayedSlaveAvailable == 1>>
-        <<set $assayType = $activeSlave.relation>>
-    <</if>>
-<</if>>
+	<<if ($activeSlave.relation != 0)>>
+		<<for $i = 0; $i < $slaves.length; $i++>>
+		<<if $slaves[$i].ID == $activeSlave.relationTarget >>
+			<<if $slaves[$i].assignment == "work in the dairy">>
+				<<set $assayedSlave = $slaves[$i]>>
+				<<set $assayedSlaveAvailable = 1>>
+			<</if>>
+			<<break>>
+		<</if>>
+		<</for>>
+		<<if $assayedSlaveAvailable == 1>>
+			<<set $assayType = $activeSlave.relation>>
+		<</if>>
+	<</if>>
 <</if>> /*closes extended family mode */
 <<if $assayedSlaveAvailable == 0 && $activeSlave.relationship > 0>>
     <<for $i = 0; $i < $slaves.length; $i++>>
diff --git a/src/uncategorized/generateXXSlave.tw b/src/uncategorized/generateXXSlave.tw
index 0c3b5769b91..69aea4f6fde 100644
--- a/src/uncategorized/generateXXSlave.tw
+++ b/src/uncategorized/generateXXSlave.tw
@@ -126,15 +126,11 @@
 <<else>>
 	<<set $activeSlave.sexualFlaw = either("none", "none", "none", "none", "hates oral", "hates anal", "hates penetration", "repressed", "idealistic", "shamefast", "apathetic", "crude", "judgemental")>>
 <</if>>
-<<if ($activeSlave.behavioralFlaw == "none")>>
-	<<if random(1,10) == 1>>
+<<if ($activeSlave.behavioralFlaw == "none") && random(1,10) == 1>>
 	<<set $activeSlave.behavioralQuirk = either("confident", "cutting", "funny", "adores women", "adores men", "fitness", "insecure", "sinful", "advocate")>>
-	<</if>>
 <</if>>
-<<if ($activeSlave.sexualFlaw == "none")>>
-	<<if random(1,10) == 1>>
+<<if ($activeSlave.sexualFlaw == "none") && random(1,10) == 1>>
 	<<set $activeSlave.sexualQuirk = either("gagfuck queen", "painal queen", "strugglefuck queen", "tease", "romantic", "perverted", "caring", "unflinching", "size queen")>>
-	<</if>>
 <</if>>
 
 <<set $activeSlave.health = random(-50,50)>>
diff --git a/src/uncategorized/genericPlotEvents.tw b/src/uncategorized/genericPlotEvents.tw
index 5cf781346e8..14cd53f2ebc 100644
--- a/src/uncategorized/genericPlotEvents.tw
+++ b/src/uncategorized/genericPlotEvents.tw
@@ -849,6 +849,8 @@ A screen opposite your desk springs to life, <<if $assistant == 0>>showing your
 	<<set $activeSlave.entertainSkill = 0>>
 	<<set $activeSlave.analCount += 1>>
 	<<set $analTotal += 1>>
+	<<set $activeSlave.vaginalCount += 1>>
+	<<set $vaginalTotal += 1>>
 	<<set $activeSlave.devotion = 25>>
 	<<set $activeSlave.trust = 5>>
 	<<set $activeSlave.oldDevotion = 25>>
diff --git a/src/uncategorized/hgSelect.tw b/src/uncategorized/hgSelect.tw
index fee19b5c3a0..93a56ae9248 100644
--- a/src/uncategorized/hgSelect.tw
+++ b/src/uncategorized/hgSelect.tw
@@ -76,7 +76,7 @@
 	<<if canPenetrate($HeadGirl) && $HeadGirl.pubertyXY == 1>>
 		To maximize the chances of impregnation, she will fuck fertile pussies frequently during the week. $HeadGirl.slaveName can service $HGCum slaves this way.
 		<<if $HeadGirl.devotion > 95>>She loves you so much she'll fuck them until she's sore.<<else>>If she were more devoted to you, she might be able to drive herself to get hard and service one more.<</if>>
-		<<if $HeadGirl.balls >= 120>>Her unreal balls produce nearly an endless supply of semen; her ability to impregnate is almost limitless .<<elseif $HeadGirl.balls >= 80>>Her inhuman balls produce so much semen she can easily impregnate twenty girls in one sitting.<<elseif $HeadGirl.balls >= 50>>Her giant balls produce so much semen she can easily impregnate twelve girls in one sitting.<<elseif $HeadGirl.balls >= 25>>Her oversized balls produce so much semen she can cum repeatedly in a single session.<<elseif $HeadGirl.balls >= 5>>Her big balls produce so much semen she can cum more before she's drained.<<else>>Bigger balls would let her cum more before she's drained.<</if>>
+		<<if $HeadGirl.balls >= 120>>Her unreal balls produce nearly an endless supply of semen; her ability to impregnate is almost limitless.<<elseif $HeadGirl.balls >= 80>>Her inhuman balls produce so much semen she can easily impregnate twenty girls in one sitting.<<elseif $HeadGirl.balls >= 50>>Her giant balls produce so much semen she can easily impregnate twelve girls in one sitting.<<elseif $HeadGirl.balls >= 25>>Her oversized balls produce so much semen she can cum repeatedly in a single session.<<elseif $HeadGirl.balls >= 5>>Her big balls produce so much semen she can cum more before she's drained.<<else>>Bigger balls would let her cum more before she's drained.<</if>>
 		<<if $HeadGirl.health > 95>>Her wonderful health lets her get hard and stay hard all the time.<<else>>If her health were perfect, she might be able to get hard more often.<</if>>
 		<<if $HeadGirl.energy > 95>>Her nymphomania drives her to go above and beyond in this.<<else>>A more powerful sex drive could reduce her refractory period.<</if>>
 	<<else>>
diff --git a/src/uncategorized/masterSuiteReport.tw b/src/uncategorized/masterSuiteReport.tw
index 4068f9c172d..926624b253b 100644
--- a/src/uncategorized/masterSuiteReport.tw
+++ b/src/uncategorized/masterSuiteReport.tw
@@ -136,16 +136,31 @@
 						When she has a free moment, she pretties herself up so that she may be as beautiful as possible to make you look even better.
 					<</if>>
 					<<if $Concubine.prestigeDesc == "She is remembered for winning best in show as a cockmilker.">>
-						She does her best to prevent herself from making a mess when you don't want one. When she has free time, she researches new techniques to make use of her huge loads to entertain you.
+						<<if $Concubine.balls > 10 || $Concubine.prostate > 1>>
+							She does her best to prevent herself from making a mess when you don't want one. When she has free time, she researches new techniques to make use of her huge loads to entertain you.
+						<<elseif $Concubine.balls > 0>>
+							When she has a free moment, she researches ways to increase the size of her loads for you; she dreams of the day she show you just what she was capable of.
+						<<else>>
+							She wishes she could blow huge loads for you, but without balls, there is little she can do.
+						<</if>>
 					<</if>>
 					<<if $Concubine.prestigeDesc == "She is remembered for winning best in show as a dairy cow.">>
-						She does her best to prevent herself from making a mess when you don't want one. When she has free time, she researches new techniques to make use of her excessive milk to entertain you.
+						<<if $Concubine.lactation > 1 || $Concubine.lactationAdaptation > 90>>
+							She does her best to prevent herself from making a mess when you don't want one. When she has free time, she researches new techniques to make use of her excessive milk to entertain you.
+						<<elseif $Concubine.lactation > 0>>
+							She does her best to prevent herself from making a mess when you don't want one. When she has free time, she researches new techniques to make use of her breast milk to entertain you.
+						<<else>>
+							She wishes she could lactate for you, but she has dried up since her glory days.
+						<</if>>
 					<</if>>
-					<<if $Concubine.prestigeDesc == "She is remembered for winning best in show as a breeder." && $Concubine.preg > 10>>
-						When she has a free moment, she refines her flexibility so that she can perform any sexual position possible for her in her motherly state. She takes the time to look up new positions to work around her growing pregnancy. 
-					<</if>>
-					<<if $Concubine.prestigeDesc == "She is remembered for winning best in show as a breeder.">>
-						When she has a free moment, she refines her flexibility so that she is prepared for any sexual position you can think of, no matter how heavy she becomes with children. 
+					<<if $Concubine.prestigeDesc == "She is remembered for winning best in show as a breeder."
+						<<if $Concubine.preg > 10>>
+							When she has a free moment, she refines her flexibility so that she can perform any sexual position possible for her in her motherly state. She takes the time to look up new positions to work around her growing pregnancy.
+						<<elseif isFertile($Concubine) || $Concubine.preg > 0>>
+							When she has a free moment, she refines her flexibility so that she is prepared for any sexual position you can think of, no matter how heavy she becomes with children.
+						<<else>>
+							When she has a free moment, she researches ways to restore her fertility; she dreams of the day she can carry <<if $PC.dick ==1>>your children<<else>>children for you<</if>>.
+						<</if>>
 					<</if>>
 				<</if>>
 			<</if>>
diff --git a/src/uncategorized/matchmaking.tw b/src/uncategorized/matchmaking.tw
index 30b44ca31cb..6585a62adca 100644
--- a/src/uncategorized/matchmaking.tw
+++ b/src/uncategorized/matchmaking.tw
@@ -438,9 +438,9 @@ Being ordered into a relationship would be difficult for anyone, but they're so
 <<elseif ($subSlave.fetish == "boobs") && ($eventSlave.boobs > 4000)>>
 	$subSlave.slaveName fetishized breasts so much that she thinks $eventSlave.slaveName's udders are one of the sexiest things she's ever seen.
 <<elseif ($eventSlave.fetish == "pregnancy") && ($subSlave.fetish == "pregnancy") && hyperPregBellyOne($subSlave) && hyperPregBellyOne($eventSlave)>>
-	$eventSlave.slaveName and $subSlave.slaveName are both bursting with children, much to the each other's delight. They can't wait to explore each other's baby strained middle.
+	$eventSlave.slaveName and $subSlave.slaveName are both bursting with children, much to the other's delight. They can't wait to explore each other's baby strained middle.
 <<elseif ($eventSlave.fetish == "pregnancy") && ($subSlave.fetish == "pregnancy") && $subSlave.preg > 20 && $eventSlave.preg > 20>>
-	$activeSlave.slaveName and $subSlave.slaveName are both heavily pregnant, much to the each other's delight.
+	$activeSlave.slaveName and $subSlave.slaveName are both heavily pregnant, much to the other's delight.
 <<elseif ($subSlave.fetish == "pregnancy") && hyperPregBellyOne($eventSlave)>>
 	$subSlave.slaveName fetishizes pregnant bellies so much that she is awestruck by $eventSlave.slaveName's bursting, baby filled middle.
 <<elseif ($eventSlave.fetish == "pregnancy") && hyperPregBellyOne($subSlave)>>
diff --git a/src/uncategorized/neighborsFSAdoption.tw b/src/uncategorized/neighborsFSAdoption.tw
index be9304566e0..df553e61173 100644
--- a/src/uncategorized/neighborsFSAdoption.tw
+++ b/src/uncategorized/neighborsFSAdoption.tw
@@ -413,104 +413,104 @@ societal development.
 <</if>>
 <</if>>
 <<if $familyTesting == 1>>
-<<if $adopted == 0>>
-<<if ($arcologies[$i].FSRomanRevivalist == "unset")>>
-<<if ($arcologies[$i].FSAztecRevivalist == "unset")>>
-<<if ($arcologies[$i].FSEgyptianRevivalist == "unset")>>
-<<if ($arcologies[$i].FSEdoRevivalist == "unset")>>
-<<if ($arcologies[$i].FSArabianRevivalist == "unset")>>
-<<if ($arcologies[$i].FSChineseRevivalist == "unset")>>
-	<<if ($leaders[$j].relationshipTarget != 0)>>
-		<<for $k = 0; $k < $slaves.length; $k++>>
-			<<if $leaders[$j].mother == $slaves[$k].ID>>
-				<<if $leaders[$j].relationshipTarget == $slaves[$k].ID>>
-					Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Egyptian Revivalism@@, since she's already part of a gloriously incestuous relationship.
-					<<set $arcologies[$i].FSEgyptianRevivalist = 5>><<set $adopted = 1>>
-				<</if>>
-				<<break>>
-			<<elseif $leaders[$j].father == $slaves[$k].ID>>
-				<<if $leaders[$j].relationshipTarget == $slaves[$k].ID>>
-					Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Egyptian Revivalism@@, since she's already part of a gloriously incestuous relationship.
-					<<set $arcologies[$i].FSEgyptianRevivalist = 5>><<set $adopted = 1>>
-				<</if>>
-				<<break>>
-			<<elseif $leaders[$j].ID == $slaves[$k].father>>
-				<<if $leaders[$j].relationshipTarget == $slaves[$k].ID>>
-					Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Egyptian Revivalism@@, since she's already part of a gloriously incestuous relationship.
-					<<set $arcologies[$i].FSEgyptianRevivalist = 5>><<set $adopted = 1>>
-				<</if>>
-				<<break>>
-			<<elseif $leaders[$j].ID == $slaves[$k].mother>>
-				<<if $leaders[$j].relationshipTarget == $slaves[$k].ID>>
-					Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Egyptian Revivalism@@, since she's already part of a gloriously incestuous relationship.
-					<<set $arcologies[$i].FSEgyptianRevivalist = 5>><<set $adopted = 1>>
+	<<if $adopted == 0>>
+	<<if ($arcologies[$i].FSRomanRevivalist == "unset")>>
+	<<if ($arcologies[$i].FSAztecRevivalist == "unset")>>
+	<<if ($arcologies[$i].FSEgyptianRevivalist == "unset")>>
+	<<if ($arcologies[$i].FSEdoRevivalist == "unset")>>
+	<<if ($arcologies[$i].FSArabianRevivalist == "unset")>>
+	<<if ($arcologies[$i].FSChineseRevivalist == "unset")>>
+		<<if ($leaders[$j].relationshipTarget != 0)>>
+			<<for $k = 0; $k < $slaves.length; $k++>>
+				<<if $leaders[$j].mother == $slaves[$k].ID>>
+					<<if $leaders[$j].relationshipTarget == $slaves[$k].ID>>
+						Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Egyptian Revivalism@@, since she's already part of a gloriously incestuous relationship.
+						<<set $arcologies[$i].FSEgyptianRevivalist = 5>><<set $adopted = 1>>
+					<</if>>
+					<<break>>
+				<<elseif $leaders[$j].father == $slaves[$k].ID>>
+					<<if $leaders[$j].relationshipTarget == $slaves[$k].ID>>
+						Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Egyptian Revivalism@@, since she's already part of a gloriously incestuous relationship.
+						<<set $arcologies[$i].FSEgyptianRevivalist = 5>><<set $adopted = 1>>
+					<</if>>
+					<<break>>
+				<<elseif $leaders[$j].ID == $slaves[$k].father>>
+					<<if $leaders[$j].relationshipTarget == $slaves[$k].ID>>
+						Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Egyptian Revivalism@@, since she's already part of a gloriously incestuous relationship.
+						<<set $arcologies[$i].FSEgyptianRevivalist = 5>><<set $adopted = 1>>
+					<</if>>
+					<<break>>
+				<<elseif $leaders[$j].ID == $slaves[$k].mother>>
+					<<if $leaders[$j].relationshipTarget == $slaves[$k].ID>>
+						Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Egyptian Revivalism@@, since she's already part of a gloriously incestuous relationship.
+						<<set $arcologies[$i].FSEgyptianRevivalist = 5>><<set $adopted = 1>>
+					<</if>>
+					<<break>>
+				<<elseif areSisters($leaders[$j], $slaves[$k]) > 0>>
+					<<if $leaders[$j].relationshipTarget == $slaves[$k].ID>>
+						Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Egyptian Revivalism@@, since she's already part of a gloriously incestuous relationship.
+						<<set $arcologies[$i].FSEgyptianRevivalist = 5>><<set $adopted = 1>>
+					<</if>>
+					<<break>>
 				<</if>>
-				<<break>>
-			<<elseif areSisters($leaders[$j], $slaves[$k]) > 0>>
-				<<if $leaders[$j].relationshipTarget == $slaves[$k].ID>>
-					Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Egyptian Revivalism@@, since she's already part of a gloriously incestuous relationship.
-					<<set $arcologies[$i].FSEgyptianRevivalist = 5>><<set $adopted = 1>>
-				<</if>>
-				<<break>>
-			<</if>>
-		<</for>>
-	<<elseif $leaders[$j].nationality == "Chinese">>
-		Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Chinese Revivalism@@, since she's Chinese herself and can claim high honor in such a society.
-		<<set $arcologies[$i].FSChineseRevivalist = 5>><<set $adopted = 1>>
-	<<elseif $leaders[$j].nationality == "Japanese">>
-		Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Edo Revivalism@@, since she's Japanese herself and can claim high honor in such a society.
-		<<set $arcologies[$i].FSEdoRevivalist = 5>><<set $adopted = 1>>
-	<<elseif $leaders[$j].nationality == "Mexican">>
-		Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Aztec Revivalism@@, since she's Mexican herself and can claim high honor in such a society.
-		<<set $arcologies[$i].FSAztecRevivalist = 5>><<set $adopted = 1>>
-	<<elseif $leaders[$j].behavioralQuirk == "confident">>
-		Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Roman Revivalism@@, since it appeals to her confident, patrician nature.
-		<<set $arcologies[$i].FSRomanRevivalist = 5>><<set $adopted = 1>>
-	<<elseif $leaders[$j].fetish == "dom">>
-		Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Arabian Revivalism@@, since she's sexually dominant and quite likes the idea of overseeing slave bazaars.
-		<<set $arcologies[$i].FSArabianRevivalist = 5>><<set $adopted = 1>>
+			<</for>>
+		<<elseif $leaders[$j].nationality == "Chinese">>
+			Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Chinese Revivalism@@, since she's Chinese herself and can claim high honor in such a society.
+			<<set $arcologies[$i].FSChineseRevivalist = 5>><<set $adopted = 1>>
+		<<elseif $leaders[$j].nationality == "Japanese">>
+			Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Edo Revivalism@@, since she's Japanese herself and can claim high honor in such a society.
+			<<set $arcologies[$i].FSEdoRevivalist = 5>><<set $adopted = 1>>
+		<<elseif $leaders[$j].nationality == "Mexican">>
+			Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Aztec Revivalism@@, since she's Mexican herself and can claim high honor in such a society.
+			<<set $arcologies[$i].FSAztecRevivalist = 5>><<set $adopted = 1>>
+		<<elseif $leaders[$j].behavioralQuirk == "confident">>
+			Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Roman Revivalism@@, since it appeals to her confident, patrician nature.
+			<<set $arcologies[$i].FSRomanRevivalist = 5>><<set $adopted = 1>>
+		<<elseif $leaders[$j].fetish == "dom">>
+			Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Arabian Revivalism@@, since she's sexually dominant and quite likes the idea of overseeing slave bazaars.
+			<<set $arcologies[$i].FSArabianRevivalist = 5>><<set $adopted = 1>>
+		<</if>>
+	<</if>>
+	<</if>>
+	<</if>>
+	<</if>>
+	<</if>>
+	<</if>>
 	<</if>>
-<</if>>
-<</if>>
-<</if>>
-<</if>>
-<</if>>
-<</if>>
-<</if>>
 <<else>>
-<<if $adopted == 0>>
-<<if ($arcologies[$i].FSRomanRevivalist == "unset")>>
-<<if ($arcologies[$i].FSAztecRevivalist == "unset")>>
-<<if ($arcologies[$i].FSEgyptianRevivalist == "unset")>>
-<<if ($arcologies[$i].FSEdoRevivalist == "unset")>>
-<<if ($arcologies[$i].FSArabianRevivalist == "unset")>>
-<<if ($arcologies[$i].FSChineseRevivalist == "unset")>>
-	<<if ($leaders[$j].relationshipTarget != 0) && ($leaders[$j].relationshipTarget == $leaders[$j].relationTarget)>>
-		Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Egyptian Revivalism@@, since she's already part of a gloriously incestuous relationship.
-		<<set $arcologies[$i].FSEgyptianRevivalist = 5>><<set $adopted = 1>>
-	<<elseif $leaders[$j].nationality == "Chinese">>
-		Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Chinese Revivalism@@, since she's Chinese herself and can claim high honor in such a society.
-		<<set $arcologies[$i].FSChineseRevivalist = 5>><<set $adopted = 1>>
-	<<elseif $leaders[$j].nationality == "Japanese">>
-		Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Edo Revivalism@@, since she's Japanese herself and can claim high honor in such a society.
-		<<set $arcologies[$i].FSEdoRevivalist = 5>><<set $adopted = 1>>
-	<<elseif $leaders[$j].nationality == "Mexican">>
-		Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Aztec Revivalism@@, since she's Mexican herself and can claim high honor in such a society.
-		<<set $arcologies[$i].FSAztecRevivalist = 5>><<set $adopted = 1>>
-	<<elseif $leaders[$j].behavioralQuirk == "confident">>
-		Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Roman Revivalism@@, since it appeals to her confident, patrician nature.
-		<<set $arcologies[$i].FSRomanRevivalist = 5>><<set $adopted = 1>>
-	<<elseif $leaders[$j].fetish == "dom">>
-		Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Arabian Revivalism@@, since she's sexually dominant and quite likes the idea of overseeing slave bazaars.
-		<<set $arcologies[$i].FSArabianRevivalist = 5>><<set $adopted = 1>>
+	<<if $adopted == 0>>
+	<<if ($arcologies[$i].FSRomanRevivalist == "unset")>>
+	<<if ($arcologies[$i].FSAztecRevivalist == "unset")>>
+	<<if ($arcologies[$i].FSEgyptianRevivalist == "unset")>>
+	<<if ($arcologies[$i].FSEdoRevivalist == "unset")>>
+	<<if ($arcologies[$i].FSArabianRevivalist == "unset")>>
+	<<if ($arcologies[$i].FSChineseRevivalist == "unset")>>
+		<<if ($leaders[$j].relationshipTarget != 0) && ($leaders[$j].relationshipTarget == $leaders[$j].relationTarget)>>
+			Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Egyptian Revivalism@@, since she's already part of a gloriously incestuous relationship.
+			<<set $arcologies[$i].FSEgyptianRevivalist = 5>><<set $adopted = 1>>
+		<<elseif $leaders[$j].nationality == "Chinese">>
+			Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Chinese Revivalism@@, since she's Chinese herself and can claim high honor in such a society.
+			<<set $arcologies[$i].FSChineseRevivalist = 5>><<set $adopted = 1>>
+		<<elseif $leaders[$j].nationality == "Japanese">>
+			Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Edo Revivalism@@, since she's Japanese herself and can claim high honor in such a society.
+			<<set $arcologies[$i].FSEdoRevivalist = 5>><<set $adopted = 1>>
+		<<elseif $leaders[$j].nationality == "Mexican">>
+			Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Aztec Revivalism@@, since she's Mexican herself and can claim high honor in such a society.
+			<<set $arcologies[$i].FSAztecRevivalist = 5>><<set $adopted = 1>>
+		<<elseif $leaders[$j].behavioralQuirk == "confident">>
+			Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Roman Revivalism@@, since it appeals to her confident, patrician nature.
+			<<set $arcologies[$i].FSRomanRevivalist = 5>><<set $adopted = 1>>
+		<<elseif $leaders[$j].fetish == "dom">>
+			Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Arabian Revivalism@@, since she's sexually dominant and quite likes the idea of overseeing slave bazaars.
+			<<set $arcologies[$i].FSArabianRevivalist = 5>><<set $adopted = 1>>
+		<</if>>
+	<</if>>
+	<</if>>
+	<</if>>
+	<</if>>
+	<</if>>
+	<</if>>
 	<</if>>
-<</if>>
-<</if>>
-<</if>>
-<</if>>
-<</if>>
-<</if>>
-<</if>>
 <</if>> /* closes extended family mode */
 
 <<break>>
diff --git a/src/uncategorized/newSlaveIntro.tw b/src/uncategorized/newSlaveIntro.tw
index b627d768bd8..6b5dd2c3f26 100644
--- a/src/uncategorized/newSlaveIntro.tw
+++ b/src/uncategorized/newSlaveIntro.tw
@@ -92,28 +92,18 @@ The legalities completed, ''__@@.pink;<<SlaveFullName $activeSlave>>@@__'' <<if
 	<</if>>
 <</if>>
 
-<<if $familyTesting == 1>>
-	<<if $activeSlave.indenture < 0>>
-		<<if $activeSlave.canRecruit == 1>>
-			/*<<set $recruiters.push($activeSlave)>>*/
-		<</if>>
+<<if $familyTesting == 0 && ($activeSlave.indenture < 0) && ($activeSlave.relation == 0)>>
+	<<if random(1,100) <= 5>>
+		<<set $activeSlave.recruiter = "twin">>
+	<<elseif ($activeSlave.actualAge > 32) && ($activeSlave.vagina != 0) && (random(1,100) <= 41)>>
+		<<set $activeSlave.recruiter = "mother">>
+	<<elseif ($activeSlave.actualAge < 24) && (random(1,100) <= 40)>>
+		<<set $activeSlave.recruiter = "daughter">>
+	<<elseif ($activeSlave.actualAge < 43) && (random(1,100) <= 20)>>
+		<<set $activeSlave.recruiter = "older sister">>
+	<<elseif ($activeSlave.actualAge < 25) && ($activeSlave.actualAge > 18) && (random(1,100) <= 20)>>
+		<<set $activeSlave.recruiter = "young sister">>
 	<</if>>
-<<else>>
-<<if ($activeSlave.indenture < 0)>>
-<<if ($activeSlave.relation == 0)>>
-<<if random(1,100) <= 5>>
-	<<set $activeSlave.recruiter = "twin">>
-<<elseif ($activeSlave.actualAge > 32) && ($activeSlave.vagina != 0) && (random(1,100) <= 41)>>
-	<<set $activeSlave.recruiter = "mother">>
-<<elseif ($activeSlave.actualAge < 24) && (random(1,100) <= 40)>>
-	<<set $activeSlave.recruiter = "daughter">>
-<<elseif ($activeSlave.actualAge < 43) && (random(1,100) <= 20)>>
-	<<set $activeSlave.recruiter = "older sister">>
-<<elseif ($activeSlave.actualAge < 25) && ($activeSlave.actualAge > 18) && (random(1,100) <= 20)>>
-	<<set $activeSlave.recruiter = "young sister">>
-<</if>>
-<</if>>
-<</if>>
 <</if>>
 
 
@@ -1203,7 +1193,11 @@ The legalities completed, ''__@@.pink;<<SlaveFullName $activeSlave>>@@__'' <<if
 	 | <<link "Impregnate her">>
 	<<replace "#introResult">>
 		You perform a careful medical examination to verify fertility, and then restrain her in your office with her ass in the air. Whenever you feel able, you drain your balls into her <<if $activeSlave.mpreg == 1>>ass<<else>>cunt<</if>>, only releasing her for other duties when scans verify a fertilized ovum. She didn't properly understand the scans, so she just thought it was bound, forced sex; she won't realize what happened for some weeks at least.
-		<<VaginalVCheck>>
+		<<if $activeSlave.mpreg == 1>>
+			<<AnalVCheck>>
+		<<else>>
+			<<VaginalVCheck>>
+		<</if>>
 		<<SetPregType $activeSlave>>
 		<<if $arcologies[0].FSRestart != "unset">>
 			The Societal Elite @@.green;disapprove@@ of this breach of eugenics.
diff --git a/src/utility/descriptionWidgetsFlesh.tw b/src/utility/descriptionWidgetsFlesh.tw
index 37116bd4cc8..37491d6a381 100644
--- a/src/utility/descriptionWidgetsFlesh.tw
+++ b/src/utility/descriptionWidgetsFlesh.tw
@@ -2950,14 +2950,14 @@ $pronounCap's got a
 	<<elseif ($activeSlave.fetish == "boobs") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)>>
 		Judging by how hard $pronoun is<<if $activeSlave.prostate > 1>> and the constant flow of precum leaking from the tip of $possessive dick<<elseif $activeSlave.prostate > 0>> and the little bead of precum forming at the tip of $possessive dick<</if>>, $pronoun's probably fantasizing about boobs.
 	<<elseif ($activeSlave.devotion > 50)>>
-		As a devoted sex slave, $pronoun has no trouble keeping herself hard for $possessive <<Master>>.
+		As a devoted sex slave, $pronoun has no trouble keeping herself hard for $possessive <<WrittenMaster>>.
 		<<if ($activeSlave.prostate > 2)>>
 			The area above $possessive crotch has a slight swell to it from $possessive prostate implant. A constant dribble of precum drips from the tip of $possessive cock; $possessive artificially hyperactive prostate keeps $object that way.
 		<<elseif ($activeSlave.prostate > 1)>>
 			$possessiveCap's got a string of precum dangling from the tip of $possessive cock; $possessive artificially hyperactive prostate keeps $object that way.
 		<</if>>
 	<<elseif ($activeSlave.devotion > 20)>>
-		As an obedient sex slave, $pronoun does $possessive best to keep <<print $possessive>>self hard for $possessive <<Master>>.
+		As an obedient sex slave, $pronoun does $possessive best to keep <<print $possessive>>self hard for $possessive <<WrittenMaster>>.
 		<<if ($activeSlave.prostate > 2)>>
 			The area above $possessive crotch has a slight swell to it from $possessive prostate implant. A constant dribble of precum drips from the tip of $possessive cock; $possessive artificially hyperactive prostate keeps $object that way.
 		<<elseif ($activeSlave.prostate > 1)>>
@@ -4396,15 +4396,15 @@ $pronounCap has
 		<</if>>
 	<<elseif $activeSlave.height >= 185>>
 		<<if $activeSlave.pregType >= 20>>
-			but $possessive tall frame barely keeps $possessive grotesque, splitting belly off the ground. Despite being taut, $possessive belly visibly bulges and squirms from all the babies writhing within $possessive. $possessiveCap womb is so full you can see the babies forced up against $possessive uterus, even the slightest provocation could cause $possessive to burst.
+			but $possessive tall frame barely keeps $possessive grotesque, splitting belly off the ground. Despite being taut, $possessive belly visibly bulges and squirms from all the babies writhing within $object. $possessiveCap womb is so full you can see the babies forced up against $possessive uterus, even the slightest provocation could cause $object to burst.
 		<<elseif $activeSlave.pregType >= 10>>
-			but $possessive tall frame barely bears $possessive obscene, drum-taut belly. $pronounCap is so pregnant you can barely see the babies within $possessive bulging $possessive stomach.
+			but $possessive tall frame barely bears $possessive obscene, drum-taut belly. $pronounCap is so pregnant you can barely see the babies within $possessive bulging stomach.
 		<<else>>
 			but $possessive tall frame bears $possessive massive, drum-taut belly well.
 		<</if>>
 	<<elseif $activeSlave.height < 150>>
 		<<if $activeSlave.pregType >= 20>>
-			and $pronoun is more belly than girl. $possessiveCap absolutely gigantic, overfilled womb keeps $possessive pinned to the ground. $possessiveCap belly visibly bulges and squirms from all the babies within $possessive. $pronounCap is so full you can see the babies forced up against the walls of $possessive uterus. $possessiveCap skin is so taut that even the slightest provocation could cause $possessive to burst.<<if $activeSlave.amp == 0>> $pronounCap requires assistance to get to $possessive feet, and uses a wheeled stand to support $possessive pregnancy when $pronoun must walk anywhere.<</if>>
+			and $pronoun is more belly than girl. $possessiveCap absolutely gigantic, overfilled womb keeps $object pinned to the ground. $possessiveCap belly visibly bulges and squirms from all the babies within $object. $pronounCap is so full you can see the babies forced up against the walls of $possessive uterus. $possessiveCap skin is so taut that even the slightest provocation could cause $object to burst.<<if $activeSlave.amp == 0>> $pronounCap requires assistance to get to $possessive feet, and uses a wheeled stand to support $possessive pregnancy when $pronoun must walk anywhere.<</if>>
 		<<elseif $activeSlave.pregType >= 10>>
 			and $pronoun can barely function with $possessive enormous belly. $pronounCap is so full you can barely see the babies bulging out of $possessive stomach.
 		<<else>>
@@ -4420,7 +4420,7 @@ $pronounCap has
 		<</if>>
 	<<else>>
 		<<if $activeSlave.pregType >= 20>>
-			and $pronoun is more belly than girl. $possessiveCap gigantic, overfilled womb keeps $possessive pinned to the ground. $possessiveCap belly visibly bulges and squirms from all the babies within $possessive.  $pronounCap is so full you can see the babies forced up against the walls of $possessive womb through $possessive taut skin.  $possessiveCap bulgy belly is at risk of rupturing.<<if $activeSlave.amp == 0>>  $pronounCap requires assistance to get to $possessive feet, and uses a wheeled stand to support $possessive pregnancy when $pronoun must walk anywhere.<</if>>
+			and $pronoun is more belly than girl. $possessiveCap gigantic, overfilled womb keeps $object pinned to the ground. $possessiveCap belly visibly bulges and squirms from all the babies within $object.  $pronounCap is so full you can see the babies forced up against the walls of $possessive womb through $possessive taut skin. $possessiveCap bulgy belly is at risk of rupturing.<<if $activeSlave.amp == 0>>  $pronounCap requires assistance to get to $possessive feet, and uses a wheeled stand to support $possessive pregnancy when $pronoun must walk anywhere.<</if>>
 		<<elseif $activeSlave.pregType >= 10>>
 			and $pronoun can barely function with $possessive enormous belly. $possessiveCap womb is so full you can see the babies gently bulging the walls of $possessive uterus.
 		<<else>>
diff --git a/src/pregmod/widgets/extendedFamilyWidgets.tw b/src/utility/extendedFamilyWidgets.tw
similarity index 100%
rename from src/pregmod/widgets/extendedFamilyWidgets.tw
rename to src/utility/extendedFamilyWidgets.tw
diff --git a/src/utility/miscWidgets.tw b/src/utility/miscWidgets.tw
index 2f6a9d97992..3536a3186db 100644
--- a/src/utility/miscWidgets.tw
+++ b/src/utility/miscWidgets.tw
@@ -2630,6 +2630,13 @@ Call as <<SlaveSort [$slaves]>>
 	<</if>>
 <</widget>>
 
+/* see how they are on a single line? This permits "."s and other things to be appended directly onto the widget result */
+<<widget "PlayerName">><<switch $PC.nationality>><<case "Chinese" "Japanese" "Korean" "Cambodian" "Vietnamese" "Hungarian">><<if $PC.surname>>$PC.surname <</if>>$PC.name<<default>>$PC.name<<if $PC.surname>> $PC.surname<</if>><</switch>><</widget>>
+
+<<widget "SlaveFullName">><<switch $args[0].nationality>><<case "Chinese" "Japanese" "Korean" "Cambodian" "Vietnamese" "Hungarian">><<if $args[0].slaveSurname>>$args[0].slaveSurname <</if>>$args[0].slaveName<<default>>$args[0].slaveName<<if $args[0].slaveSurname>> $args[0].slaveSurname<</if>><</switch>><</widget>>
+
+<<widget "PoliteRudeTitle">><<switch $args[0].nationality>><<case "Japanese">><<if $args[0].trust > 0>>$PC.name<<if $PC.title > 0>>kun<<else>>chan<</if>><<else>><<print $PC.surname>>san<</if>><<default>><<if $args[0].intelligence < -2>><<Master>><<elseif $args[0].trust > 0>>$PC.name<<else>>$PC.surname<</if>><</switch>><</widget>>
+
 /*
  Call as <<EventNameLink>>
  $args[0]: Slave.
diff --git a/src/utility/slaveCreationWidgets.tw b/src/utility/slaveCreationWidgets.tw
index 2d8241f43d0..a85088fce22 100644
--- a/src/utility/slaveCreationWidgets.tw
+++ b/src/utility/slaveCreationWidgets.tw
@@ -6,7 +6,7 @@
 	Called from Gen XX, Gen XY, CheatMode DB, InitNationalities.
 %/
 <<widget "BaseSlave">>
-	<<set $activeSlave = {slaveName: "blank", slaveSurname: 0, birthName: "blank", birthSurname: 0, genes: "XX", weekAcquired: 0, origin: 0, career: 0, ID: 0, prestige: 0, pornFame: 0, pornFameSpending: 0, prestigeDesc: 0, recruiter: 0, relation: 0, relationTarget: 0, relationship: 0, relationshipTarget: 0, rivalry: 0, rivalryTarget: 0, subTarget: 0, choosesOwnAssignment: 0, assignment: "rest", assignmentVisible: 1, sentence: 0, training: 0, toyHole: "all her holes", indenture: -1, indentureRestrictions: 0, birthWeek: random(0,51), actualAge: 18, visualAge: 18, physicalAge: 18, ageImplant: 0, health: 0, minorInjury: 0, trust: 0, oldTrust: 0, devotion: 0, oldDevotion: 0, weight: 0, muscles: 0, height: 170, heightImplant: 0, nationality: "slave", race: "white", markings: "none", eyes: 1, eyeColor: "brown", origEye: "brown", eyewear: "none", origHColor: "brown", hColor: "brown", pubicHColor: "brown", skin: "light", hLength: 60, hStyle: "short", pubicHStyle: "neat", waist: 0, corsetPiercing: 0, PLimb: 0, amp: 0, heels:0, voice: 2, voiceImplant: 0, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 0, boobsImplant: 0, boobsImplantType: 0, boobShape: "normal", nipples: "cute",  nipplesPiercing: 0, areolae: 0, areolaePiercing: 0, boobsTat: 0, lactation: 0, lactationAdaptation: 0, milk: 0, cum: 0, hips: 0, hipsImplant: 0, butt: 0, buttImplant: 0, buttImplantType: 0, buttTat: 0, face: 0, faceImplant: 0, faceShape: "normal", lips: 15, lipsImplant: 0, lipsPiercing: 0, lipsTat: 0, teeth: "normal", tonguePiercing: 0, vagina: 0, vaginaLube: 0, vaginaPiercing: 0, vaginaTat: 0, preg: -1, pregSource: 0, pregType: 0, labor: 0, births: 0, cSec: 0, bellyAccessory: "none", labia: 0, clit: 0, clitPiercing: 0, clitSetting: "vanilla", foreskin: 0, anus: 0, dick: 0, analArea: 1, dickPiercing: 0, dickTat: 0, prostate: 0, balls: 0, scrotum: 0, ovaries: 0, anusPiercing: 0, anusTat: 0, makeup: 0, nails: 0, brand: 0, brandLocation: 0, earPiercing: 0, nosePiercing: 0, eyebrowPiercing: 0, navelPiercing: 0, shouldersTat: 0, armsTat: 0, legsTat: 0, backTat: 0, stampTat: 0, vaginalSkill: 0, oralSkill: 0, analSkill: 0, whoreSkill: 0, entertainSkill: 0, combatSkill: 0, livingRules: "spare", speechRules: "restrictive", releaseRules: "restrictive", relationshipRules: "restrictive", standardPunishment: "situational", standardReward: "situational", useRulesAssistant: 1, diet: "healthy", dietCum: 0, dietMilk: 0, tired: 0, hormones: 0, drugs: "no drugs", curatives: 0, chem: 0, aphrodisiacs: 0, addict: 0, fuckdoll: 0, choosesOwnClothes: 0, clothes: "no clothing", collar: "none", shoes: "none", vaginalAccessory: "none", dickAccessory: "none", buttplug: "none", intelligence: 0, intelligenceImplant: 0, energy: 50, attrXX: 0, attrXY: 0, attrKnown: 0, fetish: "none", fetishStrength: 70, fetishKnown: 0, behavioralFlaw: "none", behavioralQuirk: "none", sexualFlaw: "none", sexualQuirk: "none", oralCount: 0, vaginalCount: 0, analCount: 0, mammaryCount: 0, penetrativeCount: 0, publicCount: 0, pitKills: 0, customTat: "", customLabel: "", customDesc: "", customTitle: "", customTitleLisp: "", rudeTitle: 0, customImage: 0, currentRules: [], bellyTat: 0, induce: 0, mpreg: 0, inflation: 0, inflationType: "none", inflationMethod: 0, milkSource: 0, cumSource: 0, burst: 0, bellyImplant: 0, bellySag: 0, bellySagPreg: 0, bellyPain: 0, cervixImplant: 0, birthsTotal: 0, pubertyAgeXX: 13, pubertyAgeXY: 13, scars: 0, breedingMark: 0, underArmHStyle: "waxed", bodySwap: 0, father: 0, mother: 0, daughters: 0, sisters: 0, canRecruit: 0, HGExclude: 0, ballType: "human", eggType: "human", reservedChildren: 0, choosesOwnChastity: 0, pregControl: "none", readyLimbs: [], ageAdjust: 0, bald: 0, origBodyOwner: "", death: "", hormoneBalance: 0, onDiet: 0, breastMesh: 0, buttplugAttachment: "none", slavesFathered: 0, PCChildrenFathered: 0, slavesKnockedUp: 0, PCKnockedUp: 0, origSkin: "white"}>>
+	<<set $activeSlave = {slaveName: "blank", slaveSurname: 0, birthName: "blank", birthSurname: 0, genes: "XX", weekAcquired: 0, origin: 0, career: 0, ID: 0, prestige: 0, pornFame: 0, pornFameSpending: 0, prestigeDesc: 0, recruiter: 0, relation: 0, relationTarget: 0, relationship: 0, relationshipTarget: 0, rivalry: 0, rivalryTarget: 0, subTarget: 0, father: 0, mother: 0, daughters: 0, sisters: 0, canRecruit: 0, choosesOwnAssignment: 0, assignment: "rest", assignmentVisible: 1, sentence: 0, training: 0, toyHole: "all her holes", indenture: -1, indentureRestrictions: 0, birthWeek: random(0,51), actualAge: 18, visualAge: 18, physicalAge: 18, ageImplant: 0, health: 0, minorInjury: 0, trust: 0, oldTrust: 0, devotion: 0, oldDevotion: 0, weight: 0, muscles: 0, height: 170, heightImplant: 0, nationality: "slave", race: "white", markings: "none", eyes: 1, eyeColor: "brown", origEye: "brown", eyewear: "none", origHColor: "brown", hColor: "brown", pubicHColor: "brown", skin: "light", hLength: 60, hStyle: "short", pubicHStyle: "neat", waist: 0, corsetPiercing: 0, PLimb: 0, amp: 0, heels:0, voice: 2, voiceImplant: 0, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 0, boobsImplant: 0, boobsImplantType: 0, boobShape: "normal", nipples: "cute",  nipplesPiercing: 0, areolae: 0, areolaePiercing: 0, boobsTat: 0, lactation: 0, lactationAdaptation: 0, milk: 0, cum: 0, hips: 0, hipsImplant: 0, butt: 0, buttImplant: 0, buttImplantType: 0, buttTat: 0, face: 0, faceImplant: 0, faceShape: "normal", lips: 15, lipsImplant: 0, lipsPiercing: 0, lipsTat: 0, teeth: "normal", tonguePiercing: 0, vagina: 0, vaginaLube: 0, vaginaPiercing: 0, vaginaTat: 0, preg: -1, pregSource: 0, pregType: 0, labor: 0, births: 0, cSec: 0, bellyAccessory: "none", labia: 0, clit: 0, clitPiercing: 0, clitSetting: "vanilla", foreskin: 0, anus: 0, dick: 0, analArea: 1, dickPiercing: 0, dickTat: 0, prostate: 0, balls: 0, scrotum: 0, ovaries: 0, anusPiercing: 0, anusTat: 0, makeup: 0, nails: 0, brand: 0, brandLocation: 0, earPiercing: 0, nosePiercing: 0, eyebrowPiercing: 0, navelPiercing: 0, shouldersTat: 0, armsTat: 0, legsTat: 0, backTat: 0, stampTat: 0, vaginalSkill: 0, oralSkill: 0, analSkill: 0, whoreSkill: 0, entertainSkill: 0, combatSkill: 0, livingRules: "spare", speechRules: "restrictive", releaseRules: "restrictive", relationshipRules: "restrictive", standardPunishment: "situational", standardReward: "situational", useRulesAssistant: 1, diet: "healthy", dietCum: 0, dietMilk: 0, tired: 0, hormones: 0, drugs: "no drugs", curatives: 0, chem: 0, aphrodisiacs: 0, addict: 0, fuckdoll: 0, choosesOwnClothes: 0, clothes: "no clothing", collar: "none", shoes: "none", vaginalAccessory: "none", dickAccessory: "none", buttplug: "none", intelligence: 0, intelligenceImplant: 0, energy: 50, attrXX: 0, attrXY: 0, attrKnown: 0, fetish: "none", fetishStrength: 70, fetishKnown: 0, behavioralFlaw: "none", behavioralQuirk: "none", sexualFlaw: "none", sexualQuirk: "none", oralCount: 0, vaginalCount: 0, analCount: 0, mammaryCount: 0, penetrativeCount: 0, publicCount: 0, pitKills: 0, customTat: "", customLabel: "", customDesc: "", customTitle: "", customTitleLisp: "", rudeTitle: 0, customImage: 0, currentRules: [], bellyTat: 0, induce: 0, mpreg: 0, inflation: 0, inflationType: "none", inflationMethod: 0, milkSource: 0, cumSource: 0, burst: 0, bellyImplant: 0, bellySag: 0, bellySagPreg: 0, bellyPain: 0, cervixImplant: 0, birthsTotal: 0, pubertyAgeXX: 13, pubertyAgeXY: 13, scars: 0, breedingMark: 0, underArmHStyle: "waxed", bodySwap: 0, HGExclude: 0, ballType: "human", eggType: "human", reservedChildren: 0, choosesOwnChastity: 0, pregControl: "none", readyLimbs: [], ageAdjust: 0, bald: 0, origBodyOwner: "", death: "", hormoneBalance: 0, onDiet: 0, breastMesh: 0, buttplugAttachment: "none", slavesFathered: 0, PCChildrenFathered: 0, slavesKnockedUp: 0, PCKnockedUp: 0, origSkin: "white"}>>
 <</widget>>
 
 /%
-- 
GitLab