diff --git a/.gitignore b/.gitignore
index 72364f99fe4bf8d5262df3b19b33102aeaa791e5..7615207d9a2954bce4324b51782b1a3d89e0eaa2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -87,3 +87,6 @@ ENV/
 
 # Rope project settings
 .ropeproject
+
+# Start.tw 
+src/config/start.tw 
\ No newline at end of file
diff --git a/src/cheats/mod_EditSlaveCheat.tw b/src/cheats/mod_EditSlaveCheat.tw
index 59b96dcaf75447c0c1a25aae3b5622f3f9c5cc97..f1752d5f80e1643b02f8d515a3c13d095c0af41f 100644
--- a/src/cheats/mod_EditSlaveCheat.tw
+++ b/src/cheats/mod_EditSlaveCheat.tw
@@ -19,9 +19,17 @@
 
 <br>
 
-''Slave Blood Relations (twin, sister, mother, daughter):''
-<<textbox "$activeSlave.relation" $activeSlave.relation>>
-
+<<if $familyTesting == 1>>
+	''Enter the IDs for this slaves parents(-2 or 0:random and untracked by system, -1:PC, all others are applicable):''
+	<br>
+	''mother ID''
+	<<textbox "$activeSlave.mother" $activeSlave.mother "Starting Girls">>
+	<br>
+	''father ID''
+	<<textbox "$activeSlave.father" $activeSlave.father "Starting Girls">>
+<<else>>
+	''Slave Blood Relations (twin, sister, mother, daughter):''
+	<<textbox "$activeSlave.relation" $activeSlave.relation>>
 <br>
 
 ''Blood Relations Target ID:''
@@ -42,7 +50,8 @@
 ''Relationship Target ID:'' <<textbox "$activeSlave.relationshipTarget" $activeSlave.relationshipTarget>>
 
 <br><br>
-
+<</if>>
+<br>
 ''Career ($activeSlave.career)''
 <<textbox "$activeSlave.career" $activeSlave.career>> //Slave variables documentation is your friend. Will tell you exactly what to put here//
 
diff --git a/src/cheats/mod_EditSlaveCheatDatatypeCleanup.tw b/src/cheats/mod_EditSlaveCheatDatatypeCleanup.tw
index 37441d9c5ee5bd3edeb644c6008ed54148e1c0a5..1979d0c8e06a27cf4690649321b36f42c89ea67f 100644
--- a/src/cheats/mod_EditSlaveCheatDatatypeCleanup.tw
+++ b/src/cheats/mod_EditSlaveCheatDatatypeCleanup.tw
@@ -7,8 +7,13 @@
 	<<set $rep to Number($rep)>>
 	<<set $cash to Number($cash)>>
 	<<set $week to Number($week)>>
-	<<set $activeSlave.relationTarget to Number($activeSlave.relationTarget)>>
-	<<set $activeSlave.relationshipTarget to Number($activeSlave.relationshipTarget)>>
+	<<if $familyTesting == 1>>
+		<<set $activeSlave.mother to Number($activeSlave.mother)>>
+		<<set $activeSlave.father to Number($activeSlave.father)>>
+	<<else>>
+		<<set $activeSlave.relationTarget to Number($activeSlave.relationTarget)>>
+		<<set $activeSlave.relationshipTarget to Number($activeSlave.relationshipTarget)>>
+	<</if>>
 	<<set $activeSlave.indenture to Number($activeSlave.indenture)>>
 	<<set $activeSlave.face to Number($activeSlave.face)>>
 	<<set $activeSlave.hLength to Number($activeSlave.hLength)>>
diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw
index f17a3df7635f0213b767bc81269d74d211a84285..81bdcd57fe19b82691a0989936e48f985974a491 100644
--- a/src/init/storyInit.tw
+++ b/src/init/storyInit.tw
@@ -319,7 +319,7 @@
 
 <<set $cheater to 0>>
 <<set $PCName to "Anonymous">>
-<<set $PC to {title: 1, ID: -1, dick: 1, vagina: 0, preg: 0, pregSource: 0, pregMood: 0, labor: 0, births: 0, boobsBonus: 0, degeneracy: 0, voiceImplant: 0, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 0, career: "capitalist", rumor: "wealth", indenture: -1, indentureRestrictions: 0, birthWeek: random(0,51), age: 2, sexualEnergy: 4, refreshment: "cigar", refreshmentType: 0, race: "white", skin: "white", eyeColor: "blue", hColor: "blonde", nationality: "Stateless", father: 0, mother: 0, sisters: 0, daughters: 0, birthElite: 0, birthMaster: 0, birthDegenerate: 0, birthClient: 0, birthOther: 0, birthArcOwner: 0}>>
+<<set $PC to {title: 1, ID: -1, dick: 1, vagina: 0, preg: 0, pregSource: 0, pregMood: 0, labor: 0, births: 0, boobsBonus: 0, degeneracy: 0, voiceImplant: 0, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 0, career: "capitalist", rumor: "wealth", indenture: -1, indentureRestrictions: 0, birthWeek: random(0,51), age: 2, sexualEnergy: 4, refreshment: "cigar", refreshmentType: 0, race: "white", skin: "white", eyeColor: "blue", hColor: "blonde", nationality: "Stateless", father: 0, mother: 0, sisters: 0, daughters: 0, birthElite: 0, birthMaster: 0, birthDegenerate: 0, birthClient: 0, birthOther: 0, birthArcOwner: 0, intelligence: 3, face: 3}>>
 <<set $cash = 10000>>
 <<set $normalizedEvents to 0>>
 <<set $autosave to 1>>
diff --git a/src/npc/removeActiveSlave.tw b/src/npc/removeActiveSlave.tw
index b46fe3624403e09c8ee62ae3824b207031bb489a..db19499fc3e5c16ac04cb18e30ba0d7c1e03dddb 100644
--- a/src/npc/removeActiveSlave.tw
+++ b/src/npc/removeActiveSlave.tw
@@ -25,6 +25,25 @@
 			<<set $slaves[$y].pregSource to 0>>
 		<</if>>
 	<</for>>
+	<<if $PC.mother == $activeSlave.ID>>
+		<<set $PC.mother to $missingParentID>>
+		<<if $PC.father == $activeSlave.ID>>
+			<<set $PC.father to $missingParentID>>
+		<</if>>
+		<<set $missingParentID-->>
+	<</if>>
+	<<if $PC.father == $activeSlave.ID>>
+		<<set $PC.father to $missingParentID>>
+		<<set $missingParentID-->>
+	<</if>>
+	<<if $PC.sisters > 0>>
+		/*put sister decrement code here*/
+	<</if>>
+	<</if $PC.daughters > 0>>
+		<<if $activeSlave.father == -1 || $activeSlave.mother == -1>>
+			<<set $PC.daughters-->>
+		<</if>>
+	<</if>>
 	<<if $activeSlave.daughters > 0>>
 		<<for $y to 0; $y < $slaves.length; $y++>>
 			<<if $slaves[$y].mother is $activeSlave.ID>>
