From e85e34ae633cf87cd9e364813e22c2373d71bb94 Mon Sep 17 00:00:00 2001
From: klorpa <30924131+klorpa@users.noreply.github.com>
Date: Wed, 1 May 2019 00:49:13 -0500
Subject: [PATCH] MiscEtc

---
 src/SpecialForce/Proposal.tw                |  43 +-
 src/cheats/mod_EditArcologyCheat.tw         |   1 -
 src/events/intro/initNationalities.tw       |   2 +-
 src/gui/Encyclopedia/encyclopedia.tw        |   2 +-
 src/init/storyInit.tw                       |   2 +-
 src/js/generateMarketSlave.js               |   4 +-
 src/npc/startingGirls/commitStartingGirl.tw | 121 ++-
 src/player/actions/fondleButt.tw            |   4 +-
 src/pregmod/fPat.tw                         |   2 +-
 src/pregmod/forceFeeding.tw                 |   2 +-
 src/pregmod/managePersonalAffairs.tw        |   2 +-
 src/pregmod/seFCTVinstall.tw                |   2 +-
 src/pregmod/seFCTVremote.tw                 |   4 +-
 src/uncategorized/BackwardsCompatibility.tw |   4 +-
 src/uncategorized/RECI.tw                   |   4 +-
 src/uncategorized/endWeek.tw                |  74 +-
 src/uncategorized/genericPlotEvents.tw      |   2 +-
 src/uncategorized/householdLiquidator.tw    |  28 +-
 src/uncategorized/longSlaveDescription.tw   |   2 +-
 src/uncategorized/main.tw                   |   4 +-
 src/uncategorized/manageArcology.tw         |  48 +-
 src/uncategorized/reBusyMasterSuite.tw      |   2 +-
 src/uncategorized/reputation.tw             |   2 +-
 src/uncategorized/resFailure.tw             |   2 +-
 src/utility/extendedFamilyWidgets.tw        | 872 +++++++++++---------
 25 files changed, 650 insertions(+), 585 deletions(-)

diff --git a/src/SpecialForce/Proposal.tw b/src/SpecialForce/Proposal.tw
index 1fdf94d09bc..d643d0841f0 100644
--- a/src/SpecialForce/Proposal.tw
+++ b/src/SpecialForce/Proposal.tw
@@ -1,15 +1,34 @@
 :: Security Force Proposal [nobr]
 
-<<set $nextButton = " ">> <span id="result">
-The Free Cities were founded on the principles of unrestrained anarcho-capitalism. To those with such beliefs, the very idea of possessing an armed force, a key tool of government control, or weapons at all, was anathema.
-<br><br>In the period since, however, your citizens have seen the value in weaponry. They watched on their news-feed as some Free Cities were sacked by the armies and mobs of the old world, driven by their hatred of the citizens' luxurious lifestyles. They've seen other Cities toppled from within, by slave conspiracies or infighting among citizen groupings with differing beliefs. They've witnessed the distressingly rapid rise of fanatical anti-slavery organizations, who would like nothing more than to see them slowly bled by their own chattel. They are learned people, and they know what happens to slaveowners who lose their power.
-<br><br>They've also seen the results of your policies. Your actions towards the arming of both yourself and the arcology proved critical, and ensured their safety when the old world came for them. And your victory over the Daughters of Liberty, who the citizens know would have executed every single one of them, has created an opportunity. If you insisted upon the creation of a standing 'special' force for the arcology, many would support you and, more importantly, nobody of note would object.
-<br><br>Such a force would solve many problems. More soldiers would mean more control, which is very good for you. More soldiers would mean more security for the arcology and the approaches to it, which is very good for business. More soldiers would mean more obedience from rebellious slaves who can see how powerless they truly are, which is very good for everybody. The force would be tiny compared to the old world militaries that still exist, but money and technology can, of course, overcome massive numerical inferiority. This being the Free Cities, they would have other uses besides security. Perhaps, in time, you could exert some manner of influence on the old world itself.
-<br><br>''This is a unique and very important opportunity'', and is possible only because of your recent victory over the Daughters. If you do not seize it, the memories and fears of your citizens will fade,and you will not be able to raise the matter again.
+<<set $nextButton = " ">>
+<span id="result">
 
-<<set _price = 20000>> <<if $PC.warfare >= 100>> <<set _price *= .5>>
-<<elseif $PC.warfare >= 50||$PC.career === "arcology owner">> <<set _price *= .75>> <</if>>
-<br><<link "Prepare for an announcement.""Security Force Naming-Colonel">> <<replace "#result">>
-	<<= App.SF.Init()>> <<set $SF.IntroProgress = -1>> <<run cashX(-_price, "specialForces")>>
-<</replace>> <</link>><br>//Initial costs are @@.yellowgreen;<<print cashFormat(_price)>>@@ and upon establishment the force will have significant support costs until it is self-sufficient.//
-<br><<link "The current measures are enough.""RIE Eligibility Check">> <<replace "#result">> <<set $SF.Active = 0>> <</replace>> <</link>> </span>
\ No newline at end of file
+	The Free Cities were founded on the principles of unrestrained anarcho-capitalism. To those with such beliefs, the very idea of possessing an armed force, a key tool of government control, or weapons at all, was anathema.
+	<br><br>
+	In the period since, however, your citizens have seen the value in weaponry. They watched on their news-feed as some Free Cities were sacked by the armies and mobs of the old world, driven by their hatred of the citizens' luxurious lifestyles. They've seen other Cities toppled from within, by slave conspiracies or infighting among citizen groupings with differing beliefs. They've witnessed the distressingly rapid rise of fanatical anti-slavery organizations, who would like nothing more than to see them slowly bled by their own chattel. They are learned people, and they know what happens to slaveowners who lose their power.
+	<br><br>
+	They've also seen the results of your policies. Your actions towards the arming of both yourself and the arcology proved critical, and ensured their safety when the old world came for them. And your victory over the Daughters of Liberty, who the citizens know would have executed every single one of them, has created an opportunity. If you insisted upon the creation of a standing 'special' force for the arcology, many would support you and, more importantly, nobody of note would object.
+	<br><br>
+	Such a force would solve many problems. More soldiers would mean more control, which is very good for you. More soldiers would mean more security for the arcology and the approaches to it, which is very good for business. More soldiers would mean more obedience from rebellious slaves who can see how powerless they truly are, which is very good for everybody. The force would be tiny compared to the old world militaries that still exist, but money and technology can, of course, overcome massive numerical inferiority. This being the Free Cities, they would have other uses besides security. Perhaps, in time, you could exert some manner of influence on the old world itself.
+	<br><br>
+	''This is a unique and very important opportunity'', and is possible only because of your recent victory over the Daughters. If you do not seize it, the memories and fears of your citizens will fade,and you will not be able to raise the matter again.
+
+	<<set _price = 20000>>
+	<<if $PC.warfare >= 100>>
+		<<set _price *= .5>>
+	<<elseif $PC.warfare >= 50||$PC.career === "arcology owner">> 
+		<<set _price *= .75>> 
+	<</if>>
+	<br><<link "Prepare for an announcement." "Security Force Naming-Colonel">>
+		 <<replace "#result">>
+			<<= App.SF.Init()>> 
+			<<set $SF.IntroProgress = -1>> 
+			<<run cashX(forceNeg(_price), "specialForces")>>
+		<</replace>> 
+	<</link>><br>//Initial costs are @@.yellowgreen;<<print cashFormat(_price)>>@@ and upon establishment the force will have significant support costs until it is self-sufficient.//
+	<br><<link "The current measures are enough." "RIE Eligibility Check">>
+		<<replace "#result">>
+			<<set $SF.Active = 0>> 
+		<</replace>>
+	 <</link>>
+</span>
\ No newline at end of file
diff --git a/src/cheats/mod_EditArcologyCheat.tw b/src/cheats/mod_EditArcologyCheat.tw
index 578f7e50104..f8e2ad73f34 100644
--- a/src/cheats/mod_EditArcologyCheat.tw
+++ b/src/cheats/mod_EditArcologyCheat.tw
@@ -280,7 +280,6 @@ Custom: <<textbox "$language" $language "MOD_Edit Arcology Cheat">>
 		| <<radiobutton "$TCR.schoolAnnexed" 1>> 1 (Failed)
 	<</if>>
 <</if>>
-
 <<if ($seeDicks != 0)>>
 	<br><br>''L'École des Enculées:''
 	<br>LDE Students Bought: <<textbox "$LDE.studentsBought" $LDE.studentsBought>>
diff --git a/src/events/intro/initNationalities.tw b/src/events/intro/initNationalities.tw
index bab13f41a23..44f4d3e9c21 100644
--- a/src/events/intro/initNationalities.tw
+++ b/src/events/intro/initNationalities.tw
@@ -58,7 +58,7 @@
 	<<if $rep >= 2000>>
 		<<run repX(-2000, "event")>>
 	<<else>>
-		<<run repX(-Math.abs($rep), "event")>> /*set rep to zero */
+		<<run repX(forceNeg(Math.abs($rep)), "event")>> /*set rep to zero */
 	<</if>>
 <</if>>
 
diff --git a/src/gui/Encyclopedia/encyclopedia.tw b/src/gui/Encyclopedia/encyclopedia.tw
index 9107cdfbf4e..75b2004a370 100644
--- a/src/gui/Encyclopedia/encyclopedia.tw
+++ b/src/gui/Encyclopedia/encyclopedia.tw
@@ -2829,7 +2829,7 @@ LORE: INTERVIEWS
 <<case "FCTV">>
 	Free Cities TV, or ''FCTV'' as it is more commonly called, is a very popular streaming video service. A venture started not long after the first Free Cities were founded, it took advantage of the new lack of regulatory oversight to create and host content that had long been banned in the old world. Under the guidance of 8HGG Inc., FCTV has developed into a popular mixed-mode service, with a variety of live streaming channels as well as a large selection of ready stream content ranging from hyper porn to contemporary broadcast series shows.
 
-	<br><br>The successful service is largely supported by a combination of subscription and advertising revenue, and to a smaller extent on-demand content payments. Though still targeted at free citizens — or their slaves in the case of for-slave content — FCTV has become very popular in the old world. A combination of the service's eroticism, extreme content, and high production value has given it extraordinary popularity. Savvy execs at 8HGG and arcology owners alike have realized the benefits of exposing the old world populations to FCTV content, and a carefully-curated selection of content is kept available to old-worlders thanks to revenue from advertisements supporting immigration and voluntary enslavement. The content selection has a glamorized and often romanticized view of slavery, and typically displays common citizens and slaves alike living in opulence beyond the realm of possibility for most old-worlders.
+	<br><br>The successful service is largely supported by a combination of subscription and advertising revenue, and to a smaller extent on-demand content payments. Though still targeted at free citizens — or their slaves in the case of for-slave content — FCTV has become very popular in the old world. A combination of the service's eroticism, extreme content, and high production value has given it extraordinary popularity. Savvy execs at 8HGG Inc. and arcology owners alike have realized the benefits of exposing the old world populations to FCTV content, and a carefully-curated selection of content is kept available to old-worlders thanks to revenue from advertisements supporting immigration and voluntary enslavement. The content selection has a glamorized and often romanticized view of slavery, and typically displays common citizens and slaves alike living in opulence beyond the realm of possibility for most old-worlders.
 
 	<br><br>FCTV has always worked closely with the Free Cities, developing a large network of sponsors and partnerships for content protection. This has increased the breadth of content and popularity of FCTV, while allowing the ruling class to encourage content supporting their vision of the future. While you can access non-citizen FCTV content from just about anywhere, an arcology needs its own [[receiver|Encyclopedia][$encyclopedia = "FCTVReceiver"]] to access citizen-only content. This measure of content protection does add extra expense, but nearly eliminating the risk of old-worlders seeing uncurated content is viewed as being worth the expense by most arcology owners.
 
diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw
index f4e99725f49..f68ee4f39ca 100644
--- a/src/init/storyInit.tw
+++ b/src/init/storyInit.tw
@@ -1011,7 +1011,7 @@ You should have received a copy of the GNU General Public License along with thi
 
 <<set $brandTarget = "buttock">>
 <<set $brandDesign = "your initials">>
-<<set $dyedSkin = ["dyed red", "dyed green", "dyed blue", "dyed pink", "dyed gray", "tiger striped", "camouflage patterned"]>>
+<<set $dyedSkin = ["camouflage patterned", "dyed blue", "dyed gray", "dyed green", "dyed pink", "dyed red", "tiger striped"]>>
 
 <<set $oralTotal = 0>>
 <<set $vaginalTotal = 0>>
