diff --git a/.eslintrc.json b/.eslintrc.json
index a6e42b5d1274fad3a79cc052a9a0b0ec9249abaa..82ee849b4bb73273ecf94939a04feca8da63589c 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -31,6 +31,7 @@
 		}
 	},
 	"rules": {
+		"no-prototype-builtins": "off",
 		"semi": ["warn", "always"],
 		"semi-spacing": "warn",
 		"semi-style": "warn",
diff --git a/js/003-data/gameVariableData.js b/js/003-data/gameVariableData.js
index fb1d09ee397096724d42d10f1a1fc13d952da78d..31eec13a017d7b762f927b9d5b8af6af2a0b566b 100644
--- a/js/003-data/gameVariableData.js
+++ b/js/003-data/gameVariableData.js
@@ -225,6 +225,29 @@ App.Data.CorpInitData = {
 	SpecRaces: []
 };
 
+// Black Market
+App.Data.FSWares = [
+	"AssetExpansionistResearch",
+	"GenderRadicalistResearch",
+	"HedonisticDecadenceResearch",
+	"SlaveProfessionalismResearch",
+	"SlimnessEnthusiastResearch",
+	"TransformationFetishistResearch",
+	"YouthPreferentialistResearch",
+];
+
+App.Data.illegalWares = [
+	"AnimalOrgans",
+	"asexualReproduction",
+	"BlackmarketPregAdaptation",
+	"childhoodFertilityInducedNCS",
+	"PGHack",
+	"RapidCellGrowthFormula",
+	"sympatheticOvaries",
+	"UterineRestraintMesh",
+];
+
+
 // The other half of the above whitelist.  However, entries in this array will be forced to the values set here upon starting NG+.
 App.Data.resetOnNGPlus = {
 	FCTV: {},
@@ -787,7 +810,7 @@ App.Data.resetOnNGPlus = {
 	farmMenialsSpace: 0,
 	farmyardDecoration: "standard",
 	farmyardUpgrade: {
-		pump: 0, fertilizer: 0, hydroponics: 0, machinery: 0, seeds: 0, lab: 0
+		pump: 0, fertilizer: 0, hydroponics: 0, machinery: 0, seeds: 0
 	},
 	farmyardCrops: 0,
 	farmyardStable: 0,
@@ -796,8 +819,6 @@ App.Data.resetOnNGPlus = {
 	activeCanine: 0,
 	activeHooved: 0,
 	activeFeline: 0,
-	farmyardLab: 0,
-	farmyardLabUpgrades: {animalOvaries: 0, animalTesticles: 0, animalMpreg: 0},
 	animalsBought: {
 		canines: 0, hooved: 0, felines: 0, labradorRetrievers: 0, germanShepherds: 0, goldenRetrievers: 0, frenchBulldogs: 0, bulldogs: 0, beagles: 0, poodles: 0, rottweilers: 0, yorkshireTerriers: 0, siberianHuskies: 0, horses: 0, bulls: 0, pigs: 0, siameses: 0, persians: 0, maineCoons: 0, ragdolls: 0, bengals: 0, abbysinians: 0, birmans: 0, orientalShorthairs: 0, sphynxes: 0, russianBlues: 0, wolves: 0, foxes: 0, jackals: 0, dingos: 0, zebras: 0, cougars: 0, jaguars: 0, pumas: 0, lynx: 0, leopards: 0, lions: 0, tigers: 0
 	},
@@ -1041,8 +1062,6 @@ App.Data.resetOnNGPlus = {
 	/** @type {FC.SlaveStateOrZero} */
 	Farmer: 0,
 	/** @type {FC.SlaveStateOrZero} */
-	Collectrix: 0,
-	/** @type {FC.SlaveStateOrZero} */
 	Stewardess: 0,
 	stewardessImpregnates: 0,
 	/** @type {FC.SlaveStateOrZero} */
@@ -1400,8 +1419,8 @@ App.Data.resetOnNGPlus = {
 	},
 	prosthetics: {},
 
-	merchantFSWares: ["AssetExpansionistResearch", "GenderRadicalistResearch", "HedonisticDecadenceResearch", "SlaveProfessionalismResearch", "SlimnessEnthusiastResearch", "TransformationFetishistResearch", "YouthPreferentialistResearch"],
-	merchantIllegalWares: ["asexualReproduction", "childhoodFertilityInducedNCS", "PGHack", "RapidCellGrowthFormula", "sympatheticOvaries", "UterineRestraintMesh", "BlackmarketPregAdaptation"], /* "AnimalOrgans" for future use */
+	merchantFSWares: App.Data.FSWares,
+	merchantIllegalWares: App.Data.illegalWares,
 	RapidCellGrowthFormula: 0,
 	UterineRestraintMesh: 0,
 	PGHack: 0,
diff --git a/src/003-assets/CSS/tabs.css b/src/003-assets/CSS/tabs.css
index 6076e6b370d7eb4cc90280436768323b287d6e46..dfbbd57abb7104b61f994bbd2e0fa052532a8e3d 100644
--- a/src/003-assets/CSS/tabs.css
+++ b/src/003-assets/CSS/tabs.css
@@ -1,24 +1,11 @@
-div.tabbar button.show-warning { /* dumb name, but warning and error already exist */
-	background-color: #b30000;
-	border-color: #b30000;
-}
-
-div.tabbar button.show-warning:hover {
-	background-color: #e60000
-}
-
-div.tabbar button.show-warning.active {
-	background-color: #4d0000;
-}
-
 div.tabbar {
 	overflow: hidden;
 }
 
 div.tabbar button {
-	background-color: #252525;
-	border: solid 2px #252525;
-	color: #68d;
+	background-color: var(--button-color);
+	border: solid 2px var(--button-color);
+	color: var(--link-color);
 	float: left;
 	outline: none;
 	cursor: pointer;
@@ -38,14 +25,27 @@ div.tabbar button.card.active {
 }
 
 div.tabbar button:hover {
-	background-color: #414141;
+	background-color: var(--button-hover-color);
 }
 
 div.tabbar button.active {
-	background-color: #050505;
+	background-color: var(--button-selected-color);
 	color: #c7cedf;
 }
 
+div.tabbar button.show-warning { /* dumb name, but warning and error already exist */
+	background-color: #b30000;
+	border-color: #b30000;
+}
+
+div.tabbar button.show-warning:hover {
+	background-color: #e60000
+}
+
+div.tabbar button.show-warning.active {
+	background-color: #4d0000;
+}
+
 div.tabbar a.active {
 	color: white;
 	pointer-events: none;
diff --git a/src/004-base/proxies.js b/src/004-base/proxies.js
index 40af52badfbb5fff43cec0fbf2036be990dbfec2..d28b2503a69bc3e04547a4efc47ff3ff24ac24d7 100644
--- a/src/004-base/proxies.js
+++ b/src/004-base/proxies.js
@@ -103,7 +103,8 @@ Object.defineProperty(window, "V", {
 		return State.variables;
 	}
 });
-//This should be used if the user might use V under normal, non-cheating circumstances but shouldn't be punished for accidentally setting the value. The attempt to make the change will simply be disregarded.
+
+// This should be used if the user might use V under normal, non-cheating circumstances but shouldn't be punished for accidentally setting the value. The attempt to make the change will simply be disregarded.
 globalThis.runWithReadonlyProxy = function(callback) {
 	globalThis.storyProxy = createReadonlyProxy(State.variables);
 	try {
diff --git a/src/004-base/specialSlavesProxy.js b/src/004-base/specialSlavesProxy.js
new file mode 100644
index 0000000000000000000000000000000000000000..8e6c1c7af988ef59c5d713c0d494f700ab11520a
--- /dev/null
+++ b/src/004-base/specialSlavesProxy.js
@@ -0,0 +1,58 @@
+App.SpecialSlavesProxy = class SpecialSlavesProxy {
+	constructor() {
+	}
+
+	get Attendant() {
+		return V.Attendant;
+	}
+	get Bodyguard() {
+		return V.Bodyguard;
+	}
+	get Concubine() {
+		return V.Concubine;
+	}
+	get DJ() {
+		return V.DJ;
+	}
+	get Farmer() {
+		return V.Farmer;
+	}
+	get HeadGirl() {
+		return V.HeadGirl;
+	}
+	get Lurcher() {
+		return slaveStateById(V.LurcherID);
+	}
+	get Madam() {
+		return V.Madam;
+	}
+	get Matron() {
+		return V.Matron;
+	}
+	get Milkmaid() {
+		return V.Milkmaid;
+	}
+	get Nurse() {
+		return V.Nurse;
+	}
+	get Recruiter() {
+		return V.Recruiter;
+	}
+	get Schoolteacher() {
+		return V.Schoolteacher;
+	}
+	get Stewardess() {
+		return V.Stewardess;
+	}
+	get Stud() {
+		return slaveStateById(V.StudID);
+	}
+	get Wardeness() {
+		return V.Wardeness;
+	}
+	get activeSlave() {
+		return V.activeSlave;
+	}
+};
+
+globalThis.S = new App.SpecialSlavesProxy();
diff --git a/src/Mods/SecExp/attackOptions.tw b/src/Mods/SecExp/attackOptions.tw
index 8bc565d2a597a515572d7cde479895be8065ce3e..a35834ca22790f257d0161370af7b44cc53019b9 100644
--- a/src/Mods/SecExp/attackOptions.tw
+++ b/src/Mods/SecExp/attackOptions.tw
@@ -5,11 +5,11 @@
 <</if>>
 <<set $nextButton = " ", $nextLink = "attackOptions", $showEncyclopedia = 1, $encyclopedia = "Battles">>
 
-<<options $SecExp.settings.unitDescriptions>>
-	Unit descriptions are
-	<<option 1 "Abbreviated">>
-	<<option 0 "Summarized">>
-<</options>>
+<<set _options = new App.UI.OptionsGroup()>>
+<<run _options.addOption("Unit descriptions are", "unitDescriptions", $SecExp.settings)
+.addValueList([["Abbreviated", 1], ["Summarized", 0]])>>
+<<print App.UI.DOM.includeDOM(_options.render())>>
+
 <br>
 
 <<if $majorBattle == 0>>
@@ -398,13 +398,11 @@ __Battle Plan__:
 <</if>>
 
 <<if $SF.Toggle && $SF.Active >= 1 && $majorBattle>> <br>
-	<<options $SFIntervention>>
-		The incoming attack's scale warrants deploying the special force.
-		<<option 1 "Green light">>
-		<<option 0 "Red light">>
-		<<comment>>
-			//Some upgrades will be able to support your troops even if the special force is not deployed in the fight.//
-	<</options>>
+	<<set _options = new App.UI.OptionsGroup()>>
+	<<run _options.addOption("The incoming attack's scale warrants deploying the special force.", "SFIntervention")
+	.addValue("Green light", 1).on().addValue("Red light", 0).off()
+	.addComment("Some upgrades will be able to support your troops even if the special force is not deployed in the fight.")>>
+	<<print App.UI.DOM.includeDOM(_options.render())>>
 <</if>>
 
 <<if $lastSelection.length > 0>> <br>
diff --git a/src/Mods/SecExp/buildings/secBarracks.tw b/src/Mods/SecExp/buildings/secBarracks.tw
index ada03c5458f4fe44f7ee34c8c3b2db0276cb0ebe..bc32450072ce23bb9e470afad7b6b461b4f579a6 100644
--- a/src/Mods/SecExp/buildings/secBarracks.tw
+++ b/src/Mods/SecExp/buildings/secBarracks.tw
@@ -127,11 +127,10 @@ __Units__
 <br>
 Your current maximum number of units is <<print App.SecExp.battle.maxUnits()>> (<<print num($secBots.maxTroops+(50*App.SecExp.battle.maxUnits()))>> troops), <<print App.SecExp.battle.activeUnits()>> (<<print num($secBots.maxTroops+($slavesEmployedManpower)+($militiaEmployedManpower)+($mercEmployedManpower))>> troops) are active and <<print (2 * App.SecExp.battle.deploySpeed())>> units can be deployed. <<if $SecExp.buildings.barracks.upgrades.luxury > 0>>The barracks provides <<print $SecExp.buildings.barracks.upgrades.luxury * 5>>% bonus morale when battle occurs.<</if>> <<if $SecExp.buildings.barracks.upgrades.training > 0>>The training facility will increase the effectiveness of your units with time.<</if>>
 <br>
-<<options $SecExp.settings.unitDescriptions>>
-	Unit descriptions are
-	<<option 1 "Abbreviated">>
-	<<option 0 "Summarized">>
-<</options>>
+<<set _options = new App.UI.OptionsGroup()>>
+<<run _options.addOption("Unit descriptions are", "unitDescriptions", $SecExp.settings)
+.addValue("Abbreviated", 1).on().addValue("Summarized", 0).off()>>
+<<print App.UI.DOM.includeDOM(_options.render())>>
 <<if App.SecExp.battle.activeUnits() >= App.SecExp.battle.maxUnits()>>
 	<br>You have reached the maximum number of units. You'll have to disband one or enlarge the barracks before forming a new unit.
 <</if>>
diff --git a/src/data/backwardsCompatibility/backwardsCompatibility.js b/src/data/backwardsCompatibility/backwardsCompatibility.js
index 14d2598f56a6f06fd48a83baece67d834e92a287..1f88910795b16ec3f83529e4da12347a6643fe8f 100644
--- a/src/data/backwardsCompatibility/backwardsCompatibility.js
+++ b/src/data/backwardsCompatibility/backwardsCompatibility.js
@@ -276,22 +276,10 @@ App.Update.globalVariables = function(node) {
 	// Items/upgrades purchased
 	{
 		if (V.merchantFSWares.length === 0) {
-			V.merchantFSWares.push("AssetExpansionistResearch");
-			V.merchantFSWares.push("GenderRadicalistResearch");
-			V.merchantFSWares.push("HedonisticDecadenceResearch");
-			V.merchantFSWares.push("SlaveProfessionalismResearch");
-			V.merchantFSWares.push("SlimnessEnthusiastResearch");
-			V.merchantFSWares.push("TransformationFetishistResearch");
-			V.merchantFSWares.push("YouthPreferentialistResearch");
+			V.merchantFSWares = Array.from(App.Data.FSWares);
 		}
 		if (V.merchantIllegalWares.length === 0) {
-			V.merchantIllegalWares.push("childhoodFertilityInducedNCS");
-			V.merchantIllegalWares.push("UterineRestraintMesh");
-			V.merchantIllegalWares.push("RapidCellGrowthFormula");
-			V.merchantIllegalWares.push("PGHack");
-			V.merchantIllegalWares.push("sympatheticOvaries");
-			V.merchantIllegalWares.push("asexualReproduction");
-			V.merchantIllegalWares.push("BlackmarketPregAdaptation");
+			V.merchantIllegalWares = Array.from(App.Data.illegalWares);
 		}
 		if (typeof V.arcologies[0].childhoodFertilityInducedNCSResearch === "undefined") {
 			V.arcologies[0].childhoodFertilityInducedNCSResearch = 0;
@@ -320,7 +308,7 @@ App.Update.globalVariables = function(node) {
 	animalsBought.forEach(function(species) { V.animalsBought[species] = V.animalsBought[species] || 0; });
 	if (typeof V.farmyardUpgrade !== "object") {
 		V.farmyardUpgrade = {
-			pump: 0, fertilizer: 0, hydroponics: 0, machinery: 0, seeds: 0, lab: 0
+			pump: 0, fertilizer: 0, hydroponics: 0, machinery: 0, seeds: 0
 		};
 	}
 
diff --git a/src/endWeek/endWeek.js b/src/endWeek/endWeek.js
index d562c80f5f89d3b3f52555b60daa5b58e38949c2..9e85353fffe49c46b898e94893944817959c0b0d 100644
--- a/src/endWeek/endWeek.js
+++ b/src/endWeek/endWeek.js
@@ -297,7 +297,6 @@ globalThis.endWeek = (function() {
 		V.DJRepBonus = 0;
 		V.Milkmaid = 0;
 		V.Farmer = 0;
-		V.Collectrix = 0;
 		V.Stewardess = 0;
 		V.Schoolteacher = 0;
 		V.Wardeness = 0;
diff --git a/src/endWeek/saPleaseYou.js b/src/endWeek/saPleaseYou.js
index da2c5c2384a4581b427026cc4e56eadcd0603157..15a65c0e46180303418a202440d6050a47fdbb1b 100644
--- a/src/endWeek/saPleaseYou.js
+++ b/src/endWeek/saPleaseYou.js
@@ -424,16 +424,16 @@ App.SlaveAssignment.pleaseYou = (function() {
 	 */
 	function useMouth(slave) {
 		if (V.fuckSlaves <= V.PC.sexualEnergy / 2) {
-			vaginalUse = jsRandom(21, 40);
+			oralUse = jsRandom(21, 40);
 		} else if (V.fuckSlaves <= V.PC.sexualEnergy) {
-			vaginalUse = jsRandom(7, 14);
+			oralUse = jsRandom(7, 14);
 		} else {
-			vaginalUse = jsRandom(3, 7);
+			oralUse = jsRandom(3, 7);
 		}
 		if (slave.assignment === "please you") {
-			vaginalUse = Math.ceil(vaginalUse * restEffects(slave, 11));
+			oralUse = Math.ceil(oralUse * restEffects(slave, 11));
 		} else {
-			vaginalUse = Math.ceil(vaginalUse * healthPenalty(slave));
+			oralUse = Math.ceil(oralUse * healthPenalty(slave));
 		}
 		if (slave.fuckdoll === 0) {
 			r.push(`${He} spends the week`);
diff --git a/src/endWeek/saPorn.js b/src/endWeek/saPorn.js
index 593c435bb36096387553bb2b0ef22333104c9147..e5b71af2f88ada3a66883cf9c0e0454614a62560 100644
--- a/src/endWeek/saPorn.js
+++ b/src/endWeek/saPorn.js
@@ -285,11 +285,13 @@ App.SlaveAssignment.porn = (function() {
 		if (slave.porn.prestige === 0 && slave.porn.viewerCount >= 100000) {
 			const pornFameGrabBag = App.Porn.getAllGenres().filter((g) => slave.porn.fame[g.fameVar] >= 10000);
 			if (pornFameGrabBag.length > 0) {
-				const genre = pornFameGrabBag.pluck();
+				const weightedGrabBagIndices = {};
+				pornFameGrabBag.forEach((g, i) => weightedGrabBagIndices[i] = slave.porn.fame[g.fameVar]); // Attach weights to the indices of pornFameGrabBag
+				const genre = pornFameGrabBag[hashChoice(weightedGrabBagIndices)]; // hashChoice selects an index according to the weights
 				slave.porn.fameType = genre.fameName;
 				slave.porn.prestige = 1;
 
-				r += `<span style="green">${He} has gained a following in ${slave.porn.fameType} pornography!</span> ${genre.prestigeDesc1}, but ${he} isn't famous enough to be called prestigious yet. `;
+				r += `<span class="green">${He} has gained a following in ${slave.porn.fameType} pornography!</span> ${genre.prestigeDesc1}, but ${he} isn't famous enough to be called prestigious yet. `;
 				slave.porn.prestigeDesc = `$He has a following in slave pornography. ${genre.prestigeDesc1}.`;
 				if (genre.type === App.Porn.GenreType.fetish && slave.fetishKnown !== 1) {
 					slave.fetishKnown = 1;
diff --git a/src/facilities/farmyard/farmyard.tw b/src/facilities/farmyard/farmyard.tw
index 4669c8803bca2e3c5d6bdf6d6573434b4d17d3f3..943d081a97d5b7b82468a02a54a06508383d1a46 100644
--- a/src/facilities/farmyard/farmyard.tw
+++ b/src/facilities/farmyard/farmyard.tw
@@ -79,7 +79,7 @@
 				<<if $farmMenials > 0>>
 					<<set $menials += $farmMenials>>
 				<</if>>
-				<<set $farmyardName = "the Farmyard", $farmyard = 0, $farmyardDecoration = "standard", $farmMenials = 0, $farmMenialsSpace = 0, $farmyardShows = 0, $farmyardBreeding = 0, $farmyardUpgrade = {pump: 0, fertilizer: 0, hydroponics: 0, machinery: 0, seeds: 0, lab: 0}, $farmyardLab = 0, $farmyardLabUpgrades = {animalOvaries: 0, animalTesticles: 0, animalMpreg: 0}, $farmyardCrops = 0, $farmyardKennels = 0, $farmyardStable = 0, $farmyardCages = 0, $activeCanine = 0, $activeHooved = 0, $activeFeline = 0, $animalsBought = {canines: 0, hooved: 0, felines: 0, labradorRetrievers: 0, germanShepherds: 0, goldenRetrievers: 0, frenchBulldogs: 0, bulldogs: 0, beagles: 0, poodles: 0, rottweilers: 0, yorkshireTerriers: 0, siberianHuskies: 0, horses: 0, bulls: 0, pigs: 0, siameses: 0, persians: 0, maineCoons: 0, ragdolls: 0, bengals: 0, abbysinians: 0, birmans: 0, orientalShorthairs: 0, sphynxes: 0, russianBlues: 0, wolves: 0, foxes: 0, jackals: 0, dingos: 0, zebras: 0, cougars: 0, jaguars: 0, pumas: 0, lynx: 0, leopards: 0, lions: 0, tigers: 0}, $pitAnimal = 0, $pitAnimalType = 0, $canines = [], $hooved = [], $felines = []>>
+				<<set $farmyardName = "the Farmyard", $farmyard = 0, $farmyardDecoration = "standard", $farmMenials = 0, $farmMenialsSpace = 0, $farmyardShows = 0, $farmyardBreeding = 0, $farmyardUpgrade = {pump: 0, fertilizer: 0, hydroponics: 0, machinery: 0, seeds: 0}, $farmyardCrops = 0, $farmyardKennels = 0, $farmyardStable = 0, $farmyardCages = 0, $activeCanine = 0, $activeHooved = 0, $activeFeline = 0, $animalsBought = {canines: 0, hooved: 0, felines: 0, labradorRetrievers: 0, germanShepherds: 0, goldenRetrievers: 0, frenchBulldogs: 0, bulldogs: 0, beagles: 0, poodles: 0, rottweilers: 0, yorkshireTerriers: 0, siberianHuskies: 0, horses: 0, bulls: 0, pigs: 0, siameses: 0, persians: 0, maineCoons: 0, ragdolls: 0, bengals: 0, abbysinians: 0, birmans: 0, orientalShorthairs: 0, sphynxes: 0, russianBlues: 0, wolves: 0, foxes: 0, jackals: 0, dingos: 0, zebras: 0, cougars: 0, jaguars: 0, pumas: 0, lynx: 0, leopards: 0, lions: 0, tigers: 0}, $pitAnimal = 0, $pitAnimalType = 0, $canines = [], $hooved = [], $felines = []>>
 				<<run App.Arcology.cellUpgrade($building, App.Arcology.Cell.Manufacturing, "Farmyard", "Manufacturing")>>
 			<</link>>
 		</div>
@@ -276,19 +276,6 @@
 		<</if>>
 	<</if>>
 <</if>>
-<<if $rep > 18000>>
-	<<if $farmyardUpgrade.lab == 0>>
-		[[Purchase an R&D lab to experiment with different plant and animal types|Farmyard][cashX(forceNeg(Math.trunc(50000*$upgradeMultiplierArcology)), "farmyard"), $farmyardUpgrade.lab = 1, $farmyardLab = 1]]
-		<span class="note">
-			Costs <<print cashFormat(Math.trunc(50000*$upgradeMultiplierArcology))>> and unlocks the Research Lab.
-		</span>
-		<<run $merchantIllegalWares.push("AnimalOrgans")>>
-		<br>
-	<<else>>
-		A high-tech metal door, complete with retinal and fingerprint scanners, stands at the far end of $farmyardName.
-		<br>
-	<</if>>
-<</if>>
 </span>
 
 <span id="animalhousing">
@@ -464,11 +451,6 @@
 		}, $canines = [], $hooved = [], $felines = []]]
 	//Will cost @@.yellowgreen;<<print cashFormat(_removeCost)>>@@//
 <</if>>
-
-<<if $farmyardLab > 0>>
-	<br><br>
-	A <<link "research and development lab" "FarmyardLab">><</link>> has been built at one end of $farmyardName.
-<</if>>
 </span>
 
 <br><hr><br>
diff --git a/src/facilities/farmyard/farmyardLab.tw b/src/facilities/farmyard/farmyardLab.tw
deleted file mode 100644
index 2616e5991476f801ad3cb1cf5052cc87f8d21736..0000000000000000000000000000000000000000
--- a/src/facilities/farmyard/farmyardLab.tw
+++ /dev/null
@@ -1,34 +0,0 @@
-:: FarmyardLab [nobr]
-
-<<set $nextButton = "Back", $nextLink = "Farmyard", $returnTo = "FarmyardLab", $showEncyclopedia = 1, $encyclopedia = "Farmyard">>
-
-/* TODO: add plant types and research for them */
-
-<br>
-$farmyardNameCaps Research Lab
-<hr>
-
-<<if $farmyardLabUpgrades.animalOvaries == 0>>
-	[[Retrofit the pharmaceutical fabricator to work with animal ovaries|FarmyardLab][cashX(forceNeg(25000), "capEx"), $farmyardLabUpgrades.animalOvaries = 1]]
-	<br>//Costs <<print cashFormat(25000)>> and allows you to implant animal ovaries into slaves.//
-	<br>
-<<elseif $farmyardLabUpgrades.animalOvaries == 1>>
-	The pharmaceutical fabricator has been retrofitted to work with animal ovaries, allowing you to implant them into slaves.
-	<br>
-<</if>>
-<<if $farmyardLabUpgrades.animalTesticles == 0>>
-	[[Retrofit the pharmaceutical fabricator to work with animal testicles|FarmyardLab][cashX(forceNeg(25000), "capEx"), $farmyardLabUpgrades.animalTesticles = 1]]
-	<br>//Costs <<print cashFormat(25000)>> and allows you to implant animal testicles into slaves.//
-	<br>
-<<elseif $farmyardLabUpgrades.animalTesticles == 1>>
-	The pharmaceutical fabricator has been retrofitted to work with animal testicles, allowing you to implant them into slaves.
-	<br>
-<</if>>
-<<if $farmyardLabUpgrades.animalMpreg == 0>>
-	[[Retrofit the pharmaceutical fabricator to work with animal anal wombs and ovaries|FarmyardLab][cashX(forceNeg(25000), "capEx"), $farmyardLabUpgrades.animalMpreg = 1]]
-	<br>//Costs <<print cashFormat(25000)>> and allows you to implant animal anal wombs and ovaries into slaves.//
-	<br>
-<<elseif $farmyardLabUpgrades.animalMpreg == 1>>
-	The pharmaceutical fabricator has been retrofitted to work with animal anal wombs and ovaries, allowing you to implant them into slaves.
-	<br>
-<</if>>
\ No newline at end of file
diff --git a/src/gui/css/mainStyleSheet.css b/src/gui/css/mainStyleSheet.css
index 8f40c12843f90db977aec4ab55ef0e883cd777eb..083a1985fe51bbd417f4718fbc95ced8beb78041 100644
--- a/src/gui/css/mainStyleSheet.css
+++ b/src/gui/css/mainStyleSheet.css
@@ -180,7 +180,7 @@ span.zeroButton > a:hover { text-decoration: none; }
 
 /* Colors are made as css classes, to allow them to be changed for a light color scheme (for example). */
 /* a version is for this case: <span class="-.."><a>text</a></span> */
-.link, .link a { color: #68D } /* link color */
+.link, .link a { color: var(--link-color) } /* link color */
 .aquamarine, .aquamarine a, .skill, .skill a { color: aquamarine }
 .coral, .coral a, .fetish.loss, .fetish.loss a { color: coral }
 .cyan, .cyan a { color: cyan } /* used for aphrodisiac & neighbor arcs */
@@ -240,7 +240,7 @@ white-space: normal;
 /* css rules for rules assistant */
 .rajs-listitem {
 	display: inline-block;
-	color: #68D;
+	color: var(--link-color);
 	margin-right: 1em;
 }
 .rajs-listitem.selected {
diff --git a/src/interaction/budgets/recordTemplates.js b/src/interaction/budgets/recordTemplates.js
index 63b2d3762cb68c4a5b3a6807711ff634da71da88..3cef5ce692339ce9ec2419278c776048af508a2e 100644
--- a/src/interaction/budgets/recordTemplates.js
+++ b/src/interaction/budgets/recordTemplates.js
@@ -62,6 +62,7 @@ App.Data.Records.LastWeeksCash = function() {
 	this.slaveAssignmentAttendant = 0,
 	this.slaveAssignmentSpa = 0,
 	this.slaveAssignmentBaby_factory = 0,
+	this.slaveAssignmentChoice = 0,
 	// Menial Slaves
 	this.menialTrades = 0,
 	this.fuckdolls = 0,
diff --git a/src/js/assignJS.js b/src/js/assignJS.js
index b47391a9c4de1ebef4db1af9cdde7a1cca08b53e..a932716fc2389a8d5e67c58d96db181b0aba7724 100644
--- a/src/js/assignJS.js
+++ b/src/js/assignJS.js
@@ -494,8 +494,6 @@ globalThis.removeJob = function(slave, assignment, saveRecord) {
 			V.Wardeness = 0;
 		} else if (V.Concubine !== 0 && slave.ID === V.Concubine.ID) {
 			V.Concubine = 0;
-		} else if (V.Collectrix !== 0 && slave.ID === V.Collectrix.ID) {
-			V.Collectrix = 0;
 		} else if (slave.ID === V.StudID) {
 			V.StudID = 0;
 		}
diff --git a/src/js/economyJS.js b/src/js/economyJS.js
index 1c91462aebd096ce8e73b4ea6f6ac10b1afaabbd..226113cf235539d91a198381c61aa7d2fd8d923d 100644
--- a/src/js/economyJS.js
+++ b/src/js/economyJS.js
@@ -44,6 +44,8 @@ globalThis.Job = Object.freeze({
 	SPA: 'rest in the spa',
 	// Does this one exist?
 	BABY_FACTORY: 'labor in the production line',
+	// Other
+	CHOICE: "choose her own job",
 });
 globalThis.PersonalAttention = Object.freeze({
 	TRADE: 'trading',
@@ -72,7 +74,8 @@ globalThis.CategoryAssociatedGroup = Object.freeze({
 		'slaveAssignmentExtraMilk',
 		'slaveAssignmentExtraMilkVign',
 		'slaveAssignmentGloryhole',
-		'slaveAssignmentConfinement'
+		'slaveAssignmentConfinement',
+		'slaveAssignmentChoice'
 		],
 	HEADGIRLSUITE: [
 		'slaveAssignmentHeadgirl',
@@ -509,6 +512,9 @@ globalThis.calculateCosts = (function() {
 				case Job.BABY_FACTORY:
 					cashX(forceNeg(slaveCost), "slaveAssignmentBaby_factory", slave);
 					break;
+				case Job.CHOICE:
+					cashX(forceNeg(slaveCost), "slaveAssignmentChoice", slave);
+					break;
 				default:
 					cashX(forceNeg(slaveCost), "slaveAssignmentUndefined", slave);
 					break;
diff --git a/src/js/slaveSummaryHelpers.js b/src/js/slaveSummaryHelpers.js
index 851e98128104a9a446bc97a00ed9cde7a2fe33f8..ec2449ca055dfaa70f4d45ff3fee40002ac328dd 100644
--- a/src/js/slaveSummaryHelpers.js
+++ b/src/js/slaveSummaryHelpers.js
@@ -722,7 +722,7 @@ App.UI.SlaveSummaryImpl = function() {
 		 */
 		function short_muscles(slave, c) {
 			const h = helpers;
-			h.makeStyledSpan(c, h.getMultiNumericRating(data.short.body.muscles, [slave.muscles + 100, h.FSData.policy.PhysicalIdealist.active]), slave.muscles);
+			h.makeStyledSpan(c, h.getMultiNumericRating(data.short.body.muscles, [slave.muscles + 100, h.FSData.policy.PhysicalIdealist.active]), slave.muscles, true);
 		}
 
 		/**
diff --git a/src/npc/surgery/reproductiveOrgans.js b/src/npc/surgery/reproductiveOrgans.js
index 54affb5554a1857f0632b7d58b67c68df9052bfb..3c818ca149a7806d5ac748749e7916540286d42f 100644
--- a/src/npc/surgery/reproductiveOrgans.js
+++ b/src/npc/surgery/reproductiveOrgans.js
@@ -158,7 +158,7 @@ App.Medicine.OrganFarm.Ovaries = class extends App.Medicine.OrganFarm.Organ {
 		super({
 			type: type, name: name, tooltip: "requires a vagina for successful implantation",
 			cost: 10000, time: 10,
-			canGrow: () => (!this.animal || V.animalTesticles > 0),
+			canGrow: () => (!this.animal || V.animalOvaries > 0),
 			actions: [
 				new App.Medicine.OrganFarm.OvariesImplantAction({
 					name: "Implant", animal: animal,
diff --git a/src/pregmod/fatGraftingWorkaround.tw b/src/pregmod/fatGraftingWorkaround.tw
index 0913e20d5ec1f90e34d9b57fa51feb3c61e7a7a9..31f43a970152ac69cc00e16b733b2ebc5571fc18 100644
--- a/src/pregmod/fatGraftingWorkaround.tw
+++ b/src/pregmod/fatGraftingWorkaround.tw
@@ -2,7 +2,7 @@
 
 <<set $nextButton = "Finalize fat transfer", $nextLink = "Surgery Degradation">>
 
-Enough graftable body fat was harvested for an additional <<print $availabeFat*100>>ccs per breast or an additional <<if $activeSlave.butt <= 10>><<print $availabeFat/2>><<else>><<print $availabeFat/5>><</if>> sizes to $his rear. <<if $availabeFat == 0>>All fat marked for use<<else>>A total of $availabeFat unit<<if $availabeFat > 1>>s<</if>> remain<</if>>.
+Enough graftable body fat was harvested for an additional <<print $availabeFat*100>>ccs per breast or an additional <<if getSlave($AS).butt <= 10>><<print $availabeFat/2>><<else>><<print $availabeFat/5>><</if>> sizes to $his rear. <<if $availabeFat == 0>>All fat marked for use<<else>>A total of $availabeFat unit<<if $availabeFat > 1>>s<</if>> remain<</if>>.
 
 <br><br>
 $boobFat units of fat will be added to $his breasts for a size gain of <<print $boobFat*100>>ccs.
@@ -19,8 +19,8 @@ $boobFat units of fat will be added to $his breasts for a size gain of <<print $
 <</if>>
 
 <br><br>
-<<if $activeSlave.butt <= 10>><<print $buttFat*2>><<else>><<print $buttFat*5>><</if>> units of fat will be added to $his ass for a size gain of $buttFat.
-<<if $activeSlave.butt > 10>>
+<<if getSlave($AS).butt <= 10>><<print $buttFat*2>><<else>><<print $buttFat*5>><</if>> units of fat will be added to $his ass for a size gain of $buttFat.
+<<if getSlave($AS).butt > 10>>
 	<br>
 	<<if $availabeFat > 0>>
 		[[Increase|fat grafting workaround][$buttFat += .2, $availabeFat -= 1]] |
diff --git a/src/pregmod/huskSlaveSwapWorkaround.tw b/src/pregmod/huskSlaveSwapWorkaround.tw
index 9c409a6f210025545ca1f0182c32190820972e83..42064edb598c3280e177c8123eb0cc740b6ade00 100644
--- a/src/pregmod/huskSlaveSwapWorkaround.tw
+++ b/src/pregmod/huskSlaveSwapWorkaround.tw
@@ -1,6 +1,6 @@
 :: husk Slave Swap Workaround [nobr]
 
-<<if $activeSlave.tankBaby != 3>>
+<<if getSlave($AS).tankBaby != 3>>
 	<<set $nextButton = "Abort Operation", $nextLink = "Scheduled Event", $returnTo = "Scheduled Event">>
 <<else>>
 	<<set $nextButton = "Abort Operation", $nextLink = "Main", $returnTo = "Incubator">>
@@ -20,7 +20,7 @@ __Select an eligible slave:__
 					<<if $slaves[_i].indenture == -1>>
 						<<if $slaves[_i].breedingMark == 0 || $propOutcome == 0 || $eugenicsFullControl == 1 || $arcologies[0].FSRestart == "unset">>
 							<<if WombReserveCount($slaves[_i]) == 0>>
-								<<if $slaves[_i].ID != $activeSlave.ID>>
+								<<if $slaves[_i].ID != $AS>>
 									<<set _name = SlaveFullName($slaves[_i])>>
 									<br>[[_name|Husk Slave Swap][$swappingSlave = $slaves[_i], cashX(-10000, "slaveSurgery", $slaves[_i])]]
 								<</if>>
diff --git a/src/pregmod/organFarm.tw b/src/pregmod/organFarm.tw
index 63c37890bee896b3087e0fcfd5cbda413132b9c1..39e4921a0cf9018d37f9d103e34e41be9d6e2b23 100644
--- a/src/pregmod/organFarm.tw
+++ b/src/pregmod/organFarm.tw
@@ -78,31 +78,27 @@
 	<</if>>
 
 	<<if $seePreg != 0 && $seeBestiality == 1 && $experimental.animalOvaries == 1>>
-		<<if $farmyardLabUpgrades.animalOvaries > 0>>
-			<<if $animalOvaries < 1>>
-				<div class="note">
-					You lack the required designs for cloning animal ovaries for slaves.
-				</div>
-			<<else>>
-				<div>
-					The organ farm is capable of growing animal ovaries for slaves.
-				</div>
-			<</if>>
+		<<if $animalOvaries < 1>>
+			<div class="note">
+				You lack the required designs for cloning animal ovaries for slaves.
+			</div>
+		<<else>>
+			<div>
+				The organ farm is capable of growing animal ovaries for slaves.
+			</div>
 		<</if>>
 
-		<<if $farmyardLabUpgrades.animalTesticles > 0>>
-			<<if $animalTesticles < 1>>
-				<div class="note">
-					You lack the required designs for cloning animal testicles for slaves.
-				</div>
-			<<else>>
-				<div>
-					The organ farm is capable of growing animal testicles for slaves.
-				</div>
-			<</if>>
+		<<if $animalTesticles < 1>>
+			<div class="note">
+				You lack the required designs for cloning animal testicles for slaves.
+			</div>
+		<<else>>
+			<div>
+				The organ farm is capable of growing animal testicles for slaves.
+			</div>
 		<</if>>
 
-		<<if $farmyardLabUpgrades.animalMpreg > 0 && $arcologies[0].FSGenderRadicalistResearch == 1>>
+		<<if $arcologies[0].FSGenderRadicalistResearch == 1>>
 			<<if $animalMpreg < 1>>
 				<div class="note">
 					You lack the required designs for cloning animal anal wombs and ovaries for slaves.
diff --git a/src/pregmod/pcAppearanceIntro.tw b/src/pregmod/pcAppearanceIntro.tw
index ed4ee69b37be364d0d75ae349b287ba10e14c11a..d61a263a08065c1ae548bf786857d778336ff982 100644
--- a/src/pregmod/pcAppearanceIntro.tw
+++ b/src/pregmod/pcAppearanceIntro.tw
@@ -95,130 +95,130 @@
 		What is your skin tone?
 	</div>
 	<div id = "skin">
-		You have $PC.origSkin skin.
+		You have $PC.skin skin.
 	</div>
 	<<link "Pure White">>
-		<<set $PC.origSkin = "pure white">>
+		<<set $PC.skin = "pure white">>
 		<<PlayerSkin>>
 	<</link>>
 	|
 	<<link "Ivory">>
-		<<set $PC.origSkin = "ivory">>
+		<<set $PC.skin = "ivory">>
 		<<PlayerSkin>>
 	<</link>>
 	|
 	<<link "White">>
-		<<set $PC.origSkin = "white">>
+		<<set $PC.skin = "white">>
 		<<PlayerSkin>>
 	<</link>>
 	|
 	<<link "Extremely Pale">>
-		<<set $PC.origSkin = "extremely pale">>
+		<<set $PC.skin = "extremely pale">>
 		<<PlayerSkin>>
 	<</link>>
 	|
 	<<link "Very Pale">>
-		<<set $PC.origSkin = "very pale">>
+		<<set $PC.skin = "very pale">>
 		<<PlayerSkin>>
 	<</link>>
 	|
 	<<link "Pale">>
-		<<set $PC.origSkin = "pale">>
+		<<set $PC.skin = "pale">>
 		<<PlayerSkin>>
 	<</link>>
 	|
 	<<link "Extremely Fair">>
-		<<set $PC.origSkin = "extremely fair">>
+		<<set $PC.skin = "extremely fair">>
 		<<PlayerSkin>>
 	<</link>>
 	|
 	<<link "Very Fair">>
-		<<set $PC.origSkin = "very fair">>
+		<<set $PC.skin = "very fair">>
 		<<PlayerSkin>>
 	<</link>>
 	|
 	<<link "Fair">>
-		<<set $PC.origSkin = "fair">>
+		<<set $PC.skin = "fair">>
 		<<PlayerSkin>>
 	<</link>>
 	|
 	<<link "Light">>
-		<<set $PC.origSkin = "light">>
+		<<set $PC.skin = "light">>
 		<<PlayerSkin>>
 	<</link>>
 	|
 	<<link "Light Olive">>
-		<<set $PC.origSkin = "light olive">>
+		<<set $PC.skin = "light olive">>
 		<<PlayerSkin>>
 	<</link>>
 	|
 	<<link "Tan">>
-		<<set $PC.origSkin = "tan">>
+		<<set $PC.skin = "tan">>
 		<<PlayerSkin>>
 	<</link>>
 	|
 	<<link "Olive">>
-		<<set $PC.origSkin = "olive">>
+		<<set $PC.skin = "olive">>
 		<<PlayerSkin>>
 	<</link>>
 	|
 	<<link "Bronze">>
-		<<set $PC.origSkin = "bronze">>
+		<<set $PC.skin = "bronze">>
 		<<PlayerSkin>>
 	<</link>>
 	|
 	<<link "Dark Olive">>
-		<<set $PC.origSkin = "dark olive">>
+		<<set $PC.skin = "dark olive">>
 		<<PlayerSkin>>
 	<</link>>
 	|
 	<<link "Dark">>
-		<<set $PC.origSkin = "dark">>
+		<<set $PC.skin = "dark">>
 		<<PlayerSkin>>
 	<</link>>
 	|
 	<<link "Light Beige">>
-		<<set $PC.origSkin = "light beige">>
+		<<set $PC.skin = "light beige">>
 		<<PlayerSkin>>
 	<</link>>
 	|
 	<<link "Beige">>
-		<<set $PC.origSkin = "beige">>
+		<<set $PC.skin = "beige">>
 		<<PlayerSkin>>
 	<</link>>
 	|
 	<<link "Dark Beige">>
-		<<set $PC.origSkin = "dark beige">>
+		<<set $PC.skin = "dark beige">>
 		<<PlayerSkin>>
 	<</link>>
 	|
 	<<link "Light Brown">>
-		<<set $PC.origSkin = "light brown">>
+		<<set $PC.skin = "light brown">>
 		<<PlayerSkin>>
 	<</link>>
 	|
 	<<link "Brown">>
-		<<set $PC.origSkin = "brown">>
+		<<set $PC.skin = "brown">>
 		<<PlayerSkin>>
 	<</link>>
 	|
 	<<link "Dark Brown">>
-		<<set $PC.origSkin = "dark brown">>
+		<<set $PC.skin = "dark brown">>
 		<<PlayerSkin>>
 	<</link>>
 	|
 	<<link "Black">>
-		<<set $PC.origSkin = "black">>
+		<<set $PC.skin = "black">>
 		<<PlayerSkin>>
 	<</link>>
 	|
 	<<link "Ebony">>
-		<<set $PC.origSkin = "ebony">>
+		<<set $PC.skin = "ebony">>
 		<<PlayerSkin>>
 	<</link>>
 	|
 	<<link "Pure Black">>
-		<<set $PC.origSkin = "pure black">>
+		<<set $PC.skin = "pure black">>
 		<<PlayerSkin>>
 	<</link>>
 </p>
diff --git a/src/pregmod/surrogacy.tw b/src/pregmod/surrogacy.tw
index 4c5f98cc67baf2749b5585d2748eba8f329251e5..dbebf1dbc0e5933a64fdc20982a6e512c1172746 100644
--- a/src/pregmod/surrogacy.tw
+++ b/src/pregmod/surrogacy.tw
@@ -59,12 +59,12 @@
 <<case "transplant">>
 
 	<<if $receptrix.ID == -1>>
-		Since the surgery required only a local anesthetic, you are very aware that you are now carrying $activeSlave.slaveName's child. You slowly rise to your feet, a hand to your lower belly, appreciating the new life growing within you.
-		<<set _fetus = WombRemoveFetus($activeSlave, $wombIndex)>>
+		Since the surgery required only a local anesthetic, you are very aware that you are now carrying <<= getSlave($AS).slaveName>>'s child. You slowly rise to your feet, a hand to your lower belly, appreciating the new life growing within you.
+		<<set _fetus = WombRemoveFetus(getSlave($AS), $wombIndex)>>
 		<<run WombAddFetus($PC, _fetus)>>
-		<<set $PC.pregKnown = 1, $PC.preg = WombMaxPreg($PC), $activeSlave.preg = WombMaxPreg($activeSlave)>>
+		<<set $PC.pregKnown = 1, $PC.preg = WombMaxPreg($PC), getSlave($AS).preg = WombMaxPreg(getSlave($AS))>>
 		<<run WombNormalizePreg($PC)>>
-		<<run WombNormalizePreg($activeSlave)>>
+		<<run WombNormalizePreg(getSlave($AS))>>
 	<<else>>
 		<<set _fetus = WombRemoveFetus($donatrix, $wombIndex)>>
 		<<run WombAddFetus($receptrix, _fetus)>>
@@ -75,7 +75,7 @@
 			<<set $PC = $donatrix>>
 		<<else>>
 			<<set _surr = $slaves.findIndex(function(s) { return s.ID == $donatrix.ID; })>>
-			<<set $activeSlave = $donatrix>>
+			<<set $slaves[$slaveIndices[$AS]] = $donatrix>>
 		<</if>>
 		<<setLocalPronouns $receptrix>>
 		<<if $receptrix.fetish == "mindbroken">>
diff --git a/src/pregmod/theBlackMarket.tw b/src/pregmod/theBlackMarket.tw
index f585b1e3a6633d112f547f2bb2e8067493328639..bb79ae17127215475953611ea25d1e29fc0fbf05 100644
--- a/src/pregmod/theBlackMarket.tw
+++ b/src/pregmod/theBlackMarket.tw
@@ -50,401 +50,381 @@ The main draw, however, is the prominent stage to the rear of the building where
 <br><br>
 Of all the wonders present, the thing that catches your eye the most is a shady looking stall with a somehow even shadier looking merchant — a merchant who is beckoning you to come over. "A prominent arcology owner like yourself wandering around in here can only be looking for one thing: new and exciting ways to spice up _hisP slaves! I've got the hottest research and tech straight from the labs waiting for you to peruse and some of the 'hottest' tech straight out of the research labs, if you catch my drift." He shuffles around behind the counter, pulling out a stack of papers.
 
-<br>
-
-<<if ndef $thisWeeksFSWares>>
-	<<set $thisWeeksFSWares = $merchantFSWares.randomMany(2)>>
-<</if>>
-<<if ndef $thisWeeksIllegalWares>>
-	<<set $thisWeeksIllegalWares = $merchantIllegalWares.randomMany(1)>>
-<</if>>
-
-<br>
+<br><br>
 "Now when it comes to the legal, relatively boring stuff, I've got the following available:"
 
 <<if $thisWeeksFSWares.length > 0>>
 	<<for _bm = 0; _bm < $thisWeeksFSWares.length; _bm++>>
-		<br>
-		<<if $thisWeeksFSWares[_bm] == "GenderRadicalistResearch">>
-			<<if $seePreg != 0 && $arcologies[0].FSGenderRadicalistResearch == 0>>
-				<<if $organFarmUpgrade > 0>>
-					<<if $cash >= 75000>>
-						[[Purchase schematics for anal pregnancy|The Black Market][cashX(-75000, "capEx"), $arcologies[0].FSGenderRadicalistResearch = 1, _dump = $merchantFSWares.delete("GenderRadicalistResearch")]] //@@.yellowgreen;<<print cashFormat(75000)>>.@@//
+		<div>
+			<<switch $thisWeeksFSWares[_bm]>>
+				<<case "GenderRadicalistResearch">>
+					<<if $seePreg != 0 && $arcologies[0].FSGenderRadicalistResearch == 0>>
+						<<if $organFarmUpgrade > 0>>
+							<<if $cash >= 75000>>
+								[[Purchase schematics for anal pregnancy|The Black Market][cashX(-75000, "capEx"), $arcologies[0].FSGenderRadicalistResearch = 1, _dump = $merchantFSWares.delete("GenderRadicalistResearch")]] //@@.yellowgreen;<<print cashFormat(75000)>>.@@//
+							<<else>>
+								You cannot afford the asking price of @@.red;<<print cashFormat(75000)>>@@ for anal pregnancy schematics. "No discounts. No haggling. No price naming. Take it or leave it."
+							<</if>>
+						<<else>>
+							You lack the facilities needed to grow organs, so anal pregnancy schematics are currently out of your reach.
+						<</if>>
+					<<elseif $seePreg == 0>>
+						You have no interest in this pregnancy based research.
 					<<else>>
-						You cannot afford the asking price of @@.red;<<print cashFormat(75000)>>@@ for anal pregnancy schematics. "No discounts. No haggling. No price naming. Take it or leave it."
+						You already possess designs to facilitate anal pregnancy.
+						<<run $merchantFSWares.delete("GenderRadicalistResearch")>>
 					<</if>>
-				<<else>>
-					You lack the facilities needed to grow organs, so anal pregnancy schematics are currently out of your reach.
-				<</if>>
-			<<elseif $seePreg == 0>>
-				You have no interest in this pregnancy based research.
-			<<else>>
-				You already possess designs to facilitate anal pregnancy.
-				<<run $merchantFSWares.delete("GenderRadicalistResearch")>>
-			<</if>>
-		<</if>>
-		<<if $thisWeeksFSWares[_bm] == "SlaveProfessionalismResearch">>
-			<<if $arcologies[0].FSSlaveProfessionalismResearch == 0>>
-				<<if $dispensary == 1>>
-					<<if $cash >= 90000>>
-						[[Purchase the recipe for a proven intelligence boosting compound|The Black Market][cashX(-90000, "capEx"), $arcologies[0].FSSlaveProfessionalismResearch = 1, _dump = $merchantFSWares.delete("SlaveProfessionalismResearch")]] //@@.yellowgreen;<<print cashFormat(90000)>>.@@//
+				<<case "SlaveProfessionalismResearch">>
+					<<if $arcologies[0].FSSlaveProfessionalismResearch == 0>>
+						<<if $dispensary == 1>>
+							<<if $cash >= 90000>>
+								[[Purchase the recipe for a proven intelligence boosting compound|The Black Market][cashX(-90000, "capEx"), $arcologies[0].FSSlaveProfessionalismResearch = 1, _dump = $merchantFSWares.delete("SlaveProfessionalismResearch")]] //@@.yellowgreen;<<print cashFormat(90000)>>.@@//
+							<<else>>
+								You cannot afford the asking price of @@.red;<<print cashFormat(90000)>>@@ for a proven intelligence boosting compound. "A cup of tea brewed from this compound makes one smarter. Too bad I don't hand out free samples so people like you can remember where they left their money."
+							<</if>>
+						<<else>>
+							You lack the facilities needed to produce drugs of this complexity, so the recipe for a proven intelligence boosting compound is currently unobtainable.
+						<</if>>
 					<<else>>
-						You cannot afford the asking price of @@.red;<<print cashFormat(90000)>>@@ for a proven intelligence boosting compound. "A cup of tea brewed from this compound makes one smarter. Too bad I don't hand out free samples so people like you can remember where they left their money."
+						You already possess a recipe for a mind improving tea.
+						<<run $merchantFSWares.delete("SlaveProfessionalismResearch")>>
 					<</if>>
-				<<else>>
-					You lack the facilities needed to produce drugs of this complexity, so the recipe for a proven intelligence boosting compound is currently unobtainable.
-				<</if>>
-			<<else>>
-				You already possess a recipe for a mind improving tea.
-				<<run $merchantFSWares.delete("SlaveProfessionalismResearch")>>
-			<</if>>
-		<</if>>
-		<<if $thisWeeksFSWares[_bm] == "TransformationFetishistResearch">>
-			<<if $arcologies[0].FSTransformationFetishistResearch == 0>>
-				<<if $ImplantProductionUpgrade == 1>>
-					<<if $cash >= 50000>>
-						[[Purchase designs for immense implants|The Black Market][cashX(-50000, "capEx"), $arcologies[0].FSTransformationFetishistResearch = 1, _dump = $merchantFSWares.delete("TransformationFetishistResearch")]] //@@.yellowgreen;<<print cashFormat(50000)>>.@@//
+				<<case "TransformationFetishistResearch">>
+					<<if $arcologies[0].FSTransformationFetishistResearch == 0>>
+						<<if $ImplantProductionUpgrade == 1>>
+							<<if $cash >= 50000>>
+								[[Purchase designs for immense implants|The Black Market][cashX(-50000, "capEx"), $arcologies[0].FSTransformationFetishistResearch = 1, _dump = $merchantFSWares.delete("TransformationFetishistResearch")]] //@@.yellowgreen;<<print cashFormat(50000)>>.@@//
+							<<else>>
+								You cannot afford the asking price of @@.red;<<print cashFormat(50000)>>@@ for absurdly huge implant designs. "No big fake boobs for you. How sad it must be to be flat and enslaved by such a poor <<if $PC.title == 1>>Master<<else>>Mistress<</if>>"
+							<</if>>
+						<<else>>
+							You lack the facilities needed to produce implants of this caliber, so absurdly huge implant designs are currently unobtainable.
+						<</if>>
 					<<else>>
-						You cannot afford the asking price of @@.red;<<print cashFormat(50000)>>@@ for absurdly huge implant designs. "No big fake boobs for you. How sad it must be to be flat and enslaved by such a poor <<if $PC.title == 1>>Master<<else>>Mistress<</if>>"
+						You already possess designs for oversized implants.
+						<<run $merchantFSWares.delete("TransformationFetishistResearch")>>
 					<</if>>
-				<<else>>
-					You lack the facilities needed to produce implants of this caliber, so absurdly huge implant designs are currently unobtainable.
-				<</if>>
-			<<else>>
-				You already possess designs for oversized implants.
-				<<run $merchantFSWares.delete("TransformationFetishistResearch")>>
-			<</if>>
-		<</if>>
-		<<if $thisWeeksFSWares[_bm] == "AssetExpansionistResearch">>
-			<<if $arcologies[0].FSAssetExpansionistResearch == 0>>
-				<<if $dispensary == 1>>
-					<<if $cash >= 50000>>
-						[[Purchase formulas for extremely powerful growth drugs|The Black Market][cashX(-50000, "capEx"), $arcologies[0].FSAssetExpansionistResearch = 1, _dump = $merchantFSWares.delete("AssetExpansionistResearch")]] //@@.yellowgreen;<<print cashFormat(50000)>>.@@//
+				<<case "AssetExpansionistResearch">>
+					<<if $arcologies[0].FSAssetExpansionistResearch == 0>>
+						<<if $dispensary == 1>>
+							<<if $cash >= 50000>>
+								[[Purchase formulas for extremely powerful growth drugs|The Black Market][cashX(-50000, "capEx"), $arcologies[0].FSAssetExpansionistResearch = 1, _dump = $merchantFSWares.delete("AssetExpansionistResearch")]] //@@.yellowgreen;<<print cashFormat(50000)>>.@@//
+							<<else>>
+								You cannot afford the asking price of @@.red;<<print cashFormat(50000)>>@@ for extremely powerful growth drug formulas. "Why'd you even come here if you didn't have the credits to buy anything?"
+							<</if>>
+						<<else>>
+							You lack the facilities needed to produce drugs of this complexity, so absurdly powerful implant growth drug formulas are currently unobtainable.
+						<</if>>
 					<<else>>
-						You cannot afford the asking price of @@.red;<<print cashFormat(50000)>>@@ for extremely powerful growth drug formulas. "Why'd you even come here if you didn't have the credits to buy anything?"
+						You already possess formulas for extremely powerful growth drugs.
+						<<run $merchantFSWares.delete("AssetExpansionistResearch")>>
 					<</if>>
-				<<else>>
-					You lack the facilities needed to produce drugs of this complexity, so absurdly powerful implant growth drug formulas are currently unobtainable.
-				<</if>>
-			<<else>>
-				You already possess formulas for extremely powerful growth drugs.
-				<<run $merchantFSWares.delete("AssetExpansionistResearch")>>
-			<</if>>
-		<</if>>
-		<<if $thisWeeksFSWares[_bm] == "SlimnessEnthusiastResearch">>
-			<<if $arcologies[0].FSSlimnessEnthusiastResearch == 0>>
-				<<if $dispensary == 1>>
-					<<if $cash >= 75000>>
-						[[Purchase formulas for growth reversing drugs|The Black Market][cashX(-75000, "capEx"), $arcologies[0].FSSlimnessEnthusiastResearch = 1, _dump = $merchantFSWares.delete("SlimnessEnthusiastResearch")]] //@@.yellowgreen;<<print cashFormat(75000)>>.@@//
+				<<case "SlimnessEnthusiastResearch">>
+					<<if $arcologies[0].FSSlimnessEnthusiastResearch == 0>>
+						<<if $dispensary == 1>>
+							<<if $cash >= 75000>>
+								[[Purchase formulas for growth reversing drugs|The Black Market][cashX(-75000, "capEx"), $arcologies[0].FSSlimnessEnthusiastResearch = 1, _dump = $merchantFSWares.delete("SlimnessEnthusiastResearch")]] //@@.yellowgreen;<<print cashFormat(75000)>>.@@//
+							<<else>>
+								You cannot afford the asking price of @@.red;<<print cashFormat(75000)>>@@ for growth reversing drug formulas. "<<if $PC.boobs >= 1000>>Guess you'll be keeping those knockers for now, <<if $PC.title == 0>>Little-Miss-Top-Heavy<<else>>Mr. Busty<</if>><<else>>Guess you don't mind sore backs. Leads to less sore knees, from what I've heard<</if>>."
+							<</if>>
+						<<else>>
+							You lack the facilities needed to produce drugs of this complexity, so growth reversing drug formulas are currently unobtainable.
+						<</if>>
 					<<else>>
-						You cannot afford the asking price of @@.red;<<print cashFormat(75000)>>@@ for growth reversing drug formulas. "<<if $PC.boobs >= 1000>>Guess you'll be keeping those knockers for now, <<if $PC.title == 0>>Little-Miss-Top-Heavy<<else>>Mr. Busty<</if>><<else>>Guess you don't mind sore backs. Leads to less sore knees, from what I've heard<</if>>."
+						You already possess formulas for growth reversing drugs.
+						<<run $merchantFSWares.delete("SlimnessEnthusiastResearch")>>
 					<</if>>
-				<<else>>
-					You lack the facilities needed to produce drugs of this complexity, so growth reversing drug formulas are currently unobtainable.
-				<</if>>
-			<<else>>
-				You already possess formulas for growth reversing drugs.
-				<<run $merchantFSWares.delete("SlimnessEnthusiastResearch")>>
-			<</if>>
-		<</if>>
-		<<if $thisWeeksFSWares[_bm] == "YouthPreferentialistResearch">>
-			<<if $arcologies[0].FSYouthPreferentialistResearch == 0>>
-				<<if $dispensary == 1>>
-					<<if $cash >= 45000>>
-						[[Purchase formulas for extremely effective anti-aging beauty creams|The Black Market][cashX(-45000, "capEx"), $arcologies[0].FSYouthPreferentialistResearch = 1, _dump = $merchantFSWares.delete("YouthPreferentialistResearch")]] //@@.yellowgreen;<<print cashFormat(45000)>>.@@//
+				<<case "YouthPreferentialistResearch">>
+					<<if $arcologies[0].FSYouthPreferentialistResearch == 0>>
+						<<if $dispensary == 1>>
+							<<if $cash >= 45000>>
+								[[Purchase formulas for extremely effective anti-aging beauty creams|The Black Market][cashX(-45000, "capEx"), $arcologies[0].FSYouthPreferentialistResearch = 1, _dump = $merchantFSWares.delete("YouthPreferentialistResearch")]] //@@.yellowgreen;<<print cashFormat(45000)>>.@@//
+							<<else>>
+								You cannot afford the asking price of @@.red;<<print cashFormat(45000)>>@@ for extremely effective anti-aging beauty creams. "<<if $PC.visualAge > 40>>Those wrinkles don't look that bad on you, so don't worry about not being able to afford this<<else>>Just tell them they look young, and, well, don't give them any mirrors. Probably should keep your money troubles from them, too<</if>>."
+							<</if>>
+						<<else>>
+							You lack the facilities needed to produce drugs of this complexity, so extremely effective anti-aging beauty creams formulas are currently unobtainable.
+						<</if>>
 					<<else>>
-						You cannot afford the asking price of @@.red;<<print cashFormat(45000)>>@@ for extremely effective anti-aging beauty creams. "<<if $PC.visualAge > 40>>Those wrinkles don't look that bad on you, so don't worry about not being able to afford this<<else>>Just tell them they look young, and, well, don't give them any mirrors. Probably should keep your money troubles from them, too<</if>>."
+						You already possess formulas for extremely effective anti-aging beauty cream.
+						<<run $merchantFSWares.delete("YouthPreferentialistResearch")>>
 					<</if>>
-				<<else>>
-					You lack the facilities needed to produce drugs of this complexity, so extremely effective anti-aging beauty creams formulas are currently unobtainable.
-				<</if>>
-			<<else>>
-				You already possess formulas for extremely effective anti-aging beauty cream.
-				<<run $merchantFSWares.delete("YouthPreferentialistResearch")>>
-			<</if>>
-		<</if>>
-		<<if $thisWeeksFSWares[_bm] == "HedonisticDecadenceResearch">>
-			<<if $arcologies[0].FSHedonisticDecadenceResearch == 0>>
-				<<if $dispensary == 1>>
-					<<if $cash >= 65000>>
-						[[Purchase recipes for highly addictive solid slave food|The Black Market][cashX(-65000, "capEx"), $arcologies[0].FSHedonisticDecadenceResearch = 1, _dump = $merchantFSWares.delete("HedonisticDecadenceResearch")]] //@@.yellowgreen;<<print cashFormat(65000)>>.@@//
+				<<case "HedonisticDecadenceResearch">>
+					<<if $arcologies[0].FSHedonisticDecadenceResearch == 0>>
+						<<if $dispensary == 1>>
+							<<if $cash >= 65000>>
+								[[Purchase recipes for highly addictive solid slave food|The Black Market][cashX(-65000, "capEx"), $arcologies[0].FSHedonisticDecadenceResearch = 1, _dump = $merchantFSWares.delete("HedonisticDecadenceResearch")]] //@@.yellowgreen;<<print cashFormat(65000)>>.@@//
+							<<else>>
+								You cannot afford the asking price of @@.red;<<print cashFormat(65000)>>@@ for highly addictive solid slave food recipes. "I promise you'll not be able to recreate this at home, so if you want to give your begging slave the treat she deserves, buy now! Or, you know, come back with money."
+							<</if>>
+						<<else>>
+							You lack the facilities needed to produce drugs of this complexity, so highly addictive solid slave food recipes are currently unobtainable.
+						<</if>>
 					<<else>>
-						You cannot afford the asking price of @@.red;<<print cashFormat(65000)>>@@ for highly addictive solid slave food recipes. "I promise you'll not be able to recreate this at home, so if you want to give your begging slave the treat she deserves, buy now! Or, you know, come back with money."
+						You already possess recipes for highly addictive solid slave food.
+						<<run $merchantFSWares.delete("HedonisticDecadenceResearch")>>
 					<</if>>
-				<<else>>
-					You lack the facilities needed to produce drugs of this complexity, so highly addictive solid slave food recipes are currently unobtainable.
-				<</if>>
-			<<else>>
-				You already possess recipes for highly addictive solid slave food.
-				<<run $merchantFSWares.delete("HedonisticDecadenceResearch")>>
-			<</if>>
-		<</if>>
+			<</switch>>
+		</div>
 	<</for>>
 <<else>>
 	<br>You appear to already possess all the societal based schematics he has to offer.
 <</if>>
+<<if $cheatMode == 1>>
+	<br>
+	[[Refresh societal wares list|The Black Market][$thisWeeksFSWares = ["GenderRadicalistResearch", "SlaveProfessionalismResearch", "TransformationFetishistResearch", "AssetExpansionistResearch", "SlimnessEnthusiastResearch", "YouthPreferentialistResearch", "HedonisticDecadenceResearch"]]]
+<</if>>
 
 <br><br>
 He gestures to a door in the back of the stall. "The good shit's back there<<if $thisWeeksIllegalWares.length > 1>> — here's a list: <<elseif $thisWeeksIllegalWares.length == 1>> — only one this week: <<else>>.<</if>>"
 <<if $thisWeeksIllegalWares.length > 0>>
 	<<for _bim = 0; _bim < $thisWeeksIllegalWares.length; _bim++>>
-		<<if $thisWeeksIllegalWares[_bim] == "childhoodFertilityInducedNCS">>
-			<br>
-			<<if $minimumSlaveAge <= 15>>
-				<dt>@@.cyan;Childhood Fertility Induced NCS (Induced Neotenic Complex Syndrome or Syndrome X modified for fertility).@@</dt>
-				<<if $minimumSlaveAge > 8>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					Illegal information for the Childhood Fertility @@.orange;Induced NCS@@ (genetic engineering and hormonal blend) research recipe.<br>
-					"I'm sorry, I can't sell this product to you, even if I wanted to," he says. "I have this technology, which if applied, would make slaves appear younger than the legal age of majority. I picked it up from an exotics dealer, who picked it up from some old world government research center. And yes, I know, this is a black market, and I would be happy to sell it to you, except, you see, too many of the wrong people know I have it, and while the knowledge isn't illegal, selling or using it is. See if I sell this to you, you'd start getting younger looking slaves, and those people would try to take us both down, and since I'm not the master of an arcology, I would probably end up enslaved, and I'm not interested in that. If only the laws were more open about who could have sex with who, I could sell this to anyone interested."
-					Since the agreed upon minimum age in your Free City is greater than eight, it would draw way too much attention for you to make use of the research recipe for the Childhood Fertility @@.orange;Induced NCS@@ (genetic engineering and hormonal blend).
-					<br>
-					He notices your interest and lets you read the information [[Childhood Fertility Induced NCS|Encyclopedia][$encyclopedia = "Childhood Fertility Induced NCS"]].
-					<<run $merchantIllegalWares.delete("childhoodFertilityInducedNCS")>>
-				<<else>>
-					<<if $arcologies[0].FSYouthPreferentialist > 0>>
-						<<set _match = "Knowing your arcology, I think you could be happy with the results!">>
-					<<else>>
-						<<set _match = "I'm not sure this is a good match for your arcology's current society at this moment, but I'm sure you could have fun with it.">>
-					<</if>>
-					<<if ($pedo_mode)>>
-						<<set _toydolls = "If you like sexy little toy dolls, I mean biological ''@@.coral;lolis@@'' or ''@@.coral;shotas@@'' for life, then this is the one for you. I picked it up from an exotics dealer, who picked it up from some old world government research center.", _norefunds = "Remember, though, no money back on this. Technology like this doesn't exist anywhere else, your younger slaves will stay that way forever, and your older ones will slowly begin to regress towards that nice mid-childhood state. If you want to build yourself a cadre of ''@@.coral;preteen@@'' delights for yourself or your customers, then buy now!">>
-					<<else>>
-						<<set _toydolls = "This might be a little too shady or perverted for you. But, if you want your slaves to last longer, you know, look younger for longer, well this treatment can help. However it comes at a price, this treatment will eventually turn your slave girls younger and younger looking, until the point you might not want to use them as sex slaves because they'll appear as teenagers or even younger. I'm serious, your slaves treated with this treatment will eventually look like children! They won't be, really, but this is no fountain of perpetual youth, and to be fair, maybe none of this will be up your alley. If that's the case, I guess you could just sell them once they get too young looking, and possibly for a higher price than if they looked older. It's, at best, for possibly more discerning or eclectic tastes then you might have. I picked it up from an exotics dealer, who picked it up from some old world government research center.", _norefunds = "Remember, though, no money back on this. Technology like this doesn't exist anywhere else, your treated slaves will stay and become younger looking forever, and your older ones will slowly begin to regress towards a disturbingly young mid-childhood state. All those caveats aside, if this sounds like something you'd want, then buy now!">>
-					<</if>>
-					<<if $geneticMappingUpgrade == 0>>
-						You lack the facilities required for such a treatment to be effective on specific individuals.
-					<<elseif $dispensaryUpgrade == 0>>
-						You lack the facilities required to produce complex gene-altering treatments.
-					<<else>>
-						<<if $arcologies[0].childhoodFertilityInducedNCSResearch == 0>>
-							<<if $cash >= 135000>>
-								"_toydolls _match _norefunds"<br>
-								[[Purchase childhood fertility induced NCS|The Black Market][cashX(-135000, "capEx"), $arcologies[0].childhoodFertilityInducedNCSResearch = 1, _dump = $merchantFSWares.delete("childFertilityInducedSyndromeX")]] //@@.yellowgreen;<<print cashFormat(135000)>>.@@//<br>
-							<<else>>
-								"_toydolls _match _norefunds Or, you know, come back with money."<br>
-								You cannot afford the asking price of @@.red;<<print cashFormat(135000)>>@@ for the Childhood Fertility @@.orange;Induced NCS@@ (genetic engineering and hormonal blend) research recipe.<br>
-							<</if>>
+		<div>
+			<<switch $thisWeeksIllegalWares[_bim]>>
+				<<case "childhoodFertilityInducedNCS">>
+					<<if $minimumSlaveAge <= 15>>
+						<dt>@@.cyan;Childhood Fertility Induced NCS (Induced Neotenic Complex Syndrome or Syndrome X modified for fertility).@@</dt>
+						<<if $minimumSlaveAge > 8>>
+							<br>&nbsp;&nbsp;&nbsp;&nbsp;
+							Illegal information for the Childhood Fertility @@.orange;Induced NCS@@ (genetic engineering and hormonal blend) research recipe.<br>
+							"I'm sorry, I can't sell this product to you, even if I wanted to," he says. "I have this technology, which if applied, would make slaves appear younger than the legal age of majority. I picked it up from an exotics dealer, who picked it up from some old world government research center. And yes, I know, this is a black market, and I would be happy to sell it to you, except, you see, too many of the wrong people know I have it, and while the knowledge isn't illegal, selling or using it is. See if I sell this to you, you'd start getting younger looking slaves, and those people would try to take us both down, and since I'm not the master of an arcology, I would probably end up enslaved, and I'm not interested in that. If only the laws were more open about who could have sex with who, I could sell this to anyone interested."
+							Since the agreed upon minimum age in your Free City is greater than eight, it would draw way too much attention for you to make use of the research recipe for the Childhood Fertility @@.orange;Induced NCS@@ (genetic engineering and hormonal blend).
+							<br>
 							He notices your interest and lets you read the information [[Childhood Fertility Induced NCS|Encyclopedia][$encyclopedia = "Childhood Fertility Induced NCS"]].
-						<<else>>
-							You already possess the Childhood Fertility @@.orange;Induced NCS@@ (genetic engineering and hormonal blend) research recipe.<br>
 							<<run $merchantIllegalWares.delete("childhoodFertilityInducedNCS")>>
+						<<else>>
+							<<if $arcologies[0].FSYouthPreferentialist > 0>>
+								<<set _match = "Knowing your arcology, I think you could be happy with the results!">>
+							<<else>>
+								<<set _match = "I'm not sure this is a good match for your arcology's current society at this moment, but I'm sure you could have fun with it.">>
+							<</if>>
+							<<if ($pedo_mode)>>
+								<<set _toydolls = "If you like sexy little toy dolls, I mean biological ''@@.coral;lolis@@'' or ''@@.coral;shotas@@'' for life, then this is the one for you. I picked it up from an exotics dealer, who picked it up from some old world government research center.", _norefunds = "Remember, though, no money back on this. Technology like this doesn't exist anywhere else, your younger slaves will stay that way forever, and your older ones will slowly begin to regress towards that nice mid-childhood state. If you want to build yourself a cadre of ''@@.coral;preteen@@'' delights for yourself or your customers, then buy now!">>
+							<<else>>
+								<<set _toydolls = "This might be a little too shady or perverted for you. But, if you want your slaves to last longer, you know, look younger for longer, well this treatment can help. However it comes at a price, this treatment will eventually turn your slave girls younger and younger looking, until the point you might not want to use them as sex slaves because they'll appear as teenagers or even younger. I'm serious, your slaves treated with this treatment will eventually look like children! They won't be, really, but this is no fountain of perpetual youth, and to be fair, maybe none of this will be up your alley. If that's the case, I guess you could just sell them once they get too young looking, and possibly for a higher price than if they looked older. It's, at best, for possibly more discerning or eclectic tastes then you might have. I picked it up from an exotics dealer, who picked it up from some old world government research center.", _norefunds = "Remember, though, no money back on this. Technology like this doesn't exist anywhere else, your treated slaves will stay and become younger looking forever, and your older ones will slowly begin to regress towards a disturbingly young mid-childhood state. All those caveats aside, if this sounds like something you'd want, then buy now!">>
+							<</if>>
+							<<if $geneticMappingUpgrade == 0>>
+								You lack the facilities required for such a treatment to be effective on specific individuals.
+							<<elseif $dispensaryUpgrade == 0>>
+								You lack the facilities required to produce complex gene-altering treatments.
+							<<else>>
+								<<if $arcologies[0].childhoodFertilityInducedNCSResearch == 0>>
+									<<if $cash >= 135000>>
+										"_toydolls _match _norefunds"<br>
+										[[Purchase childhood fertility induced NCS|The Black Market][cashX(-135000, "capEx"), $arcologies[0].childhoodFertilityInducedNCSResearch = 1, _dump = $merchantFSWares.delete("childFertilityInducedSyndromeX")]] //@@.yellowgreen;<<print cashFormat(135000)>>.@@//<br>
+									<<else>>
+										"_toydolls _match _norefunds Or, you know, come back with money."<br>
+										You cannot afford the asking price of @@.red;<<print cashFormat(135000)>>@@ for the Childhood Fertility @@.orange;Induced NCS@@ (genetic engineering and hormonal blend) research recipe.<br>
+									<</if>>
+									He notices your interest and lets you read the information [[Childhood Fertility Induced NCS|Encyclopedia][$encyclopedia = "Childhood Fertility Induced NCS"]].
+								<<else>>
+									You already possess the Childhood Fertility @@.orange;Induced NCS@@ (genetic engineering and hormonal blend) research recipe.<br>
+									<<run $merchantIllegalWares.delete("childhoodFertilityInducedNCS")>>
+								<</if>>
+							<</if>>
 						<</if>>
+					<<else>>
+						You have no interest in such a distasteful research.
+						<<run $merchantIllegalWares.delete("childhoodFertilityInducedNCS")>>
 					<</if>>
-				<</if>>
-			<<else>>
-				You have no interest in such a distasteful research.
-				<<run $merchantIllegalWares.delete("childhoodFertilityInducedNCS")>>
-			<</if>>
-		<</if>>
-
-		<<if $thisWeeksIllegalWares[_bim] == "UterineRestraintMesh">>
-			<br>
-			<<if $UterineRestraintMesh == 0>>
-				<<if $seePreg == 1>>
-					<<if $ImplantProductionUpgrade == 1>>
-						<<if $surgeryUpgrade == 1>>
-							<<if $cash >= 20000>>
-								[[Purchase blueprints for a supportive uterine mesh|The Black Market][cashX(-20000, "capEx"), $UterineRestraintMesh = 1, _dump = $merchantIllegalWares.delete("UterineRestraintMesh")]] //@@.yellowgreen;<<print cashFormat(20000)>>.@@//
+				<<case "UterineRestraintMesh">>
+					<<if $UterineRestraintMesh == 0>>
+						<<if $seePreg == 1>>
+							<<if $ImplantProductionUpgrade == 1>>
+								<<if $surgeryUpgrade == 1>>
+									<<if $cash >= 20000>>
+										[[Purchase blueprints for a supportive uterine mesh|The Black Market][cashX(-20000, "capEx"), $UterineRestraintMesh = 1, _dump = $merchantIllegalWares.delete("UterineRestraintMesh")]] //@@.yellowgreen;<<print cashFormat(20000)>>.@@//
+									<<else>>
+										You cannot afford the asking price of @@.red;<<print cashFormat(20000)>>@@ for a supportive uterine mesh.
+									<</if>>
+									<br>"This is an interesting one... It's designed to prevent any sort of rupturing of the uterus, but, while that idea is great and all, it does jack shit to prevent leaks from elsewhere in the organ. The guy funding the research company was pissed when his slave bloated up like a cum-filled balloon and dropped dead, destroyed most of the development lab. Fortunately, he failed to ruin the best part of it — these blueprints. Now, you're probably wondering what good is something like this, but I've done business with a number of industrial slave farms, and they swear upon its ability to force a girl to carry far more children than physically possible; well, up until their wombs crushed their organs, that is. I supposed it'd work with anything solid, really, if you enjoy sticking things up into slave girls."
+								<<else>>
+									The autosurgery lacks the finesse needed to implant something of this complexity, so designs for a supportive uterine mesh are unusable until it is upgraded.
+								<</if>>
 							<<else>>
-								You cannot afford the asking price of @@.red;<<print cashFormat(20000)>>@@ for a supportive uterine mesh.
+								You lack the facilities needed to produce implants of this complexity, so designs for a supportive uterine mesh are currently unobtainable.
 							<</if>>
-							<br>"This is an interesting one... It's designed to prevent any sort of rupturing of the uterus, but, while that idea is great and all, it does jack shit to prevent leaks from elsewhere in the organ. The guy funding the research company was pissed when his slave bloated up like a cum-filled balloon and dropped dead, destroyed most of the development lab. Fortunately, he failed to ruin the best part of it — these blueprints. Now, you're probably wondering what good is something like this, but I've done business with a number of industrial slave farms, and they swear upon its ability to force a girl to carry far more children than physically possible; well, up until their wombs crushed their organs, that is. I supposed it'd work with anything solid, really, if you enjoy sticking things up into slave girls."
 						<<else>>
-							The autosurgery lacks the finesse needed to implant something of this complexity, so designs for a supportive uterine mesh are unusable until it is upgraded.
+							You have no interest in research to support pregnancy.
+							<<run $merchantIllegalWares.delete("UterineRestraintMesh")>>
 						<</if>>
 					<<else>>
-						You lack the facilities needed to produce implants of this complexity, so designs for a supportive uterine mesh are currently unobtainable.
+						You already possess blueprints for a supportive uterine mesh.
+						<<run $merchantIllegalWares.delete("UterineRestraintMesh")>>
 					<</if>>
-				<<else>>
-					You have no interest in research to support pregnancy.
-					<<run $merchantIllegalWares.delete("UterineRestraintMesh")>>
-				<</if>>
-			<<else>>
-				You already possess blueprints for a supportive uterine mesh.
-				<<run $merchantIllegalWares.delete("UterineRestraintMesh")>>
-			<</if>>
-		<</if>>
 
-		<<if $thisWeeksIllegalWares[_bim] == "PGHack">>
-			<br>
-			<<if $PGHack == 0>>
-				<<if $seePreg == 1>>
-					<<if $ImplantProductionUpgrade == 1>>
-						<<if $surgeryUpgrade == 1>>
-							<<if $cash >= 20000>>
-								[[Purchase documents regarding the broodmother implant firmware hack|The Black Market][cashX(-20000, "capEx"), $PGHack = 1, _dump = $merchantIllegalWares.delete("PGHack")]] //@@.yellowgreen;<<print cashFormat(20000)>>.@@//
+				<<case "PGHack">>
+					<<if $PGHack == 0>>
+						<<if $seePreg == 1>>
+							<<if $ImplantProductionUpgrade == 1>>
+								<<if $surgeryUpgrade == 1>>
+									<<if $cash >= 20000>>
+										[[Purchase documents regarding the broodmother implant firmware hack|The Black Market][cashX(-20000, "capEx"), $PGHack = 1, _dump = $merchantIllegalWares.delete("PGHack")]] //@@.yellowgreen;<<print cashFormat(20000)>>.@@//
+									<<else>>
+										You cannot afford the asking price of @@.red;<<print cashFormat(20000)>>@@ for the broodmother implant firmware data.
+									<</if>>
+									<br>"I might have something for you, if you're interested. Some time ago a hacker manage to crack the firmware of the publicly available broodmother implant and found how to manipulate it through the radio channel normally used for monitoring. His goal was to take revenge on an arcology owner whose beloved concubine had this implant, but this plan failed as he couldn't hide his hacking attempt; to send something to the implant you need to be very close to it. In fact, you need a special actuator inserted up to the cervix, which just so happens to be included in this deal. It is very much advised to use it from within a surgical suite, in case of complications, such as the sudden activation of the birthing process. But anyway, the hack, if applied appropriately, can interfere with the original logic of the implant, forcing it to release more than one ovum every week. Originally, the hacker made it about a dozen, but after we tweaked his initial code, now it will be just two or three ova. You will get all the required data and schematics for the autosurgery upgrade, but you will need to make and install it on your own."
+								<<else>>
+									The autosurgery lacks the needed actuators, so applying the broodmother implant hack complex is impossible.
+								<</if>>
 							<<else>>
-								You cannot afford the asking price of @@.red;<<print cashFormat(20000)>>@@ for the broodmother implant firmware data.
+								You lack the facilities needed to produce something this complex, so production of broodmother implant hack complex is out of your reach.
 							<</if>>
-							<br>"I might have something for you, if you're interested. Some time ago a hacker manage to crack the firmware of the publicly available broodmother implant and found how to manipulate it through the radio channel normally used for monitoring. His goal was to take revenge on an arcology owner whose beloved concubine had this implant, but this plan failed as he couldn't hide his hacking attempt; to send something to the implant you need to be very close to it. In fact, you need a special actuator inserted up to the cervix, which just so happens to be included in this deal. It is very much advised to use it from within a surgical suite, in case of complications, such as the sudden activation of the birthing process. But anyway, the hack, if applied appropriately, can interfere with the original logic of the implant, forcing it to release more than one ovum every week. Originally, the hacker made it about a dozen, but after we tweaked his initial code, now it will be just two or three ova. You will get all the required data and schematics for the autosurgery upgrade, but you will need to make and install it on your own."
 						<<else>>
-							The autosurgery lacks the needed actuators, so applying the broodmother implant hack complex is impossible.
+							You have no interest in research that involves pregnancy.
+							<<run $merchantIllegalWares.delete("PGHack")>>
 						<</if>>
 					<<else>>
-						You lack the facilities needed to produce something this complex, so production of broodmother implant hack complex is out of your reach.
-					<</if>>
-				<<else>>
-					You have no interest in research that involves pregnancy.
-					<<run $merchantIllegalWares.delete("PGHack")>>
-				<</if>>
-			<<else>>
-				You already possess the broodmother implant hack.
-				<<run $merchantIllegalWares.delete("PGHack")>>
-			<</if>>
-		<</if>>
-
-		<<if $thisWeeksIllegalWares[_bim] == "BlackmarketPregAdaptation">>
-			<br>
-			<<if $BlackmarketPregAdaptation == 0 && $minimumSlaveAge <= 6>>
-				<<if $seePreg == 1>>
-					<<if $cash >= 120000 && !($arcologies[0].FSRepopulationFocus >= 60)>>
-						[[Purchase documents regarding an incubator pregnancy adaptation module|The Black Market][cashX(-120000, "capEx"), $BlackmarketPregAdaptation = 1, _dump = $merchantIllegalWares.delete("BlackmarketPregAdaptation")]] //@@.yellowgreen;<<print cashFormat(120000)>>.@@//
-					<<elseif $cash < 120000>>
-						You cannot afford the asking price of @@.red;<<print cashFormat(120000)>>@@ for documentation on an incubator pregnancy adaptation module.
-					<</if>>
-					<br>"I'm not sure about this... but you still might be interested. Let me just begin with a story... Some time ago, there was a man with very pregnant girl in tow. Not so unusual in these days, but what made it really stand out was the girl's age — she couldn't have been any older then six! And looked ready to birth full sized triplets, no less. To top it all off, she did not look stressed by it at all, which was just amazing, given her size. The man said that he invented some sort of subsystem for those modern incubators to prep the occupant's body in a special way, and that this girl was a test subject. I do not understand much about this technical stuff, but the documentation seems legit enough. If you like, I can sell it to you; no guarantees though, on either the construction or the results."
-					<<if $arcologies[0].FSRepopulationFocus >= 60>>
-						<p style="text-indent:2em"> As pursuing repopulation focused society, you already have similar documentation in you possession. No reason to spend you money on dublicate. </p>
-					<<elseif $incubatorUpgradeReproduction < 1 || $incubatorUpgradeOrgans < 1 || $dispensaryUpgrade < 1 || $bellyImplants < 1 || $incubatorUpgradeGrowthStims < 1>>
-						<p style="text-indent:2em"> You lack the facilities needed to manufacture something this complex, so though you can buy documentation, actual production of the incubator pregnancy adaptation module is currently out of your reach.</p>
-					<</if>>
-				<<else>>
-					You have no interest in research that involves pregnancy.
-					<<run $merchantIllegalWares.delete("BlackmarketPregAdaptation")>>
-				<</if>>
-			<<elseif $incubatorUpgradePregAdaptation == 0 && $minimumSlaveAge > 6>>
-				You have no interest in such a distasteful offer.
-				<<run $merchantIllegalWares.delete("BlackmarketPregAdaptation")>>
-			<<else>>
-				You already possess the incubator pregnancy adaptation module.
-				<<run $merchantIllegalWares.delete("BlackmarketPregAdaptation")>>
-			<</if>>
-		<</if>>
-
-		<<if $thisWeeksIllegalWares[_bim] == "RapidCellGrowthFormula">>
-			<br>
-			<<if $geneticMappingUpgrade == 0>>
-				You lack the facilities required for such a treatment to be effective on specific individuals.
-			<<elseif $dispensaryUpgrade == 0>>
-				You lack the facilities required to produce complex gene-altering treatments.
-			<<else>>
-				<<if $RapidCellGrowthFormula == 0>>
-					<<if $cash >= 70000>>
-						[[Purchase formulas for elasticity increasing injections|The Black Market][cashX(-70000, "capEx"), $RapidCellGrowthFormula = 1, _dump = $merchantIllegalWares.delete("RapidCellGrowthFormula")]] //@@.yellowgreen;<<print cashFormat(70000)>>.@@//
-					<<else>>
-						You cannot afford the asking price of @@.red;<<print cashFormat(70000)>>@@ for elasticity increasing injections.
+						You already possess the broodmother implant hack.
+						<<run $merchantIllegalWares.delete("PGHack")>>
 					<</if>>
-					<br>"These injections will loosen up any skin, muscle, organ or whatever living flesh you inject them into. I'm not entirely sure how they work, something about increased cell growth or something. Probably not the safest thing to use, what with it pretty much being cancer in a vial. From what I've gathered, they were originally being developed to use with fillable breast implants. Some rich investor got his rocks off from BE and decided to make his dream a reality. Worked great too, save for the fact that the breasts didn't shrink down when the implant was emptied. Yep, she was left with a big ol' pair of floppy tits after being stretched so much. My take is, if you want to get big, fast, this is the drug for you, but only if you don't care about ever going back."
-				<<else>>
-					You already possess formulas for elasticity increasing injections.
-					<<run $merchantIllegalWares.delete("RapidCellGrowthFormula")>>
-				<</if>>
-			<</if>>
-		<</if>>
 
-		<<if $thisWeeksIllegalWares[_bim] == "sympatheticOvaries">>
-			<br>
-			<<if $sympatheticOvaries == 0>>
-				<<if $seePreg == 1>>
-					<<if $ImplantProductionUpgrade == 1>>
-						<<if $cash >= 50000>>
-							[[Purchase schematics for implants that synchronize ova release|The Black Market][cashX(-50000, "capEx"), $sympatheticOvaries = 1, _dump = $merchantIllegalWares.delete("sympatheticOvaries")]] //@@.yellowgreen;<<print cashFormat(50000)>>.@@//
+				<<case "BlackmarketPregAdaptation">>
+					<<if $BlackmarketPregAdaptation == 0 && $minimumSlaveAge <= 6>>
+						<<if $seePreg == 1>>
+							<<if $cash >= 120000 && !($arcologies[0].FSRepopulationFocus >= 60)>>
+								[[Purchase documents regarding an incubator pregnancy adaptation module|The Black Market][cashX(-120000, "capEx"), $BlackmarketPregAdaptation = 1, _dump = $merchantIllegalWares.delete("BlackmarketPregAdaptation")]] //@@.yellowgreen;<<print cashFormat(120000)>>.@@//
+							<<elseif $cash < 120000>>
+								You cannot afford the asking price of @@.red;<<print cashFormat(120000)>>@@ for documentation on an incubator pregnancy adaptation module.
+							<</if>>
+							<br>"I'm not sure about this... but you still might be interested. Let me just begin with a story... Some time ago, there was a man with very pregnant girl in tow. Not so unusual in these days, but what made it really stand out was the girl's age — she couldn't have been any older then six! And looked ready to birth full sized triplets, no less. To top it all off, she did not look stressed by it at all, which was just amazing, given her size. The man said that he invented some sort of subsystem for those modern incubators to prep the occupant's body in a special way, and that this girl was a test subject. I do not understand much about this technical stuff, but the documentation seems legit enough. If you like, I can sell it to you; no guarantees though, on either the construction or the results."
+							<<if $arcologies[0].FSRepopulationFocus >= 60>>
+								<p style="text-indent:2em"> As a repopulationist society, you already have similar documentation in your possession. Buying this would be a waste of money. </p>
+							<<elseif $incubatorUpgradeReproduction < 1 || $incubatorUpgradeOrgans < 1 || $dispensaryUpgrade < 1 || $bellyImplants < 1 || $incubatorUpgradeGrowthStims < 1>>
+								<p style="text-indent:2em"> You lack the facilities needed to manufacture something this complex, so while you can buy its documentation, actual production and installation of the module is currently out of your reach.</p>
+							<</if>>
 						<<else>>
-							You cannot afford the asking price of @@.red;<<print cashFormat(50000)>>@@ for implants that synchronize ova release.
+							You have no interest in research that involves pregnancy.
+							<<run $merchantIllegalWares.delete("BlackmarketPregAdaptation")>>
 						<</if>>
-						<br>"This pair of implants attaches directly to a girl's ovaries and uses signals to communicate with each other. When one releases an egg, the other is spurred to do the same — in other words, guaranteed twins, always. Now, you're probably wondering why I have this for sale and not one of the big names; well what do you think happens when you mix fertility drugs, or hell just a girl prone to twins, and something that effectively doubles egg counts? That's right: she gets really, really pregnant, like, dangerously so. Kind of boring compared to some of the other stuff I get in, to be honest. Though I sometimes wonder what would happen if you got multiple slaves with these implanted and kept them close to each other... Would one ovulating trigger every other implant to do the same?"
+					<<elseif $incubatorUpgradePregAdaptation == 0 && $minimumSlaveAge > 6>>
+						You have no interest in such a distasteful offer.
+						<<run $merchantIllegalWares.delete("BlackmarketPregAdaptation")>>
 					<<else>>
-						You lack the facilities needed to produce implants of this complexity, so schematics for implants that synchronize ova release are currently unobtainable.
+						You already possess the incubator pregnancy adaptation module.
+						<<run $merchantIllegalWares.delete("BlackmarketPregAdaptation")>>
 					<</if>>
-				<<else>>
-					You have no interest in research to support pregnancy.
-					<<run $merchantIllegalWares.delete("sympatheticOvaries")>>
-				<</if>>
-			<<else>>
-				You already possess schematics for implants that synchronize ova release.
-				<<run $merchantIllegalWares.delete("sympatheticOvaries")>>
-			<</if>>
-		<</if>>
 
-		<<if $thisWeeksIllegalWares[_bim] == "asexualReproduction">>
-			<br>
-			<<if $asexualReproduction == 0>>
-				<<if $seePreg == 1>>
-					<<if $organFarmUpgrade > 0>>
-						<<if $cash >= 80000>>
-							[[Purchase designs for asexually reproducing ovaries|The Black Market][cashX(-80000, "capEx"), $asexualReproduction = 1, _dump = $merchantIllegalWares.delete("asexualReproduction")]] //@@.yellowgreen;<<print cashFormat(80000)>>.@@//
+				<<case "RapidCellGrowthFormula">>
+					<<if $geneticMappingUpgrade == 0>>
+						You lack the facilities required for such a treatment to be effective on specific individuals.
+					<<elseif $dispensaryUpgrade == 0>>
+						You lack the facilities required to produce complex gene-altering treatments.
+					<<else>>
+						<<if $RapidCellGrowthFormula == 0>>
+							<<if $cash >= 70000>>
+								[[Purchase formulas for elasticity increasing injections|The Black Market][cashX(-70000, "capEx"), $RapidCellGrowthFormula = 1, _dump = $merchantIllegalWares.delete("RapidCellGrowthFormula")]] //@@.yellowgreen;<<print cashFormat(70000)>>.@@//
+							<<else>>
+								You cannot afford the asking price of @@.red;<<print cashFormat(70000)>>@@ for elasticity increasing injections.
+							<</if>>
+							<br>"These injections will loosen up any skin, muscle, organ or whatever living flesh you inject them into. I'm not entirely sure how they work, something about increased cell growth or something. Probably not the safest thing to use, what with it pretty much being cancer in a vial. From what I've gathered, they were originally being developed to use with fillable breast implants. Some rich investor got his rocks off from BE and decided to make his dream a reality. Worked great too, save for the fact that the breasts didn't shrink down when the implant was emptied. Yep, she was left with a big ol' pair of floppy tits after being stretched so much. My take is, if you want to get big, fast, this is the drug for you, but only if you don't care about ever going back."
 						<<else>>
-							You cannot afford the asking price of @@.red;<<print cashFormat(80000)>>@@ for asexually reproducing ovaries.
+							You already possess formulas for elasticity increasing injections.
+							<<run $merchantIllegalWares.delete("RapidCellGrowthFormula")>>
 						<</if>>
-						<br>"Ever wanted kids but were too lazy to even try? Then this is the modification for you! Just replace your slave's existing ovaries with these bad girls and she'll never be without child again! Sure there might be a little bit of inbreeding going on, given that she'd be both the mother and father and all that, and sure she might uncontrollably orgasm herself into a coma from trying to fertilize her own eggs, but think of all the time you'd save from not fucking her! Now, why it was designed that way I couldn't tell you, but from what I hear it's quite the show to watch a girl squirming in constant orgasm as she impregnates herself."
-					<<else>>
-						You lack the facilities needed to grow organs, so methods of asexual reproduction are currently unobtainable.
 					<</if>>
-				<<else>>
-					You have no interest in research to support pregnancy.
-					<<run $merchantIllegalWares.delete("asexualReproduction")>>
-				<</if>>
-			<<else>>
-				You already possess methods of asexual reproduction.
-				<<run $merchantIllegalWares.delete("asexualReproduction")>>
-			<</if>>
-		<</if>>
 
-		/* Stop fucking enabling this, it breaks everything.
-		<<if $farmyard>>
-			<<if $thisWeeksIllegalWares[_bim] == "AnimalOrgans">>
-				<br>
-				<<if $animalOvaries == 0 || $animalTesticles == 0 || $animalMpreg == 0>>
-					<<if $organFarmUpgrade > 0>>
-						<<if $cash >= 25000>>
-							<<if $animalOvaries == 0>>
-								[[Purchase schematics for animal ovaries|FarmyardLab][cashX(-25000, "capEx"), $animalOvaries = 1]]
-								<br>//Costs <<print cashFormat(25000)>> and allows you to implant animal ovaries into slaves.//
-								<br>
+				<<case "sympatheticOvaries">>
+					<<if $sympatheticOvaries == 0>>
+						<<if $seePreg == 1>>
+							<<if $ImplantProductionUpgrade == 1>>
+								<<if $cash >= 50000>>
+									[[Purchase schematics for implants that synchronize ova release|The Black Market][cashX(-50000, "capEx"), $sympatheticOvaries = 1, _dump = $merchantIllegalWares.delete("sympatheticOvaries")]] //@@.yellowgreen;<<print cashFormat(50000)>>.@@//
+								<<else>>
+									You cannot afford the asking price of @@.red;<<print cashFormat(50000)>>@@ for implants that synchronize ova release.
+								<</if>>
+								<br>"This pair of implants attaches directly to a girl's ovaries and uses signals to communicate with each other. When one releases an egg, the other is spurred to do the same — in other words, guaranteed twins, always. Now, you're probably wondering why I have this for sale and not one of the big names; well what do you think happens when you mix fertility drugs, or hell just a girl prone to twins, and something that effectively doubles egg counts? That's right: she gets really, really pregnant, like, dangerously so. Kind of boring compared to some of the other stuff I get in, to be honest. Though I sometimes wonder what would happen if you got multiple slaves with these implanted and kept them close to each other... Would one ovulating trigger every other implant to do the same?"
 							<<else>>
-								You already possess schematics for implanting animal ovaries.
-								<br>
+								You lack the facilities needed to produce implants of this complexity, so schematics for implants that synchronize ova release are currently unobtainable.
 							<</if>>
 						<<else>>
-							You cannot afford the asking price of @@.red;<<print cashFormat(25000)>>@@ for animal ovaries.
+							You have no interest in research to support pregnancy.
+							<<run $merchantIllegalWares.delete("sympatheticOvaries")>>
 						<</if>>
-						<<if $cash >= 25000>>
-							<<if $animalTesticles == 0>>
-								[[Purchase schematics for animal testicles|FarmyardLab][cashX(-25000, "capEx"), $animalTesticles = 1]]
-								<br>//Costs <<print cashFormat(25000)>> and allows you to implant animal testicles into slaves.//
-								<br>
+					<<else>>
+						You already possess schematics for implants that synchronize ova release.
+						<<run $merchantIllegalWares.delete("sympatheticOvaries")>>
+					<</if>>
+
+				<<case "asexualReproduction">>
+					<<if $asexualReproduction == 0>>
+						<<if $seePreg == 1>>
+							<<if $organFarmUpgrade > 0>>
+								<<if $cash >= 80000>>
+									[[Purchase designs for asexually reproducing ovaries|The Black Market][cashX(-80000, "capEx"), $asexualReproduction = 1, _dump = $merchantIllegalWares.delete("asexualReproduction")]] //@@.yellowgreen;<<print cashFormat(80000)>>.@@//
+								<<else>>
+									You cannot afford the asking price of @@.red;<<print cashFormat(80000)>>@@ for asexually reproducing ovaries.
+								<</if>>
+								<br>"Ever wanted kids but were too lazy to even try? Then this is the modification for you! Just replace your slave's existing ovaries with these bad girls and she'll never be without child again! Sure there might be a little bit of inbreeding going on, given that she'd be both the mother and father and all that, and sure she might uncontrollably orgasm herself into a coma from trying to fertilize her own eggs, but think of all the time you'd save from not fucking her! Now, why it was designed that way I couldn't tell you, but from what I hear it's quite the show to watch a girl squirming in constant orgasm as she impregnates herself."
 							<<else>>
-								You already possess schematics for implanting animal testicles.
-								<br>
+								You lack the facilities needed to grow organs, so methods of asexual reproduction are currently unobtainable.
 							<</if>>
 						<<else>>
-							You cannot afford the asking price of @@.red;<<print cashFormat(25000)>>@@ for animal testicles.
+							You have no interest in research to support pregnancy.
+							<<run $merchantIllegalWares.delete("asexualReproduction")>>
 						<</if>>
-						<<if $cash >= 25000>>
-							<<if $animalMpreg == 0>>
-								[[Purchase schematics for animal anal wombs and ovaries|FarmyardLab][cashX(-25000, "capEx"), $animalMpreg = 1]]
-								<br>//Costs <<print cashFormat(25000)>> and allows you to implant animal anal wombs and ovaries into slaves.//
-								<br>
+					<<else>>
+						You already possess methods of asexual reproduction.
+						<<run $merchantIllegalWares.delete("asexualReproduction")>>
+					<</if>>
+
+				<<case "AnimalOrgans">>
+					<<if $experimental.animalOvaries>>
+						<<if $animalOvaries == 0 || $animalTesticles == 0 || $animalMpreg == 0>>
+							<<if $organFarmUpgrade > 0>>
+								<<if $cash >= 25000>>
+									<<if $animalOvaries == 0>>
+										[[Purchase schematics for animal ovaries|The Black Market][cashX(-25000, "capEx"), $animalOvaries = 1]]
+										<br>//Costs <<print cashFormat(25000)>> and allows you to implant animal ovaries into slaves.//
+										<br>
+									<<else>>
+										You already possess schematics for implanting animal ovaries.
+										<br>
+									<</if>>
+								<<else>>
+									You cannot afford the asking price of @@.red;<<print cashFormat(25000)>>@@ for animal ovaries.
+								<</if>>
+								<<if $cash >= 25000>>
+									<<if $animalTesticles == 0>>
+										[[Purchase schematics for animal testicles|The Black Market][cashX(-25000, "capEx"), $animalTesticles = 1]]
+										<br>//Costs <<print cashFormat(25000)>> and allows you to implant animal testicles into slaves.//
+										<br>
+									<<else>>
+										You already possess schematics for implanting animal testicles.
+										<br>
+									<</if>>
+								<<else>>
+									You cannot afford the asking price of @@.red;<<print cashFormat(25000)>>@@ for animal testicles.
+								<</if>>
+								<<if $cash >= 25000>>
+									<<if $animalMpreg == 0>>
+										[[Purchase schematics for animal anal wombs and ovaries|The Black Market][cashX(-25000, "capEx"), $animalMpreg = 1]]
+										<br>//Costs <<print cashFormat(25000)>> and allows you to implant animal anal wombs and ovaries into slaves.//
+										<br>
+									<<else>>
+										You already possess schematics for implanting animal anal wombs and ovaries.
+										<br>
+									<</if>>
+								<<else>>
+									You cannot afford the asking price of @@.red;<<print cashFormat(25000)>>@@ for animal anal wombs and ovaries.
+								<</if>>
+								/* TODO: flesh this out some more */
+								<br>"Got something real special this week. These are schematics for implanting non-human organs into humans. My supplier told me they came from some military experiments or something — maybe they were trying to make some kind of super soldier. Not my business, though."
 							<<else>>
-								You already possess schematics for implanting animal anal wombs and ovaries.
-								<br>
+								You lack the facilities required to grow organs.
 							<</if>>
-						<<else>>
-							You cannot afford the asking price of @@.red;<<print cashFormat(25000)>>@@ for animal anal wombs and ovaries.
+						<<else>>	/* if all schematics have already been purchased */
+							You already possess all of the schematics for implanting animal organs.
+							<<run $merchantIllegalWares.delete("AnimalOrgans")>>
 						<</if>>
-						/ TODO: flesh this out some more /
-						<br>"Got something real special this week. These are schematics for implanting non-human organs into humans. My supplier told me they came from some military experiments or something — maybe they were trying to make some kind of super soldier. Not my business, though."
-					<<else>>
-						You lack the facilities required to grow organs.
 					<</if>>
-				<<else>>	/ if all schematics have already been purchased /
-					You already possess all of the schematics for implanting animal organs.
-					<<run $merchantIllegalWares.delete("AnimalOrgans")>>
-				<</if>>
-			<</if>>
-		<</if>>
-		*/
+			<</switch>>
+		</div>
 	<</for>>
 <<else>>
 	<br>You appear to already possess all the black market schematics he has to offer.
 <</if>>
+<<if $cheatMode == 1>>
+	<br>
+	[[Refresh illicit wares list|The Black Market][$thisWeeksIllegalWares = ["childhoodFertilityInducedNCS", "UterineRestraintMesh", "PGHack", "BlackmarketPregAdaptation", "RapidCellGrowthFormula", "sympatheticOvaries", "asexualReproduction"]]]
+<</if>>
diff --git a/src/pregmod/widgets/pregmodWidgets.tw b/src/pregmod/widgets/pregmodWidgets.tw
index 228518821db73b3bc629b41ae5079b8b364d96a2..901b945419e636355ddb1b784897157546c0226f 100644
--- a/src/pregmod/widgets/pregmodWidgets.tw
+++ b/src/pregmod/widgets/pregmodWidgets.tw
@@ -604,7 +604,7 @@ $activeSlave.slaveName is up for review:
 
 <<widget "PlayerSkin">>
 	<<replace #skin>>
-		You have $PC.origSkin skin.
+		You have $PC.skin skin.
 	<</replace>>
 <</widget>>
 
diff --git a/src/pregmod/widgets/seBirthWidgets.tw b/src/pregmod/widgets/seBirthWidgets.tw
index 8fe53373142283963facaefa97caab2e2936e2ae..72a8b22176d67910cb96d445b5da3c8e222da3bd 100644
--- a/src/pregmod/widgets/seBirthWidgets.tw
+++ b/src/pregmod/widgets/seBirthWidgets.tw
@@ -512,9 +512,9 @@ This descriptions can be expanded with more outcomes later. But it's not practic
 				<<if $slaves[$i].fetishKnown == 0>>What would have made most girls blackout from pain sent $him into the lewdest orgasm you've seen today. $He @@.lightcoral;must get off to pain.@@.<<set $slaves[$i].fetishKnown = 1>><<else>> $He claims to have never climaxed so hard and @@.hotpink;wishes $his hips could have stayed that narrow for next time.@@<</if>>
 				<<set $slaves[$i].devotion += 5>>
 			<<elseif $slaves[$i].devotion > 70>>
-				When $he comes to, $his pelvis has already been patched up. $He is just glad that $he managed to finish giving birth despite the hindrance.
+				When $he finally comes to after blacking out, $his pelvis has already been patched up. $He is just glad that $he managed to finish giving birth despite the hindrance.
 			<<else>>
-				When $he comes to, $his pelvis has already been patched up. $He @@.mediumorchid;loathes you@@ for forcing $his body to undergo such a painful experience and @@.gold;fears@@ what horror you have planned next.
+				When $he finally comes to after blacking out, $his pelvis has already been patched up. $He @@.mediumorchid;loathes you@@ for forcing $his body to undergo such a painful experience and @@.gold;fears@@ what horror you have planned next.
 				<<set $slaves[$i].devotion -= 25, $slaves[$i].trust -= 25>>
 			<</if>>
 		<<else>>
@@ -737,7 +737,7 @@ All in all,
 /* this needs a tally of how many babies where lost due to underdevelopment instead of relying off a check */
 <<if $surgeryUpgrade != 1 && $slaves[$i].curStillBirth > 0>>
 	<br>
-	It's possible that @@.red;having advanced equipment@@ in remote surgery could have prevented the loss of $his $slaves[$i].curStillBirth unborn child<<if $slaves[$i].curStillBirth > 1>>ren<</if>>.
+	It's possible that @@.red;having advanced equipment@@ in the remote surgery could have prevented the loss of $his $slaves[$i].curStillBirth unborn child<<if $slaves[$i].curStillBirth > 1>>ren<</if>>.
 	<br>
 <</if>>
 
diff --git a/src/uncategorized/costsBudget.js b/src/uncategorized/costsBudget.js
index a9b2a0dec1cfd12e476f5d76acb3863de46476ef..dcd76661613ccfa0b9d3b7ce837d3dec40efe142 100644
--- a/src/uncategorized/costsBudget.js
+++ b/src/uncategorized/costsBudget.js
@@ -579,6 +579,8 @@ App.UI.Budget.Cost = function() {
 	generateRowCategory("ExtraMilkVign", "slaveAssignmentExtraMilkVign");
 	generateRowCategory("Gloryhole", "slaveAssignmentGloryhole");
 	generateRowCategory("Confinement", "slaveAssignmentConfinement");
+	// Other
+	generateRowCategory("Chosing Own Assignment", "slaveAssignmentChoice");
 
 	// LEADERSHIP ROLES
 
diff --git a/src/uncategorized/costsBudget.tw b/src/uncategorized/costsBudget.tw
index b7a2fee2f3e2db9eee2ad541ac0fb8d48d5b12ce..2ac4ee73c508d2a9c206dd70dc4b47f1da4e94e3 100644
--- a/src/uncategorized/costsBudget.tw
+++ b/src/uncategorized/costsBudget.tw
@@ -77,10 +77,10 @@
 <</if>>
 
 <span class="detail">Your weekly costs are as follows:</span>
-<<options $showAllEntries.costsBudget>>
-	<<option 0 "Normal">>
-	<<option 1 "Show Empty Entries">>
-<</options>>
+<<set _options = new App.UI.OptionsGroup()>>
+<<run _options.addOption("", "costsBudget", $showAllEntries)
+.addValue("Normal", 0).on().addValue("Show Empty Entries", 1).neutral()>>
+<<print App.UI.DOM.includeDOM(_options.render())>>
 
 <p>
 /* Table of Totals */
diff --git a/src/uncategorized/options.tw b/src/uncategorized/options.tw
index a8d5131dd17ba815fcfbb1648e459453e5cc8a48..f0d244397a106765780448974386abc8d7c1bd57 100644
--- a/src/uncategorized/options.tw
+++ b/src/uncategorized/options.tw
@@ -330,10 +330,10 @@ This save was created using FC version $ver build $releaseID.
 		.addValue("Yes", 0).on().addValue("No", 1).off()>>
 
 		<<run _options.addOption("Disables the tiredness mechanic. //Temp option//", "disableTiredness")
-		.addValue("Disabled", 1).off().addValue("Enabled", 0).on()>>
+		.addValue("Enabled", 0).on().addValue("Disabled", 1).off()>>
 
 		<<run _options.addOption("Disables the long term damage mechanic. //Temp option//", "disableLongDamage")
-		.addValue("Disabled", 1).off().addValue("Enabled", 0).on()>>
+		.addValue("Enabled", 0).on().addValue("Disabled", 1).off()>>
 
 		<<run _options.addOption("Experimental male pronouns are currently", "diversePronouns")
 		.addValue("Enabled", 1).on().addValue("Disabled", 0).off()
diff --git a/src/uncategorized/repBudget.tw b/src/uncategorized/repBudget.tw
index 0d72306fb1ca1891c356da6aa20af85426a885cd..7e5cbc4f78e8c0c7dff98be055ff067bc7501b8b 100644
--- a/src/uncategorized/repBudget.tw
+++ b/src/uncategorized/repBudget.tw
@@ -21,10 +21,10 @@
 <br style="clear:both"><<if $lineSeparations == 0>><br><<else>><hr style="margin:0"><</if>>
 <br>
 //Your weekly reputation changes are as follows://
-<<options $showAllEntries.repBudget>>
-	<<option 0 "Normal">>
-	<<option 1 "Show Empty Entries">>
-<</options>>
+<<set _options = new App.UI.OptionsGroup()>>
+<<run _options.addOption("", "repBudget", $showAllEntries)
+.addValue("Normal", 0).on().addValue("Show Empty Entries", 1).neutral()>>
+<<print App.UI.DOM.includeDOM(_options.render())>>
 
 /* Table of Totals */
 <<if ndef $lastWeeksRepIncome>>
diff --git a/src/utility/descriptionWidgetsStyle.tw b/src/utility/descriptionWidgetsStyle.tw
index e804e3984d6bbb0d65788af2653211a28804c6bc..d6d7a9d78c00bb88fd7ed9e0c57fa4281cb6fca9 100644
--- a/src/utility/descriptionWidgetsStyle.tw
+++ b/src/utility/descriptionWidgetsStyle.tw
@@ -763,7 +763,7 @@ $activeSlave.slaveName is
 	$His uniform is pinned with the
 	<<if ($activeSlave.ID == $Bodyguard.ID) || ($activeSlave.ID == $HeadGirl.ID) || ($activeSlave.ID == $Recruiter.ID) || ($activeSlave.ID == $Concubine.ID)>>
 		golden whip and manacles insignia of a senior slave officer,
-	<<elseif ($activeSlave.ID == $Madam.ID) || ($activeSlave.ID == $Nurse.ID) || ($activeSlave.ID == $Attendant.ID) || ($activeSlave.ID == $Matron.ID) || ($activeSlave.ID == $DJ.ID) || ($activeSlave.ID == $Milkmaid.ID) || ($activeSlave.ID == $Farmer.ID) || ($activeSlave.ID == $Stewardess.ID) || ($activeSlave.ID == $Schoolteacher.ID) || ($activeSlave.ID == $Wardeness.ID) || ($activeSlave.ID == $Collectrix.ID)>>
+	<<elseif ($activeSlave.ID == $Madam.ID) || ($activeSlave.ID == $Nurse.ID) || ($activeSlave.ID == $Attendant.ID) || ($activeSlave.ID == $Matron.ID) || ($activeSlave.ID == $DJ.ID) || ($activeSlave.ID == $Milkmaid.ID) || ($activeSlave.ID == $Farmer.ID) || ($activeSlave.ID == $Stewardess.ID) || ($activeSlave.ID == $Schoolteacher.ID) || ($activeSlave.ID == $Wardeness.ID)>>
 		golden manacles insignia of a junior slave officer,
 	<<elseif ($activeSlave.skill.combat > 0) && getLimbCount($activeSlave, 105) > 0>>
 		silver spear and manacles insignia of an augmented slave soldier,
@@ -785,7 +785,7 @@ $activeSlave.slaveName is
 	$His uniform is pinned with the
 	<<if ($activeSlave.ID == $Bodyguard.ID) || ($activeSlave.ID == $HeadGirl.ID) || ($activeSlave.ID == $Recruiter.ID) || ($activeSlave.ID == $Concubine.ID)>>
 		golden whip and manacles insignia of a senior slave officer,
-	<<elseif ($activeSlave.ID == $Madam.ID) || ($activeSlave.ID == $Nurse.ID) || ($activeSlave.ID == $Attendant.ID) || ($activeSlave.ID == $Matron.ID) || ($activeSlave.ID == $DJ.ID) || ($activeSlave.ID == $Milkmaid.ID) || ($activeSlave.ID == $Farmer.ID) || ($activeSlave.ID == $Stewardess.ID) || ($activeSlave.ID == $Schoolteacher.ID) || ($activeSlave.ID == $Wardeness.ID) || ($activeSlave.ID == $Collectrix.ID)>>
+	<<elseif ($activeSlave.ID == $Madam.ID) || ($activeSlave.ID == $Nurse.ID) || ($activeSlave.ID == $Attendant.ID) || ($activeSlave.ID == $Matron.ID) || ($activeSlave.ID == $DJ.ID) || ($activeSlave.ID == $Milkmaid.ID) || ($activeSlave.ID == $Farmer.ID) || ($activeSlave.ID == $Stewardess.ID) || ($activeSlave.ID == $Schoolteacher.ID) || ($activeSlave.ID == $Wardeness.ID)>>
 		golden manacles insignia of a junior slave officer,
 	<<elseif ($activeSlave.skill.combat > 0) && getLimbCount($activeSlave, 105)>>
 		silver spear and manacles insignia of an augmented slave soldier,
@@ -807,7 +807,7 @@ $activeSlave.slaveName is
 	$His uniform is pinned with the
 	<<if ($activeSlave.ID == $Bodyguard.ID) || ($activeSlave.ID == $HeadGirl.ID) || ($activeSlave.ID == $Recruiter.ID) || ($activeSlave.ID == $Concubine.ID)>>
 		golden whip and manacles insignia of a senior slave officer,
-	<<elseif ($activeSlave.ID == $Madam.ID) || ($activeSlave.ID == $Nurse.ID) || ($activeSlave.ID == $Attendant.ID) || ($activeSlave.ID == $Matron.ID) || ($activeSlave.ID == $DJ.ID) || ($activeSlave.ID == $Milkmaid.ID) || ($activeSlave.ID == $Farmer.ID) || ($activeSlave.ID == $Stewardess.ID) || ($activeSlave.ID == $Schoolteacher.ID) || ($activeSlave.ID == $Wardeness.ID) || ($activeSlave.ID == $Collectrix.ID)>>
+	<<elseif ($activeSlave.ID == $Madam.ID) || ($activeSlave.ID == $Nurse.ID) || ($activeSlave.ID == $Attendant.ID) || ($activeSlave.ID == $Matron.ID) || ($activeSlave.ID == $DJ.ID) || ($activeSlave.ID == $Milkmaid.ID) || ($activeSlave.ID == $Farmer.ID) || ($activeSlave.ID == $Stewardess.ID) || ($activeSlave.ID == $Schoolteacher.ID) || ($activeSlave.ID == $Wardeness.ID)>>
 		golden manacles insignia of a junior slave officer,
 	<<elseif ($activeSlave.skill.combat > 0) && getLimbCount($activeSlave, 105)>>
 		silver spear and manacles insignia of an augmented slave soldier,
@@ -829,7 +829,7 @@ $activeSlave.slaveName is
 	$His uniform is pinned with the
 	<<if ($activeSlave.ID == $Bodyguard.ID) || ($activeSlave.ID == $HeadGirl.ID) || ($activeSlave.ID == $Recruiter.ID) || ($activeSlave.ID == $Concubine.ID)>>
 		golden whip and manacles insignia of a senior slave officer,
-	<<elseif ($activeSlave.ID == $Madam.ID) || ($activeSlave.ID == $Nurse.ID) || ($activeSlave.ID == $Attendant.ID) || ($activeSlave.ID == $Matron.ID) || ($activeSlave.ID == $DJ.ID) || ($activeSlave.ID == $Milkmaid.ID) || ($activeSlave.ID == $Farmer.ID) || ($activeSlave.ID == $Stewardess.ID) || ($activeSlave.ID == $Schoolteacher.ID) || ($activeSlave.ID == $Wardeness.ID) || ($activeSlave.ID == $Collectrix.ID)>>
+	<<elseif ($activeSlave.ID == $Madam.ID) || ($activeSlave.ID == $Nurse.ID) || ($activeSlave.ID == $Attendant.ID) || ($activeSlave.ID == $Matron.ID) || ($activeSlave.ID == $DJ.ID) || ($activeSlave.ID == $Milkmaid.ID) || ($activeSlave.ID == $Farmer.ID) || ($activeSlave.ID == $Stewardess.ID) || ($activeSlave.ID == $Schoolteacher.ID) || ($activeSlave.ID == $Wardeness.ID)>>
 		golden manacles insignia of a junior slave officer,
 	<<elseif ($activeSlave.skill.combat > 0) && getLimbCount($activeSlave, 105)>>
 		silver spear and manacles insignia of an augmented slave soldier,
diff --git a/src/zz1-last/setupEventHandlers.js b/src/zz1-last/setupEventHandlers.js
index 190756ccced5b1ba246a99d25876336893d5d9dc..44cba09f389236f963c15e85054696220dd01ff1 100644
--- a/src/zz1-last/setupEventHandlers.js
+++ b/src/zz1-last/setupEventHandlers.js
@@ -9,3 +9,9 @@ $(document).on(':storyready', function(ev) {
 $(document).one(':passagestart', function() {
 	App.EventHandlers.optionsChanged();
 });
+
+$(document).on(':passagestart', function() {
+	Object.defineProperty(State.temporary, "S", {
+		get: () => S
+	});
+});