diff --git a/src/pregmod/generateChild.tw b/src/pregmod/generateChild.tw
index 55a1af000cd7a7079da6f9333e1298c25494cbc9..d1684910f68778071460b9e0ea723f87c4f14568 100644
--- a/src/pregmod/generateChild.tw
+++ b/src/pregmod/generateChild.tw
@@ -1,4 +1,4 @@
-:: generateChild [nobr]
+:: Generate Child [nobr]
 
 <<if $mom != 0>>
 	<<set $mergeMom = 0>>
@@ -75,7 +75,7 @@
 		<<if $PC.skin == $mergeDad.skin>>
 			<<set $activeSlave.skin = $PC.skin>>
 		<<else>>
-			<<GenSkinTone $PC, $mergeDad>>
+			<<GenSkinTone $PC $mergeDad>>
 		<</if>>
 		<<if $PC.eyeColor == $mergeDad.eyeColor>>
 			<<set $activeSlave.eyeColor = $PC.eyeColor>>
@@ -184,7 +184,7 @@
 		<<if $PC.skin == $mergeDad.skin>>
 			<<set $activeSlave.skin = $PC.skin>>
 		<<else>>
-			<<GenSkinTone $PC, $mergeDad>>
+			<<GenSkinTone $PC $mergeDad>>
 		<</if>>
 		<<if $PC.eyeColor == $mergeDad.eyeColor>>
 			<<set $activeSlave.eyeColor = $PC.eyeColor>>
@@ -287,7 +287,7 @@
 	<<if $mergeMom.skin == $mergeDad.skin>>
 		<<set $activeSlave.skin = $mergeMom.skin>>
 	<<else>>
-		<<GenSkinTone $mergeMom, $mergeDad>>
+		<<GenSkinTone $mergeMom $mergeDad>>
 	<</if>>
 	<<if $mergeMom.eyeColor == $mergeDad.eyeColor>>
 		<<set $activeSlave.eyeColor = $mergeMom.eyeColor>>
@@ -379,40 +379,44 @@
 	<<set $activeSlave.face = either(2, 2, 2, 3)>>
 	<<set $activeSlave.intelligence = either(2, 2, 2, 2, 3, 3)>>
 <<elseif $activeSlave.mother == -1>>
-	<<if $activeSlave.face < 2>>
-		<<set $activeSlave.face++>>
-	<</if>>
-	<<if $activeSlave.intelligence < 2>>
-		<<set $activeSlave.intelligence++>>
-	<</if>>
+	<<set $activeSlave.face = either(1, 2, 2, 2, 3)>>
+	<<set $activeSlave.intelligence = either(1, 2, 2, 2, 2, 3, 3)>>
 <<elseif $activeSlave.father == -1 && $mom > 0>>
 	<<if $mom.breedingMark == 1>>
 		<<set $activeSlave.face = either(2, 2, 2, 3)>>
 		<<set $activeSlave.intelligence = either(2, 2, 2, 2, 3, 3)>>
 		<<set $activeSlave.breedingMark = 1>>
 	<<else>>
-		<<if $activeSlave.face < 2>>
-			<<set $activeSlave.face++>>
-		<</if>>
-		<<if $activeSlave.intelligence < 2>>
-			<<set $activeSlave.intelligence++>>
-		<</if>>
+		<<set $activeSlave.face = either(1, 2, 2, 2, 3)>>
+		<<set $activeSlave.intelligence = either(1, 2, 2, 2, 2, 3, 3)>>
 	<</if>>
 <<elseif $activeSlave.father == -1>>
 	<<if $activeSlave.face < 2>>
-		<<set $activeSlave.face++>>
+		<<set $activeSlave.face += 1>>
 	<</if>>
 	<<if $activeSlave.intelligence < 2>>
-		<<set $activeSlave.intelligence++>>
+		<<set $activeSlave.intelligence += 1>>
 	<</if>>
 <<else>>
-	<<set $activeSlave.face to random($mergeDad.face, $mergeMom.face)>>
+	<<if $mergeDad.face < $mergeMom.face>>
+		<<set $activeSlave.face to random($mergeDad.face, $mergeMom.face)>>
+	<<elseif $mergeDad.face > $mergeMom.face>>
+		<<set $activeSlave.face to random($mergeMom.face, $mergeDad.face)>>
+	<<else>>
+		<<set $activeSlave.face to $mergeMom.face>>
+	<</if>>
 	<<if $activeSlave.face > -3 && random(1,100) < 90>>
-		<<set $activeSlave.face-->>
+		<<set $activeSlave.face -= 1>>
+	<</if>>
+	<<if $mergeDad.intelligence < $mergeMom.intelligence>>
+		<<set $activeSlave.intelligence to random($mergeDad.intelligence, $mergeMom.intelligence)>>
+	<<elseif $mergeDad.intelligence > $mergeMom.intelligence>>
+		<<set $activeSlave.intelligence to random($mergeMom.intelligence, $mergeDad.intelligence)>>
+	<<else>>
+		<<set $activeSlave.intelligence to $mergeMom.intelligence>>
 	<</if>>
-	<<set $activeSlave.intelligence to random($mergeDad.intelligence, $mergeMom.intelligence)>>
 	<<if $activeSlave.intelligence > -3 && random(1,100) < 90>>
-		<<set $activeSlave.intelligence-->>
+		<<set $activeSlave.intelligence -= 1>>
 	<</if>>
 <</if>>
 
diff --git a/src/pregmod/newChildIntro.tw b/src/pregmod/newChildIntro.tw
index 15b27ad07fc127b882080b6243d0976678231622..dd6b673b515e935c81ca3e64dbe947e484c76fe3 100644
--- a/src/pregmod/newChildIntro.tw
+++ b/src/pregmod/newChildIntro.tw
@@ -63,7 +63,7 @@ You completed the legalities before heading to $incubatorName, knowing the tank
 			<<if $slaves[_j].ID == $Concubine.ID>>
 				<br><<click "Permit your Concubine to name her daughter">>
 					<<replace "#naming">>
-						<<ParentNames $slaves[_j], $activeSlave>>
+						<<ParentNames $slaves[_j] $activeSlave>>
 						After some careful consideration, $slaves[_j].slaveName picks a name she thinks you might find attractive; from now on her daughter will be known as "<<print $activeSlave.slaveName>>".
 					<</replace>>
 					<<replace "#newName">>
@@ -74,7 +74,7 @@ You completed the legalities before heading to $incubatorName, knowing the tank
 			<<elseif $slaves[_j].relationship == -4>>
 				<br><<click "Permit your wife to name her daughter">>
 					<<replace "#naming">>
-						<<ParentNames $slaves[_j], $activeSlave>>
+						<<ParentNames $slaves[_j] $activeSlave>>
 						After some careful consideration, $slaves[_j].slaveName picks a name suitable for your daughter; from now on she will be known as "<<print $activeSlave.slaveName>>".
 					<</replace>>
 					<<replace "#newName">>
@@ -85,7 +85,7 @@ You completed the legalities before heading to $incubatorName, knowing the tank
 			<<elseif $slaves[_j].ID == $Bodyguard.ID>>
 				<br><<click "Permit your bodyguard to name her daughter">>
 					<<replace "#naming">>
