diff --git a/docker/Dockerfile b/docker/fc-docker/Dockerfile
similarity index 100%
rename from docker/Dockerfile
rename to docker/fc-docker/Dockerfile
diff --git a/docker/megacmd/Dockerfile b/docker/megacmd/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..d454f095cd53ae5979d12b497e0045d3b80d8736
--- /dev/null
+++ b/docker/megacmd/Dockerfile
@@ -0,0 +1,20 @@
+# Create docker and upload to gitgud.io
+# docker build -t gitgud.io:5050/user/project .
+# docker login gitgud.io
+# docker push gitgud.io:5050/user/project
+#
+# Debug build process
+# docker build --no-cache --progress=plain -t megacmd .
+
+#Create debian as base image
+FROM debian
+
+#Install packages
+RUN apt-get -y update
+RUN apt-get -y upgrade
+# Install dependencies, when changing mega versions these may need to be adjusted
+RUN apt-get -y install libc-ares2 libcrypto++6 libmediainfo0v5 libpcrecpp0v5 libzen0v5
+# Install mega cmd
+RUN apt-get -y install wget
+RUN wget https://mega.nz/linux/MEGAsync/Debian_10.0/amd64/megacmd_1.4.0-3.1_amd64.deb
+RUN dpkg -i megacmd_1.4.0-3.1_amd64.deb
diff --git a/js/003-data/gameVariableData.js b/js/003-data/gameVariableData.js
index b61e936f3086a7c80fc738ac2a8d1265f64c3ce0..3959e2fc78d7eb7b4b66d1b7297d631f4e20660b 100644
--- a/js/003-data/gameVariableData.js
+++ b/js/003-data/gameVariableData.js
@@ -809,6 +809,8 @@ App.Data.resetOnNGPlus = {
 	wcPiping: 0,
 	burstee: 0,
 	slaveDeath: new Map(),
+	slaveRetirements: new Set(),
+	slaveExpirations: new Set(),
 	playerBred: 0,
 	propOutcome: 0,
 	EliteSires: ["crazy", "futa", "moves", "preggo", "quick", "virgin"],
@@ -1149,8 +1151,6 @@ App.Data.resetOnNGPlus = {
 	StudID: 0,
 	raided: 0,
 
-	expiree: 0,
-	retiree: 0,
 	birthee: 0,
 	FSSlaveProfLawTrigger: 0,
 	citizenRetirementTrigger: 0,
diff --git a/src/002-config/fc-version.js b/src/002-config/fc-version.js
index d62bff94e898f79686e82fcc3e062c7be3c45336..29fecfb741f4d0c28fbc7337d8206cee54eeb6e6 100644
--- a/src/002-config/fc-version.js
+++ b/src/002-config/fc-version.js
@@ -2,5 +2,5 @@ App.Version = {
 	base: "0.10.7.1", // The vanilla version the mod is based off of, this should never be changed.
 	pmod: "3.9.0",
 	commitHash: null,
-	release: 1119 // When getting close to 2000,  please remove the check located within the onLoad() function defined at line five of src/js/eventHandlers.js.
+	release: 1120 // When getting close to 2000,  please remove the check located within the onLoad() function defined at line five of src/js/eventHandlers.js.
 };
diff --git a/src/005-passages/eventsPassages.js b/src/005-passages/eventsPassages.js
index 62c682c55054268d1eb83e0072fad84ca770377e..040a03f06145fc905a8652d27498aaf173ad8ea5 100644
--- a/src/005-passages/eventsPassages.js
+++ b/src/005-passages/eventsPassages.js
@@ -17,6 +17,24 @@ new App.DomPassage("SE Death",
 	}
 );
 
+new App.DomPassage("SE Expire",
+	() => {
+		V.nextButton = "Continue";
+		V.nextLink = "Scheduled Event";
+
+		return expirations();
+	}
+);
+
+new App.DomPassage("SE Retire",
+	() => {
+		V.nextButton = "Continue";
+		V.nextLink = "Scheduled Event";
+
+		return retirementParty();
+	}
+);
+
 new App.DomPassage("SE Birth",
 	() => {
 		V.nextButton = "Continue";
@@ -30,6 +48,8 @@ new App.DomPassage("SE pit fight", () => App.Facilities.Pit.fight(V.pit.lethal))
 
 new App.DomPassage("SE pc birthday", () => App.Events.pcBirthday.runEvent());
 
+new App.DomPassage("SE raiding", () => App.Events.SERaiding());
+
 /* ### Non Random Events ### */
 
 new App.DomPassage("Murder Attempt",
diff --git a/src/005-passages/managePassages.js b/src/005-passages/managePassages.js
index 3911b98eb13bdaf45da03ef99aa20dc77439f8b2..686ddd413b6d97db82a384f54ab6ce4cbf69269e 100644
--- a/src/005-passages/managePassages.js
+++ b/src/005-passages/managePassages.js
@@ -18,3 +18,11 @@ new App.DomPassage("Manage Penthouse",
 		return App.UI.managePenthouse();
 	}, ["jump-to-safe", "jump-from-safe"]
 );
+
+new App.DomPassage("retire",
+	() => {
+		V.nextButton = "Back";
+		V.nextLink = "Main";
+		return retireScene(getSlave(V.AS));
+	}
+);
diff --git a/src/art/webgl/engine.js b/src/art/webgl/engine.js
index d15de10c69f890e36df7df4bb315e71ce34d06b6..3eea5de383e7e9bd3ffbe5b0182603fdc6b00019 100644
--- a/src/art/webgl/engine.js
+++ b/src/art/webgl/engine.js
@@ -217,43 +217,47 @@ App.Art.Engine = class {
 		}
 	}
 
-	loadTexture(gl, url, engine) {
-		// return dummy texture
+	loadTexture(gl, url) {
+		// return dummy texture right now
 		let texture = gl.createTexture();
 		gl.bindTexture(gl.TEXTURE_2D, texture);
 		gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 1, 1, 0, gl.RGBA, gl.UNSIGNED_BYTE, new Uint8Array([255, 255, 255, 255]));
 
-		// stream real textures
-		let image = new Image();
-		image.onload = function() {
-			gl.bindTexture(gl.TEXTURE_2D, texture);
-			gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
-			gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
-			gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
-			gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
-			gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);
-
-			// hack to update canvas again after streaming is done
-			engine.loadCount += 1;
-			if (engine.loadCount == engine.sceneData.textures.length) {
-				let containers = document.getElementsByClassName("artContainer");
-				for (let i = 0; i < containers.length; i++) {
-					containers[i].dispatchEvent(new Event("engineLoaded"));
-				}
-			}
-		};
-		image.src = url;
-
-		return texture;
+		// promise that real textures will stream in the future
+		let promise = fetch(url)
+			.then(response => response.blob())
+			.then(blob => createImageBitmap(blob))
+			.then(bitmap => {
+				gl.bindTexture(gl.TEXTURE_2D, texture);
+				gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
+				gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
+				gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
+				gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
+				gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, bitmap);
+
+				return texture;
+			});
+
+		return {texture, promise};
 	}
 
 	initTextures() {
 		// load model textures
 		this.modelTextures = [];
-		this.loadCount = 0;
+		let promisedTextures = [];
 		for (let i=0; i < this.sceneData.textures.length; i++) {
-			this.modelTextures[i] = this.loadTexture(this.gl, this.sceneData.textures[i], this);
+			const {texture, promise} = this.loadTexture(this.gl, this.sceneData.textures[i]);
+			this.modelTextures[i] = texture;
+			promisedTextures[i] = promise;
 		}
+		Promise.all(promisedTextures).then(() => {
+			if (App.Art.engineReady) { // re-send loaded event after textures finish streaming
+				let containers = document.getElementsByClassName("artContainer");
+				for (let i = 0; i < containers.length; i++) {
+					containers[i].dispatchEvent(new Event("engineLoaded"));
+				}
+			}
+		});
 	}
 
 	initShaders() {
diff --git a/src/endWeek/death.js b/src/endWeek/death.js
index 78cf2bfb8290c555cafd81559a07b48f30b0a7d6..c33f38f768e314d1457040f2ee472743c4e9e499 100644
--- a/src/endWeek/death.js
+++ b/src/endWeek/death.js
@@ -28,147 +28,147 @@ globalThis.allDeaths = function() {
 		hr.style.margin = "0";
 		return hr;
 	}
-};
 
