diff --git a/src/Mods/SpecialForce/TrickShotNight.tw b/src/Mods/SpecialForce/TrickShotNight.tw
index 39c1758f0a91f3a3e8b52fdb6feb30c0a711cfef..ad6d9ca743cc3b3007b6bffc9a4efdcf753b0a64 100644
--- a/src/Mods/SpecialForce/TrickShotNight.tw
+++ b/src/Mods/SpecialForce/TrickShotNight.tw
@@ -67,20 +67,17 @@ 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">>
-						<<set $activeSlaveOneTimeMinAge = 25>>
-						<<set $activeSlaveOneTimeMaxAge = 35>>
-						<<set $one_time_age_overrides_pedo_mode = 1>>
-						<<set $oneTimeDisableDisability = 1>>
 						<<if $arcologies[0].FSSupremacistLawME == 1>>
-							<<set $fixedRace = $arcologies[0].FSSupremacistRace>>
+							<<set _race = $arcologies[0].FSSupremacistRace>>
 						<<elseif $arcologies[0].FSSubjugationistLawME == 1>>
 							<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSubjugationistRace)>>
-							<<set $fixedRace = _races.random()>>
+							<<set _race = _races.random()>>
 						<</if>>
+						<<set _genParam = {minAge: 25, maxAge: 35, ageOverridesPedoMode: 1, race: _race, disableDisability: 1}>>
 						<<if $seeDicks != 100>>
-							<<set $activeSlave = GenerateNewSlave("XX")>>
+							<<set $activeSlave = GenerateNewSlave("XX", _genParam)>>
 						<<else>>
-							<<set $activeSlave = GenerateNewSlave("XY")>>
+							<<set $activeSlave = GenerateNewSlave("XY", _genParam)>>
 						<</if>>
 						<<set $activeSlave.origin = "$He put $himself up as collateral at a trick shot game, and lost.">>
 						<<set $activeSlave.career = "a soldier">>
diff --git a/src/markets/eliteSlave.tw b/src/markets/eliteSlave.tw
index c2814c58e847d4bbf2a76bbd70153399003522e7..7bba87b8776bf0c110b2e70f3739d808943be7a5 100644
--- a/src/markets/eliteSlave.tw
+++ b/src/markets/eliteSlave.tw
@@ -8,25 +8,23 @@ You check to see if any potential breeding slaves are on auction. <<if $eliteAuc
 <<set $eliteAuctioned = 1>>
 
 <<if $arcologies[0].FSMaturityPreferentialist > 20>>
-	<<set $activeSlaveOneTimeMinAge = 25>>
+	<<set _minAge = 25>>
 <<else>>
-	<<set $activeSlaveOneTimeMinAge = $fertilityAge>>
+	<<set _minAge = $fertilityAge>>
 <</if>>
 <<if $arcologies[0].FSYouthPreferentialist > 20>>
-	<<set $activeSlaveOneTimeMaxAge = 23>>
+	<<set _maxAge = 23>>
 <<else>>
-	<<set $activeSlaveOneTimeMaxAge = 40>>
+	<<set _maxAge = 40>>
 <</if>>
-<<set $one_time_age_overrides_pedo_mode = 1>>
-<<set $oneTimeDisableDisability = 1>>
 <<if $arcologies[0].FSSupremacist != "unset">>
-	<<set $fixedRace = $arcologies[0].FSSupremacistRace>>
+	<<set _race = $arcologies[0].FSSupremacistRace>>
 <<elseif $arcologies[0].FSSubjugationist != "unset">>
 	<<set _races = ["amerindian", "asian", "asian", "asian", "asian", "asian", "asian", "black", "black", "indo-aryan", "indo-aryan", "latina", "latina", "latina", "malay", "malay", "middle eastern", "middle eastern", "mixed race", "pacific islander", "semitic", "semitic", "southern european", "southern european", "white", "white", "white", "white", "white", "white", "white", "white", "white"]>>
 	<<set _races = _races.delete($arcologies[0].FSSubjugationistRace)>>
-	<<set $fixedRace = _races.random()>>
+	<<set _race = _races.random()>>
 <</if>>
-<<set $activeSlave = GenerateNewSlave("XX")>>
+<<set $activeSlave = GenerateNewSlave("XX", {minAge: _minAge, maxAge: _maxAge, ageOverridesPedoMode: 1, race: _race, disableDisability: 1})>>
 <<set $activeSlave.origin = "$He was purchased from a member of the Elite.">>
 <<set $activeSlave.career = "a slave">>
 <<set $activeSlave.prestige = 1>>
diff --git a/src/markets/householdLiquidator.tw b/src/markets/householdLiquidator.tw
index af760dd4da3af999d4813e4fc230741ca917a9f2..c88af71dbc5e225488bd21e2d90f9c3713e469ba 100644
--- a/src/markets/householdLiquidator.tw
+++ b/src/markets/householdLiquidator.tw
@@ -6,8 +6,7 @@
 
 <<if random(1,100) > 50>>
 
-<<set $oneTimeDisableDisability = 1>>
-<<set $activeSlave = GenerateNewSlave()>>
+<<set $activeSlave = GenerateNewSlave(null, {disableDisability: 1})>>
 <<set $activeSlave.origin = "You bought $him from the household liquidator.">>
 <<set $activeSlave.devotion = random(-75,-25)>>
 <<set $activeSlave.trust = random(-45,-25)>>
@@ -35,13 +34,7 @@ The household liquidator is offering a set of siblings for sale. You are permitt
 
 <<elseif random(1,100) > 20>>
 
-/% Begin younger parents submod. %/
-<<set $activeSlaveOneTimeMinAge = $fertilityAge + $minimumSlaveAge>>
-<<set $activeSlaveOneTimeMaxAge = 42>>
-<<set $one_time_age_overrides_pedo_mode = 1>> /% Old enough to have a child who can be a slave. %/
-/% End younger parents submod. %/
-<<set $oneTimeDisableDisability = 1>>
-<<set $activeSlave = GenerateNewSlave()>>
+<<set $activeSlave = GenerateNewSlave(null, {minAge: ($fertilityAge + $minimumSlaveAge), maxAge: 42, ageOverridesPedoMode: 1, mature: , nationality: , race: , disableDisability: 1})>>
 <<set $activeSlave.origin = "You bought $him from the household liquidator.">>
 <<set $activeSlave.devotion = random(-75,-25)>>
 <<set $activeSlave.trust = random(-45,-25)>>