-						<<ParentNames $slaves[_j], $activeSlave>>
+						<<ParentNames $slaves[_j] $activeSlave>>
 						After some careful consideration, $slaves[_j].slaveName decides on "<<print $activeSlave.slaveName>>" for her daughter. She hopes you'll find it fitting her station.
 					<</replace>>
 					<<replace "#newName">>
@@ -96,7 +96,7 @@ You completed the legalities before heading to $incubatorName, knowing the tank
 			<<elseif $slaves[_j].ID == $HeadGirl.ID>>
 				<br><<click "Permit your headgirl to name her daughter">>
 					<<replace "#naming">>
-						<<ParentNames $slaves[_j], $activeSlave>>
+						<<ParentNames $slaves[_j] $activeSlave>>
 						After some careful consideration, $slaves[_j].slaveName decides on "<<print $activeSlave.slaveName>>" for her daughter. and hopes it will be a name your other slaves will learn to respect.
 					<</replace>>
 					<<replace "#newName">>
@@ -107,7 +107,7 @@ You completed the legalities before heading to $incubatorName, knowing the tank
 			<<elseif $slaves[_j].devotion > 50 && slaves[_j].trust > 50>>
 				<br><<click "Permit her devoted mother to name her daughter">>
 					<<replace "#naming">>
-						<<ParentNames $slaves[_j], $activeSlave>>
+						<<ParentNames $slaves[_j] $activeSlave>>
 						After some careful consideration, $slaves[_j].slaveName picks a name she hopes you'll like; from now on her daughter will be known as "<<print $activeSlave.slaveName>>".
 					<</replace>>
 					<<replace "#newName">>
@@ -125,7 +125,7 @@ You completed the legalities before heading to $incubatorName, knowing the tank
 			<<if $slaves[_j].ID == $Concubine.ID>>
 				<br><<click "Permit your Concubine to name her daughter">>
 					<<replace "#naming">>
-						<<ParentNames $slaves[_j], $activeSlave>>
+						<<ParentNames $slaves[_j] $activeSlave>>
 						After some careful consideration, $slaves[_j].slaveName picks a name she thinks you might find attractive; from now on her daughter will be known as "<<print $activeSlave.slaveName>>".
 					<</replace>>
 					<<replace "#newName">>
@@ -136,7 +136,7 @@ You completed the legalities before heading to $incubatorName, knowing the tank
 			<<elseif $slaves[_j].relationship == -4>>
 				<br><<click "Permit your wife to name her daughter">>
 					<<replace "#naming">>
-						<<ParentNames $slaves[_j], $activeSlave>>
+						<<ParentNames $slaves[_j] $activeSlave>>
 						After some careful consideration, $slaves[_j].slaveName picks a name suitable for your daughter; from now on she will be known as "<<print $activeSlave.slaveName>>".
 					<</replace>>
 					<<replace "#newName">>
@@ -147,7 +147,7 @@ You completed the legalities before heading to $incubatorName, knowing the tank
 			<<elseif $slaves[_j].ID == $Bodyguard.ID>>
 				<br><<click "Permit your bodyguard to name her daughter">>
 					<<replace "#naming">>
-						<<ParentNames $slaves[_j], $activeSlave>>
+						<<ParentNames $slaves[_j] $activeSlave>>
 						After some careful consideration, $slaves[_j].slaveName decides on "<<print $activeSlave.slaveName>>" for her daughter. She hopes you'll find it fitting her station.
 					<</replace>>
 					<<replace "#newName">>
@@ -158,7 +158,7 @@ You completed the legalities before heading to $incubatorName, knowing the tank
 			<<elseif $slaves[_j].ID == $HeadGirl.ID>>
 				<br><<click "Permit your headgirl to name her daughter">>
 					<<replace "#naming">>
-						<<ParentNames $slaves[_j], $activeSlave>>
+						<<ParentNames $slaves[_j] $activeSlave>>
 						After some careful consideration, $slaves[_j].slaveName decides on "<<print $activeSlave.slaveName>>" for her daughter. and hopes it will be a name your other slaves will learn to respect.
 					<</replace>>
 					<<replace "#newName">>
@@ -169,7 +169,7 @@ You completed the legalities before heading to $incubatorName, knowing the tank
 			<<elseif $slaves[_j].devotion > 50 && slaves[_j].trust > 50>>
 				<br><<click "Permit her devoted mother to name her daughter">>
 					<<replace "#naming">>
-						<<ParentNames $slaves[_j], $activeSlave>>
+						<<ParentNames $slaves[_j] $activeSlave>>
 						After some careful consideration, $slaves[_j].slaveName picks a name she hopes you'll like; from now on her daughter will be known as "<<print $activeSlave.slaveName>>".
 					<</replace>>
 					<<replace "#newName">>
diff --git a/src/pregmod/pregmodWidgets.tw b/src/pregmod/pregmodWidgets.tw
index 2b1dbfb45e3d14cc37563696adb3642b489f75ac..9d9e35fe0796d0fa4bac72fd15cc0a209e099fb1 100644
--- a/src/pregmod/pregmodWidgets.tw
+++ b/src/pregmod/pregmodWidgets.tw
@@ -115,6 +115,12 @@
 <<if ndef $args[0].choosesOwnChastity>>
 	<<set $args[0].choosesOwnChastity = 0>>
 <</if>>
+<<if ndef $PC.intelligence>>
+	<<set $PC.intelligence = 3>>
+<</if>>
+<<if ndef $PC.face>>
+	<<set $PC.face = 3>>
+<</if>>
 
 <<if ndef $args[0].pubertyXX>>
 	<<if $args[0].physicalAge >= $args[0].pubertyAgeXX>>
@@ -878,7 +884,7 @@ extremely pale -5
 <<case 1>>
 	<<set $activeSlave.skin = "pale">>
 <<case 0>>
-	<<set _skin1 = "extremely pale">>
+	<<set $activeSlave.skin = "extremely pale">>
 <<default>>
 	<<set $activeSlave.skin = either($args[0].skin, $args[1].skin)>>
 <</switch>>
diff --git a/src/uncategorized/saRelationships.tw b/src/uncategorized/saRelationships.tw
index d3890d7b940ad29cca0f3cb005a60f427bff6b74..e7bd01d861a7e1f5a91e6ac0027f546542e5a3f9 100644
--- a/src/uncategorized/saRelationships.tw
+++ b/src/uncategorized/saRelationships.tw
@@ -1,7 +1,7 @@
 :: SA relationships [nobr]
 
-<<set _SL = $slaves.length, _SlaveI = $slaves[$i], _SlaveJ = null, _J = -1, _K = -1>>
-<<if _SlaveI.fuckdoll == 0>>
+<<if $slaves[$i].fuckdoll == 0>>
+	<<set _SL = $slaves.length, _SlaveI = $slaves[$i], _SlaveJ = null, _J = -1, _K = -1, drop = 0>>
 	<<if _SlaveI.relationship == 0>>
 		<<if (_SlaveI.devotion + _SlaveI.trust > 175) && (random(1,3) == 1)>>
 			_SlaveI.slaveName is quite devoted to you, and trusts both you and her place as a slave. Since she does not have a strong relationship with another slave,
