From 56d4a5168e014a175f9414a9fc286b9542997990 Mon Sep 17 00:00:00 2001
From: Svornost <11434-svornost@users.noreply.gitgud.io>
Date: Wed, 17 Feb 2021 14:41:15 -0800
Subject: [PATCH] Move enforcement of racial segregation for new slaves that
 used to be citizens into generateNewSlave, as special race "nonslave"

---
 src/Mods/SpecialForce/TrickShotNight.tw  |   8 +-
 src/npc/generate/generateMarketSlave.js  |   7 +-
 src/npc/generate/generateNewSlaveJS.js   |  12 +-
 src/pregmod/FCTV/FCTVshows.js            |  24 +--
 src/pregmod/FCTV/seFCTVremote.tw         |  17 +-
 src/pregmod/eliteTakeOverResult.tw       |  28 +--
 src/pregmod/pRaped.tw                    |   8 +-
 src/uncategorized/REFS.tw                |  56 +-----
 src/uncategorized/RESS.tw                |   8 +-
 src/uncategorized/genericPlotEvents.tw   |   9 +-
 src/uncategorized/pRivalryHostage.tw     |   8 +-
 src/uncategorized/reAWOL.tw              |   8 +-
 src/uncategorized/reFSAcquisition.tw     |  53 +-----
 src/uncategorized/reMalefactor.tw        |  35 +---
 src/uncategorized/reMilfTourist.tw       |   8 +-
 src/uncategorized/rePokerNight.tw        |   8 +-
 src/uncategorized/reRecruit.tw           | 206 +++--------------------
 src/uncategorized/reShelterInspection.tw |   9 +-
 src/uncategorized/recETS.tw              |  28 +--
 19 files changed, 76 insertions(+), 464 deletions(-)

diff --git a/src/Mods/SpecialForce/TrickShotNight.tw b/src/Mods/SpecialForce/TrickShotNight.tw
index f6042bd1ff3..5a7403c2a96 100644
--- a/src/Mods/SpecialForce/TrickShotNight.tw
+++ b/src/Mods/SpecialForce/TrickShotNight.tw
@@ -67,13 +67,7 @@ Despite your direct elevator, interaction with the majority of your security for
 			<<if random(1,100) < _shootChance>>
 				<br> <<link "Up the ante">>
 					<<replace "#bounty-result">>
-						<<if $arcologies[0].FSSupremacistLawME == 1>>
-							<<set _race = $arcologies[0].FSSupremacistRace>>
-						<<elseif $arcologies[0].FSSubjugationistLawME == 1>>
-							<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-							<<set _race = _races.random()>>
-						<</if>>
-						<<set _genParam = {minAge: 25, maxAge: 35, ageOverridesPedoMode: 1, race: _race, disableDisability: 1}>>
+						<<set _genParam = {minAge: 25, maxAge: 35, ageOverridesPedoMode: 1, race: "nonslave", disableDisability: 1}>>
 						<<if $seeDicks != 100>>
 							<<set _soldier = GenerateNewSlave("XX", _genParam)>>
 						<<else>>