@@ -73,8 +66,7 @@ The household liquidator is offering a $mother and $his <<if $activeSlave.genes
 
 <<else>>
 
-<<set $oneTimeDisableDisability = 1>>
-<<set $activeSlave = GenerateNewSlave()>>
+<<set $activeSlave = GenerateNewSlave({disableDisability: 1})>>
 <<set $activeSlave.origin = "You bought $him from the household liquidator.">>
 <<set $activeSlave.devotion = random(-75,-25)>>
 <<set $activeSlave.trust = random(-45,-25)>>
diff --git a/src/npc/acquisition.tw b/src/npc/acquisition.tw
index d1e22197f4c7d785b5f10d884f2c90c9f402a22a..52fcc6c06f02f917891997851c46b98ac065dbce 100644
--- a/src/npc/acquisition.tw
+++ b/src/npc/acquisition.tw
@@ -476,8 +476,7 @@ The previous owner seems to have left in something of a hurry.
 		<<case "AztecRevivalist">>
 			<<set $oneTimeDisableDisability = 1>>
 			<<set $fixedRace = "latina">>
-			<<set $fixedNationality = "Mexican">>
-			<<set $activeSlave = GenerateNewSlave()>>
+			<<set $activeSlave = GenerateNewSlave(null, {nationality: "Mexican"})>>
 			<<set $activeSlave.accent = 0>>
 			<<set $activeSlave.devotion = 75, $activeSlave.trust = 75>>
 			<<run setHealth($activeSlave, jsRandom(-20, 20), 0, 0, 0, 0)>>
@@ -504,8 +503,7 @@ The previous owner seems to have left in something of a hurry.
 		<<case "EdoRevivalist">>
 			<<set $oneTimeDisableDisability = 1>>
 			<<set $fixedRace = "asian">>
-			<<set $fixedNationality = "Japanese">>
-			<<set $activeSlave = GenerateNewSlave()>>
+			<<set $activeSlave = GenerateNewSlave(null, {nationality: "Japanese"})>>
 			<<set $activeSlave.accent = 0>>
 			<<set $activeSlave.devotion = random(25,45), $activeSlave.trust = random(25,45)>>
 			<<run setHealth($activeSlave, jsRandom(25, 45), 0, 0, 0, 0)>>
@@ -529,8 +527,7 @@ The previous owner seems to have left in something of a hurry.
 			<<set $one_time_age_overrides_pedo_mode = 1>>
 			<<set $oneTimeDisableDisability = 1>>
 			<<set $fixedRace = "asian">>
-			<<set $fixedNationality = "Chinese">>
-			<<set $activeSlave = GenerateNewSlave()>>
+			<<set $activeSlave = GenerateNewSlave(null, {nationality: "Chinese"})>>
 			<<set $activeSlave.devotion = random(55,65), $activeSlave.trust = random(25,45)>>
 			<<run setHealth($activeSlave, jsRandom(25, 45), 0, 0, 0, 0)>>
 			<<set $activeSlave.face = random(0,55)>>