@@ -39,7 +39,7 @@
 					<<if (_SlaveJ.ID != _SlaveI.ID)>>
 					<<if _SlaveJ.fetish != "mindbroken">>
 						_SlaveI.slaveName greets _SlaveJ.slaveName with joy. It's not clear whether they ever knew each other during their lives as Futanari Sisters, but it seems that they believe themselves to be in a relationship by simple virtue of having been Sisters. In any case, _SlaveI.slaveName and _SlaveJ.slaveName @@color:lightgreen;become inseparable lovers@@ instantly, as though there's no possibility they would do anything else. They're even surprised when other slaves ask them about it; it's as though they're unaware that other possibilities even exist.
-						<<set _SlaveJ.relationship = 4, _SlaveJ.relationshipTarget = _SlaveI.ID, _SlaveI.relationship = 4, _SlaveI.relationshipTarget = _SlaveJ.ID, _J = _j>>
+						<<set _SlaveJ.relationship = 4, _SlaveJ.relationshipTarget = _SlaveI.ID, _SlaveI.relationship = 4, _SlaveI.relationshipTarget = _SlaveJ.ID>>
 						<<break>>
 					<</if>>
 					<</if>>
@@ -63,7 +63,7 @@
 							<</if>>
 						<</for>>
 						<</if>>
-						<<set _SlaveJ.relationship = 4, _SlaveJ.relationshipTarget = _SlaveI.ID, _SlaveI.relationship = 4, _SlaveI.relationshipTarget = _SlaveJ.ID, _J = _j>>
+						<<set _SlaveJ.relationship = 4, _SlaveJ.relationshipTarget = _SlaveI.ID, _SlaveI.relationship = 4, _SlaveI.relationshipTarget = _SlaveJ.ID>>
 						<<break>>
 					<</if>>
 					<</if>>
@@ -87,7 +87,7 @@
 					<<if (_SlaveI.assignment == "work in the brothel") && (_SlaveJ.ID == $Madam.ID)>>
 						<<if _SlaveJ.relationshipRules != "restrictive">>
 							_SlaveI.slaveName manages to ingratiate herself with the Madam, _SlaveJ.slaveName. The two slaves have @@color:lightgreen;struck up a friendship.@@
-							<<set _SlaveJ.relationship = 1, _SlaveJ.relationshipTarget = _SlaveI.ID, _SlaveI.relationship = 1, _SlaveI.relationshipTarget = _SlaveJ.ID, _J = _j>>
+							<<set _SlaveJ.relationship = 1, _SlaveJ.relationshipTarget = _SlaveI.ID, _SlaveI.relationship = 1, _SlaveI.relationshipTarget = _SlaveJ.ID>>
 							<<break>>
 						<<else>>
 							<<if _SlaveI.devotion < -20>>
@@ -98,7 +98,7 @@
 					<<elseif (_SlaveI.assignment == "serve in the club") && (_SlaveJ.ID is $DJ.ID)>>
 						<<if _SlaveJ.relationshipRules != "restrictive">>
 							_SlaveI.slaveName manages to ingratiate herself with the DJ, _SlaveJ.slaveName. The two slaves have @@color:lightgreen;struck up a friendship.@@
-							<<set _SlaveJ.relationship = 1, _SlaveJ.relationshipTarget = _SlaveI.ID, _SlaveI.relationship = 1, _SlaveI.relationshipTarget = _SlaveJ.ID, _J = _j>>
+							<<set _SlaveJ.relationship = 1, _SlaveJ.relationshipTarget = _SlaveI.ID, _SlaveI.relationship = 1, _SlaveI.relationshipTarget = _SlaveJ.ID>>
 							<<break>>
 						<<else>>
 							<<if _SlaveI.devotion < -20>>
@@ -109,7 +109,7 @@
 					<<elseif (_SlaveI.assignment == "work in the dairy") && (_SlaveJ.ID == $Milkmaid.ID)>>
 						<<if _SlaveJ.relationshipRules != "restrictive">>
 							_SlaveI.slaveName manages to ingratiate herself with the Milkmaid, _SlaveJ.slaveName. The two slaves have @@color:lightgreen;struck up a friendship.@@
-							<<set _SlaveJ.relationship = 1, _SlaveJ.relationshipTarget = _SlaveI.ID, _SlaveI.relationship = 1, _SlaveI.relationshipTarget = _SlaveJ.ID, _J = _j>>
+							<<set _SlaveJ.relationship = 1, _SlaveJ.relationshipTarget = _SlaveI.ID, _SlaveI.relationship = 1, _SlaveI.relationshipTarget = _SlaveJ.ID>>
 							<<break>>
 						<<else>>
 							<<if _SlaveI.devotion < -20>>
@@ -120,7 +120,7 @@
 					<<elseif (_SlaveI.assignment == "learn in the schoolroom") && (_SlaveJ.ID == $Schoolteacher.ID)>>
 						<<if _SlaveJ.relationshipRules != "restrictive">>
 							_SlaveI.slaveName manages to ingratiate herself with the Schoolteacher, _SlaveJ.slaveName. The two slaves have @@color:lightgreen;struck up a friendship.@@
-							<<set _SlaveJ.relationship = 1, _SlaveJ.relationshipTarget = _SlaveI.ID, _SlaveI.relationship = 1, _SlaveI.relationshipTarget = _SlaveJ.ID, _J = _j>>
+							<<set _SlaveJ.relationship = 1, _SlaveJ.relationshipTarget = _SlaveI.ID, _SlaveI.relationship = 1, _SlaveI.relationshipTarget = _SlaveJ.ID>>
 							<<break>>
 						<<else>>
 							<<if _SlaveI.devotion < -20>>
@@ -131,7 +131,7 @@
 					<<elseif (_SlaveI.assignment == "rest in the spa") && (_SlaveJ.ID == $Attendant.ID)>>
 						<<if _SlaveJ.relationshipRules != "restrictive">>
 							_SlaveI.slaveName basks in the affection and care of the spa attendant, _SlaveJ.slaveName. The two slaves have @@color:lightgreen;struck up a friendship.@@
-							<<set _SlaveJ.relationship = 1, _SlaveJ.relationshipTarget = _SlaveI.ID, _SlaveI.relationship = 1, _SlaveI.relationshipTarget = _SlaveJ.ID, _J = _j>>
+							<<set _SlaveJ.relationship = 1, _SlaveJ.relationshipTarget = _SlaveI.ID, _SlaveI.relationship = 1, _SlaveI.relationshipTarget = _SlaveJ.ID>>
 							<<break>>
 						<<else>>
 							<<if _SlaveI.devotion < -20>>
@@ -142,7 +142,7 @@
 					<<elseif (_SlaveI.assignment == "work as a servant") && (_SlaveJ.ID == $Stewardess.ID)>>
 						<<if _SlaveJ.relationshipRules != "restrictive">>
 							_SlaveI.slaveName manages to ingratiate herself with the Stewardess, _SlaveJ.slaveName. The two slaves have @@color:lightgreen;struck up a friendship.@@