-/**
- *
- * @param {App.Entity.SlaveState} slave
- * @param {"oldAge"|"overdosed"|"lowHealth"} deathType
- */
-globalThis.death = function(slave, deathType) {
-	const el = new DocumentFragment();
-	const r = [];
-	const {
-		He, His,
-		he, his
-	} = getPronouns(slave);
-	App.UI.DOM.appendNewElement("div", el, App.Art.SlaveArtElement(slave, 0, 0), ["imageRef", "tinyImg"]);
+	/**
+	 *
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {"oldAge"|"overdosed"|"lowHealth"} deathType
+	 */
+	function death(slave, deathType) {
+		const el = new DocumentFragment();
+		const r = [];
+		const {
+			He, His,
+			he, his
+		} = getPronouns(slave);
+		App.UI.DOM.appendNewElement("div", el, App.Art.SlaveArtElement(slave, 0, 0), ["imageRef", "tinyImg"]);
 
-	switch (deathType) {
-		case "oldAge": {
-			if (slave.assignment === "be confined in the arcade") {
-				r.push(`You are notified by ${V.arcadeName} staff that one of the cabinets has broken down and will need to be replaced. It would seem <span class="pink bold">${slave.slaveName},</span> the fucktoy encased in it, died`);
-				if (slave.physicalAge >= 70) {
-					r.push(`naturally of old age despite`);
-				} else {
-					r.push(`suddenly, unrelated to`);
-				}
-				r.push(`${his} living conditions. ${He} was a good unit; logs show ${he} was taking dick up until the very end.`);
-			} else if (slave.assignment === "work in the dairy" && V.dairyRestraintsSetting > 1) {
-				r.push(`You are notified by ${V.dairyName} staff that one of the occupied milkers has ceased producing. Upon inspection, it would seem <span class="pink bold">${slave.slaveName},</span> the cow restrained in it, died`);
-				if (slave.physicalAge >= 70) {
-					r.push(`naturally of old age despite`);
-				} else {
-					r.push(`suddenly, unrelated to`);
-				}
-				r.push(`${his} living conditions. ${He} was a good cow; ${he} gave milk up until ${his} death.`);
-			} else if (slave.fuckdoll > 0) {
-				r.push(`One of your Fuckdolls' monitoring systems alerts you that the slave contained within has died. It would seem <span class="pink bold">${slave.slaveName}</span> has died`);
-				if (slave.physicalAge >= 70) {
-					r.push(`naturally of old age despite`);
-				} else {
-					r.push(`suddenly, unrelated to`);
-				}
-				r.push(`${his} living conditions. Thankfully the suit notifies its owner of such things; especially with the rumors of earlier models and necrophilia you hear occasionally.`);
-			} else {
-				r.push(`<span class="pink bold">${slave.slaveName}</span> failed to report in for a routine inspection, something that rarely occurs under your watch. It doesn't take long to track down the wayward slave.`);
-				const deathSeed = random(1, 100);
-				if (deathSeed > 75) {
-					r.push(`${He} is found dead in ${his} bed, having died sometime during the previous night.`);
-				} else if (deathSeed > 50) {
-					r.push(`${He} is found dead in a stairwell, having had a heart attack while trying to climb it.`);
-				} else if (deathSeed > 25) {
-					r.push(`${He} is found dead in the showers, having slipped sometime earlier.`);
-				} else {
-					if (App.Utils.hasNonassignmentSex(slave)) {
-						r.push(`${He} is found dead in the bed of another slave, having died during intercourse. ${His} lover is not taking it well.`);
+		switch (deathType) {
+			case "oldAge": {
+				if (slave.assignment === "be confined in the arcade") {
+					r.push(`You are notified by ${V.arcadeName} staff that one of the cabinets has broken down and will need to be replaced. It would seem <span class="pink bold">${slave.slaveName},</span> the fucktoy encased in it, died`);
+					if (slave.physicalAge >= 70) {
+						r.push(`naturally of old age despite`);
 					} else {
-						r.push(`${He} is found dead in the cafeteria, having died during breakfast; ${he} ruined the day for a number of your slaves.`);
+						r.push(`suddenly, unrelated to`);
 					}
-				}
-				r.push(`${slave.slaveName} died at the age of ${slave.actualAge};`);
-				if (slave.actualAge < 10) {
-					r.push(`${he} lived a tragically short life.`);
-				} else if (slave.actualAge < 20) {
-					r.push(`${he} died far too young.`);
-				} else if (slave.actualAge < 30) {
-					r.push(`${he} died in what would be a sex slave's prime.`);
-				} else if (slave.actualAge < 50) {
-					r.push(`${he} died in ${his} prime.`);
-				} else if (slave.actualAge < 65) {
-					r.push(`${he} lived a fair life, good or bad.`);
-				} else if (slave.actualAge < 90) {
-					r.push(`${he} lived a long life and experienced much during it.`);
+					r.push(`${his} living conditions. ${He} was a good unit; logs show ${he} was taking dick up until the very end.`);
+				} else if (slave.assignment === "work in the dairy" && V.dairyRestraintsSetting > 1) {
+					r.push(`You are notified by ${V.dairyName} staff that one of the occupied milkers has ceased producing. Upon inspection, it would seem <span class="pink bold">${slave.slaveName},</span> the cow restrained in it, died`);
+					if (slave.physicalAge >= 70) {
+						r.push(`naturally of old age despite`);
+					} else {
+						r.push(`suddenly, unrelated to`);
+					}
+					r.push(`${his} living conditions. ${He} was a good cow; ${he} gave milk up until ${his} death.`);
+				} else if (slave.fuckdoll > 0) {
+					r.push(`One of your Fuckdolls' monitoring systems alerts you that the slave contained within has died. It would seem <span class="pink bold">${slave.slaveName}</span> has died`);
+					if (slave.physicalAge >= 70) {
+						r.push(`naturally of old age despite`);
+					} else {
+						r.push(`suddenly, unrelated to`);
+					}
+					r.push(`${his} living conditions. Thankfully the suit notifies its owner of such things; especially with the rumors of earlier models and necrophilia you hear occasionally.`);
 				} else {
-					r.push(`${he} lived a very long life that few get to see.`);
+					r.push(`<span class="pink bold">${slave.slaveName}</span> failed to report in for a routine inspection, something that rarely occurs under your watch. It doesn't take long to track down the wayward slave.`);
+					const deathSeed = random(1, 100);
+					if (deathSeed > 75) {
+						r.push(`${He} is found dead in ${his} bed, having died sometime during the previous night.`);
+					} else if (deathSeed > 50) {
+						r.push(`${He} is found dead in a stairwell, having had a heart attack while trying to climb it.`);
+					} else if (deathSeed > 25) {
+						r.push(`${He} is found dead in the showers, having slipped sometime earlier.`);
+					} else {
+						if (App.Utils.hasNonassignmentSex(slave)) {
+							r.push(`${He} is found dead in the bed of another slave, having died during intercourse. ${His} lover is not taking it well.`);
+						} else {
+							r.push(`${He} is found dead in the cafeteria, having died during breakfast; ${he} ruined the day for a number of your slaves.`);
+						}
+					}
+					r.push(`${slave.slaveName} died at the age of ${slave.actualAge};`);
+					if (slave.actualAge < 10) {
+						r.push(`${he} lived a tragically short life.`);
+					} else if (slave.actualAge < 20) {
+						r.push(`${he} died far too young.`);
+					} else if (slave.actualAge < 30) {
+						r.push(`${he} died in what would be a sex slave's prime.`);
+					} else if (slave.actualAge < 50) {
+						r.push(`${he} died in ${his} prime.`);
+					} else if (slave.actualAge < 65) {
+						r.push(`${he} lived a fair life, good or bad.`);
+					} else if (slave.actualAge < 90) {
+						r.push(`${he} lived a long life and experienced much during it.`);
+					} else {
+						r.push(`${he} lived a very long life that few get to see.`);
+					}
 				}
+				break;
 			}
-			break;
-		}
 
-		case "overdosed": {
-			if (slave.assignment === "be confined in the arcade") {
-				r.push(`You are notified by ${V.arcadeName} staff that one of the cabinets has broken down and will need to be replaced. It would seem <span class="pink bold">${slave.slaveName},</span> the fucktoy encased in it, died of an aphrodisiac overdose from the constant aphrodisiac injections. ${He} was a good unit; logs show ${he} was taking dick up until the very end.`);
-			} else if (slave.assignment === "work in the dairy" && V.dairyRestraintsSetting > 1) {
-				r.push(`You are notified by ${V.dairyName} staff that one of the occupied milkers has ceased producing. Upon inspection, it would seem <span class="pink bold">${slave.slaveName},</span> the cow restrained in it, died of an aphrodisiac overdose. How ${he} managed to get them is unknown, but ${he} was a good cow; ${he} gave milk up until ${his} death.`);
-			} else if (slave.fuckdoll > 0) {
-				r.push(`One of your Fuckdolls' monitoring systems alerts you that the slave contained within has died. It would seem <span class="pink bold">${slave.slaveName}</span> has died of an aphrodisiac overdose. Thankfully the suit notifies its owner of such things; especially with the rumors of earlier models and necrophilia you hear occasionally. It does little to deal with the resulting mess of the orgasm ${he} died during, however.`);
-			} else {
-				r.push(`<span class="pink bold">${slave.slaveName}</span> failed to report in for a routine inspection, something that rarely occurs under your watch. It doesn't take long to track down the wayward slave.`);
-				r.push(`${He} is found dead in ${his} bed, having died sometime earlier. Judging by the mess and the expression on ${his} face, ${he} died of a heart attack during a particularly intense orgasm bought about by the massive amount of aphrodisiacs in ${his} system. ${slave.slaveName} died at the age of ${slave.actualAge};`);
-				if (slave.actualAge < 10) {
-					r.push(`${he} lived a tragically short life.`);
-				} else if (slave.actualAge < 20) {
-					r.push(`${he} died far too young.`);
-				} else if (slave.actualAge < 30) {
-					r.push(`${he} died in what would be a sex slave's prime.`);
-				} else if (slave.actualAge < 50) {
-					r.push(`${he} died in ${his} prime.`);
-				} else if (slave.actualAge < 65) {
-					r.push(`${he} lived a fair life, good or bad.`);
-				} else if (slave.actualAge < 90) {
-					r.push(`${he} lived a long life and experienced much during it.`);
+			case "overdosed": {
+				if (slave.assignment === "be confined in the arcade") {
+					r.push(`You are notified by ${V.arcadeName} staff that one of the cabinets has broken down and will need to be replaced. It would seem <span class="pink bold">${slave.slaveName},</span> the fucktoy encased in it, died of an aphrodisiac overdose from the constant aphrodisiac injections. ${He} was a good unit; logs show ${he} was taking dick up until the very end.`);
+				} else if (slave.assignment === "work in the dairy" && V.dairyRestraintsSetting > 1) {
+					r.push(`You are notified by ${V.dairyName} staff that one of the occupied milkers has ceased producing. Upon inspection, it would seem <span class="pink bold">${slave.slaveName},</span> the cow restrained in it, died of an aphrodisiac overdose. How ${he} managed to get them is unknown, but ${he} was a good cow; ${he} gave milk up until ${his} death.`);
+				} else if (slave.fuckdoll > 0) {
+					r.push(`One of your Fuckdolls' monitoring systems alerts you that the slave contained within has died. It would seem <span class="pink bold">${slave.slaveName}</span> has died of an aphrodisiac overdose. Thankfully the suit notifies its owner of such things; especially with the rumors of earlier models and necrophilia you hear occasionally. It does little to deal with the resulting mess of the orgasm ${he} died during, however.`);
 				} else {
-					r.push(`${he} lived a very long life that few get to see.`);
+					r.push(`<span class="pink bold">${slave.slaveName}</span> failed to report in for a routine inspection, something that rarely occurs under your watch. It doesn't take long to track down the wayward slave.`);
+					r.push(`${He} is found dead in ${his} bed, having died sometime earlier. Judging by the mess and the expression on ${his} face, ${he} died of a heart attack during a particularly intense orgasm bought about by the massive amount of aphrodisiacs in ${his} system. ${slave.slaveName} died at the age of ${slave.actualAge};`);
+					if (slave.actualAge < 10) {
+						r.push(`${he} lived a tragically short life.`);
+					} else if (slave.actualAge < 20) {
+						r.push(`${he} died far too young.`);
+					} else if (slave.actualAge < 30) {
+						r.push(`${he} died in what would be a sex slave's prime.`);
+					} else if (slave.actualAge < 50) {
+						r.push(`${he} died in ${his} prime.`);
+					} else if (slave.actualAge < 65) {
+						r.push(`${he} lived a fair life, good or bad.`);
+					} else if (slave.actualAge < 90) {
+						r.push(`${he} lived a long life and experienced much during it.`);
+					} else {
+						r.push(`${he} lived a very long life that few get to see.`);
+					}
 				}
+				break;
 			}
-			break;
-		}
 
-		case "lowHealth": {
-			if (slave.assignment === "be confined in the arcade") {
-				r.push(`You are notified by ${V.arcadeName} staff that one of the cabinets has broken down and will need to be replaced. It would seem <span class="pink bold">${slave.slaveName},</span> the fucktoy encased in it, died to poor health caused by ${his} living conditions. ${He} was a good unit; logs show ${he} was taking dick up until the very end.`);
-			} else if (slave.assignment === "work in the dairy" && V.dairyRestraintsSetting > 1) {
-				r.push(`You are notified by ${V.dairyName} staff that one of the occupied milkers has ceased producing. Upon inspection, it would seem <span class="pink bold">${slave.slaveName},</span> the cow restrained in it, died to poor health caused by ${his} living conditions. ${He} was a good cow; ${he} gave milk up until ${his} death.`);
-			} else if (slave.fuckdoll > 0) {
-				r.push(`One of your Fuckdolls' monitoring systems alerts you that the slave contained within has died. It would seem <span class="pink bold">${slave.slaveName}</span> has died of general poor health. Thankfully the suit notifies its owner of such things; especially with the rumors of earlier models and necrophilia you hear occasionally. Clean up is easy enough, however.`);
-			} else {
-				r.push(`<span class="pink bold">${slave.slaveName}</span> failed to report in for a routine inspection, something that rarely occurs under your watch. It doesn't take long to track down the wayward slave.`);
-				r.push(`${He} is found dead in ${his} bed, having died sometime during the night. ${He} has been in very poor health lately, so you knew this was a possibility. ${slave.slaveName} died at the age of ${slave.actualAge};`);
-				if (slave.actualAge < 10) {
-					r.push(`${he} lived a tragically short life.`);
-				} else if (slave.actualAge < 20) {
-					r.push(`${he} died far too young.`);
-				} else if (slave.actualAge < 30) {
-					r.push(`${he} died in what would be a sex slave's prime.`);
-				} else if (slave.actualAge < 50) {
-					r.push(`${he} died in ${his} prime.`);
-				} else if (slave.actualAge < 65) {
-					r.push(`${he} lived a fair life, good or bad.`);
-				} else if (slave.actualAge < 90) {
-					r.push(`${he} lived a long life and experienced much during it.`);
+			case "lowHealth": {
+				if (slave.assignment === "be confined in the arcade") {
+					r.push(`You are notified by ${V.arcadeName} staff that one of the cabinets has broken down and will need to be replaced. It would seem <span class="pink bold">${slave.slaveName},</span> the fucktoy encased in it, died to poor health caused by ${his} living conditions. ${He} was a good unit; logs show ${he} was taking dick up until the very end.`);
+				} else if (slave.assignment === "work in the dairy" && V.dairyRestraintsSetting > 1) {
+					r.push(`You are notified by ${V.dairyName} staff that one of the occupied milkers has ceased producing. Upon inspection, it would seem <span class="pink bold">${slave.slaveName},</span> the cow restrained in it, died to poor health caused by ${his} living conditions. ${He} was a good cow; ${he} gave milk up until ${his} death.`);
+				} else if (slave.fuckdoll > 0) {
+					r.push(`One of your Fuckdolls' monitoring systems alerts you that the slave contained within has died. It would seem <span class="pink bold">${slave.slaveName}</span> has died of general poor health. Thankfully the suit notifies its owner of such things; especially with the rumors of earlier models and necrophilia you hear occasionally. Clean up is easy enough, however.`);
 				} else {
-					r.push(`${he} lived a very long life that few get to see.`);
-				}
-				if (V.arcologies[0].FSPaternalist !== "unset" && slave.actualAge < 75) {
-					r.push(`Allowing a slave to die under your care <span class="red">severely damages</span> your image as a caring slaveowner and <span class="red">calls into question</span> your paternalistic resolve.`);
-					FutureSocieties.Change("Paternalist", -10);
+					r.push(`<span class="pink bold">${slave.slaveName}</span> failed to report in for a routine inspection, something that rarely occurs under your watch. It doesn't take long to track down the wayward slave.`);
+					r.push(`${He} is found dead in ${his} bed, having died sometime during the night. ${He} has been in very poor health lately, so you knew this was a possibility. ${slave.slaveName} died at the age of ${slave.actualAge};`);
+					if (slave.actualAge < 10) {
+						r.push(`${he} lived a tragically short life.`);
+					} else if (slave.actualAge < 20) {
+						r.push(`${he} died far too young.`);
+					} else if (slave.actualAge < 30) {
+						r.push(`${he} died in what would be a sex slave's prime.`);
+					} else if (slave.actualAge < 50) {
+						r.push(`${he} died in ${his} prime.`);
+					} else if (slave.actualAge < 65) {
+						r.push(`${he} lived a fair life, good or bad.`);
+					} else if (slave.actualAge < 90) {
+						r.push(`${he} lived a long life and experienced much during it.`);
+					} else {
+						r.push(`${he} lived a very long life that few get to see.`);
+					}
+					if (V.arcologies[0].FSPaternalist !== "unset" && slave.actualAge < 75) {
+						r.push(`Allowing a slave to die under your care <span class="red">severely damages</span> your image as a caring slaveowner and <span class="red">calls into question</span> your paternalistic resolve.`);
+						FutureSocieties.Change("Paternalist", -10);
+					}
 				}
+				break;
 			}
-			break;
 		}
-	}
-	App.Events.addNode(el, r);
+		App.Events.addNode(el, r);
 
-	return el;
+		return el;
+	}
 };
diff --git a/src/endWeek/endWeek.js b/src/endWeek/endWeek.js
index ff26c718f11066893878e326e388d9efb431b3dc..840c98c7dbb2b904e6cd4e9be5ab59aa41e599ac 100644
--- a/src/endWeek/endWeek.js
+++ b/src/endWeek/endWeek.js
@@ -282,8 +282,6 @@ globalThis.endWeek = (function() {
 	function resetMiscGlobals() {
 		// if a global is going to be used by the end-of-week reports, it must be reset here instead of in Next Week
 		V.encyclopedia = "How to Play";
-		V.expiree = 0;
-		V.retiree = 0;
 
 		V.StudID = 0;
 		V.fuckSlaves = 0;
diff --git a/src/endWeek/expire.js b/src/endWeek/expire.js
new file mode 100644
index 0000000000000000000000000000000000000000..5a0af8814ecb37c1f884328078235d78d3f13758
--- /dev/null
+++ b/src/endWeek/expire.js
@@ -0,0 +1,231 @@
+/**
+ * @param {App.Entity.SlaveState} slave
+ */
+globalThis.planExpiration = function(slave) {
+	V.slaveExpirations.add(slave.ID);
+};
+
+globalThis.updateExpirees = function() {
+	V.slaveRetirements = new Set();
+	for (const slave of V.slaves) {
+		if (slave.indenture === 0) {
+			planExpiration(slave);
+		}
+	}
+};
+
+globalThis.expirations = function() {
+	const el = new DocumentFragment();
+
+	for (const id of V.slaveExpirations) {
+		const slave = getSlave(id);
+		if (slave) {
+			App.UI.DOM.appendNewElement("p", el, expire(slave));
+			el.append(sectionBreak());
+			removeSlave(slave);
+		}
+	}
+
+	V.slaveExpirations = new Set();
+
+	return el;
+
+	function sectionBreak() {
+		const hr = document.createElement("hr");
+		hr.style.margin = "0";
+		return hr;
+	}
+
+	/**
+	 *
+	 * @param {App.Entity.SlaveState} slave
+	 */
+	function expire(slave) {
+		const el = new DocumentFragment();
+		const r = [];
+		const {
+			He, His,
+			he, his, him, himself, woman
+		} = getPronouns(slave);
+		const {title: Master} = getEnunciation(slave);
+		App.UI.DOM.appendNewElement("div", el, App.Art.SlaveArtElement(slave, 0, 0), ["imageRef", "tinyImg"]);
+
+		r.push(`${slave.slaveName}'s indentured servitude is ending this week, meaning that your arcology is gaining a citizen.`);
+		V.lowerClass += 1;
+
+		let _seed = 0;
+		for (let _seeXp = 0; _seeXp < V.slaves.length; _seeXp++) {
+			if (V.slaves[_seeXp].devotion <= 20) {
+				_seed = 1;
+				V.slaves[_seeXp].devotion -= 1;
+			}
+		}
+		if (_seed === 1) {
+			r.push(`Those of your slaves who are unhappy with their lives under you are <span class="mediumorchid">envious or angry</span> to see ${him} become free, according to their individual natures.`);
+		}
+
+		const desc = App.UI.DOM.appendNewElement("div", el);
+		const result = App.UI.DOM.appendNewElement("div", el);
+
+		slave.indenture = 52;
+		let _slaveCost = slaveCost(slave);
+
+		if (slave.fetish === "mindbroken") {
+			r.push(`Since ${he} is mindbroken, there is precisely no chance that ${he} will be able to look after ${himself}. ${He}`);
+			if (hasAnyLegs(slave)) {
+				r.push(`stands`);
+			} else {
+				r.push(`sits`);
+			}
+			r.push(`before you dumbly, betraying no reaction to the prospect of becoming free from sexual slavery. In situations like this, it is perfectly acceptable to subject ${him} to another indenture for ${his} own good.`);
+
+			if (V.cash > 1000) {
+				App.UI.DOM.appendNewElement("div", result, App.UI.DOM.link(
+					`Plead necessity and reactivate ${his} indenture`,
+					() => {
+						V.lowerClass -= 1;
+						r.push(`You plead necessity and place ${him} under another indenture, paying the trivial fees left over once ${he} has been charged for ${his} own forecasted upkeep. Naturally, ${he} offers no response at all to any of this.`);
+						cashX(-1000, "event", slave);
+					},
+					[],
+					"",
+					`This costs ${cashFormat(1000)}`
+				));
+			} else {
+				App.UI.DOM.appendNewElement("div", result, `You cannot afford to do this`, "note");
+			}
+		} else if ((slave.relationship < -1) && (slave.devotion > 95) && (slave.trust > 95)) {
+			r.push(`${He} has been trying desperately hard not to think about this trying situation, but when ${he} comes before you on the day of ${his} indenture's expiration, ${he} can ignore it no longer. ${He}`);
+			if (!hasAnyArms(slave)) {
+				r.push(`wriggles disconsolately, probably wishing ${he} could throw ${himself} at your feet or cling to your knees.`);
+			} else {
+				r.push(`throws ${himself} at your feet and clings to your knees, bursting into tears.`);
+			}
+			if (!canTalk(slave)) {
+				r.push(`${He} does ${his} best to communicate an earnest desire to stay, and repeats over and over that ${he} loves you. ${He} begins to indicate a willingness to accept true, unlimited slavery, if that's what it takes to stay.`);
+			} else {
+				r.push(Spoken(slave, `"Please, don't send me away,"`));
+				r.push(`${he} sobs.`);
+				r.push(Spoken(slave, "I love you! I'll d-do anything — I'll be your slave! Please, enslave me. I l-love you..."));
+				r.push(`${he} moans, trailing off into convulsive blubbering.`);
+			}
+
+			if (V.cash > 1000) {
+				App.UI.DOM.appendNewElement("div", result, App.UI.DOM.link(
+					`Enslave ${him}`,
+					() => {
+						const el = new DocumentFragment();
+						const r = [];
+						r.push(`${He}'s beside ${himself} with joy when you accept ${his} plea and enslave ${him}. ${He}'s given you the finest proof of loyalty a slave possibly can, having tasted a moment of freedom under the law, and thrown it away with utter contempt.`);
+						if (hasAnyEyes(slave)) {
+							r.push(`${His} ${App.Desc.eyesColor(slave)}`);
+							if (hasBothEyes(slave)) {
+								if (canSee(slave)) {
+									r.push(`watch you`);
+								} else {
+									r.push(`are wide`);
+								}
+							} else {
+								if (canSee(slave)) {
+									r.push(`watches you`);
+								} else {
+									r.push(`is wide`);
+								}
+							}
+							r.push(`with`);
+						} else {
+							r.push(`${His} face shows`);
+						}
+						r.push(`eager anticipation, radiating gladness that the prospect of separation from you has gone.`);
+						App.Events.addNode(el, r);
+						slave.indenture = -1;
+						slave.indentureRestrictions = 0;
+						cashX(-1000, "event", slave);
+						V.lowerClass -= 1;
+						jQuery(result).empty().append(el);
+					},
+					[],
+					"",
+					`This costs ${cashFormat(1000)}`
+				));
+			} else {
+				App.UI.DOM.appendNewElement("div", result, `You cannot afford to do this`, "note");
+			}
+		} else if ((slave.devotion > 50) && (slave.trust > 50)) {
+			_slaveCost = Math.trunc((_slaveCost * 0.5) / 500) * 500;
+			_slaveCost = Math.clamp(_slaveCost, minimumSlaveCost(), 100000);
+
+			r.push(`${His} feelings on this are quite mixed, since ${he} has come to feel that ${he} has a place under you.`);
+			if (!hasAnyLegs(slave)) {
+				r.push(`Propped up`);
+			} else {
+				r.push(`Standing before you`);
+			}
+			r.push(`at the moment of ${his} scheduled emancipation, ${he} seems to be struggling to express ${himself}.`);
+			if (!canTalk(slave)) {
+				r.push(`${He} does ${his} best to communicate a willingness to remain your slave, indicating that ${he} wouldn't press too hard about the price if you offered ${him} another indenture.`);
+			} else {
+				r.push(Spoken(slave, `"${Master}, um,"`));
+				r.push(`${he} says hesitantly.`);
+				r.push(Spoken(slave, `"I don't mind being your slave. Could I — would you please give me another indenture? I'm, um, not too worried about the price`));
+			}
+
+			if (V.cash > 1000) {
+				App.UI.DOM.appendNewElement("div", result, App.UI.DOM.link(
+					`Offer ${him} a one year supplementary indenture`,
+					() => {
+						cashX(forceNeg(_slaveCost), "slaveTransfer", slave);
+						V.lowerClass -= 1;
+						jQuery(result).empty().append(`${He} smiles almost shyly when you offer ${him} a one year supplementary indenture. The price is reasonable, but definitely favorable to you. ${He} accepts it anyway, and you transfer the money into an escrow account to be held for ${him} until ${his} new indenture is done. Your sex slave once again, ${he} awaits your pleasure without a hint of fear.`);
+					},
+					[],
+					"",
+					`This costs ${cashFormat(1000)}`
+				));
+			} else {
+				App.UI.DOM.appendNewElement("div", result, `You cannot afford to do this`, "note");
+			}
+		} else if ((slave.devotion >= -20) && (slave.trust > 20)) {
+			r.push(`${He} approaches the moment with calculation, since ${he} has found more of a place in slavery than ${he} probably expected when ${he} became an indentured servant.`);
+			if (!hasAnyLegs(slave)) {
+				r.push(`Propped up`);
+			} else {
+				r.push(`Standing before you`);
+			}
+			r.push(`at the moment of ${his} scheduled emancipation, ${he} seems willing to consider a short term continuation of service.`);
+
+			if (V.cash > 1000) {
+				App.UI.DOM.appendNewElement("div", result, App.UI.DOM.link(
+					`Offer ${him} a one year supplementary indenture`,
+					() => {
+						cashX(forceNeg(_slaveCost), "slaveTransfer", slave);
+						V.lowerClass -= 1;
+						jQuery(result).empty().append(`${He} looks pensive when you offer ${him} a one year supplementary indenture. The price reflects the market, and is a reasonable compensation for a year of sexual slavery. ${He} accepts it after some consideration, and you transfer the money into an escrow account to be held for ${him} until ${his} new indenture is done. Your sex slave once again, ${he} awaits orders with complacency.`);
+					},
+					[],
+					"",
+					`This costs ${cashFormat(1000)}`
+				));
+			} else {
+				App.UI.DOM.appendNewElement("div", result, `You cannot afford to do this`, "note");
+			}
+		} else {
+			r.push(`${He} makes no effort at all to conceal ${his} joy at being a free ${woman} again.`);
+			if (slave.origin === "$He put $himself up as collateral at a poker game, and lost.") {
+				r.push(`A bet is a bet, but that was a lonnng year. There's still room for ${him} in your ${V.mercenariesTitle}, but many of them have come to see ${him} in a new, more... intimate way. As a free ${woman}, ${he}'ll have to decide if it's worth the risk and the sex to stay here and fight for you who ${he} loathes... or else take up arms elsewhere in an ever more uncertain world.`);
+				if (slave.addict > 5) {
+					r.push(`They'll need to make money fast as they remain addicted to your aphrodisiacs.`);
+				}
+			} else {
+				r.push(`It seems very unlikely that ${he}'ll stay in the arcology; ${he}'ll probably take what remains of ${his} indenture payment, held in escrow for this day, and be off to wherever it is that ${he} came from in the first place.`);
+			}
+		}
+		App.Events.addNode(desc, r);
+		App.UI.DOM.appendNewElement("h3", el, `Final notes?`);
+		const note = App.UI.DOM.appendNewElement("div", el, null, "note");
+		App.UI.DOM.appendNewElement("div", note, `${His} most recent task was to ${(V.assignmentRecords[slave]) ? `${slave.assignment}, and before that to ${V.assignmentRecords[slave]}` : slave.assignment}.`, "indent");
+		note.append(slaveImpactLongTerm(slave));
+
+		return el;
+	}
+};
diff --git a/src/endWeek/retire.js b/src/endWeek/retire.js
new file mode 100644
index 0000000000000000000000000000000000000000..6032594948d7fe0abd5baf5718e657e55e78b800
--- /dev/null
+++ b/src/endWeek/retire.js
@@ -0,0 +1,499 @@
+/**
+ *
+ * @param {App.Entity.SlaveState} slave
+ */
+globalThis.planRetirement = function(slave) {
+	V.slaveRetirements.add(slave.ID);
+};
+
+globalThis.updateRetirees = function() {
+	V.slaveRetirements = new Set();
+	for (const slave of V.slaves) {
+		if (retirementReady(slave)) {
+			planRetirement(slave);
+		}
+	}
+};
+
+globalThis.retirementParty = function() {
+	const el = new DocumentFragment();
+	V.nextLink = "Scheduled Event";
+
+	for (const id of V.slaveRetirements) {
+		const slave = getSlave(id);
+		if (slave) {
+			App.UI.DOM.appendNewElement("p", el, retireScene(slave));
+			el.append(sectionBreak());
+		}
+	}
+
+	V.slaveRetirements = new Set();
+
+	return el;
+
+	function sectionBreak() {
+		const hr = document.createElement("hr");
+		hr.style.margin = "0";
+		return hr;
+	}
+};
+
+/**
+ *
+ * @param {App.Entity.SlaveState} originalSlave
+ */
+globalThis.retireScene = function(originalSlave) {
+	const el = new DocumentFragment();
+	const slave = clone(originalSlave);
+	removeSlave(originalSlave);
+	let r = [];
+	const {
+		He, His, Him,
+		he, his, him, himself, wife, woman, girl
+	} = getPronouns(slave);
+	const {title: Master} = getEnunciation(slave);
+	let his2, he2, him2, wife2, girl2;
+	if (getSlave(slave.relationshipTarget)) {
+		({
+			his2, he2, him2, wife2, girl2
+		} = getPronouns(getSlave(slave.relationshipTarget)).appendSuffix("2"));
+	}
+
+	const {heU, hisU, himU, girlU} = getNonlocalPronouns(V.seeDicks).appendSuffix('U');
+	const art = App.UI.DOM.appendNewElement("div", el, App.Art.SlaveArtElement(slave, 0, 0), ["imageRef", "tinyImg"]);
+
+	const desc = App.UI.DOM.appendNewElement("div", el);
+	const result = App.UI.DOM.appendNewElement("div", el);
+
+	r.push(App.UI.DOM.slaveDescriptionDialog(slave));
+	r.push(`is retiring from sexual slavery this week,`);
+
+	if (V.policies.retirement.fate === "citizen") {
+		r.push(`in a way that will fill the rest of your property with envy and <span class="mediumaquamarine">trust.</span>`);
+		for (const s of V.slaves) {
+			s.trust += 3;
+		}
+		if (slave.relationship > 3) {
+			r.push(`${getSlave(slave.relationshipTarget).slaveName}, for ${his2} part, is <span class="hotpink">overjoyed,</span> though also a bit sad. Although ${he2} knows ${he2} will ${getSlave(slave.relationshipTarget).assignment} for a while longer, ${he2} looks forward to joining ${slave.slaveName} one day.`);
+			getSlave(slave.relationshipTarget).devotion += 10;
+		}
+		App.Events.addParagraph(desc, r);
+		r = [];
+
+		r.push(`${He} is retiring into citizenship, with a substantial annuity that will provide ${him} with a secure if not luxurious life.`);
+		if (slave.relationship === -3) {
+			if (slave.fetish === "mindbroken") {
+				r.push(`Sadly, ${he} is not mentally equipped to look after ${himself}, but the arcology hosts several fine institutions capable of caring for ${him}. They'll have someone check in on ${him} daily. ${Him} being your ${wife} is ultimately irrelevant; ${he} never realized it in the first place.`);
+			} else if (slave.devotion + slave.trust >= 175) {
+				r.push(`${He} wishes ${he} could continue to be your slave ${wife}, but ${he} understands that marriages between slaves and slaveowners are predicated on the slave relationship. ${He} knows that ${his} retirement has come, meaning that ${his} slave relationship to you is ending. ${He}'s had a long time to get used to the idea, and gets through the process with dignity, doing ${his} best to avoid embarrassing you.`);
+			} else if (slave.devotion < -20 && slave.trust > 20) {
+				r.push(`${He} is glad ${he} no longer has to be your slave ${wife}, as ${he} never wanted to be in the first place, though ${he} will miss taking advantage of the position. ${He} understands that marriages between slaves and slaveowners are predicated on the slave relationship. ${He} knows that ${his} retirement has come, meaning that ${his} slave relationship to you is ending. ${He}'s had a long time to dream of the idea, and goes through the process with unremitting joy, doing ${his} best to embarrass you.`);
+			} else if (slave.devotion < -20) {
+				r.push(`${He} is glad ${he} no longer has to be your slave ${wife}, as ${he} never wanted to be in the first place. ${He} understands that marriages between slaves and slaveowners are predicated on the slave relationship. ${He} knows that ${his} retirement has come, meaning that ${his} slave relationship to you is ending. ${He}'s had a long time to dream of the idea, and goes through the process with unremitting joy, doing ${his} best to avoid embarrassing you while ${he}'s still subject to your whims and your punishments.`);
+			} else {
+				r.push(`${He} is glad ${he} no longer has to be your slave ${wife}, as ${he} never wanted to be in the first place. ${He} understands that marriages between slaves and slaveowners are predicated on the slave relationship. ${He} knows that ${his} retirement has come, meaning that ${his} slave relationship to you is ending. ${He}'s had a long time to get used to the idea, and gets through the process dutifully, doing ${his} best to avoid embarrassing you.`);
+			}
+		} else if (slave.fetish === "mindbroken" || slave.actualAge < 3) {
+			r.push(`Sadly, ${he} is not mentally equipped to look after ${himself}, but the arcology hosts several fine institutions capable of caring for ${him}. They'll have someone check in on ${him} daily.`);
+		} else if (slave.devotion > 95) {
+			r.push(`${He} desperately wishes ${he} could continue to be your sex slave, but ${he} understands that ${his} retirement has come. More importantly, ${he}'s had a long time to get used to the idea, and gets through the process with resolution, doing ${his} best to avoid embarrassing ${himself} or you.`);
+		} else if (slave.devotion > 20) {
+			r.push(`${He} is very happy to be a free person again, though ${he} does ${his} best to do you the favor of not being too ostentatious about this.`);
+		} else {
+			r.push(`It is with an ill-disguised triumphalism that ${he} leaves sexual slavery behind ${him}, and enters into a life in which ${he} can decline to have things inserted into ${his} body.`);
+		}
+		r.push(`${He}'s certainly going to have some adjustments to make.`);
+		if (slave.energy > 90) {
+			r.push(`Notably, dealing with ${his} formidable sex drive is now ${his} business. You suspect the arcology's clubs are about to receive a fanatical new regular, and the arcology's whores may not know what hit them when ${he} realizes that ${he}'s now quite capable of buying whatever ${he} wants on a semi-regular basis.`);
+			if (slave.skill.anal + slave.skill.oral >= 120) {
+				r.push(`${He}'s so sexually skilled, though, that ${he} probably won't have much trouble. ${He}'ll probably have more than a few eager lovers within days.`);
+			}
+			if (slave.face > 40) {
+				r.push(`${He}'s certainly attractive enough that ${he}'ll have no trouble finding as many casual hookups as ${he} likes.`);
+			}
+		}
+		App.Events.addParagraph(desc, r);
+		r = [];
+		let _toSearch; // TODO yuck yuck yuck
+		let _toSearchAlt;
+		if (slave.prestigeDesc === 0) {
+			_toSearch = "";
+		} else {
+			_toSearch = slave.prestigeDesc;
+		}
+		if (slave.porn.prestigeDesc === 0) {
+			_toSearchAlt = "";
+		} else {
+			_toSearchAlt = slave.porn.prestigeDesc;
+		}
+		if (_toSearch.indexOf("Head Girl") !== -1 || V.HeadGirlID === slave.ID) {
+			r.push(`${He} has a reputation from ${his} long service as your Head Girl. To ${his} bemusement, and considerable satisfaction, ${he} has multiple job offers from slaving operations without even having to circulate ${his} resume.`);
+			if (slave.fetish === "sadist") {
+				r.push(`The prospect of a virtually unlimited field for abuse and rape is something ${he}'d pay for, now that ${he} has ${his} own money. ${He}'s excited beyond description to find that there are people interested in paying ${him} to exercise ${his} exquisitely horrible skills.`);
+			} else if (slave.fetish === "dom") {
+				r.push(`Dominance is second nature to ${him}. Though ${he} doesn't have to work, ${his} slaving skills are valuable enough that ${he}'d probably be tempted by the pay ${he} can expect, even if ${he} didn't derive real pleasure from exercising them.`);
+			} else {
+				r.push(`${His} annuity means that ${he} doesn't have to work, but ${he}'s inclined to do so. ${His} skills command reasonable wages in the slave training field, and between those prospects and ${his} annuity, ${he} stands to become wealthy.`);
+			}
+		} else if (_toSearchAlt.indexOf("is world famous for") !== -1) {
+			let _pornFame = slave.porn.prestigeDesc;
+			_pornFame = _pornFame.replace("$He is world famous for $his career in slave pornography. Millions are intimately familiar with", "enjoy");
+			_pornFame = _pornFame.replace(".", ",");
+			r.push(`In addition to ${his} annuity, you've laid the groundwork for ${him} to become wealthy by the way you publicized pornography of ${him}. Many thousands of people across the world are willing to pay to${_pornFame} and they enjoy it in part because ${he} doesn't mind it, either. ${He}'s in a position to make great money for doing on camera what ${he} would probably do anyway.`);
+		} else if ((slave.intelligence + slave.intelligenceImplant >= -50) && (slave.muscles > 5) && (slave.skill.combat >= 1) && hasAllLimbs(slave) && (slave.face > 10)) {
+			r.push(`${He}'s pretty and deadly. If ${he} feels ${he} prefers wealth and danger to living on ${his} annuity, ${he}'ll have no trouble finding work. In fact, ${he}'ll likely have trouble sifting through all the mercenary organizations, businesses in need of attractive and competent guards for public spaces, and citizens looking for effective bodyguards willing to hire ${him}.`);
+		} else if ((slave.intelligence + slave.intelligenceImplant > 50) && (slave.intelligenceImplant >= 15)) {
+			r.push(`${He} has no skills extraordinary enough to bring prospective employers in search of ${him}, in this new, slaveowning economy, but ${he} is highly intelligent, educated, and has a small income. As you know from your own abundant personal experience, ${his} intelligence is a lever, ${his} annuity is a fulcrum, and with the two, ${he} may move the world someday. You have no doubt that, at the very least, ${he} will be far from the poorest of your citizens.`);
+		}
+		App.Events.addParagraph(desc, r);
+		r = [];
+		r.push(`As ${he} takes ${his} leave, heading the short distance down to ${his} modest little apartment, ${he} presents a strange appearance. ${He}'s wearing cheap but not unattractive clothing, and you are struck by a crystal-clear mental image of what ${he} looks like nude.`);
+		if (slave.fetish !== "mindbroken") {
+			if (slave.devotion > 20) {
+				if (slave.devotion > 95) {
+					r.push(`${He}'s doing ${his} absolute best not to sob, but ${his} lips are quivering.`);
+				} else {
+					r.push(`${He} looks like ${he} might cry.`);
+				}
+				if (!canTalk(slave)) {
+					r.push(`${He} gestures ${his} thanks, and ironically indicates that ${he}'ll see you around.`);
+				} else {
+					r.push(Spoken(slave, `"Well, thanks, ${Master}, um, I mean ${V.PC.slaveName}. I g-guess I'll see you around${(!canSee(slave)) ? `, uh, as they say` : ``}. I mean, the arcology. Anyway. Bye."`));
+				}
+				if (slave.devotion > 95) {
+					r.push(`${He} turns resolutely away and flees, trying to choke back ${his} tears.`);
+				} else {
+					r.push(`${He} turns resolutely away.`);
+				}
+			}
+		}
+		App.Events.addParagraph(desc, r);
+		r = [];
+		if (slave.relationship === -3) {
+			r.push(`When you return to your desk you realize something.`);
+			if (slave.fetish === "mindbroken") {
+				r.push(`The ring ${he} wore when ${he} was your slave ${wife} is nowhere to be seen; ${he}'s likely forgotten ${he} was wearing it, but no matter: you can always get more.`);
+			} else if (slave.devotion + slave.trust >= 175) {
+				r.push(`The ring ${he} wore when ${he} was your slave ${wife} is nowhere to be seen; ${he}'s likely taken it with ${him} to remember you by.`);
+			} else if (slave.devotion < -20 && slave.trust > 20) {
+				r.push(`The ring ${he} wore when ${he} was your slave ${wife} is nowhere to be seen; ${he}'s likely taken it with ${him} to either try and pawn or to dispose of. It doesn't matter: you can always get more.`);
+			} else if (slave.devotion < -20) {
+				r.push(`The ring ${he} wore when ${he} was your slave ${wife} was left on your desk; ${he} likely ripped it off as soon as ${he} was free.`);
+			} else {
+				r.push(`The ring ${he} wore when ${he} was your slave ${wife} is nowhere to be seen; ${he}'s either taken it with ${him} as a souvenir, or left it back in ${his} sleeping area. If it's the former, no matter: you can always get more.`);
+			}
+			App.Events.addNode(el, r, "div");
+			r = [];
+		}
+
+		r.push(`Your arcology has gained a well-off citizen.`);
+		V.upperClass += 1;
+
+		if (slave.energy > 50) {
+			if (slave.devotion > 20) {
+				App.UI.DOM.appendNewElement("div", result, App.UI.DOM.link(
+					`See ${him} around`,
+					() => {
+						const r = [];
+						const el = new DocumentFragment();
+						r.push(`Later that week,`);
+						if (V.club > 0) {
+							r.push(`as you take an evening to enjoy ${V.clubName} in person,`);
+						} else {
+							r.push(`out in one of ${V.arcologies[0].name}'s better clubs,`);
+						}
+						r.push(`you run into ${slave.slaveName}. ${He} looks good, and happy, and is not at all displeased to see you. ${He} sidles up to you and makes it clear without a`);
+						if (!canTalk(slave)) {
+							r.push(`gesture`);
+						} else {
+							r.push(`word`);
+						}
+						r.push(`that ${he}'s quite eager to fuck you as a free ${woman}.`);
+						if (slave.relationship === -3) {
+							if (slave.devotion + slave.trust >= 175) {
+								r.push(`When ${he} knows ${he} has your attention, ${he} flashes`);
+								if (hasAnyArms(slave)) {
+									r.push(`${his} hand, revealing the steel ring that ${he} wore when ${he} was your slave ${wife}.`);
+								} else {
+									r.push(`the steel ring that ${he} wore when ${he} was your slave ${wife} attached to the same chain you placed around ${his} neck on your wedding.`);
+								}
+								r.push(`Even though the ring is meaningless to society, it holds a special meaning to you and ${him}.`);
+							} else {
+								r.push(`When ${he} knows ${he} has your attention, ${he} produces the steel ring that ${he} wore when ${he} was your slave ${wife}. ${He} doesn't put it on, but ${he} kisses it suggestively before putting it back in ${his} purse.`);
+							}
+						}
+						if (slave.fetish === "submissive" && slave.fetishKnown === 1) {
+							r.push(`Taking the lead as you know ${he} prefers, you lead ${him} to a private booth and make love to ${him}, holding ${him} down with the gentle but firm grip that never fails to bring ${him} through a long and gasping climax.`);
+						} else if (slave.fetish === "cumslut" && slave.fetishKnown === 1) {
+							r.push(`${He}`);
+							if (V.PC.dick !== 0) {
+								r.push(`sucks your dick`);
+								if (V.PC.vagina !== -1) {
+									r.push(`and`);
+								}
+							}
+							if (V.PC.vagina !== -1) {
+								r.push(`eats you out`);
+							}
+							r.push(`right there, eagerly`);
+							if (slave.vagina > -1) {
+								r.push(`jilling off`);
+							} else {
+								r.push(`jacking off`);
+							}
+							r.push(`as ${he} enjoys your infinitely familiar`);
+							if (canTaste(slave) && canSmell(slave)) {
+								r.push(`taste and scent.`);
+							} else if (canTaste(slave)) {
+								r.push(`taste.`);
+							} else if (canSmell(slave)) {
+								r.push(`scent.`);
+							} else {
+								r.push(`body.`);
+							}
+						} else if (slave.fetish === "humiliation" && slave.fetishKnown === 1) {
+							r.push(`You take ${him} right there, the humiliation slut getting what ${he} came to the club to get: an opportunity to orgasm in public with many eyes enjoying the sight of ${his} pleasure.`);
+						} else if (slave.fetish === "buttslut" && slave.fetishKnown === 1) {
+							r.push(`Your`);
+							if (V.PC.dick !== 0) {
+								r.push(`dick is`);
+							} else {
+								r.push(`fingers are`);
+							}
+							r.push(`up ${his} ass in no time, and ${he}'s so primed for anal that ${he} climaxes with indecent speed. ${He} begs you to keep fucking ${his} butt, and you do.`);
+						} else if (slave.fetish === "boobs" && slave.fetishKnown === 1) {
+							r.push(`${He} grinds shamelessly against you, your hands holding ${his} breasts just the way you know ${he} loves them held. Your`);
+							if (V.PC.boobs >= 300) {
+								r.push(`own tits press softly`);
+							} else if (V.PC.title === 0) {
+								r.push(`flat chest presses`);
+							} else {
+								r.push(`manly chest presses`);
+							}
+							r.push(`against ${his} back as ${he} cranes back to kiss you.`);
+						} else if (slave.fetish === "pregnancy" && slave.fetishKnown === 1) {
+							r.push(`${He} begs shamelessly for your seed, right here and right now, and`);
+							if (V.PC.dick !== 0) {
+								r.push(`you give it to ${him}, producing the usual perverted orgasm as ${he} feels it inside ${him}.`);
+							} else {
+								r.push(`as usual, ${he} doesn't care that the phallus you fuck ${him} with is actually a strap-on. ${He} manages to pretend it's a cock knocking ${him} up.`);
+							}
+						} else if (slave.fetish === "dom" && slave.fetishKnown === 1) {
+							r.push(`After some mutually aggressive dancing that leaves you both panting and sweaty, you work together to attract another free dancer, a ${girlU} who ${slave.slaveName} had ${his} eye on already. Before long, the poor ${girlU} is screaming with orgasm in a private booth as you take _himU together.`);
+						} else if (slave.fetish === "sadist" && slave.fetishKnown === 1) {
+							r.push(`After some mutually aggressive dancing that leaves you both panting and sweaty, you mutually select one of the club's slaves, and drag ${himU} back to a private booth. Before long, ${hisU} screams for mercy are audible on the floor.`);
+						} else if (slave.fetish === "masochist" && slave.fetishKnown === 1) {
+							r.push(`You don't have the setup for really elaborate pain, so you fuck ${him} hard and fast, to give ${him} that edge of discomfort that ${he} now requires to get off. ${He} gasps as ${he} gets what ${he} needs, not free of ${his} perversions despite ${his} status as a citizen.`);
+						} else {
+							r.push(`You remember ${his} uncomplicated tastes well, though the total confidence that ${his} willingness and pleasure are unfeigned is novel. You dance, you laugh, and you make love to ${him}, all through the night.`);
+						}
+						App.Events.addNode(el, r);
+						jQuery(result).empty().append(el);
+					}
+				));
+				if (slave.relationship >= 4) {
+					App.UI.DOM.appendNewElement("div", result, App.UI.DOM.link(
+						`Send ${his} ${girl2} into retirement with ${him}`,
+						() => {
+							const el = new DocumentFragment();
+							let r = [];
+							const lover = getSlave(slave.relationshipTarget);
+							jQuery(art).empty();
+							App.Events.drawEventArt(art, [slave, lover]);
+							r.push(`${He} doesn't get far before ${he}`);
+							if (canHear(slave)) {
+								r.push(`hears a desperate pursuit behind ${him}.`);
+							} else {
+								r.push(`feels a gentle tap on ${his} shoulder.`);
+							}
+							r.push(`It's ${contextualIntro(slave, lover)},`);
+							if (canHear(slave)) {
+								r.push(`hurrying to catch`);
+							} else {
+								r.push(`finally catching`);
+							}
+							r.push(`up. Watching on the monitors, you see ${slave.slaveName}'s mixed pleasure and pain at seeing ${him2} again so soon, followed by a tearful explanation and an embrace so heartfelt that the pair of ex-slaves collapse to the floor together, sobbing.`);
+							removeSlave(lover);
+							App.Events.addParagraph(desc, r);
+							r = [];
+							if (V.arcologies[0].FSPaternalist !== "unset") {
+								r.push(`Of course, your paternalistic arcology thinks this <span class="green">almost too romantic,</span> and there are jesting suggestions that outcomes this adorable ought to be illegal. The pair becomes celebrated citizens immediately.`);
+								repX(10 * V.FSSingleSlaveRep * (V.arcologies[0].FSPaternalist / V.FSLockinLevel), "futureSocieties");
+								V.arcologies[0].FSPaternalist += 0.1 * V.FSSingleSlaveRep;
+							} else {
+								r.push(`Though it is not ordinarily paternalistic, even your society thinks this is <span class="green">pretty romantic.</span>`);
+								repX(5 * V.FSSingleSlaveRep, "futureSocieties");
+							}
+							App.Events.addParagraph(desc, r);
+							App.UI.DOM.appendNewElement("p", result, "You have gained an additional well-off citizen.");
+							V.upperClass += 1;
+
+							App.Events.addNode(el, r);
+							jQuery(result).empty().append(el);
+						}
+					));
+				}
+			}
+		}
+	} else if (V.policies.retirement.fate === "bioreactor") {
+		r.push(`in a way that will inevitably fill the rest of your property with <span class="gold">fear.</span>`);
+		for (const s of V.slaves) {
+			s.trust -= 3;
+		}
+
+		if (slave.relationship > 3) {
+			r.push(`${getSlave(slave.relationshipTarget).slaveName}, for ${his2} part, is <span class="mediumorchid">horrified.</span>`);
+			getSlave(slave.relationshipTarget).devotion -= 20;
+		}
+		App.Events.addParagraph(desc, r);
+		r = [];
+
+		r.push(`${He} is retiring into a featureless existence where the only realities are the phalli ejaculating food, fluid, and drugs into ${his}`);
+		if (slave.vagina > -1) {
+			r.push(`vagina,`);
+		}
+		r.push(`anus, and throat,`);
+		if (slave.balls > 0) {
+			r.push(`the relentless sodomy forcing semen out of ${his} distended balls,`);
+		}
+		r.push(`and the milk flowing into the milkers tugging at ${his} painfully engorged nipples.`);
+		if (slave.fetish === "mindbroken") {
+			r.push(`${He}'s already broken in spirit, and ${he} complies with ${his} installation into a milking machine with the dumb obedience of the animal ${he} has become.`);
+		} else if (slave.devotion > 20) {
+			r.push(`${He} complies with ${his} installation into a milking machine with the dumb obedience of someone whose mind will not allow them to understand their true situation out of simple immediate self-preservation.`);
+		} else if (slave.trust < 50) {
+			r.push(`${He} is so terrified of punishment that ${he} complies with ${his} installation into a milking machine to avoid pain. ${He} knows that if ${he} does not obey, there will be pain, and if ${he} obeys, there may be pain but it will come later.`);
+		} else {
+			r.push(`${He} resists, of course, giving the compliance systems an excuse to unload quite a few volts of electricity into ${him}. This disobedience is one of ${his} more abortive attempts to resist your will, and it is ${his} last.`);
+		}
+		App.Events.addParagraph(desc, r);
+		r = [];
+
+		r.push(`It will take ${him} some time to reach full production, a state that ${he}'ll be kept in until it becomes impossible for the most reckless drug regime to keep ${him} there. Near the end of the week, you check in on ${him} idly. ${His} breasts are already swelling under the hormonal treatments that can only be applied when the sole priority is production. The rhythm of the milkers gives them a slight pulsing heave, first one, then the other. ${His} milk whitens the lines running away from ${his} udders.`);
+		App.Events.addParagraph(desc, r);
+
+		App.UI.DOM.appendNewElement("div", result, App.UI.DOM.link(
+			`Have a taste`,
+			() => {
+				const el = new DocumentFragment();
+				App.UI.DOM.appendNewElement("p", el, `You tug one of the milkers off a nipple, producing a lewd sucking noise as the wet flesh pops free of the machinery. It must have been quite painful, but the feeding apparatus that covers much of the slave's face affords no indication of ${his} reaction, if any. You heft the boob with both hands and take the nipple into your mouth, sucking gently. A rich jet of cream hits your tongue, the milkfat luscious with hints of vanilla. The warm breastflesh fills your hands, and you fancy that you can feel the prosperity under your fingers as ${his} body desperately hurries to make more.`);
+				jQuery(result).empty().append(el);
+			}
+		));
+		App.UI.DOM.appendNewElement("p", result, `You have <span class="yellowgreen">gained a standard bioreactor.</span>`);
+		V.menialBioreactors += 1;
+	} else if (V.policies.retirement.fate === "arcade") {
+		r.push(`in a way that will inevitably fill the rest of your property with <span class="gold">fear.</span>`);
+		for (const s of V.slaves) {
+			s.trust -= 3;
+		}
+
+		if (slave.relationship > 3) {
+			r.push(`${getSlave(slave.relationshipTarget).slaveName}, for ${his2} part, is <span class="mediumorchid">horrified.</span>`);
+			getSlave(slave.relationshipTarget).devotion -= 20;
+		}
+		App.Events.addParagraph(desc, r);
+		r = [];
+
+		r.push(`${He} is retiring into a dark, featureless eternity in which the only realities are phalli intruding into ${his}`);
+		if (slave.vagina > -1) {
+			r.push(`vagina,`);
+		}
+		r.push(`anus, and throat, and the drug-induced haze that will leave ${him} no choice but to orgasm when ${he} is penetrated.`);
+		if (slave.fetish === "mindbroken") {
+			r.push(`${He}'s already broken in spirit, and ${he} complies with the conversion process with the dumb obedience of the animal ${he} has become.`);
+		} else if (slave.devotion > 20) {
+			r.push(`${He} complies with the conversion process with the dumb obedience of someone whose mind will not allow them to understand their true situation out of simple immediate self-preservation.`);
+		} else if (slave.trust < 50) {
+			r.push(`${He} is so terrified of punishment that ${he} complies with the conversion process to avoid pain. ${He} knows that if ${he} does not obey, there will be pain, and if ${he} obeys, there may be pain but it will come later.`);
+		} else {
+			r.push(`${He} resists, of course, giving the compliance systems an excuse to unload quite a few volts of electricity into ${him}. This disobedience is one of ${his} more abortive attempts to resist your will, and it is ${his} last.`);
+		}
+		App.Events.addParagraph(desc, r);
+		r = [];
+
+		r.push(`${He} is brought down to`);
+		if (V.arcade !== 0) {
+			r.push(`${V.arcadeName},`);
+		} else {
+			r.push(`the autosurgery,`);
+		}
+		r.push(`and, a disturbingly short time later, there is a new Fuckdoll, a humanoid figure encased in a tough black bodysuit, in your office.`);
+		if (!hasAnyLegs(slave)) {
+			r.push(`Its`);
+			if (isAmputee(slave)) {
+				r.push(`limbless`);
+			} else {
+				r.push(`legless`);
+			}
+			r.push(`form is not obviously human. It's a sex toy, with several interesting holes and nothing else worth noticing.`);
+		} else {
+			r.push(`It stands immobile, the hydraulic system hidden within the suit stiffened to make voluntary movement impossible.`);
+		}
+		if (slave.boobs > 2000) {
+			r.push(`The suit has a pair of gaps for its monstrous breasts, bare expanses of ${slave.skin} skin.`);
+		}
+		if (slave.belly >= 5000) {
+			r.push(`The suit has a gap for its big belly; a round dome of slave.skin skin.`);
+		}
+		if (slave.lips > 40) {
+			r.push(`Its upper hole is surrounded by a ludicrous set of swollen lips.`);
+		}
+		if (slave.labia > 0) {
+			r.push(`The conversion process left its labia permanently engorged.`);
+		}
+		if (slave.vaginaLube > 0) {
+			r.push(`Its front hole is dripping streams of natural lubrication.`);
+		}
+		if (slave.anus > 2) {
+			r.push(`The gap in the suit over its rear hole opens into the Fuckdoll's interior, since it's the same size as the Fuckdoll's loose sphincter.`);
+		}
+		App.Events.addParagraph(desc, r);
+
+		App.UI.DOM.appendNewElement("div", result, App.UI.DOM.link(
+			`Fuck it`,
+			() => {
+				if (V.PC.dick !== 0) {
+					r.push(`You enter a command, and the Fuckdoll instantly`);
+					if (hasAnyLegs(slave)) {
+						r.push(`collapses to its knee${(hasBothLegs(slave)) ? `s` : ``}.`);
+					} else {
+						r.push(`presents its upper hole.`);
+					}
+					r.push(`You tug the plug clear of its upper hole, and insert your cock. The Fuckdoll's nose ports open when it needs to breathe, but periodically close without warning to force its throat to spasm. When you're bored of this, you pull your dick clear and haul the Fuckdoll over to the couch, entering the command that forces it to present its rear hole. Your saliva-slicked shaft slides readily inside the sex toy's warm interior. After a while, you enter the tightening command, and the Fuckdoll's sphincter obediently cinches down, encouraging you to shoot your load inside it. A low moaning sound issues from its upper hole.`);
+				} else {
+					r.push(`You shove the Fuckdoll backward onto the couch, and enter a command that forces it into a bridged position.`);
+					if (slave.vagina > -1) {
+						r.push(`Its clit is brought to full hardness, and its front hole becomes wet and flushed. You ride this until you orgasm, the Fuckdoll's copious juices adding lewd noises to each grinding motion.`);
+					} else {
+						r.push(`Its dick is forced to perfect hardness. Its tubes have been tied to prevent any unseemly contamination, allowing you to ride it until you are satisfied. When you're done, the Fuckdoll is allowed to go soft. It did not climax.`);
+					}
+				}
+				r.push(`You leave it where it is, your personal assistant directing a slave to perform maintenance on it when ${heU} has the time.`);
+			}
+		));
+
+		App.UI.DOM.appendNewElement("p", result, `You have <span class="yellowgreen">gained a Fuckdoll.</span>`);
+		V.fuckdolls += 1;
+	} else {
+		r.push(`into a life of menial drudgery. This has little impact on your other human property.`);
+		if (slave.relationship > 3) {
+			r.push(`${getSlave(slave.relationshipTarget).slaveName}, for ${his2} part, is <span class="mediumorchid">saddened,</span> but not seriously affected. ${he2} knew this was coming.`);
+			getSlave(slave.relationshipTarget).devotion -= 5;
+		}
+		r.push(`There are a thousand things a slave like ${him} can usefully do around the arcology, and ${he}'ll do them. But ${he}'s reached the age where it's time for you and the arcology's citizens to fuck younger ${girl}s.`);
+
+		App.Events.addParagraph(desc, r);
+		r = [];
+		r.push(`You have <span class="yellowgreen">gained a menial slave.</span>`);
+		V.menials += 1;
+	}
+
+	App.Events.addNode(el, r);
+	App.UI.DOM.appendNewElement("h3", el, `Final notes?`);
+	const note = App.UI.DOM.appendNewElement("div", el, null, "note");
+	App.UI.DOM.appendNewElement("div", note, `${His} most recent task was to ${(V.assignmentRecords[slave]) ? `${slave.assignment}, and before that to ${V.assignmentRecords[slave]}` : slave.assignment}.`, "indent");
+	note.append(slaveImpactLongTerm(slave));
+
+	return el;
+};
diff --git a/src/endWeek/saDiet.js b/src/endWeek/saDiet.js
index cdff72b68a092fd147f73004a2b618a4c46e6c9c..4de440752d0d57a23b5b2e13766d940f03630edb 100644
--- a/src/endWeek/saDiet.js
+++ b/src/endWeek/saDiet.js
@@ -1283,10 +1283,10 @@ App.SlaveAssignment.diet = (function() {
 				} else if (slave.fetish === "mindbroken") {
 					r.push(`${His} diet tastes and smells awful, but such things are lost on ${his} broken mind. ${His} body <span class="health inc">appreciates</span> it, however.`);
 				} else if (!canSmell(slave) && !canTaste(slave)) {
-					r.push(`${His} diet tastes and smells awful, but ${he} is incapable of recognizing it, allowing ${him} to feel nothing but its <span class="health inc">significant restorative effect.</span> ${He} <span class="trust inc">trusts you more</span> since you seem to care about ${his} health`);
+					r.push(`${His} diet tastes and smells awful, but ${he} is incapable of recognizing it, allowing ${him} to feel nothing but its <span class="health inc">significant restorative effect.</span> ${He} <span class="trust inc">trusts you more</span> since you seem to care about ${his} health.`);
 					slave.trust++;
 				} else if (!canSmell(slave) || !canTaste(slave)) {
-					r.push(`${His} diet <span class="mediumorchid">tastes and smells awful,</span> but ${he} is thankfully only partially aware of this, allowing ${him} to appreciate its <span class="health inc">significant restorative effect</span> a bit more. ${He} <span class="trust inc">trusts you more</span> since you seem to care about ${his} health`);
+					r.push(`${His} diet <span class="mediumorchid">tastes and smells awful,</span> but ${he} is thankfully only partially aware of this, allowing ${him} to appreciate its <span class="health inc">significant restorative effect</span> a bit more. ${He} <span class="trust inc">trusts you more</span> since you seem to care about ${his} health.`);
 					slave.devotion -= 1;
 					slave.trust++;
 				} else if (slave.sexualFlaw === "self hating") {
diff --git a/src/endWeek/saLongTermEffects.js b/src/endWeek/saLongTermEffects.js
index a38ef75d3f3aef9a0d0b40c1307b7fb4601ae8cf..d0669ee14e51cf4cef9f52b59027681096492b1c 100644
--- a/src/endWeek/saLongTermEffects.js
+++ b/src/endWeek/saLongTermEffects.js
@@ -2259,12 +2259,12 @@ App.SlaveAssignment.longTermEffects = (function() {
 					r.push(`${He} remembered it, but no one cared.`);
 				}
 			}
-			if (retirementReady(slave) && V.retiree === 0) {
-				V.retiree = slave.ID;
+			if (retirementReady(slave)) {
+				planExpiration(slave);
 			}
 		}
-		if (slave.indenture === 0 && V.expiree === 0) {
-			V.expiree = slave.ID;
+		if (slave.indenture === 0) {
+			planRetirement(slave);
 		}
 	}
 
diff --git a/src/events/scheduled/seRaiding.js b/src/events/scheduled/seRaiding.js
new file mode 100644
index 0000000000000000000000000000000000000000..51cebc0c73c295830049f2963c83e6268214321f
--- /dev/null
+++ b/src/events/scheduled/seRaiding.js
@@ -0,0 +1,1017 @@
+App.Events.SERaiding = function() {
+	V.nextLink = "Scheduled Event";
+	V.returnTo = "Scheduled Event";
+	V.nextButton = "Continue";
+	V.raided = V.week;
+	const el = new DocumentFragment();
+	let r = [];
+	let MercCaptureL = -4;
+	let MercCaptureU = 4;
+	let raidEscapeL = 1;
+	let raidEscapeU = 3;
+
+	r.push(`The leader of your ${V.mercenariesTitle} has contacted you from the world outside your arcology. It seems that your ${V.mercenariesTitle} have enjoyed a profitable series of raids in their time outside the arcology and have decided to push their luck by plundering one last location on their way back to the arcology. As their nominal leader, they ask your opinion of a small number of potential targets. Given the distance from the arcology and the time sensitivity of conducting such a mission, you have little to base your decision on besides a brief description.`);
+	if (V.SF.Toggle && V.SF.Active >= 1) {
+		const satEffect = function() {
+			MercCaptureL += 1;
+			MercCaptureU += 1;
+			raidEscapeL -= 1;
+			raidEscapeU -= 1;
+		};
+
+		const planeEffect = function() {
+			MercCaptureL += 1;
+			MercCaptureU += 1;
+			raidEscapeL -= 1;
+		};
+		const hasSat = (V.SF.Squad.Satellite >= 1 && V.SF.SatLaunched > 0);
+		const hasPlane = V.SF.Squad.SpacePlane >= 1;
+		if (hasPlane || hasSat) {
+			r.push(`By having access to the use of ${V.SF.Lower}'s`);
+			if (hasSat && hasPlane) {
+				r.push(`satellite and space plane it is even`);
+				satEffect();
+				planeEffect();
+			} else if (hasSat) {
+				r.push(`satellite it is`);
+				satEffect();
+			} else if (hasPlane) {
+				r.push(`space plane it is`);
+				planeEffect();
+			}
+			r.push(`less likely that the target will escape.`);
+		}
+	}
+	const MercCapture = random(MercCaptureL, MercCaptureU);
+	const raidEscape = random(raidEscapeL, raidEscapeU);
+
+	App.Events.addParagraph(el, r);
+	r = [];
+
+	r.push(`Worthy of consideration is that although the ${V.mercenariesTitle} will enslave the lion's share of enslaved prisoners for the corporation, they will present you the finest slave captured as a gesture of respect for your high position.`);
+
+	let originArray = [];
+	if (V.seeDicks !== 100) {
+		originArray.push("housewife");
+		originArray.push("university professor");
+		originArray.push("university student");
+		originArray.push("female military officer");
+		originArray.push("military soldier");
+		originArray.push("doctor");
+		originArray.push("nun");
+		originArray.push("journalist");
+		originArray.push("local news anchor");
+		originArray.push("classical dancer");
+		originArray.push("law enforcement officer");
+		originArray.push("classical musician");
+		originArray.push("politician");
+		originArray.push("shut-in");
+		originArray.push("procuress");
+		originArray.push("investor");
+		originArray.push("scientist");
+		originArray.push("lawyer");
+	}
+	if (V.seeDicks !== 0) {
+		if (V.seeDicks === 100) {
+			originArray = ["male military officer", "male military officer", "male military officer"];/* todo: add more XY targets so this isn't necessary*/
+		} else {
+			originArray.push("male military officer");
+		}
+	}
+
+	const targets = App.UI.DOM.appendNewElement("p", el, `Your ${V.mercenariesTitle} look to you for guidance and will strike the target of your choosing.`);
+
+	for (let ser = 0; ser < 3; ser++) {
+		r = [];
+		r.push(`The`);
+		if (ser === 0) {
+			r.push(`first`);
+		} else if (ser === 1) {
+			r.push(`second`);
+		} else {
+			r.push(`third and final`);
+		}
+		r.push(`target`);
+
+		let targetEscape = 0;
+		const origin = originArray.pluck();
+		const slave = createRaidee(origin);
+		const {
+			He, His,
+			he, his, him, himself, woman, girl, wife
+		} = getPronouns(slave);
+		switch (origin) {
+			case "housewife":
+				r.push(`is an idyllic mansion in the countryside of an old world nation. Its owner is a businessman of some notoriety, but is often away from his expansive estate. A number of servants and maids are in residence, but the primary resident of the mansion is his ${wife}. From the sound of things, ${he} is not a young ${woman} but attractive enough in a fake sort of way.`);
+				break;
+			case "university professor":
+				r.push(`is the department offices of a still operational old world university. The University prides itself on a diverse and capable faculty, often touting its wealth of female professors as a symbol of its progressive agenda. Though they are unlikely to be young, these professors will be educated and quite intelligent. The head of the department is no exception, a ${woman} of considerable academic credentials.`);
+				break;
+			case "university student":
+				r.push(`is the residence dormitories of a still operational old world university. The University prides itself on a diverse and inspired student body, often touting its wealth of female students as a symbol of its progressive agenda. Though they are young, these students will likely have benefited from their education and fairly intelligent. By all accounts the prettiest of them is no exception, a student with a shining academic record.`);
+				break;
+			case "female military officer":
+				r.push(`is a military officer currently traveling to the front of a fresh conflict between rival powers in the old world. In an attempt to disguise ${his} high rank, ${he} is traveling with only a small escort of soldiers and is a prime target for enslavement. The officer is a graduate of a renowned old world military college and no stranger to the battlefield, yet has retained ${his} femininity despite ${his} considerable achievements.`);
+				break;
+			case "male military officer":
+				r.push(`is a military officer currently traveling to the front of a fresh conflict between rival powers in the old world. In an attempt to disguise ${his} high rank, ${he} is traveling with only a small escort of soldiers and is a prime target for enslavement. The officer is a graduate of a renowned old world military college and no stranger to the battlefield.`);
+				break;
+			case "military soldier":
+				r.push(`is the barracks of a local garrison in an old world town. The majority of the town's young men have already been sent to the front of a new conflict, so the town has conscripted a number of young women to fill the ranks of their garrison. Though the soldiers are likely to be untested, they have still received some measure of combat training. Their sergeant is the nominal leader of the group, though ${he} holds the position due to familial connections rather than any real military seniority.`);
+				break;
+			case "doctor":
+				r.push(`is a hospital located in an impoverished old world City. Despite its crime ridden surroundings, the hospital possesses a sterling reputation as a result of its distinguished staff of veteran doctors and nurses. Chief among these medical professionals is a female doctor, an accomplished pioneer in ${his} field.`);
+				break;
+			case "nun":
+				r.push(`is a reclusive religious community in a mountain range between two current conflict zones. The members of the community have withdrawn from the collapsing social order of the world and established a commune in their mountain retreat, filling their days with peaceful reflection and prayer. Though the nuns have no true leader, one among them has emerged as the most pious of the sisters.`);
+				break;
+			case "journalist":
+				r.push(`is the offices of an esteemed old world newspaper firm. The paper is known for its investigative journalism, particularly as one of the few firms willing to delve into the brave new world of the Free Cities. The rising star of the paper is undoubtedly a young journalist who has been an outspoken critic of slaveholding and other Free Cities traditions.`);
+				break;
+			case "local news anchor":
+				r.push(`is the recording studio of a sleepy old world town's local news channel. The news channel itself is unremarkable, a quaint reminder of the tedious life of a small town, save for its news anchor. The anchor stands in stark contrast to ${his} fellow residents by the abundance of ${his} plastic surgery, likely an attempt to cling to youth lest ${his} coveted anchor position be snatched away by a younger ${woman}.`);
+				break;
+			case "classical dancer":
+				r.push(`is the performing arts theater at the heart of an aristocratic old world city. The theater itself would usually not be considered a choice target, except that tonight its stage is graced by a renowned dance troupe. The jewel of the troupe's cast is a young ${girl}${(V.pedo_mode === 0) ? `, barely past ${his} majority,` : ``} whose performance has been said to bring tears to the eyes of audiences the world over.`);
+				break;
+			case "law enforcement officer":
+				r.push(`is the precinct of a small old world town's police department. The department is notoriously underfunded and unlikely to be particularly well staffed. Nonetheless, one of the officers is well known in the area for ${his} adherence to the letter of the law despite ${his} small town cop status.`);
+				break;
+			case "classical musician":
+				r.push(`is the concert hall at the heart of an aristocratic old world city. The concert hall itself would usually not be considered a choice target, except that tonight its stage is graced by a renowned orchestra. The pride of the orchestra's cast is a `);
+				if (slave.visualAge < 13) {
+					r.push(`little ${girl},`);
+				} else if (slave.visualAge <= 18) {
+					r.push(`teenager,`);
+				} else if (slave.visualAge <= 24) {
+					r.push(`young ${woman},`);
+				} else if (slave.visualAge <= 32) {
+					r.push(`${woman},`);
+				} else {
+					r.push(`mature ${woman},`);
+				}
+				r.push(`whose skill with ${his} instrument has been known to move listeners to tears.`);
+				break;
+			case "politician":
+				r.push(`is a campaign rally for the reelection of an old world politician. Though the rally will be an extremely public affair, the benefits of capturing a prestigious politician could outweigh the risks.`);
+				break;
+			case "shut-in":
+				r.push(`is the shack of a notorious shut-in located just outside your arcology. Not a particularly distinguished target, but it would save your ${V.mercenariesTitle} considerable time and effort. The shut-in ${himself} has been a fixture of the landscape for `);
+				if (slave.visualAge < 13) {
+					r.push(`only a little while,`);
+				} else if (slave.visualAge <= 18) {
+					r.push(`some time,`);
+				} else if (slave.visualAge <= 32) {
+					r.push(`years,`);
+				} else {
+					r.push(`decades,`);
+				}
+				r.push(`with many speculating that ${he} remains a virgin${(slave.visualAge > 32) ? ` despite ${his} mature age` : ``}.`);
+				break;
+			case "procuress":
+				r.push(`is a halfway house for vulnerable women operating in a nearby conflict zone. Far from being a wholesome institution, the proprietor of this halfway house is a notorious procuress who sells ${his} guests into slavery. Raiding the halfway house avoids the procuress' fees on a new shipment of slaves, with the procuress ${himself} as a tempting bonus.`);
+				break;
+			case "investor":
+				r.push(`is one of the last remaining business expositions still operating in the old world. In years past, such expositions were often a showcase for innovation and corporate development but in recent years have become a sad spectacle of industry stagnation. This particular exposition's keynote speaker is a reputable investor with decades of experience, hoping to breathe new life into some valuable yet dying firms.`);
+				break;
+			case "scientist":
+				r.push(`is a research lab operating on the lawless fringe between the old world and the Free Cities. Here, scientists push the boundaries of the known world without the burden of governmental oversight or moral restrictions. Their de facto leader is a fellow scientist, one of the first to leave the old world behind in pursuit of knowledge.`);
+				break;
+			case "lawyer":
+				r.push(`is the offices of a law firm operating on the boundary between the old world and the Free Cities. The lawyers within profit from the shaky legal channels between old world nations and new Free Cities, largely drawing up contracts or facilitating the transfer of goods, services, and slaves. The sole senior partner of the firm is one of the pioneers of this new field of legal work, having been a staunch corporate advocate for much of ${his} life.`);
+				break;
+		}
+
+		slave.origin = `Your ${V.mercenariesTitle} caught $him while raiding; $he was a ${origin}.`;
+		setHealth(slave, random(30, 50));
+		slave.devotion = random(-45, -25);
+		slave.trust = random(-60, -75);
+		slave.oldDevotion = slave.devotion;
+
+		r.push(`The ${origin} is the primary target of the raid. ${He}'s ${slave.race}.`);
+		if (slave.physicalAge <= 6) {
+			r.push(`${He} is a young child and should be easy to corral.`);
+			targetEscape -= 2;
+		} else if (slave.physicalAge <= 12) {
+			r.push(`${He} is just a kid, but might have some surprises up ${his} sleeves.`);
+			targetEscape += 1;
+		} else if (slave.physicalAge >= 100) {
+			r.push(`${He} is really, really old and won't stand a chance of shuffling off.`);
+			targetEscape -= 5;
+		} else if (slave.physicalAge >= 85) {
+			r.push(`${He} is very old and unlikely to be hard to catch.`);
+			targetEscape -= 3;
+		} else if (slave.physicalAge >= 70) {
+			r.push(`${He} is old and slow.`);
+			targetEscape -= 1;
+		}
+		if (slave.weight > 190) {
+			r.push(`${His} figure is catastrophically fat, so much so that the raid might be better off laying down speedbumps to thwart ${his} rascal-powered flight.`);
+			targetEscape -= 5;
+		} else if (slave.weight > 160) {
+			r.push(`${His} figure is extremely fat and unlikely to make it far, especially if stairs are involved.`);
+			targetEscape -= 3;
+		} else if (slave.weight > 95) {
+			r.push(`${His} figure is quite fat.`);
+			targetEscape -= 2;
+		} else if (slave.weight > 30) {
+			r.push(`${His} figure is fairly chubby.`);
+			targetEscape -= 1;
+		} else if (slave.weight < -95) {
+			r.push(`${He}'s so skinny that ${he} appears almost emaciated.`);
+			targetEscape -= 1;
+		} else {
+			r.push(`${He} has a fairly average weight.`);
+		}
+		if (slave.muscles > 30) {
+			r.push(`${His} heavy musculature weighs ${him} down.`);
+			targetEscape -= 1;
+		} else if (slave.muscles <= 5) {
+			r.push(`${His} body is soft and toneless.`);
+			targetEscape -= 1;
+		} else {
+			r.push(`${His} body is fairly muscular.`);
+		}
+		if (slave.height >= 185) {
+			r.push(`${He}'s tall enough that ${his} height makes ${him} easy to spot.`);
+			targetEscape -= 2;
+		} else if (slave.height < 150) {
+			r.push(`${He}'s short enough that ${his} height makes ${him} difficult to spot.`);
+			targetEscape += 1;
+		} else {
+			r.push(`${He}'s of an average height.`);
+		}
+		if (slave.boobs >= 2000) {
+			r.push(`${He} has absurdly large breasts.`);
+			targetEscape -= 3;
+		} else if (slave.boobs >= 800) {
+			r.push(`${He} has fairly large breasts.`);
+			targetEscape -= 1;
+		} else if (slave.boobs >= 400) {
+			r.push(`${He} has medium sized breasts.`);
+		} else {
+			r.push(`${He}'s fairly flat chested.`);
+			targetEscape += 1;
+		}
+		if (slave.butt >= 6) {
+			r.push(`${He} has an immense posterior.`);
+			targetEscape -= 1;
+		} else if (slave.butt >= 4) {
+			r.push(`${He} has a large ass.`);
+		} else if (slave.butt >= 2) {
+			r.push(`${He}'s got a big butt.`);
+		} else {
+			r.push(`${He}'s got a flat ass.`);
+			targetEscape += 1;
+		}
+		if (slave.dick >= 5) {
+			r.push(`${His} cock is large enough to slow ${him} down.`);
+			targetEscape -= 1;
+		}
+		if (slave.balls >= 5 && slave.scrotum > 0) {
+			r.push(`${His} balls are likely to hurt while running, enough to slow ${him} down.`);
+			targetEscape -= 1;
+		}
+		if (slave.preg >= slave.pregData.normalBirth - 1) {
+			r.push(`${His} ripe pregnant belly is very likely to preclude ${him} from escaping without help at all. All it takes is ${his} water breaking to practically doom ${his} flight.`);
+			targetEscape -= 10;
+		} else if (slave.belly >= 60000) {
+			r.push(`${He} is so massively pregnant it'll be next to impossible for ${him} to escape on foot.`);
+			targetEscape -= 10;
+		} else if (slave.belly >= 10000) {
+			r.push(`${His} pregnant belly is likely to preclude ${him} from escaping on foot at all.`);
+			targetEscape -= 5;
+		} else if (slave.belly >= 5000) {
+			r.push(`${He}'s visibly pregnant and likely to be cautious and slow during ${his} escape.`);
+			targetEscape -= 3;
+		} else if (slave.belly >= 1500) {
+			r.push(`There is a slight roundness to ${his} middle, likely an early pregnancy that will distract ${him} from fleeing.`);
+			targetEscape -= 1;
+		}
+		r.push(App.UI.DOM.makeElement("div", App.UI.DOM.link(
+			`The ${origin}`,
+			() => {
+				jQuery(targets).empty().append(raidingAssault(slave, origin, targetEscape));
+			}
+		)));
+		App.Events.addParagraph(targets, r);
+	}
+
+	return el;
+
+	function createRaidee(origin) {
+		let slave;
+		let pram = {};
+		switch (origin) {
+			case "housewife":
+				slave = GenerateNewSlave("XX", {
+					minAge: 33, maxAge: 39, disableDisability: 1, ageOverridesPedoMode: 1
+				});
+				generateSalonModifications(slave);
+				slave.boobs += 800;
+				slave.boobsImplant += 800;
+				slave.boobsImplantType = "normal";
+				slave.butt += 1;
+				slave.buttImplant += 1;
+				slave.buttImplantType = "normal";
+				slave.face = 55;
+				slave.faceImplant += 20;
+				slave.anus = 1;
+				slave.vagina = 1;
+				slave.ovaries = 1;
+				if (isFertile(slave) && V.seePreg !== 0) {
+					slave.preg = either(-1, -1, -1, 0, 0, 0, 5, 10, 20, 30, 39);
+					if (slave.preg > 0) {
+						slave.pregType = setPregType(slave);
+						WombImpregnate(slave, slave.pregType, 0, slave.preg);
+						slave.pregKnown = 1;
+						slave.pregWeek = slave.preg;
+						SetBellySize(slave);
+					}
+				} else {
+					slave.preg = -1;
+				}
+				slave.skill.vaginal = 35;
+				slave.skill.oral = 35;
+				slave.skill.anal = 15;
+				slave.skill.whoring = 35;
+				slave.teeth = "normal";
+				slave.weight = random(-50, 130);
+				slave.career = either("a housewife", "a trophy wife");
+				break;
+			case "university professor":
+				slave = GenerateNewSlave("XX", {
+					minAge: 35, maxAge: 55, disableDisability: 1, ageOverridesPedoMode: 1
+				});
+				slave.career = "a professor";
+				slave.face = random(15, 100);
+				slave.vagina = 1;
+				slave.skill.oral = 35;
+				slave.skill.anal = 15;
+				slave.skill.whoring = 0;
+				slave.skill.entertainment = 10;
+				slave.intelligence = random(70, 90);
+				slave.intelligenceImplant = 30;
+				slave.teeth = "normal";
+				slave.weight = random(-20, 90);
+				if (isFertile(slave) && V.seePreg !== 0) {
+					slave.preg = either(-1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 5, 10, 20, 30, 39);
+					if (slave.preg > 0) {
+						slave.pregType = setPregType(slave);
+						WombImpregnate(slave, slave.pregType, 0, slave.preg);
+						slave.pregKnown = 1;
+						slave.pregWeek = slave.preg;
+						SetBellySize(slave);
+					}
+				} else {
+					slave.preg = -1;
+				}
+				break;
+			case "university student":
+				slave = GenerateNewSlave("XX", {
+					minAge: 14, maxAge: 22, disableDisability: 1, ageOverridesPedoMode: 1
+				});
+				slave.career = "a student";
+				generateSalonModifications(slave);
+				slave.face = random(15, 100);
+				slave.anus = 0;
+				slave.vagina = 1;
+				slave.skill.vaginal = 0;
+				slave.skill.anal = 0;
+				slave.skill.oral = 0;
+				slave.skill.whoring = 0;
+				slave.skill.entertainment = 0;
+				slave.intelligence = random(0, 60);
+				slave.intelligenceImplant = 15;
+				slave.teeth = "normal";
+				slave.weight = random(-60, 40);
+				if (isFertile(slave) && V.seePreg !== 0) {
+					slave.preg = either(-1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 5, 10);
+					if (slave.preg > 0) {
+						slave.pregType = setPregType(slave);
+						WombImpregnate(slave, slave.pregType, 0, slave.preg);
+						slave.pregKnown = 1;
+						slave.pregWeek = slave.preg;
+						SetBellySize(slave);
+					}
+				} else {
+					slave.preg = -1;
+				}
+				break;
+			case "female military officer":
+				slave = GenerateNewSlave("XX", {
+					minAge: 26, maxAge: 45, disableDisability: 1, ageOverridesPedoMode: 1
+				});
+				slave.career = "a military officer";
+				generateSalonModifications(slave);
+				slave.face = random(15, 100);
+				slave.vagina = 1;
+				slave.skill.oral = 35;
+				slave.skill.anal = 15;
+				slave.skill.whoring = 0;
+				slave.skill.combat = 1;
+				slave.skill.entertainment = 10;
+				slave.intelligence = random(20, 60);
+				slave.intelligenceImplant = 15;
+				slave.teeth = "normal";
+				slave.weight = 0;
+				slave.muscles = 25;
+				break;
+			case "male military officer":
+				slave = GenerateNewSlave("XY", {
+					minAge: 26, maxAge: 45, disableDisability: 1, ageOverridesPedoMode: 1
+				});
+				slave.career = "a military officer";
+				slave.skill.anal = 0;
+				slave.skill.oral = 0;
+				slave.skill.whoring = 0;
+				slave.skill.combat = 1;
+				slave.intelligence = random(20, 60);
+				slave.intelligenceImplant = 15;
+				slave.hStyle = either("short", "very short");
+				slave.boobs = 150;
+				slave.vagina = -1;
+				slave.clit = 0;
+				slave.ovaries = 0;
+				slave.preg = 0;
+				slave.dick = random(3, 5);
+				slave.balls = random(2, 4);
+				slave.scrotum = slave.balls;
+				slave.anus = 0;
+				slave.weight = 0;
+				slave.muscles = 50;
+				break;
+			case "military soldier":
+				pram = {disableDisability: 1, minAge: 18};
+				if (V.pedo_mode === 1) {
+					pram.ageOverridesPedoMode = 1;
+				} else {
+					pram.maxAge = 25;
+				}
+				slave = GenerateNewSlave("XX", pram);
+				slave.career = "a soldier";
+				slave.face = random(15, 100);
+				slave.vagina = 1;
+				slave.skill.oral = 35;
+				slave.skill.anal = 15;
+				slave.skill.whoring = 0;
+				slave.skill.combat = 1;
+				slave.skill.entertainment = 10;
+				slave.intelligenceImplant = 15;
+				slave.teeth = "normal";
+				slave.weight = random(0, 20);
+				slave.muscles = 10;
+				if (isFertile(slave) && V.seePreg !== 0) {
+					slave.preg = either(-1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 5, 5);
+					if (slave.preg > 0) {
+						slave.pregType = setPregType(slave);
+						WombImpregnate(slave, slave.pregType, 0, slave.preg);
+						slave.pregKnown = 1;
+						slave.pregWeek = slave.preg;
+						SetBellySize(slave);
+					}
+				} else {
+					slave.preg = -1;
+				}
+				break;
+			case "doctor":
+				slave = GenerateNewSlave("XX", {
+					minAge: 28, maxAge: 55, disableDisability: 1, ageOverridesPedoMode: 1
+				});
+				slave.career = "a doctor";
+				slave.face = random(15, 100);
+				slave.vagina = 1;
+				slave.skill.oral = 35;
+				slave.skill.anal = 15;
+				slave.skill.whoring = 0;
+				slave.skill.entertainment = 10;
+				slave.intelligence = random(60, 90);
+				slave.intelligenceImplant = 30;
+				slave.teeth = "normal";
+				slave.weight = random(-40, 40);
+				if (isFertile(slave) && V.seePreg !== 0) {
+					slave.preg = either(-1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 5, 10);
+					if (slave.preg > 0) {
+						slave.pregType = setPregType(slave);
+						WombImpregnate(slave, slave.pregType, 0, slave.preg);
+						slave.pregKnown = 1;
+						slave.pregWeek = slave.preg;
+						SetBellySize(slave);
+					}
+				} else {
+					slave.preg = -1;
+				}
+				break;
+			case "nun":
+				slave = GenerateNewSlave("XX", {maxAge: 70, disableDisability: 1});
+				slave.career = "a nun";
+				slave.anus = 0;
+				slave.vagina = 0;
+				slave.weight = random(-100, -20);
+				slave.attrXX = random(10, 50);
+				slave.attrXY = random(10, 50);
+				slave.energy = random(5, 20);
+				slave.skill.vaginal = 0;
+				slave.skill.oral = 15;
+				slave.skill.anal = 0;
+				slave.skill.whoring = 0;
+				slave.skill.entertainment = 0;
+				slave.behavioralFlaw = "devout";
+				slave.sexualFlaw = "repressed";
+				break;
+			case "journalist":
+				slave = GenerateNewSlave("XX", {
+					minAge: 18, maxAge: 26, disableDisability: 1, ageOverridesPedoMode: 1
+				});
+				slave.career = "a journalist";
+				generateSalonModifications(slave);
+				slave.face = random(-20, 0);
+				slave.anus = 0;
+				slave.vagina = 1;
+				slave.skill.vaginal = 0;
+				slave.skill.anal = 0;
+				slave.skill.oral = 0;
+				slave.skill.whoring = 0;
+				slave.skill.entertainment = 35;
+				slave.intelligence = random(0, 100);
+				slave.intelligenceImplant = 15;
+				slave.behavioralFlaw = "liberated";
+				slave.sexualFlaw = "idealistic";
+				slave.weight = random(-40, 40);
+				if (isFertile(slave) && V.seePreg !== 0) {
+					slave.preg = either(-1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 5, 10);
+					if (slave.preg > 0) {
+						slave.pregType = setPregType(slave);
+						WombImpregnate(slave, slave.pregType, 0, slave.preg);
+						slave.pregKnown = 1;
+						slave.pregWeek = slave.preg;
+						SetBellySize(slave);
+					}
+				} else {
+					slave.preg = -1;
+				}
+				break;
+			case "local news anchor":
+				slave = GenerateNewSlave("XX", {
+					minAge: 35, maxAge: 39, disableDisability: 1, ageOverridesPedoMode: 1
+				});
+				slave.boobs += 800;
+				slave.boobsImplant += 800;
+				slave.boobsImplantType = "fillable";
+				slave.butt += 1;
+				slave.buttImplant += 1;
+				slave.buttImplantType = "normal";
+				slave.face = 55;
+				slave.faceImplant += 20;
+				slave.anus = 1;
+				slave.vagina = 1;
+				slave.preg = -1;
+				slave.ovaries = 1;
+				slave.skill.vaginal = 35;
+				slave.skill.oral = 35;
+				slave.skill.anal = 15;
+				slave.skill.whoring = 35;
+				slave.skill.entertainment = 35;
+				slave.career = "a local news anchor";
+				slave.weight = random(-40, 40);
+				break;
+			case "classical dancer":
+				slave = GenerateNewSlave("XX", {maxAge: 20, disableDisability: 1});
+				slave.career = "a classical dancer";
+				slave.prestige = 1;
+				slave.prestigeDesc = "${He} was the pride of renowned dance troupe.";
+				slave.face = random(-20, 40);
+				slave.anus = 0;
+				slave.vagina = 1;
+				slave.skill.vaginal = 0;
+				slave.skill.anal = 0;
+				slave.skill.oral = 0;
+				slave.skill.whoring = 0;
+				slave.skill.entertainment = 50;
+				if (slave.physicalAge >= 12) {
+					slave.teeth = "normal";
+				}
+				slave.weight = random(-100, -10);
+				break;
+			case "law enforcement officer":
+				pram = {minAge: 18, disableDisability: 1};
+				if (V.pedo_mode === 1) {
+					pram.ageOverridesPedoMode = 1;
+				} else {
+					pram.maxAge = 25;
+				}
+				slave = GenerateNewSlave("XX", pram);
+				slave.career = "a law enforcement officer";
+				slave.face = random(15, 100);
+				slave.vagina = 1;
+				slave.skill.oral = 35;
+				slave.skill.anal = 15;
+				slave.skill.whoring = 0;
+				slave.skill.combat = 1;
+				slave.skill.entertainment = 10;
+				slave.intelligenceImplant = 15;
+				slave.weight = random(-10, 90);
+				slave.muscles = random(10, 35);
+				if (isFertile(slave) && V.seePreg !== 0) {
+					slave.preg = either(-1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 5, 5);
+					if (slave.preg > 0) {
+						slave.pregType = setPregType(slave);
+						WombImpregnate(slave, slave.pregType, 0, slave.preg);
+						slave.pregKnown = 1;
+						slave.pregWeek = slave.preg;
+						SetBellySize(slave);
+					}
+				} else {
+					slave.preg = -1;
+				}
+				break;
+			case "classical musician":
+				slave = GenerateNewSlave("XX", {maxAge: 43, disableDisability: 1, ageOverridesPedoMode: 1});
+				slave.career = "a classical musician";
+				slave.prestige = 1;
+				slave.prestigeDesc = "${He} was the pride of a renowned orchestra.";
+				slave.face = random(-20, 0);
+				slave.anus = 0;
+				slave.skill.vaginal = 0;
+				slave.skill.anal = 0;
+				slave.skill.oral = 0;
+				slave.skill.whoring = 0;
+				slave.skill.entertainment = 50;
+				if (slave.physicalAge >= 12) {
+					slave.teeth = "normal";
+				}
+				slave.weight = random(-50, 15);
+				if (slave.vagina > 0) {
+					if (isFertile(slave) && V.seePreg !== 0) {
+						slave.preg = either(-1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 5, 10);
+						if (slave.preg > 0) {
+							slave.pregType = setPregType(slave);
+							WombImpregnate(slave, slave.pregType, 0, slave.preg);
+							slave.pregKnown = 1;
+							slave.pregWeek = slave.preg;
+							SetBellySize(slave);
+						}
+					} else {
+						slave.preg = -1;
+					}
+					slave.vagina = 1;
+				}
+				break;
+			case "politician":
+				slave = GenerateNewSlave("XX", {
+					minAge: 35, maxAge: 65, disableDisability: 1, ageOverridesPedoMode: 1
+				});
+				slave.career = "a politician";
+				slave.prestige = 2;
+				slave.prestigeDesc = "${He} was a widely known politician in ${his} former life. ${His} face has graced many campaign posters.";
+				slave.face = random(15, 100);
+				slave.vagina = 1;
+				slave.skill.oral = 35;
+				slave.skill.anal = 15;
+				slave.skill.whoring = 0;
+				slave.skill.entertainment = 10;
+				slave.intelligence = random(60, 90);
+				slave.intelligenceImplant = 30;
+				slave.teeth = "normal";
+				slave.weight = random(-10, 60);
+				if (isFertile(slave) && V.seePreg !== 0) {
+					slave.preg = either(-1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 10, 20, 30, 39);
+					if (slave.preg > 0) {
+						slave.pregType = setPregType(slave);
+						WombImpregnate(slave, slave.pregType, 0, slave.preg);
+						slave.pregKnown = 1;
+						slave.pregWeek = slave.preg;
+						SetBellySize(slave);
+					}
+				} else {
+					slave.preg = -1;
+				}
+				break;
+			case "shut-in":
+				slave = GenerateNewSlave("XX", {maxAge: 43, disableDisability: 1});
+				generateSalonModifications(slave);
+				slave.career = "a shut-in";
+				slave.anus = 0;
+				slave.face = random(15, 100);
+				slave.vagina = 0;
+				slave.skill.oral = 35;
+				slave.skill.anal = 15;
+				slave.skill.whoring = 0;
+				slave.skill.entertainment = 10;
+				slave.weight = random(-100, 60);
+				break;
+			case "procuress":
+				slave = GenerateNewSlave("XX", {
+					minAge: 20, maxAge: 65, disableDisability: 1, ageOverridesPedoMode: 1
+				});
+				slave.career = "a procuress";
+				slave.face = random(15, 100);
+				slave.vagina = 1;
+				slave.skill.oral = 35;
+				slave.skill.anal = 15;
+				slave.skill.whoring = 25;
+				slave.skill.entertainment = 25;
+				slave.intelligence = random(51, 80);
+				slave.weight = random(-10, 120);
+				break;
+			case "investor":
+				slave = GenerateNewSlave("XX", {
+					minAge: 35, maxAge: 55, disableDisability: 1, ageOverridesPedoMode: 1
+				});
+				slave.career = "an investor";
+				slave.prestige = 1;
+				slave.prestigeDesc = "${He} is a reputable investor from a bygone age.";
+				slave.face = random(15, 100);
+				slave.vagina = 1;
+				slave.skill.oral = 35;
+				slave.skill.anal = 15;
+				slave.skill.whoring = 0;
+				slave.skill.entertainment = 10;
+				slave.intelligence = random(51, 80);
+				slave.intelligenceImplant = 15;
+				slave.weight = random(-50, 60);
+				if (isFertile(slave) && V.seePreg !== 0) {
+					slave.preg = either(-1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 10, 20, 30, 39);
+					if (slave.preg > 0) {
+						slave.pregType = setPregType(slave);
+						WombImpregnate(slave, slave.pregType, 0, slave.preg);
+						slave.pregKnown = 1;
+						slave.pregWeek = slave.preg;
+						SetBellySize(slave);
+					}
+				} else {
+					slave.preg = -1;
+				}
+				break;
+			case "scientist":
+				slave = GenerateNewSlave("XX", {minAge: 28, maxAge: 55, disableDisability: 1});
+				slave.career = "a scientist";
+				slave.face = random(15, 100);
+				slave.vagina = 1;
+				slave.skill.oral = 35;
+				slave.skill.anal = 15;
+				slave.skill.whoring = 0;
+				slave.skill.entertainment = 10;
+				slave.intelligence = random(70, 90);
+				slave.intelligenceImplant = 30;
+				slave.teeth = "normal";
+				slave.weight = random(-50, 50);
+				break;
+			case "lawyer":
+				slave = GenerateNewSlave("XX", {
+					minAge: 30, maxAge: 55, disableDisability: 1, ageOverridesPedoMode: 1
+				});
+				slave.career = "a lawyer";
+				slave.face = random(15, 100);
+				slave.vagina = 1;
+				slave.skill.oral = 35;
+				slave.skill.anal = 15;
+				slave.skill.whoring = 0;
+				slave.skill.entertainment = 20;
+				slave.intelligence = random(20, 50);
+				slave.intelligenceImplant = 15;
+				slave.weight = random(-50, 140);
+				if (isFertile(slave) && V.seePreg !== 0) {
+					slave.preg = either(-1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 10, 20, 30, 39);
+					if (slave.preg > 0) {
+						slave.pregType = setPregType(slave);
+						WombImpregnate(slave, slave.pregType, 0, slave.preg);
+						slave.pregKnown = 1;
+						slave.pregWeek = slave.preg;
+						SetBellySize(slave);
+					}
+				} else {
+					slave.preg = -1;
+				}
+				break;
+		}
+		return slave;
+	}
+
+	function raidingAssault(slave, origin, targetEscape) {
+		const el = new DocumentFragment();
+		const r = [];
+		r.push(`You make your selection and direct your ${V.mercenariesTitle} begin the raid and attempt to acquire the ${origin}.`);
+		const {
+			He,
+			he, his, him, himself, wife, woman
+		} = getPronouns(slave);
+
+		switch (origin) {
+			case "housewife":
+				if (targetEscape >= MercCapture) {
+					r.push(`Somehow the house${wife} manages to evade your mercenaries.`);
+				} else if (raidEscape === 1) {
+					r.push(`Your ${V.mercenariesTitle} pry open the door to the mansion's panic room to find that the ${woman} has hung ${himself} to escape capture. A waste.`);
+				} else {
+					r.push(`Your ${V.mercenariesTitle} pry open the door to the mansion's panic room and pull the protesting house${wife} from its depths. The house${wife} watches in terror as your ${V.mercenariesTitle} slake their lust on ${his} servants and maids, knowing that ${his} respite from a brutal rape must only be a temporary blessing.`);
+					newSlave(slave); // skip New Slave Intro
+				}
+				break;
+			case "university professor":
+				if (targetEscape >= MercCapture) {
+					r.push(`A confrontation with the University's security team allows the professors to escape capture by the ${V.mercenariesTitle}.`);
+				} else if (raidEscape === 1) {
+					r.push(`Your ${V.mercenariesTitle} are met with surprising resistance by the university's professors and are forced to bid a hasty retreat before security can arrive in greater numbers.`);
+				} else {
+					r.push(`Your ${V.mercenariesTitle} corner the professors and their department head in one of the university's many conference rooms, hauling them off to the VTOLs when the academics promptly surrender. The department head spends the VTOL ride back to your arcology watching in terror as ${his} colleagues and peers are raped wholesale by your mercenaries. With ${his} educated mind, ${he} knows that being singled out from a similar fate must mean ${he} is being saved for someone and worries about who that might be.`);
+					newSlave(slave); // skip New Slave Intro
+				}
+				break;
+			case "university student":
+				if (targetEscape >= MercCapture) {
+					r.push(`A confrontation with the University's security team allows the students to escape capture by the ${V.mercenariesTitle}.`);
+				} else if (raidEscape === 1) {
+					r.push(`Your ${V.mercenariesTitle} are met with surprising resistance by the university's students and are forced to bid a hasty retreat before security can arrive in greater numbers.`);
+				} else {
+					r.push(`Your ${V.mercenariesTitle} corner the students in their rooms, hauling them off one by one to the VTOLs as they protest feebly. The peerless student spends the VTOL ride back to your arcology watching in terror as ${his} friends and peers are raped wholesale by your mercenaries. With ${his} educated mind, ${he} knows that being singled out from a similar fate must mean ${he} is being saved for someone and worries about who that might be.`);
+					newSlave(slave);// skip New Slave Intro
+				}
+				break;
+			case "female military officer":
+			case "male military officer":
+				if (targetEscape >= MercCapture) {
+					r.push(`The officer's escort engages the ${V.mercenariesTitle} in a gunfight and in the confusion the officer manages to escape capture on foot.`);
+				} else if (raidEscape === 1) {
+					r.push(`As your mercenaries gain the upper hand on the officer's escort, ${he} promptly puts ${his} service weapon to ${his} temple and pulls the trigger. A waste.`);
+				} else {
+					r.push(`As your mercenaries gain the upper hand on the officer's escort, ${he} promptly puts ${his} service weapon to ${his} temple but hesitates. Luckily one of your ${V.mercenariesTitle} is close by and able to pluck the pistol from ${his} stiff fingers. The despondent officer is cuffed and taken back to the VTOL for transport. The officer spends the VTOL ride back to your arcology watching as your ${V.mercenariesTitle} rape ${his} defeated subordinates. Given their brutal treatment, ${he} doubts ${his} respite from such a fate is due to any battlefield rules of conduct.`);
+					newSlave(slave);
+					// skip New Slave Intro
+				}
+				break;
+			case "military soldier":
+				if (targetEscape >= MercCapture) {
+					r.push(`The young soldiers fight valiantly against the ${V.mercenariesTitle} until they are routed. Despite defeating them in the field, your ${V.mercenariesTitle} are unable to capture any of the soldiers who escape on foot.`);
+				} else if (raidEscape === 1) {
+					r.push(`The young soldiers are unfaltering in their conviction and fight to their last last. When the smoke clears, the barracks is chocked with corpses for none of the soldiers are left alive to capture.`);
+				} else {
+					r.push(`The young soldiers fight valiantly, but when the battle turns against them they decide to surrender. Their sergeant is cuffed with the remaining survivors and taken back to the VTOL for transport. The sergeant spends the VTOL ride back to the arcology watching as ${his} childhood friends turned comrades in arms are raped by your mercenaries. ${He} wonders why ${he} has been spared this seemingly shared fate, but suspects it has little to do with ${his} nominally higher rank.`);
+					newSlave(slave);
+					// skip New Slave Intro
+				}
+				break;
+			case "doctor":
+				if (targetEscape >= MercCapture) {
+					r.push(`The hospital's security staff alone would prove little match for the ${V.mercenariesTitle}, but just as they are about to be overrun an uneasy coalition of rival gangster and criminals who had been committed as patients join the fray and turn the tide of battle.`);
+				} else if (raidEscape === 1) {
+					r.push(`The hospital's security staff alone would prove little match for your mercenaries, but they are joined by an uneasy coalition of rival gangster and criminals who had been committed as patients. Though your ${V.mercenariesTitle} prevail, they discover to their chagrin that the doctors and their staff were slain during the wanton exchange of fire.`);
+				} else {
+					r.push(`The security staff of the hospital is easily overpowered and surrender rapidly, allowing your ${V.mercenariesTitle} to take the doctors and their staff into custody with little fuss. The distinguished doctor spends the VTOL ride looking on at ${his} colleagues and peers being raped by your mercenaries. ${He} naïvely hopes that ${he} has been spared from that fate out of a desire for ${his} medical knowledge rather than ${his} body.`);
+					newSlave(slave);
+					// skip New Slave Intro
+				}
+				break;
+			case "nun":
+				if (targetEscape >= MercCapture) {
+					r.push(`As the ${V.mercenariesTitle} close in on the commune, they are spotted by a group of young nuns tending to their grounds. Before your ${V.mercenariesTitle} can close the distance, they retreat behind the walls of their community and seal the gate behind them.`);
+				} else if (raidEscape === 1) {
+					r.push(`The nuns flee into their inner sanctum as your ${V.mercenariesTitle} approach and bar the doors behind them as they go. When the last barrier is pried open, your ${V.mercenariesTitle} discover the nuns have committed suicide as a group rather than be taken prisoner.`);
+				} else {
+					r.push(`Unarmed and defenseless, the nuns are easily cowed by your ${V.mercenariesTitle} and taken away one by one to the VTOLs. The most pious sister prays vehemently until ${he} is dragged out of the inner sanctum in cuffs. The pious nun spends the VTOL ride engaged in fervent prayer as ${his} sisters are raped by your mercenaries. ${He} naïvely believes that ${his} devotion and piety will see ${him} spared from the same fate as ${his} sisters.`);
+					newSlave(slave);
+					// skip New Slave Intro
+				}
+				break;
+			case "journalist":
+				if (targetEscape >= MercCapture) {
+					r.push(`Though the ${V.mercenariesTitle} easily overwhelm the single security guard posted at the firm, they are unable to do so before he triggers an alarm. Faced with the prospect of local law enforcement arriving, your ${V.mercenariesTitle} beat a hasty retreat.`);
+				} else if (raidEscape === 1) {
+					r.push(`Your ${V.mercenariesTitle} are met with fierce resistance by the staff of the newspaper firm, who take the raid as an opportunity to turn their abolitionist words into violent action. Eventually, your ${V.mercenariesTitle} retreat from the building before law enforcement can arrive.`);
+				} else {
+					r.push(`Once the lone security guard is subdued, the journalists and editors of the firm quietly accept their restraints and file out of the building and into the waiting VTOL. The journalist spends the VTOL ride watching as ${his} colleagues are raped by your mercenaries. ${He} studies every brutal detail, records ever anguished scream in ${his} mind, hoping that one day ${he} might escape to produce an editorial to surpass all others.`);
+					newSlave(slave);
+					// skip New Slave Intro
+				}
+				break;
+			case "local news anchor":
+				if (targetEscape >= MercCapture) {
+					r.push(`Unfortunately for the ${V.mercenariesTitle}, the news channel appears to have been interviewing members of the local militia garrison at the time of the raid. Upon encountering more firepower than they had anticipated, your ${V.mercenariesTitle} wisely retreat from the engagement.`);
+				} else if (raidEscape === 1) {
+					r.push(`Your ${V.mercenariesTitle} are able to subdue the news anchor and bid a hasty exit from the recording studio. Before they can board the waiting VTOL however, the anchor is struck in the head by a bullet fired by a man who was ${his} longtime fan turned stalker. It seems if he cannot have ${him}, neither can you.`);
+				} else {
+					r.push(`The news anchor is subdued without issue and quietly escorted out of the recording studio and into the waiting VTOL. The anchor is initially resistant during the VTOL ride, but soon grows complacent when ${he} is told of the luxury of your penthouse.`);
+					newSlave(slave);
+					// skip New Slave Intro
+				}
+				break;
+			case "classical dancer":
+				if (targetEscape >= MercCapture) {
+					r.push(`Though they are excellent soldiers, the ${V.mercenariesTitle} are crude and uncultured. They are unable to blend into the audience and are soon discovered, giving the dance troupe the warning needed to make an escape from the theater.`);
+				} else if (raidEscape === 1) {
+					r.push(`As your ${V.mercenariesTitle} close in on the stage and reveal their concealed weapons, the darling star of the dance troupe loses ${his} footing in shock and tumbles off the stage. The sharp crack as ${he} hits the ground drives the crowd and remaining members of the troupe hysterical, while your ${V.mercenariesTitle} exit the theater as chaos surges around them.`);
+				} else {
+					r.push(`Once your ${V.mercenariesTitle} close in on the stage and reveal their concealed weapons, the dance troupe promptly surrenders. With the shocked audience looking on, each member is cuffed and escorted out the door to the waiting VTOL. The dancer spends the VTOL ride in abject terror as ${his} friends and peers are raped by your ${V.mercenariesTitle} all around ${him}. ${He} clings to the hope that ${he} is being spared from the same fate out of a desire for ${his} dancing talent rather than ${his} body.`);
+					newSlave(slave);
+					// skip New Slave Intro
+				}
+				break;
+			case "law enforcement officer":
+				if (targetEscape >= MercCapture) {
+					r.push(`Despite the lack of staff, it seems this particular precinct has been the recipient of an alarming quantity of military grade equipment. With their overwhelming firepower, the officers are able to hold off your ${V.mercenariesTitle} until reinforcements arrive and force your troops to retreat.`);
+				} else if (raidEscape === 1) {
+					r.push(`Despite being outnumbered and outgunned, the officers stand their ground to the last. The sterling officer of the law your ${V.mercenariesTitle} sought to capture is the last to fall, stifled by a hail of bullets.`);
+				} else {
+					r.push(`Your ${V.mercenariesTitle} break through the door of the precinct with their guns drawn. The precinct is so understaffed that each officer has a number of weapons drawn on them from every angle, so its no surprise when the precinct's sterling police${woman} formally surrenders the precinct and its officers to your mercenaries.`);
+					r.push(`The officer spends the VTOL ride watching impassively as ${his} fellow officers are raped by your ${V.mercenariesTitle} all around ${him}. Before ${he} exits the VTOL upon ${his} arrival, ${he} informs your ${V.mercenariesTitle} that ${he} intends to bring each of them to justice for their supposed crimes.`);
+					newSlave(slave);
+					// skip New Slave Intro
+				}
+				break;
+			case "classical musician":
+				if (targetEscape >= MercCapture) {
+					r.push(`Though they are excellent soldiers, the ${V.mercenariesTitle} are crude and uncultured. They are unable to blend into the audience and are soon discovered, giving the orchestra the warning needed to make an escape from the concert hall.`);
+				} else if (raidEscape === 1) {
+					r.push(`As your ${V.mercenariesTitle} close in on the stage and reveal their concealed weapons, the crown jewel of the orchestra loses ${his} footing in shock and tumbles off the stage. The sharp crack as ${he} hits the ground drives the crowd and remaining members of the orchestra hysterical, while your ${V.mercenariesTitle} exit the concert hall as chaos surges around them.`);
+				} else {
+					r.push(`Once your ${V.mercenariesTitle} close in on the stage and reveal their concealed weapons, the orchestra promptly surrenders. With the shocked audience looking on, each member is cuffed and escorted out the door to the waiting VTOL. The musician spends the VTOL ride in abject terror as ${his} friends and peers are raped by your ${V.mercenariesTitle} all around ${him}. ${He} clings to the hope that ${he} is being spared from the same fate out of a desire for ${his} musical talent rather than ${his} body.`);
+					newSlave(slave);
+					// skip New Slave Intro
+				}
+				break;
+			case "politician":
+				if (targetEscape >= MercCapture) {
+					r.push(`The ${V.mercenariesTitle} clash with the politician's security detail amidst a maelstrom of terrified civilians and the confrontation drags out for some time. By the time your ${V.mercenariesTitle} can advance, they discover that the politician has already been evacuated.`);
+				} else if (raidEscape === 1) {
+					r.push(`With their security detail defeated and their crowd of supporters offering no protection, the politician tries to take up one of ${his} fallen protector's pistols to defend ${himself}. Unfortunately for ${him} and for your mercenaries, the politician has a staggeringly poor understanding of firearms and manages to shoot themselves in the face when they discharge the weapon. With the politician dead, there is little your ${V.mercenariesTitle} can do but exit the venue.`);
+				} else {
+					r.push(`With their security detail defeated and their crowd of supporters offering no protection, the politician promptly surrenders in the hopes that they won't be harmed and is escorted to the waiting VTOL. The politician spends the VTOL ride quietly, only breaking ${his} silence to ask your ${V.mercenariesTitle} about where ${he} is being brought and why. When they do not answer ${he} simply fusses with ${his} outfit, as if headed to an important interview.`);
+					newSlave(slave);
+					// skip New Slave Intro
+				}
+				break;
+			case "shut-in":
+				if (targetEscape >= MercCapture) {
+					r.push(`The ${V.mercenariesTitle} pry open the shut-in's door to discover an empty shack. From the cooked meal still steaming on the dining room table and the remarkable absence of dust, it seems ${he} left only recently. Somehow the crafty `);
+					if (slave.visualAge < 13) {
+						r.push(`little`);
+					} else if (slave.visualAge <= 18) {
+						r.push(`teen`);
+					} else if (slave.visualAge <= 24) {
+						r.push(`young`);
+					} else if (slave.visualAge <= 32) {
+					} else {
+						r.push(`old`);
+					}
+					r.push(`minx must have seen your ${V.mercenariesTitle} coming.`);
+				} else if (raidEscape === 1) {
+					r.push(`When the ${V.mercenariesTitle} break down the door to the shut-in's shack, they are met with a terrible stench of dust and decay. Judging by the body hanging limply from the banisters, the shut-in took ${his} own life some time ago.`);
+				} else {
+					r.push(`When your ${V.mercenariesTitle} break down the door to the shut-in's shack, they are met with a surprised and somewhat unkempt ${woman} staring at them. Despite ${his} lack of social interaction, they know better than to argue with a small army of armed ${V.mercenariesTitle} and quietly accepts being escorted back to the waiting VTOL. The shut-in spends the VTOL ride sitting quietly in ${his} seat. Confused by ${his} silence, your ${V.mercenariesTitle} attempt to engage ${him} in conversation but are granted no response.`);
+					newSlave(slave);
+					// skip New Slave Intro
+				}
+				break;
+			case "procuress":
+				if (targetEscape >= MercCapture) {
+					r.push(`The ${V.mercenariesTitle} break down the door to the halfway home to discover a throng of sniffling young women, who cling to their boots and beg for rescue. Once they have been accounted for, your ${V.mercenariesTitle} discover the procuress is nowhere to be found. It seems the wily old minx has somehow made ${his} escape before your ${V.mercenariesTitle} even arrived.`);
+				} else if (raidEscape === 1) {
+					r.push(`When your ${V.mercenariesTitle} enter the halfway house, the impoverished women within mistake them for an international rescue mission. Before your ${V.mercenariesTitle} can say otherwise, the women go berserk with the prospect of freedom and break into the procuress' office to tear ${him} apart with their bare hands.`);
+				} else {
+					r.push(`When your ${V.mercenariesTitle} enter the halfway house, the impoverished women within mistake them for an international rescue mission. Before your ${V.mercenariesTitle} can say otherwise, the women band together and drag the procuress out of ${his} office and restrain ${him} themselves. The ${V.mercenariesTitle} have to do little more than escort the grinning women to the waiting VTOLs, while they drag the protesting procuress with them. The procuress spends the VTOL ride watching uneasily as the girls ${he} intended to sell into slavery are raped by your mercenaries. Far from having a conscience, ${he} realizes that ${his} own capture indicates that ${he} will not be long spared from such treatment. The revelation brings ${him} to weep tears down ${his} mature face, doomed to the same fate ${he} ${himself} sent many girls to.`);
+					newSlave(slave);
+					// skip New Slave Intro
+				}
+				break;
+			case "investor":
+				if (targetEscape >= MercCapture) {
+					r.push(`The ${V.mercenariesTitle} raid the business exposition and thoroughly search the premises, only to discover that the investor never arrived. A terrified businessman informs your ${V.mercenariesTitle} that ${he} cited heightened security risks as the reason for ${his} absence.`);
+				} else if (raidEscape === 1) {
+					r.push(`When your ${V.mercenariesTitle} corner the investor in the exposition, ${he} seemingly mistakes them for international police intent on taking ${him} in for prior economic crimes. Before ${he} can be subdued, the investor swallows a concealed pill and crumples to the ground dead.`);
+				} else {
+					r.push(`When your ${V.mercenariesTitle} corner the investor in the exposition, ${he} seemingly mistakes them for international police intent on taking ${him} in for prior economic crimes. ${He} begrudgingly surrenders and is subsequently escorted back to a waiting VTOL. The investor spends the VTOL ride practicing their sales pitches, techniques and speeches. It seems they haven't grasped what their destination is, nor the fate that awaits them upon arrival.`);
+					newSlave(slave);
+					// skip New Slave Intro
+				}
+				break;
+			case "scientist":
+				if (targetEscape >= MercCapture) {
+					r.push(`When the ${V.mercenariesTitle} make an explosive entrance into the lab with their guns drawn, the chief scientist throws a vial of some mysterious liquid in front of them. The resultant smoke is so thick and choking that your ${V.mercenariesTitle} are forced to retreat from the building, during which time the scientists make their own escape. When your ${V.mercenariesTitle} reenter the building, they find it abandoned.`);
+				} else if (raidEscape === 1) {
+					r.push(`The bulk of the scientists surrender shortly after your ${V.mercenariesTitle} make an explosive entrance into their lab. Before ${he} can be cuffed, the chief scientist takes a swig from some mysterious beaker of liquid. From the triumphant look on ${his} face as ${he} keels over dead, your ${V.mercenariesTitle} suspect the liquid was intended to have a transformative effect rather than a suicidal one.`);
+				} else {
+					r.push(`The bulk of the scientists surrender shortly after your ${V.mercenariesTitle} make an explosive entrance into their lab. Before ${he} can be cuffed, the chief scientist takes a swig from some mysterious beaker of liquid. As the triumphant look on ${his} face fades, it becomes clear that the liquid did not have the transformative effect that ${he} desired. The scientist spends the VTOL ride watching as ${his} colleagues and peers are raped around ${him}. That some of the earth's greatest minds have been reduced to sexual objects is disquieting enough, but the realization that ${he} is not likely to be spared from such a fate brings the ${woman} to tears.`);
+					newSlave(slave);
+					// skip New Slave Intro
+				}
+				break;
+			case "lawyer":
+				if (targetEscape >= MercCapture) {
+					r.push(`It seems the lawyer had anticipated the possibility of conflict on the frontier on the outer rim of the old world, so the ${V.mercenariesTitle} are able to do little more than enter the building before the law firm's offices seal themselves off. Faced with the prospect of lingering in a conflict zone, your ${V.mercenariesTitle} cut their losses and retreat back to their VTOLs.`);
+				} else if (raidEscape === 1) {
+					r.push(`Your ${V.mercenariesTitle} capture the law firm's staff without much difficulty, but when they open the door to the lawyer's office they find ${him} frothing from the mouth and unresponsive. From the quantity of pill bottles evident on ${his} desk, it seems ${he} found the sole loophole to escape capture.`);
+				} else {
+					r.push(`Your ${V.mercenariesTitle} capture the law firm's staff without much difficulty, but when they open the door to the lawyer's office they find ${him} frothing from the mouth and unresponsive. Despite ${his} attempts to drug ${himself} into suicide, the effects are temporary and the lawyer soon finds ${himself} being hauled off to a waiting VTOL with ${his} staff. The lawyer spends the VTOL ride scarcely sparing any attention to the rape of ${his} staff all about ${him}. Instead ${he} seems almost lost in thought, as if concentrating on finding some loophole or legal means to escape the fate that has befallen ${his} staff.`);
+					newSlave(slave);
+					// skip New Slave Intro
+				}
+				break;
+		}
+		if (targetEscape >= MercCapture || raidEscape === 1) {
+			r.push(`Your ${V.mercenariesTitle} return without their final prize, but remain in high spirits given their other successes out in the field.`);
+		}
+		App.Events.addParagraph(el, r);
+
+		return el;
+	}
+};
diff --git a/src/facilities/incubator/incubatorInteract.js b/src/facilities/incubator/incubatorInteract.js
index 08751e5d5226dc118d3029abf596ee5fed3797bd..55c5d60d8ccf504f534a2dafa64afb4ef5824c03 100644
--- a/src/facilities/incubator/incubatorInteract.js
+++ b/src/facilities/incubator/incubatorInteract.js
@@ -70,7 +70,8 @@ App.UI.incubator = function() {
 						V.incubatorReproductionSetting = 0;
 						V.incubatorGrowthStimsSetting = 0;
 						V.tanks = [];
-					}
+					},
+					"Main"
 				)
 			);
 		}
diff --git a/src/interaction/siFinancial.js b/src/interaction/siFinancial.js
index aa44af4ae9b49d7769a6f33d91935f10b2d39504..eb574783a423a630ec0dfe8e82b080e55340dc2d 100644
--- a/src/interaction/siFinancial.js
+++ b/src/interaction/siFinancial.js
@@ -206,14 +206,9 @@ App.UI.SlaveInteract.financial = function(slave) {
 		);
 		if ((V.seeAge !== 0) && (slave.indenture < 1)) {
 			linkArray.push(
-				App.UI.DOM.link(
+				App.UI.DOM.passageLink(
 					`Retire ${him}`,
-					() => {
-						V.retiree = slave.ID;
-						V.retired = 1;	// FIXME: Property 'retired' does not exist on type 'GameVariables'.
-					},
-					[],
-					"SE retirement",
+					"retire",
 				)
 			);
 		}
diff --git a/src/js/removeSlave.js b/src/js/removeSlave.js
index d879b6ff8f1f4aaa8b2d749018ef83ab235440d7..e11bd4c29dc67cc25f0b16b452af2bba40defbf5 100644
--- a/src/js/removeSlave.js
+++ b/src/js/removeSlave.js
@@ -266,4 +266,7 @@ globalThis.removeSlave = function(slave) {
 		LENGTH--;
 		V.JobIDMap = makeJobIdMap(); /* need to call this once more to update count of resting slaves*/
 	}
+	if (V.slaveRetirements.has(AS_ID)) {
+		V.slaveRetirements.delete(AS_ID);
+	}
 };
diff --git a/src/uncategorized/scheduledEvent.tw b/src/uncategorized/scheduledEvent.tw
index a2a239f2c75f565ba9fd7fb319654b03314be7f4..b4090805f11f5168daf74528ea4810c9ebda09dc 100644
--- a/src/uncategorized/scheduledEvent.tw
+++ b/src/uncategorized/scheduledEvent.tw
@@ -1,25 +1,9 @@
 :: Scheduled Event
 
-<<if $expired == 1>>
-	<<run removeSlave(getSlave($expiree))>>
-	<<set $expiree = 0>>
-	<<set _expireSlave = $slaves.find((s) => s.indenture === 0)>>
-	<<if def _expireSlave>>
-		<<set $expiree = _expireSlave.ID>>
-	<</if>>
-<</if>>
-<<set $expired = 0>>
 <<set _schoolFail = App.Utils.schoolFailure()>>
 
-<<if $retired == 1>>
-	<<run removeSlave(getSlave($retiree))>>
-	<<set $retiree = 0>>
-	<<set _retireSlave = $slaves.find((s) => retirementReady(s))>>
-	<<if def _retireSlave>>
-		<<set $retiree = _retireSlave.ID>>
-	<</if>>
-<</if>>
-<<set $retired = 0>>
+<<run updateExpirees()>>
+<<run updateRetirees()>>
 
 <<if $rivalOwner == -1>>
 	<<goto "P rival initiation">>
@@ -46,9 +30,9 @@
 	<</if>>
 <<elseif $playerBred == 1 && ($PC.preg == 0 || $PC.preg == -1) && $PC.pregWeek == 0 && $PC.vagina >= 1>>
 	<<goto "P insemination">>
-<<elseif ($retiree != 0)>>
+<<elseif ($slaveRetirements.size > 0)>>
 	<<goto "SE retirement">>
-<<elseif ($expiree != 0)>>
+<<elseif ($slaveExpirations.size > 0)>>
 	<<goto "SE expiration">>
 <<elseif ($burstee != 0)>>
 	<<set $burst = 0>>
diff --git a/src/uncategorized/seExpiration.tw b/src/uncategorized/seExpiration.tw
deleted file mode 100644
index 2f023205c2fa59b845793755bc6f435bea5ae126..0000000000000000000000000000000000000000
--- a/src/uncategorized/seExpiration.tw
+++ /dev/null
@@ -1,210 +0,0 @@
-:: SE expiration [nobr]
-
-<<set $nextButton = "Continue", $nextLink = "Scheduled Event">>
-
-<<set $expired = 1>>
-
-<<run Enunciate(getSlave($expiree))>>
-<<run App.Utils.setLocalPronouns(getSlave($expiree))>>
-
-<span id="art-frame">
-	<<if $seeImages == 1>>
-		<<if $imageChoice == 1>>
-			<div class="imageRef lrgVector"><div class="mask">&nbsp;</div><<SlaveArt getSlave($expiree) 3 0>></div>
-		<<else>>
-			<div class="imageRef lrgRender"><div class="mask">&nbsp;</div><<SlaveArt getSlave($expiree) 3 0>></div>
-		<</if>>
-	<</if>>
-</span>
-
-<<= getSlave($expiree).slaveName>>'s indentured servitude is ending this week, meaning that your arcology is gaining a citizen.
-<<set $lowerClass += 1>>
-
-<<set _seed = 0>>
-<<for _seeXp = 0; _seeXp < $slaves.length; _seeXp++>>
-	<<if $slaves[_seeXp].devotion <= 20>>
-		<<set _seed = 1>>
-		<<set $slaves[_seeXp].devotion -= 1>>
-	<</if>>
-<</for>>
-<<if _seed == 1>>
-	Those of your slaves who are unhappy with their lives under you are @@.mediumorchid;envious or angry@@ to see $him become free, according to their individual natures.
-<</if>>
-
-<<set getSlave($expiree).indenture = 52>>
-<<set _slaveCost = slaveCost(getSlave($expiree))>>
-
-<<if getSlave($expiree).fetish == "mindbroken">>
-
-	Since $he is mindbroken, there is precisely no chance that $he will be able to look after $himself. $He
-	<<if hasAnyLegs(getSlave($expiree))>>
-		stands
-	<<else>>
-		sits
-	<</if>>
-	before you dumbly, betraying no reaction to the prospect of becoming free from sexual slavery. In situations like this, it is perfectly acceptable to subject $him to another indenture for $his own good.
-
-	<p id="result">
-		<<if $cash > 1000>>
-			<<link "Plead necessity and reactivate $his indenture">>
-				<<replace "#result">>
-					You plead necessity and place $him under another indenture, paying the trivial fees left over once $he has been charged for $his own forecasted upkeep. Naturally, $he offers no response at all to any of this.
-					<<run cashX(-1000, "event", getSlave($expiree))>>
-					<<set $lowerClass -= 1>>
-					<<set $expired = 0, $expiree = 0>>
-					/* Anyone else expiring? If so, set here so scheduledEvent fires for them too */
-					<<for $i = 0; $i < $slaves.length; $i++>>
-						<<if $slaves[$i].indenture == 0>>
-							<<set $expiree = $slaves[$i].ID>>
-							<<break>>
-						<</if>>
-					<</for>>
-				<</replace>>
-			<</link>> //This cost <<print cashFormat(1000)>>//
-		<<else>>
-			//You cannot afford to do this//
-		<</if>>
-	</p>
-
-<<elseif (getSlave($expiree).relationship < -1) && (getSlave($expiree).devotion > 95) && (getSlave($expiree).trust > 95)>>
-
-	$He has been trying desperately hard not to think about this trying situation, but when $he comes before you on the day of $his indenture's expiration, $he can ignore it no longer. $He
-	<<if !hasAnyArms(getSlave($expiree))>>
-		wriggles disconsolately, probably wishing $he could throw $himself at your feet or cling to your knees.
-	<<else>>
-		throws $himself at your feet and clings to your knees, bursting into tears.
-	<</if>>
-	<<if !canTalk(getSlave($expiree))>>
-		$He does $his best to communicate an earnest desire to stay, and repeats over and over that $he loves you. $He begins to indicate a willingness to accept true, unlimited slavery, if that's what it takes to stay.
-	<<else>>
-		"Plea<<s>>e <<Master>>, don't <<s>>end me away," $he sobs. "I love you! I'll d-do anything — I'll be your <<s>>lave! Plea<<s>>e, en<<s>>lave me. I l-love you..." $he moans, trailing off into convulsive blubbering.
-	<</if>>
-
-	<p id="result">
-		<<if $cash > 1000>>
-			<<link "Enslave $him">>
-				<<replace "#result">>
-					$He's beside $himself with joy when you accept $his plea and enslave $him. $He's given you the finest proof of loyalty a slave possibly can, having tasted a moment of freedom under the law, and thrown it away with utter contempt.
-					<<if hasAnyEyes(getSlave($expiree))>>
-						$His <<= App.Desc.eyesColor(getSlave($expiree))>>
-						<<if hasBothEyes(getSlave($expiree))>>
-						<<if canSee(getSlave($expiree))>>watch you<<else>>are wide<</if>>
-						<<else>>
-						<<if canSee(getSlave($expiree))>>watches you<<else>>is wide<</if>>
-						<</if>>
-						with
-					<<else>>
-						$His face shows
-					<</if>>
-					eager anticipation, radiating gladness that the prospect of separation from you has gone.
-					<<set getSlave($expiree).indenture = -1, getSlave($expiree).indentureRestrictions = 0>>
-					<<run cashX(-1000, "event", getSlave($expiree))>>
-					<<set $lowerClass -= 1>>
-					<<set $expired = 0, $expiree = 0>>
-					<<for $i = 0; $i < $slaves.length; $i++>>
-						<<if $slaves[$i].indenture == 0>>
-							<<set $expiree = $slaves[$i].ID>>
-							<<break>>
-						<</if>>
-					<</for>>
-				<</replace>>
-			<</link>> //This will cost <<print cashFormat(1000)>>//
-		<<else>>
-			//You cannot afford to do this//
-		<</if>>
-	</p>
-
-<<elseif (getSlave($expiree).devotion > 50) && (getSlave($expiree).trust > 50)>>
-
-	<<set _slaveCost = Math.trunc((_slaveCost*0.5)/500)*500>>
-	<<set _slaveCost = Math.clamp(_slaveCost, minimumSlaveCost(), 100000)>>
-
-	$His feelings on this are quite mixed, since $he has come to feel that $he has a place under you.
-	<<if !hasAnyLegs(getSlave($expiree))>>
-		Propped up
-	<<else>>
-		Standing before you
-	<</if>>
-	at the moment of $his scheduled emancipation, $he seems to be struggling to express $himself.
-	<<if !canTalk(getSlave($expiree))>>
-		$He does $his best to communicate a willingness to remain your slave, indicating that $he wouldn't press too hard about the price if you offered $him another indenture.
-	<<else>>
-		"<<Master>>, um," $he <<say>>s hesitantly. "I don't mind being your <<s>>lave. Could I — would you plea<<s>>e give me another indenture? I'm, um, not too worried about the pri<<c>>e."
-	<</if>>
-
-	<p id="result">
-		<<if $cash > _slaveCost>>
-			<<link "Offer $him a one year supplementary indenture">>
-				<<replace "#result">>
-					$He smiles almost shyly when you offer $him a one year supplementary indenture. The price is reasonable, but definitely favorable to you. $He accepts it anyway, and you transfer the money into an escrow account to be held for $him until $his new indenture is done. Your sex slave once again, $he awaits your pleasure without a hint of fear.
-					<<run cashX(forceNeg(_slaveCost), "slaveTransfer", getSlave($expiree))>>
-					<<set $lowerClass -= 1>>
-					<<set $expired = 0>><<set $expiree = 0>>
-					<<for $i = 0; $i < $slaves.length; $i++>>
-						<<if $slaves[$i].indenture == 0>>
-							<<set $expiree = $slaves[$i].ID>>
-							<<break>>
-						<</if>>
-					<</for>>
-				<</replace>>
-			<</link>> //This will cost <<print cashFormat(_slaveCost)>>//
-		<<else>>
-			//You cannot afford to do this//
-		<</if>>
-	</p>
-
-<<elseif (getSlave($expiree).devotion >= -20) && (getSlave($expiree).trust > 20)>>
-
-	$He approaches the moment with calculation, since $he has found more of a place in slavery than $he probably expected when $he became an indentured servant.
-	<<if !hasAnyLegs(getSlave($expiree))>>
-		Propped up
-	<<else>>
-		Standing before you
-	<</if>>
-	at the moment of $his scheduled emancipation, $he seems willing to consider a short term continuation of service.
-
-	<p id="result">
-		<<if $cash > _slaveCost>>
-			<<link "Offer $him a one year supplementary indenture">>
-				<<replace "#result">>
-					$He looks pensive when you offer $him a one year supplementary indenture. The price reflects the market, and is a reasonable compensation for a year of sexual slavery. $He accepts it after some consideration, and you transfer the money into an escrow account to be held for $him until $his new indenture is done. Your sex slave once again, $he awaits orders with complacency.
-					<<run cashX(forceNeg(_slaveCost), "slaveTransfer", getSlave($expiree))>>
-					<<set $lowerClass -= 1>>
-					<<set $expired = 0>><<set $expiree = 0>>
-					<<for $i = 0; $i < $slaves.length; $i++>>
-						<<if $slaves[$i].indenture == 0>>
-							<<set $expiree = $slaves[$i].ID>>
-							<<break>>
-						<</if>>
-					<</for>>
-				<</replace>>
-			<</link>> //This will cost <<print cashFormat(_slaveCost)>>//
-		<<else>>
-			//You cannot afford to do this//
-		<</if>>
-	</p>
-
-<<else>>
-	$He makes no effort at all to conceal $his joy at being a free $woman again.
-	<<if getSlave($expiree).origin == "$He put $himself up as collateral at a poker game, and lost.">>
-		A bet is a bet, but that was a lonnng year. There's still room for $him in your $mercenariesTitle, but many of them have come to see $him in a new, more... intimate way. As a free $woman, $he'll have to decide if it's worth the risk and the sex to stay here and fight for you who $he loathes... or else take up arms elsewhere in an ever more uncertain world.
-		<<if getSlave($expiree).addict > 5>>
-			They'll need to make money fast as they remain addicted to your aphrodisiacs.
-		<</if>>
-	<<else>>
-		It seems very unlikely that $he'll stay in the arcology; $he'll probably take what remains of $his indenture payment, held in escrow for this day, and be off to wherever it is that $he came from in the first place.
-	<</if>>
-<</if>>
-
-<h3>Final notes?</h3>
-<div class="note">
-	<div class="indent">
-		$His most recent task was to
-		<<if $assignmentRecords[$expiree]>>
-			<<print getSlave($expiree).assignment>>, and before that to <<print $assignmentRecords[$expiree]>>.
-		<<else>>
-			<<print getSlave($expiree).assignment>>.
-		<</if>>
-	</div>
-	<<includeDOM slaveImpactLongTerm(getSlave($expiree))>>
-</div>
\ No newline at end of file
diff --git a/src/uncategorized/seRaiding.tw b/src/uncategorized/seRaiding.tw
deleted file mode 100644
index 58b26cebc17f1e43d06e2c8f510428d882ddf75c..0000000000000000000000000000000000000000
--- a/src/uncategorized/seRaiding.tw
+++ /dev/null
@@ -1,704 +0,0 @@
-:: SE raiding [nobr]
-
-<<set $nextLink = "Scheduled Event", $returnTo = "Scheduled Event", $nextButton = "Continue", $raided = $week>>
-
-The leader of your $mercenariesTitle has contacted you from the world outside your arcology. It seems that your $mercenariesTitle have enjoyed a profitable series of raids in their time outside the arcology and have decided to push their luck by plundering one last location on their way back to the arcology. As their nominal leader, they ask your opinion of a small number of potential targets. Given the distance from the arcology and the time sensitivity of conducting such a mission, you have little to base your decision on besides a brief description.
-<<if $SF.Toggle && $SF.Active >= 1 && (($SF.Squad.Satellite >= 1 && $SF.SatLaunched > 0) || $SF.Squad.SpacePlane >= 1)>>
-	By having access to the use of $SF.Lower's
-	<<if $SF.Squad.Satellite >= 1 && $SF.SatLaunched > 0>>
-		satellite
-	<</if>>
-	<<if $SF.Squad.SpacePlane >= 1>>
-		space plane
-	<</if>>
-	<<if ($SF.Squad.Satellite >= 1 && $SF.SatLaunched > 0) && $SF.Squad.SpacePlane >= 1>>
-		satellite and space plane
-	<</if>>
-	it is
-	<<if ($SF.Squad.Satellite >= 1 && $SF.SatLaunched > 0) && $SF.Squad.SpacePlane >= 1>>
-		even
-	<</if>>
-	less likely that the target will escape.
-<</if>>
-
-<br><br>
-Worthy of consideration is that although the $mercenariesTitle will enslave the lion's share of enslaved prisoners for the corporation, they will present you the finest slave captured as a gesture of respect for your high position.
-
-<<set _target1 = 0, _target2 = 0, _target3 = 0>>
-
-<<set _origins = []>>
-<<if $seeDicks != 100>>
-	<<set _origins.push("housewife")>>
-	<<set _origins.push("university professor")>>
-	<<set _origins.push("university student")>>
-	<<set _origins.push("female military officer")>>
-	<<set _origins.push("military soldier")>>
-	<<set _origins.push("doctor")>>
-	<<set _origins.push("nun")>>
-	<<set _origins.push("journalist")>>
-	<<set _origins.push("local news anchor")>>
-	<<set _origins.push("classical dancer")>>
-	<<set _origins.push("law enforcement officer")>>
-	<<set _origins.push("classical musician")>>
-	<<set _origins.push("politician")>>
-	<<set _origins.push("shut-in")>>
-	<<set _origins.push("procuress")>>
-	<<set _origins.push("investor")>>
-	<<set _origins.push("scientist")>>
-	<<set _origins.push("lawyer")>>
-<</if>>
-<<if $seeDicks != 0>>
-	<<if $seeDicks == 100>>
-		<<set _origins = ["male military officer", "male military officer", "male military officer"]>> /*todo: add more XY targets so this isn't necessary*/
-	<<else>>
-		<<set _origins.push("male military officer")>>
-	<</if>>
-<</if>>
-
-<<for _ser = 0; _ser < 3; _ser++>>
-
-<br><br>
-The
-<<if _ser == 0>>
-	first
-<<elseif _ser == 1>>
-	second
-<<else>>
-	third and final
-<</if>>
-target
-
-<<set $targetEscape = 0>>
-<<set $origin = _origins.pluck()>>
-<<switch $origin>>
-<<case "housewife">>
-	<<set _slave = GenerateNewSlave("XX", {minAge: 33, maxAge: 39, disableDisability: 1, ageOverridesPedoMode: 1})>>
-	<<run generateSalonModifications(_slave)>>
-	<<set _slave.boobs += 800>>
-	<<set _slave.boobsImplant += 800>>
-	<<set _slave.boobsImplantType = "normal">>
-	<<set _slave.butt += 1>>
-	<<set _slave.buttImplant += 1>>
-	<<set _slave.buttImplantType = "normal">>
-	<<set _slave.face = 55>>
-	<<set _slave.faceImplant += 20>>
-	<<set _slave.anus = 1>>
-	<<set _slave.vagina = 1>>
-	<<set _slave.ovaries = 1>>
-	<<if isFertile(_slave) && $seePreg != 0>>
-		<<set _slave.preg = either(-1, -1, -1, 0, 0, 0, 5, 10, 20, 30, 39)>>
-		<<if _slave.preg > 0>>
-			<<set _slave.pregType = setPregType(_slave)>>
-			<<set WombImpregnate(_slave, _slave.pregType, 0, _slave.preg)>>
-			<<set _slave.pregKnown = 1>>
-			<<set _slave.pregWeek = _slave.preg>>
-			<<run SetBellySize(_slave)>>
-		<</if>>
-	<<else>>
-		<<set _slave.preg = -1>>
-	<</if>>
-	<<set _slave.skill.vaginal = 35>>
-	<<set _slave.skill.oral = 35>>
-	<<set _slave.skill.anal = 15>>
-	<<set _slave.skill.whoring = 35>>
-	<<set _slave.teeth = "normal">>
-	<<set _slave.weight = random(-50,130)>>
-	<<set _slave.career = either("a housewife", "a trophy wife")>>
-<<case "university professor">>
-	<<set _slave = GenerateNewSlave("XX", {minAge: 35, maxAge: 55, disableDisability: 1, ageOverridesPedoMode: 1})>>
-	<<set _slave.career = "a professor">>
-	<<set _slave.face = random(15,100)>>
-	<<set _slave.vagina = 1>>
-	<<set _slave.skill.oral = 35>>
-	<<set _slave.skill.anal = 15>>
-	<<set _slave.skill.whoring = 0>>
-	<<set _slave.skill.entertainment = 10>>
-	<<set _slave.intelligence = random(70,90)>>
-	<<set _slave.intelligenceImplant = 30>>
-	<<set _slave.teeth = "normal">>
-	<<set _slave.weight = random(-20,90)>>
-	<<if isFertile(_slave) && $seePreg != 0>>
-		<<set _slave.preg = either(-1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 5, 10, 20, 30, 39)>>
-		<<if _slave.preg > 0>>
-			<<set _slave.pregType = setPregType(_slave)>>
-			<<set WombImpregnate(_slave, _slave.pregType, 0, _slave.preg)>>
-			<<set _slave.pregKnown = 1>>
-			<<set _slave.pregWeek = _slave.preg>>
-			<<run SetBellySize(_slave)>>
-		<</if>>
-	<<else>>
-		<<set _slave.preg = -1>>
-	<</if>>
-<<case "university student">>
-	<<set _slave = GenerateNewSlave("XX", {minAge: 14, maxAge: 22, disableDisability: 1, ageOverridesPedoMode: 1})>>
-	<<set _slave.career = "a student">>
-	<<run generateSalonModifications(_slave)>>
-	<<set _slave.face = random(15,100)>>
-	<<set _slave.anus = 0>>
-	<<set _slave.vagina = 1>>
-	<<set _slave.skill.vaginal = 0>>
-	<<set _slave.skill.anal = 0>>
-	<<set _slave.skill.oral = 0>>
-	<<set _slave.skill.whoring = 0>>
-	<<set _slave.skill.entertainment = 0>>
-	<<set _slave.intelligence = random(0,60)>>
-	<<set _slave.intelligenceImplant = 15>>
-	<<set _slave.teeth = "normal">>
-	<<set _slave.weight = random(-60,40)>>
-	<<if isFertile(_slave) && $seePreg != 0>>
-		<<set _slave.preg = either(-1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 5, 10)>>
-		<<if _slave.preg > 0>>
-			<<set _slave.pregType = setPregType(_slave)>>
-			<<set WombImpregnate(_slave, _slave.pregType, 0, _slave.preg)>>
-			<<set _slave.pregKnown = 1>>
-			<<set _slave.pregWeek = _slave.preg>>
-			<<run SetBellySize(_slave)>>
-		<</if>>
-	<<else>>
-		<<set _slave.preg = -1>>
-	<</if>>
-<<case "female military officer">>
-	<<set _slave = GenerateNewSlave("XX", {minAge: 26, maxAge: 45, disableDisability: 1, ageOverridesPedoMode: 1})>>
-	<<set _slave.career = "a military officer">>
-	<<run generateSalonModifications(_slave)>>
-	<<set _slave.face = random(15,100)>>
-	<<set _slave.vagina = 1>>
-	<<set _slave.skill.oral = 35>>
-	<<set _slave.skill.anal = 15>>
-	<<set _slave.skill.whoring = 0>>
-	<<set _slave.skill.combat = 1>>
-	<<set _slave.skill.entertainment = 10>>
-	<<set _slave.intelligence = random(20,60)>>
-	<<set _slave.intelligenceImplant = 15>>
-	<<set _slave.teeth = "normal">>
-	<<set _slave.weight = 0>>
-	<<set _slave.muscles = 25>>
-<<case "male military officer">>
-	<<set _slave = GenerateNewSlave("XY", {minAge: 26, maxAge: 45, disableDisability: 1, ageOverridesPedoMode: 1})>>
-	<<set _slave.career = "a military officer">>
-	<<set _slave.skill.anal = 0>>
-	<<set _slave.skill.oral = 0>>
-	<<set _slave.skill.whoring = 0>>
-	<<set _slave.skill.combat = 1>>
-	<<set _slave.intelligence = random(20,60)>>
-	<<set _slave.intelligenceImplant = 15>>
-	<<set _slave.hStyle = either("short", "very short")>>
-	<<set _slave.boobs = 150>>
-	<<set _slave.vagina = -1>>
-	<<set _slave.clit = 0>>
-	<<set _slave.ovaries = 0>>
-	<<set _slave.preg = 0>>
-	<<set _slave.dick = random(3,5)>>
-	<<set _slave.balls = random(2,4)>>
-	<<set _slave.scrotum = _slave.balls>>
-	<<set _slave.anus = 0>>
-	<<set _slave.weight = 0>>
-	<<set _slave.muscles = 50>>
-<<case "military soldier">>
-	<<set _pram = {disableDisability: 1, minAge: 18}>>
-	<<if $pedo_mode == 1>>
-		<<set _pram.ageOverridesPedoMode = 1>>
-	<<else>>
-		<<set _pram.maxAge = 25>>
-	<</if>>
-	<<set _slave = GenerateNewSlave("XX", _pram)>>
-	<<set _slave.career = "a soldier">>
-	<<set _slave.face = random(15,100)>>
-	<<set _slave.vagina = 1>>
-	<<set _slave.skill.oral = 35>>
-	<<set _slave.skill.anal = 15>>
-	<<set _slave.skill.whoring = 0>>
-	<<set _slave.skill.combat = 1>>
-	<<set _slave.skill.entertainment = 10>>
-	<<set _slave.intelligenceImplant = 15>>
-	<<set _slave.teeth = "normal">>
-	<<set _slave.weight = random(0,20)>>
-	<<set _slave.muscles = 10>>
-	<<if isFertile(_slave) && $seePreg != 0>>
-		<<set _slave.preg = either(-1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 5, 5)>>
-		<<if _slave.preg > 0>>
-			<<set _slave.pregType = setPregType(_slave)>>
-			<<set WombImpregnate(_slave, _slave.pregType, 0, _slave.preg)>>
-			<<set _slave.pregKnown = 1>>
-			<<set _slave.pregWeek = _slave.preg>>
-			<<run SetBellySize(_slave)>>
-		<</if>>
-	<<else>>
-		<<set _slave.preg = -1>>
-	<</if>>
-<<case "doctor">>
-	<<set _slave = GenerateNewSlave("XX", {minAge: 28, maxAge: 55, disableDisability: 1, ageOverridesPedoMode: 1})>>
-	<<set _slave.career = "a doctor">>
-	<<set _slave.face = random(15,100)>>
-	<<set _slave.vagina = 1>>
-	<<set _slave.skill.oral = 35>>
-	<<set _slave.skill.anal = 15>>
-	<<set _slave.skill.whoring = 0>>
-	<<set _slave.skill.entertainment = 10>>
-	<<set _slave.intelligence = random(60,90)>>
-	<<set _slave.intelligenceImplant = 30>>
-	<<set _slave.teeth = "normal">>
-	<<set _slave.weight = random(-40,40)>>
-	<<if isFertile(_slave) && $seePreg != 0>>
-		<<set _slave.preg = either(-1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 5, 10)>>
-		<<if _slave.preg > 0>>
-			<<set _slave.pregType = setPregType(_slave)>>
-			<<set WombImpregnate(_slave, _slave.pregType, 0, _slave.preg)>>
-			<<set _slave.pregKnown = 1>>
-			<<set _slave.pregWeek = _slave.preg>>
-			<<run SetBellySize(_slave)>>
-		<</if>>
-	<<else>>
-		<<set _slave.preg = -1>>
-	<</if>>
-<<case "nun">>
-	<<set _slave = GenerateNewSlave("XX", {maxAge: 70, disableDisability: 1})>>
-	<<set _slave.career = "a nun">>
-	<<set _slave.anus = 0>>
-	<<set _slave.vagina = 0>>
-	<<set _slave.weight = random(-100,-20)>>
-	<<set _slave.attrXX = random(10,50)>>
-	<<set _slave.attrXY = random(10,50)>>
-	<<set _slave.energy = random(5,20)>>
-	<<set _slave.skill.vaginal = 0>>
-	<<set _slave.skill.oral = 15>>
-	<<set _slave.skill.anal = 0>>
-	<<set _slave.skill.whoring = 0>>
-	<<set _slave.skill.entertainment = 0>>
-	<<set _slave.behavioralFlaw = "devout">>
-	<<set _slave.sexualFlaw = "repressed">>
-<<case "journalist">>
-	<<set _slave = GenerateNewSlave("XX", {minAge: 18, maxAge: 26, disableDisability: 1, ageOverridesPedoMode: 1})>>
-	<<set _slave.career = "a journalist">>
-	<<run generateSalonModifications(_slave)>>
-	<<set _slave.face = random(-20,0)>>
-	<<set _slave.anus = 0>>
-	<<set _slave.vagina = 1>>
-	<<set _slave.skill.vaginal = 0>>
-	<<set _slave.skill.anal = 0>>
-	<<set _slave.skill.oral = 0>>
-	<<set _slave.skill.whoring = 0>>
-	<<set _slave.skill.entertainment = 35>>
-	<<set _slave.intelligence = random(0,100)>>
-	<<set _slave.intelligenceImplant = 15>>
-	<<set _slave.behavioralFlaw = "liberated">>
-	<<set _slave.sexualFlaw = "idealistic">>
-	<<set _slave.weight = random(-40,40)>>
-	<<if isFertile(_slave) && $seePreg != 0>>
-		<<set _slave.preg = either(-1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 5, 10)>>
-		<<if _slave.preg > 0>>
-			<<set _slave.pregType = setPregType(_slave)>>
-			<<set WombImpregnate(_slave, _slave.pregType, 0, _slave.preg)>>
-			<<set _slave.pregKnown = 1>>
-			<<set _slave.pregWeek = _slave.preg>>
-			<<run SetBellySize(_slave)>>
-		<</if>>
-	<<else>>
-		<<set _slave.preg = -1>>
-	<</if>>
-<<case "local news anchor">>
-	<<set _slave = GenerateNewSlave("XX", {minAge: 35, maxAge: 39, disableDisability: 1, ageOverridesPedoMode: 1})>>
-	<<set _slave.boobs += 800>>
-	<<set _slave.boobsImplant += 800>>
-	<<set _slave.boobsImplantType = "fillable">>
-	<<set _slave.butt += 1>>
-	<<set _slave.buttImplant += 1>>
-	<<set _slave.buttImplantType = "normal">>
-	<<set _slave.face = 55>>
-	<<set _slave.faceImplant += 20>>
-	<<set _slave.anus = 1>>
-	<<set _slave.vagina = 1>>
-	<<set _slave.preg = -1>>
-	<<set _slave.ovaries = 1>>
-	<<set _slave.skill.vaginal = 35>>
-	<<set _slave.skill.oral = 35>>
-	<<set _slave.skill.anal = 15>>
-	<<set _slave.skill.whoring = 35>>
-	<<set _slave.skill.entertainment = 35>>
-	<<set _slave.career = "a local news anchor">>
-	<<set _slave.weight = random(-40,40)>>
-<<case "classical dancer">>
-	<<set _slave = GenerateNewSlave("XX", {maxAge: 20, disableDisability: 1})>>
-	<<set _slave.career = "a classical dancer">>
-	<<set _slave.prestige = 1>>
-	<<set _slave.prestigeDesc = "$He was the pride of renowned dance troupe.">>
-	<<set _slave.face = random(-20,40)>>
-	<<set _slave.anus = 0>>
-	<<set _slave.vagina = 1>>
-	<<set _slave.skill.vaginal = 0>>
-	<<set _slave.skill.anal = 0>>
-	<<set _slave.skill.oral = 0>>
-	<<set _slave.skill.whoring = 0>>
-	<<set _slave.skill.entertainment = 50>>
-	<<if _slave.physicalAge >= 12>>
-		<<set _slave.teeth = "normal">>
-	<</if>>
-	<<set _slave.weight = random(-100,-10)>>
-<<case "law enforcement officer">>
-	<<set _pram = {minAge: 18, disableDisability: 1}>>
-	<<if $pedo_mode == 1>>
-		<<set _pram.ageOverridesPedoMode = 1>>
-	<<else>>
-		<<set _pram.maxAge = 25>>
-	<</if>>
-	<<set _slave = GenerateNewSlave("XX"), _pram>>
-	<<set _slave.career = "a law enforcement officer">>
-	<<set _slave.face = random(15,100)>>
-	<<set _slave.vagina = 1>>
-	<<set _slave.skill.oral = 35>>
-	<<set _slave.skill.anal = 15>>
-	<<set _slave.skill.whoring = 0>>
-	<<set _slave.skill.combat = 1>>
-	<<set _slave.skill.entertainment = 10>>
-	<<set _slave.intelligenceImplant = 15>>
-	<<set _slave.weight = random(-10,90)>>
-	<<set _slave.muscles = random(10,35)>>
-	<<if isFertile(_slave) && $seePreg != 0>>
-		<<set _slave.preg = either(-1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 5, 5)>>
-		<<if _slave.preg > 0>>
-			<<set _slave.pregType = setPregType(_slave)>>
-			<<set WombImpregnate(_slave, _slave.pregType, 0, _slave.preg)>>
-			<<set _slave.pregKnown = 1>>
-			<<set _slave.pregWeek = _slave.preg>>
-			<<run SetBellySize(_slave)>>
-		<</if>>
-	<<else>>
-		<<set _slave.preg = -1>>
-	<</if>>
-<<case "classical musician">>
-	<<set _slave = GenerateNewSlave("XX", {maxAge: 43, disableDisability: 1, ageOverridesPedoMode: 1})>>
-	<<set _slave.career = "a classical musician">>
-	<<set _slave.prestige = 1>>
-	<<set _slave.prestigeDesc = "$He was the pride of a renowned orchestra.">>
-	<<set _slave.face = random(-20,0)>>
-	<<set _slave.anus = 0>>
-	<<set _slave.skill.vaginal = 0>>
-	<<set _slave.skill.anal = 0>>
-	<<set _slave.skill.oral = 0>>
-	<<set _slave.skill.whoring = 0>>
-	<<set _slave.skill.entertainment = 50>>
-	<<if _slave.physicalAge >= 12>>
-		<<set _slave.teeth = "normal">>
-	<</if>>
-	<<set _slave.weight = random(-50,15)>>
-	<<if _slave.vagina > 0>>
-		<<if isFertile(_slave) && $seePreg != 0>>
-			<<set _slave.preg = either(-1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 5, 10)>>
-			<<if _slave.preg > 0>>
-				<<set _slave.pregType = setPregType(_slave)>>
-				<<set WombImpregnate(_slave, _slave.pregType, 0, _slave.preg)>>
-				<<set _slave.pregKnown = 1>>
-				<<set _slave.pregWeek = _slave.preg>>
-				<<run SetBellySize(_slave)>>
-			<</if>>
-		<<else>>
-			<<set _slave.preg = -1>>
-		<</if>>
-		<<set _slave.vagina = 1>>
-	<</if>>
-<<case "politician">>
-	<<set _slave = GenerateNewSlave("XX", {minAge: 35, maxAge: 65, disableDisability: 1, ageOverridesPedoMode: 1})>>
-	<<set _slave.career = "a politician">>
-	<<set _slave.prestige = 2>>
-	<<set _slave.prestigeDesc = "$He was a widely known politician in $his former life. $His face has graced many campaign posters.">>
-	<<set _slave.face = random(15,100)>>
-	<<set _slave.vagina = 1>>
-	<<set _slave.skill.oral = 35>>
-	<<set _slave.skill.anal = 15>>
-	<<set _slave.skill.whoring = 0>>
-	<<set _slave.skill.entertainment = 10>>
-	<<set _slave.intelligence = random(60,90)>>
-	<<set _slave.intelligenceImplant = 30>>
-	<<set _slave.teeth = "normal">>
-	<<set _slave.weight = random(-10,60)>>
-	<<if isFertile(_slave) && $seePreg != 0>>
-		<<set _slave.preg = either(-1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 10, 20, 30, 39)>>
-		<<if _slave.preg > 0>>
-			<<set _slave.pregType = setPregType(_slave)>>
-			<<set WombImpregnate(_slave, _slave.pregType, 0, _slave.preg)>>
-			<<set _slave.pregKnown = 1>>
-			<<set _slave.pregWeek = _slave.preg>>
-			<<run SetBellySize(_slave)>>
-		<</if>>
-	<<else>>
-		<<set _slave.preg = -1>>
-	<</if>>
-<<case "shut-in">>
-	<<set _slave = GenerateNewSlave("XX", {maxAge: 43, disableDisability: 1})>>
-	<<run generateSalonModifications(_slave)>>
-	<<set _slave.career = "a shut-in">>
-	<<set _slave.anus = 0>>
-	<<set _slave.face = random(15,100)>>
-	<<set _slave.vagina = 0>>
-	<<set _slave.skill.oral = 35>>
-	<<set _slave.skill.anal = 15>>
-	<<set _slave.skill.whoring = 0>>
-	<<set _slave.skill.entertainment = 10>>
-	<<set _slave.weight = random(-100,60)>>
-<<case "procuress">>
-	<<set _slave = GenerateNewSlave("XX", {minAge: 20, maxAge: 65, disableDisability: 1, ageOverridesPedoMode: 1})>>
-	<<set _slave.career = "a procuress">>
-	<<set _slave.face = random(15,100)>>
-	<<set _slave.vagina = 1>>
-	<<set _slave.skill.oral = 35>>
-	<<set _slave.skill.anal = 15>>
-	<<set _slave.skill.whoring = 25>>
-	<<set _slave.skill.entertainment = 25>>
-	<<set _slave.intelligence = random(51,80)>>
-	<<set _slave.weight = random(-10,120)>>
-<<case "investor">>
-	<<set _slave = GenerateNewSlave("XX", {minAge: 35, maxAge: 55, disableDisability: 1, ageOverridesPedoMode: 1})>>
-	<<set _slave.career = "an investor">>
-	<<set _slave.prestige = 1>>
-	<<set _slave.prestigeDesc = "$He is a reputable investor from a bygone age.">>
-	<<set _slave.face = random(15,100)>>
-	<<set _slave.vagina = 1>>
-	<<set _slave.skill.oral = 35>>
-	<<set _slave.skill.anal = 15>>
-	<<set _slave.skill.whoring = 0>>
-	<<set _slave.skill.entertainment = 10>>
-	<<set _slave.intelligence = random(51,80)>>
-	<<set _slave.intelligenceImplant = 15>>
-	<<set _slave.weight = random(-50,60)>>
-	<<if isFertile(_slave) && $seePreg != 0>>
-		<<set _slave.preg = either(-1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 10, 20, 30, 39)>>
-		<<if _slave.preg > 0>>
-			<<set _slave.pregType = setPregType(_slave)>>
-			<<set WombImpregnate(_slave, _slave.pregType, 0, _slave.preg)>>
-			<<set _slave.pregKnown = 1>>
-			<<set _slave.pregWeek = _slave.preg>>
-			<<run SetBellySize(_slave)>>
-		<</if>>
-	<<else>>
-		<<set _slave.preg = -1>>
-	<</if>>
-<<case "scientist">>
-	<<set _slave = GenerateNewSlave("XX", {minAge: 28, maxAge: 55, disableDisability: 1})>>
-	<<set _slave.career = "a scientist">>
-	<<set _slave.face = random(15,100)>>
-	<<set _slave.vagina = 1>>
-	<<set _slave.skill.oral = 35>>
-	<<set _slave.skill.anal = 15>>
-	<<set _slave.skill.whoring = 0>>
-	<<set _slave.skill.entertainment = 10>>
-	<<set _slave.intelligence = random(70,90)>>
-	<<set _slave.intelligenceImplant = 30>>
-	<<set _slave.teeth = "normal">>
-	<<set _slave.weight = random(-50,50)>>
-<<case "lawyer">>
-	<<set _slave = GenerateNewSlave("XX", {minAge: 30, maxAge: 55, disableDisability: 1, ageOverridesPedoMode: 1})>>
-	<<set _slave.career = "a lawyer">>
-	<<set _slave.face = random(15,100)>>
-	<<set _slave.vagina = 1>>
-	<<set _slave.skill.oral = 35>>
-	<<set _slave.skill.anal = 15>>
-	<<set _slave.skill.whoring = 0>>
-	<<set _slave.skill.entertainment = 20>>
-	<<set _slave.intelligence = random(20,50)>>
-	<<set _slave.intelligenceImplant = 15>>
-	<<set _slave.weight = random(-50,140)>>
-	<<if isFertile(_slave) && $seePreg != 0>>
-		<<set _slave.preg = either(-1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 10, 20, 30, 39)>>
-		<<if _slave.preg > 0>>
-			<<set _slave.pregType = setPregType(_slave)>>
-			<<set WombImpregnate(_slave, _slave.pregType, 0, _slave.preg)>>
-			<<set _slave.pregKnown = 1>>
-			<<set _slave.pregWeek = _slave.preg>>
-			<<run SetBellySize(_slave)>>
-		<</if>>
-	<<else>>
-		<<set _slave.preg = -1>>
-	<</if>>
-<</switch>>
-<<run App.Utils.setLocalPronouns(_slave)>>
-<<switch $origin>>
-<<case "housewife">>
-	is an idyllic mansion in the countryside of an old world nation. Its owner is a businessman of some notoriety, but is often away from his expansive estate. A number of servants and maids are in residence, but the primary resident of the mansion is his $wife. From the sound of things, $he is not a young $woman but attractive enough in a fake sort of way.
-<<case "university professor">>
-	is the department offices of a still operational old world university. The University prides itself on a diverse and capable faculty, often touting its wealth of female professors as a symbol of its progressive agenda. Though they are unlikely to be young, these professors will be educated and quite intelligent. The head of the department is no exception, a $woman of considerable academic credentials.
-<<case "university student">>
-	is the residence dormitories of a still operational old world university. The University prides itself on a diverse and inspired student body, often touting its wealth of female students as a symbol of its progressive agenda. Though they are young, these students will likely have benefited from their education and fairly intelligent. By all accounts the prettiest of them is no exception, a student with a shining academic record.
-<<case "female military officer">>
-	is a military officer currently traveling to the front of a fresh conflict between rival powers in the old world. In an attempt to disguise $his high rank, $he is traveling with only a small escort of soldiers and is a prime target for enslavement. The officer is a graduate of a renowned old world military college and no stranger to the battlefield, yet has retained $his femininity despite $his considerable achievements.
-<<case "male military officer">>
-	is a military officer currently traveling to the front of a fresh conflict between rival powers in the old world. In an attempt to disguise $his high rank, $he is traveling with only a small escort of soldiers and is a prime target for enslavement. The officer is a graduate of a renowned old world military college and no stranger to the battlefield.
-<<case "military soldier">>
-	is the barracks of a local garrison in an old world town. The majority of the town's young men have already been sent to the front of a new conflict, so the town has conscripted a number of young $women to fill the ranks of their garrison. Though the soldiers are likely to be untested, they have still received some measure of combat training. Their sergeant is the nominal leader of the group, though $he holds the position due to familial connections rather than any real military seniority.
-<<case "doctor">>
-	is a hospital located in an impoverished old world City. Despite its crime ridden surroundings, the hospital possesses a sterling reputation as a result of its distinguished staff of veteran doctors and nurses. Chief among these medical professionals is a female doctor, an accomplished pioneer in $his field.
-<<case "nun">>
-	is a reclusive religious community in a mountain range between two current conflict zones. The members of the community have withdrawn from the collapsing social order of the world and established a commune in their mountain retreat, filling their days with peaceful reflection and prayer. Though the nuns have no true leader, one among them has emerged as the most pious of the sisters.
-<<case "journalist">>
-	is the offices of an esteemed old world newspaper firm. The paper is known for its investigative journalism, particularly as one of the few firms willing to delve into the brave new world of the Free Cities. The rising star of the paper is undoubtedly a young journalist who has been an outspoken critic of slaveholding and other Free Cities traditions.
-<<case "local news anchor">>
-	is the recording studio of a sleepy old world town's local news channel. The news channel itself is unremarkable, a quaint reminder of the tedious life of a small town, save for its news anchor. The anchor stands in stark contrast to $his fellow residents by the abundance of $his plastic surgery, likely an attempt to cling to youth lest $his coveted anchor position be snatched away by a younger $woman.
-<<case "classical dancer">>
-	is the performing arts theater at the heart of an aristocratic old world city. The theater itself would usually not be considered a choice target, except that tonight its stage is graced by a renowned dance troupe. The jewel of the troupe's cast is a young $girl<<if $pedo_mode == 0>>, barely past $his majority,<</if>> whose performance has been said to bring tears to the eyes of audiences the world over.
-<<case "law enforcement officer">>
-	is the precinct of a small old world town's police department. The department is notoriously underfunded and unlikely to be particularly well staffed. Nonetheless, one of the officers is well known in the area for $his adherence to the letter of the law despite $his small town cop status.
-<<case "classical musician">>
-	is the concert hall at the heart of an aristocratic old world city. The concert hall itself would usually not be considered a choice target, except that tonight its stage is graced by a renowned orchestra. The pride of the orchestra's cast is a <<if _slave.visualAge < 13>>little $girl<<elseif _slave.visualAge <= 18>>teenager<<elseif _slave.visualAge <= 24>>young $woman<<elseif _slave.visualAge <= 32>>$woman<<else>>mature $woman<</if>>, whose skill with $his instrument has been known to move listeners to tears.
-<<case "politician">>
-	is a campaign rally for the reelection of an old world politician. Though the rally will be an extremely public affair, the benefits of capturing a prestigious politician could outweigh the risks.
-<<case "shut-in">>
-	is the shack of a notorious shut-in located just outside your arcology. Not a particularly distinguished target, but it would save your $mercenariesTitle considerable time and effort. The shut-in $himself has been a fixture of the landscape for <<if _slave.visualAge < 13>>only a little while<<elseif _slave.visualAge <= 18>>some time<<elseif _slave.visualAge <= 32>>years<<else>>decades<</if>>, with many speculating that $he remains a virgin<<if _slave.visualAge > 32>> despite $his mature age<</if>>.
-<<case "procuress">>
-	is a halfway house for vulnerable $women operating in a nearby conflict zone. Far from being a wholesome institution, the proprietor of this halfway house is a notorious procuress who sells $his guests into slavery. Raiding the halfway house avoids the procuress' fees on a new shipment of slaves, with the procuress $himself as a tempting bonus.
-<<case "investor">>
-	is one of the last remaining business expositions still operating in the old world. In years past, such expositions were often a showcase for innovation and corporate development but in recent years have become a sad spectacle of industry stagnation. This particular exposition's keynote speaker is a reputable investor with decades of experience, hoping to breathe new life into some valuable yet dying firms.
-<<case "scientist">>
-	is a research lab operating on the lawless fringe between the old world and the Free Cities. Here, scientists push the boundaries of the known world without the burden of governmental oversight or moral restrictions. Their de facto leader is a fellow scientist, one of the first to leave the old world behind in pursuit of knowledge.
-<<case "lawyer">>
-	is the offices of a law firm operating on the boundary between the old world and the Free Cities. The lawyers within profit from the shaky legal channels between old world nations and new Free Cities, largely drawing up contracts or facilitating the transfer of goods, services, and slaves. The sole senior partner of the firm is one of the pioneers of this new field of legal work, having been a staunch corporate advocate for much of $his life.
-<</switch>>
-
-<<set _slave.origin = "Your " + $mercenariesTitle + " caught $him while raiding; $he was a " + $origin + ".">>
-<<run setHealth(_slave, random(30,50))>>
-<<set _slave.devotion = random(-45,-25)>>
-<<set _slave.trust = random(-60,-75)>>
-<<set _slave.oldDevotion = _slave.devotion>>
-
-The $origin is the primary target of the raid. $He's _slave.race.
-<<if (_slave.physicalAge <= 6)>>
-	$He is a young child and should be easy to corral.
-	<<set $targetEscape -= 2>>
-<<elseif (_slave.physicalAge <= 12)>>
-	$He is just a kid, but might have some surprises up $his sleeves.
-	<<set $targetEscape += 1>>
-<<elseif (_slave.physicalAge >= 100)>>
-	$He is really, really old and won't stand a chance of shuffling off.
-	<<set $targetEscape -= 5>>
-<<elseif (_slave.physicalAge >= 85)>>
-	$He is very old and unlikely to be hard to catch.
-	<<set $targetEscape -= 3>>
-<<elseif (_slave.physicalAge >= 70)>>
-	$He is old and slow.
-	<<set $targetEscape -= 1>>
-<</if>>
-<<if _slave.weight > 190>>
-	$His figure is catastrophically fat, so much so that the raid might be better off laying down speedbumps to thwart $his rascal-powered flight.
-	<<set $targetEscape -= 5>>
-<<elseif _slave.weight > 160>>
-	$His figure is extremely fat and unlikely to make it far, especially if stairs are involved.
-	<<set $targetEscape -= 3>>
-<<elseif _slave.weight > 95>>
-	$His figure is quite fat.
-	<<set $targetEscape -= 2>>
-<<elseif _slave.weight > 30>>
-	$His figure is fairly chubby.
-	<<set $targetEscape -= 1>>
-<<elseif _slave.weight < -95>>
-	$He's so skinny that $he appears almost emaciated.
-	<<set $targetEscape -= 1>>
-<<else>>
-	$He has a fairly average weight.
-<</if>>
-<<if _slave.muscles > 30>>
-	$His heavy musculature weighs $him down.
-	<<set $targetEscape -= 1>>
-<<elseif _slave.muscles <= 5>>
-	$His body is soft and toneless.
-	<<set $targetEscape -= 1>>
-<<else>>
-	$His body is fairly muscular.
-<</if>>
-<<if _slave.height >= 185>>
-	$He's tall enough that $his height makes $him easy to spot.
-	<<set $targetEscape -= 2>>
-<<elseif _slave.height < 150>>
-	$He's short enough that $his height makes $him difficult to spot.
-	<<set $targetEscape += 1>>
-<<else>>
-	$He's of an average height.
-<</if>>
-<<if _slave.boobs >= 2000>>
-	$He has absurdly large breasts.
-	<<set $targetEscape -= 3>>
-<<elseif _slave.boobs >= 800>>
-	$He has fairly large breasts.
-	<<set $targetEscape -= 1>>
-<<elseif _slave.boobs >= 400>>
-	$He has medium sized breasts.
-<<else>>
-	$He's fairly flat chested.
-	<<set $targetEscape += 1>>
-<</if>>
-<<if _slave.butt >= 6>>
-	$He has an immense posterior.
-	<<set $targetEscape -= 1>>
-<<elseif _slave.butt >= 4>>
-	$He has a large ass.
-<<elseif _slave.butt >= 2>>
-	$He's got a big butt.
-<<else>>
-	$He's got a flat ass.
-	<<set $targetEscape += 1>>
-<</if>>
-<<if _slave.dick >= 5>>
-	$His cock is large enough to slow $him down.
-	<<set $targetEscape -= 1>>
-<</if>>
-<<if (_slave.balls >= 5) && (_slave.scrotum > 0)>>
-	$His balls are likely to hurt while running, enough to slow $him down.
-	<<set $targetEscape -= 1>>
-<</if>>
-<<if _slave.preg >= _slave.pregData.normalBirth-1>>
-	$His ripe pregnant belly is very likely to preclude $him from escaping without help at all. All it takes is $his water breaking to practically doom $his flight.
-	<<set $targetEscape -= 10>>
-<<elseif _slave.belly >= 60000>>
-	$He is so massively pregnant it'll be next to impossible for $him to escape on foot.
-	<<set $targetEscape -= 10>>
-<<elseif _slave.belly >= 10000>>
-	$His pregnant belly is likely to preclude $him from escaping on foot at all.
-	<<set $targetEscape -= 5>>
-<<elseif _slave.belly >= 5000>>
-	$He's visibly pregnant and likely to be cautious and slow during $his escape.
-	<<set $targetEscape -= 3>>
-<<elseif _slave.belly >= 1500>>
-	There is a slight roundness to $his middle, likely an early pregnancy that will distract $him from fleeing.
-	<<set $targetEscape -= 1>>
-<</if>>
-
-<<if _ser == 0>>
-	<<set _target1 = _slave>>
-	<<set _origin1 = $origin>>
-	<<set _targetEscape1 = $targetEscape>>
-<<elseif _ser == 1>>
-	<<set _target2 = _slave>>
-	<<set _origin2 = $origin>>
-	<<set _targetEscape2 = $targetEscape>>
-<<else>>
-	<<set _target3 = _slave>>
-	<<set _origin3 = $origin>>
-	<<set _targetEscape3 = $targetEscape>>
-<</if>>
-
-<</for>>
-<br><br>
-
-Your $mercenariesTitle look to you for guidance and will strike the target of your choosing.
-
-<br><br>
-
-<span id="result">
-<<link "The first">>
-	<<replace "#result">>
-		<<set $activeSlave = _target1, $origin = _origin1, $targetEscape = _targetEscape1>>
-		<<include "SE raiding assault">>
-	<</replace>>
-<</link>>
-
-<br><<link "The second">>
-	<<replace "#result">>
-		<<set $activeSlave = _target2, $origin = _origin2, $targetEscape = _targetEscape2>>
-		<<include "SE raiding assault">>
-	<</replace>>
-<</link>>
-
-<br><<link "The third">>
-	<<replace "#result">>
-		<<set $activeSlave = _target3, $origin = _origin3, $targetEscape = _targetEscape3>>
-		<<include "SE raiding assault">>
-	<</replace>>
-<</link>>
-</span>
diff --git a/src/uncategorized/seRaidingAssault.tw b/src/uncategorized/seRaidingAssault.tw
deleted file mode 100644
index 813269e5cbffe1961e1c6e6654f182d79be584cc..0000000000000000000000000000000000000000
--- a/src/uncategorized/seRaidingAssault.tw
+++ /dev/null
@@ -1,217 +0,0 @@
-:: SE raiding assault [nobr]
-
-You make your selection and direct your $mercenariesTitle to attack the target.
-
-<<set _MercCaptureL = -4,_MercCaptureU = 4>>
-<<set _raidEscapeL = 1,_raidEscapeU = 3>>
-
-<<if $SF.Toggle && $SF.Active >= 1>>
-	<<if $SF.Squad.Satellite >= 1 && $SF.SatLaunched > 0>>
-		<<set _MercCaptureL += 1,_MercCaptureU += 1>>
-		<<set _raidEscapeL -= 1,_raidEscapeU -= 1>>
-	<</if>>
-	<<if $SF.Squad.SpacePlane >= 1>>
-		<<set _MercCaptureL += 1,_MercCaptureU += 1>>
-		<<set _raidEscapeL -= 1>>
-	<</if>>
-<</if>>
-<<set _MercCapture = random(_MercCaptureL,_MercCaptureU)>>
-<<set _raidEscape = random(_raidEscapeL,_raidEscapeU)>>
-<<run App.Utils.setLocalPronouns($activeSlave)>>
-
-<<switch $origin>>
-<<case "housewife">>
-	<<if $targetEscape >= _MercCapture>>
-		Somehow the house<<= $wife>> manages to evade your mercenaries.
-	<<elseif _raidEscape == 1>>
-		Your $mercenariesTitle pry open the door to the mansion's panic room to find that the $woman has hung $himself to escape capture. A waste.
-	<<else>>
-		Your $mercenariesTitle pry open the door to the mansion's panic room and pull the protesting house<<= $wife>> from its depths.
-		The house<<= $wife>> watches in terror as your $mercenariesTitle slake their lust on $his servants and maids, knowing that $his respite from a brutal rape must only be a temporary blessing.
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
-	<</if>>
-<<case "university professor">>
-	<<if $targetEscape >= _MercCapture>>
-		A confrontation with the University's security team allows the professors to escape capture by the $mercenariesTitle.
-	<<elseif _raidEscape == 1>>
-		Your $mercenariesTitle are met with surprising resistance by the university's professors and are forced to bid a hasty retreat before security can arrive in greater numbers.
-	<<else>>
-		Your $mercenariesTitle corner the professors and their department head in one of the university's many conference rooms, hauling them off to the VTOLs when the academics promptly surrender.
-		The department head spends the VTOL ride back to your arcology watching in terror as $his colleagues and peers are raped wholesale by your mercenaries. With $his educated mind, $he knows that being singled out from a similar fate must mean $he is being saved for someone and worries about who that might be.
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
-	<</if>>
-<<case "university student">>
-	<<if $targetEscape >= _MercCapture>>
-		A confrontation with the University's security team allows the students to escape capture by the $mercenariesTitle.
-	<<elseif _raidEscape == 1>>
-		Your $mercenariesTitle are met with surprising resistance by the university's students and are forced to bid a hasty retreat before security can arrive in greater numbers.
-	<<else>>
-		Your $mercenariesTitle corner the students in their rooms, hauling them off one by one to the VTOLs as they protest feebly.
-		The peerless student spends the VTOL ride back to your arcology watching in terror as $his friends and peers are raped wholesale by your mercenaries. With $his educated mind, $he knows that being singled out from a similar fate must mean $he is being saved for someone and worries about who that might be.
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
-	<</if>>
-<<case "female military officer">>
-	<<if $targetEscape >= _MercCapture>>
-		The officer's escort engages the $mercenariesTitle in a gunfight and in the confusion the officer manages to escape capture on foot.
-	<<elseif _raidEscape == 1>>
-		As your mercenaries gain the upper hand on the officer's escort, $he promptly puts $his service weapon to $his temple and pulls the trigger. A waste.
-	<<else>>
-		As your mercenaries gain the upper hand on the officer's escort, $he promptly puts $his service weapon to $his temple but hesitates. Luckily one of your $mercenariesTitle is close by and able to pluck the pistol from $his stiff fingers. The despondent officer is cuffed and taken back to the VTOL for transport.
-		The officer spends the VTOL ride back to your arcology watching as your $mercenariesTitle rape $his defeated subordinates. Given their brutal treatment, $he doubts $his respite from such a fate is due to any battlefield rules of conduct.
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
-	<</if>>
-<<case "male military officer">>
-	<<if $targetEscape >= _MercCapture>>
-		The officer's escort engages the $mercenariesTitle in a gunfight and in the confusion the officer manages to escape capture on foot.
-	<<elseif _raidEscape == 1>>
-		As your mercenaries gain the upper hand on the officer's escort, $he promptly puts $his service weapon to $his temple and pulls the trigger. A waste.
-	<<else>>
-		As your mercenaries gain the upper hand on the officer's escort, $he promptly puts $his service weapon to $his temple but hesitates. Luckily one of your $mercenariesTitle is close by and able to pluck the pistol from $his stiff fingers. The despondent officer is cuffed and taken back to the VTOL for transport.
-		The officer spends the VTOL ride back to your arcology watching as your $mercenariesTitle rape $his defeated subordinates. Given their brutal treatment, $he doubts $his respite from such a fate is due to any battlefield rules of conduct.
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
-	<</if>>
-<<case "military soldier">>
-	<<if $targetEscape >= _MercCapture>>
-		The young soldiers fight valiantly against the $mercenariesTitle until they are routed. Despite defeating them in the field, your $mercenariesTitle are unable to capture any of the soldiers who escape on foot.
-	<<elseif _raidEscape == 1>>
-		The young soldiers are unfaltering in their conviction and fight to their last last. When the smoke clears, the barracks is chocked with corpses for none of the soldiers are left alive to capture.
-	<<else>>
-		The young soldiers fight valiantly, but when the battle turns against them they decide to surrender. Their sergeant is cuffed with the remaining survivors and taken back to the VTOL for transport.
-		The sergeant spends the VTOL ride back to the arcology watching as $his childhood friends turned comrades in arms are raped by your mercenaries. $He wonders why $he has been spared this seemingly shared fate, but suspects it has little to do with $his nominally higher rank.
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
-	<</if>>
-<<case "doctor">>
-	<<if $targetEscape >= _MercCapture>>
-		The hospital's security staff alone would prove little match for the $mercenariesTitle, but just as they are about to be overrun an uneasy coalition of rival gangster and criminals who had been committed as patients join the fray and turn the tide of battle.
-	<<elseif _raidEscape == 1>>
-		The hospital's security staff alone would prove little match for your mercenaries, but they are joined by an uneasy coalition of rival gangster and criminals who had been committed as patients. Though your $mercenariesTitle prevail, they discover to their chagrin that the doctors and their staff were slain during the wanton exchange of fire.
-	<<else>>
-		The security staff of the hospital is easily overpowered and surrender rapidly, allowing your $mercenariesTitle to take the doctors and their staff into custody with little fuss.
-		The distinguished doctor spends the VTOL ride looking on at $his colleagues and peers being raped by your mercenaries. $He naïvely hopes that $he has been spared from that fate out of a desire for $his medical knowledge rather than $his body.
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
-	<</if>>
-<<case "nun">>
-	<<if $targetEscape >= _MercCapture>>
-		As the $mercenariesTitle close in on the commune, they are spotted by a group of young nuns tending to their grounds. Before your $mercenariesTitle can close the distance, they retreat behind the walls of their community and seal the gate behind them.
-	<<elseif _raidEscape == 1>>
-		The nuns flee into their inner sanctum as your $mercenariesTitle approach and bar the doors behind them as they go. When the last barrier is pried open, your $mercenariesTitle discover the nuns have committed suicide as a group rather than be taken prisoner.
-	<<else>>
-		Unarmed and defenseless, the nuns are easily cowed by your $mercenariesTitle and taken away one by one to the VTOLs. The most pious $sister prays vehemently until $he is dragged out of the inner sanctum in cuffs.
-		The pious nun spends the VTOL ride engaged in fervent prayer as $his sisters are raped by your mercenaries. $He naïvely believes that $his devotion and piety will see $him spared from the same fate as $his sisters.
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
-	<</if>>
-<<case "journalist">>
-	<<if $targetEscape >= _MercCapture>>
-		Though the $mercenariesTitle easily overwhelm the single security guard posted at the firm, they are unable to do so before he triggers an alarm. Faced with the prospect of local law enforcement arriving, your $mercenariesTitle beat a hasty retreat.
-	<<elseif _raidEscape == 1>>
-		Your $mercenariesTitle are met with fierce resistance by the staff of the newspaper firm, who take the raid as an opportunity to turn their abolitionist words into violent action. Eventually, your $mercenariesTitle retreat from the building before law enforcement can arrive.
-	<<else>>
-		Once the lone security guard is subdued, the journalists and editors of the firm quietly accept their restraints and file out of the building and into the waiting VTOL.
-		The journalist spends the VTOL ride watching as $his colleagues are raped by your mercenaries. $He studies every brutal detail, records ever anguished scream in $his mind, hoping that one day $he might escape to produce an editorial to surpass all others.
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
-	<</if>>
-<<case "local news anchor">>
-	<<if $targetEscape >= _MercCapture>>
-		Unfortunately for the $mercenariesTitle, the news channel appears to have been interviewing members of the local militia garrison at the time of the raid. Upon encountering more firepower than they had anticipated, your $mercenariesTitle wisely retreat from the engagement.
-	<<elseif _raidEscape == 1>>
-		Your $mercenariesTitle are able to subdue the news anchor and bid a hasty exit from the recording studio. Before they can board the waiting VTOL however, the anchor is struck in the head by a bullet fired by a man who was $his longtime fan turned stalker. It seems if he cannot have $him, neither can you.
-	<<else>>
-		The news anchor is subdued without issue and quietly escorted out of the recording studio and into the waiting VTOL.
-		The anchor is initially resistant during the VTOL ride, but soon grows complacent when $he is told of the luxury of your penthouse.
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
-	<</if>>
-<<case "classical dancer">>
-	<<if $targetEscape >= _MercCapture>>
-		Though they are excellent soldiers, the $mercenariesTitle are crude and uncultured. They are unable to blend into the audience and are soon discovered, giving the dance troupe the warning needed to make an escape from the theater.
-	<<elseif _raidEscape == 1>>
-		As your $mercenariesTitle close in on the stage and reveal their concealed weapons, the darling star of the dance troupe loses $his footing in shock and tumbles off the stage. The sharp crack as $he hits the ground drives the crowd and remaining members of the troupe hysterical, while your $mercenariesTitle exit the theater as chaos surges around them.
-	<<else>>
-		Once your $mercenariesTitle close in on the stage and reveal their concealed weapons, the dance troupe promptly surrenders. With the shocked audience looking on, each member is cuffed and escorted out the door to the waiting VTOL.
-		The dancer spends the VTOL ride in abject terror as $his friends and peers are raped by your $mercenariesTitle all around $him. $He clings to the hope that $he is being spared from the same fate out of a desire for $his dancing talent rather than $his body.
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
-	<</if>>
-<<case "law enforcement officer">>
-	<<if $targetEscape >= _MercCapture>>
-		Despite the lack of staff, it seems this particular precinct has been the recipient of an alarming quantity of military grade equipment. With their overwhelming firepower, the officers are able to hold off your $mercenariesTitle until reinforcements arrive and force your troops to retreat.
-	<<elseif _raidEscape == 1>>
-		Despite being outnumbered and outgunned, the officers stand their ground to the last. The sterling officer of the law your $mercenariesTitle sought to capture is the last to fall, stifled by a hail of bullets.
-	<<else>>
-		Your $mercenariesTitle break through the door of the precinct with their guns drawn. The precinct is so understaffed that each officer has a number of weapons drawn on them from every angle, so its no surprise when the precinct's sterling police<<= $woman>> formally surrenders the precinct and its officers to your mercenaries.
-		The officer spends the VTOL ride watching impassively as $his fellow officers are raped by your $mercenariesTitle all around $him. Before $he exits the VTOL upon $his arrival, $he informs your $mercenariesTitle that $he intends to bring each of them to justice for their supposed crimes.
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
-	<</if>>
-<<case "classical musician">>
-	<<if $targetEscape >= _MercCapture>>
-		Though they are excellent soldiers, the $mercenariesTitle are crude and uncultured. They are unable to blend into the audience and are soon discovered, giving the orchestra the warning needed to make an escape from the concert hall.
-	<<elseif _raidEscape == 1>>
-		As your $mercenariesTitle close in on the stage and reveal their concealed weapons, the crown jewel of the orchestra loses $his footing in shock and tumbles off the stage. The sharp crack as $he hits the ground drives the crowd and remaining members of the orchestra hysterical, while your $mercenariesTitle exit the concert hall as chaos surges around them.
-	<<else>>
-		Once your $mercenariesTitle close in on the stage and reveal their concealed weapons, the orchestra promptly surrenders. With the shocked audience looking on, each member is cuffed and escorted out the door to the waiting VTOL.
-		The musician spends the VTOL ride in abject terror as $his friends and peers are raped by your $mercenariesTitle all around $him. $He clings to the hope that $he is being spared from the same fate out of a desire for $his musical talent rather than $his body.
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
-	<</if>>
-<<case "politician">>
-	<<if $targetEscape >= _MercCapture>>
-		The $mercenariesTitle clash with the politician's security detail amidst a maelstrom of terrified civilians and the confrontation drags out for some time. By the time your $mercenariesTitle can advance, they discover that the politician has already been evacuated.
-	<<elseif _raidEscape == 1>>
-		With their security detail defeated and their crowd of supporters offering no protection, the politician tries to take up one of $his fallen protector's pistols to defend $himself. Unfortunately for $him and for your mercenaries, the politician has a staggeringly poor understanding of firearms and manages to shoot themselves in the face when they discharge the weapon. With the politician dead, there is little your $mercenariesTitle can do but exit the venue.
-	<<else>>
-		With their security detail defeated and their crowd of supporters offering no protection, the politician promptly surrenders in the hopes that they won't be harmed and is escorted to the waiting VTOL.
-		The politician spends the VTOL ride quietly, only breaking $his silence to ask your $mercenariesTitle about where $he is being brought and why. When they do not answer $he simply fusses with $his outfit, as if headed to an important interview.
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
-	<</if>>
-<<case "shut-in">>
-	<<if $targetEscape >= _MercCapture>>
-		The $mercenariesTitle pry open the shut-in's door to discover an empty shack. From the cooked meal still steaming on the dining room table and the remarkable absence of dust, it seems $he left only recently. Somehow the crafty <<if $activeSlave.visualAge < 13>>little <<elseif $activeSlave.visualAge <= 18>>teen <<elseif $activeSlave.visualAge <= 24>>young <<elseif $activeSlave.visualAge <= 32>><<else>>old <</if>> minx must have seen your $mercenariesTitle coming.
-	<<elseif _raidEscape == 1>>
-		When the $mercenariesTitle break down the door to the shut-in's shack, they are met with a terrible stench of dust and decay. Judging by the body hanging limply from the banisters, the shut-in took $his own life some time ago.
-	<<else>>
-		When your $mercenariesTitle break down the door to the shut-in's shack, they are met with a surprised and somewhat unkempt $woman staring at them. Despite $his lack of social interaction, they know better than to argue with a small army of armed $mercenariesTitle and quietly accepts being escorted back to the waiting VTOL.
-		The shut-in spends the VTOL ride sitting quietly in $his seat. Confused by $his silence, your $mercenariesTitle attempt to engage $him in conversation but are granted no response.
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
-	<</if>>
-<<case "procuress">>
-	<<if $targetEscape >= _MercCapture>>
-		The $mercenariesTitle break down the door to the halfway home to discover a throng of sniffling young women, who cling to their boots and beg for rescue. Once they have been accounted for, your $mercenariesTitle discover the procuress is nowhere to be found. It seems the wily old minx has somehow made $his escape before your $mercenariesTitle even arrived.
-	<<elseif _raidEscape == 1>>
-		When your $mercenariesTitle enter the halfway house, the impoverished women within mistake them for an international rescue mission. Before your $mercenariesTitle can say otherwise, the women go berserk with the prospect of freedom and break into the procuress' office to tear $him apart with their bare hands.
-	<<else>>
-		When your $mercenariesTitle enter the halfway house, the impoverished women within mistake them for an international rescue mission. Before your $mercenariesTitle can say otherwise, the women band together and drag the procuress out of $his office and restrain $him themselves. The $mercenariesTitle have to do little more than escort the grinning women to the waiting VTOLs, while they drag the protesting procuress with them.
-		The procuress spends the VTOL ride watching uneasily as the girls $he intended to sell into slavery are raped by your mercenaries. Far from having a conscience, $he realizes that $his own capture indicates that $he will not be long spared from such treatment. The revelation brings $him to weep tears down $his mature face, doomed to the same fate $he $himself sent many girls to.
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
-	<</if>>
-<<case "investor">>
-	<<if $targetEscape >= _MercCapture>>
-		The $mercenariesTitle raid the business exposition and thoroughly search the premises, only to discover that the investor never arrived. A terrified businessman informs your $mercenariesTitle that $he cited heightened security risks as the reason for $his absence.
-	<<elseif _raidEscape == 1>>
-		When your $mercenariesTitle corner the investor in the exposition, $he seemingly mistakes them for international police intent on taking $him in for prior economic crimes. Before $he can be subdued, the investor swallows a concealed pill and crumples to the ground dead.
-	<<else>>
-		When your $mercenariesTitle corner the investor in the exposition, $he seemingly mistakes them for international police intent on taking $him in for prior economic crimes. $He begrudgingly surrenders and is subsequently escorted back to a waiting VTOL.
-		The investor spends the VTOL ride practicing their sales pitches, techniques and speeches. It seems they haven't grasped what their destination is, nor the fate that awaits them upon arrival.
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
-	<</if>>
-<<case "scientist">>
-	<<if $targetEscape >= _MercCapture>>
-		When the $mercenariesTitle make an explosive entrance into the lab with their guns drawn, the chief scientist throws a vial of some mysterious liquid in front of them. The resultant smoke is so thick and choking that your $mercenariesTitle are forced to retreat from the building, during which time the scientists make their own escape. When your $mercenariesTitle reenter the building, they find it abandoned.
-	<<elseif _raidEscape == 1>>
-		The bulk of the scientists surrender shortly after your $mercenariesTitle make an explosive entrance into their lab. Before $he can be cuffed, the chief scientist takes a swig from some mysterious beaker of liquid. From the triumphant look on $his face as $he keels over dead, your $mercenariesTitle suspect the liquid was intended to have a transformative effect rather than a suicidal one.
-	<<else>>
-		The bulk of the scientists surrender shortly after your $mercenariesTitle make an explosive entrance into their lab. Before $he can be cuffed, the chief scientist takes a swig from some mysterious beaker of liquid. As the triumphant look on $his face fades, it becomes clear that the liquid did not have the transformative effect that $he desired.
-		The scientist spends the VTOL ride watching as $his colleagues and peers are raped around $him. That some of the earth's greatest minds have been reduced to sexual objects is disquieting enough, but the realization that $he is not likely to be spared from such a fate brings the $woman to tears.
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
-	<</if>>
-<<case "lawyer">>
-	<<if $targetEscape >= _MercCapture>>
-		It seems the lawyer had anticipated the possibility of conflict on the frontier on the outer rim of the old world, so the $mercenariesTitle are able to do little more than enter the building before the law firm's offices seal themselves off. Faced with the prospect of lingering in a conflict zone, your $mercenariesTitle cut their losses and retreat back to their VTOLs.
-	<<elseif _raidEscape == 1>>
-		Your $mercenariesTitle capture the law firm's staff without much difficulty, but when they open the door to the lawyer's office they find $him frothing from the mouth and unresponsive. From the quantity of pill bottles evident on $his desk, it seems $he found the sole loophole to escape capture.
-	<<else>>
-		Your $mercenariesTitle capture the law firm's staff without much difficulty, but when they open the door to the lawyer's office they find $him frothing from the mouth and unresponsive. Despite $his attempts to drug $himself into suicide, the effects are temporary and the lawyer soon finds $himself being hauled off to a waiting VTOL with $his staff.
-		The lawyer spends the VTOL ride scarcely sparing any attention to the rape of $his staff all about $him. Instead $he seems almost lost in thought, as if concentrating on finding some loophole or legal means to escape the fate that has befallen $his staff.
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
-	<</if>>
-<</switch>>
-<<if ($targetEscape >= _MercCapture) || (_raidEscape == 1)>>
-	Your $mercenariesTitle return without their final prize, but remain in high spirits given their other successes out in the field.
-<</if>>
-<<unset $targetEscape, $origin>>
diff --git a/src/uncategorized/seRetirement.tw b/src/uncategorized/seRetirement.tw
deleted file mode 100644
index 592f0ec0d3b1b7ebe24eb74c53035bd90ea14505..0000000000000000000000000000000000000000
--- a/src/uncategorized/seRetirement.tw
+++ /dev/null
@@ -1,400 +0,0 @@
-:: SE retirement [nobr]
-
-<<set $nextButton = "Continue">>
-
-<<set _slave = getSlave($retiree)>>
-<<set _clonedSlave = clone(_slave)>>
-<<if SlaveStatsChecker.checkForLisp(_slave)>>
-	<<set _playerName = lispReplace($PC.slaveName)>>
-<<else>>
-	<<set _playerName = $PC.slaveName>>
-<</if>>
-<<run Enunciate(_clonedSlave)>>
-<<setLocalPronouns _clonedSlave>>
-<<set _sr = $slaveIndices[_slave.relationshipTarget]>>
-<<if def _sr>>
-	<<setLocalPronouns $slaves[_sr] 2>>
-<</if>>
-<<if $policies.retirement.fate == "citizen">>
-	<<set _slave.clothes = "conservative clothing">>
-<<elseif $policies.retirement.fate == "bioreactor">>
-	/* Scene starts in normal clothing */
-<<elseif $policies.retirement.fate == "arcade">>
-	/* Scene starts in normal clothing, previewing Fuckdolls doesn't seem to work. */
-<</if>>
-<span id="art-frame">
-/* 000-250-006 */
-<<if $seeImages == 1>>
-	<<if $imageChoice == 1>>
-		<div class="imageRef lrgVector"><div class="mask">&nbsp;</div><<SlaveArt _slave 3 0>></div>
-	<<else>>
-		<div class="imageRef lrgRender"><div class="mask">&nbsp;</div><<SlaveArt _slave 3 0>></div>
-	<</if>>
-<</if>>
-/* 000-250-006 */
-</span>
-
-<<= App.UI.slaveDescriptionDialog(_slave)>> is retiring from sexual slavery this week,
-
-<<if $policies.retirement.fate == "citizen">>
-	in a way that will fill the rest of your property with envy and @@.mediumaquamarine;trust.@@
-	<<for $i = 0; $i < $slaves.length; $i++>>
-		<<set $slaves[$i].trust += 3>>
-	<</for>>
-	<<if _slave.relationship > 3>>
-		$slaves[_sr].slaveName, for _his2 part, is @@.hotpink;overjoyed,@@ though also a bit sad. Although _he2 knows _he2 will $slaves[_sr].assignment for a while longer, _he2 looks forward to joining _slave.slaveName one day.
-		<<set $slaves[_sr].devotion += 10>>
-	<</if>>
-	<br><br>
-
-	$He is retiring into citizenship, with a substantial annuity that will provide $him with a secure if not luxurious life.
-	<<if _slave.relationship == -3>>
-		<<if _slave.fetish == "mindbroken">>
-			Sadly, $he is not mentally equipped to look after $himself, but the arcology hosts several fine institutions capable of caring for $him. They'll have someone check in on $him daily. $Him being your $wife is ultimately irrelevant; $he never realized it in the first place.
-		<<elseif _slave.devotion+_slave.trust >= 175>>
-			$He wishes $he could continue to be your slave $wife, but $he understands that marriages between slaves and slaveowners are predicated on the slave relationship. $He knows that $his retirement has come, meaning that $his slave relationship to you is ending. $He's had a long time to get used to the idea, and gets through the process with dignity, doing $his best to avoid embarrassing you.
-		<<elseif _slave.devotion < -20 && _slave.trust > 20>>
-			$He is glad $he no longer has to be your slave $wife, as $he never wanted to be in the first place, though $he will miss taking advantage of the position. $He understands that marriages between slaves and slaveowners are predicated on the slave relationship. $He knows that $his retirement has come, meaning that $his slave relationship to you is ending. $He's had a long time to dream of the idea, and goes through the process with unremitting joy, doing $his best to embarrass you.
-		<<elseif _slave.devotion < -20>>
-			$He is glad $he no longer has to be your slave $wife, as $he never wanted to be in the first place. $He understands that marriages between slaves and slaveowners are predicated on the slave relationship. $He knows that $his retirement has come, meaning that $his slave relationship to you is ending. $He's had a long time to dream of the idea, and goes through the process with unremitting joy, doing $his best to avoid embarrassing you while $he's still subject to your whims and your punishments.
-		<<else>>
-			$He is glad $he no longer has to be your slave $wife, as $he never wanted to be in the first place. $He understands that marriages between slaves and slaveowners are predicated on the slave relationship. $He knows that $his retirement has come, meaning that $his slave relationship to you is ending. $He's had a long time to get used to the idea, and gets through the process dutifully, doing $his best to avoid embarrassing you.
-		<</if>>
-	<<elseif _slave.fetish == "mindbroken" || _slave.actualAge < 3>>
-		Sadly, $he is not mentally equipped to look after $himself, but the arcology hosts several fine institutions capable of caring for $him. They'll have someone check in on $him daily.
-	<<elseif _slave.devotion > 95>>
-		$He desperately wishes $he could continue to be your sex slave, but $he understands that $his retirement has come. More importantly, $he's had a long time to get used to the idea, and gets through the process with resolution, doing $his best to avoid embarrassing $himself or you.
-	<<elseif _slave.devotion > 20>>
-		$He is very happy to be a free person again, though $he does $his best to do you the favor of not being too ostentatious about this.
-	<<else>>
-		It is with an ill-disguised triumphalism that $he leaves sexual slavery behind $him, and enters into a life in which $he can decline to have things inserted into $his body.
-	<</if>>
-	$He's certainly going to have some adjustments to make.
-	<<if _slave.energy > 90>>
-		Notably, dealing with $his formidable sex drive is now $his business. You suspect the arcology's clubs are about to receive a fanatical new regular, and the arcology's whores may not know what hit them when $he realizes that $he's now quite capable of buying whatever $he wants on a semi-regular basis.
-		<<if _slave.skill.anal+_slave.skill.oral >= 120>>
-			$He's so sexually skilled, though, that $he probably won't have much trouble. $He'll probably have more than a few eager lovers within days.
-		<</if>>
-		<<if _slave.face > 40>>
-			$He's certainly attractive enough that $he'll have no trouble finding as many casual hookups as $he likes.
-		<</if>>
-	<</if>>
-
-	<<if _slave.prestigeDesc == 0>>
-		<<set _toSearch = "">>
-	<<else>>
-		<<set _toSearch = _slave.prestigeDesc>>
-	<</if>>
-	<<if _slave.porn.prestigeDesc == 0>>
-		<<set _toSearchAlt = "">>
-	<<else>>
-		<<set _toSearchAlt = _slave.porn.prestigeDesc>>
-	<</if>>
-	<<if (_toSearch.indexOf("Head Girl") != -1) || ($HeadGirlID == _slave.ID)>>
-		<br><br>
-		$He has a reputation from $his long service as your Head Girl. To $his bemusement, and considerable satisfaction, $he has multiple job offers from slaving operations without even having to circulate $his resume.
-		<<if _slave.fetish == "sadist">>
-			The prospect of a virtually unlimited field for abuse and rape is something $he'd pay for, now that $he has $his own money. $He's excited beyond description to find that there are people interested in paying $him to exercise $his exquisitely horrible skills.
-		<<elseif _slave.fetish == "dom">>
-			Dominance is second nature to $him. Though $he doesn't have to work, $his slaving skills are valuable enough that $he'd probably be tempted by the pay $he can expect, even if $he didn't derive real pleasure from exercising them.
-		<<else>>
-			$His annuity means that $he doesn't have to work, but $he's inclined to do so. $His skills command reasonable wages in the slave training field, and between those prospects and $his annuity, $he stands to become wealthy.
-		<</if>>
-	<<elseif (_toSearchAlt.indexOf("is world famous for") != -1)>>
-		<br><br>
-		<<set _pornFame = _slave.porn.prestigeDesc>>
-		<<set _pornFame = _pornFame.replace("$He is world famous for $his career in slave pornography. Millions are intimately familiar with", "enjoy")>>
-		<<set _pornFame = _pornFame.replace(".", ",")>>
-		In addition to $his annuity, you've laid the groundwork for $him to become wealthy by the way you publicized pornography of $him. Many thousands of people across the world are willing to pay to _pornFame and they enjoy it in part because $he doesn't mind it, either. $He's in a position to make great money for doing on camera what $he would probably do anyway.
-	<<elseif (_slave.intelligence+_slave.intelligenceImplant >= -50) && (_slave.muscles > 5) && (_slave.skill.combat >= 1) && hasAllLimbs(_slave) && (_slave.face > 10)>>
-		<br><br>
-		$He's pretty and deadly. If $he feels $he prefers wealth and danger to living on $his annuity, $he'll have no trouble finding work. In fact, $he'll likely have trouble sifting through all the mercenary organizations, businesses in need of attractive and competent guards for public spaces, and citizens looking for effective bodyguards willing to hire $him.
-	<<elseif (_slave.intelligence+_slave.intelligenceImplant > 50) && (_slave.intelligenceImplant >= 15)>>
-		<br><br>
-		$He has no skills extraordinary enough to bring prospective employers in search of $him, in this new, slaveowning economy, but $he is highly intelligent, educated, and has a small income. As you know from your own abundant personal experience, $his intelligence is a lever, $his annuity is a fulcrum, and with the two, $he may move the world someday. You have no doubt that, at the very least, $he will be far from the poorest of your citizens.
-	<</if>>
-
-	<br><br>
-	As $he takes $his leave, heading the short distance down to $his modest little apartment, $he presents a strange appearance. $He's wearing cheap but not unattractive clothing, and you are struck by a crystal-clear mental image of what $he looks like nude.
-	<<if _slave.fetish != "mindbroken">>
-		<<if _slave.devotion > 20>>
-			<<if _slave.devotion > 95>>
-				$He's doing $his absolute best not to sob, but $his lips are quivering.
-			<<else>>
-				$He looks like $he might cry.
-			<</if>>
-			<<if !canTalk(_slave)>>
-				$He gestures $his thanks, and ironically indicates that $he'll see you around.
-			<<else>>
-				"Well, thank<<s>>, <<Master>>, um, I mean _playerName. I g-gue<<ss>> I'll <<s>>ee you around<<if !canSee(_slave)>>, uh, a<<s>> they <<s>>ay<</if>>. I mean, the arcology. Anyway. Bye."
-			<</if>>
-			<<if _slave.devotion > 95>>
-				$He turns resolutely away and flees, trying to choke back $his tears.
-			<<else>>
-				$He turns resolutely away.
-			<</if>>
-		<</if>>
-	<</if>>
-	<<if _slave.relationship == -3>>
-		<br>
-		When you return to your desk you realize something.
-		<<if _slave.fetish == "mindbroken">>
-			The ring $he wore when $he was your slave $wife is nowhere to be seen; $he's likely forgotten $he was wearing it, but no matter: you can always get more.
-		<<elseif _slave.devotion+_slave.trust >= 175>>
-			The ring $he wore when $he was your slave $wife is nowhere to be seen; $he's likely taken it with $him to remember you by.
-		<<elseif _slave.devotion < -20 && _slave.trust > 20>>
-			The ring $he wore when $he was your slave $wife is nowhere to be seen; $he's likely taken it with $him to either try and pawn or to dispose of. It doesn't matter: you can always get more.
-		<<elseif _slave.devotion < -20>>
-			The ring $he wore when $he was your slave $wife was left on your desk; $he likely ripped it off as soon as $he was free.
-		<<else>>
-			The ring $he wore when $he was your slave $wife is nowhere to be seen; $he's either taken it with $him as a souvenir, or left it back in $his sleeping area. If it's the former, no matter: you can always get more.
-		<</if>>
-	<</if>>
-
-	<br><br>
-	Your arcology has gained a well-off citizen.
-	<<set $upperClass += 1>>
-
-	<br><br>
-
-	<<if _slave.energy > 50>>
-	<<if _slave.devotion > 20>>
-	<span id="result">
-		<<link "See $him around">>
-			<<setNonlocalPronouns $seeDicks>>
-			<<replace "#result">>
-			Later that week, <<if $club > 0>>as you take an evening to enjoy $clubName in person<<else>>out in one of $arcologies[0].name's better clubs<</if>>, you run into _clonedSlave.slaveName. $He looks good, and happy, and is not at all displeased to see you. $He sidles up to you and makes it clear without a
-			<<if !canTalk(_clonedSlave)>>
-				gesture
-			<<else>>
-				word
-			<</if>>
-			that $he's quite eager to fuck you as a free $woman.
-			<<if _clonedSlave.relationship == -3>>
-				<<if _clonedSlave.devotion+_clonedSlave.trust >= 175>>
-					When $he knows $he has your attention, $he flashes <<if hasAnyArms(_clonedSlave)>>$his hand, revealing the steel ring that $he wore when $he was your slave $wife<<else>> the steel ring that $he wore when $he was your slave $wife attached to the same chain you placed around $his neck on your wedding<</if>>. Even though the ring is meaningless to society, it holds a special meaning to you and $him.
-				<<else>>
-					When $he knows $he has your attention, $he produces the steel ring that $he wore when $he was your slave $wife. $He doesn't put it on, but $he kisses it suggestively before putting it back in $his purse.
-				<</if>>
-			<</if>>
-			<<if (_clonedSlave.fetish == "submissive") && (_clonedSlave.fetishKnown == 1)>>
-				Taking the lead as you know $he prefers, you lead $him to a private booth and make love to $him, holding $him down with the gentle but firm grip that never fails to bring $him through a long and gasping climax.
-			<<elseif (_clonedSlave.fetish == "cumslut") && (_clonedSlave.fetishKnown == 1)>>
-				$He <<if $PC.dick != 0>>sucks your dick<<if $PC.vagina != -1>> and <</if>><</if>><<if $PC.vagina != -1>>eats you out<</if>> right there, eagerly <<if _clonedSlave.vagina > -1>>jilling off<<else>>jacking off<</if>> as $he enjoys your infinitely familiar
-				<<if canTaste(_clonedSlave) && canSmell(_clonedSlave)>>
-					taste and scent.
-				<<elseif canTaste(_clonedSlave)>>
-					taste.
-				<<elseif canSmell(_clonedSlave)>>
-					scent.
-				<<else>>
-					body.
-				<</if>>
-			<<elseif (_clonedSlave.fetish == "humiliation") && (_clonedSlave.fetishKnown == 1)>>
-				You take $him right there, the humiliation slut getting what $he came to the club to get: an opportunity to orgasm in public with many eyes enjoying the sight of $his pleasure.
-			<<elseif (_clonedSlave.fetish == "buttslut") && (_clonedSlave.fetishKnown == 1)>>
-				Your <<if $PC.dick != 0>>dick is<<else>>fingers are<</if>> up $his ass in no time, and $he's so primed for anal that $he climaxes with indecent speed. $He begs you to keep fucking $his butt, and you do.
-			<<elseif (_clonedSlave.fetish == "boobs") && (_clonedSlave.fetishKnown == 1)>>
-				$He grinds shamelessly against you, your hands holding $his breasts just the way you know $he loves them held. Your <<if $PC.boobs >= 300>>own tits press softly<<elseif $PC.title == 0>>flat chest presses<<else>>manly chest presses<</if>> against $his back as $he cranes back to kiss you.
-			<<elseif (_clonedSlave.fetish == "pregnancy") && (_clonedSlave.fetishKnown == 1)>>
-				$He begs shamelessly for your seed, right here and right now, and <<if $PC.dick != 0>>you give it to $him, producing the usual perverted orgasm as $he feels it inside $him.<<else>>as usual, $he doesn't care that the phallus you fuck $him with is actually a strap-on. $He manages to pretend it's a cock knocking $him up.<</if>>
-			<<elseif (_clonedSlave.fetish == "dom") && (_clonedSlave.fetishKnown == 1)>>
-				After some mutually aggressive dancing that leaves you both panting and sweaty, you work together to attract another free dancer, a _girlU who _clonedSlave.slaveName had $his eye on already. Before long, the poor _girlU is screaming with orgasm in a private booth as you take _himU together.
-			<<elseif (_clonedSlave.fetish == "sadist") && (_clonedSlave.fetishKnown == 1)>>
-				After some mutually aggressive dancing that leaves you both panting and sweaty, you mutually select one of the club's slaves, and drag _himU back to a private booth. Before long, _hisU screams for mercy are audible on the floor.
-			<<elseif (_clonedSlave.fetish == "masochist") && (_clonedSlave.fetishKnown == 1)>>
-				You don't have the setup for really elaborate pain, so you fuck $him hard and fast, to give $him that edge of discomfort that $he now requires to get off. $He gasps as $he gets what $he needs, not free of $his perversions despite $his status as a citizen.
-			<<else>>
-				You remember $his uncomplicated tastes well, though the total confidence that $his willingness and pleasure are unfeigned is novel. You dance, you laugh, and you make love to $him, all through the night.
-			<</if>>
-			<</replace>>
-		<</link>>
-		<br>
-		<<if _clonedSlave.relationship >= 4>>
-		<<link "Send $his _girl2 into retirement with $him">>
-			<<set _sr = $slaveIndices[_clonedSlave.relationshipTarget]>> /* must be reset since _slave may already be removed from $slaves */
-			<<replace "#art-frame">>
-				/* 000-250-006 */
-				<<if $seeImages == 1>>
-					<div class="imageColumn">
-						<div class="imageRef medImg">
-							<<SlaveArt _clonedSlave 2 0>>
-						</div>
-						<div class="imageRef medImg">
-							<<SlaveArt $slaves[_sr] 2 0>>
-						</div>
-					</div>
-				<</if>>
-				/* 000-250-006 */
-			<</replace>>
-			<<replace "#result">>
-			$He doesn't get far before $he <<if canHear(_clonedSlave)>>hears a desperate pursuit behind $him<<else>>feels a gentle tap on $his shoulder<</if>>. It's $his <<if _clonedSlave.relationship >= 5>>_wife2<<else>>lover<</if>>, $slaves[_sr].slaveName, <<if canHear(_clonedSlave)>>hurrying to catch<<else>>finally catching<</if>> up. Watching on the monitors, you see _clonedSlave.slaveName's mixed pleasure and pain at seeing _him2 again so soon, followed by a tearful explanation and an embrace so heartfelt that the pair of ex-slaves collapse to the floor together, sobbing.
-			<<run removeSlave($slaves[_sr])>>
-			<br><br>
-			<<if $arcologies[0].FSPaternalist != "unset">>
-				Of course, your paternalistic arcology thinks this @@.green;almost too romantic,@@ and there are jesting suggestions that outcomes this adorable ought to be illegal. The pair becomes celebrated citizens immediately.
-				<<run repX(10*$FSSingleSlaveRep*($arcologies[0].FSPaternalist/$FSLockinLevel), "futureSocieties")>>
-				<<set $arcologies[0].FSPaternalist += 0.1*$FSSingleSlaveRep>>
-			<<else>>
-				Though it is not ordinarily paternalistic, even your society thinks this is @@.green;pretty romantic.@@
-				<<run repX(5*$FSSingleSlaveRep, "futureSocieties")>>
-			<</if>>
-			<br><br>You have gained an additional well-off citizen.
-			<<set $upperClass += 1>>
-			<</replace>>
-		<</link>>
-		<</if>>
-	</span>
-	<</if>>
-	<</if>>
-
-<<elseif $policies.retirement.fate == "bioreactor">>
-
-	in a way that will inevitably fill the rest of your property with @@.gold;fear.@@
-	<<for $i = 0; $i < $slaves.length; $i++>>
-		<<set $slaves[$i].trust -= 3>>
-	<</for>>
-	<<if _slave.relationship > 3>>
-		$slaves[_sr].slaveName, for _his2 part, is @@.mediumorchid;horrified.@@
-		<<set $slaves[_sr].devotion -= 20>>
-	<</if>>
-	<br><br>
-
-	$He is retiring into a featureless existence where the only realities are the phalli ejaculating food, fluid, and drugs into $his <<if _slave.vagina > -1>> vagina,<</if>> anus, and throat,<<if _slave.balls > 0>> the relentless sodomy forcing semen out of $his distended balls,<</if>> and the milk flowing into the milkers tugging at $his painfully engorged nipples.
-	<<if _slave.fetish == "mindbroken">>
-		$He's already broken in spirit, and $he complies with $his installation into a milking machine with the dumb obedience of the animal $he has become.
-	<<elseif _slave.devotion > 20>>
-		$He complies with $his installation into a milking machine with the dumb obedience of someone whose mind will not allow them to understand their true situation out of simple immediate self-preservation.
-	<<elseif _slave.trust < 50>>
-		$He is so terrified of punishment that $he complies with $his installation into a milking machine to avoid pain. $He knows that if $he does not obey, there will be pain, and if $he obeys, there may be pain but it will come later.
-	<<else>>
-		$He resists, of course, giving the compliance systems an excuse to unload quite a few volts of electricity into $him. This disobedience is one of $his more abortive attempts to resist your will, and it is $his last.
-	<</if>>
-	<br><br>
-
-	It will take $him some time to reach full production, a state that $he'll be kept in until it becomes impossible for the most reckless drug regime to keep $him there. Near the end of the week, you check in on $him idly. $His breasts are already swelling under the hormonal treatments that can only be applied when the sole priority is production. The rhythm of the milkers gives them a slight pulsing heave, first one, then the other. $His milk whitens the lines running away from $his udders.
-	<br><br>
-
-	<span id="result">
-		<<link "Have a taste">>
-			<<replace "#result">>
-			You tug one of the milkers off a nipple, producing a lewd sucking noise as the wet flesh pops free of the machinery. It must have been quite painful, but the feeding apparatus that covers much of the slave's face affords no indication of $his reaction, if any. You heft the boob with both hands and take the nipple into your mouth, sucking gently. A rich jet of cream hits your tongue, the milkfat luscious with hints of vanilla. The warm breastflesh fills your hands, and you fancy that you can feel the prosperity under your fingers as $his body desperately hurries to make more.
-			<</replace>>
-		<</link>>
-	</span>
-
-	<br><br>
-	You have @@.yellowgreen;gained a standard bioreactor.@@
-	<<set $menialBioreactors += 1>>
-
-<<elseif $policies.retirement.fate == "arcade">>
-
-	in a way that will inevitably fill the rest of your property with @@.gold;fear.@@
-	<<for $i = 0; $i < $slaves.length; $i++>>
-		<<set $slaves[$i].trust -= 3>>
-	<</for>>
-	<<if _slave.relationship > 3>>
-		$slaves[_sr].slaveName, for _his2 part, is @@.mediumorchid;horrified.@@
-		<<set $slaves[_sr].devotion -= 20>>
-	<</if>>
-	<br><br>
-
-	$He is retiring into a dark, featureless eternity in which the only realities are phalli intruding into $his<<if _slave.vagina > -1>> vagina,<</if>> anus, and throat, and the drug-induced haze that will leave $him no choice but to orgasm when $he is penetrated.
-	<<if _slave.fetish == "mindbroken">>
-		$He's already broken in spirit, and $he complies with the conversion process with the dumb obedience of the animal $he has become.
-	<<elseif _slave.devotion > 20>>
-		$He complies with the conversion process with the dumb obedience of someone whose mind will not allow them to understand their true situation out of simple immediate self-preservation.
-	<<elseif _slave.trust < 50>>
-		$He is so terrified of punishment that $he complies with the conversion process to avoid pain. $He knows that if $he does not obey, there will be pain, and if $he obeys, there may be pain but it will come later.
-	<<else>>
-		$He resists, of course, giving the compliance systems an excuse to unload quite a few volts of electricity into $him. This disobedience is one of $his more abortive attempts to resist your will, and it is $his last.
-	<</if>>
-	<br><br>
-
-	$He is brought down to
-	<<if $arcade != 0>>
-		$arcadeName,
-	<<else>>
-		the autosurgery,
-	<</if>>
-	and, a disturbingly short time later, there is a new Fuckdoll, a humanoid figure encased in a tough black bodysuit, in your office.
-	<<if !hasAnyLegs(_slave)>>
-		Its <<if isAmputee(_slave)>>limbless<<else>>legless<</if>> form is not obviously human. It's a sex toy, with several interesting holes and nothing else worth noticing.
-	<<else>>
-		It stands immobile, the hydraulic system hidden within the suit stiffened to make voluntary movement impossible.
-	<</if>>
-	<<if _slave.boobs > 2000>>
-		The suit has a pair of gaps for its monstrous breasts, bare expanses of _slave.skin skin.
-	<</if>>
-	<<if _slave.belly >= 5000>>
-		The suit has a gap for its big belly; a round dome of _slave.skin skin.
-	<</if>>
-	<<if _slave.lips > 40>>
-		Its upper hole is surrounded by a ludicrous set of swollen lips.
-	<</if>>
-	<<if _slave.labia > 0>>
-		The conversion process left its labia permanently engorged.
-	<</if>>
-	<<if _slave.vaginaLube > 0>>
-		Its front hole is dripping streams of natural lubrication.
-	<</if>>
-	<<if _slave.anus > 2>>
-		The gap in the suit over its rear hole opens into the Fuckdoll's interior, since it's the same size as the Fuckdoll's loose sphincter.
-	<</if>>
-	<br><br>
-
-	<span id="result">
-		<<link "Fuck it">>
-			<<setNonlocalPronouns $seeDicks>>
-			<<replace "#result">>
-			<<if $PC.dick != 0>>
-				You enter a command, and the Fuckdoll instantly
-				<<if hasAnyLegs(_clonedSlave)>>
-					collapses to its knee<<if hasBothLegs(_slave)>>s<</if>>.
-				<<else>>
-					presents its upper hole.
-				<</if>>
-				You tug the plug clear of its upper hole, and insert your cock. The Fuckdoll's nose ports open when it needs to breathe, but periodically close without warning to force its throat to spasm. When you're bored of this, you pull your dick clear and haul the Fuckdoll over to the couch, entering the command that forces it to present its rear hole. Your saliva-slicked shaft slides readily inside the sex toy's warm interior. After a while, you enter the tightening command, and the Fuckdoll's sphincter obediently cinches down, encouraging you to shoot your load inside it. A low moaning sound issues from its upper hole.
-			<<else>>
-				You shove the Fuckdoll backward onto the couch, and enter a command that forces it into a bridged position. <<if _clonedSlave.vagina > -1>>Its clit is brought to full hardness, and its front hole becomes wet and flushed. You ride this until you orgasm, the Fuckdoll's copious juices adding lewd noises to each grinding motion.<<else>>Its dick is forced to perfect hardness. Its tubes have been tied to prevent any unseemly contamination, allowing you to ride it until you are satisfied. When you're done, the Fuckdoll is allowed to go soft. It did not climax.<</if>>
-			<</if>>
-			You leave it where it is, your personal assistant directing a slave to perform maintenance on it when _heU has the time.
-			<</replace>>
-		<</link>>
-	</span>
-
-	<br><br>
-	You have @@.yellowgreen;gained a Fuckdoll.@@
-	<<set $fuckdolls += 1>>
-
-<<else>>
-
-	into a life of menial drudgery. This has little impact on your other human property.
-	<<if _slave.relationship > 3>>
-		$slaves[_sr].slaveName, for _his2 part, is @@.mediumorchid;saddened,@@ but not seriously affected. _He2 knew this was coming.
-		<<set $slaves[_sr].devotion -= 5>>
-	<</if>>
-	There are a thousand things a slave like $him can usefully do around the arcology, and $he'll do them. But $he's reached the age where it's time for you and the arcology's citizens to fuck younger <<print $girl>>s.
-
-	<br><br>
-	You have @@.yellowgreen;gained a menial slave.@@
-	<<set $menials += 1>>
-
-<</if>>
-
-<h3>Final notes...</h3>
-<div class="note">
-	<div class="indent">
-		$His most recent task was to <<print _slave.assignment>><<if $assignmentRecords[_slave.ID]>>, and before that to <<print $assignmentRecords[_slave.ID]>><</if>>.
-	</div>
-	<<includeDOM slaveImpactLongTerm(_slave)>>
-</div>
-
-<<if $retired == 0>> /* retiring during the end week */
-	<<set $nextLink = "Scheduled Event">>
-	<<set $retired = 1>>
-<<else>> /* manually retired */
-	<<set $nextLink = "Main">>
-	<<run removeSlave(getSlave($retiree))>>
-	<<set $retiree = 0, $retired = 0>>
-<</if>>