diff --git a/src/npc/generate/generateNewSlaveJS.js b/src/npc/generate/generateNewSlaveJS.js
index 5f5b28b5063e9a033fbc4c5754f761ec22e4607f..1d6e3ef428e5a91b35f2455015679fcac9f99c95 100644
--- a/src/npc/generate/generateNewSlaveJS.js
+++ b/src/npc/generate/generateNewSlaveJS.js
@@ -44,7 +44,7 @@ globalThis.GenerateNewSlave = (function() {
 		x.maxAge = maxAge || V.activeSlaveOneTimeMaxAge || 999;
 		x.ageOverridesPedoMode = ageOverridesPedoMode || V.one_time_age_overrides_pedo_mode || 0;
 		x.mature = mature || 1;
-		x.nationality = nationality || V.fixedNationality || 0;
+		x.nationality = nationality || 0;
 		x.race = race || V.fixedRace || 0;
 		if (x.race !== 0 && !(setup.filterRacesLowercase.includes(x.race))) {
 			console.log("Error, cannot find race: ", x.race);
@@ -65,7 +65,6 @@ globalThis.GenerateNewSlave = (function() {
 		delete V.activeSlaveOneTimeMinAge;
 		delete V.activeSlaveOneTimeMaxAge;
 		delete V.one_time_age_overrides_pedo_mode;
-		delete V.fixedNationality;
 		delete V.fixedRace;
 		delete V.oneTimeDisableDisability;
 
diff --git a/src/pregmod/FCTV/seFCTVremote.tw b/src/pregmod/FCTV/seFCTVremote.tw
index a321adba2bbfb6d01cac02c17914b868ba35b838..42cec0b944499df81129ce8c956a1e42ce3ab861 100644
--- a/src/pregmod/FCTV/seFCTVremote.tw
+++ b/src/pregmod/FCTV/seFCTVremote.tw
@@ -2,17 +2,14 @@
 
 <<set $nextButton = "Continue", $nextLink = "Scheduled Event", $returnTo = "Scheduled Event", $encyclopedia = "FCTV", $FCTV.remote = 2>>
 
-<<set $activeSlaveOneTimeMinAge = 25>>
-<<set $activeSlaveOneTimeMaxAge = 35>>
-<<set $one_time_age_overrides_pedo_mode = 1>>
-<<set $oneTimeDisableDisability = 1>>
+
 <<if $arcologies[0].FSSupremacistLawME == 1>>
-	<<set $fixedRace = $arcologies[0].FSSupremacistRace>>
+	<<set _race = $arcologies[0].FSSupremacistRace>>
 <<elseif $arcologies[0].FSSubjugationistLawME == 1>>
 	<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSubjugationistRace)>>
-	<<set $fixedRace = _races.random()>>
+	<<set _race = _races.random()>>
 <</if>>
-<<set _slave = GenerateNewSlave()>>
+<<set _slave = GenerateNewSlave(null, {minAge: 25, maxAge: 35, ageOverridesPedoMode: 1, race: _race, disableDisability: 1})>>
 
 <<set _slave.devotion = 0>>
 <<set _slave.trust = 0>>
@@ -88,20 +85,17 @@
 		<<replace "#scene">>
 
 			/* set up customer */
-			<<set $activeSlaveOneTimeMinAge = 25>>
-			<<set $activeSlaveOneTimeMaxAge = 35>>
-			<<set $one_time_age_overrides_pedo_mode = 1>>
-			<<set $oneTimeDisableDisability = 1>>
 			<<if $arcologies[0].FSSupremacistLawME == 1>>
-				<<set $fixedRace = $arcologies[0].FSSupremacistRace>>
+				<<set _race = $arcologies[0].FSSupremacistRace>>
 			<<elseif $arcologies[0].FSSubjugationistLawME == 1>>
 				<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSubjugationistRace)>>
-				<<set $fixedRace = _races.random()>>
+				<<set _race = _races.random()>>
 			<</if>>
+			<<set _genParam = {minAge: 25, maxAge: 35, ageOverridesPedoMode: 1, race: _race, disableDisability: 1}>>
 			<<if $seeDicks > random(1,99)>>
-				<<set _customer = GenerateNewSlave("XY")>>
+				<<set _customer = GenerateNewSlave("XY", _genParam)>>
 			<<else>>
-				<<set _customer = GenerateNewSlave("XX")>>
+				<<set _customer = GenerateNewSlave("XX", _genParam)>>
 			<</if>>
 			<<set _customer = GenerateNewSlave()>>
 			<<set _customer.devotion = 0>>
diff --git a/src/pregmod/pRaped.tw b/src/pregmod/pRaped.tw
index 3b3f74bc797350cc5dcb90d0804e52129a835007..861b3e0ab0f56cd04ba945a753a8da999e47b4cf 100644
--- a/src/pregmod/pRaped.tw
+++ b/src/pregmod/pRaped.tw
@@ -4,16 +4,15 @@
 
 <<setPlayerPronouns>>
 
-<<set $activeSlaveOneTimeMinAge = 16>>
-<<set $oneTimeDisableDisability = 1>>
 <<if $arcologies[0].FSSupremacistLawME == 1>>
-	<<set $fixedRace = $arcologies[0].FSSupremacistRace>>
+	<<set _race = $arcologies[0].FSSupremacistRace>>
 <<elseif $arcologies[0].FSSubjugationistLawME == 1>>
 	<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSubjugationistRace)>>
-	<<set $fixedRace = _races.random()>>
+	<<set _race = _races.random()>>
 <</if>>
+<<set _genParam = {minAge: 16, race: _race, disableDisability: 1}>>
 <<if $PC.vagina >= 0>>
-	<<set $activeSlave = GenerateNewSlave("XY")>>
+	<<set $activeSlave = GenerateNewSlave("XY", _genParam)>>
 	<<set $activeSlave.dick = 6>>
 	<<set $activeSlave.balls = 5>>
 	<<set $activeSlave.boobs = 0>>
@@ -21,7 +20,7 @@
 	<<set $activeSlave.skill.oral = 0>>
 	<<set $activeSlave.skill.anal = 0>>
 <<else>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
+	<<set $activeSlave = GenerateNewSlave("XX", _genParam)>>
 	<<set $activeSlave.vagina = 1>>
 	<<set $activeSlave.preg = 0>>
 	<<set $activeSlave.weight = random(-20,30)>>
diff --git a/src/pregmod/reTheSirenStrikesBack.tw b/src/pregmod/reTheSirenStrikesBack.tw
index c24337547c7ba457a6f9479a49d7f5ee5ab7ccb0..45c94ea84ff53752cd6dec3113f3c1f1f34f9fef 100644
--- a/src/pregmod/reTheSirenStrikesBack.tw
+++ b/src/pregmod/reTheSirenStrikesBack.tw
@@ -6,14 +6,11 @@
 <<set _ssb = $slaves.find(function(s) { return s.origin == "$He came to you to escape being sold to a cruel master after $his producer informed $him of $his debt." && s.newGamePlus == 0 && s.fetish != "mindbroken" && s.fuckdoll == 0; })>>
 
 <<if $pedo_mode == 1>>
-	<<set $activeSlaveOneTimeMinAge = 16>>
+	<<set _minAge = 16>>
 <<else>>
-	<<set $activeSlaveOneTimeMinAge = 30>>
+	<<set _minAge = 30>>
 <</if>>
-<<set $activeSlaveOneTimeMaxAge = 40>>
-<<set $one_time_age_overrides_pedo_mode = 1>>
-<<set $oneTimeDisableDisability = 1>>
-<<set $activeSlave = GenerateNewSlave()>>
+<<set $activeSlave = GenerateNewSlave(null, {minAge: _minAge, maxAge: 40, ageOverridesPedoMode: 1, disableDisability: 1})>>
 <<set $activeSlave.origin = "$He was brought to you to pay for what $he did to one of your slaves.">>
 <<set $activeSlave.career = "a producer">>
 <<set $activeSlave.devotion = random(-70,30)>>
diff --git a/src/pregmod/seHuskSlaveDelivery.tw b/src/pregmod/seHuskSlaveDelivery.tw
index 318855e4c148b70b70e67e389137a476054a6260..c2079cb81bdd72a153cef01aa320b4bb7e2271f9 100644
--- a/src/pregmod/seHuskSlaveDelivery.tw
+++ b/src/pregmod/seHuskSlaveDelivery.tw
@@ -5,17 +5,16 @@
 <<set $activeSlaveOneTimeMinAge = parseInt($huskSlave.age)>>
 <<set $activeSlaveOneTimeMaxAge = parseInt($huskSlave.age)>>
 <<set $one_time_age_overrides_pedo_mode = 1>>
-<<set $fixedNationality = $huskSlave.nationality>>
 <<if $huskSlave.race != "not important">>
 	<<set $fixedRace = $huskSlave.race>>
 <</if>>
 <<if $huskSlave.sex == 2>>
-	<<set $activeSlave = GenerateNewSlave("XY", {mature: 0})>>
+	<<set $activeSlave = GenerateNewSlave("XY", {mature: 0, nationality: $huskSlave.nationality})>>
 	<<set $activeSlave.boobs = 50>>
 	<<set $activeSlave.boobsImplant = 0>>
 	<<set $activeSlave.boobsImplantType = "none">>
 <<else>>
-	<<set $activeSlave = GenerateNewSlave("XX", {mature: 0})>>
+	<<set $activeSlave = GenerateNewSlave("XX", {mature: 0, nationality: $huskSlave.nationality})>>
 <</if>>
 
 <<set $activeSlave.slaveName = "Doll">>
diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw
index 7633fcf64f0eb84fd406aa770b5756d8583ff078..9e6128a4681ac946212a102aa1d834bbabf0891b 100644
--- a/src/uncategorized/RESS.tw
+++ b/src/uncategorized/RESS.tw
@@ -65,18 +65,13 @@
 <<if $RESSevent == "mean girls">>
 	<<set _newSlaves = []>>
 	<<for _ress = 0; _ress < 3; _ress++>>
-		<<set $oneTimeDisableDisability = 1>>
 		<<if $arcologies[0].FSSupremacistLawME == 1>>
-			<<set $fixedRace = $arcologies[0].FSSupremacistRace>>
+			<<set _race = $arcologies[0].FSSupremacistRace>>
 		<<elseif $arcologies[0].FSSubjugationistLawME == 1>>
 			<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSubjugationistRace)>>
-			<<set $fixedRace = _races.random()>>
+			<<set _race = _races.random()>>
 		<</if>>
-		<<set $fixedNationality = "American">>
-		<<set $one_time_age_overrides_pedo_mode = 1>>
-		<<set $activeSlaveOneTimeMinAge = 16>>
-		<<set $activeSlaveOneTimeMaxAge = 19>>
-		<<set _meanGirl = GenerateNewSlave("XX")>>
+		<<set _meanGirl = GenerateNewSlave("XX", {minAge: 16, maxAge: 19, ageOverridesPedoMode: 1, nationality: "American", race: _race, 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/REroyalblood.tw b/src/uncategorized/REroyalblood.tw
index 87f444edb073ad7badfa77c137a09ffa2bdbe0f7..4328209a088c5770895dfbaeb69ffa4b3b6939a1 100644
--- a/src/uncategorized/REroyalblood.tw
+++ b/src/uncategorized/REroyalblood.tw
@@ -394,8 +394,7 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 			<<set $activeSlaveOneTimeMinAge = 21>>
 			<<set $activeSlaveOneTimeMaxAge = ($retirementAge-2)>>
 			<<set $oneTimeDisableDisability = 1>>
-			<<set $fixedNationality = _princess.nationality>>
-			<<set $activeSlave = GenerateNewSlave("XX")>>
+			<<set $activeSlave = GenerateNewSlave("XX", {nationality: _princess.nationality})>>
 			<<set _origin = "$He was a member of the court in an ancient kingdom, till it was overthrown and $he was sold to you in exchange for credits.">>
 			<<set $activeSlave.origin = _origin>>
 			<<set $activeSlave.career = "a lady courtier">>
@@ -445,8 +444,7 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 			<<set $activeSlaveOneTimeMinAge = 21>>
 			<<set $activeSlaveOneTimeMaxAge = ($retirementAge-2)>>
 			<<set $oneTimeDisableDisability = 1>>
-			<<set $fixedNationality = _princess.nationality>>
-			<<set $activeSlave = GenerateNewSlave("XX")>>
+			<<set $activeSlave = GenerateNewSlave("XX", {nationality: _princess.nationality})>>
 			<<set _origin = "$He was a member of the court in an ancient kingdom, till it was overthrown and $he was acquired by "+$SF.Lower+".">>
 			<<set $activeSlave.origin = _origin>>
 			<<set $activeSlave.career = "a lady courtier">>
@@ -619,8 +617,7 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 			<<set $activeSlaveOneTimeMinAge = 21>>
 			<<set $activeSlaveOneTimeMaxAge = ($retirementAge-2)>>
 			<<set $oneTimeDisableDisability = 1>>
-			<<set $fixedNationality = _princess.nationality>>
-			<<set $activeSlave = GenerateNewSlave("XX")>>
+			<<set $activeSlave = GenerateNewSlave("XX", {nationality: _princess.nationality})>>
 			<<set _origin = "$He was a member of the court in an ancient kingdom, till it was overthrown and $he was sold for credits.">>
 			<<set $activeSlave.origin = _origin>>
 			<<set $activeSlave.career = "a lady courtier">>
@@ -680,8 +677,7 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 			<<set $activeSlaveOneTimeMinAge = 21>>
 			<<set $activeSlaveOneTimeMaxAge = ($retirementAge-2)>>
 			<<set $oneTimeDisableDisability = 1>>
-			<<set $fixedNationality = _princess.nationality>>
-			<<set $activeSlave = GenerateNewSlave("XX")>>
+			<<set $activeSlave = GenerateNewSlave("XX", {nationality: _princess.nationality})>>
 			<<set _origin = "$He was a member of the court in an ancient kingdom, till it was overthrown and $he was acquired by "+$SF.Lower+".">>
 			<<set $activeSlave.origin = _origin>>
 			<<set $activeSlave.career = "a lady courtier">>
@@ -764,8 +760,7 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 				<<set $activeSlaveOneTimeMinAge = 21>>
 				<<set $activeSlaveOneTimeMaxAge = ($retirementAge-2)>>
 				<<set $oneTimeDisableDisability = 1>>
-				<<set $fixedNationality = _princess.nationality>>
-				<<set $activeSlave = GenerateNewSlave("XX")>>
+				<<set $activeSlave = GenerateNewSlave("XX", {nationality: _princess.nationality})>>
 				<<set _origin = "$He was a member of the court in an ancient kingdom, till it was overthrown and $he was sold for credits.">>
 				<<set $activeSlave.origin = _origin>>
 				<<set $activeSlave.career = "a lady courtier">>
@@ -866,9 +861,8 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 				<<for $i = 0; $i < 3; $i++>>
 					<<set $activeSlaveOneTimeMinAge = 21>>
 					<<set $activeSlaveOneTimeMaxAge = ($retirementAge-2)>>
-					<<set $fixedNationality = _princess.nationality>>
 					<<set $oneTimeDisableDisability = 1>>
-					<<set $activeSlave = GenerateNewSlave("XX")>>
+					<<set $activeSlave = GenerateNewSlave("XX", {nationality: _princess.nationality})>>
 					<<set _origin = "$He was a member of the court in an ancient kingdom, till it was overthrown and $he was acquired by "+$SF.Lower+".">>
 					<<set $activeSlave.origin = _origin>>
 					<<set $activeSlave.career = "a lady courtier">>
diff --git a/src/uncategorized/pRivalryCapture.tw b/src/uncategorized/pRivalryCapture.tw
index 65ff10a18c0efdb862bfc6dd344931e05a3153d5..9490863e8b9622efb4de03e1bc099b14489b1d90 100644
--- a/src/uncategorized/pRivalryCapture.tw
+++ b/src/uncategorized/pRivalryCapture.tw
@@ -24,13 +24,12 @@
 <</if>>
 <<set _rivalType = _rivalType.random()>>
 
-<<set $oneTimeDisableDisability = 1>>
-<<if setup.filterRacesLowercase.includes($rivalRace)>><<set $fixedRace = $rivalRace>><</if>>
+<<if setup.filterRacesLowercase.includes($rivalRace)>>
+	<<set _race = $rivalRace>>
+<</if>>
 <<switch _rivalType>>
 <<case "expansionist shemale">>
-	<<set $activeSlaveOneTimeMinAge = 18>>
-	<<set $activeSlaveOneTimeMaxAge = 42>>
-	<<set $activeSlave = GenerateNewSlave("XY")>>
+	<<set $activeSlave = GenerateNewSlave("XY", {minAge: 18, maxAge: 42, race: _race, disableDisability: 1})>>
 	<<set $activeSlave.face = 100>>
 	<<set $activeSlave.faceImplant = 15>>
 	<<set $activeSlave.faceShape = "androgynous">>
@@ -62,9 +61,7 @@
 	<<set $activeSlave.hStyle = "luxurious">>
 	<<set $activeSlave.hLength = 80>>
 <<case "cum addict">>
-	<<set $activeSlaveOneTimeMinAge = 18>>
-	<<set $activeSlaveOneTimeMaxAge = 42>>
-	<<set $activeSlave = GenerateNewSlave("XY")>>
+	<<set $activeSlave = GenerateNewSlave("XY", {minAge: 18, maxAge: 42, race: _race, disableDisability: 1})>>
 	<<set $activeSlave.chem = 3000>>
 	<<set $activeSlave.face = 100>>
 	<<set $activeSlave.faceShape = "masculine">>
@@ -95,9 +92,7 @@
 	<<set $activeSlave.hStyle = "neat">>
 	<<set $activeSlave.hLength = 20>>
 <<case "hung shota">>
-	<<set $activeSlaveOneTimeMinAge = $minimumSlaveAge>>
-	<<set $activeSlaveOneTimeMaxAge = 18>>
-	<<set $activeSlave = GenerateNewSlave("XY")>>
+	<<set $activeSlave = GenerateNewSlave("XY", {minAge: $minimumSlaveAge, maxAge: 42, race: _race, disableDisability: 1})>>
 	<<set $activeSlave.face = 100>>
 	<<set $activeSlave.faceShape = "androgynous">>
 	<<set $activeSlave.muscles = 0>>
@@ -126,9 +121,7 @@
 	<<set $activeSlave.sexualQuirk = "perverted">>
 	<<set $activeSlave.hLength = 20>>
 <<case "masculine">>
-	<<set $activeSlaveOneTimeMinAge = 18>>
-	<<set $activeSlaveOneTimeMaxAge = 42>>
-	<<set $activeSlave = GenerateNewSlave("XY")>>
+	<<set $activeSlave = GenerateNewSlave("XY", {minAge: 18, maxAge: 42, race: _race, disableDisability: 1})>>
 	<<set $activeSlave.face = 55>>
 	<<set $activeSlave.faceImplant = 0>>
 	<<set $activeSlave.faceShape = "masculine">>
@@ -155,9 +148,7 @@
 	<<set $activeSlave.hStyle = "neat">>
 	<<set $activeSlave.hLength = 5>>
 <<case "micropenis">>
-	<<set $activeSlaveOneTimeMinAge = 18>>
-	<<set $activeSlaveOneTimeMaxAge = 42>>
-	<<set $activeSlave = GenerateNewSlave("XY")>>
+	<<set $activeSlave = GenerateNewSlave("XY", {minAge: 18, maxAge: 42, race: _race, disableDisability: 1})>>
 	<<set $activeSlave.face = 55>>
 	<<set $activeSlave.faceImplant = 0>>
 	<<set $activeSlave.faceShape = "masculine">>
@@ -184,9 +175,7 @@
 	<<set $activeSlave.hStyle = "neat">>
 	<<set $activeSlave.hLength = 5>>
 <<case "bull dyke">>
-	<<set $activeSlaveOneTimeMinAge = 18>>
-	<<set $activeSlaveOneTimeMaxAge = 42>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
+	<<set $activeSlave = GenerateNewSlave("XX", {minAge: 18, maxAge: 42, race: _race, disableDisability: 1})>>
 	<<set $activeSlave.face = 55>>
 	<<set $activeSlave.faceImplant = 0>>
 	<<set $activeSlave.faceShape = "androgynous">>
@@ -221,13 +210,13 @@
 	<<set $activeSlave.hLength = 5>>
 <<case "breeder">>
 	<<if $pedo_mode == 1>>
-		<<set $activeSlaveOneTimeMinAge = ($fertilityAge + 6)>>
-		<<set $one_time_age_overrides_pedo_mode = 1>> /% Old enough to have been pregnant many times. %/
+		<<set _minAge = ($fertilityAge + 6)>>
+		<<set _pedo = 1>> /* Old enough to have been pregnant many times. */
 	<<else>>
-		<<set $activeSlaveOneTimeMinAge = 18>>
-		<<set $activeSlaveOneTimeMaxAge = 42>>
+		<<set _minAge = 18>>
+		<<set _maxAge = 42>>
 	<</if>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
+	<<set $activeSlave = GenerateNewSlave("XX", {minAge: _minAge, maxAge: _maxAge, ageOverridesPedoMode: _pedo, race: _race, disableDisability: 1})>>
 	<<set $activeSlave.pubertyXX = 1>>
 	<<set $activeSlave.face = 100>>
 	<<set $activeSlave.faceImplant = 0>>
@@ -279,9 +268,7 @@
 	<<set $activeSlave.hStyle = "luxurious">>
 	<<set $activeSlave.hLength = 80>>
 <<case "oppai loli">>
-	<<set $activeSlaveOneTimeMinAge = $minimumSlaveAge>>
-	<<set $activeSlaveOneTimeMaxAge = 12>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
+	<<set $activeSlave = GenerateNewSlave("XX", {minAge: $minimumSlaveAge, maxAge: 12, race: _race, disableDisability: 1})>>
 	<<set $activeSlave.face = 100>>
 	<<set $activeSlave.faceImplant = 0>>
 	<<set $activeSlave.faceShape = "cute">>
@@ -309,9 +296,7 @@
 	<<set $activeSlave.hStyle = "twin tails">>
 	<<set $activeSlave.hLength = 40>>
 <<case "cow">>
-	<<set $activeSlaveOneTimeMinAge = 18>>
-	<<set $activeSlaveOneTimeMaxAge = 42>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
+	<<set $activeSlave = GenerateNewSlave("XX", {minAge: 18, maxAge: 42, race: _race, disableDisability: 1})>>
 	<<set $activeSlave.face = 55>>
 	<<set $activeSlave.faceImplant = 0>>
 	<<set $activeSlave.faceShape = "cute">>
@@ -340,9 +325,7 @@
 	<<set $activeSlave.hStyle = "neat">>
 	<<set $activeSlave.hLength = 5>>
 <<case "bimbo">>
-	<<set $activeSlaveOneTimeMinAge = 18>>
-	<<set $activeSlaveOneTimeMaxAge = 42>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
+	<<set $activeSlave = GenerateNewSlave("XX", {minAge: 18, maxAge: 42, race: _race, disableDisability: 1})>>
 	<<set $activeSlave.face = 100>>
 	<<set $activeSlave.faceImplant = 65>>
 	<<set $activeSlave.faceShape = "sensual">>
@@ -374,9 +357,7 @@
 	<<set $activeSlave.hStyle = "tails">>
 	<<set $activeSlave.hLength = 80>>
 <<default>>
-	<<set $activeSlaveOneTimeMinAge = 18>>
-	<<set $activeSlaveOneTimeMaxAge = 42>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
+	<<set $activeSlave = GenerateNewSlave("XX", {minAge: 18, maxAge: 42, race: _race, disableDisability: 1})>>
 	<<set $activeSlave.face = 100>>
 	<<set $activeSlave.faceImplant = 15>>
 	<<set $activeSlave.muscles = 0>>
diff --git a/src/uncategorized/pRivalryHostage.tw b/src/uncategorized/pRivalryHostage.tw
index e94b8d581e099f434e603736639edeb3a395f4c4..24534cc2a561f5c25a1bab39d1c9340661a5f039 100644
--- a/src/uncategorized/pRivalryHostage.tw
+++ b/src/uncategorized/pRivalryHostage.tw
@@ -4,14 +4,13 @@
 
 <<set $hostageAnnounced = 1>>
 
-<<set $oneTimeDisableDisability = 1>>
 <<if $arcologies[0].FSSupremacistLawME == 1>>
-	<<set $fixedRace = $arcologies[0].FSSupremacistRace>>
+	<<set _race = $arcologies[0].FSSupremacistRace>>
 <<elseif $arcologies[0].FSSubjugationistLawME == 1>>
 	<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSubjugationistRace)>>
-	<<set $fixedRace = _races.random()>>
+	<<set _race = _races.random()>>
 <</if>>
-<<set $activeSlave = GenerateNewSlave("XX")>>
+<<set $activeSlave = GenerateNewSlave("XX", {race: _race, disableDisability: 1})>>
 <<set $activeSlave.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 $activeSlave.boobs = 400>>
 <<set $activeSlave.butt = 3>>
diff --git a/src/uncategorized/pSlaveMedic.tw b/src/uncategorized/pSlaveMedic.tw
index 736f4f573cb775c97271ff91db61455537739df3..457232b761e39599d0f0cf526b23ad39f7021f24 100644
--- a/src/uncategorized/pSlaveMedic.tw
+++ b/src/uncategorized/pSlaveMedic.tw
@@ -4,16 +4,16 @@
 
 <<set $eventResults.slaveMedic = 0>>
 
-<<set $oneTimeDisableDisability = 1>>
 <<if $pedo_mode == 1>>
-	<<set $activeSlaveOneTimeMinAge = $minimumSlaveAge>>
-	<<set $activeSlaveOneTimeMaxAge = 18>>
+	<<set _minAge = $minimumSlaveAge>>
+	<<set _maxAge = 18>>
 <<else>>
-	<<set $activeSlaveOneTimeMinAge = 25>>
-	<<set $activeSlaveOneTimeMaxAge = 42>>
+	<<set _minAge = 25>>
+	<<set _maxAge = 42>>
 <</if>>
+<<set _genParam = {minAge: _minAge, maxAge: _maxAge, disableDisability: 1}>>
 <<if $seeDicks >= 100>>
-	<<set $activeSlave = GenerateNewSlave("XY")>>
+	<<set $activeSlave = GenerateNewSlave("XY", _genParam)>>
 	<<set $activeSlave.dick = 5>>
 	<<set $activeSlave.foreskin = 0>>
 	<<set $activeSlave.balls = 3>>
@@ -21,7 +21,7 @@
 	<<set $activeSlave.butt = 3>>
 	<<set $activeSlave.attrXY = 70>>
 <<else>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
+	<<set $activeSlave = GenerateNewSlave("XX", _genParam)>>
 	<<set $activeSlave.vagina = 2>>
 	<<set $activeSlave.preg = -1>>
 	<<set $activeSlave.ovaries = 1>>
diff --git a/src/uncategorized/reAWOL.tw b/src/uncategorized/reAWOL.tw
index e9df601411f8f6f5b4fb25149bb73c82950e88b5..651c3acc5f6865cf8d57404255f1ebc937f58929 100644
--- a/src/uncategorized/reAWOL.tw
+++ b/src/uncategorized/reAWOL.tw
@@ -3,23 +3,22 @@
 <<set $nextButton = "Continue", $nextLink = "RIE Eligibility Check", $returnTo = "RIE Eligibility Check">>
 
 <<if $pedo_mode == 1>>
-	<<set $activeSlaveOneTimeMinAge = 21>>
+	<<set _minAge = 21>>
 <<else>>
-	<<set $activeSlaveOneTimeMinAge = 38>>
+	<<set _minAge = 38>>
 <</if>>
-<<set $activeSlaveOneTimeMaxAge = 43>>
-<<set $one_time_age_overrides_pedo_mode = 1>>
-<<set $oneTimeDisableDisability = 1>>
+
 <<if $arcologies[0].FSSupremacistLawME == 1>>
-	<<set $fixedRace = $arcologies[0].FSSupremacistRace>>
+	<<set _race = $arcologies[0].FSSupremacistRace>>
 <<elseif $arcologies[0].FSSubjugationistLawME == 1>>
 	<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSubjugationistRace)>>
-	<<set $fixedRace = _races.random()>>
+	<<set _race = _races.random()>>
 <</if>>
+<<set _genParam = {minAge: _minAge, maxAge: 43, ageOverridesPedoMode: 1, race: _race, disableDisability: 1}>>
 <<if $seeDicks != 100>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
+	<<set $activeSlave = GenerateNewSlave("XX", _genParam)>>
 <<else>>
-	<<set $activeSlave = GenerateNewSlave("XY")>>
+	<<set $activeSlave = GenerateNewSlave("XY", _genParam)>>
 <</if>>
 <<set $activeSlave.origin = "You sentenced $him to enslavement as a punishment for dereliction of $his duty to you as a mercenary and for theft.">>
 <<set $activeSlave.career = "a soldier">>
diff --git a/src/uncategorized/reFSEgyptianRevivalistAcquisition.tw b/src/uncategorized/reFSEgyptianRevivalistAcquisition.tw
index 81ef873928769a8250fce13c17f992b965a120c4..b13df215d74c715b69b23bceea735afd08e4889d 100644
--- a/src/uncategorized/reFSEgyptianRevivalistAcquisition.tw
+++ b/src/uncategorized/reFSEgyptianRevivalistAcquisition.tw
@@ -6,10 +6,7 @@
 <<set $introType = "egyptian", $newSlavesDone = 0, $newSlaveIndex = 0, _newSlaves = []>>
 
 <<set _contractCost = 3000>>
-<<set $oneTimeDisableDisability = 1>>
-<<set $activeSlaveOneTimeMinAge = Math.max(16, $minimumSlaveAge + 3)>>
-<<set $activeSlaveOneTimeMaxAge = 29>>
-<<set $activeSlave = GenerateNewSlave()>>
+<<set $activeSlave = GenerateNewSlave(null, {minAge: Math.max(16, $minimumSlaveAge + 3), maxAge: 29, disableDisability: 1})>>
 <<run generateSalonModifications($activeSlave)>>
 <<set $activeSlave.origin = "$He offered $himself to you for enslavement hoping you would preserve $his incestuous relationship with $his sibling.">>
 <<set $activeSlave.devotion = random(5,15)>>
diff --git a/src/uncategorized/reMilfTourist.tw b/src/uncategorized/reMilfTourist.tw
index 067c85cc5a7287b1722d49feac7b012bd0a3abe7..14ca8e626ccc0c58e4bb1c663578f08268bfce12 100644
--- a/src/uncategorized/reMilfTourist.tw
+++ b/src/uncategorized/reMilfTourist.tw
@@ -6,17 +6,13 @@
 <<set _milfSlave = $slaves[_milfed]>>
 <<run Enunciate(_milfSlave)>>
 
-<<set $activeSlaveOneTimeMinAge = 36>>
-<<set $activeSlaveOneTimeMaxAge = 42>>
-<<set $one_time_age_overrides_pedo_mode = 1>> /* middle-aged */
-<<set $oneTimeDisableDisability = 1>>
 <<if $arcologies[0].FSSupremacistLawME == 1>>
-	<<set $fixedRace = $arcologies[0].FSSupremacistRace>>
+	<<set _race = $arcologies[0].FSSupremacistRace>>
 <<elseif $arcologies[0].FSSubjugationistLawME == 1>>
 	<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSubjugationistRace)>>