-							<<set _SlaveJ.relationship = 1, _SlaveJ.relationshipTarget = _SlaveI.ID, _SlaveI.relationship = 1, _SlaveI.relationshipTarget = _SlaveJ.ID, _J = _j>>
+							<<set _SlaveJ.relationship = 1, _SlaveJ.relationshipTarget = _SlaveI.ID, _SlaveI.relationship = 1, _SlaveI.relationshipTarget = _SlaveJ.ID>>
 							<<break>>
 						<<else>>
 							<<if _SlaveI.devotion < -20>>
@@ -153,7 +153,7 @@
 					<<elseif (_SlaveI.assignment == "be confined in the cellblock") && (_SlaveJ.ID == $Wardeness.ID)>>
 						<<if _SlaveJ.relationshipRules != "restrictive">>
 							_SlaveI.slaveName manages to earn the respect of the Wardeness, _SlaveJ.slaveName. The two slaves have @@color:lightgreen;struck up a friendship.@@
-							<<set _SlaveJ.relationship = 1, _SlaveJ.relationshipTarget = _SlaveI.ID, _SlaveI.relationship = 1, _SlaveI.relationshipTarget = _SlaveJ.ID, _J = _j>>
+							<<set _SlaveJ.relationship = 1, _SlaveJ.relationshipTarget = _SlaveI.ID, _SlaveI.relationship = 1, _SlaveI.relationshipTarget = _SlaveJ.ID>>
 							<<break>>
 						<<else>>
 							<<if _SlaveI.devotion < -20>>
@@ -164,7 +164,7 @@
 					<<elseif (_SlaveI.assignment == "serve in the master suite") && (_SlaveJ.ID == $Concubine.ID)>>
 						<<if _SlaveJ.relationshipRules != "restrictive">>
 							_SlaveI.slaveName becomes especially close to the Concubine, _SlaveJ.slaveName. The two slaves have @@color:lightgreen;struck up a friendship.@@
-							<<set _SlaveJ.relationship = 1, _SlaveJ.relationshipTarget = _SlaveI.ID, _SlaveI.relationship = 1, _SlaveI.relationshipTarget = _SlaveJ.ID, _J = _j>>
+							<<set _SlaveJ.relationship = 1, _SlaveJ.relationshipTarget = _SlaveI.ID, _SlaveI.relationship = 1, _SlaveI.relationshipTarget = _SlaveJ.ID>>
 							<<break>>
 						<<else>>
 							<<if _SlaveI.devotion < -20>>
@@ -176,7 +176,7 @@
 						<<if random(1, 100) > 50>>
 						<<if _SlaveJ.relationshipRules != "restrictive">>
 							_SlaveI.slaveName and _SlaveJ.slaveName see a lot of each other at work and @@color:lightgreen;strike up a friendship.@@
-							<<set _SlaveJ.relationship = 1, _SlaveJ.relationshipTarget = _SlaveI.ID, _SlaveI.relationship = 1, _SlaveI.relationshipTarget = _SlaveJ.ID, _J = _j>>
+							<<set _SlaveJ.relationship = 1, _SlaveJ.relationshipTarget = _SlaveI.ID, _SlaveI.relationship = 1, _SlaveI.relationshipTarget = _SlaveJ.ID>>
 							<<break>>
 						<<else>>
 							<<if $resentment == 0>>
@@ -190,7 +190,7 @@
 						<<if (_SlaveI.releaseRules != "restrictive")>>
 							<<if _SlaveJ.relationshipRules == "permissive">>
 								_SlaveI.slaveName and _SlaveJ.slaveName share sexual inclinations, so it's only natural that they @@color:lightgreen;become friends with benefits.@@
-								<<set _SlaveJ.relationship = 3, _SlaveJ.relationshipTarget = _SlaveI.ID, _SlaveI.relationship = 3, _SlaveI.relationshipTarget = _SlaveJ.ID, _J = _j>>
+								<<set _SlaveJ.relationship = 3, _SlaveJ.relationshipTarget = _SlaveI.ID, _SlaveI.relationship = 3, _SlaveI.relationshipTarget = _SlaveJ.ID>>
 								<<break>>
 							<<else>>
 								_SlaveI.slaveName tries to strike up a sexual relationship with _SlaveJ.slaveName and is @@color:gold;punished@@ for breaking the rules against such things; she @@color:mediumorchid;resents@@ being prevented from pursuing her.
@@ -206,26 +206,28 @@
 					<</if>>
 				<</for>>
 				<<if _SlaveI.relationshipTarget != _SlaveJ.ID>>
-					<<set _SlaveJ = null, _J = -1>>
+					<<set _SlaveJ = null>>
 				<</if>>
 				<</if>>
 				<</if>>
 			<</if>>
 		<</if>>
-	<<else>> /* RELATIONSHIP IS NOT 0; NOW ON TO ONGOING RELATIONSHIPS */
-		<<if (_SlaveI.relationship > 0) || (_SlaveI.relation > 0)>>
-			<<for _j to 0; _j < _SL; _j++>>
-				<<if _SlaveI.relationshipTarget == $slaves[_j].ID>>
-					/% Also sets a few extra vars. to get rid of redundancy of possible old bug fixes? %/
-					<<set _SlaveJ = $slaves[_j], _J = _j , _SlaveJ.relationshipTarget = _SlaveI.ID, _SlaveJ.relationship = _SlaveI.relationship>>
-				<</if>>
-				<<if _SlaveI.relationTarget == $slaves[_j].ID>>
-					<<if _SlaveI.rivalryTarget != _SlaveI.relationTarget>>
-						<<set _K = _j>>
-					<</if>>
+		<<set _drop = 1>>
+	<</if>>
+	<<if (_SlaveI.relationship > 0) || (_SlaveI.relation > 0)>>
+		<<for _j to 0; _j < _SL; _j++>>
+			<<if _SlaveI.relationshipTarget == $slaves[_j].ID>>
+				/% Also sets a few extra vars. to get rid of redundancy of possible old bug fixes? %/
+				<<set _SlaveJ = $slaves[_j], _J = _j , _SlaveJ.relationshipTarget = _SlaveI.ID, _SlaveJ.relationship = _SlaveI.relationship>>
+			<</if>>
+			<<if _SlaveI.relationTarget == $slaves[_j].ID>>
+				<<if _SlaveI.rivalryTarget != _SlaveI.relationTarget>>
+					<<set _K = _j>>
 				<</if>>
-			<</for>>
-		<</if>>
+			<</if>>
+		<</for>>
+	<</if>>
+	<<if (_SlaveI.relationship != 0) && (_drop == 0)>>	/% RELATIONSHIP IS NOT 0; NOW ON TO ONGOING RELATIONSHIPS %/
 		/% Game change due to possible bug clears rivalry only if between SlaveI and SlaveJ if they are the rivals. So delete this one or the other one just below %/
 		<<if (_SlaveI.rivalry != 0 && _SlaveJ != null)>>
 			<<if _SlaveI.rivalryTarget == _SlaveI.relationshipTarget>>
