From d23474f352365e4df80468196808f480b991639b Mon Sep 17 00:00:00 2001
From: klorpa <30924131+klorpa@users.noreply.github.com>
Date: Mon, 8 Jul 2019 19:10:46 -0500
Subject: [PATCH] EugenicsStuff

---
 src/npc/agent/agentSelect.tw           |  2 +-
 src/pregmod/huskSlaveSwapWorkaround.tw |  2 +-
 src/pregmod/newChildIntro.tw           |  2 +-
 src/uncategorized/bodyModification.tw  |  2 +-
 src/uncategorized/reputation.tw        |  1 -
 src/uncategorized/saRules.tw           |  6 +++---
 src/uncategorized/wardrobeUse.tw       | 14 +++++++-------
 7 files changed, 14 insertions(+), 15 deletions(-)

diff --git a/src/npc/agent/agentSelect.tw b/src/npc/agent/agentSelect.tw
index 52490fc1de9..5c6ff3eaf43 100644
--- a/src/npc/agent/agentSelect.tw
+++ b/src/npc/agent/agentSelect.tw
@@ -4,7 +4,7 @@
 ''Appoint an Agent from your devoted slaves:''
 
 <<= App.UI.SlaveList.slaveSelectionList(
-		s => (s.fuckdoll === 0 && s.devotion > 20 && s.intelligence + s.intelligenceImplant > 15 && s.intelligenceImplant >= 15 && canWalk(s) && canSee(s) && canHear(s) && canTalk(s) && s.broodmother < 2 && (s.breedingMark !== 1 || State.variables.propOutcome === 0 || State.variables.eugenicsFullControl !== 1 || State.variables.arcologies[0].FSRestart === "unset")),
+		s => (s.fuckdoll === 0 && s.devotion > 20 && s.intelligence + s.intelligenceImplant > 15 && s.intelligenceImplant >= 15 && canWalk(s) && canSee(s) && canHear(s) && canTalk(s) && s.broodmother < 2 && (s.breedingMark !== 1 || State.variables.propOutcome === 0 || State.variables.eugenicsFullControl === 1 || State.variables.arcologies[0].FSRestart === "unset")),
 		(slave, index) => App.UI.passageLink(SlaveFullName(slave), 'Agent Workaround', `$i = ${index}`),
 		s => App.Entity.facilities.arcologyAgent.manager.slaveHasExperience(s)
 	)>>
diff --git a/src/pregmod/huskSlaveSwapWorkaround.tw b/src/pregmod/huskSlaveSwapWorkaround.tw
index 7bbecbd60d6..5e3c7a94745 100644
--- a/src/pregmod/huskSlaveSwapWorkaround.tw
+++ b/src/pregmod/huskSlaveSwapWorkaround.tw
@@ -14,7 +14,7 @@ __Select an eligible slave:__
 			<<if $slaves[_i].fuckdoll == 0>>
 				<<if $slaves[_i].amp >= 0>>
 					<<if $slaves[_i].indenture == -1>>
-						<<if $slaves[_i].breedingMark == 0 || $propOutcome == 0>>
+						<<if $slaves[_i].breedingMark == 0 || $propOutcome == 0 || $eugenicsFullControl == 1 || $arcologies[0].FSRestart == "unset">>
 							<<if WombReserveCount($slaves[_i]) == 0>>
 								<<if $slaves[_i].ID != $activeSlave.ID>>
 									<<set _name = SlaveFullName($slaves[_i])>>
diff --git a/src/pregmod/newChildIntro.tw b/src/pregmod/newChildIntro.tw
index ee746e31b18..4952ef2a4a3 100644
--- a/src/pregmod/newChildIntro.tw
+++ b/src/pregmod/newChildIntro.tw
@@ -1037,7 +1037,7 @@ You slowly strip down, gauging $his reactions to your show, until you are fully
 
 <<if $arcologies[0].FSRestart >= 10>>
 	<<if $activeSlave.preg != -2 && $activeSlave.ovaries > 0>>
-		<<if $activeSlave.breedingMark == 0 || $propOutcome == 0>>
+		<<if $activeSlave.breedingMark == 0 || $propOutcome == 0 || $eugenicsFullControl == 1>>
 			<br><<link "Sterilize $him">>
 			<<set $activeSlave.preg = -2>>
 			<<set $activeSlave.pregType = 0>>