-	<<set $fixedRace = _races.random()>>
+	<<set _race = _races.random()>>
 <</if>>
-<<set $activeSlave = GenerateNewSlave("XX")>>
+<<set $activeSlave = GenerateNewSlave("XX", {minAge: 36, maxAge: 42, ageOverridesPedoMode: 1, race: _race, disableDisability: 1})>>
 <<set $activeSlave.origin = "$He came to your arcology as a tourist and found $himself enslaved.">>
 <<set $activeSlave.devotion = random(-70,-55)>>
 <<set $activeSlave.trust = random(-45,-25)>>
diff --git a/src/uncategorized/rePokerNight.tw b/src/uncategorized/rePokerNight.tw
index d5e1767247ec97fe3ef76c2bf1c8cfad2ef6993c..e727fda708c79ef1e84955d7f1e915a5cf938ca0 100644
--- a/src/uncategorized/rePokerNight.tw
+++ b/src/uncategorized/rePokerNight.tw
@@ -54,20 +54,17 @@ On a particularly lackadaisical evening, you find yourself alerted to a message
 				<</link>>
 				<br>
 				<<link "Up the ante">>
-					<<set $activeSlaveOneTimeMinAge = 38>>
-					<<set $activeSlaveOneTimeMaxAge = 43>>
-					<<set $one_time_age_overrides_pedo_mode = 1>>
-					<<set $oneTimeDisableDisability = 1>>
 					<<if $arcologies[0].FSSupremacistLawME == 1>>