@@ -1238,8 +1240,8 @@
 
 	<</if>> /* closes family mod */
 
-<</if>> /* CLOSES FUCKDOLL CHECK */
-<<set $slaves[$i] = _SlaveI>>
-<<if _SlaveJ != null>>
-	<<set $slaves[_J] = _SlaveJ>>
-<</if>>
+	<<set $slaves[$i] = _SlaveI>>
+	<<if _SlaveJ != null>>
+		<<set $slaves[_J] = _SlaveJ>>
+	<</if>>
+<</if>> /% CLOSES FUCKDOLL CHECK %/
diff --git a/src/uncategorized/saRivalries.tw b/src/uncategorized/saRivalries.tw
index 5b7cec7b19d80346bfa9b16f508158e93bfc6458..4cdefd3b139c00f494ec104338f7e2b541e5eb09 100644
--- a/src/uncategorized/saRivalries.tw
+++ b/src/uncategorized/saRivalries.tw
@@ -1,29 +1,27 @@
 :: SA rivalries [nobr]
- 
-<<if $slaves[$i].fuckdoll == 0>>
 
+<<if $slaves[$i].fuckdoll == 0>>
+<<set _SL = $slaves.length>>
 <<if $slaves[$i].rivalry == 0>>
 
 <<if $slaves[$i].fetish != "mindbroken">>
 	<<if $slaves[$i].behavioralFlaw is "none">>
-		<<set $seed to random(1,100)>>
+		<<set _seed to random(1,100)>>
 	<<else>>
-		<<set $seed to random(1,110)>>
-	<</if>>
-	<<if $seed > 90>>
-	<<for $j to 0; $j < $slaves.length; $j++>>
-		<<if $slaves[$j].ID != $slaves[$i].ID>>
-		<<if $slaves[$j].assignment is $slaves[$i].assignment>>
-		<<if $slaves[$j].assignment != "stay confined">>
-		<<if $slaves[$j].assignment != "be confined in the arcade">>
-		<<if ($slaves[$j].rivalry == 0) && ($slaves[$i].rivalry == 0)>>
-		<<if ($slaves[$i].relationshipTarget != $slaves[$j].ID)>>
-		<<if random(-100,100) > ($slaves[$j].devotion+$slaves[$i].devotion)>>
-			$slaves[$i].slaveName and $slaves[$j].slaveName see too much of each other and @@color:lightsalmon;start to dislike each other.@@
-			<<set $slaves[$j].rivalry to 1>>
-			<<set $slaves[$j].rivalryTarget to $slaves[$i].ID>>
-			<<set $slaves[$i].rivalry to 1>>
-			<<set $slaves[$i].rivalryTarget to $slaves[$j].ID>>
+		<<set _seed to random(1,110)>>
+	<</if>>
+	<<if _seed > 90>>
+	<<for _j to 0; _j < _SL; _j++>>
+		<<if $slaves[_j].assignment == $slaves[$i].assignment>>
+		<<if $slaves[_j].ID != $slaves[$i].ID>>
+		<<if $slaves[_j].assignment != "stay confined">>
+		<<if $slaves[_j].assignment != "be confined in the arcade">>
+		<<if ($slaves[_j].rivalry == 0)>>
+		<<if ($slaves[$i].relationshipTarget != $slaves[_j].ID)>>
+		<<if random(-100,100) > ($slaves[_j].devotion+$slaves[$i].devotion)>>
+			$slaves[$i].slaveName and $slaves[_j].slaveName see too much of each other and @@color:lightsalmon;start to dislike each other.@@
+			<<set $slaves[_j].rivalry to 1, $slaves[_j].rivalryTarget to $slaves[$i].ID>>
+			<<set $slaves[$i].rivalry to 1, $slaves[$i].rivalryTarget to $slaves[_j].ID>>
 		<</if>>
 		<</if>>
 		<</if>>
@@ -36,166 +34,87 @@
 <</if>>
 
 <<else>>
-
-<<if $slaves[$i].fetish is "mindbroken">>
-
-Since she is mindbroken, she @@color:lightsalmon;can't really maintain@@ any meaningful rivalry with
-<<for $j to 0; $j < $slaves.length; $j++>>
-	<<if $slaves[$j].ID is $slaves[$i].rivalryTarget>>
-		$slaves[$j].slaveName.
-		<<set $slaves[$j].rivalry to 0>>
-		<<set $slaves[$j].rivalryTarget to 0>>
-		<<break>>
-	<</if>>
+<<set _SlaveJ = null>>
+<<for _j = 0; _j < _SL; _j++>>
+<<if $slaves[_j].ID is $slaves[$i].rivalryTarget>>
+	<<set _SlaveJ = $slaves[_j]>>
+	<<break>>
+<</if>>
 <</for>>
-<<set $slaves[$i].rivalry to 0>>
-<<set $slaves[$i].rivalryTarget to 0>>
 
+<<if _SlaveJ != null>>
+
+<<if $slaves[$i].fetish is "mindbroken">>
+	Since she is mindbroken, she @@color:lightsalmon;can't really maintain@@ any meaningful rivalry with _SlaveJ.slaveName.
+	<<set_SlaveJ.rivalry to 0,_SlaveJ.rivalryTarget to 0>>
+	<<set $slaves[$i].rivalry to 0, $slaves[$i].rivalryTarget to 0>>
 <<else>>
 
 <<if (random(1,100) > 70)>>