diff --git a/src/npc/generate/generateMarketSlave.js b/src/npc/generate/generateMarketSlave.js
index a641f16fea4..0830bd1fd43 100644
--- a/src/npc/generate/generateMarketSlave.js
+++ b/src/npc/generate/generateMarketSlave.js
@@ -1280,12 +1280,7 @@ globalThis.generateMarketSlave = function(market = "kidnappers", numArcology = 1
 		}
 		case "indentures": {
 			SGProp.disableDisability = 1;
-			if (V.arcologies[0].FSSupremacistLawME === 1) {
-				SGProp.race = V.arcologies[0].FSSupremacistRace;
-			} else if (V.arcologies[0].FSSubjugationistLawME === 1) {
-				const races = App.Utils.getNonSubjugationistSlaveRaces();
-				SGProp.race = jsEither(races);
-			}
+			SGProp.race = "nonslave";
 			slave = GenerateNewSlave(null, SGProp);
 			slave.health.tired = jsRandom(0, 30);
 			slave.origin = "You purchased $his indenture contract, making $him yours for as long as it lasts.";
diff --git a/src/npc/generate/generateNewSlaveJS.js b/src/npc/generate/generateNewSlaveJS.js
index 1fa300b8ffc..fdc566a4225 100644
--- a/src/npc/generate/generateNewSlaveJS.js
+++ b/src/npc/generate/generateNewSlaveJS.js
@@ -35,7 +35,7 @@ globalThis.GenerateNewSlave = (function() {
 	 * @param {number} [Obj.ageOverridesPedoMode=0] 0 or 1.
 	 * @param {number} [Obj.mature=1] 0 or 1 (default). Applies to FSMaturityPref arcs only. If 1, adds 10 to maxAge. Consider setting to 0 if you need to make sure am MP slave is both fertile and an age for that to make sense.
 	 * @param {string} [Obj.nationality] Sets nationality.
-	 * @param {string} [Obj.race] Sets race.
+	 * @param {FC.Zeroable<FC.Race>|"nonslave"} [Obj.race] Sets race. Special value "nonslave" chooses a race that is valid for a free citizen of your arcology (avoiding races that are automatically enslaved by policy).
 	 * @param {number} [Obj.disableDisability=0] 0 or 1.
 	 */
 	function GenerateNewSlave(sex, {minAge, maxAge, ageOverridesPedoMode, mature, nationality, race, disableDisability} = {}) {
@@ -45,7 +45,15 @@ globalThis.GenerateNewSlave = (function() {
 		x.mature = (mature === 0) ? 0 : 1;
 		x.nationality = nationality || 0;
 		x.race = race || 0;
-		if (x.race !== 0 && !(Array.from(setup.filterRaces.keys()).includes(x.race))) {
+		if (x.race === "nonslave") {
+			if (V.arcologies[0].FSSupremacistLawME === 1) {
+				x.race = V.arcologies[0].FSSupremacistRace;
+			} else if (V.arcologies[0].FSSubjugationistLawME === 1) {
+				x.race = App.Utils.getNonSubjugationistSlaveRaces().random();
+			} else {
+				x.race = 0;
+			}
+		} else if (x.race !== 0 && !(setup.filterRaces.has(x.race))) {
 			console.log("Error, cannot find race: ", x.race);
 			x.race = 0;
 		}
diff --git a/src/pregmod/FCTV/FCTVshows.js b/src/pregmod/FCTV/FCTVshows.js
index 92ffb75b5b0..d040f5107c4 100644
--- a/src/pregmod/FCTV/FCTVshows.js
+++ b/src/pregmod/FCTV/FCTVshows.js
@@ -405,14 +405,8 @@ App.Data.FCTV.actors = {
 	},
 	get hostess() {
 		const gender = (V.seeDicks === 100) ? "XY" : "XX";
-		let races = [];
-		if (V.arcologies[0].FSSupremacistLawME === 1) {
-			races = [V.arcologies[0].FSSupremacistRace];
-		} else if (V.arcologies[0].FSSubjugationistLawME === 1) {
-			races = App.Utils.getNonSubjugationistSlaveRaces();
-		}
 		const slave = GenerateNewSlave(gender, {
-			ageOverridesPedoMode: 1, disableDisability: 1, minAge: 25, maxAge: 35, race: races.random()
+			ageOverridesPedoMode: 1, disableDisability: 1, minAge: 25, maxAge: 35, race: "nonslave"
 		});
 		slave.devotion = 45;
 		slave.trust = 55;
@@ -434,14 +428,8 @@ App.Data.FCTV.actors = {
 	},
 	get scientist() {
 		const gender = (V.seeDicks === 0) ? "XY" : "XX";
-		let races = [];
-		if (V.arcologies[0].FSSupremacistLawME === 1) {
-			races = [V.arcologies[0].FSSupremacistRace];
-		} else if (V.arcologies[0].FSSubjugationistLawME === 1) {
-			races = App.Utils.getNonSubjugationistSlaveRaces();
-		}
 		const slave = GenerateNewSlave(gender, {
-			ageOverridesPedoMode: 1, disableDisability: 1, minAge: 25, maxAge: 35, race: races.random()
+			ageOverridesPedoMode: 1, disableDisability: 1, minAge: 25, maxAge: 35, race: "nonslave"
 		});
 
 		slave.devotion = 0;
@@ -466,14 +454,8 @@ App.Data.FCTV.actors = {
 	},
 	get nun() {
 		const gender = (V.seeDicks === 100) ? "XY" : "XX";
-		let races = [];
-		if (V.arcologies[0].FSSupremacistLawME === 1) {
-			races = [V.arcologies[0].FSSupremacistRace];
-		} else if (V.arcologies[0].FSSubjugationistLawME === 1) {
-			races = App.Utils.getNonSubjugationistSlaveRaces();
-		}
 		const slave = GenerateNewSlave(gender, {
-			ageOverridesPedoMode: 1, disableDisability: 1, minAge: 25, maxAge: 35, race: races.random()
+			ageOverridesPedoMode: 1, disableDisability: 1, minAge: 25, maxAge: 35, race: "nonslave"
 		});
 
 		slave.devotion = jsRandom(45, 60);
diff --git a/src/pregmod/FCTV/seFCTVremote.tw b/src/pregmod/FCTV/seFCTVremote.tw
index ae5d67e7e4c..5edf414800d 100644
--- a/src/pregmod/FCTV/seFCTVremote.tw
+++ b/src/pregmod/FCTV/seFCTVremote.tw
@@ -3,13 +3,7 @@
 <<set $nextButton = "Continue", $nextLink = "Scheduled Event", $returnTo = "Scheduled Event", $encyclopedia = "FCTV", $FCTV.remote = 2>>
 
 
-<<if $arcologies[0].FSSupremacistLawME == 1>>
-	<<set _race = $arcologies[0].FSSupremacistRace>>
-<<elseif $arcologies[0].FSSubjugationistLawME == 1>>
-	<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-	<<set _race = _races.random()>>
-<</if>>
-<<set _slave = GenerateNewSlave(null, {minAge: 25, maxAge: 35, ageOverridesPedoMode: 1, race: _race, disableDisability: 1})>>
+<<set _slave = GenerateNewSlave(null, {minAge: 25, maxAge: 35, ageOverridesPedoMode: 1, race: "nonslave", disableDisability: 1})>>
 
 <<set _slave.devotion = 0>>
 <<set _slave.trust = 0>>
@@ -83,15 +77,8 @@
 <p id="scene">
 	<<link "\"Upgrade\" the tech for a little humiliation">>
 		<<replace "#scene">>
-
 			/* set up customer */
-			<<if $arcologies[0].FSSupremacistLawME == 1>>
-				<<set _race = $arcologies[0].FSSupremacistRace>>
-			<<elseif $arcologies[0].FSSubjugationistLawME == 1>>
-				<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-				<<set _race = _races.random()>>
-			<</if>>
-			<<set _genParam = {minAge: 25, maxAge: 35, ageOverridesPedoMode: 1, race: _race, disableDisability: 1}>>
+			<<set _genParam = {minAge: 25, maxAge: 35, ageOverridesPedoMode: 1, race: "nonslave", disableDisability: 1}>>
 			<<if $seeDicks > random(1,99)>>
 				<<set _customer = GenerateNewSlave("XY", _genParam)>>
 			<<else>>
diff --git a/src/pregmod/eliteTakeOverResult.tw b/src/pregmod/eliteTakeOverResult.tw
index 4dad59065c4..692ba0770ac 100644
--- a/src/pregmod/eliteTakeOverResult.tw
+++ b/src/pregmod/eliteTakeOverResult.tw
@@ -117,20 +117,14 @@
 <<if $eliteFate >= 1>>
 	<<if $eliteVegetable == 1>>
 		<<set $eliteLeft-->>
-		<<if $arcologies[0].FSSupremacistLawME == 1>>
-			<<set _race = $arcologies[0].FSSupremacistRace>>
-		<<elseif $arcologies[0].FSSubjugationistLawME == 1>>
-			<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-			<<set _race = _races.random()>>
-		<</if>>
 		<<if $seeDicks == 0>>
-			<<set _slave = GenerateNewSlave("XX", {minAge: 25, maxAge: $retirementAge-2, disableDisability: 1, race: _race})>>
+			<<set _slave = GenerateNewSlave("XX", {minAge: 25, maxAge: $retirementAge-2, disableDisability: 1, race: "nonslave"})>>
 		<<elseif $seeDicks == 100>>
-			<<set _slave = GenerateNewSlave("XY", {minAge: 25, maxAge: $retirementAge-2, disableDisability: 1, race: _race})>>
+			<<set _slave = GenerateNewSlave("XY", {minAge: 25, maxAge: $retirementAge-2, disableDisability: 1, race: "nonslave"})>>
 		<<elseif random(1,100) > 50>> /* 50% chance of getting girl or boy */
-			<<set _slave = GenerateNewSlave("XX", {minAge: 25, maxAge: $retirementAge-2, disableDisability: 1, race: _race})>>
+			<<set _slave = GenerateNewSlave("XX", {minAge: 25, maxAge: $retirementAge-2, disableDisability: 1, race: "nonslave"})>>
 		<<else>>
-			<<set _slave = GenerateNewSlave("XY", {minAge: 25, maxAge: $retirementAge-2, disableDisability: 1, race: _race})>>
+			<<set _slave = GenerateNewSlave("XY", {minAge: 25, maxAge: $retirementAge-2, disableDisability: 1, race: "nonslave"})>>
 		<</if>>
 		<<set _origin = "$He was a member of the Societal Elite, captured in their failed attempt at expressing their displeasure.">>
 		<<set _slave.origin = _origin>>
@@ -157,20 +151,14 @@
 		<<run newSlave(_slave)>> /* skip New Slave Intro */
 	<</if>>
 	<<for _i = $eliteLeft; _i > 0; _i-->>
-		<<if $arcologies[0].FSSupremacistLawME == 1>>
-			<<set _race = $arcologies[0].FSSupremacistRace>>
-		<<elseif $arcologies[0].FSSubjugationistLawME == 1>>
-			<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-			<<set _race = _races.random()>>
-		<</if>>
 		<<if $seeDicks == 0>>
-			<<set _slave = GenerateNewSlave("XX", {minAge: 25, maxAge: $retirementAge-2, race: _race})>>
+			<<set _slave = GenerateNewSlave("XX", {minAge: 25, maxAge: $retirementAge-2, race: "nonslave"})>>
 		<<elseif $seeDicks == 100>>
-			<<set _slave = GenerateNewSlave("XY", {minAge: 25, maxAge: $retirementAge-2, race: _race})>>
+			<<set _slave = GenerateNewSlave("XY", {minAge: 25, maxAge: $retirementAge-2, race: "nonslave"})>>
 		<<elseif random(1,100) > 50>> /* 50% chance of getting girl or boy */
-			<<set _slave = GenerateNewSlave("XX", {minAge: 25, maxAge: $retirementAge-2, race: _race})>>
+			<<set _slave = GenerateNewSlave("XX", {minAge: 25, maxAge: $retirementAge-2, race: "nonslave"})>>
 		<<else>>
-			<<set _slave = GenerateNewSlave("XY", {minAge: 25, maxAge: $retirementAge-2, race: _race})>>
+			<<set _slave = GenerateNewSlave("XY", {minAge: 25, maxAge: $retirementAge-2, race: "nonslave"})>>
 		<</if>>
 		<<set _origin = "$He was a member of the Societal Elite, captured in their failed attempt at expressing their displeasure.">>
 		<<set _slave.origin = _origin>>
diff --git a/src/pregmod/pRaped.tw b/src/pregmod/pRaped.tw
index 223a31a7a21..47405fe3dbb 100644
--- a/src/pregmod/pRaped.tw
+++ b/src/pregmod/pRaped.tw
@@ -4,13 +4,7 @@
 
 <<setPlayerPronouns>>
 
-<<if $arcologies[0].FSSupremacistLawME == 1>>
-	<<set _race = $arcologies[0].FSSupremacistRace>>
-<<elseif $arcologies[0].FSSubjugationistLawME == 1>>
-	<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-	<<set _race = _races.random()>>
-<</if>>
-<<set _genParam = {minAge: 16, race: _race, disableDisability: 1}>>
+<<set _genParam = {minAge: 16, race: "nonslave", disableDisability: 1}>>
 <<if $PC.vagina >= 0>>
 	<<set _rapist = GenerateNewSlave("XY", _genParam)>>
 	<<set _rapist.dick = 6>>
diff --git a/src/uncategorized/REFS.tw b/src/uncategorized/REFS.tw
index cb7ec9ff420..2094ea65bb6 100644
--- a/src/uncategorized/REFS.tw
+++ b/src/uncategorized/REFS.tw
@@ -63,14 +63,7 @@
 	<<run setHealth(_slave, jsRandom(70, 80), 0, undefined, 0, 0)>>
 	<<set _slave.clothes = "conservative clothing">>
 <<case "physical idealist encounter">>
-	<<set _pram = {maxAge: 22, disableDisability: 1}>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
-	<<set _slave = GenerateNewSlave("XX", _pram)>>
+	<<set _slave = GenerateNewSlave("XX", {maxAge: 22, disableDisability: 1, race: "nonslave"})>>
 	<<set _slave.devotion = 100>>
 	<<set _slave.trust = 100>>
 	<<run setHealth(_slave, 100, 0, undefined, 0)>>
@@ -81,14 +74,7 @@
 		<<set _slave.clothes = "sport shorts and a sports bra">>
 	<</if>>
 <<case "pastoralist encounter">>
-	<<set _pram = {maxAge: 65, disableDisability: 1}>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
-	<<set _slave = GenerateNewSlave("XX", _pram)>>
+	<<set _slave = GenerateNewSlave("XX", {maxAge: 65, disableDisability: 1, race: "nonslave"})>>
 	<<if _slave.weight < 50>>
 		<<set _slave.weight += 50>>
 	<</if>>
@@ -99,7 +85,7 @@
 	<<set _slave.hStyle = "bun">>
 	<<set _slave.clothes = "conservative clothing">>
 <<case "knightly duel">>
-	<<set _slave = GenerateNewSlave("XY", {minAge: 22, maxAge: 34})>>
+	<<set _slave = GenerateNewSlave("XY", {minAge: 22, maxAge: 34, race: "nonslave"})>>
 	<<set _slave.origin = "$He is a knight. If you have acquired this slave, something has gone wrong.">>
 	<<set _slave.career = "spec ops">>
 	<<set _slave.devotion = random(-80,-60)>>
@@ -177,14 +163,7 @@
 	<<set _slave.custom.tattoo = "$He has the Imperial symbol of your arcology tattooed on $his neck above a barcode.">>
 	<<run setHealth(_slave, jsRandom(30, 60), 0, 0, 0, 0)>>
 <<case "transformation fetishism encounter">>
-	<<set _pram = {maxAge: 22, disableDisability: 1}>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
-	<<set _slave = GenerateNewSlave("XX", _pram)>>
+	<<set _slave = GenerateNewSlave("XX", {maxAge: 22, disableDisability: 1, race: "nonslave"})>>
 	<<set _slave.origin = "$He was enslaved by you when you overcharged $him for surgery.">>
 	<<set _slave.devotion = random(-70,-55)>>
 	<<set _slave.trust = random(-45,-25)>>
@@ -199,14 +178,7 @@
 	<<set _slave.lipsImplant = 10>>
 	<<set _slave.clothes = "conservative clothing">>
 <<case "body purism encounter">>
-	<<set _pram = {minAge: 36, maxAge: 42, ageOverridesPedoMode: 1, disableDisability: 1}>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
-	<<set _slave = GenerateNewSlave("XX", _pram)>>
+	<<set _slave = GenerateNewSlave("XX", {minAge: 36, maxAge: 42, ageOverridesPedoMode: 1, disableDisability: 1, race: "nonslave"})>>
 	<<set _slave.devotion = 20>>
 	<<set _slave.trust = 20>>
 	<<run setHealth(_slave, -30, Math.max(normalRandInt(5, 3), 0), normalRandInt(10, 3))>>
@@ -218,14 +190,7 @@
 	<<set _slave.muscles = Math.min(_slave.muscles, 30)>>
 	<<set _slave.clothes = "conservative clothing">>
 <<case "youth preferentialist encounter">>
-	<<set _pram = {maxAge: 22, disableDisability: 1}>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
-	<<set _slave = GenerateNewSlave("XX", _pram)>>
+	<<set _slave = GenerateNewSlave("XX", {maxAge: 22, disableDisability: 1, race: "nonslave"})>>
 	<<set _slave.origin = "$He was enslaved by you when you purchased $his debt.">>
 	<<set _slave.devotion = random(-55,0)>>
 	<<set _slave.trust = random(-45,0)>>
@@ -240,14 +205,7 @@
 	<<set _slave.muscles = Math.min(_slave.muscles, 30)>>
 	<<set _slave.clothes = "conservative clothing">>
 <<case "maturity preferentialist encounter">>
-	<<set _pram = {minAge: 36, maxAge: 42, ageOverridesPedoMode: 1, disableDisability: 1}>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
-	<<set _slave = GenerateNewSlave("XX", _pram)>>
+	<<set _slave = GenerateNewSlave("XX", {minAge: 36, maxAge: 42, ageOverridesPedoMode: 1, disableDisability: 1, race: "nonslave"})>>
 	<<set _slave.origin = "$He was enslaved by you when you purchased $his debt.">>
 	<<set _slave.devotion = random(-90,-75)>>
 	<<set _slave.trust = random(-45,-25)>>
diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw
index a6c4b1b09e4..8a71fa045d6 100644
--- a/src/uncategorized/RESS.tw
+++ b/src/uncategorized/RESS.tw
@@ -65,13 +65,7 @@
 <<if $RESSevent == "mean girls">>
 	<<set _newSlaves = []>>
 	<<for _ress = 0; _ress < 3; _ress++>>
-		<<if $arcologies[0].FSSupremacistLawME == 1>>
-			<<set _race = $arcologies[0].FSSupremacistRace>>
-		<<elseif $arcologies[0].FSSubjugationistLawME == 1>>
-			<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-			<<set _race = _races.random()>>
-		<</if>>
-		<<set _meanGirl = GenerateNewSlave("XX", {minAge: 16, maxAge: 19, ageOverridesPedoMode: 1, nationality: "American", race: _race, disableDisability: 1})>>
+		<<set _meanGirl = GenerateNewSlave("XX", {minAge: 16, maxAge: 19, ageOverridesPedoMode: 1, nationality: "American", race: "nonslave", disableDisability: 1})>>
 		<<set _meanGirl.origin = "You enslaved $him for abusing " + $eventSlave.slaveName + " while " + getPronouns($eventSlave).pronoun + " was serving the public.">>
 		<<set _meanGirl.career = "a student">>
 		<<set _meanGirl.markings = "none", _meanGirl.weight = -20>>
diff --git a/src/uncategorized/genericPlotEvents.tw b/src/uncategorized/genericPlotEvents.tw
index 76dc6ac10a1..93ba02beb65 100644
--- a/src/uncategorized/genericPlotEvents.tw
+++ b/src/uncategorized/genericPlotEvents.tw
@@ -47,14 +47,7 @@
 	As you step off the elevator, you hear several <<if $seeDicks !== 100>>female <</if>>voices shouting. Apparently one of $arcologies[0].name's few remaining strip joints has closed. It was a topless bar and strip club all in one, but the owner is packing up his things. He's explaining to a crowd of his angry former employees that he can't make ends meet. As the price of a slave whore is barely higher than that of a lap dance from a free stripper, it's not surprising. It looks like the former dancers are on the verge of trashing the place.
 <<case "strip club aftermath">>
 	<<set _ContractCost = 1000>>
-	<<set _pram = {minAge: $minimumSlaveAge, maxAge: 42, disableDisability: 1}>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
-	<<set _slave = GenerateNewSlave(null, _pram)>>
+	<<set _slave = GenerateNewSlave(null, {minAge: $minimumSlaveAge, maxAge: 42, disableDisability: 1, race: "nonslave"})>>
 	<<if $eventResults.strip === 1>>
 		<<set _slave.origin = "$He offered $himself to you as a slave to escape the hard life of a free whore.">>
 		<<set _slave.career = "a prostitute">>
diff --git a/src/uncategorized/pRivalryHostage.tw b/src/uncategorized/pRivalryHostage.tw
index 8f624fb2766..534fa95d8fd 100644
--- a/src/uncategorized/pRivalryHostage.tw
+++ b/src/uncategorized/pRivalryHostage.tw
@@ -4,13 +4,7 @@
 
 <<set $hostageAnnounced = 1>>
 
-<<if $arcologies[0].FSSupremacistLawME == 1>>
-	<<set _race = $arcologies[0].FSSupremacistRace>>
-<<elseif $arcologies[0].FSSubjugationistLawME == 1>>
-	<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-	<<set _race = _races.random()>>
-<</if>>
-<<set _slave = GenerateNewSlave("XX", {race: _race, disableDisability: 1})>>
+<<set _slave = GenerateNewSlave("XX", {race: "nonslave", disableDisability: 1})>>
 <<set _slave.origin = "You were acquainted with $him before you were an arcology owner; your rival tried to use $him to manipulate you, but you rescued $him.">>
 <<set _slave.boobs = 400>>
 <<set _slave.butt = 3>>
diff --git a/src/uncategorized/reAWOL.tw b/src/uncategorized/reAWOL.tw
index 62920e4da43..410c16b75d7 100644
--- a/src/uncategorized/reAWOL.tw
+++ b/src/uncategorized/reAWOL.tw
@@ -8,13 +8,7 @@
 	<<set _minAge = 38>>
 <</if>>
 
-<<if $arcologies[0].FSSupremacistLawME == 1>>
-	<<set _race = $arcologies[0].FSSupremacistRace>>
-<<elseif $arcologies[0].FSSubjugationistLawME == 1>>
-	<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-	<<set _race = _races.random()>>
-<</if>>
-<<set _genParam = {minAge: _minAge, maxAge: 43, ageOverridesPedoMode: 1, race: _race, disableDisability: 1}>>
+<<set _genParam = {minAge: _minAge, maxAge: 43, ageOverridesPedoMode: 1, race: "nonslave", disableDisability: 1}>>
 <<if $seeDicks != 100>>
 	<<set _slave = GenerateNewSlave("XX", _genParam)>>
 <<else>>
diff --git a/src/uncategorized/reFSAcquisition.tw b/src/uncategorized/reFSAcquisition.tw
index 417217150a0..c9973b04a11 100644
--- a/src/uncategorized/reFSAcquisition.tw
+++ b/src/uncategorized/reFSAcquisition.tw
@@ -290,14 +290,7 @@
 	<<set _slaveCost -= 2000>>
 <<case "Intellectual Dependency Two">>
 	<<set _ContractCost = 1000>>
-	<<set _pram = {minAge: 16, maxAge: 20, disableDisability: 1}>>
-	<<if $arcologies[0].FSSupremacistLawME == 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME == 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
-	<<set _slave = GenerateNewSlave(null, _pram)>>
+	<<set _slave = GenerateNewSlave(null, {minAge: 16, maxAge: 20, disableDisability: 1, race: "nonslave"})>>
 	<<run generateSalonModifications(_slave)>>
 	<<set _slave.origin = "$He was voluntarily enslaved after $he overdosed on psychosuppressant-laced aphrodisiacs and fried $his brain.">>
 	<<set _slave.dullIntelligence = 1>>
@@ -378,14 +371,7 @@
 	<<set _slaveCost -= 1000>>
 <<case "Body Purist">>
 	<<set _ContractCost = 1000>>
-	<<set _pram = {maxAge: 42, disableDisability: 1}>>
-	<<if $arcologies[0].FSSupremacistLawME == 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME == 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
-	<<set _slave = GenerateNewSlave(null, _pram)>>
+	<<set _slave = GenerateNewSlave(null, {maxAge: 42, disableDisability: 1, race: "nonslave"})>>
 	<<set _slave.origin = "$He offered $himself for voluntary enslavement to get to an arcology in which implants are uncommon, since $he has a fear of surgery.">>
 	<<run setHealth(_slave, jsRandom(-20, 20), undefined, undefined, 0, 0)>>
 	<<set _slave.devotion = random(-15,15)>>
@@ -577,14 +563,7 @@
 	<<set _slaveCost -= 1000>>
 <<case "Transformation Fetishist">>
 	<<set _ContractCost = 1000>>
-	<<set _pram = {maxAge: 42 ,disableDisability: 1}>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
-	<<set _slave = GenerateNewSlave(null, _pram)>>
+	<<set _slave = GenerateNewSlave(null, {maxAge: 42 ,disableDisability: 1, race: "nonslave"})>>
 	<<run generateSalonModifications(_slave)>>
 	<<set _slave.origin = "You received $him from a surgeon who botched an implant operation on $him and needed to get $him out of sight.">>
 	<<set _slave.boobsImplant += random(10,20)*200>>
@@ -787,14 +766,7 @@
 	<<set _slaveCost -= 1000>>
 <<case "Hedonistic Decadence">>
 	<<set _ContractCost = 1000>>
-	<<set _pram = {maxAge: 24, disableDisability: 1}>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
-	<<set _slave = GenerateNewSlave(null, _pram)>>
+	<<set _slave = GenerateNewSlave(null, {maxAge: 24, disableDisability: 1, race: "nonslave"})>>
 	<<set _slave.origin = "$He sold $himself to you to escape those who condemned $his lifestyle.">>
 	<<run generateSalonModifications(_slave)>>
 	<<set _slave.career = "a shut-in">>
@@ -898,14 +870,7 @@
 	<<set _slaveCost -= 1000>>
 <<case "Eugenics">>
 	<<set _ContractCost = 1000>>
-	<<set _pram = {minAge: 10, maxAge: 18, disableDisability: 1}>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
-	<<set _slave = GenerateNewSlave("XX", _pram)>>
+	<<set _slave = GenerateNewSlave("XX", {minAge: 10, maxAge: 18, disableDisability: 1, race: "nonslave"})>>
 	<<set _slave.origin = "$He thought $he was important; $he was not.">>
 	<<set _slave.career = "a student from a private school">>
 	<<set _slave.intelligence = random(16,95)>>
@@ -1002,13 +967,7 @@
 <<case "Edo Revivalist">>
 	<<set _ContractCost = 1000>>
 	<<set _pram = {maxAge: 24, disableDisability: 1}>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
-	<<set _slave = GenerateNewSlave(null, _pram)>>
+	<<set _slave = GenerateNewSlave(null,  {maxAge: 24, disableDisability: 1, race: "nonslave"})>>
 	<<set _slave.origin = "$He offered $himself to you for enslavement because $he had a disgustingly naïve view of medieval Japanese culture.">>
 	<<set _slave.devotion = random(-15,-5)>>
 	<<set _slave.trust = random(5,15)>>
diff --git a/src/uncategorized/reMalefactor.tw b/src/uncategorized/reMalefactor.tw
index 2cb9e34850f..39fe43929de 100644
--- a/src/uncategorized/reMalefactor.tw
+++ b/src/uncategorized/reMalefactor.tw
@@ -113,14 +113,7 @@
 	<<set _slave.sexualFlaw = "apathetic">>
 	<<set _slave.behavioralFlaw = "gluttonous">>
 <<case "businesswoman">>
-	<<set _pram = {disableDisability: 1, minAge: 35, maxAge: 45}>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
-	<<set _slave = GenerateNewSlave("XX", _pram)>>
+	<<set _slave = GenerateNewSlave("XX", {disableDisability: 1, minAge: 35, maxAge: 45, race: "nonslave"})>>
 	<<set _slave.origin = "You sentenced $him to enslavement as a punishment for fraud and theft.">>
 	<<set _slave.career = "a criminal businesswoman">>
 	<<set _slave.devotion = random(-75,-60)>>
@@ -142,14 +135,7 @@
 	<<set _slave.hStyle = "fashionable for a Free Cities businesswoman, up in a tight bun">>
 	<<set _slave.custom.tattoo = "$He has a pretty floral tattoo along $his collarbone.">>
 <<case "whore">>
-	<<set _pram = {disableDisability: 1}>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
-	<<set _slave = GenerateNewSlave(null, _pram)>>
+	<<set _slave = GenerateNewSlave(null, {disableDisability: 1, race: "nonslave"})>>
 	<<set _slave.origin = "You sentenced $him to enslavement as a punishment for theft and battery.">>
 	<<set _slave.career = "a prostitute">>
 	<<set _slave.devotion = random(-75,-60)>>
@@ -184,14 +170,7 @@
 	<<set _slave.hStyle = "strip">>
 	<<set _slave.custom.tattoo = "$He has a teardrop tattooed under each eye.">>
 <<case "rapist">>
-	<<set _pram = {disableDisability: 1, minAge: 16}>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
-	<<set _slave = GenerateNewSlave("XY", _pram)>>
+	<<set _slave = GenerateNewSlave("XY", {disableDisability: 1, minAge: 16, race: "nonslave"})>>
 	<<set _slave.origin = "You sentenced $him to enslavement as a punishment for the rape of a free woman.">>
 	<<set _slave.devotion = random(-75,-60)>>
 	<<set _slave.trust = random(-15,0)>>
@@ -204,16 +183,10 @@
 	<<set _slave.behavioralFlaw = "arrogant">>
 	<<set _slave.sexualFlaw = "hates men">>
 <<case "mule">>
-	<<set _pram = {disableDisability: 1, minAge: 13}>>
+	<<set _pram = {disableDisability: 1, minAge: 13, race: "nonslave"}>>
 	<<if $pedo_mode === 0>>
 		<<set _pram.maxAge = 26>>
 	<</if>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
 	<<set _slave = GenerateNewSlave("XX", _pram)>>
 	<<set _slave.origin = "You sentenced $him to enslavement for smuggling drugs into the arcology.">>
 	<<set _slave.career = "a drug mule">>
diff --git a/src/uncategorized/reMilfTourist.tw b/src/uncategorized/reMilfTourist.tw
index 3d2eaf944f7..d8eafac3644 100644
--- a/src/uncategorized/reMilfTourist.tw
+++ b/src/uncategorized/reMilfTourist.tw
@@ -6,13 +6,7 @@
 <<set _milfSlave = $slaves[_milfed]>>
 <<run Enunciate(_milfSlave)>>
 
-<<if $arcologies[0].FSSupremacistLawME == 1>>
-	<<set _race = $arcologies[0].FSSupremacistRace>>
-<<elseif $arcologies[0].FSSubjugationistLawME == 1>>
-	<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-	<<set _race = _races.random()>>
-<</if>>
-<<set _slave = GenerateNewSlave("XX", {minAge: 36, maxAge: 42, ageOverridesPedoMode: 1, race: _race, disableDisability: 1})>>
+<<set _slave = GenerateNewSlave("XX", {minAge: 36, maxAge: 42, ageOverridesPedoMode: 1, race: "nonslave", disableDisability: 1})>>
 <<set _slave.origin = "$He came to your arcology as a tourist and found $himself enslaved.">>
 <<set _slave.devotion = random(-70,-55)>>
 <<set _slave.trust = random(-45,-25)>>
diff --git a/src/uncategorized/rePokerNight.tw b/src/uncategorized/rePokerNight.tw
index 7287414a9e9..f936e23fcfe 100644
--- a/src/uncategorized/rePokerNight.tw
+++ b/src/uncategorized/rePokerNight.tw
@@ -54,13 +54,7 @@ On a particularly lackadaisical evening, you find yourself alerted to a message
 				<</link>>
 				<br>
 				<<link "Up the ante">>
-					<<if $arcologies[0].FSSupremacistLawME == 1>>
-						<<set _race = $arcologies[0].FSSupremacistRace>>
-					<<elseif $arcologies[0].FSSubjugationistLawME == 1>>
-						<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-						<<set _race = _races.random()>>
-					<</if>>
-					<<set _genParam = {minAge: 38, maxAge: 43, ageOverridesPedoMode: 1, race: _race, disableDisability: 1}>>
+					<<set _genParam = {minAge: 38, maxAge: 43, ageOverridesPedoMode: 1, race: "nonslave", disableDisability: 1}>>
 					<<if $seeDicks != 100>>
 						<<set _slave = GenerateNewSlave("XX", _genParam)>>
 					<<else>>
diff --git a/src/uncategorized/reRecruit.tw b/src/uncategorized/reRecruit.tw
index 60583021752..0b379a65255 100644
--- a/src/uncategorized/reRecruit.tw
+++ b/src/uncategorized/reRecruit.tw
@@ -20,18 +20,7 @@
 
 <<switch $recruit>>
 <<case "female recruit">>
-	<<set _pram = {maxAge: 19, ageOverridesPedoMode: 1, disableDisability: 1}>>
-	<<if $pedo_mode == 1>>
-		<<set _pram.minAge = 11>>
-	<<else>>
-		<<set _pram.minAge = 16>>
-	<</if>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
+	<<set _pram = {minAge: ($pedo_mode === 1 ? 11 : 16), maxAge: 19, ageOverridesPedoMode: 1, disableDisability: 1, race: "nonslave"}>>
 	<<set _slave = GenerateNewSlave("XX", _pram)>>
 	<<set _slave.origin = "$He offered $himself to you as a slave to escape a life of boredom.">>
 	<<set _slave.career = "a party girl">>
@@ -53,13 +42,7 @@
 	<<set _slave.pubicHStyle = "waxed">>
 	<<set _slave.underArmHStyle = "waxed">>
 <<case "male recruit">>
-	<<set _pram = {minAge: ($pedo_mode === 1 ? 11 : 16), maxAge: 19, disableDisability: 1}>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
+	<<set _pram = {minAge: ($pedo_mode === 1 ? 11 : 16), maxAge: 19, ageOverridesPedoMode: 1, disableDisability: 1, race: "nonslave"}>>
 	<<set _slave = GenerateNewSlave("XY", _pram)>>
 	<<set _slave.origin = "$He offered $himself to you as a slave to escape a life of boredom.">>
 	<<set _slave.career = "a party girl">>
@@ -79,16 +62,10 @@
 	<<set _slave.pubicHStyle = "waxed">>
 	<<set _slave.underArmHStyle = "waxed">>
 <<case "whore recruit">>
-	<<set _pram = {disableDisability: 1}>>
+	<<set _pram = {disableDisability: 1, race: "nonslave"}>>
 	<<if $minimumSlaveAge < 14 && $pedo_mode === 0>>
 		<<set _pram.minAge = random($minimumSlaveAge, 14)>>
 	<</if>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
 	<<set _slave = GenerateNewSlave("XX", _pram)>>
 	<<set _slave.origin = "$He offered $himself to you as a slave to escape the hard life of a free whore.">>
 	<<set _slave.career = "a prostitute">>
@@ -123,26 +100,12 @@
 	<<set _slave.underArmHStyle = "waxed">>
 	<<set _slave.custom.tattoo = "$He has a tear tattooed under each eye.">>
 <<case "female debtor">>
-	<<set _pram = {disableDisability: 1}>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
-	<<set _slave = GenerateNewSlave("XX", _pram)>>
+	<<set _slave = GenerateNewSlave("XX", {disableDisability: 1, race: "nonslave"})>>
 	<<set _slave.origin = "$He was enslaved after $he fell into debt to you.">>
 	<<set _slave.devotion = random(-45,-25)>>
 	<<set _slave.trust = random(-15,0)>>
 <<case "male debtor">>
-	<<set _pram = {maxAge: 30, disableDisability: 1}>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
-	<<set _slave = GenerateNewSlave("XY", _pram)>>
+	<<set _slave = GenerateNewSlave("XY", {maxAge: 30, disableDisability: 1, race: "nonslave"})>>
 	<<set _slave.origin = "You turned $him into a slave $girl after $he fell into debt to you.">>
 	<<set _slave.devotion = random(-45,-25)>>
 	<<set _slave.trust = random(-15,0)>>
@@ -152,7 +115,7 @@
 	<<set _slave.skill.whoring = 0>>
 	<<set _slave.hStyle = either("short", "very short")>>
 <<case "desperate preg">>
-	<<set _pram = {ageOverridesPedoMode: 1, disableDisability: 1}>>
+	<<set _pram = {ageOverridesPedoMode: 1, disableDisability: 1, race: "nonslave"}>>
 	<<if $pedo_mode == 1>>
 		<<set _pram.minAge = $fertilityAge>>
 	<<elseif $minimumSlaveAge < 18>>
@@ -162,12 +125,6 @@
 		<<set _pram.minAge = 25>>
 		<<set _pram.maxAge = 30>>
 	<</if>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
 	<<set _slave = GenerateNewSlave("XX", _pram)>>
 	<<run generateSalonModifications(_slave)>>
 	<<set _slave.origin = "$He sold $himself into slavery out of fear that life on the streets was endangering $his pregnancy.">>
@@ -189,18 +146,12 @@
 	<<set _slave.fetishKnown = 0>>
 	<<run setHealth(_slave, jsRandom(-40, -20), undefined, undefined, undefined, 50)>>
 <<case "blind homeless">>
-	<<set _pram = {maxAge: 22, ageOverridesPedoMode: 1, disableDisability: 1}>>
+	<<set _pram = {maxAge: 22, ageOverridesPedoMode: 1, disableDisability: 1, race: "nonslave"}>>
 	<<if $pedo_mode == 1>>
 		<<set _pram.minAge = $fertilityAge>>
 	<<else>>
 		<<set _pram.minAge = 18>>
 	<</if>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
 	<<set _slave = GenerateNewSlave("XX", _pram)>>
 	<<set _slave.origin = "$He offered $himself as a slave to escape the horrors a blind $girl faces on the streets.">>
 	<<set _slave.devotion = random(20,30)>>
@@ -221,13 +172,7 @@
 	<<set _slave.fetishKnown = 0>>
 	<<run setHealth(_slave, jsRandom(-60, -20), undefined, undefined, undefined, 60)>>
 <<case "paternalist swan song">>
-	<<set _pram = {minAge: 10, maxAge: 14, disableDisability: 1}>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
+	<<set _pram = {minAge: 10, maxAge: 14, disableDisability: 1, race: "nonslave"}>>
 	<<set _slave = GenerateNewSlave(null, _pram)>>
 	<<set _slave.origin = "$He came to you to escape being sold to a cruel master after $his producer informed $him of $his debt.">>
 	<<set _slave.career = "a musician">>
@@ -253,14 +198,8 @@
 	<<set _slave.prestigeDesc = "$He was a famous young musical prodigy known throughout both the old world and the Free Cities.">>
 	<<set _slave.accent = 1>>
 <<case "desperate milf">>
-	<<set _pram = {minAge: $fertilityAge + $minimumSlaveAge, ageOverridesPedoMode: 1, disableDisability: 1}>>
+	<<set _pram = {minAge: $fertilityAge + $minimumSlaveAge, ageOverridesPedoMode: 1, disableDisability: 1, race: "nonslave"}>>
 	<<set _pram.maxAge = Math.max(_pram.minAge,$retirementAge-2)>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
 	<<set _slave = GenerateNewSlave("XX", _pram)>>
 	<<set _slave.origin = "$He sold $himself into slavery to escape life on the streets.">>
 	<<set _slave.devotion = random(0,15)>>
@@ -273,14 +212,7 @@
 	<<set _slave.fetishKnown = 0>>
 	<<run setHealth(_slave, jsRandom(-70, -60), normalRandInt(10, 3), normalRandInt(10, 3), Math.max(normalRandInt(1, 0.5), 0))>>
 <<case "tg addict">>
-	<<set _pram = {maxAge: 25, disableDisability: 1}>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
-	<<set _slave = GenerateNewSlave("XY", _pram)>>
+	<<set _slave = GenerateNewSlave("XY", {maxAge: 25, disableDisability: 1, race: "nonslave"})>>
 	<<set _slave.origin = "You tricked $him into enslavement, manipulating $him based on $his surgical addiction.">>
 	<<set _slave.devotion = random(-75,-60)>>
 	<<set _slave.trust = random(-15,0)>>
@@ -354,14 +286,7 @@
 	<<set _slave.pubertyAgeXY = 50>>
 	<<set _slave.birthWeek = 0>>
 <<case "handsome PC">>
-	<<set _pram = {minAge: random(12, 16), maxAge: 19, disableDisability: 1}>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
-	<<set _slave = GenerateNewSlave("XX", _pram)>>
+	<<set _slave = GenerateNewSlave("XX", {minAge: random(12, 16), maxAge: 19, disableDisability: 1, race: "nonslave"})>>
 	<<run generateSalonModifications(_slave)>>
 	<<set _slave.origin = "$He asked to be enslaved out of naïve infatuation with you.">>
 	<<set _slave.devotion = random(25,30)>>
@@ -377,14 +302,7 @@
 	<<set _slave.birthWeek = random(0,2)>>
 	<<set _slave.earPiercing = random(0,1)>>
 <<case "womanly PC">>
-	<<set _pram = {minAge: 28, maxAge: 32, disableDisability: 1}>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
-	<<set _slave = GenerateNewSlave("XX", _pram)>>
+	<<set _slave = GenerateNewSlave("XX", {minAge: 28, maxAge: 32, disableDisability: 1, race: "nonslave"})>>
 	<<run generateSalonModifications(_slave)>>
 	<<set _slave.origin = "$He asked to be enslaved in the hope you'd treat a fellow woman well.">>
 	<<set _slave.devotion = random(10,15)>>
@@ -404,14 +322,7 @@
 	<<set _slave.shouldersTat = either("flowers", "tribal patterns", 0, 0)>>
 	<<set _slave.stampTat = either("flowers", "tribal patterns", 0, 0)>>
 <<case "shemale PC">>
-	<<set _pram = {minAge: 13, maxAge: 20, disableDisability: 1}>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
-	<<set _slave = GenerateNewSlave("XY", _pram)>>
+	<<set _slave = GenerateNewSlave("XY", {minAge: 13, maxAge: 20, disableDisability: 1, race: "nonslave"})>>
 	<<run generateSalonModifications(_slave)>>
 	<<set _slave.origin = "$He asked to be enslaved since $he felt you were $his only hope of becoming a prettier woman.">>
 	<<set _slave.devotion = random(10,15)>>
@@ -445,14 +356,7 @@
 	<<set _slave.anusTat = either("bleached")>>
 	<<set _slave.pubicHStyle = "waxed">>
 <<case "female SD">>
-	<<set _pram = {minAge: 13, maxAge: 21, disableDisability: 1}>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
-	<<set _slave = GenerateNewSlave("XX", _pram)>>
+	<<set _slave = GenerateNewSlave("XX", {minAge: 13, maxAge: 21, disableDisability: 1, race: "nonslave"})>>
 	<<run generateSalonModifications(_slave)>>
 	<<set _slave.origin = "$He got into debt for damaging someone's property during a student protest and you bought out $his debt.">>
 	<<set _slave.devotion = random(-25,0)>>
@@ -478,14 +382,7 @@
 	<<set _slave.career = "a student">>
 	<<set _slave.behavioralFlaw = "liberated">>
 <<case "male SD">>
-	<<set _pram = {minAge: 13, maxAge: 20, disableDisability: 1}>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
-	<<set _slave = GenerateNewSlave("XY", _pram)>>
+	<<set _slave = GenerateNewSlave("XY", {minAge: 13, maxAge: 20, disableDisability: 1, race: "nonslave"})>>
 	<<run generateSalonModifications(_slave)>>
 	<<set _slave.origin = "$He got into debt for damaging someone's property during a student protest and you bought out $his debt.">>
 	<<set _slave.devotion = random(-30,-5)>>
@@ -513,14 +410,7 @@
 	<<set _slave.career = "a student">>
 	<<set _slave.behavioralFlaw = "liberated">>
 <<case "female SD 2">>
-	<<set _pram = {minAge: 13, maxAge: 27, disableDisability: 1}>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
-	<<set _slave = GenerateNewSlave("XX", _pram)>>
+	<<set _slave = GenerateNewSlave("XX", {minAge: 13, maxAge: 27, disableDisability: 1, race: "nonslave"})>>
 	<<set _slave.origin = "$He got into debt for damaging someone's property during a student protest and you bought out $his debt.">>
 	<<set _slave.devotion = -100>>
 	<<set _slave.trust = 60>>
@@ -561,14 +451,7 @@
 	<<set _slave.override_H_Color = 1>>
 	<<set _slave.hColor = either("blue", "green", "purple")>>
 <<case "female SE">>
-	<<set _pram = {maxAge: 21, disableDisability: 1}>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
-	<<set _slave = GenerateNewSlave("XX", _pram)>>
+	<<set _slave = GenerateNewSlave("XX", {maxAge: 21, disableDisability: 1, race: "nonslave"})>>
 	<<set _slave.origin = "$He enslaved $himself to be with a man $he loved, only to be sold to you afterward.">>
 	<<set _slave.devotion = random(-30,-5)>>
 	<<set _slave.trust = random(-25,-5)>>
@@ -598,14 +481,7 @@
 	<<set _slave.behavioralFlaw = "devout">>
 	<<set _slave.sexualFlaw = "idealistic">>
 <<case "MTF SE">>
-	<<set _pram = {maxAge: 21, disableDisability: 1}>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
-	<<set _slave = GenerateNewSlave("XY", _pram)>>
+	<<set _slave = GenerateNewSlave("XY", {maxAge: 21, disableDisability: 1, race: "nonslave"})>>
 	<<set _slave.origin = "$He enslaved $himself to be with a man $he loved, only to be sold to you afterward.">>
 	<<set _slave.devotion = random(-30,-5)>>
 	<<set _slave.trust = random(-25,-5)>>
@@ -637,14 +513,7 @@
 	<<set _slave.behavioralFlaw = "devout">>
 	<<set _slave.sexualFlaw = "idealistic">>
 <<case "DG SE">>
-	<<set _pram = {maxAge: 21, disableDisability: 1}>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
-	<<set _slave = GenerateNewSlave("XY", _pram)>>
+	<<set _slave = GenerateNewSlave("XY", {maxAge: 21, disableDisability: 1, race: "nonslave"})>>
 	<<set _slave.origin = "$He enslaved $himself to be with a man $he loved, only to be sold to you afterward.">>
 	<<set _slave.devotion = random(-30,-5)>>
 	<<set _slave.trust = random(-25,-5)>>
@@ -1381,17 +1250,7 @@
 	<<set _slave.prestige = 1>>
 	<<set _slave.prestigeDesc = "$He is the spoiled $daughter of a wealthy old world businessman. Many will pay well to use $him to discredit $his father and family.">>
 <<case "starving artist">>
-	<<set _pram = {
-		minAge: 18, maxAge: 42, 
-		disableDisability: 1
-	}>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
-	<<set _slave = GenerateNewSlave(null, _pram)>>
+	<<set _slave = GenerateNewSlave(null, {minAge: 18, maxAge: 42, disableDisability: 1, race: "nonslave"})>>
 	<<run generateSalonModifications(_slave)>>
 	<<set _slave.origin = "$He offered $himself to you for enslavement out of devotion to $his artistic 'craft'.">>
 	<<set _slave.boobs = random(4,6)*50>>
@@ -1445,14 +1304,7 @@
 	<<set _slave.behavioralQuirk = "insecure">>
 	<<set _slave.sexualQuirk = "caring">>
 <<case "immigrant">>
-	<<set _pram = {}>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
-	<<set _slave = GenerateNewSlave(null, _pram)>>
+	<<set _slave = GenerateNewSlave(null, {race: "nonslave"})>>
 	<<run generateSalonModifications(_slave)>>
 	<<set _slave.origin = "$He sold $himself into slavery to pay $his immigration costs.">>
 	<<set _slave.devotion = random(-45,-25)>>
@@ -1510,14 +1362,8 @@
 <<case "desperate birth">>
 	<<set _pram = {
 		minAge: $fertilityAge, maxAge: 22, 
-		ageOverridesPedoMode: 1, disableDisability: 1
+		ageOverridesPedoMode: 1, disableDisability: 1, race: "nonslave"
 	}>>
-	<<if $arcologies[0].FSSupremacistLawME === 1>>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
 	<<set _slave = GenerateNewSlave("XX", _pram)>>
 	<<run generateSalonModifications(_slave)>>
 	<<set _slave.origin = "You helped $him give birth, leaving $him deeply indebted to you.">>
@@ -1624,14 +1470,8 @@
 	<<set _pram = {
 		minAge: Math.max($fertilityAge, 8),
 		maxAge: ($pedo_mode === 1 ? 16 : 22),
-		ageOverridesPedoMode: 1, ageOverridesPedoMode: 1
+		ageOverridesPedoMode: 1, race: "nonslave"
 	}>>
-	<<if $arcologies[0].FSSupremacist != "unset">>
-		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-	<<elseif $arcologies[0].FSSubjugationist != "unset">>
-		<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-		<<set _pram.race = _races.random()>>
-	<</if>>
 	<<set _slave = GenerateNewSlave("XX", _pram)>>
 	<<set _slave.origin = "$His womb held a baby you desired.">>
 	<<set _slave.face = 100>>
diff --git a/src/uncategorized/reShelterInspection.tw b/src/uncategorized/reShelterInspection.tw
index 5a9fb2eabca..c685892d020 100644
--- a/src/uncategorized/reShelterInspection.tw
+++ b/src/uncategorized/reShelterInspection.tw
@@ -2,15 +2,8 @@
 
 <<set $nextButton = " ", $nextLink = "RIE Eligibility Check">>
 
-
-<<if $arcologies[0].FSSupremacistLawME == 1>>
-	<<set _race = $arcologies[0].FSSupremacistRace>>
-<<elseif $arcologies[0].FSSubjugationistLawME == 1>>
-	<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-	<<set _race = _races.random()>>
-<</if>>
 <<set _ContractCost = 10000>>
-<<set _slave = GenerateNewSlave("XX", {minAge: 36, maxAge: 42, ageOverridesPedoMode: 1, race: _race, disableDisability: 1})>>
+<<set _slave = GenerateNewSlave("XX", {minAge: 36, maxAge: 42, ageOverridesPedoMode: 1, race: "nonslave", disableDisability: 1})>>
 <<set _slave.origin = "$He was once an inspector for the Shelter, but you put a stop to that.">>
 <<set _slave.career = "a charity worker">>
 <<set _slave.devotion = random(-90,-75)>>
diff --git a/src/uncategorized/recETS.tw b/src/uncategorized/recETS.tw
index bc13008e094..69300f527ed 100644
--- a/src/uncategorized/recETS.tw
+++ b/src/uncategorized/recETS.tw
@@ -61,14 +61,7 @@
 	<<switch $RecETSevent>>
 		<<case "addict mother daughter">>
 			<<set _ContractCost = 1000>>
-			<<set _pram = {minAge: $fertilityAge + $minimumSlaveAge, maxAge: 40, ageOverridesPedoMode: 1, disableDisability: 1}>>
-			<<if $arcologies[0].FSSupremacistLawME === 1>>
-				<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-			<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-				<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-				<<set _pram.race = _races.random()>>
-			<</if>>
-
+			<<set _pram = {minAge: $fertilityAge + $minimumSlaveAge, maxAge: 40, ageOverridesPedoMode: 1, disableDisability: 1, race: "nonslave"}>>
 			<<set _slave = GenerateNewSlave("XX", _pram)>>
 			<<set _slave.origin = "$He sold $himself into slavery to escape addiction debts.">>
 			<<set _slave.career = App.Data.Careers.General.uneducated.random()>>
@@ -90,14 +83,7 @@
 			<<set _slaveCost -= 1000>>
 		<<case "posh mother daughter">>
 			<<set _ContractCost = 1500>>
-			<<set _pram = {minAge: $fertilityAge + $minimumSlaveAge, maxAge: 40, ageOverridesPedoMode: 1, disableDisability: 1}>>
-			<<if $arcologies[0].FSSupremacistLawME === 1>>
-				<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-			<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-				<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-				<<set _pram.race = _races.random()>>
-			<</if>>
-
+			<<set _pram = {minAge: $fertilityAge + $minimumSlaveAge, maxAge: 40, ageOverridesPedoMode: 1, disableDisability: 1, race: "nonslave"}>>
 			<<set _slave = GenerateNewSlave("XX", _pram)>>
 			<<set _slave.origin = "$He was enslaved after you called in $his business debts.">>
 			<<set _slave.career = "a business owner">>
@@ -388,15 +374,7 @@
 			/* _slaveCost not needed, no option to sell */
 		<<case "mismatched pair">>
 			<<set _ContractCost = 1500>>
-			<<set _pram = {minAge:  $minimumSlaveAge, maxAge: 21, disableDisability: 1}>>
-			<<if $arcologies[0].FSSupremacistLawME === 1>>
-				<<set _pram.race = $arcologies[0].FSSupremacistRace>>
-			<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
-				<<set _races = App.Utils.getNonSubjugationistSlaveRaces()>>
-				<<set _pram.race = _races.random()>>
-			<</if>>
-
-			<<set _slave = GenerateNewSlave("XY", _pram)>>
+			<<set _slave = GenerateNewSlave("XY", {minAge:  $minimumSlaveAge, maxAge: 21, disableDisability: 1, race: "nonslave"})>>
 			<<set _slave.origin = "$He was sold into slavery by $his older sister.">>
 			<<set _slave.career = "a prostitute">>
 			<<set _slave.devotion = random(-15,15)>>
-- 
GitLab