-						<<set $fixedRace = $arcologies[0].FSSupremacistRace>>
+						<<set _race = $arcologies[0].FSSupremacistRace>>
 					<<elseif $arcologies[0].FSSubjugationistLawME == 1>>
 						<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSubjugationistRace)>>
-						<<set $fixedRace = _races.random()>>
+						<<set _race = _races.random()>>
 					<</if>>
+					<<set _genParam = {minAge: 38, maxAge: 43, ageOverridesPedoMode: 1, race: _race, disableDisability:1}>>
 					<<if $seeDicks != 100>>
-						<<set $activeSlave = GenerateNewSlave("XX")>>
+						<<set $activeSlave = GenerateNewSlave("XX", _genParam)>>
 					<<else>>
-						<<set $activeSlave = GenerateNewSlave("XY")>>
+						<<set $activeSlave = GenerateNewSlave("XY", _genParam)>>
 					<</if>>
 					<<set $activeSlave.origin = "$He put $himself up as collateral at a poker game, and lost.">>
 					<<set $activeSlave.career = "a soldier">>
diff --git a/src/uncategorized/reRecruit.tw b/src/uncategorized/reRecruit.tw
index d0a2ce1dcb1610037dd30fb74f05c8c96d9770d3..b2930cd3b6c898db09f9bdc9536a3910e007fdd8 100644
--- a/src/uncategorized/reRecruit.tw
+++ b/src/uncategorized/reRecruit.tw
@@ -1645,8 +1645,7 @@
 <<set $activeSlaveOneTimeMaxAge = 12>>
 <<set $oneTimeDisableDisability = 1>>
 <<set $fixedRace = "asian">>