-	<<for $j to 0; $j < $slaves.length; $j++>>
-	<<if $slaves[$j].ID is $slaves[$i].rivalryTarget>>
-	<<if ($slaves[$j].assignment != $slaves[$i].assignment) && ($slaves[$i].subTarget != $slaves[$j].ID) && ($slaves[$j].subTarget != $slaves[$i].ID)>>
-		With time apart $slaves[$i].slaveName and $slaves[$j].slaveName @@color:lightgreen;dislike each other less.@@
-		<<set $slaves[$j].rivalry -= 1>>
-		<<set $slaves[$i].rivalry -= 1>>
-	<<elseif ($slaves[$j].fetish is $slaves[$i].fetish) && ($slaves[$j].fetishKnown == 1) && ($slaves[$i].fetishKnown == 1)>>
-		$slaves[$i].slaveName and $slaves[$j].slaveName share sexual interests, and in the sexual atmosphere of the arcology, it's @@color:lightgreen;difficult for them to keep up their dislike@@ of one another with the mutual attraction.
-		<<set $slaves[$j].rivalry -= 1>>
-		<<set $slaves[$i].rivalry -= 1>>
-	<<elseif ($slaves[$j].devotion > 50) && ($slaves[$i].devotion > 50)>>
-		Since both $slaves[$i].slaveName and $slaves[$j].slaveName are devoted to you, they work together to @@color:lightgreen;get over their feud,@@ since it gets in the way of their duties.
-		<<set $slaves[$j].rivalry -= 1>>
-		<<set $slaves[$i].rivalry -= 1>>
-	<<elseif ($slaves[$j].trust < -20) && ($slaves[$i].devotion < -20)>>
-		Since both $slaves[$i].slaveName and $slaves[$j].slaveName are terrified of you, they work together to @@color:lightgreen;get over their feud,@@ since it brings punishment on both of them.
-		<<set $slaves[$j].rivalry -= 1>>
-		<<set $slaves[$i].rivalry -= 1>>
-	<<elseif ($slaves[$j].ID is $slaves[$i].relationshipTarget) && ($slaves[$i].relationship > 3)>>
-		<<set $slaves[$j].rivalry to 0>>
-		<<set $slaves[$j].rivalryTarget to 0>>
-		<<set $slaves[$i].rivalry to 0>>
-		<<set $slaves[$i].rivalryTarget to 0>>
+	<<if (_SlaveJ.assignment != $slaves[$i].assignment) && ($slaves[$i].subTarget != _SlaveJ.ID) && (_SlaveJ.subTarget != $slaves[$i].ID)>>
+		With time apart $slaves[$i].slaveName and _SlaveJ.slaveName @@color:lightgreen;dislike each other less.@@
+		<<set _SlaveJ.rivalry -= 1, $slaves[$i].rivalry -= 1>>
+	<<elseif (_SlaveJ.fetish is $slaves[$i].fetish) && (_SlaveJ.fetishKnown == 1) && ($slaves[$i].fetishKnown == 1)>>
+		$slaves[$i].slaveName and _SlaveJ.slaveName share sexual interests, and in the sexual atmosphere of the arcology, it's @@color:lightgreen;difficult for them to keep up their dislike@@ of one another with the mutual attraction.
+		<<set _SlaveJ.rivalry -= 1, $slaves[$i].rivalry -= 1>>
+	<<elseif (_SlaveJ.devotion > 50) && ($slaves[$i].devotion > 50)>>
+		Since both $slaves[$i].slaveName and _SlaveJ.slaveName are devoted to you, they work together to @@color:lightgreen;get over their feud,@@ since it gets in the way of their duties.
+		<<set _SlaveJ.rivalry -= 1, $slaves[$i].rivalry -= 1>>
+	<<elseif (_SlaveJ.trust < -20) && ($slaves[$i].devotion < -20)>>
+		Since both $slaves[$i].slaveName and _SlaveJ.slaveName are terrified of you, they work together to @@color:lightgreen;get over their feud,@@ since it brings punishment on both of them.
+		<<set _SlaveJ.rivalry -= 1, $slaves[$i].rivalry -= 1>>
+	<<elseif (_SlaveJ.ID is $slaves[$i].relationshipTarget) && ($slaves[$i].relationship > 3)>>
+		<<set _SlaveJ.rivalry to 0, _SlaveJ.rivalryTarget to 0>>
+		<<set $slaves[$i].rivalry to 0, $slaves[$i].rivalryTarget to 0>>
 	<<elseif (random(1,100) > 70)>>
-		$slaves[$i].slaveName and $slaves[$j].slaveName's @@color:lightgreen;feud dissipates a little.@@
-		<<set $slaves[$j].rivalry -= 1>>
-		<<set $slaves[$i].rivalry -= 1>>
-	<</if>>
-	<<break>>
-	<</if>>
-	<</for>>
-<<elseif $familyTesting == 1 && ($slaves[$i].mother > 0 || $slaves[$i].father > 0 || $slaves[$i].daughters > 0 || $slaves[$i].sisters > 0) && (random(1,100) > 80)>>
-	<<for $j to 0; $j < $slaves.length; $j++>>
-	<<if $slaves[$j].ID is $slaves[$i].rivalryTarget>>
-		$slaves[$i].slaveName and $slaves[$j].slaveName @@color:lightsalmon;pursue their family rivalry.@@
-		<<set $slaves[$j].rivalry += 1>>
-		<<set $slaves[$i].rivalry += 1>>
-		<<break>>
+		$slaves[$i].slaveName and _SlaveJ.slaveName's @@color:lightgreen;feud dissipates a little.@@
+		<<set _SlaveJ.rivalry -= 1, $slaves[$i].rivalry -= 1>>
 	<</if>>
-	<</for>>
+<<elseif $familyTesting == 1 && totalRelatives($slaves[$i]) > 0 && (random(1,100) > 80)>>
+		$slaves[$i].slaveName and_SlaveJ.slaveName @@color:lightsalmon;pursue their family rivalry.@@
+		<<set _SlaveJ.rivalry -= 1, $slaves[$i].rivalry -= 1>>
 <<elseif ($slaves[$i].relation != 0) && ($slaves[$i].relationTarget is $slaves[$i].rivalryTarget) && (random(1,100) > 80)>>
-	<<for $j to 0; $j < $slaves.length; $j++>>
-	<<if $slaves[$j].ID is $slaves[$i].rivalryTarget>>
-		$slaves[$i].slaveName and $slaves[$j].slaveName @@color:lightsalmon;pursue their family rivalry.@@
-		<<set $slaves[$j].rivalry += 1>>
-		<<set $slaves[$i].rivalry += 1>>
-		<<break>>
-	<</if>>
-	<</for>>
-<<elseif $familyTesting == 1 && ($slaves[$i].mother > 0 || $slaves[$i].father > 0 || $slaves[$i].daughters > 0 || $slaves[$i].sisters > 0) && (random(1,100) > 80)>>
-	<<for $j to 0; $j < $slaves.length; $j++>>
-	<<if $slaves[$j].ID is $slaves[$i].rivalryTarget>>
-		$slaves[$i].slaveName and $slaves[$j].slaveName @@color:lightgreen;patch up their family relationship.@@
-		<<set $slaves[$j].rivalry -= 1>>
-		<<set $slaves[$i].rivalry -= 1>>
-		<<break>>
-	<</if>>
-	<</for>>
+	$slaves[$i].slaveName and _SlaveJ.slaveName @@color:lightsalmon;pursue their family rivalry.@@
+	<<set _SlaveJ.rivalry += 1, $slaves[$i].rivalry += 1>>
+<<elseif $familyTesting == 1 && totalRelatives($slaves[$i]) > 0 && (random(1,100) > 80)>>
+		$slaves[$i].slaveName and _SlaveJ.slaveName @@color:lightgreen;patch up their family relationship.@@
+		<<set _SlaveJ.rivalry -= 1, $slaves[$i].rivalry -= 1>>
 <<elseif ($slaves[$i].relation != 0) && ($slaves[$i].relationTarget is $slaves[$i].rivalryTarget) && (random(1,100) > 80)>>
-	<<for $j to 0; $j < $slaves.length; $j++>>
-	<<if $slaves[$j].ID is $slaves[$i].rivalryTarget>>
-		$slaves[$i].slaveName and $slaves[$j].slaveName @@color:lightgreen;patch up their family relationship.@@
-		<<set $slaves[$j].rivalry -= 1>>
-		<<set $slaves[$i].rivalry -= 1>>
-		<<break>>
-	<</if>>
-	<</for>>
+	$slaves[$i].slaveName and _SlaveJ.slaveName @@color:lightgreen;patch up their family relationship.@@
+	<<set _SlaveJ.rivalry -= 1, $slaves[$i].rivalry -= 1>>
 <<elseif ($slaves[$i].energy > 95) && (random(1,100) > 60)>>