diff --git a/src/js/generateMarketSlave.js b/src/js/generateMarketSlave.js
index 01dbe4308c0..da5f08d584d 100644
--- a/src/js/generateMarketSlave.js
+++ b/src/js/generateMarketSlave.js
@@ -1322,7 +1322,7 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) {
 			V.activeSlave.behavioralFlaw = "odd";
 			V.activeSlave.hStyle = "shaved";
 			V.activeSlave.hLength = 0;
-			V.activeSlave.custom.tattoo = "$He has a barcode that identified V.his when she was a test subject at the Growth Research Institute tattooed on $his left cheek.";
+			V.activeSlave.custom.tattoo = "$He has a barcode that identified $him when $he was a test subject at the Growth Research Institute tattooed on $his left cheek.";
 
 			break;
 		case "SCP":
@@ -1330,7 +1330,7 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) {
 			V.activeSlaveOneTimeMaxAge = 19;
 			V.oneTimeDisableDisability = 1;
 			V.activeSlave = GenerateNewSlave("XX");
-			V.activeSlave.origin = "You bought her from St. Claver Preparatory after she served as a plastic surgeon's passing final exam.";
+			V.activeSlave.origin = "You bought $him from St. Claver Preparatory after $he served as a plastic surgeon's passing final exam.";
 			V.activeSlave.chem = 20;
 			V.activeSlave.career = "a slave";
 			if (V.SCP.schoolUpgrade === 1) {
diff --git a/src/npc/startingGirls/commitStartingGirl.tw b/src/npc/startingGirls/commitStartingGirl.tw
index a55cade353f..cee4345240a 100644
--- a/src/npc/startingGirls/commitStartingGirl.tw
+++ b/src/npc/startingGirls/commitStartingGirl.tw
@@ -40,79 +40,76 @@
 		<br>[[Add another slave, based on the previous slave|Starting Girls][$activeSlave = $slaveWithoutBonuses, $activeSlave.relation = 0, $activeSlave.relationTarget = 0, $startingGirlCopied = 1]]
 	<</if>>
 	<<if $createRelatedSlave == 1>>
-	<br>
-	//Add another slave, related to the previous slave://
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;
-	<<if $familyTesting == 1>>
-		/* Not needed due to stuffedanon's work
-		<<if $activeSlave.actualAge >= 34>>
-			<<if $activeSlave.ovaries>>
-				<br>&nbsp;&nbsp;&nbsp;&nbsp;
-				[[Daughter|RG AS Dump][$returnTo = "Starting Girls", $startingGirlRelation = "mother", $startingGirlCopied = 1]]
-			<</if>>
-			<<if $activeSlave.balls>>
-				<br>&nbsp;&nbsp;&nbsp;&nbsp;
-				[[Dick-daughter|RG AS Dump][$returnTo = "Starting Girls", $startingGirlRelation = "father", $startingGirlCopied = 1]]
-				//A slave daughter carried and birthed by another woman, impregnated by $activeSlave.slaveName.//
-			<</if>>
-			/% I'm aware this term is ridiculous. If anyone can come up with a better word to reconcile all slaves being female with the act of fatherhood and the masculine nature of the word father, I'm all ears. Wrote myself into a corner on this one. %/
-		<</if>>
-		<<if $activeSlave.actualAge <= 28>>
-			<<if $activeSlave.mother <= 0>>
-				<br>&nbsp;&nbsp;&nbsp;&nbsp;
-				[[Mother|RG AS Dump][$returnTo = "Starting Girls", $activeSlave.mother = $IDNumber, $startingGirlRelation = "daughter", $startingGirlCopied = 1]]
-			<<else>>
-				//This slave already has a mother.//
-			<</if>>
-			<<if $seeDicks>>
-				<<if $activeSlave.father <= 0>>
+		<br>
+		//Add another slave, related to the previous slave://
+		<br>&nbsp;&nbsp;&nbsp;&nbsp;
+		<<if $familyTesting == 1>>
+			/* Not needed due to stuffedanon's work
+			<<if $activeSlave.actualAge >= 34>>
+				<<if $activeSlave.ovaries>>
+					<br>&nbsp;&nbsp;&nbsp;&nbsp;
+					[[Daughter|RG AS Dump][$returnTo = "Starting Girls", $startingGirlRelation = "mother", $startingGirlCopied = 1]]
+				<</if>>
+				<<if $activeSlave.balls>>
 					<br>&nbsp;&nbsp;&nbsp;&nbsp;
 					[[Dick-daughter|RG AS Dump][$returnTo = "Starting Girls", $startingGirlRelation = "father", $startingGirlCopied = 1]]
 					//A slave daughter carried and birthed by another woman, impregnated by $activeSlave.slaveName.//
 				<</if>>
+				/% I'm aware this term is ridiculous. If anyone can come up with a better word to reconcile all slaves being female with the act of fatherhood and the masculine nature of the word father, I'm all ears. Wrote myself into a corner on this one. %/
+			<</if>>
+			<<if $activeSlave.actualAge <= 28>>
+				<<if $activeSlave.mother <= 0>>
+					<br>&nbsp;&nbsp;&nbsp;&nbsp;
+					[[Mother|RG AS Dump][$returnTo = "Starting Girls", $activeSlave.mother = $IDNumber, $startingGirlRelation = "daughter", $startingGirlCopied = 1]]
+				<<else>>
+					//This slave already has a mother.//
+				<</if>>
+				<<if $seeDicks>>
+					<<if $activeSlave.father <= 0>>
+						<br>&nbsp;&nbsp;&nbsp;&nbsp;
+						[[Dick-mother|RG AS Dump][$returnTo = "Starting Girls", $activeSlave.father = $IDNumber, $startingGirlRelation = "dickdaughter", $startingGirlCopied = 1]]
+						//A slave who provided the impregnation to create $activeSlave.slaveName.//
+					<<else>>
+						//This slave already has a dick-mother.//
+					<</if>>
+				<</if>>
+			<</if>>
+			<<if $activeSlave.actualAge < 44>>
+				<br>&nbsp;&nbsp;&nbsp;&nbsp;
+				[[Older Sister|RG AS Dump][$returnTo = "Starting Girls", $startingGirlRelation = "older sister", $startingGirlCopied = 1]]
 			<</if>>
-		<</if>>
-		<<if $activeSlave.actualAge < 44>>
-			<br>&nbsp;&nbsp;&nbsp;&nbsp;
-			[[Older Sister|RG AS Dump][$returnTo = "Starting Girls", $startingGirlRelation = "older sister", $startingGirlCopied = 1]]
-		<</if>>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		[[Twin|RG AS Dump][$returnTo = "Starting Girls", $startingGirlRelation = "twin", $startingGirlCopied = 1]]
-		<<if $activeSlave.actualAge > 19>>
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;
-			[[Younger Sister|RG AS Dump][$returnTo = "Starting Girls", $startingGirlRelation = "younger sister", $startingGirlCopied = 1]]
-		<</if>>
-		*/
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;//Use "based on the previous slave" and the available .father and .mother controls to create your family//
-	<<else>>
-
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		<<if $activeSlave.actualAge <= 8 && ($PC.career == "servant" || $PC.career == "escort") && ($PC.vagina == 1)>>
+			[[Twin|RG AS Dump][$returnTo = "Starting Girls", $startingGirlRelation = "twin", $startingGirlCopied = 1]]
+			<<if $activeSlave.actualAge > 19>>
+				<br>&nbsp;&nbsp;&nbsp;&nbsp;
+				[[Younger Sister|RG AS Dump][$returnTo = "Starting Girls", $startingGirlRelation = "younger sister", $startingGirlCopied = 1]]
+			<</if>>
+			*/
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;//Use "based on the previous slave" and the available .father and .mother controls to create your family//
 		<<else>>
-		<<if $activeSlave.actualAge >= ($fertilityAge + $minimumSlaveAge)>>
-			<br>&nbsp;&nbsp;&nbsp;&nbsp;
-			[[Daughter|RG AS Dump][$returnTo = "Starting Girls", $activeSlave.relation = "mother", $startingGirlRelation = "mother", $activeSlave.counter.birthsTotal += 1, $activeSlave.relationTarget = $activeSlave.ID+1, $startingGirlCopied = 1]]
-		<</if>>
-		<<if $activeSlave.actualAge <= 24>>
-			<br>&nbsp;&nbsp;&nbsp;&nbsp;
-			[[Mother|RG AS Dump][$returnTo = "Starting Girls", $activeSlave.relation = "daughter", $startingGirlRelation = "daughter", $activeSlave.relationTarget = $activeSlave.ID+1, $startingGirlCopied = 1]]
-		<</if>>
-		<<if $activeSlave.actualAge < 44>>
-			<br>&nbsp;&nbsp;&nbsp;&nbsp;
-			[[Older Sister|RG AS Dump][$returnTo = "Starting Girls", $activeSlave.relation = "sister", $startingGirlRelation = "older sister", $activeSlave.relationTarget = $activeSlave.ID+1, $startingGirlCopied = 1]]
-		<</if>>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		[[Twin|RG AS Dump][$returnTo = "Starting Girls", $activeSlave.relation = "twin", $startingGirlRelation = "twin", $activeSlave.relationTarget = $activeSlave.ID+1, $startingGirlCopied = 1]]
-		<<if $activeSlave.actualAge > $minimumSlaveAge+1>>
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;
-			[[Twin|RG AS Dump][$returnTo = "Starting Girls", $activeSlave.relation = "twin", $startingGirlRelation = "twin", $activeSlave.relationTarget = $activeSlave.ID+1, $startingGirlCopied = 1]]
-			<<if $activeSlave.actualAge > $minimumSlaveAge>>
+			<<if $activeSlave.actualAge <= 8 && ($PC.career == "servant" || $PC.career == "escort") && ($PC.vagina == 1)>>
+			<<else>>
+				<<if $activeSlave.actualAge >= ($fertilityAge + $minimumSlaveAge)>>
+					<br>&nbsp;&nbsp;&nbsp;&nbsp;
+					[[Daughter|RG AS Dump][$returnTo = "Starting Girls", $activeSlave.relation = "mother", $startingGirlRelation = "mother", $activeSlave.counter.birthsTotal += 1, $activeSlave.relationTarget = $activeSlave.ID+1, $startingGirlCopied = 1]]
+				<</if>>
+				<<if $activeSlave.actualAge <= 24>>
+					<br>&nbsp;&nbsp;&nbsp;&nbsp;
+					[[Mother|RG AS Dump][$returnTo = "Starting Girls", $activeSlave.relation = "daughter", $startingGirlRelation = "daughter", $activeSlave.relationTarget = $activeSlave.ID+1, $startingGirlCopied = 1]]
+				<</if>>
+				<<if $activeSlave.actualAge < 44>>
+					<br>&nbsp;&nbsp;&nbsp;&nbsp;
+					[[Older Sister|RG AS Dump][$returnTo = "Starting Girls", $activeSlave.relation = "sister", $startingGirlRelation = "older sister", $activeSlave.relationTarget = $activeSlave.ID+1, $startingGirlCopied = 1]]
+				<</if>>
 				<br>&nbsp;&nbsp;&nbsp;&nbsp;
-				[[Younger Sister|RG AS Dump][$returnTo = "Starting Girls", $activeSlave.relation = "sister", $startingGirlRelation = "younger sister", $activeSlave.relationTarget = $activeSlave.ID+1, $startingGirlCopied = 1]]
+				[[Twin|RG AS Dump][$returnTo = "Starting Girls", $activeSlave.relation = "twin", $startingGirlRelation = "twin", $activeSlave.relationTarget = $activeSlave.ID+1, $startingGirlCopied = 1]]
+				<<if $activeSlave.actualAge > $minimumSlaveAge+1>>
+					<br>&nbsp;&nbsp;&nbsp;&nbsp;
+					[[Younger Sister|RG AS Dump][$returnTo = "Starting Girls", $activeSlave.relation = "sister", $startingGirlRelation = "younger sister", $activeSlave.relationTarget = $activeSlave.ID+1, $startingGirlCopied = 1]]
+				<</if>>
 			<</if>>
 		<</if>>
-		<</if>>
-	<</if>>
 	<<elseif $activeSlave.relation == 0>>
 		<br>[[Add another slave, related to the previous slave|Commit Starting Girl][$createRelatedSlave = 1]]
 	<</if>>
diff --git a/src/player/actions/fondleButt.tw b/src/player/actions/fondleButt.tw
index bc4e81011ab..4ddfec6c94d 100644
--- a/src/player/actions/fondleButt.tw
+++ b/src/player/actions/fondleButt.tw
@@ -488,7 +488,7 @@ as well as $his
 	<<else>>
 		You move closer to $him, turn $him around and push $him down, face-down on your desk while $he tries to wriggle desperately.
 	<</if>>
-	You look at $his rear while you squeeze $his cheeks and rub them with your firm hands. You wander along the outline of $his posterior with both your eyes and hands, then look at $his butthole as you trace it with your fingers and thumb. Eventually, you decide to stop and $he looks up into your eyes longingly, as if $he wants more.
+	You look at $his rear while you squeeze $his cheeks and rub them with your firm hands. You wander along the outline of $his posterior with both your eyes and hands, then look at $his butthole as you trace it with your fingers and thumb. Eventually, you decide to stop, and $he <<if canSee($activeSlave)>>looks up into your eyes<<else>>angles $his head to face you<</if>> longingly, as if $he wants more.
 <<else>>
 	<<if ($activeSlave.amp != 1)>>
 		You instruct $him to present $his <<if $seeRace == 1>>$activeSlave.race <</if>>anus. $He eagerly stands in front of you showing $his buttocks before happily presenting $his
@@ -533,5 +533,5 @@ as well as $his
 	<<else>>
 		You move closer to $him, turn $him around and push $him down, face-down on your desk so that $his butt is up facing towards you.
 	<</if>>
-	You look at $his rear while you squeeze $his cheeks and rub them with your firm hands. You wander along the outline of $his posterior with both your eyes and hands, then look at $his butthole as you trace it with your fingers and thumb. Eventually, you decide to stop and $he looks up into your eyes ecstatically,<<if ($activeSlave.amp != 1)>> as $he stands,<</if>> eager for more.
+	You look at $his rear while you squeeze $his cheeks and rub them with your firm hands. You wander along the outline of $his posterior with both your eyes and hands, then look at $his butthole as you trace it with your fingers and thumb. Eventually, you decide to stop, and $he <<if canSee($activeSlave)>>looks up into your eyes<<else>>angles $his head to face you<</if>> ecstatically<<if ($activeSlave.amp != 1)>> as $he stands up<</if>>, eager for more.
 <</if>>
diff --git a/src/pregmod/fPat.tw b/src/pregmod/fPat.tw
index 86bfa11e220..178314dca21 100644
--- a/src/pregmod/fPat.tw
+++ b/src/pregmod/fPat.tw
@@ -138,7 +138,7 @@ You walk around $him, drawing closer and slowly resting your hand on $his head.
 <<elseif $activeSlave.devotion > 20>>
 	$He willingly accepts it. As you tenderly and lovingly brush your fingers along $his head, enjoying the feeling of your slave's roiling emotions, and finally submission. You can still sense considerable turmoil in the <<if ($activeSlave.physicalAge > 30)>>$woman<<else>>$girl<</if>>; $he's doing $his duty as a slave by complying with your wishes, and is probably struggling with the mixture of resistance, obedience and perhaps even devotion forced to the forefront of $his mind by your touch. As you continue your ministrations, your slave slowly, and with more then a bit of uncertainty, finally starts to relax. $He looks at you with confusion and trepidation. Your eyes betray nothing however — you simply smile and press $his head into your <<if $PC.boobs == 1>>soft breasts<<else>>masculine chest<</if>>, all the while enjoying the feeling of your <<if $activeSlave.hStyle == "shaven bald" || $activeSlave.bald == 1>>hands gliding over $his smooth head<<else>>fingers gliding through $his hair<</if>>.
 <<elseif ($activeSlave.devotion < -20) && ($activeSlave.trust >= 20)>>
-	$He doesn't react to your touch, remaining as still as statue, the same defiant expression on $his face. $He still doesn't react when you brush your fingers down the side of $his head or when you <<if $activeSlave.hStyle == "shaven bald" || $activeSlave.bald == 1>>stroke $his smooth head<<else>>run your fingers through $his hair<</if>>. $He does react when you gently rest your thumb on $his lips, however, by suddenly giving you a fierce bite. Cursing, you pull your hand back and examine it — $he didn't bite deep enough to draw blood, but the area is now red and puffy. Furious, you backhand $him across the face<<if random(1,100) > 80>><<set $activeSlave.minorInjury = either("black eye", "split lip", "bruise")>>, giving $him a @@.red;$activeSlave.minorInjury@@<</if>>.
+	$He doesn't react to your touch, remaining as still as statue, the same defiant expression on $his face. $He still doesn't react when you brush your fingers down the side of $his head or when you <<if $activeSlave.hStyle == "shaven bald" || $activeSlave.bald == 1>>stroke $his smooth head<<else>>run your fingers through $his hair<</if>>. $He does react when you gently rest your thumb on $his lips, however, by suddenly giving you a fierce bite. Cursing, you pull your hand back and examine it — $he didn't bite deep enough to draw blood, but the area is now red and puffy. Furious, you backhand $him across the face<<if random(1,100) > 80>><<set $activeSlave.minorInjury = either("black eye", "bruise", "split lip")>>, giving $him a @@.red;$activeSlave.minorInjury@@<</if>>.
 <<elseif $activeSlave.devotion >= -20 && $activeSlave.trust < -20>>
 	$He shakes at your touch fearfully. As you tenderly brush your fingers down $his unresisting head, you appreciate this expression of your slave's subservience, $his eagerness to avoid punishment making $him stiffen, $his nervousness easily apparent. You continue stroking $him, enjoying $his fear, as the physical intimacy slowly does its work. $He starts to relax, $his resistance easing as $his eyes start to close. Your hands continue to gently scratch at $his scalp, and you enjoy the sensation as well as the feeling of power over your hapless slave. Gently, slowly, so not as to spook $him, you ease your property's head back into your <<if $PC.boobs == 1>>breasts<<else>>chest<</if>>. Nevertheless your slave starts at the action, but at your insistence finally gives in to the motion, and finally relaxes against you.
 <<elseif $activeSlave.trust < -50>>
diff --git a/src/pregmod/forceFeeding.tw b/src/pregmod/forceFeeding.tw
index 6415a6e333d..492ccd4ef02 100644
--- a/src/pregmod/forceFeeding.tw
+++ b/src/pregmod/forceFeeding.tw
@@ -76,7 +76,7 @@ $He is going to eat it all and you're going to enjoy $him as $he does it.
 	<<else>>
 		$He devotedly
 		<<if canSee($activeSlave)>>looks<<else>>smiles<</if>>
-		at you heft $him onto your lap, wrapping your arm
+		at you heft as you $him onto your lap, wrapping your arm
 	<</if>>
 <<else>>
 	You inform $him $he'll be taking a seat on your lap and opening wide for $his meal.
diff --git a/src/pregmod/managePersonalAffairs.tw b/src/pregmod/managePersonalAffairs.tw
index 8f80d664a40..b2e0665728f 100644
--- a/src/pregmod/managePersonalAffairs.tw
+++ b/src/pregmod/managePersonalAffairs.tw
@@ -132,7 +132,7 @@ Around back,
 <</if>>
 
 <<if $FCTVreceiver > 0>>
-<br><br>
+	<br><br>
 	<<if $FCTVrate == 1>>
 		You make sure to tune in to FCTV at least once a week. [[Watch every other week|Manage Personal Affairs][$FCTVrate = 2]] | [[Watch once a month|Manage Personal Affairs][$FCTVrate = 4]] | [[Ignore it|Manage Personal Affairs][$FCTVrate = -1]]
 	<<elseif $FCTVrate == 2>>
diff --git a/src/pregmod/seFCTVinstall.tw b/src/pregmod/seFCTVinstall.tw
index e7f515028c1..af66678335b 100644
--- a/src/pregmod/seFCTVinstall.tw
+++ b/src/pregmod/seFCTVinstall.tw
@@ -3,7 +3,7 @@
 <<set $nextButton = "Continue", $nextLink = "Scheduled Event", $returnTo = "Scheduled Event", $showEncyclopedia = 1, $encyclopedia = "FCTV", $receiverAvailable = 1>>
 <<set $showOne = 0, $showTwo = 0, $showThree = 0, $showFour = 0, $showFive = 0, $showSix = 0, $showSeven = 0, $showEight = 0, $showNine = 0, $showTen = 0, $showEleven = 0, $showTwelve = 0, $showThirteen = 0, $showFourteen = 0, $randShow = 0, $lastShow = -1>>
 
-You've been sitting in your office into the early afternoon going over bothersome lease documents that need your approval. When you take a break to look out the window, $assistantName speaks up. "<<= properTitle()>>, you have received an approval welcome packet from 8HGG Inc in regards to Free Cities TV. It seems that they've determined that $arcologies[0].name is now sufficiently developed enough to warrant a FCTV-Citizen connection. All the details and contracts necessary are included in the packet. From there, a receiver will need to be built onto $arcologies[0].name in order to access FCTV."
+You've been sitting in your office into the early afternoon going over bothersome lease documents that need your approval. When you take a break to look out the window, $assistantName speaks up. "<<= properTitle()>>, you have received an approval welcome packet from 8HGG Inc. in regards to Free Cities TV. It seems that they've determined that $arcologies[0].name is now sufficiently developed enough to warrant a FCTV-Citizen connection. All the details and contracts necessary are included in the packet. From there, a receiver will need to be built onto $arcologies[0].name in order to access FCTV."
 <br><br>
 
 You browse the guide: home shopping networks, random dramas, how-to shows and a myriad of other things. Of more interest are some of the programs showing glimpses into foreign arcologies and how they are using the service to help mold society.
diff --git a/src/pregmod/seFCTVremote.tw b/src/pregmod/seFCTVremote.tw
index 5fa8aeab729..e7d83b510e1 100644
--- a/src/pregmod/seFCTVremote.tw
+++ b/src/pregmod/seFCTVremote.tw
@@ -57,7 +57,7 @@
 
 You have a gap in your schedule in the morning, and decide to watch some FCTV<<if $Concubine != 0>> with your concubine, @@.pink;$Concubine.slaveName@@<</if>>. No sooner do you begin to watch a random show, than you have a notification that someone is here to see you. It seems to be a tech of some sort, complete with a small utility drone. A camera reveals the back of $his shirt, on which is written in block letters "FCTV SERVICE." Incredible. How do these people always find the worst time to stop in? <<if $assistant > 0>>Your assistant shrugs. At a gesture from you, _heA lets $him in.<<else>>You push a button to allow $him to come in.<</if>> This had better be good.
 <br>
-Presently, the tech enters the room and asks how your FCTV product is working. You tersely reply that it is fine, <<if $FCTVremote == 1>> although you're annoyed you had to purchase your own remote,<<else>> although you find the random nature of the shows a little annoying,<</if>> then ask the tech to cut to the point. $He shifts from one foot to the other, and then sheepishly admits that the service comes with a free remote that allows you to change the channels. Incredible! Why didn't you receive one? "It's, uh, 8HGG Inc. policy to distribute remotes only after a trial period." <<if $assistantName == "your personal assistant">>Your personal assistant<<else>>$assistantName<</if>> quietly notifies you that "$He's lying. We've had no notification from 8HGG of a visit. It's definitely the same tech as last time; $he's trying to cover up $his mistake on a big contract. <i>They don't know $he's here.</i>"
+Presently, the tech enters the room and asks how your FCTV product is working. You tersely reply that it is fine, <<if $FCTVremote == 1>> although you're annoyed you had to purchase your own remote,<<else>> although you find the random nature of the shows a little annoying,<</if>> then ask the tech to cut to the point. $He shifts from one foot to the other, and then sheepishly admits that the service comes with a free remote that allows you to change the channels. Incredible! Why didn't you receive one? "It's, uh, 8HGG Inc. policy to distribute remotes only after a trial period." <<if $assistantName == "your personal assistant">>Your personal assistant<<else>>$assistantName<</if>> quietly notifies you that "$He's lying. We've had no notification from 8HGG Inc. of a visit. It's definitely the same tech as last time; $he's trying to cover up $his mistake on a big contract. <i>They don't know $he's here.</i>"
 <br>
 $He unboxes the new remote and turns $his back to you, eagerly demonstrating how you can use it to watch any show you want. This could be your chance to turn the tables on FCTV and get some special "customer support" of your own.
 <br><br>
@@ -250,7 +250,7 @@ It seems the aphrodisiacs are wearing off, and the tech is stirring. Sitting up,
 		<<else>>
 			ancient times,
 		<</if>>
-		exile was the worst punishment. You let $him know you have no intention of helping $him. In fact, you plan to release video of $his scandalous behavior on the web. As $his knees quake you again show $him slightly doctored video of $him eagerly receiving $his tattoos, and then undoctored video of $him enjoying $his "customer service." You doubt 8HGG Inc will be pleased with $his enthusiasm for the brand. But, it's not your problem. Begging for mercy, the tech trails a small stream of fluids across the floor as your drones carry $him out. A smaller drone follows along cleaning up the mess. As the doors shut, you set the slave remote on max and break it in half over the trash.
+		exile was the worst punishment. You let $him know you have no intention of helping $him. In fact, you plan to release video of $his scandalous behavior on the web. As $his knees quake you again show $him slightly doctored video of $him eagerly receiving $his tattoos, and then undoctored video of $him enjoying $his "customer service." You doubt 8HGG Inc. will be pleased with $his enthusiasm for the brand. But, it's not your problem. Begging for mercy, the tech trails a small stream of fluids across the floor as your drones carry $him out. A smaller drone follows along cleaning up the mess. As the doors shut, you set the slave remote on max and break it in half over the trash.
 	<</replace>>
 <</link>>
 </span>
diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
index 38b17d7fe27..aaa287a3ef5 100644
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ b/src/uncategorized/BackwardsCompatibility.tw
@@ -571,6 +571,9 @@
 <<if ndef $EliteSires>>
 	<<set $EliteSires = ["crazy", "futa", "moves", "preggo", "quick", "virgin"]>>
 <</if>>
+<<if ndef $dyedSkin>>
+	<<set $dyedSkin = ["camouflage patterned", "dyed blue", "dyed gray", "dyed green", "dyed pink", "dyed red", "tiger striped"]>>
+<</if>>
 <<if ndef $startingPoint>>
 	<<set $startingPoint = -1>>
 <</if>>
@@ -718,7 +721,6 @@
 <<if ndef $tanks>>
 	<<set $tanks = []>>
 <</if>>
-
 <<if ndef $nursery>>
 	<<set $nursery = 0>>
 <</if>>
diff --git a/src/uncategorized/RECI.tw b/src/uncategorized/RECI.tw
index 8ab240d39b8..b30ccf8b0cd 100644
--- a/src/uncategorized/RECI.tw
+++ b/src/uncategorized/RECI.tw
@@ -44,8 +44,8 @@
 <<set _clothesTemp = $activeSlave.clothes>>
 <<switch $RECIevent>>
 	/*Some events start with the slave naked (any event that starts with the daily inspection, for example). Here we switch their clothing just for the image to load, then switch it back quickly so the player's choice is not messed up.*/
-	<<case "butthole" "feminization" "futa" "MILF" "orientation" "ugly">>
-		<<set $activeSlave.clothes = "no clothing">>
+<<case "butthole" "feminization" "futa" "MILF" "orientation" "ugly">>
+	<<set $activeSlave.clothes = "no clothing">>
 <</switch>>
 <span id="artFrame">
 /* 000-250-006 */
diff --git a/src/uncategorized/endWeek.tw b/src/uncategorized/endWeek.tw
index c3135d0d343..e9374589174 100644
--- a/src/uncategorized/endWeek.tw
+++ b/src/uncategorized/endWeek.tw
@@ -44,53 +44,53 @@
 })>>
 
 <<if $organs.length > 0>>