-<<set $fixedNationality = "Stateless">>
-<<set $activeSlave = GenerateNewSlave("XX")>>
+<<set $activeSlave = GenerateNewSlave("XX", {nationality: "Stateless"})>>
 <<set $activeSlave.origin = "$He offered to sell you $his body and you graciously accepted.">>
 <<set $activeSlave.devotion = random(-45,-25)>>
 <<set $activeSlave.trust = random(-15,0)>>
diff --git a/src/uncategorized/reShelterInspection.tw b/src/uncategorized/reShelterInspection.tw
index 7351407d3d4b7f6202e7290bb94d9db6648029d7..0f7ca419cc211b295d9b3d485fe4077fca284e33 100644
--- a/src/uncategorized/reShelterInspection.tw
+++ b/src/uncategorized/reShelterInspection.tw
@@ -2,18 +2,15 @@
 
 <<set $nextButton = " ", $nextLink = "RIE Eligibility Check">>
 
-<<set $activeSlaveOneTimeMinAge = 36>>
-<<set $activeSlaveOneTimeMaxAge = 42>>
-<<set $one_time_age_overrides_pedo_mode = 1>>
-<<set $oneTimeDisableDisability = 1>>
+
 <<if $arcologies[0].FSSupremacistLawME == 1>>
-	<<set $fixedRace = $arcologies[0].FSSupremacistRace>>
+	<<set _race = $arcologies[0].FSSupremacistRace>>
 <<elseif $arcologies[0].FSSubjugationistLawME == 1>>
 	<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSubjugationistRace)>>