-	<<for $j to 0; $j < $slaves.length; $j++>>
-	<<if $slaves[$j].ID is $slaves[$i].rivalryTarget>>
-		$slaves[$i].slaveName lusts after $slaves[$j].slaveName, and does everything she can to @@color:lightgreen;patch up their differences.@@
-		<<set $slaves[$j].rivalry -= 1>>
-		<<set $slaves[$i].rivalry -= 1>>
-		<<break>>
-	<</if>>
-	<</for>>
+	$slaves[$i].slaveName lusts after _SlaveJ.slaveName, and does everything she can to @@color:lightgreen;patch up their differences.@@
+	<<set _SlaveJ.rivalry -= 1, $slaves[$i].rivalry -= 1>>
 <<elseif ($slaves[$i].attrXX > 85) && (random(1,100) > 70)>>
-	<<for $j to 0; $j < $slaves.length; $j++>>
-	<<if $slaves[$j].ID is $slaves[$i].rivalryTarget>>
-	<<if ($slaves[$j].vagina > -1) || ($slaves[$j].faceShape != "masculine")>>
-		$slaves[$i].slaveName lusts after $slaves[$j].slaveName, and does everything she can to @@color:lightgreen;patch up their differences.@@
-		<<set $slaves[$j].rivalry -= 1>>
-		<<set $slaves[$i].rivalry -= 1>>
-		<<break>>
-	<</if>>
+	<<if (_SlaveJ.vagina > -1) || (_SlaveJ.faceShape != "masculine")>>
+		$slaves[$i].slaveName lusts after _SlaveJ.slaveName, and does everything she can to @@color:lightgreen;patch up their differences.@@
+		<<set _SlaveJ.rivalry -= 1, $slaves[$i].rivalry -= 1>>
 	<</if>>
-	<</for>>
 <<elseif ($slaves[$i].attrXY > 85) && (random(1,100) > 70)>>
-	<<for $j to 0; $j < $slaves.length; $j++>>
-	<<if $slaves[$j].ID is $slaves[$i].rivalryTarget>>
-	<<if ($slaves[$j].balls > 0) || ($slaves[$j].faceShape is "masculine")>>
-		$slaves[$i].slaveName lusts after $slaves[$j].slaveName, and does everything she can to @@color:lightgreen;patch up their differences.@@
-		<<set $slaves[$j].rivalry -= 1>>
-		<<set $slaves[$i].rivalry -= 1>>
-		<<break>>
-	<</if>>
+	<<if (_SlaveJ.balls > 0) || (_SlaveJ.faceShape is "masculine")>>
+		$slaves[$i].slaveName lusts after _SlaveJ.slaveName, and does everything she can to @@color:lightgreen;patch up their differences.@@
+		<<set _SlaveJ.rivalry -= 1, $slaves[$i].rivalry -= 1>>
 	<</if>>
-	<</for>>
 <<elseif (random(1,100) > 90)>>
-	<<for $j to 0; $j < $slaves.length; $j++>>
-	<<if $slaves[$j].ID is $slaves[$i].rivalryTarget>>
-		$slaves[$i].slaveName and $slaves[$j].slaveName @@color:lightsalmon;bicker@@ and indulge their rivalry whenever they can.
-		<<set $slaves[$j].rivalry += 1>>
-		<<set $slaves[$i].rivalry += 1>>
-		<<break>>
-	<</if>>
-	<</for>>
+	$slaves[$i].slaveName and _SlaveJ.slaveName @@color:lightsalmon;bicker@@ and indulge their rivalry whenever they can.
+	<<set _SlaveJ.rivalry += 1, $slaves[$i].rivalry += 1>>
 <<elseif (random(1,100) > 90)>>
-	<<for $j to 0; $j < $slaves.length; $j++>>
-	<<if $slaves[$j].ID is $slaves[$i].rivalryTarget>>
-		$slaves[$i].slaveName and $slaves[$j].slaveName manage to @@color:lightgreen;de-escalate their little feud.@@
-		<<set $slaves[$j].rivalry -= 1>>
-		<<set $slaves[$i].rivalry -= 1>>
-		<<break>>
-	<</if>>
-	<</for>>
+	$slaves[$i].slaveName and _SlaveJ.slaveName manage to @@color:lightgreen;de-escalate their little feud.@@
+	<<set _SlaveJ.rivalry -= 1, $slaves[$i].rivalry -= 1>>
 <</if>>
-
+<</if>>
+<<set $slaves[_j] = _SlaveJ>>
 <</if>>
 <</if>>
 
 <<if $slaves[$i].rivalry != 0>>
-	<<set $seed to 0>>
-	<<for $j to 0; $j < $slaves.length; $j++>>
-	<<if $slaves[$j].ID is $slaves[$i].rivalryTarget>>
-	<<if $slaves[$i].ID is $slaves[$j].rivalryTarget>>
-		<<set $seed to 1>>
-		<<break>>
-	<</if>>
-	<</if>>
-	<</for>>
-	<<if $seed == 0>>
-	<<for $j to 0; $j < $slaves.length; $j++>>
-		<<if $slaves[$j].ID is $slaves[$i].rivalryTarget>>
-		<<set $slaves[$j].rivalry to 0>>
-		<<set $slaves[$j].rivalryTarget to 0>>
+<<for _j to 0; _j < _SL; _j++>>
+	<<if ($slaves[_j].ID == $slaves[$i].rivalryTarget) && ($slaves[$i].ID != $slaves[_j].rivalryTarget)>>
+		<<set $slaves[_j].rivalry to 0, $slaves[_j].rivalryTarget to 0>>
+		<<set $slaves[$i].rivalry to 0, $slaves[$i].rivalryTarget to 0>>
 		<<break>>
-		<</if>>
-	<</for>>
-	<<set $slaves[$i].rivalry to 0>>
-	<<set $slaves[$i].rivalryTarget to 0>>
 	<</if>>
+<</for>>
 <</if>>
 
 <</if>> /* CLOSES FUCKDOLL CHECK */
diff --git a/src/uncategorized/slaveMarkets.tw b/src/uncategorized/slaveMarkets.tw
index 21d5fee9fc8df627ffd0a6855d5b232eb16c2771..d813a4a2e108ed756b7f7289b4a78a2dbcf44527 100644
--- a/src/uncategorized/slaveMarkets.tw
+++ b/src/uncategorized/slaveMarkets.tw
@@ -73,7 +73,7 @@ You're in the area of the slave market owned by your corporation. The corporatio
 	/*<<set $activeSlave.actualAge = ramdom(18,19)>>*/
 <<elseif $captureUpgradeAge == "old">>
 	Newly enslaved MILFs are strongly favored for training.
-	*/<<set $activeSlave.actualAge = ramdom(36,$retirementAge)>>*/
+	/*<<set $activeSlave.actualAge = ramdom(36,$retirementAge)>>*/
 <<else>>
 	Promising slaves are trained without special sorting based on age.
 <</if>>