diff --git a/src/uncategorized/bodyModification.tw b/src/uncategorized/bodyModification.tw
index 6b351f94d9a..556ba7a5912 100644
--- a/src/uncategorized/bodyModification.tw
+++ b/src/uncategorized/bodyModification.tw
@@ -1099,7 +1099,7 @@ Or a custom site: <<textbox "$brandTarget.local" $brandTarget.local "Body Modifi
 	<</if>>
 <</if>>
 
-<<if $activeSlave.breedingMark == 1 && $propOutcome == 0>>
+<<if $activeSlave.breedingMark == 1 && ($propOutcome == 0 || $eugenicsFullControl == 1 || $arcologies[0].FSRestart == "unset")>>
 	<br>&nbsp;&nbsp;&nbsp;&nbsp;
 	$He has an intricate tattoo on $his lower belly that suggests $he was made to be bred. [[Remove it|Body Modification][$activeSlave.breedingMark = 0]]
 <</if>>
diff --git a/src/uncategorized/reputation.tw b/src/uncategorized/reputation.tw
index b67decb0cdb..47faec4b8df 100644
--- a/src/uncategorized/reputation.tw
+++ b/src/uncategorized/reputation.tw
@@ -383,7 +383,6 @@ On formal occasions, you are announced as $PCTitle.
 				<<run repX(200, "PCappearance")>>
 				<<set $failedElite -= 5>>
 			<</if>>
-
 		<</if>>
 	<<elseif $arcologies[0].FSRepopulationFocus >= 60>>
 		Most prominent female owners avoid being penetrated on principle, but your arcology values motherhood so much that it is more @@.green;pleased@@ with your dedication than it is disappointed in your
diff --git a/src/uncategorized/saRules.tw b/src/uncategorized/saRules.tw
index c8b1c315cdd..28301cc384e 100644
--- a/src/uncategorized/saRules.tw
+++ b/src/uncategorized/saRules.tw
@@ -2829,7 +2829,7 @@
 				<<if canDoVaginal($slaves[$i])>>
 					<<if $slaves[$i].vagina != 0>>
 						<<set $slaves[$i].counter.vaginal += 7, $vaginalTotal += 7>>
-						<<if canImpreg($slaves[$i], $Schoolteacher) && $slaves[$i].breedingMark == 0 && $slaves[$i].vagina != 0>>
+						<<if canImpreg($slaves[$i], $Schoolteacher) && ($slaves[$i].breedingMark == 0 || $propOutcome == 0 || $eugenicsFullControl == 1 || $arcologies[0].FSRestart == "unset") && $slaves[$i].vagina != 0>>
 							<<= knockMeUp($slaves[$i], 5, 0, $Schoolteacher.ID, 1)>>
 						<</if>>
 					<</if>>
@@ -2838,7 +2838,7 @@
 				<<if canDoAnal($slaves[$i])>>
 					<<if $slaves[$i].anus != 0>>
 						<<set $slaves[$i].counter.anal += 7, $analTotal += 7>>
-						<<if canImpreg($slaves[$i], $Schoolteacher) && $slaves[$i].breedingMark == 0 && $slaves[$i].anus != 0>>
+						<<if canImpreg($slaves[$i], $Schoolteacher) && ($slaves[$i].breedingMark == 0 || $propOutcome == 0 || $eugenicsFullControl == 1 || $arcologies[0].FSRestart == "unset") && $slaves[$i].anus != 0>>
 							<<= knockMeUp($slaves[$i], 5, 1, $Schoolteacher.ID, 1)>>
 						<</if>>
 					<</if>>
@@ -2847,7 +2847,7 @@
 				<<if canPenetrate($slaves[$i])>>
 					<<set $slaves[$i].counter.penetrative += 7, $penetrativeTotal += 7>>
 					<<set $slaves[$i].need -= 10>>
-					<<if canImpreg($Schoolteacher, $slaves[$i]) && $Schoolteacher.breedingMark == 0>>
+					<<if canImpreg($Schoolteacher, $slaves[$i]) && ($Schoolteacher.breedingMark == 0 || $propOutcome == 0 || $eugenicsFullControl == 1 || $arcologies[0].FSRestart == "unset")>>
 						<<if $Schoolteacher.vagina != 0 && $Schoolteacher.ovaries == 1>>
 							<<= knockMeUp($slaves[_FLs], 5, 0, $slaves[$i].ID, 1)>>
 						<<elseif $Schoolteacher.anus != 0 && $Schoolteacher.mpreg == 1>>