-	<<set $fixedRace = _races.random()>>
+	<<set _race = _races.random()>>
 <</if>>
 <<set _ContractCost = 10000>>
-<<set $activeSlave = GenerateNewSlave("XX")>>
+<<set $activeSlave = GenerateNewSlave("XX", {minAge: 36, maxAge: 42, ageOverridesPedoMode: 1, race: _race, disableDisability: 1})>>
 <<set $activeSlave.origin = "$He was once an inspector for the Shelter, but you put a stop to that.">>
 <<set $activeSlave.career = "a charity worker">>
 <<set $activeSlave.devotion = random(-90,-75)>>
diff --git a/src/uncategorized/seCustomSlaveDelivery.tw b/src/uncategorized/seCustomSlaveDelivery.tw
index 0cb1f84118a80b9939e782ebaa5e8b09628d6af7..b78b56d769bf99c43d96baed374d661f66c4b4df 100644
--- a/src/uncategorized/seCustomSlaveDelivery.tw
+++ b/src/uncategorized/seCustomSlaveDelivery.tw
@@ -104,19 +104,19 @@
 <</if>>
 <<set $one_time_age_overrides_pedo_mode = 1>>
 <<if $customSlave.nationality != "Nationality is unimportant">>
-	<<set $fixedNationality = $customSlave.nationality>>
+	<<set _nationality = $customSlave.nationality>>
 <</if>>
 <<if $customSlave.race != "ethnicity is unimportant">>
 	<<set $fixedRace = $customSlave.race>>
 <</if>>
 <<if $customSlave.sex == 2>>