-<<run $organs.forEach(function(o) {
-	if (o.weeksToCompletion > 0) {
-		if ($organFarmUpgrade == 3) {
-			o.weeksToCompletion -= 4;
-		} else if ($organFarmUpgrade == 2) {
-			o.weeksToCompletion -= 2;
-		} else {
-			o.weeksToCompletion--;
+	<<run $organs.forEach(function(o) {
+		if (o.weeksToCompletion > 0) {
+			if ($organFarmUpgrade == 3) {
+				o.weeksToCompletion -= 4;
+			} else if ($organFarmUpgrade == 2) {
+				o.weeksToCompletion -= 2;
+			} else {
+				o.weeksToCompletion--;
+			}
 		}
-	}
-})>>
-<<set $organs = $organs.filter(function(o) {
-	if (o.weeksToCompletion <= 0) {
-		$completedOrgans.push(o);
-		return false;
-	}
-	return true;
-})>>
+	})>>
+	<<set $organs = $organs.filter(function(o) {
+		if (o.weeksToCompletion <= 0) {
+			$completedOrgans.push(o);
+			return false;
+		}
+		return true;
+	})>>
 <</if>>
 
 <<if $incubatorOrgans.length > 0>>
-<<run $incubatorOrgans.forEach(function(io) {
-	if (io.weeksToCompletion > 0) {
-		if ($organFarmUpgrade == 3) {
-			io.weeksToCompletion -= 4;
-		} else if ($organFarmUpgrade == 2) {
-			io.weeksToCompletion -= 2;
-		} else {
-			io.weeksToCompletion--;
+	<<run $incubatorOrgans.forEach(function(io) {
+		if (io.weeksToCompletion > 0) {
+			if ($organFarmUpgrade == 3) {
+				io.weeksToCompletion -= 4;
+			} else if ($organFarmUpgrade == 2) {
+				io.weeksToCompletion -= 2;
+			} else {
+				io.weeksToCompletion--;
+			}
 		}
-	}
-})>>
+	})>>
 <</if>>
 
 /* for potential future use
 <<if $nurseryOrgans.length > 0>>
-<<run $nurseryOrgans.forEach(function(no) {
-	if (no.weeksToCompletion > 0) {
-		if ($organFarmUpgrade == 3) {
-			no.weeksToCompletion -= 4;
-		} else if ($organFarmUpgrade == 2) {
-			no.weeksToCompletion -= 2;
-		} else {
-			no.weeksToCompletion--;
+	<<run $nurseryOrgans.forEach(function(no) {
+		if (no.weeksToCompletion > 0) {
+			if ($organFarmUpgrade == 3) {
+				no.weeksToCompletion -= 4;
+			} else if ($organFarmUpgrade == 2) {
+				no.weeksToCompletion -= 2;
+			} else {
+				no.weeksToCompletion--;
+			}
 		}
-	}
-})>>
+	})>>
 <</if>>
 */
 
diff --git a/src/uncategorized/genericPlotEvents.tw b/src/uncategorized/genericPlotEvents.tw
index f58bbf079ac..0a8809d7b15 100644
--- a/src/uncategorized/genericPlotEvents.tw
+++ b/src/uncategorized/genericPlotEvents.tw
@@ -214,7 +214,7 @@ in the capital city.
 	<<elseif $PAidTarget == "gradeSchool">>
 		better-off citizens, including the caller. Though most of the other students and faculty escaped, a few of the students are now stuck in the school and are running out of options as the riots steadily creep closer to the grounds.
 	<<elseif $PAidTarget == "volleyballTeam">>
-		vulnerable citizens, including the caller. Their bus broke down on the way to the championship game and all those that have left to get help have not returned. Her and her several remaining teammates are running out of options as those looking for easy targets creep ever closer.
+		vulnerable citizens, including the caller. Their bus broke down on the way to the championship game and all those that have left to get help have not returned. She and her several remaining teammates are running out of options as those looking for easy targets creep ever closer.
 	<</if>>
 <<else>>
 	After years of constant rape and abuse, an opening finally arrived for escape when a rival faction raided the decaying church they were stored in, however the situation outside isn't much better. Violent riots are taking place and the mobs are eagerly snatching up what ever loot and women they can get their hands on. She and the remaining women are trapped and in no condition to run; most particularly the youngest of the group who is ripe with child, though she herself and one of the others are also carrying their rapists' babies. They are completely out of options as the looters work their way down the city streets.
diff --git a/src/uncategorized/householdLiquidator.tw b/src/uncategorized/householdLiquidator.tw
index 506d5ca986f..fea952d8a41 100644
--- a/src/uncategorized/householdLiquidator.tw
+++ b/src/uncategorized/householdLiquidator.tw
@@ -4,13 +4,10 @@
 
 <<if random(1,100) > 50>>
 
-The household liquidator is offering a set of siblings for sale. As usual, you will only be permitted to inspect the older, but there is a guarantee that the younger will be similar.
-<br><br>
 
 <<set $oneTimeDisableDisability = 1>>
 <<set $activeSlave = GenerateNewSlave()>>
-<<set $activeSlave.origin = "You bought her from the household liquidator.">>
-
+<<set $activeSlave.origin = "You bought $him from the household liquidator.">>
 <<set $activeSlave.devotion = random(-75,-25)>>
 <<set $activeSlave.trust = random(-45,-25)>>
 <<set $activeSlave.oldDevotion = $activeSlave.devotion>>
@@ -27,6 +24,9 @@ The household liquidator is offering a set of siblings for sale. As usual, you w
 	<<set $activeSlave.relationTarget = $activeSlave.ID + 1000>>
 <</if>>
 
+The household liquidator is offering a set of siblings for sale. As usual, you will only be permitted to inspect the older, but there is a guarantee that the younger will be similar.
+<br><br>
+
 <<set $slaveCost = slaveCost($activeSlave)>>
 
 The price is <<print cashFormat($slaveCost*3)>>.
@@ -44,9 +44,6 @@ The price is <<print cashFormat($slaveCost*3)>>.
 
 <<elseif random(1,100) > 20>>
 
-The household liquidator is offering a mother and her daughter for sale. As usual, you will only be permitted to inspect the mother, but there is a guarantee that the daughter will be similar.
-<br><br>
-
 /% Begin younger mothers submod. %/
 <<set $activeSlaveOneTimeMinAge = $fertilityAge + $minimumSlaveAge>>
 <<set $activeSlaveOneTimeMaxAge = 42>>
@@ -54,8 +51,7 @@ The household liquidator is offering a mother and her daughter for sale. As usua
 /% End younger mothers submod. %/
 <<set $oneTimeDisableDisability = 1>>
 <<set $activeSlave = GenerateNewSlave("XX")>>
-<<set $activeSlave.origin = "You bought her from the household liquidator.">>
-
+<<set $activeSlave.origin = "You bought $him from the household liquidator.">>
 <<set $activeSlave.devotion = random(-75,-25)>>
 <<set $activeSlave.trust = random(-45,-25)>>
 <<set $activeSlave.oldDevotion = $activeSlave.devotion>>
@@ -72,6 +68,10 @@ The household liquidator is offering a mother and her daughter for sale. As usua
 	<<set $activeSlave.relationTarget = $activeSlave.ID + 1000>>
 <</if>>
 
+<<setLocalPronouns $activeSlave>>
+The household liquidator is offering a mother and $his daughter for sale. As usual, you will only be permitted to inspect the mother, but there is a guarantee that the daughter will be similar.
+<br><br>
+
 <<set $slaveCost = slaveCost($activeSlave)>>
 <<if $slavesSeen > $slaveMarketLimit>><<set $slaveCost += Math.trunc($slaveCost*(($slavesSeen-$slaveMarketLimit)*0.1))>><</if>>
 
@@ -93,13 +93,9 @@ The price is <<print cashFormat($slaveCost*3)>>.<<if $slavesSeen > $slaveMarketL
 
 <<else>>
 
-The household liquidator is offering something special: identical twins. The markup is huge, but the merchandise isn't something you see every day.
-<br><br>
-
 <<set $oneTimeDisableDisability = 1>>
 <<set $activeSlave = GenerateNewSlave()>>
-<<set $activeSlave.origin = "You bought her from the household liquidator.">>
-
+<<set $activeSlave.origin = "You bought $him from the household liquidator.">>
 <<set $activeSlave.devotion = random(-75,-25)>>
 <<set $activeSlave.trust = random(-45,-25)>>
 <<set $activeSlave.oldDevotion = $activeSlave.devotion>>
@@ -115,6 +111,10 @@ The household liquidator is offering something special: identical twins. The mar
 	<<set $activeSlave.relation = "twin">>
 	<<set $activeSlave.relationTarget = $activeSlave.ID + 1000>>
 <</if>>
+
+The household liquidator is offering something special: identical twins. The markup is huge, but the merchandise isn't something you see every day.
+<br><br>
+
 <<set $slaveCost = slaveCost($activeSlave)>>
 
 The price is <<print cashFormat($slaveCost*4)>>.<<if $slavesSeen > $slaveMarketLimit>> You have cast such a wide net for slaves this week that it is becoming more expensive to find more for sale. Your reputation helps determine your reach within the slave market.<</if>>
diff --git a/src/uncategorized/longSlaveDescription.tw b/src/uncategorized/longSlaveDescription.tw
index 965985ddbff..aa4383667d0 100644
--- a/src/uncategorized/longSlaveDescription.tw
+++ b/src/uncategorized/longSlaveDescription.tw
@@ -521,7 +521,7 @@ is
 			<<elseif ($activeSlave.counter.births > 1)>>
 				$activeSlave.counter.births of them happened within the walls of $arcologies[0].name.
 			<<else>>
-				none of them happening within $arcologies[0].name.
+				none of them happened within $arcologies[0].name.
 			<</if>>
 		<</if>>
 
diff --git a/src/uncategorized/main.tw b/src/uncategorized/main.tw
index 4270c5ecbb5..a2a0f676da3 100644
--- a/src/uncategorized/main.tw
+++ b/src/uncategorized/main.tw
@@ -80,8 +80,8 @@
 <<if $seeArcology == 1>>&nbsp;&nbsp;&nbsp;&nbsp;<<include "Arcology Description">> | [[Hide|Main][$seeArcology = 0]]<br><</if>>
 
 <<if $seeDesk == 1>>
-<<include "Office Description">>
-[[Hide|Main][$seeDesk = 0]]
+	<<include "Office Description">>
+	[[Hide|Main][$seeDesk = 0]]
 <</if>>
 <<if $seeFCNN == 1>><center>FCNN: <<print $fcnn.random()>> [[Hide|Main][$seeFCNN = 0]]</center><</if>>
 <<if ($seeDesk == 1) && ($seeFCNN == 0)>><br><</if>>
diff --git a/src/uncategorized/manageArcology.tw b/src/uncategorized/manageArcology.tw
index b03e9aa1618..8b7c3d1bade 100644
--- a/src/uncategorized/manageArcology.tw
+++ b/src/uncategorized/manageArcology.tw
@@ -3,9 +3,9 @@
 <<set $nextButton = "Back", $nextLink = "Main">>
 
 <<if $cheatMode == 1>>
-<center>
-//[[Cheat Edit Arcology|MOD_Edit Arcology Cheat][$cheater = 1]]//
-</center>
+	<center>
+		//[[Cheat Edit Arcology|MOD_Edit Arcology Cheat][$cheater = 1]]//
+	</center>
 <</if>>
 <<set $showEncyclopedia = 0>>
 
@@ -160,7 +160,7 @@ __Construction__
 <</if>>
 
 <<if $foodMarket > 0>>
-<br><br><<include "Food Market">>
+	<br><br><<include "Food Market">>
 <</if>>
 
 <br><br>
@@ -263,7 +263,7 @@ __Special Arcology Upgrades__
 <br>&nbsp;&nbsp;&nbsp;&nbsp;
 
 <<if ($personalArms == 0) && ($mercenaries == 0) && ($assistant == 0)>>
-//$arcologies[0].name has no special upgrades//
+	//$arcologies[0].name has no special upgrades//
 <</if>>
 
 <<if ($personalArms == 1)>>
@@ -298,28 +298,28 @@ Your slaves have participated in approximately <<print num($oralTotal+$vaginalTo
 <<if $fuckdollsSold > 0>>$fuckdollsSold mindbroken arcade slaves have been converted into Fuckdolls and sold.<</if>>
 
 <<if $secExp == 1 && $battlesEnabled == 1>>
-<br><br>
-<<if $SF.Toggle === 0||$SF.Active === 0>>
-	Your army counts <<print num($militiaEmployedManpower + $slavesEmployedManpower + $mercEmployedManpower)>> total soldiers.
-<<elseif $SF.Toggle && $SF.Active >= 1>>
-	Your army counts <<print num($militiaEmployedManpower + $slavesEmployedManpower + $mercEmployedManpower + $SF.Squad.Troops)>> total soldiers of which <<print num($SF.Squad.Troops)>> under the special force command and the rest under your direct control.
-<</if>>
-<<if $hasFoughtOnce == 1>>
-	Your troops were involved in <<print num($battlesCount)>> battles of which <<print num($majorBattlesCount)>> were major engagements. You won
-	<<if $battlesCount == $PCvictories>>
-		all of them.
-	<<elseif $battlesCount == $PClosses>>
-		none of them.
-	<<else>>
-		<<print num($PCvictories)>> of them, while the enemy managed to gain the upper hand in the other <<print num($PClosses)>>.
+	<br><br>
+	<<if $SF.Toggle === 0||$SF.Active === 0>>
+		Your army counts <<print num($militiaEmployedManpower + $slavesEmployedManpower + $mercEmployedManpower)>> total soldiers.
+	<<elseif $SF.Toggle && $SF.Active >= 1>>
+		Your army counts <<print num($militiaEmployedManpower + $slavesEmployedManpower + $mercEmployedManpower + $SF.Squad.Troops)>> total soldiers of which <<print num($SF.Squad.Troops)>> under the special force command and the rest under your direct control.
+	<</if>>
+	<<if $hasFoughtOnce == 1>>
+		Your troops were involved in <<print num($battlesCount)>> battles of which <<print num($majorBattlesCount)>> were major engagements. You won
+		<<if $battlesCount == $PCvictories>>
+			all of them.
+		<<elseif $battlesCount == $PClosses>>
+			none of them.
+		<<else>>
+			<<print num($PCvictories)>> of them, while the enemy managed to gain the upper hand in the other <<print num($PClosses)>>.
+		<</if>>
 	<</if>>
-<</if>>
 
-<<if $rebellionsCount >= 1>>
-	Your arcology was involved in <<print num($rebellionsCount)>> rebellions. You won <<print num($PCrebWon)>> of them, while the rebels defeated your forces in <<print num($PCrebLoss)>>.
-<</if>>
+	<<if $rebellionsCount >= 1>>
+		Your arcology was involved in <<print num($rebellionsCount)>> rebellions. You won <<print num($PCrebWon)>> of them, while the rebels defeated your forces in <<print num($PCrebLoss)>>.
+	<</if>>
 
-During all battles you lost a total of <<print num($militiaTotalCasualties + $slavesTotalCasualties + $mercTotalCasualties)>> men, while scoring a total of <<print num($totalKills)>> kills.
+	During all battles you lost a total of <<print num($militiaTotalCasualties + $slavesTotalCasualties + $mercTotalCasualties)>> men, while scoring a total of <<print num($totalKills)>> kills.
 <</if>>
 <br><br>
 
diff --git a/src/uncategorized/reBusyMasterSuite.tw b/src/uncategorized/reBusyMasterSuite.tw
index 345ce3456ba..af828c0f179 100644
--- a/src/uncategorized/reBusyMasterSuite.tw
+++ b/src/uncategorized/reBusyMasterSuite.tw
@@ -20,7 +20,7 @@
 <<setLocalPronouns $Concubine>>
 <<setLocalPronouns _msSlaves[0] 2>>
 
-You have an extended meeting with a prominent citizen planned, from the start of business in the morning until you're done. That's likely to be in the late evening, since he's probably going to get into technical business proposals, and $Concubine.slaveName knows it. $He is surprised, therefore, when a minor business emergency calls your would-be interlocutor away, canceling the meeting and sending you home hours earlier than you'd planned. $He <<if canTalk($Concubine)>>giggles helplessly<<else>>signs humorously<</if>> at the surprise when you walk into your suite. Apparently, $he decided to while away the hours until you got back by having some truly grandiose group sex with all the slave girls you have in the suite.
+You have an extended meeting with a prominent citizen planned, from the start of business in the morning until you're done. That's likely to be in the late evening, since he's probably going to get into technical business proposals, and $Concubine.slaveName knows it. $He is surprised, therefore, when a minor business emergency calls your would-be interlocutor away, canceling the meeting and sending you home hours earlier than you'd planned. $He <<if canTalk($Concubine)>>giggles helplessly<<else>>signs humorously<</if>> at the surprise when you walk into your suite. Apparently, $he decided to while away the hours until you got back by having some truly grandiose group sex with all the slaves you have in the suite.
 
 <br><br>
 
diff --git a/src/uncategorized/reputation.tw b/src/uncategorized/reputation.tw
index 8253abdfb4c..439e36e5450 100644
--- a/src/uncategorized/reputation.tw
+++ b/src/uncategorized/reputation.tw
@@ -256,7 +256,7 @@ On formal occasions, you are announced as $PCTitle.
 
 <<if $arcologies[0].FSSupremacist != "unset">>
 	<<if ($PC.race == $arcologies[0].FSSupremacistRace)>>
-		Since you are a member of the $PC.race, society @@.green;strongly approves@@ of your ownership of the arcology.
+		Since you are a member of the $PC.race race, society @@.green;strongly approves@@ of your ownership of the arcology.
 		<<= FSChange("Supremacist", 5)>>
 	<</if>>
 <<elseif $arcologies[0].FSSubjugationist != "unset">>
diff --git a/src/uncategorized/resFailure.tw b/src/uncategorized/resFailure.tw
index 06ce2f71aab..93e4f319d84 100644
--- a/src/uncategorized/resFailure.tw
+++ b/src/uncategorized/resFailure.tw
@@ -217,7 +217,7 @@
 	<<for $i = 0; $i < $slavesToAdd; $i++>>
 		<<set $oneTimeDisableDisability = 1>>
 		<<set $activeSlave = GenerateNewSlave("XX")>>
-		<<set $activeSlave.origin = "She was given to you by a failed branch campus of St. Claver Preparatory after she served as a plastic surgeon's passing final exam.">>
+		<<set $activeSlave.origin = "$He was given to you by a failed branch campus of St. Claver Preparatory after $he served as a plastic surgeon's passing final exam.">>
 		<<set $activeSlave.chem = 20>>
 		<<set $activeSlave.career = "a slave">>
 		<<if $SCP.schoolUpgrade == 1>>
diff --git a/src/utility/extendedFamilyWidgets.tw b/src/utility/extendedFamilyWidgets.tw
index 2c992df8b23..27aa0cc9131 100644
--- a/src/utility/extendedFamilyWidgets.tw
+++ b/src/utility/extendedFamilyWidgets.tw
@@ -2,44 +2,72 @@
 
 <<widget "Family">>
 
-	/*testtest PC parent passage - determines if the current slave is your mother or father*/
-	<<if $activeSlave.ID == $PC.mother && $activeSlave.ID == $PC.father>>
-		$He @@.lightgreen;is both your mother and father;@@ $he impregnated $himself with you.
-	<<elseif $activeSlave.ID == $PC.mother>>
-		$He @@.lightgreen;is your mother.@@
-	<<elseif $activeSlave.ID == $PC.father>>
-		$He @@.lightgreen;is your father.@@
+/*testtest PC parent passage - determines if the current slave is your mother or father*/
+<<if $activeSlave.ID == $PC.mother && $activeSlave.ID == $PC.father>>
+	$He @@.lightgreen;is both your mother and father;@@ $he impregnated $himself with you.
+<<elseif $activeSlave.ID == $PC.mother>>
+	$He @@.lightgreen;is your mother.@@
+<<elseif $activeSlave.ID == $PC.father>>
+	$He @@.lightgreen;is your father.@@
+<</if>>
+
+<<if $activeSlave.father == -1 && $activeSlave.mother == -1>>
+	$He's @@.lightgreen;your child;@@ you knocked yourself up and gave birth to $him.
+<<elseif $activeSlave.father == $activeSlave.mother && ($activeSlave.father > 0 || ($activeSlave.father in $missingTable && $showMissingSlaves))>>
+	<<if $activeSlave.father > 0>>
+		<<set _pName = $slaves[$slaveIndices[$activeSlave.father]].slaveName>>
+	<<else>>
+		<<set _pName = "your former slave "+$missingTable[$activeSlave.father].slaveName>>
 	<</if>>
+	$He was @@.lightgreen;both fathered and mothered by _pName.@@
+<</if>>
 
-	<<if $activeSlave.father == -1 && $activeSlave.mother == -1>>
-		$He's @@.lightgreen;your child;@@ you knocked yourself up and gave birth to $him.
-	<<elseif $activeSlave.father == $activeSlave.mother && ($activeSlave.father > 0 || ($activeSlave.father in $missingTable && $showMissingSlaves))>>
-		<<if $activeSlave.father > 0>>
-			<<set _pName = $slaves[$slaveIndices[$activeSlave.father]].slaveName>>
-		<<else>>
-			<<set _pName = "your former slave "+$missingTable[$activeSlave.father].slaveName>>
-		<</if>>
-		$He was @@.lightgreen;both fathered and mothered by _pName.@@
+<<if $activeSlave.father == -1 && $activeSlave.mother != -1>>
+	$He's @@.lightgreen;your child;@@ you knocked $his mother up.
+<<elseif ($activeSlave.father > 0 || ($activeSlave.father in $missingTable && $showMissingSlaves)) && $activeSlave.father != $activeSlave.mother>>
+	<<if $activeSlave.father > 0>>
+		<<set _pName = $slaves[$slaveIndices[$activeSlave.father]].slaveName>>
+	<<else>>
+		<<set _pName = "your former slave "+$missingTable[$activeSlave.father].slaveName>>
+	<</if>>
+	$He was @@.lightgreen;fathered by _pName's@@ virile dick.
+<</if>>
+
+<<if $activeSlave.father != -1 && $activeSlave.mother == -1>>
+	$He's @@.lightgreen;your child;@@ you gave birth to $him.
+<<elseif ($activeSlave.mother > 0 || ($activeSlave.mother in $missingTable && $showMissingSlaves)) && $activeSlave.father != $activeSlave.mother>>
+	<<if $activeSlave.mother > 0>>
+		<<set _pName = $slaves[$slaveIndices[$activeSlave.mother]].slaveName>>
+	<<else>>
+		<<set _pName = "your former slave "+$missingTable[$activeSlave.mother].slaveName>>
 	<</if>>
+	$He was @@.lightgreen;born from _pName's@@ fertile womb.
+<</if>>
 
-	<<if $activeSlave.father == -1 && $activeSlave.mother != -1>>
-		$He's @@.lightgreen;your child;@@ you knocked $his mother up.
-	<<elseif ($activeSlave.father > 0 || ($activeSlave.father in $missingTable && $showMissingSlaves)) && $activeSlave.father != $activeSlave.mother>>
-		<<if $activeSlave.father > 0>>
-			<<set _pName = $slaves[$slaveIndices[$activeSlave.father]].slaveName>>
+<<set _children = $slaves.filter(function(s) { return $activeSlave.ID == s.father; })>>
+<<if _children.length > 2>>
+	$He @@.lightgreen;fathered
+	<<for _efw = 0; _efw < _children.length; _efw++>>
+		<<if _efw < _children.length-1>>
+			_children[_efw].slaveName,
 		<<else>>
-			<<set _pName = "your former slave "+$missingTable[$activeSlave.father].slaveName>>
+			and _children[_efw].slaveName.@@
 		<</if>>
-		$He was @@.lightgreen;fathered by _pName's@@ virile dick.
-	<</if>>
+	<</for>>
+<<elseif _children.length > 1>>
+	$He @@.lightgreen;fathered a pair of your slaves: _children[0].slaveName, and _children[1].slaveName.@@
+<<elseif _children.length > 0>>
+	$He @@.lightgreen;fathered a single slave of yours: _children[0].slaveName.@@
+<</if>>
 
-	<<if $activeSlave.father != -1 && $activeSlave.mother == -1>>
-		$He's @@.lightgreen;your child;@@ you gave birth to $him.
-	<<elseif ($activeSlave.mother > 0 || ($activeSlave.mother in $missingTable && $showMissingSlaves)) && $activeSlave.father != $activeSlave.mother>>
-		<<if $activeSlave.mother > 0>>
-			<<set _pName = $slaves[$slaveIndices[$activeSlave.mother]].slaveName>>
+<<set _children = $slaves.filter(function(s) { return $activeSlave.ID == s.mother; })>>
+<<if _children.length > 2>>
+	$He @@.lightgreen;gave birth to
+	<<for _efw = 0; _efw < _children.length; _efw++>>
+		<<if _efw < _children.length-1>>
+			_children[_efw].slaveName,
 		<<else>>
-			<<set _pName = "your former slave "+$missingTable[$activeSlave.mother].slaveName>>
+			and _children[_efw].slaveName.@@
 		<</if>>
 	<</for>>
 <<elseif _children.length > 1>>
@@ -216,11 +244,11 @@
 		<<elseif $children.length > 0>>
 			<<for $i = 0; $i < $slaves.length; $i++>>
 				<<if $slaves[$i].ID != $activeSlave.ID && $activeSlave.genes == "XX">>
-				<<if areSisters($slaves[$i], $activeSlave) == 1 || areSisters($slaves[$i], $activeSlave) == 2>>
-				<<if $slaves[$i].ID == $PC.mother || $slaves[$i].ID == $PC.father>>
-					$He is @@.lightgreen;your aunt.@@
-				<</if>>
-				<</if>>
+					<<if areSisters($slaves[$i], $activeSlave) == 1 || areSisters($slaves[$i], $activeSlave) == 2>>
+						<<if $slaves[$i].ID == $PC.mother || $slaves[$i].ID == $PC.father>>
+							$He is @@.lightgreen;your aunt.@@
+						<</if>>
+					<</if>>
 				<</if>>
 			<</for>>
 		<</if>>
@@ -264,119 +292,8 @@
 							$He is @@.lightgreen;your uncle.@@
 						<</if>>
 					<</if>>
-				<</for>>
-			<</if>>
-		<</if>>
-	<</for>>
-	<<if $children.length > 0>>
-		$He
-		<<if $children.length > 2>>
-			has @@.lightgreen;many nephews,
-			<<for $j = 0; $j < $children.length; $j++>>
-				<<if $j < $children.length-1>>
-					$children[$j].slaveName,
-				<<else>>
-					and $children[$j].slaveName, who are your slaves.@@
 				<</if>>
 			<</for>>
-		<<elseif $children.length > 1>>
-			has @@.lightgreen;two nephews, $children[0].slaveName, and $children[1].slaveName, who are your slaves.@@
-		<<elseif $children.length > 0>>
-			has @@.lightgreen;a nephew, $children[0].slaveName, who is your slave.@@
-		<</if>>
-	<</if>>
-	<<set $children = []>>
-
-	/*testtest PC sibling passages - determines how many siblings you have
-	<<set $children = []>>
-	<<set _rel_num = areSisters($activeSlave, $PC)>>
-	<<if(_rel_num > 0)>>
-		<<if ($activeSlave.genes == "XX")>>
-			<<set _rel_type = "sister">>
-		<<else>>
-			<<set _rel_type = "brother">>
-		<</if>>
-		<<if (_rel_num == 1)>>
-			<<set _rel_desc = "your twin">>
-		<<elseif _rel_num == 2>>
-			<<set _rel_desc = "your ">>
-		<<elseif _rel_num == 3>>
-			<<set _rel_desc = "your half-">>
-		<</if>>
-		<<for $i = 0; $i < $slaves.length; $i++>>
-			<<if $slaves[$i].ID != $activeSlave.ID>>
-				<<if _rel_num == areSisters($activeSlave, $slaves[$i]) && ($activeSlave.vagina > -1) == ($slaves[$i].vagina > -1)>>
-					<<set console.log('sisters', $slaves[$i].birthName)>>
-					<<set $children.push($slaves[$i])>>
-				<</if>>
-			<</if>>
-		<</for>>
-		$He
-		<<if $children.length > 1>>
-			@@.lightgreen;is _rel_desc _rel_type along with
-			<<for $j = 0; $j < $children.length; $j++>>
-				<<if $j < $children.length-1>>
-					$children[$j].slaveName,
-				<<else>>
-					and $children[$j].slaveName.@@
-				<</if>>
-			<</for>>
-		<<elseif $children.length > 0>>
-			is @@.lightgreen;_rel_desc _rel_type with $children[0].slaveName.@@
-		<<else>>
-			is @@.lightgreen;_rel_desc _rel_type.@@
-		<</if>>
-	<</if>>
-	<<set $children = []>>
-	*/
-
-	<<set _twins = [], _sisters = [], _brothers = [], _halfsisters = [], _halfbrothers = []>>
-	<<for _efw = 0; _efw < $slaves.length; _efw++>>
-		<<set _sisterCheck = areSisters($slaves[_efw], $activeSlave)>>
-		<<if _sisterCheck == 1>>
-			<<run _twins.push($slaves[_efw])>>
-		<</if>>
-		<<if _sisterCheck == 2>>
-			<<run ($slaves[_efw].genes == 'XX' ? _sisters : _brothers).push($slaves[_efw])>>
-		<</if>>
-		<<if _sisterCheck == 3>>
-			<<run ($slaves[_efw].genes == 'XX' ? _halfsisters : _halfbrothers).push($slaves[_efw])>>
-		<</if>>
-	<</for>>
-
-	/*testtest PC twin passages - determines how many twins you have but not implemented yet*/
-	<<if areSisters($activeSlave, $PC) == 1>>
-		$He
-		<<if _twins.length > 1>>
-			@@.lightgreen;shared a cramped womb with you, <<print _twins.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>>.@@
-		<<elseif _twins.length > 0>>
-			is @@.lightgreen;your twin along with _twins[0].slaveName.@@
-		<<else>>
-			is @@.lightgreen;your twin <<if $activeSlave.genes == "XX">>sister<<else>>brother<</if>>.@@
-		<</if>>
-	<</if>>
-
-	/*testtest PC sister passages - determines how many sisters you have*/
-	<<if areSisters($activeSlave, $PC) < 3 && areSisters($activeSlave, $PC) > 0 && $activeSlave.genes == "XX">>
-		$He
-		<<if _sisters.length > 1>>
-			@@.lightgreen;is your sister along with <<print _sisters.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>>.@@
-		<<elseif _sisters.length > 0>>
-			is @@.lightgreen;your sister along with _sisters[0].slaveName.@@
-		<<else>>
-			is @@.lightgreen;your sister.@@
-		<</if>>
-	<</if>>
-
-	/*testtest PC brother passages - determines how many brothers you have*/
-	<<if areSisters($activeSlave, $PC) < 3 && areSisters($activeSlave, $PC) > 0 && $activeSlave.genes == "XY">>
-		$He
-		<<if _brothers.length > 1>>
-			@@.lightgreen;is your brother along with <<print _brothers.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>>.@@
-		<<elseif _brothers.length > 0>>
-			is @@.lightgreen;your brother along with _brothers[0].slaveName.@@
-		<<else>>
-			is @@.lightgreen;your brother.@@
 		<</if>>
 	<</if>>
 	<<set $children = []>>
@@ -485,7 +402,7 @@
 						<</if>>
 					<</if>>
 				<</if>>
-			<</if>>
+			<</for>>
 		<</if>>
 	<</if>>
 	<<set $children = []>>
@@ -616,16 +533,17 @@
 	<<elseif _rel_num == 3>>
 		<<set _rel_desc = "your half-">>
 	<</if>>
-	<<set $children = []>>
-
-	/*Player is Mother, lists birthed children*/
 	<<for $i = 0; $i < $slaves.length; $i++>>
-		<<if $PC.ID == $slaves[$i].mother>>
-			<<set $children.push($slaves[$i])>>
+		<<if $slaves[$i].ID != $activeSlave.ID>>
+			<<if _rel_num == areSisters($activeSlave, $slaves[$i]) && ($activeSlave.vagina > -1) == ($slaves[$i].vagina > -1)>>
+				<<set console.log('sisters', $slaves[$i].birthName)>>
+				<<set $children.push($slaves[$i])>>
+			<</if>>
 		<</if>>
 	<</for>>
-	<<if $children.length > 2>>
-		<br>You are the mother of@@.lightgreen;
+	$He
+	<<if $children.length > 1>>
+		@@.lightgreen;is _rel_desc _rel_type along with
 		<<for $j = 0; $j < $children.length; $j++>>
 			<<if $j < $children.length-1>>
 				$children[$j].slaveName,
@@ -633,8 +551,6 @@
 				and $children[$j].slaveName.@@
 			<</if>>
 		<</for>>
-	<<elseif $children.length > 1>>
-		<br>You are the mother of two of your slaves, @@.lightgreen;$children[0].slaveName, and $children[1].slaveName.@@
 	<<elseif $children.length > 0>>
 		is @@.lightgreen;_rel_desc _rel_type with $children[0].slaveName.@@
 	<<else>>
@@ -736,21 +652,51 @@
 	<</if>>
 <</if>>
 
-	<<if $cheatMode == 1>>
-		$PC.sisters sisters, $PC.daughters daughters.
+/*testtest sister - determines how many sisters a slave has*/
+<<if _sisters.length > 0>>
+	<<if _sisters.length > 1>>
+		@@.lightgreen;<<print _sisters.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>> are $his sisters.@@
+	<<else>>
+		@@.lightgreen; _sisters[0].slaveName is $his sister.@@
 	<</if>>
+<</if>>
 
-	<</widget>>
-
-	<<widget "parentName">>
-	<<if $activeSlave[$args[0]] == $PC.ID>>
-		You
+/*testtest brother - determines how many brothers a slave has*/
+<<if _brothers.length > 0>>
+	<<if _brothers.length > 1>>
+		@@.lightgreen;<<print _brothers.reduce(function(res, ch, i, arr) { return (res.slaveName || res) + (i == arr.length - 1 ? ' and ' : ', ') + ch.slaveName; })>> are $his brothers.@@
 	<<else>>
-		<<set _j = $slaveIndices[$activeSlave[$args[0]]]>>
-		<<if def _j>>
-			<<print $slaves[_j].slaveName>>
+		@@.lightgreen;_brothers[0].slaveName is $his brother.@@
+	<</if>>
+<</if>>
+
+/*testtest half-sister - determines how many half-sisters a slave has*/
+<<set _children = $slaves.filter(function(s) { return s.ID != $activeSlave.ID && areSisters($activeSlave, s) == 3 && s.genes == "XX"; })>>
+<<if _children.length > 2>>
+	@@.lightgreen;
+	<<for _efw = 0; _efw < _children.length; _efw++>>
+		<<if _efw < _children.length-1>>
+			_children[_efw].slaveName,
 		<<else>>
-			Unknown
+			and _children[_efw].slaveName
+		<</if>>
+	<</for>>
+	are half-sisters to $him.@@
+<<elseif _children.length > 1>>
+	@@.lightgreen;_children[0].slaveName and _children[1].slaveName are half-sisters to $him.@@
+<<elseif _children.length > 0>>
+	@@.lightgreen;_children[0].slaveName is a half-sister to $him.@@
+<</if>>
+
+/*testtest half-brother - determines how many half-brothers a slave has*/
+<<set _children = $slaves.filter(function(s) { return s.ID != $activeSlave.ID && areSisters($activeSlave, s) == 3 && s.genes == "XY"; })>>
+<<if _children.length > 2>>
+	@@.lightgreen;
+	<<for _efw = 0; _efw < _children.length; _efw++>>
+		<<if _efw < _children.length-1>>
+			_children[_efw].slaveName,
+		<<else>>
+			and _children[_efw].slaveName
 		<</if>>
 	<</for>>
 	are half-brothers to $him.@@
@@ -836,44 +782,91 @@
 <</if>>
 <<set $children = []>>
 
-	<<widget "listOfSlavesWithSameParent">>
-	<<if $activeSlave[$args[0]] != 0>>
-		<<set _printSeperator = false>>
-		<<if $activeSlave[$args[0]] == $PC[$args[0]]>>
-			You
-			<<set _printSeperator = true>>
+/*Twins Test with aresisters*/
+<<for $i = 0; $i < $slaves.length; $i++>>
+	<<if $slaves[$i].ID != $PC.ID>>
+		<<if areSisters($slaves[$i], $PC) == 1 && areSisters($slaves[$i], $slaves[$i]) == 1>>
+			<<set $children.push($slaves[$i])>>
+		<</if>>
+	<</if>>
+<</for>>
+<<if $children.length > 2>>
+	<br>You are @@.lightgreen;twins with
+	<<for $j = 0; $j < $children.length; $j++>>
+		<<if $j < $children.length-1>>
+			$children[$j].slaveName,
+		<<else>>
+			and $children[$j].slaveName.@@
 		<</if>>
-		<<for _j = 0; _j < $slaves.length; _j++>>
-			<<if $slaves[_j][$args[0]] == $activeSlave[$args[0]]>>
-				<<if _printSeperator>> | <</if>>
-				<<set _printSeperator = true>>
-				<<print $slaves[_j].slaveName>>
+	<</for>>
+<<elseif $children.length > 1>>
+	<br>You are twins with @@.lightgreen;$children[0].slaveName and $children[1].slaveName.@@
+<<elseif $children.length > 0>>
+	<br>Your twin is @@.lightgreen;$children[0].slaveName.@@
+<</if>>
+<<set $children = []>>
+
+/*Sister Test with aresisters*/
+<<for $i = 0; $i < $slaves.length; $i++>>
+	<<if $slaves[$i].ID != $PC.ID>>
+		<<if areSisters($PC, $slaves[$i]) === 2 && areSisters($slaves[$i], $PC) === 2>>
+			<<if $slaves[$i].genes == "XX">>
+				<<set $children.push($slaves[$i])>>
 			<</if>>
-		<</for>>
+		<</if>>
 	<</if>>
-	<</widget>>
-
-	<<widget "redisplayFamily">>
-	<<replace '#fatheredNames'>><<listOfSlavesWithParent "father" $activeSlave.ID>><</replace>>
-	<<replace '#motheredNames'>><<listOfSlavesWithParent "mother" $activeSlave.ID>><</replace>>
-	<<replace '#familySummary'>><<Family>><</replace>>
-	<<replace '#motherName'>><<parentName "mother">><</replace>>
-	<<replace '#fatherName'>><<parentName "father">><</replace>>
-	<<replace '#sameMotherNames'>><<listOfSlavesWithSameParent 'mother'>><</replace>>
-	<<replace '#sameFatherNames'>><<listOfSlavesWithSameParent 'father'>><</replace>>
-	/* <<run updateFamilyTree($activeSlave, $slaves, $PC)>> */
-	<<set _tSlaveList = [$activeSlave]>>
-	<<set _tSlaveList.push.apply(_tSlaveList, $slaves)>>
-	<<run renderFamilyTree(_tSlaveList, $activeSlave.ID)>>
-	<</widget>>
-
-	/* First parameter is e.g. "father" or "mother" and second parameter is the ID to match */
-	<<widget "listOfSlavesWithParent">>
-	<<if $args[1] != 0>>
-		<<set _printSeperator = false>>
-		<<if $args[1] == $PC[$args[0]]>>
-			You
-			<<set _printSeperator = true>>
+<</for>>
+<<if $children.length > 2>>
+	<br>@@.lightgreen;
+	<<for $j = 0; $j < $children.length; $j++>>
+		<<if $j < $children.length-1>>
+			$children[$j].slaveName,
+		<<else>>
+			and $children[$j].slaveName
+		<</if>>
+	<</for>>@@
+	are your sisters.
+<<elseif $children.length > 1>>
+	<br>@@.lightgreen;$children[0].slaveName and $children[1].slaveName@@ are your sisters.
+<<elseif $children.length > 0>>
+	<br>Your sister is @@.lightgreen;$children[0].slaveName.@@
+<</if>>
+<<set $children = []>>
+
+/*Brother Test with aresisters*/
+<<for $i = 0; $i < $slaves.length; $i++>>
+	<<if $slaves[$i].ID != $PC.ID>>
+		<<if areSisters($PC, $slaves[$i]) === 2 && areSisters($slaves[$i], $PC) === 2>>
+			<<if $slaves[$i].genes == "XY">>
+				<<set $children.push($slaves[$i])>>
+			<</if>>
+		<</if>>
+	<</if>>
+<</for>>
+<<if $children.length > 2>>
+	<br>@@.lightgreen;
+	<<for $j = 0; $j < $children.length; $j++>>
+		<<if $j < $children.length-1>>
+			$children[$j].slaveName,
+		<<else>>
+			and $children[$j].slaveName
+		<</if>>
+	<</for>>@@
+	are your brothers.
+<<elseif $children.length > 1>>
+	<br>@@.lightgreen;$children[0].slaveName and $children[1].slaveName@@ are your brothers.
+<<elseif $children.length > 0>>
+	<br>Your brother is @@.lightgreen;$children[0].slaveName.@@
+<</if>>
+<<set $children = []>>
+
+/*Half-Sister Test with aresisters */
+<<for $i = 0; $i < $slaves.length; $i++>>
+	<<if $slaves[$i].ID != $PC.ID>>
+		<<if areSisters($slaves[$i], $PC) == 3 && areSisters($PC, $slaves[$i]) == 3>>
+			<<if $slaves[$i].genes == "XX">>
+				<<set $children.push($slaves[$i])>>
+			<</if>>
 		<</if>>
 	<</if>>
 <</for>>
@@ -901,12 +894,148 @@
 			<<if $slaves[$i].genes == "XY">>
 				<<set $children.push($slaves[$i])>>
 			<</if>>
-		<</for>>
+		<</if>>
 	<</if>>
-	<</widget>>
+<</for>>
+<<if $children.length > 2>>
+	<br>@@.lightgreen;
+	<<for $j = 0; $j < $children.length; $j++>>
+		<<if $j < $children.length-1>>
+			$children[$j].slaveName,
+		<<else>>
+			and $children[$j].slaveName.
+		<</if>>
+	<</for>>@@
+	are your half-brothers.
+<<elseif $children.length > 1>>
+	<br>@@.lightgreen;$children[0].slaveName and $children[1].slaveName@@ are your half-brothers.
+<<elseif $children.length > 0>>
+	<br>You have one half-brother, @@.lightgreen;$children[0].slaveName.@@
+<</if>>
+<<set $children = []>>
+
+/*
+<<if $PC.clone != 0>>
+	<br>You are a clone of
+	<<if $activeSlave.cloneID == -1>>
+		yourself.
+	<<else>>
+		$PC.clone.
+	<</if>>
+<</if>>
+*/
+
+/*Player is Father, lists children you fathered*/
+<<for $i = 0; $i < $slaves.length; $i++>>
+	<<if $PC.ID == $slaves[$i].father>>
+		<<set $children.push($slaves[$i])>>
+	<</if>>
+<</for>>
+<<if $children.length > 2>>
+	<br>You are the father of @@.lightgreen;
+	<<for $j = 0; $j < $children.length; $j++>>
+		<<if $j < $children.length-1>>
+			$children[$j].slaveName,
+		<<else>>
+			and $children[$j].slaveName.@@
+		<</if>>
+	<</for>>
+<<elseif $children.length > 1>>
+	<br>You are the father of two of your slaves, @@.lightgreen;$children[0].slaveName, and $children[1].slaveName.@@
+<<elseif $children.length > 0>>
+	<br>You are the father of one of your slaves, @@.lightgreen;$children[0].slaveName.@@
+<</if>>
+<<set $children = []>>
+
+/*Player is Mother, lists birthed children*/
+<<for $i = 0; $i < $slaves.length; $i++>>
+	<<if $PC.ID == $slaves[$i].mother>>
+		<<set $children.push($slaves[$i])>>
+	<</if>>
+<</for>>
+<<if $children.length > 2>>
+	<br>You are the mother of@@.lightgreen;
+	<<for $j = 0; $j < $children.length; $j++>>
+		<<if $j < $children.length-1>>
+			$children[$j].slaveName,
+		<<else>>
+			and $children[$j].slaveName.@@
+		<</if>>
+	<</for>>
+<<elseif $children.length > 1>>
+	<br>You are the mother of two of your slaves, @@.lightgreen;$children[0].slaveName, and $children[1].slaveName.@@
+<<elseif $children.length > 0>>
+	<br>You are the mother of one of your slaves, @@.lightgreen;$children[0].slaveName.@@
+<</if>>
+<<set $children = []>>
+
+<<if $cheatMode == 1>>
+	$PC.sisters sisters, $PC.daughters daughters.
+<</if>>
 
-	<<widget "editFamily">>
-	<div id="editFamily"><div id="familyTable">
+<</widget>>
+
+<<widget "parentName">>
+<<if $activeSlave[$args[0]] == $PC.ID>>
+	You
+<<else>>
+	<<set _j = $slaveIndices[$activeSlave[$args[0]]]>>
+	<<if def _j>>
+		<<print $slaves[_j].slaveName>>
+	<<else>>
+		Unknown
+	<</if>>
+<</if>>
+<</widget>>
+
+<<widget "listOfSlavesWithSameParent">>
+<<if $activeSlave[$args[0]] != 0>>
+	<<set _printSeperator = false>>
+	<<if $activeSlave[$args[0]] == $PC[$args[0]]>>
+		You
+		<<set _printSeperator = true>>
+	<</if>>
+	<<for _j = 0; _j < $slaves.length; _j++>>
+		<<if $slaves[_j][$args[0]] == $activeSlave[$args[0]]>>
+			<<if _printSeperator>> | <</if>>
+			<<set _printSeperator = true>>
+			<<print $slaves[_j].slaveName>>
+		<</if>>
+	<</for>>
+<</if>>
+<</widget>>
+
+<<widget "redisplayFamily">>
+<<replace '#fatheredNames'>><<listOfSlavesWithParent "father" $activeSlave.ID>><</replace>>
+<<replace '#motheredNames'>><<listOfSlavesWithParent "mother" $activeSlave.ID>><</replace>>
+<<replace '#familySummary'>><<Family>><</replace>>
+<<replace '#motherName'>><<parentName "mother">><</replace>>
+<<replace '#fatherName'>><<parentName "father">><</replace>>
+<<replace '#sameMotherNames'>><<listOfSlavesWithSameParent 'mother'>><</replace>>
+<<replace '#sameFatherNames'>><<listOfSlavesWithSameParent 'father'>><</replace>>
+/* <<run updateFamilyTree($activeSlave, $slaves, $PC)>> */
+<<set _tSlaveList = [$activeSlave]>>
+<<set _tSlaveList.push.apply(_tSlaveList, $slaves)>>
+<<run renderFamilyTree(_tSlaveList, $activeSlave.ID)>>
+<</widget>>
+
+/* First parameter is e.g. "father" or "mother" and second parameter is the ID to match */
+<<widget "listOfSlavesWithParent">>
+<<if $args[1] != 0>>
+	<<set _printSeperator = false>>
+	<<if $args[1] == $PC[$args[0]]>>
+		You
+		<<set _printSeperator = true>>
+	<</if>>
+	<<for _j = 0; _j < $slaves.length; _j++>>
+		<<if $slaves[_j][$args[0]] == $args[1]>>
+			<<if _printSeperator>> | <</if>>
+			<<set _printSeperator = true>>
+			<<print $slaves[_j].slaveName>>
+		<</if>>
+	<</for>>
+<</if>>
+<</widget>>
 
 <<widget "editFamily">>
 <div id="editFamily"><div id="familyTable">
@@ -917,18 +1046,19 @@
 	<<redisplayFamily>>
 <</link>>
 <<if $PC.vagina == 1 && (($PC.actualAge - $activeSlave.actualAge) >= $fertilityAge) && (($PC.mother != $activeSlave.mother) || ($activeSlave.mother == 0)) && $saveImported == 0>>
-| <<link "You">><<set $activeSlave.mother = $PC.ID>><<redisplayFamily>><</link>>
+	| <<link "You">><<set $activeSlave.mother = $PC.ID>><<redisplayFamily>><</link>>
 <</if>>
 <<for _efw = 0; _efw < $slaves.length; _efw++>>
 	<<if $slaves[_efw].vagina > 0 && (($slaves[_efw].actualAge - $activeSlave.actualAge) >= $fertilityAge) && (($slaves[_efw].mother != $activeSlave.mother) || ($activeSlave.mother == 0)) && $slaves[_efw].newGamePlus == 0>>
-	|
-	<<set _id = $slaves[_efw].ID>>
-	<<set _slaveName = $slaves[_efw].slaveName>>
-	<<print "
-		<<link _slaveName>>
-			<<set $activeSlave.mother = " + _id + ">>
-			<<redisplayFamily>>
-		<</link>>
+		|
+		<<set _id = $slaves[_efw].ID>>
+		<<set _slaveName = $slaves[_efw].slaveName>>
+		<<print "
+			<<link _slaveName>>
+				<<set $activeSlave.mother = " + _id + ">>
+				<<redisplayFamily>>
+			<</link>>
+		">>
 	<</if>>
 <</for>>
 
@@ -938,7 +1068,7 @@
 	<<redisplayFamily>>
 <</link>>
 <<if ($PC.dick == 1) && (($PC.actualAge - $activeSlave.actualAge) >= $potencyAge) && (($PC.father != $activeSlave.father) || ($activeSlave.father == 0)) && $saveImported == 0>>
-| <<link "You">><<set $activeSlave.father = $PC.ID>><<redisplayFamily>><</link>>
+	| <<link "You">><<set $activeSlave.father = $PC.ID>><<redisplayFamily>><</link>>
 <</if>>
 <<for _efw = 0; _efw < $slaves.length; _efw++>>
 	<<if ($slaves[_efw].dick > 0) && ((($slaves[_efw].actualAge - $activeSlave.actualAge) >= $potencyAge)) && (($slaves[_efw].father != $activeSlave.father) || ($activeSlave.father == 0)) && $slaves[_efw].newGamePlus == 0>>
@@ -947,16 +1077,29 @@
 		<<set _slaveName = $slaves[_efw].slaveName>>
 		<<print "
 			<<link _slaveName>>
-				<<set $activeSlave.mother = " + _id + ">>
+				<<set $activeSlave.father = " + _id + ">>
 				<<redisplayFamily>>
 			<</link>>
 		">>
-		<</if>>
-	<</for>>
+	<</if>>
+<</for>>
 
-	<br>''Father:'' <span id="fatherName"><<parentName "father">></span>
-	<<link "Reset">>
-		<<set $activeSlave.father = 0>>
+<br>''Same mother as:'' <span id="sameMotherNames"><<listOfSlavesWithSameParent 'mother'>></span>
+<<link "Reset">>
+	<<set $activeSlave.mother = 0>>
+	<<redisplayFamily>>
+<</link>>
+<<if ($activeSlave.mother != $PC.ID) && ($PC.mother != $activeSlave.ID) && ($saveImported == 0)>>
+	|
+	<<link "You">>
+		<<if $PC.mother != 0>>
+			<<set $activeSlave.mother = $PC.mother>>
+		<<elseif $activeSlave.mother != 0>>
+			<<set $PC.mother = $activeSlave.mother>>
+		<<else>>
+			<<set $activeSlave.mother = -5 - 2*$activeSlave.ID>>
+			<<set $PC.mother = $activeSlave.mother>>
+		<</if>>
 		<<redisplayFamily>>
 	<</link>>
 <</if>>
@@ -966,21 +1109,21 @@
 		<<set _slaveName = $slaves[_efw].slaveName>>
 		<<set _slave = $slaves[_efw]>>
 		<<if ($activeSlave.mother != _slave.ID) && (_slave.mother != $activeSlave.ID)>>
-		|
-		<<print "
-			<<link _slaveName>>
-				<<set _slave = $slaves[" + _efw + "]>>
-				<<if _slave.mother != 0>>
-					<<set $activeSlave.mother = _slave.mother>>
-				<<elseif $activeSlave.mother != 0>>
-					<<set _slave.mother = $activeSlave.mother>>
-				<<else>>
-					<<set $activeSlave.mother = -5 - 2*$activeSlave.ID>>
-					<<set _slave.mother = $activeSlave.mother>>
-				<</if>>
-				<<redisplayFamily>>
-			<</link>>
-		">>
+			|
+			<<print "
+				<<link _slaveName>>
+					<<set _slave = $slaves[" + _efw + "]>>
+					<<if _slave.mother != 0>>
+						<<set $activeSlave.mother = _slave.mother>>
+					<<elseif $activeSlave.mother != 0>>
+						<<set _slave.mother = $activeSlave.mother>>
+					<<else>>
+						<<set $activeSlave.mother = -5 - 2*$activeSlave.ID>>
+						<<set _slave.mother = $activeSlave.mother>>
+					<</if>>
+					<<redisplayFamily>>
+				<</link>>
+			">>
 		<</if>>
 	<</if>>
 <</for>>
@@ -1012,21 +1155,30 @@
 		<<set _slaveName = $slaves[_efw].slaveName>>
 		<<set _slave = $slaves[_efw]>>
 		<<if ($activeSlave.father != _slave.ID) && (_slave.father != $activeSlave.ID)>>
-		|
-		<<print "
-			<<link _slaveName>>
-				<<set _slave = $slaves[" + _efw + "]>>
-				<<if _slave.father != 0>>
-					<<set $activeSlave.father = _slave.father>>
-				<<elseif $activeSlave.father != 0>>
-					<<set _slave.father = $activeSlave.father>>
-				<<else>>
-					<<set $activeSlave.father = -5 - 2*$activeSlave.ID -1>>
-					<<set _slave.father = $activeSlave.father>>
-				<</if>>
-				<<redisplayFamily>>
-			<</link>>
-		">>
+			|
+			<<print "
+				<<link _slaveName>>
+					<<set _slave = $slaves[" + _efw + "]>>
+					<<if _slave.father != 0>>
+						<<set $activeSlave.father = _slave.father>>
+					<<elseif $activeSlave.father != 0>>
+						<<set _slave.father = $activeSlave.father>>
+					<<else>>
+						<<set $activeSlave.father = -5 - 2*$activeSlave.ID -1>>
+						<<set _slave.father = $activeSlave.father>>
+					<</if>>
+					<<redisplayFamily>>
+				<</link>>
+			">>
+		<</if>>
+	<</if>>
+<</for>>
+
+<br>''Mother of the children:'' <span id="motheredNames"><<listOfSlavesWithParent "mother" $activeSlave.ID>></span>
+<<link "Reset">>
+	<<for _efw = 0; _efw < $slaves.length; _efw++>>
+		<<if $slaves[_efw].mother == $activeSlave.ID && $slaves[_efw].newGamePlus == 0>>
+			<<set $slaves[_efw].mother = 0>>
 		<</if>>
 	<</for>>
 	<<if $PC.mother == $activeSlave.ID && $saveImported == 0>>
@@ -1038,20 +1190,16 @@
 	<<if (($activeSlave.actualAge - $PC.actualAge) >= $fertilityAge) && (($PC.mother != $activeSlave.mother) || ($activeSlave.mother == 0)) && ($saveImported == 0)>>
 		|
 		<<link "You">>
-			<<if $PC.mother != 0>>
-				<<set $activeSlave.mother = $PC.mother>>
-			<<elseif $activeSlave.mother != 0>>
-				<<set $PC.mother = $activeSlave.mother>>
-			<<else>>
-				<<set $activeSlave.mother = -5 - 2*$activeSlave.ID>>
-				<<set $PC.mother = $activeSlave.mother>>
+			<<set $PC.mother = $activeSlave.ID>>
+			<<if $activeSlave.vagina == 0>>
+				<<set $activeSlave.vagina = 1>>
 			<</if>>
 			<<redisplayFamily>>
 		<</link>>
 	<</if>>
+
 	<<for _efw = 0; _efw < $slaves.length; _efw++>>
 		<<if $slaves[_efw].newGamePlus == 0>>
-			<<if $saveImported == 1>>|<</if>>
 			<<set _slaveName = $slaves[_efw].slaveName>>
 			<<set _slave = $slaves[_efw]>>
 			<<if (($activeSlave.actualAge - _slave.actualAge) >= $fertilityAge) && ((_slave.mother != $activeSlave.mother) || ($activeSlave.mother == 0))>>
@@ -1059,13 +1207,9 @@
 				<<print "
 					<<link _slaveName>>
 						<<set _slave = $slaves[" + _efw + "]>>
-						<<if _slave.mother != 0>>
-							<<set $activeSlave.mother = _slave.mother>>
-						<<elseif $activeSlave.mother != 0>>
-							<<set _slave.mother = $activeSlave.mother>>
-						<<else>>
-							<<set $activeSlave.mother = -5 - 2*$activeSlave.ID>>
-							<<set _slave.mother = $activeSlave.mother>>
+						<<set _slave.mother = $activeSlave.ID>>
+						<<if $activeSlave.vagina == 0>>
+							<<set $activeSlave.vagina = 1>>
 						<</if>>
 						<<redisplayFamily>>
 					<</link>>
@@ -1073,6 +1217,7 @@
 			<</if>>
 		<</if>>
 	<</for>>
+<</if>>
 
 <br>''Father of the children:'' <span id="fatheredNames"><<listOfSlavesWithParent "father" $activeSlave.ID>></span>
 <<link "Reset">>
@@ -1090,20 +1235,13 @@
 	<<if (($activeSlave.actualAge - $PC.actualAge) >= $potencyAge) && (($PC.father != $activeSlave.father) || ($activeSlave.father == 0)) && ($saveImported == 0)>>
 		|
 		<<link "You">>
-			<<if $PC.father != 0>>
-				<<set $activeSlave.father = $PC.father>>
-			<<elseif $activeSlave.father != 0>>
-				<<set $PC.father = $activeSlave.father>>
-			<<else>>
-				<<set $activeSlave.father = -5 - 2*$activeSlave.ID -1>>
-				<<set $PC.father = $activeSlave.father>>
-			<</if>>
+			<<set $PC.father = $activeSlave.ID>>
 			<<redisplayFamily>>
 		<</link>>
 	<</if>>
+
 	<<for _efw = 0; _efw < $slaves.length; _efw++>>
 		<<if $slaves[_efw].newGamePlus == 0>>
-			<<if $saveImported == 1>>|<</if>>
 			<<set _slaveName = $slaves[_efw].slaveName>>
 			<<set _slave = $slaves[_efw]>>
 			<<if (($activeSlave.actualAge - _slave.actualAge) >= $potencyAge) && ((_slave.father != $activeSlave.father) || ($activeSlave.father == 0))>>
@@ -1111,161 +1249,71 @@
 				<<print "
 					<<link _slaveName>>
 						<<set _slave = $slaves[" + _efw + "]>>
-						<<if _slave.father != 0>>
-							<<set $activeSlave.father = _slave.father>>
-						<<elseif $activeSlave.father != 0>>
-							<<set _slave.father = $activeSlave.father>>
-						<<else>>
-							<<set $activeSlave.father = -5 - 2*$activeSlave.ID -1>>
-							<<set _slave.father = $activeSlave.father>>
-						<</if>>
+						<<set _slave.father = $activeSlave.ID>>
 						<<redisplayFamily>>
 					<</link>>
 				">>
 			<</if>>
 		<</if>>
 	<</for>>
+<</if>>
 
-	<br>''Mother of the children:'' <span id="motheredNames"><<listOfSlavesWithParent "mother" $activeSlave.ID>></span>
-	<<link "Reset">>
+<br>
+<<if $saveImported == 0>>
+	<<link "Reset ALL PC Relatives">>
+		<<set _sameMother = 0, _sameFather = 0>>
 		<<for _efw = 0; _efw < $slaves.length; _efw++>>
-			<<if $slaves[_efw].mother == $activeSlave.ID && $slaves[_efw].newGamePlus == 0>>
-				<<set $slaves[_efw].mother = 0>>
+			<<if $slaves[_efw].newGamePlus == 0>>
+				<<if $slaves[_efw].mother == $PC.ID>>
+					<<set $slaves[_efw].mother = 0>>
+				<</if>>
+				<<if $slaves[_efw].father == $PC.ID>>
+					<<set $slaves[_efw].father = 0>>
+				<</if>>
+				<<if $slaves[_efw].mother == $PC.mother>>
+					<<set _sameMother++>>
+				<</if>>
+				<<if $slaves[_efw].father == $PC.father>>
+					<<set _sameFather++>>
+				<</if>>
 			<</if>>
 		<</for>>
-		<<if $PC.mother == $activeSlave.ID && $saveImported == 0>>
-			<<set $PC.mother = 0>>
+		<<if _sameMother == 0 && $activeSlave.mother == $PC.mother>>
+			<<set $activeSlave.mother = 0>>
 		<</if>>
-		<<redisplayFamily>>
-	<</link>>
-	<<if $activeSlave.vagina >= 0>>
-		<<if ($activeSlave.actualAge - $PC.actualAge) >= $fertilityAge && $saveImported == 0>>
-			|
-			<<link "You">>
-				<<set $PC.mother = $activeSlave.ID>>
-				<<if $activeSlave.vagina == 0>>
-					<<set $activeSlave.vagina = 1>>
-				<</if>>
-				<<redisplayFamily>>
-			<</link>>
+		<<if _sameFather == 0 && $activeSlave.father == $PC.father>>
+			<<set $activeSlave.father = 0>>
 		<</if>>
-
-		<<for _efw = 0; _efw < $slaves.length; _efw++>>
+		<<for _efw = 0; (_efw < $slaves.length && (_sameMother == 1 || _sameFather == 1)); _efw++>>
 			<<if $slaves[_efw].newGamePlus == 0>>
-				<<set _slaveName = $slaves[_efw].slaveName>>
-				<<set _slave = $slaves[_efw]>>
-				<<if ($activeSlave.actualAge - _slave.actualAge) >= $fertilityAge>>
-					|
-					<<print "
-						<<link _slaveName>>
-							<<set _slave = $slaves[" + _efw + "]>>
-							<<set _slave.mother = $activeSlave.ID>>
-							<<if $activeSlave.vagina == 0>>
-								<<set $activeSlave.vagina = 1>>
-							<</if>>
-							<<redisplayFamily>>
-						<</link>>
-					">>
+				<<if $slaves[_efw].mother == $PC.mother && _sameMother == 1>>
+					<<set $slaves[_efw].mother = 0, _sameMother = 0>>
+				<</if>>
+				<<if $slaves[_efw].father == $PC.father && _sameFather == 1>>
+					<<set $slaves[_efw].father = 0, _sameFather = 0>>
 				<</if>>
 			<</if>>
 		<</for>>
-	<</if>>
-
-	<br>''Father of the children:'' <span id="fatheredNames"><<listOfSlavesWithParent "father" $activeSlave.ID>></span>
-	<<link "Reset">>
-		<<for _efw = 0; _efw < $slaves.length; _efw++>>
-			<<if $slaves[_efw].father == $activeSlave.ID && $slaves[_efw].newGamePlus == 0>>
-				<<set $slaves[_efw].father = 0>>
-			<</if>>
-		<</for>>
-		<<if $PC.father == $activeSlave.ID && $saveImported == 0>>
-			<<set $PC.father = 0>>
+		<<if $activeSlave.mother == $PC.ID>>
+			<<set $activeSlave.mother = 0>>
+		<</if>>
+		<<if $activeSlave.father == $PC.ID>>
+			<<set $activeSlave.father = 0>>
 		<</if>>
+		<<set $PC.father = 0>>
+		<<set $PC.mother = 0>>
 		<<redisplayFamily>>
 	<</link>>
-	<<if $activeSlave.dick > 0>>
-		<<if ($activeSlave.actualAge - $PC.actualAge) >= $potencyAge && $saveImported == 0>>
-			|
-			<<link "You">>
-				<<set $PC.father = $activeSlave.ID>>
-				<<redisplayFamily>>
-			<</link>>
-		<</if>>
-
-		<<for _efw = 0; _efw < $slaves.length; _efw++>>
-			<<if $slaves[_efw].newGamePlus == 0>>
-				<<set _slaveName = $slaves[_efw].slaveName>>
-				<<set _slave = $slaves[_efw]>>
-				<<if ($activeSlave.actualAge - _slave.actualAge) >= $fertilityAge>>
-					|
-					<<print "
-						<<link _slaveName>>
-							<<set _slave = $slaves[" + _efw + "]>>
-							<<set _slave.father = $activeSlave.ID>>
-							<<redisplayFamily>>
-						<</link>>
-					">>
-				<</if>>
-			<</if>>
-		<</for>>
-	<</if>>
-
-	<br>
-	<<if $saveImported == 0>>
-		<<link "Reset ALL PC Relatives">>
-			<<set _sameMother = 0, _sameFather = 0>>
-			<<for _efw = 0; _efw < $slaves.length; _efw++>>
-				<<if $slaves[_efw].newGamePlus == 0>>
-					<<if $slaves[_efw].mother == $PC.ID>>
-						<<set $slaves[_efw].mother = 0>>
-					<</if>>
-					<<if $slaves[_efw].father == $PC.ID>>
-						<<set $slaves[_efw].father = 0>>
-					<</if>>
-					<<if $slaves[_efw].mother == $PC.mother>>
-						<<set _sameMother++>>
-					<</if>>
-					<<if $slaves[_efw].father == $PC.father>>
-						<<set _sameFather++>>
-					<</if>>
-				<</if>>
-			<</for>>
-			<<if _sameMother == 0 && $activeSlave.mother == $PC.mother>>
-				<<set $activeSlave.mother = 0>>
-			<</if>>
-			<<if _sameFather == 0 && $activeSlave.father == $PC.father>>
-				<<set $activeSlave.father = 0>>
-			<</if>>
-			<<for _efw = 0; (_efw < $slaves.length && (_sameMother == 1 || _sameFather == 1)); _efw++>>
-				<<if $slaves[_efw].newGamePlus == 0>>
-					<<if $slaves[_efw].mother == $PC.mother && _sameMother == 1>>
-						<<set $slaves[_efw].mother = 0, _sameMother = 0>>
-					<</if>>
-					<<if $slaves[_efw].father == $PC.father && _sameFather == 1>>
-						<<set $slaves[_efw].father = 0, _sameFather = 0>>
-					<</if>>
-				<</if>>
-			<</for>>
-			<<if $activeSlave.mother == $PC.ID>>
-				<<set $activeSlave.mother = 0>>
-			<</if>>
-			<<if $activeSlave.father == $PC.ID>>
-				<<set $activeSlave.father = 0>>
-			<</if>>
-			<<set $PC.father = 0>>
-			<<set $PC.mother = 0>>
-			<<redisplayFamily>>
-		<</link>>
-	<</if>>
+<</if>>
 
-	<br>
-	&nbsp;&nbsp;&nbsp;&nbsp;<span id="familySummary"><<Family>></span>
-	<br>
-	</div>
-	<div id="familyTree"></div>
-	<<set _tSlaveList = [$activeSlave]>>
-	<<set _tSlaveList.push.apply(_tSlaveList, $slaves)>>
-	<<run renderFamilyTree(_tSlaveList, $activeSlave.ID)>>
-	</div>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<span id="familySummary"><<Family>></span>
+<br>
+</div>
+<div id="familyTree"></div>
+<<set _tSlaveList = [$activeSlave]>>
+<<set _tSlaveList.push.apply(_tSlaveList, $slaves)>>
+<<run renderFamilyTree(_tSlaveList, $activeSlave.ID)>>
+</div>
 
 <</widget>>
-- 
GitLab