diff --git a/src/uncategorized/wardrobeUse.tw b/src/uncategorized/wardrobeUse.tw
index 6f8310b32a2..7e5f34bbfcd 100644
--- a/src/uncategorized/wardrobeUse.tw
+++ b/src/uncategorized/wardrobeUse.tw
@@ -411,7 +411,7 @@ Torso accessory: ''$activeSlave.bellyAccessory.''
 <<options $activeSlave.bellyAccessory>>
 	<<option "none" "None">>
 	<<option "a corset" "Tight corset">>
-	<<optionif `($activeSlave.breedingMark != 1 || $propOutcome == 0)`>>
+	<<optionif `($activeSlave.breedingMark != 1 || $propOutcome == 0 || $eugenicsFullControl == 1 || $arcologies[0].FSRestart == "unset")`>>
 		<<option "an extreme corset" "Extreme corset">>
 	<<optionif `($activeSlave.belly > 10000)`>>
 		<<option "a support band" "Supportive band">>
@@ -481,13 +481,13 @@ Torso accessory: ''$activeSlave.bellyAccessory.''
 		<<optionif `isItemAccessible("smart bullet vibrator")`>>
 			<<option "smart bullet vibrator" "Smart bullet vibrator">>
 		<<option "dildo" "Dildo">>
-		<<optionif `isItemAccessible("long dildo") && ($activeSlave.breedingMark != 1 || $propOutcome == 0)`>>
+		<<optionif `isItemAccessible("long dildo") && ($activeSlave.breedingMark != 1 || $propOutcome == 0 || $eugenicsFullControl == 1 || $arcologies[0].FSRestart == "unset")`>>
 			<<option "long dildo" "Long dildo">>
-		<<optionif `isItemAccessible("long, large dildo") && ($activeSlave.breedingMark != 1 || $propOutcome == 0)`>>
+		<<optionif `isItemAccessible("long, large dildo") && ($activeSlave.breedingMark != 1 || $propOutcome == 0 || $eugenicsFullControl == 1 || $arcologies[0].FSRestart == "unset")`>>
 			<<option "long, large dildo" "Large and long dildo">>
 		<<optionif `$activeSlave.vagina >= 2`>>
 			<<option "huge dildo" "Huge dildo">>
-		<<optionif `isItemAccessible("long, huge dildo") && ($activeSlave.breedingMark != 1 || $propOutcome == 0)`>>
+		<<optionif `isItemAccessible("long, huge dildo") && ($activeSlave.breedingMark != 1 || $propOutcome == 0 || $eugenicsFullControl == 1 || $arcologies[0].FSRestart == "unset")`>>
 			<<option "long, huge dildo" "Huge and long dildo">>
 	<</options>>
 
@@ -522,13 +522,13 @@ Anal accessory: ''$activeSlave.buttplug.''
 	<<option "none" "None">>
 	<<option "plug" "Normal">>
 	<<option "large plug" "Large">>
-	<<optionif `isItemAccessible("long plug") && ($activeSlave.breedingMark != 1 || $propOutcome == 0)`>>
+	<<optionif `isItemAccessible("long plug") && ($activeSlave.breedingMark != 1 || $propOutcome == 0 || $eugenicsFullControl == 1 || $arcologies[0].FSRestart == "unset")`>>
 		<<option "long plug" "Long">>
-	<<optionif `isItemAccessible("long, large plug") && ($activeSlave.breedingMark != 1 || $propOutcome == 0)`>>
+	<<optionif `isItemAccessible("long, large plug") && ($activeSlave.breedingMark != 1 || $propOutcome == 0 || $eugenicsFullControl == 1 || $arcologies[0].FSRestart == "unset")`>>
 		<<option "long, large plug" "Long and large">>
 	<<optionif `$activeSlave.anus >= 2`>>
 		<<option "huge plug" "Huge">>
-	<<optionif `$activeSlave.anus >= 2 && isItemAccessible("long, huge plug") && ($activeSlave.breedingMark != 1 || $propOutcome == 0) && $activeSlave.anus >= 2`>>
+	<<optionif `$activeSlave.anus >= 2 && isItemAccessible("long, huge plug") && ($activeSlave.breedingMark != 1 || $propOutcome == 0 || $eugenicsFullControl == 1 || $arcologies[0].FSRestart == "unset") && $activeSlave.anus >= 2`>>
 		<<option "long, huge plug" "Long and huge">>
 <</options>>
 <br>
-- 
GitLab