-	<<set $activeSlave = GenerateNewSlave("XY", {mature: 0})>>
+	<<set $activeSlave = GenerateNewSlave("XY", {mature: 0, nationality: _nationality})>>
 	<<set $activeSlave.dick = $customSlave.dick>>
 	<<set $activeSlave.balls = $customSlave.balls>>
 	<<set $activeSlave.scrotum = $activeSlave.balls>>
 	<<set $activeSlave.foreskin = $activeSlave.dick>>
 <<else>>
-	<<set $activeSlave = GenerateNewSlave("XX", {mature: 0})>>
+	<<set $activeSlave = GenerateNewSlave("XX", {mature: 0, nationality: _nationality})>>
 	<<if $customSlave.virgin == 0>>
 		<<set $activeSlave.vagina = $customSlave.virgin>>
 	<</if>>
diff --git a/src/utility/slaveCreationWidgets.tw b/src/utility/slaveCreationWidgets.tw
index a5f750d8e5e63c400eb005c629fd4e7d67b727ad..37743cf33fdaf899db4e4357d6baa1e5bddc69a5 100644
--- a/src/utility/slaveCreationWidgets.tw
+++ b/src/utility/slaveCreationWidgets.tw
@@ -648,11 +648,7 @@
  Call as <<JFCSlave>>
 %/
 <<widget "JFCSlave">>
-	<<set $activeSlaveOneTimeMinAge = 20>>
-	<<set $activeSlaveOneTimeMaxAge = 36>>
-	<<set $one_time_age_overrides_pedo_mode = 1>>
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
+	<<set $activeSlave = GenerateNewSlave("XX", {minAge: 20, maxAge: 36, ageOverridesPedoMode: 1, disableDisability: 1})>>
 	<<set $activeSlave.weight = random(-30,20), $activeSlave.waist = random(-30,10), $activeSlave.face = random(40,60)>>
 	<<if $activeSlave.faceShape == "masculine">>
 		<<set $activeSlave.faceShape = "sensual">>