diff --git a/src/interaction/prostheticConfig.tw b/src/interaction/prostheticConfig.tw
index 8a68dbe21a99b923a830f662d4882e026c8c74ad..dc84c4ea06d63de195ca06c57a653ff27a52fd64 100644
--- a/src/interaction/prostheticConfig.tw
+++ b/src/interaction/prostheticConfig.tw
@@ -1,7 +1,5 @@
 :: Prosthetics Configuration [nobr]
 
-<<set $AS = $activeSlave.ID>>
-
 <<switch $prostheticsConfig>>
 
 <<case "main">>
diff --git a/src/interaction/slaveInteract.js b/src/interaction/slaveInteract.js
index a61defd6c8809250f84faa8c577a346724fd9557..f1c082596bee2e0ed8373c25f4b00f523fd70667 100644
--- a/src/interaction/slaveInteract.js
+++ b/src/interaction/slaveInteract.js
@@ -48,9 +48,9 @@ App.UI.SlaveInteract.modify = function(slave) {
 	 * @param {string} caption
 	 * @param {string} passage
 	 * @param {string} note
-	 * @param {function ():void} handler
+	 * @param {function ():void} [handler]
 	 */
-	function makeRoomLink(c, caption, passage, note, handler) {
+	function makeRoomLink(c, caption, passage, note, handler = () => {}) {
 		const res = document.createElement('div');
 		c.appendChild(res);
 		res.appendChild(App.UI.DOM.link(caption, handler, [], passage));
@@ -58,31 +58,21 @@ App.UI.SlaveInteract.modify = function(slave) {
 		return res;
 	}
 
-	makeRoomLink(el, "Auto salon", "Salon", ' Modify hair (color, length, style), nails, and even skin color.',
-		() => {
-			V.activeSlave = slave;
-		}
-	);
+	makeRoomLink(el, "Auto salon", "Salon", ' Modify hair (color, length, style), nails, and even skin color.');
 
 	makeRoomLink(el, "Body mod studio", "Body Modification", ' Mark your slave with piercings, tattoos, brands or even scars.',
 		() => {
-			V.activeSlave = slave;
 			V.degradation = 0;
 			V.tattooChoice = undefined;
 		},
 	);
 
-	makeRoomLink(el, "Remote surgery", "Remote Surgery", ` Surgically modify your slave with state of the art plastic surgery and more. Alter ${his} senses, skeletal structure, organs, and even more.`,
-		() => {
-			V.activeSlave = slave;
-		}
-	);
+	makeRoomLink(el, "Remote surgery", "Remote Surgery", ` Surgically modify your slave with state of the art plastic surgery and more. Alter ${his} senses, skeletal structure, organs, and even more.`);
 
 	// Prosthetics
 	if (V.prostheticsUpgrade > 0) {
 		makeRoomLink(el, "Configure cybernetics", "Prosthetics Configuration", ` Configure prosthetics, if ${he} has been surgically implanted with interfaces that support it.`,
 			() => {
-				V.activeSlave = slave;
 				V.prostheticsConfig = "main";
 			}
 		);
@@ -90,11 +80,7 @@ App.UI.SlaveInteract.modify = function(slave) {
 
 	// Analyze Pregnancy
 	if (V.pregnancyMonitoringUpgrade > 0) {
-		makeRoomLink(el, "Internal scan", "Analyze Pregnancy", ` Full scan of abdomen and reproductive organs.`,
-			() => {
-				V.activeSlave = slave;
-			}
-		);
+		makeRoomLink(el, "Internal scan", "Analyze Pregnancy", ` Full scan of abdomen and reproductive organs.`);
 	}
 
 	return el;
@@ -399,7 +385,6 @@ App.UI.SlaveInteract.assignmentBlock = function(slave) {
 			slave.ID, passage(),
 			(slave, assignment) => {
 				assignJob(slave, assignment);
-				V.activeSlave = slave;
 			}
 		)
 	);
diff --git a/src/markets/marketUI.js b/src/markets/marketUI.js
index 734ef4abc827c5c0a4ed003c25af860a8f42c5a6..437b79880181cd52f557f33445905def6c5f2ded 100644
--- a/src/markets/marketUI.js
+++ b/src/markets/marketUI.js
@@ -77,6 +77,6 @@ App.UI.buyingFromMarketControls = function(slave, slaveCost) {
 		);
 	}
 
-	el.append(App.Desc.longSlave(V.activeSlave, {market: V.slaveMarket}));
+	el.append(App.Desc.longSlave(slave, {market: V.slaveMarket}));
 	return el;
 };
diff --git a/src/npc/children/childInteract.tw b/src/npc/children/childInteract.tw
index 644d87be929ac274d419e75c4d656b3a4dca80bf..898b15b2a104d27e3c23c26bd2a6703f40067a7f 100644
--- a/src/npc/children/childInteract.tw
+++ b/src/npc/children/childInteract.tw
@@ -63,7 +63,7 @@ FIXME:
 | [[Auto salon|Salon][$degradation = 0, $tattooChoice = "", $piercingLevel = ""]]
 | [[Body mod studio|Body Modification][$degradation = 0, $tattooChoice = undefined]]
 | [[Remote surgery|Remote Surgery][$degradation = 0]]
-| [[Configure cybernetics|Prosthetics Configuration][$prostheticsConfig = "main"]]
+| [[Configure cybernetics|Prosthetics Configuration][$AS = $activeChild.ID, $prostheticsConfig = "main"]]
 */
 
 /*TODO: These will most likely need to be reworked*/
diff --git a/src/npc/descriptions/limbs.js b/src/npc/descriptions/limbs.js
index fc556744b0eca312249feb0ffd5aabec7b22598d..1d18a1c071bab589ad77869a311de0591ab3552e 100644
--- a/src/npc/descriptions/limbs.js
+++ b/src/npc/descriptions/limbs.js
@@ -183,6 +183,7 @@ App.Desc.limbChange = function() {
 
 		function apply() {
 			let s;
+			V.AS = slave.ID;
 			if (!returnTo) {
 				s = `<<set $prostheticsConfig = "limbs", $oldLimbs = ${JSON.stringify(oldLimbs)}>>` +
 					'<<goto "Prosthetics Configuration">>';
diff --git a/src/pregmod/analyzePregnancy.tw b/src/pregmod/analyzePregnancy.tw
index 16a1a15edee1e4e20ca6505440258e16a6da6984..693fe9e435f673376325e797916a9e897c32b2bc 100644
--- a/src/pregmod/analyzePregnancy.tw
+++ b/src/pregmod/analyzePregnancy.tw
@@ -6,28 +6,28 @@
 	<<set $storedLink = "Slave Interact">>
 <</if>>
 <<set $nextButton = "Continue", $nextLink = $storedLink>>
-<<run App.Utils.setLocalPronouns(getSlave($activeSlave.ID))>>
+<<run App.Utils.setLocalPronouns(getSlave($AS))>>
 
-<<set _WL = getSlave($activeSlave.ID).womb.length, _incubatorReservations = WombReserveCount(getSlave($activeSlave.ID), "incubator"), _nurseryReservations = WombReserveCount(getSlave($activeSlave.ID), "nursery"), _freeTanks = $incubator - $incubatorSlaves, _freeCribs = $nursery - $cribs.length>>
+<<set _WL = getSlave($AS).womb.length, _incubatorReservations = WombReserveCount(getSlave($AS), "incubator"), _nurseryReservations = WombReserveCount(getSlave($AS), "nursery"), _freeTanks = $incubator - $incubatorSlaves, _freeCribs = $nursery - $cribs.length>>
 
 <p class="scene-intro">
-	<<= getSlave($activeSlave.ID).slaveName>> is <<if getSlave($activeSlave.ID).devotion < 20>>restrained<<else>>comfortably reclined<</if>> with $his stomach prepped for examination. $He shudders slightly at the cold touch of the sensor against $his skin.
+	<<= getSlave($AS).slaveName>> is <<if getSlave($AS).devotion < 20>>restrained<<else>>comfortably reclined<</if>> with $his stomach prepped for examination. $He shudders slightly at the cold touch of the sensor against $his skin.
 </p>
 
-<<= App.Desc.pregnancy($activeSlave)>>
+<<= App.Desc.pregnancy(getSlave($AS))>>
 
 <p>
 	<h2>Overall statistics</h2>
 	<div class="indent">
-		<<set _cc = Math.round(getSlave($activeSlave.ID).bellyPreg)>>
-		<<set _safeCC = Math.round(getSlave($activeSlave.ID).pregAdaptation*2000)>>
+		<<set _cc = Math.round(getSlave($AS).bellyPreg)>>
+		<<set _safeCC = Math.round(getSlave($AS).pregAdaptation*2000)>>
 		<<if $geneticMappingUpgrade > 0>>
 			<div>
-				Estimated physical degree of pregnancy adaptation: <<print num(Math.round(getSlave($activeSlave.ID).pregAdaptation))>>
+				Estimated physical degree of pregnancy adaptation: <<print num(Math.round(getSlave($AS).pregAdaptation))>>
 			</div>
 			<div>
 				Estimated safe
-				<<if getSlave($activeSlave.ID).ovaries == 1 || getSlave($activeSlave.ID).mpreg == 1>>
+				<<if getSlave($AS).ovaries == 1 || getSlave($AS).mpreg == 1>>
 					womb
 				<<else>>
 					abdominal
@@ -36,11 +36,11 @@
 			</div>
 		<</if>>
 		<div>
-			Current fetal count: <<= getSlave($activeSlave.ID).womb.length>>
+			Current fetal count: <<= getSlave($AS).womb.length>>
 		</div>
 		<div>
 			Estimated
-			<<if getSlave($activeSlave.ID).ovaries == 1 || getSlave($activeSlave.ID).mpreg == 1>>
+			<<if getSlave($AS).ovaries == 1 || getSlave($AS).mpreg == 1>>
 				womb
 			<<else>>
 				abdominal
@@ -50,11 +50,11 @@
 	</div>
 </p>
 
-<<if getSlave($activeSlave.ID).womb.length > 0>>
+<<if getSlave($AS).womb.length > 0>>
 	<p>
 		<h2>Furthest developed pregnancy</h2>
 		<div class="indent">
-			Fetal development week: <<= Math.trunc(getSlave($activeSlave.ID).preg * 1000) / 1000>>
+			Fetal development week: <<= Math.trunc(getSlave($AS).preg * 1000) / 1000>>
 		</div>
 	</p>
 
@@ -64,14 +64,14 @@
 			<<if $incubator > 0>>
 				<<if _incubatorReservations > 0>>
 					<<link "Remove all of $his children from $incubatorName" "Analyze Pregnancy">>
-						<<run WombChangeReserveType(getSlave($activeSlave.ID), "incubator", "")>>
+						<<run WombChangeReserveType(getSlave($AS), "incubator", "")>>
 						<<set $reservedChildren -= _incubatorReservations>>
 					<</link>> |
 				<</if>>
 				<<if _incubatorReservations < _WL && ($reservedChildren + _WL - _incubatorReservations <= _freeTanks)>>
 					<<link "Keep all of $his children in $incubatorName" "Analyze Pregnancy">>
-						<<run WombChangeReserveType(getSlave($activeSlave.ID), "nursery", "incubator")>>
-						<<run WombChangeReserveType(getSlave($activeSlave.ID), "", "incubator")>>
+						<<run WombChangeReserveType(getSlave($AS), "nursery", "incubator")>>
+						<<run WombChangeReserveType(getSlave($AS), "", "incubator")>>
 						<<set $reservedChildrenNursery -= _nurseryReservations>>
 						<<set $reservedChildren += _WL - _incubatorReservations>>
 					<</link>>
@@ -85,14 +85,14 @@
 			<<if $nursery > 0>>
 				<<if _nurseryReservations > 0>>
 					<<link "Remove all of $his children from $nurseryName" "Analyze Pregnancy">>
-						<<run WombChangeReserveType(getSlave($activeSlave.ID), "nursery", "")>>
+						<<run WombChangeReserveType(getSlave($AS), "nursery", "")>>
 						<<set $reservedChildrenNursery -= _nurseryReservations>>
 					<</link>> |
 				<</if>>
 				<<if _nurseryReservations < _WL && ($reservedChildrenNursery + _WL - _nurseryReservations <= _freeCribs)>>
 					<<link "Keep all of $his children in $nurseryName" "Analyze Pregnancy">>
-						<<run WombChangeReserveType(getSlave($activeSlave.ID), "incubator", "nursery")>>
-						<<run WombChangeReserveType(getSlave($activeSlave.ID), "", "nursery")>>
+						<<run WombChangeReserveType(getSlave($AS), "incubator", "nursery")>>
+						<<run WombChangeReserveType(getSlave($AS), "", "nursery")>>
 						<<set $reservedChildren -= _incubatorReservations>>
 						<<set $reservedChildrenNursery += _WL - _nurseryReservations>>
 					<</link>>
@@ -110,223 +110,223 @@
 			<hr style="margin:0">
 			<p>
 				<<capture _ap>>
-					<<if getSlave($activeSlave.ID).womb[_ap].age >=2 >>
+					<<if getSlave($AS).womb[_ap].age >=2 >>
 						<div class="indent">
-							Ova: <<= getSlave($activeSlave.ID).womb[_ap].genetics.name>>
+							Ova: <<= getSlave($AS).womb[_ap].genetics.name>>
 						</div>
 						<div class="indent">
-							Age: <<= Math.trunc(getSlave($activeSlave.ID).womb[_ap].age * 1000) / 1000>>
+							Age: <<= Math.trunc(getSlave($AS).womb[_ap].age * 1000) / 1000>>
 						</div>
 						<<if $geneticMappingUpgrade >= 1>>
 							<div class="indent">
-								Gender: <<= getSlave($activeSlave.ID).womb[_ap].genetics.gender>>
+								Gender: <<= getSlave($AS).womb[_ap].genetics.gender>>
 							</div>
 							<div class="indent">
-								Father ID: <<= getSlave($activeSlave.ID).womb[_ap].genetics.father>>
+								Father ID: <<= getSlave($AS).womb[_ap].genetics.father>>
 							</div>
 							<div class="indent">
 								Father Name:
-								<<if ndef getSlave($activeSlave.ID).womb[_ap].genetics.fatherName>>
+								<<if ndef getSlave($AS).womb[_ap].genetics.fatherName>>
 									name not registered
 								<<else>>
-									<<= getSlave($activeSlave.ID).womb[_ap].genetics.fatherName>>
+									<<= getSlave($AS).womb[_ap].genetics.fatherName>>
 								<</if>>
 							</div>
 							<div class="indent">
-								Mother ID: <<= getSlave($activeSlave.ID).womb[_ap].genetics.mother>>
+								Mother ID: <<= getSlave($AS).womb[_ap].genetics.mother>>
 							</div>
 							<div class="indent">
 								Mother Name:
-								<<if ndef getSlave($activeSlave.ID).womb[_ap].genetics.motherName>>
+								<<if ndef getSlave($AS).womb[_ap].genetics.motherName>>
 									name not registered
 								<<else>>
-									<<= getSlave($activeSlave.ID).womb[_ap].genetics.motherName>>
+									<<= getSlave($AS).womb[_ap].genetics.motherName>>
 								<</if>>
 							</div>
 							<div class="indent">
-								Nationality: <<= getSlave($activeSlave.ID).womb[_ap].genetics.nationality>>
+								Nationality: <<= getSlave($AS).womb[_ap].genetics.nationality>>
 							</div>
 							<div class="indent">
-								Race: <<= capFirstChar(getSlave($activeSlave.ID).womb[_ap].genetics.race)>>
+								Race: <<= capFirstChar(getSlave($AS).womb[_ap].genetics.race)>>
 							</div>
 							<div class="indent">
-								Skin tone: <<= capFirstChar(getSlave($activeSlave.ID).womb[_ap].genetics.skin)>>
+								Skin tone: <<= capFirstChar(getSlave($AS).womb[_ap].genetics.skin)>>
 							</div>
 							<div class="indent">
-								Intelligence index: <<= getSlave($activeSlave.ID).womb[_ap].genetics.intelligence>> out of 100
+								Intelligence index: <<= getSlave($AS).womb[_ap].genetics.intelligence>> out of 100
 							</div>
 							<div class="indent">
-								Face index: <<= getSlave($activeSlave.ID).womb[_ap].genetics.face>> out of 100
+								Face index: <<= getSlave($AS).womb[_ap].genetics.face>> out of 100
 							</div>
 							<div class="indent">
-								Eye Color: <<= capFirstChar(getSlave($activeSlave.ID).womb[_ap].genetics.eyeColor)>>
+								Eye Color: <<= capFirstChar(getSlave($AS).womb[_ap].genetics.eyeColor)>>
 							</div>
 							<div class="indent">
-								Hair Color: <<= capFirstChar(getSlave($activeSlave.ID).womb[_ap].genetics.hColor)>>
+								Hair Color: <<= capFirstChar(getSlave($AS).womb[_ap].genetics.hColor)>>
 							</div>
 							<div class="indent">
-								<<if getSlave($activeSlave.ID).womb[_ap].genetics.underArmHStyle == "hairless" && getSlave($activeSlave.ID).womb[_ap].genetics.pubicHStyle == "hairless">>
+								<<if getSlave($AS).womb[_ap].genetics.underArmHStyle == "hairless" && getSlave($AS).womb[_ap].genetics.pubicHStyle == "hairless">>
 									Body hair: None
-								<<elseif getSlave($activeSlave.ID).womb[_ap].genetics.underArmHStyle == "hairless">>
+								<<elseif getSlave($AS).womb[_ap].genetics.underArmHStyle == "hairless">>
 									Body hair: Lacks underarm hair
-								<<elseif getSlave($activeSlave.ID).womb[_ap].genetics.pubicHStyle == "hairless">>
+								<<elseif getSlave($AS).womb[_ap].genetics.pubicHStyle == "hairless">>
 									Body hair: Lacks pubic hair
 								<</if>>
 							</div>
-							<<if getSlave($activeSlave.ID).womb[_ap].genetics.markings == "freckles" || getSlave($activeSlave.ID).womb[_ap].genetics.markings == "heavily freckled">>
+							<<if getSlave($AS).womb[_ap].genetics.markings == "freckles" || getSlave($AS).womb[_ap].genetics.markings == "heavily freckled">>
 								<div class="indent">
-									Markings: <<= capFirstChar(getSlave($activeSlave.ID).womb[_ap].genetics.markings)>>
+									Markings: <<= capFirstChar(getSlave($AS).womb[_ap].genetics.markings)>>
 								</div>
 							<</if>>
 							<div class="indent">
 								Detected abnormalities:
-								<<if getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.albinism == 2>>
+								<<if getSlave($AS).womb[_ap].genetics.geneticQuirks.albinism == 2>>
 									@@.green;alb@@
-								<<elseif getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.albinism == 1 && $geneticMappingUpgrade >= 2>>
+								<<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.albinism == 1 && $geneticMappingUpgrade >= 2>>
 									@@.yellow;alb@@
 								<</if>>
-								<<if getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.gigantism == 2>>
+								<<if getSlave($AS).womb[_ap].genetics.geneticQuirks.gigantism == 2>>
 									@@.red;gnt@@
-								<<elseif getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.gigantism == 1 && $geneticMappingUpgrade >= 2>>
+								<<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.gigantism == 1 && $geneticMappingUpgrade >= 2>>
 									@@.yellow;gnt@@
 								<</if>>
-								<<if getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.dwarfism == 2>>
+								<<if getSlave($AS).womb[_ap].genetics.geneticQuirks.dwarfism == 2>>
 									@@.red;dwrf@@
-								<<elseif getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.dwarfism == 1 && $geneticMappingUpgrade >= 2>>
+								<<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.dwarfism == 1 && $geneticMappingUpgrade >= 2>>
 									@@.yellow;dwrf@@
 								<</if>>
-								<<if getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.heterochromia == 2>>
+								<<if getSlave($AS).womb[_ap].genetics.geneticQuirks.heterochromia == 2>>
 									@@.green;hetchrom@@
-								<<elseif getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.heterochromia == 1 && $geneticMappingUpgrade >= 2>>
+								<<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.heterochromia == 1 && $geneticMappingUpgrade >= 2>>
 									@@.yellow;hetchrom@@
 								<</if>>
-								<<if getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.androgyny == 2>>
+								<<if getSlave($AS).womb[_ap].genetics.geneticQuirks.androgyny == 2>>
 									@@.red;andr@@
-								<<elseif getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.androgyny == 1 && $geneticMappingUpgrade >= 2>>
+								<<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.androgyny == 1 && $geneticMappingUpgrade >= 2>>
 									@@.yellow;andr@@
 								<</if>>
-								<<if getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.pFace == 2>>
+								<<if getSlave($AS).womb[_ap].genetics.geneticQuirks.pFace == 2>>
 									@@.green;pfce@@
-								<<elseif getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.pFace == 1 && $geneticMappingUpgrade >= 2>>
+								<<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.pFace == 1 && $geneticMappingUpgrade >= 2>>
 									@@.yellow;pfce@@
 								<</if>>
-								<<if getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.uFace == 2>>
+								<<if getSlave($AS).womb[_ap].genetics.geneticQuirks.uFace == 2>>
 									@@.red;ufce@@
-								<<elseif getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.uFace == 1 && $geneticMappingUpgrade >= 2>>
+								<<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.uFace == 1 && $geneticMappingUpgrade >= 2>>
 									@@.yellow;ufce@@
 								<</if>>
-								<<if getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.fertility == 2>>
+								<<if getSlave($AS).womb[_ap].genetics.geneticQuirks.fertility == 2>>
 									@@.green;fert@@
-								<<elseif getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.fertility == 1 && $geneticMappingUpgrade >= 2>>
+								<<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.fertility == 1 && $geneticMappingUpgrade >= 2>>
 									@@.yellow;fert@@
 								<</if>>
-								<<if getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.hyperFertility == 2>>
+								<<if getSlave($AS).womb[_ap].genetics.geneticQuirks.hyperFertility == 2>>
 									@@.green;hfert@@
-								<<elseif getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.hyperFertility == 1 && $geneticMappingUpgrade >= 2>>
+								<<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.hyperFertility == 1 && $geneticMappingUpgrade >= 2>>
 									@@.yellow;hfert@@
 								<</if>>
-								<<if getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.superfetation == 2>>
+								<<if getSlave($AS).womb[_ap].genetics.geneticQuirks.superfetation == 2>>
 									@@.green;supfet@@
-								<<elseif getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.superfetation == 1 && $geneticMappingUpgrade >= 2>>
+								<<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.superfetation == 1 && $geneticMappingUpgrade >= 2>>
 									@@.yellow;supfet@@
 								<</if>>
-								<<if getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.uterineHypersensitivity == 2>>
+								<<if getSlave($AS).womb[_ap].genetics.geneticQuirks.uterineHypersensitivity == 2>>
 									@@.green;uthyp@@
-								<<elseif getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.uterineHypersensitivity == 1 && $geneticMappingUpgrade >= 2>>
+								<<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.uterineHypersensitivity == 1 && $geneticMappingUpgrade >= 2>>
 									@@.yellow;uthyp@@
 								<</if>>
-								<<if getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.macromastia >= 2>>
+								<<if getSlave($AS).womb[_ap].genetics.geneticQuirks.macromastia >= 2>>
 									@@.red;mmast@@
-								<<elseif getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.macromastia == 1 && $geneticMappingUpgrade >= 2>>
+								<<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.macromastia == 1 && $geneticMappingUpgrade >= 2>>
 									@@.yellow;mast@@
 								<</if>>
-								<<if getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.gigantomastia >= 2>>
+								<<if getSlave($AS).womb[_ap].genetics.geneticQuirks.gigantomastia >= 2>>
 									@@.red;gmast@@
-								<<elseif getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.gigantomastia == 1 && $geneticMappingUpgrade >= 2>>
+								<<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.gigantomastia == 1 && $geneticMappingUpgrade >= 2>>
 									@@.yellow;gmast@@
 								<</if>>
-								<<if getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.wellHung == 2>>
+								<<if getSlave($AS).womb[_ap].genetics.geneticQuirks.wellHung == 2>>
 									@@.green;bigd@@
-								<<elseif getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.wellHung == 1 && $geneticMappingUpgrade >= 2>>
+								<<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.wellHung == 1 && $geneticMappingUpgrade >= 2>>
 									@@.yellow;bigd@@
 								<</if>>
-								<<if getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.rearLipedema == 2>>
+								<<if getSlave($AS).womb[_ap].genetics.geneticQuirks.rearLipedema == 2>>
 									@@.red;lipe@@
-								<<elseif getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.rearLipedema == 1 && $geneticMappingUpgrade >= 2>>
+								<<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.rearLipedema == 1 && $geneticMappingUpgrade >= 2>>
 									@@.yellow;lipe@@
 								<</if>>
-								<<if getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.wGain == 2>>
+								<<if getSlave($AS).womb[_ap].genetics.geneticQuirks.wGain == 2>>
 									@@.red;lepti+@@
-								<<elseif getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.wGain == 1 && $geneticMappingUpgrade >= 2>>
+								<<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.wGain == 1 && $geneticMappingUpgrade >= 2>>
 									@@.yellow;lepti+@@
 								<</if>>
-								<<if getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.wLoss == 2>>
+								<<if getSlave($AS).womb[_ap].genetics.geneticQuirks.wLoss == 2>>
 									@@.red;lepti-@@
-								<<elseif getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.wLoss == 1 && $geneticMappingUpgrade >= 2>>
+								<<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.wLoss == 1 && $geneticMappingUpgrade >= 2>>
 									@@.yellow;lepti-@@
 								<</if>>
-								<<if getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.mGain == 2>>
+								<<if getSlave($AS).womb[_ap].genetics.geneticQuirks.mGain == 2>>
 									@@.red;myot+@@
-								<<elseif getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.mGain == 1 && $geneticMappingUpgrade >= 2>>
+								<<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.mGain == 1 && $geneticMappingUpgrade >= 2>>
 									@@.yellow;myot+@@
 								<</if>>
-								<<if getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.mLoss == 2>>
+								<<if getSlave($AS).womb[_ap].genetics.geneticQuirks.mLoss == 2>>
 									@@.red;myot-@@
-								<<elseif getSlave($activeSlave.ID).womb[_ap].genetics.geneticQuirks.mLoss == 1 && $geneticMappingUpgrade >= 2>>
+								<<elseif getSlave($AS).womb[_ap].genetics.geneticQuirks.mLoss == 1 && $geneticMappingUpgrade >= 2>>
 									@@.yellow;myot-@@
 								<</if>>
 							</div>
 						<<else>>
-							<<if getSlave($activeSlave.ID).womb[_ap].age > 13>>
+							<<if getSlave($AS).womb[_ap].age > 13>>
 								<div class="indent">
-									Gender: <<= getSlave($activeSlave.ID).womb[_ap].genetics.gender>>
+									Gender: <<= getSlave($AS).womb[_ap].genetics.gender>>
 								</div>
 							<</if>>
-							<<if getSlave($activeSlave.ID).womb[_ap].age > 5>>
+							<<if getSlave($AS).womb[_ap].age > 5>>
 								<div class="indent">
-									Father ID: <<= getSlave($activeSlave.ID).womb[_ap].genetics.father>>
+									Father ID: <<= getSlave($AS).womb[_ap].genetics.father>>
 								</div>
 								<div class="indent">
-									Father Name: <<= getSlave($activeSlave.ID).womb[_ap].genetics.fatherName>>
+									Father Name: <<= getSlave($AS).womb[_ap].genetics.fatherName>>
 								</div>
 								<div class="indent">
-									Mother ID: <<= getSlave($activeSlave.ID).womb[_ap].genetics.mother>>
+									Mother ID: <<= getSlave($AS).womb[_ap].genetics.mother>>
 								</div>
 								<div class="indent">
-									Mother Name: <<= getSlave($activeSlave.ID).womb[_ap].genetics.motherName>>
+									Mother Name: <<= getSlave($AS).womb[_ap].genetics.motherName>>
 								</div>
 							<</if>>
 						<</if>>
 						<<if $incubator > 0 || $nursery > 0>>
 							<div class="indent">
-								Reserved: <<= getSlave($activeSlave.ID).womb[_ap].reserve>>
+								Reserved: <<= getSlave($AS).womb[_ap].reserve>>
 							</div>
 						<</if>>
 
 						<div class="indent">
-							Rename: <<textbox "_tempName" _tempName >> [[Apply | Analyze Pregnancy][getSlave($activeSlave.ID).womb[_ap].genetics.name = _tempName]]
+							Rename: <<textbox "_tempName" _tempName >> [[Apply | Analyze Pregnancy][getSlave($AS).womb[_ap].genetics.name = _tempName]]
 						</div>
-						<<if getSlave($activeSlave.ID).womb[_ap].age < 4 && ($arcologies[0].FSRestart == "unset" || $eugenicsFullControl == 1 || getSlave($activeSlave.ID).breedingMark == 0 || $propOutcome == 0 || (getSlave($activeSlave.ID).womb[_ap].fatherID != -1 && getSlave($activeSlave.ID).womb[_ap].fatherID != -6))>>
+						<<if getSlave($AS).womb[_ap].age < 4 && ($arcologies[0].FSRestart == "unset" || $eugenicsFullControl == 1 || getSlave($AS).breedingMark == 0 || $propOutcome == 0 || (getSlave($AS).womb[_ap].fatherID != -1 && getSlave($AS).womb[_ap].fatherID != -6))>>
 							<div class="indent">
-								<<link "Terminate ovum" "Analyze Pregnancy">><<run WombRemoveFetus(getSlave($activeSlave.ID), _ap)>><<if getSlave($activeSlave.ID).preg == 0>><<set getSlave($activeSlave.ID).pregWeek = -1>><</if>><</link>>
+								<<link "Terminate ovum" "Analyze Pregnancy">><<run WombRemoveFetus(getSlave($AS), _ap)>><<if getSlave($AS).preg == 0>><<set getSlave($AS).pregWeek = -1>><</if>><</link>>
 								<<if $surgeryUpgrade == 1>>
-									| [[Transplant ovum|Ova Transplant Workaround][$donatrix = getSlave($activeSlave.ID), $wombIndex = _ap, $nextLink = "Analyze Pregnancy"]]
+									| [[Transplant ovum|Ova Transplant Workaround][$donatrix = getSlave($AS), $wombIndex = _ap, $nextLink = "Analyze Pregnancy"]]
 								<</if>>
 							</div>
 						<</if>>
 						<<if $incubator > 0>>
 							<div class="indent">
-								<<if getSlave($activeSlave.ID).womb[_ap].reserve === "incubator">>
+								<<if getSlave($AS).womb[_ap].reserve === "incubator">>
 									<<link "Don't keep this child in $incubatorName" "Analyze Pregnancy">>
-										<<set getSlave($activeSlave.ID).womb[_ap].reserve = "">>
+										<<set getSlave($AS).womb[_ap].reserve = "">>
 										<<set $reservedChildren-->>
 									<</link>>
 								<<elseif _freeTanks - $reservedChildren > 0>>
 									<<link "Keep this child in $incubatorName" "Analyze Pregnancy">>
-										<<if getSlave($activeSlave.ID).womb[_ap].reserve === "nursery">>
+										<<if getSlave($AS).womb[_ap].reserve === "nursery">>
 											<<set $reservedChildrenNursery-->>
 										<</if>>
-										<<set getSlave($activeSlave.ID).womb[_ap].reserve = "incubator">>
+										<<set getSlave($AS).womb[_ap].reserve = "incubator">>
 										<<set $reservedChildren++>>
 									<</link>>
 								<<else>>
@@ -336,17 +336,17 @@
 						<</if>>
 						<<if $nursery > 0>>
 							<div class="indent">
-								<<if getSlave($activeSlave.ID).womb[_ap].reserve === "nursery">>
+								<<if getSlave($AS).womb[_ap].reserve === "nursery">>
 									<<link "Don't keep this child in $nurseryName" "Analyze Pregnancy">>
-										<<set getSlave($activeSlave.ID).womb[_ap].reserve = "">>
+										<<set getSlave($AS).womb[_ap].reserve = "">>
 										<<set $reservedChildrenNursery-->>
 									<</link>>
 								<<elseif _freeCribs - $reservedChildrenNursery > 0>>
 									<<link "Keep this child in $nurseryName" "Analyze Pregnancy">>
-										<<if getSlave($activeSlave.ID).womb[_ap].reserve === "incubator">>
+										<<if getSlave($AS).womb[_ap].reserve === "incubator">>
 											<<set $reservedChildren-->>
 										<</if>>
-										<<set getSlave($activeSlave.ID).womb[_ap].reserve = "nursery">>
+										<<set getSlave($AS).womb[_ap].reserve = "nursery">>
 										<<set $reservedChildrenNursery++>>
 									<</link>>
 								<<else>>
@@ -362,9 +362,9 @@
 							Age: too early for scan.
 						</div>
 						<div class="indent">
-							<<link "Terminate ovum" "Analyze Pregnancy">><<run WombRemoveFetus(getSlave($activeSlave.ID), _ap)>><<if getSlave($activeSlave.ID).preg == 0>><<set getSlave($activeSlave.ID).pregWeek = -1>><</if>><</link>>
+							<<link "Terminate ovum" "Analyze Pregnancy">><<run WombRemoveFetus(getSlave($AS), _ap)>><<if getSlave($AS).preg == 0>><<set getSlave($AS).pregWeek = -1>><</if>><</link>>
 							<<if $surgeryUpgrade == 1>>
-								| [[Transplant ovum|Ova Transplant Workaround][$donatrix = getSlave($activeSlave.ID), $wombIndex = _ap, $nextLink = "Analyze Pregnancy"]]
+								| [[Transplant ovum|Ova Transplant Workaround][$donatrix = getSlave($AS), $wombIndex = _ap, $nextLink = "Analyze Pregnancy"]]
 							<</if>>
 						</div>
 					<</if>>
@@ -372,16 +372,16 @@
 			</p>
 		<</for>>
 	</p>
-<<elseif getSlave($activeSlave.ID).preg == -3>> /*special states*/
+<<elseif getSlave($AS).preg == -3>> /*special states*/
 	Failure to locate any ova. Subject is infertile.
-<<elseif getSlave($activeSlave.ID).pregWeek < 0>> /*special states*/
+<<elseif getSlave($AS).pregWeek < 0>> /*special states*/
 	Subject is in the postpartem period.
-<<elseif getSlave($activeSlave.ID).ovaryAge >= 47 >>
+<<elseif getSlave($AS).ovaryAge >= 47 >>
 	$His infertility is due to menopausal ovaries.
-<<elseif getSlave($activeSlave.ID).ovaries === 0 && getSlave($activeSlave.ID).mpreg === 0>>
+<<elseif getSlave($AS).ovaries === 0 && getSlave($AS).mpreg === 0>>
 	$His infertility is due to missing ovaries.
-<<elseif getSlave($activeSlave.ID).preg == -2>> /*special states*/
+<<elseif getSlave($AS).preg == -2>> /*special states*/
 	$His infertility is due to sterilization; $his ovaries could still work.
-<<elseif getSlave($activeSlave.ID).preg == -1>> /*special states*/
+<<elseif getSlave($AS).preg == -1>> /*special states*/
 	Contraceptive agents detected in subject.
 <</if>>
diff --git a/src/pregmod/incubator.tw b/src/pregmod/incubator.tw
index 5f31c3652049e5e26f9871758cd835141d32bb85..019d2157436ec4e0f592c60c7e6e2923d5e69b9f 100644
--- a/src/pregmod/incubator.tw
+++ b/src/pregmod/incubator.tw
@@ -116,7 +116,7 @@ Reserve an eligible mother-to-be's child to be placed in a tank upon birth. Of $
 				<<if (_reservedIncubator + _reservedNursery < _WL) && ($reservedChildren < _freeTanks)>>
 					<br>&nbsp;&nbsp;&nbsp;&nbsp;
 					<<if $pregnancyMonitoringUpgrade == 1>>
-						<<print "[[Inspect pregnancy|Analyze Pregnancy][$i = " + _u + "; $activeSlave = $slaves[$i]]] | ">>
+						<<print "[[Inspect pregnancy|Analyze Pregnancy][$i = " + _u + "; $AS = $slaves[$i].ID]] | ">>
 					<</if>>
 					<<print "[[Keep another child|Incubator][WombAddToGenericReserve($slaves[" + _u + "], 'incubator', 1)]]">>
 					<<if _reservedIncubator > 0>>
@@ -131,7 +131,7 @@ Reserve an eligible mother-to-be's child to be placed in a tank upon birth. Of $
 				<<elseif (_reservedIncubator == _WL) || ($reservedChildren == _freeTanks) || (_reservedIncubator + _reservedNursery == _WL)>>
 					<br>&nbsp;&nbsp;&nbsp;&nbsp;
 					<<if $pregnancyMonitoringUpgrade == 1>>
-						<<print "[[Inspect pregnancy|Analyze Pregnancy][$i = " + _u + "; $activeSlave = $slaves[$i]]] | ">>
+						<<print "[[Inspect pregnancy|Analyze Pregnancy][$i = " + _u + "; $AS = $slaves[$i].ID]] | ">>
 					<</if>>
 					<<print "[[Keep one less child|Incubator][WombCleanGenericReserve($slaves[" + _u + "], 'incubator', 1)]]">>
 					<<if _reservedIncubator > 1>>
@@ -143,14 +143,14 @@ Reserve an eligible mother-to-be's child to be placed in a tank upon birth. Of $
 					//$His children are already reserved for $nurseryName//
 					<br>&nbsp;&nbsp;&nbsp;&nbsp;
 					<<if $pregnancyMonitoringUpgrade == 1>>
-						<<print "[[Inspect pregnancy|Analyze Pregnancy][$i = " + _u + "; $activeSlave = $slaves[$i]]] | ">>
+						<<print "[[Inspect pregnancy|Analyze Pregnancy][$i = " + _u + "; $AS = $slaves[$i].ID]] | ">>
 					<</if>>
 					<<print "[[Keep " + $his + " " + ((_WL > 1) ? "children" : "child") + " here instead|Incubator][WombChangeReserveType($slaves[" + _u + "], 'nursery', 'incubator')]]">>
 				<<else>>
 					You have <<if _freeTanks == 1>>an<</if>> @@.lime;available aging tank<<if _freeTanks > 1>>s<</if>>.@@
 					<br>&nbsp;&nbsp;&nbsp;&nbsp;
 					<<if $pregnancyMonitoringUpgrade == 1>>
-						<<print "[[Inspect pregnancy|Analyze Pregnancy][$i = " + _u + "; $activeSlave = $slaves[$i]]] | ">>
+						<<print "[[Inspect pregnancy|Analyze Pregnancy][$i = " + _u + "; $AS = $slaves[$i].ID]] | ">>
 					<</if>>
 					<<print "[[Keep "+ ((_WL > 1) ? "a" : "the") +" child|Incubator][WombAddToGenericReserve($slaves[" + _u + "], 'incubator', 1)]]">>
 					<<if (_WL > 1) && ($reservedChildren + _WL - _reservedIncubator) <= _freeTanks>>
@@ -160,7 +160,7 @@ Reserve an eligible mother-to-be's child to be placed in a tank upon birth. Of $
 			<<elseif $reservedChildren == _freeTanks>>
 				<br>&nbsp;&nbsp;&nbsp;&nbsp;
 				<<if $pregnancyMonitoringUpgrade == 1>>
-					<<print "[[Inspect pregnancy|Analyze Pregnancy][$i = " + _u + "; $activeSlave = $slaves[$i]]] | ">>
+					<<print "[[Inspect pregnancy|Analyze Pregnancy][$i = " + _u + "; $AS = $slaves[$i].ID]] | ">>
 				<</if>>
 				You have @@.red;no room for $his offspring.@@
 			<</if>>
diff --git a/src/uncategorized/bodyModification.tw b/src/uncategorized/bodyModification.tw
index 4635f08762285bbf4fd2df7fc8a7c4675af87b91..5cfb1adedfca915ff626ee7dccf7c079b47bddbf 100644
--- a/src/uncategorized/bodyModification.tw
+++ b/src/uncategorized/bodyModification.tw
@@ -1,7 +1,6 @@
 :: Body Modification [nobr jump-from-safe]
 
 <<set $nextButton = "Confirm changes", $nextLink = "Slave Interact">>
-<<set $AS = $activeSlave.ID>>
 <<run App.Utils.setLocalPronouns(getSlave($AS))>>
 <<run Enunciate(getSlave($AS))>>
 
diff --git a/src/uncategorized/multiImplant.tw b/src/uncategorized/multiImplant.tw
index 09e661aec1177c6ea24c58aa7994f95c0258f07a..adb5c7250e14f6ad6cd5ac5f78904289b7684565 100644
--- a/src/uncategorized/multiImplant.tw
+++ b/src/uncategorized/multiImplant.tw
@@ -17,12 +17,12 @@ that are ready be sent down.
 <h1>Implant Organs</h1>
 
 <<set _F = App.Medicine.OrganFarm>>
-<<for _i = 0; _i < $slaves.length; _i++>>
-	<<set $activeSlave = $slaves[_i]>>
-	<<set _sortedOrgans = _F.getSortedOrgans($activeSlave)>>
+<<for _i = 0; _i < $slaves.length; _i++>>	
+	<<set $AS = $slaves[_i].ID>>
+	<<set _sortedOrgans = _F.getSortedOrgans(getSlave($AS))>>
 	<<if _sortedOrgans.length === 0>><<continue>><</if>>
 
-	<h2>$activeSlave.slaveName</h2>
+	<h2>getSlave($AS).slaveName</h2>
 
 	<<for _k = 0; _k < _sortedOrgans.length; _k++>>
 		<h3><<print _F.Organs[_sortedOrgans[_k]].name>></h3>
@@ -30,22 +30,22 @@ that are ready be sent down.
 		<<set _manual = false, _success = false, _break = false>>
 		<<for _l = 0; _l < _actions.length; _l++>>
 			<<if !_actions[_l].autoImplant>>
-				<<if _actions[_l].canImplant($activeSlave)>>
+				<<if _actions[_l].canImplant(getSlave($AS))>>
 					<<set _manual = true>>
 				<</if>>
 				<<continue>>
 			<</if>>
-			<<if !_actions[_l].canImplant($activeSlave)>>
-				<<set _error = _actions[_l].implantError($activeSlave)>>
+			<<if !_actions[_l].canImplant(getSlave($AS))>>
+				<<set _error = _actions[_l].implantError(getSlave($AS))>>
 				<<if _error !== "">>
 					@@.red;ERROR: <<print _error>>@@<br>
 				<</if>>
-			<<elseif $activeSlave.health.health - _actions[_l].healthImpact < -75>>
+			<<elseif getSlave($AS).health.health - _actions[_l].healthImpact < -75>>
 				Estimated health impact too high, skipping further surgeries.
 				<<set _break = true>>
 				<<break>>
 			<<else>>
-				<<run App.Medicine.OrganFarm.implant($activeSlave, _sortedOrgans[_k], _l)>>
+				<<run App.Medicine.OrganFarm.implant(getSlave($AS), _sortedOrgans[_k], _l)>>
 				<<include "Surgery Degradation">><br><br>
 				<<set _success = true>>
 			<</if>>
@@ -55,8 +55,6 @@ that are ready be sent down.
 			//Cannot implant <<print _F.Organs[_sortedOrgans[_k]].name.toLowerCase()>> automatically, try implanting manually in the remote surgery.//
 		<</if>>
 	<</for>>
-
-	<<set $slaves[_i] = $activeSlave>>
 <</for>>
 
 
@@ -64,10 +62,10 @@ that are ready be sent down.
 
 /* prosthetics */
 <<for _i = 0; _i < $slaves.length; _i++>>
-	<<set $activeSlave = $slaves[_i]>>
+	<<set $AS = $slaves[_i].ID>>
 
 	/* count for estimating health impact */
-	<<set _prostheticCount = $adjustProsthetics.filter(p => p.slaveID == $activeSlave.ID && p.workLeft <= 0).length>>
+	<<set _prostheticCount = $adjustProsthetics.filter(p => p.slaveID == getSlave($AS).ID && p.workLeft <= 0).length>>
 
 	/* since we already have count, skip slaves that don't need work */
 	<<if _prostheticCount < 1>>
@@ -77,102 +75,102 @@ that are ready be sent down.
 	Ensures that a slave can never die during the execution of this passage.
 	Calculation based on worst case, so when changing worst case change it here too.
 	*/
-	<<if $activeSlave.health.health - (_prostheticCount * 20) < -75>>
+	<<if getSlave($AS).health.health - (_prostheticCount * 20) < -75>>
 		<br><hr>
-		@@.red;Estimated health impact too great; $activeSlave.slaveName skipped.@@
+		@@.red;Estimated health impact too great; getSlave($AS).slaveName skipped.@@
 		<<continue>>
 	<</if>>
 
 	<<for _k = 0; _k < $adjustProsthetics.length; _k++>>
 		<<set _p = $adjustProsthetics[_k]>>
-		<<if _p.slaveID == $activeSlave.ID && _p.workLeft <= 0>>
+		<<if _p.slaveID == getSlave($AS).ID && _p.workLeft <= 0>>
 			<<set $adjustProsthetics.splice(_k, 1), _k-->>
 			<<set $adjustProstheticsCompleted-->>
-			<<set addProsthetic($activeSlave, _p.id)>>
+			<<set addProsthetic(getSlave($AS), _p.id)>>
 			<br><hr>
 			<<switch _p.id>>
 			<<case "ocular">>
-				<<if getBestVision($activeSlave) === 0>>
-					<<run eyeSurgery($activeSlave, "both", "cybernetic"), cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-					<<set surgeryDamage($activeSlave, 20), $surgeryType = "ocular implant">>
+				<<if getBestVision(getSlave($AS)) === 0>>
+					<<run eyeSurgery(getSlave($AS), "both", "cybernetic"), cashX(forceNeg($surgeryCost), "slaveSurgery", getSlave($AS))>>
+					<<set surgeryDamage(getSlave($AS), 20), $surgeryType = "ocular implant">>
 					<<include "Surgery Degradation">>
 				<<else>>
 					//Since $he has working eyes the <<= setup.prosthetics.ocular.name>> will be put into storage.//
 				<</if>>
 			<<case "cochlear">>
-				<<if $activeSlave.hears != 0>>
-					<<set $activeSlave.earImplant = 1, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave, 20), $surgeryType = "cochlear implant">>
+				<<if getSlave($AS).hears != 0>>
+					<<set getSlave($AS).earImplant = 1, cashX(forceNeg($surgeryCost), "slaveSurgery", getSlave($AS)), surgeryDamage(getSlave($AS), 20), $surgeryType = "cochlear implant">>
 					<<include "Surgery Degradation">>
 				<<else>>
 					//Since $he has working ears the <<= setup.prosthetics.cochlear.name>> will be put into storage.//
 				<</if>>
 			<<case "electrolarynx">>
-				<<if $activeSlave.voice <= 0>>
-					<<set $activeSlave.electrolarynx = 1, $activeSlave.voice = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave, 20), $surgeryType = "electrolarynx">>
+				<<if getSlave($AS).voice <= 0>>
+					<<set getSlave($AS).electrolarynx = 1, getSlave($AS).voice = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", getSlave($AS)), surgeryDamage(getSlave($AS), 20), $surgeryType = "electrolarynx">>
 					<<include "Surgery Degradation">>
 				<<else>>
 					//Since $he has a voice the <<= setup.prosthetics.electrolarynx.name>> will be put into storage.//
 				<</if>>
 			<<case "interfaceP1">>
-				<<if hasAnyNaturalLimbs($activeSlave)>>
+				<<if hasAnyNaturalLimbs(getSlave($AS))>>
 					//Since $he has at least one healthy limb the <<= setup.prosthetics.interfaceP1.name>> will be put into storage.//
-				<<elseif $activeSlave.PLimb == 2>>
+				<<elseif getSlave($AS).PLimb == 2>>
 					//Since $he already has <<= addA(setup.prosthetics.interfaceP2.name)>> installed the <<= setup.prosthetics.interfaceP1.name>> will be put into storage.//
 				<<else>>
-					<<set $activeSlave.PLimb = 1, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave, 20), $surgeryType = "PLimb interface1">>
+					<<set getSlave($AS).PLimb = 1, cashX(forceNeg($surgeryCost), "slaveSurgery", getSlave($AS)), surgeryDamage(getSlave($AS), 20), $surgeryType = "PLimb interface1">>
 					<<include "Surgery Degradation">>
 				<</if>>
 			<<case "interfaceP2">>
-				<<if hasAllNaturalLimbs($activeSlave)>>
+				<<if hasAllNaturalLimbs(getSlave($AS))>>
 					//Since $he has no amputated limbs the <<= setup.prosthetics.interfaceP2.name>> will be put into storage.//
-				<<elseif $activeSlave.PLimb == 1>>
-					<<set $activeSlave.PLimb = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave, 5), $surgeryType = "PLimb interface3">>
+				<<elseif getSlave($AS).PLimb == 1>>
+					<<set getSlave($AS).PLimb = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", getSlave($AS)), surgeryDamage(getSlave($AS), 5), $surgeryType = "PLimb interface3">>
 					<<include "Surgery Degradation">>
 				<<else>>
-					<<set $activeSlave.PLimb = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave, 20), $surgeryType = "PLimb interface2">>
+					<<set getSlave($AS).PLimb = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", getSlave($AS)), surgeryDamage(getSlave($AS), 20), $surgeryType = "PLimb interface2">>
 					<<include "Surgery Degradation">>
 				<</if>>
 			<<case "basicL" "sexL" "beautyL" "combatL" "cyberneticL">>
-				<<if $activeSlave.fuckdoll != 0>>
+				<<if getSlave($AS).fuckdoll != 0>>
 					//Since a Fuckdoll can't use prosthetic limbs the <<= setup.prosthetics[_p.id].name>> will be put into storage.//
-				<<elseif hasAllNaturalLimbs($activeSlave)>>
+				<<elseif hasAllNaturalLimbs(getSlave($AS))>>
 					//Since $he needs an amputated limb to attach prosthetics the <<= setup.prosthetics[_p.id].name>> will be put into storage.//
-				<<elseif $activeSlave.PLimb == 0>>
+				<<elseif getSlave($AS).PLimb == 0>>
 					//Since $he must have a prosthetic interface installed to attach prosthetic limbs the <<= setup.prosthetics[_p.id].name>> will be put into storage.//
 				<<else>>
 					<<if _p.id == "basicL">>
-						<<set _state = App.Desc.limbChange().currentLimbs($activeSlave), _change = upgradeLimbs($activeSlave, 2)>>
+						<<set _state = App.Desc.limbChange().currentLimbs(getSlave($AS)), _change = upgradeLimbs(getSlave($AS), 2)>>
 						<<if _change>>
-							<<= App.Desc.limbChange().reaction($activeSlave, _state)>>
+							<<= App.Desc.limbChange().reaction(getSlave($AS), _state)>>
 						<<else>>
 							//Since $he already has more advanced prosthetic limbs attached the <<= setup.prosthetics.basicL.name>> will be put into storage.//
 						<</if>>
 					<<elseif _p.id == "sexL">>
-						<<set _state = App.Desc.limbChange().currentLimbs($activeSlave), _change = upgradeLimbs($activeSlave, 3)>>
+						<<set _state = App.Desc.limbChange().currentLimbs(getSlave($AS)), _change = upgradeLimbs(getSlave($AS), 3)>>
 						<<if _change>>
-							<<= App.Desc.limbChange().reaction($activeSlave, _state)>>
+							<<= App.Desc.limbChange().reaction(getSlave($AS), _state)>>
 						<<else>>
 							//Since $he already has advanced prosthetic limbs attached the <<= setup.prosthetics.sexL.name>> will be put into storage.//
 						<</if>>
 					<<elseif _p.id == "beautyL">>
-						<<set _state = App.Desc.limbChange().currentLimbs($activeSlave), _change = upgradeLimbs($activeSlave, 4)>>
+						<<set _state = App.Desc.limbChange().currentLimbs(getSlave($AS)), _change = upgradeLimbs(getSlave($AS), 4)>>
 						<<if _change>>
-							<<= App.Desc.limbChange().reaction($activeSlave, _state)>>
+							<<= App.Desc.limbChange().reaction(getSlave($AS), _state)>>
 						<<else>>
 							//Since $he already has advanced prosthetic limbs attached the <<= setup.prosthetics.beautyL.name>> will be put into storage.//
 						<</if>>
 					<<elseif _p.id == "combatL">>
-						<<set _state = App.Desc.limbChange().currentLimbs($activeSlave), _change = upgradeLimbs($activeSlave, 5)>>
+						<<set _state = App.Desc.limbChange().currentLimbs(getSlave($AS)), _change = upgradeLimbs(getSlave($AS), 5)>>
 						<<if _change>>
-							<<= App.Desc.limbChange().reaction($activeSlave, _state)>>
+							<<= App.Desc.limbChange().reaction(getSlave($AS), _state)>>
 						<<else>>
 							//Since $he already has advanced prosthetic limbs attached the <<= setup.prosthetics.combatL.name>> will be put into storage.//
 						<</if>>
 					<<else>>
-						<<if $activeSlave.PLimb == 2>>
-							<<set _state = App.Desc.limbChange().currentLimbs($activeSlave), _change = upgradeLimbs($activeSlave, 2)>>
+						<<if getSlave($AS).PLimb == 2>>
+							<<set _state = App.Desc.limbChange().currentLimbs(getSlave($AS)), _change = upgradeLimbs(getSlave($AS), 2)>>
 							<<if _change>>
-								<<= App.Desc.limbChange().reaction($activeSlave, _state)>>
+								<<= App.Desc.limbChange().reaction(getSlave($AS), _state)>>
 							<</if>>
 						<<else>>
 							//Since $he must have <<= addA(setup.prosthetics.interfaceP2.name)>> installed to attach cybernetic limbs the <<= setup.prosthetics.cyberneticL.name>> will be put into storage.//
@@ -180,21 +178,21 @@ that are ready be sent down.
 					<</if>>
 				<</if>>
 			<<case "interfaceTail">>
-				<<set $activeSlave.PTail = 1, $activeSlave.tail = "none", $activeSlave.tailColor = "none", cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave, 10), $surgeryType = "tailInterface">>
+				<<set getSlave($AS).PTail = 1, getSlave($AS).tail = "none", getSlave($AS).tailColor = "none", cashX(forceNeg($surgeryCost), "slaveSurgery", getSlave($AS)), surgeryDamage(getSlave($AS), 10), $surgeryType = "tailInterface">>
 				<<include "Surgery Degradation">>
 			<<case "modT" "sexT" "combatT">>
-				<<if $activeSlave.PTail == 0>>
+				<<if getSlave($AS).PTail == 0>>
 					//Since $he must have <<= addA(setup.prosthetics.interfaceTail.name)>> installed to attach tails the <<= setup.prosthetics[_p.id].name>> will be put into storage.//
-				<<elseif $activeSlave.tail != "none">>
+				<<elseif getSlave($AS).tail != "none">>
 					//Since $he currently has a tail attached the <<= setup.prosthetics[_p.id].name>> will be put into storage.//
 				<<elseif _p.id == "modT">>
 					//Since installing <<= addA(setup.prosthetics.modT.name)>> is complicated it can't be automated.//
 					/*Reason: there are different designs player can choose from.*/
 				<<elseif _p.id == "combatT">>
-					<<set $prostheticsConfig = "attachTail", $activeSlave.tail = "combat", $activeSlave.tailColor = "jet black">>
+					<<set $prostheticsConfig = "attachTail", getSlave($AS).tail = "combat", getSlave($AS).tailColor = "jet black">>
 					<<include "Prosthetics Configuration">>
 				<<elseif _p.id == "sexT">>
-					<<set $prostheticsConfig = "attachTail", $activeSlave.tail = "sex", $activeSlave.tailColor = "pink">>
+					<<set $prostheticsConfig = "attachTail", getSlave($AS).tail = "sex", getSlave($AS).tailColor = "pink">>
 					<<include "Prosthetics Configuration">>
 				<</if>>
 			<<default>>
@@ -203,8 +201,6 @@ that are ready be sent down.
 			<br>
 		<</if>>
 	<</for>>
-	/* updates the interrogated slave */
-	<<set $slaves[_i] = $activeSlave>>
 <</for>> /* end of the $slaves loop */
 
 /* This needs to be down here to over-ride any Surgery Degradation calls */
diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw
index 27c311d0f3d86170e9e9e654c76bf6687db34ab5..9ac7709b946e758484da457335fe2e2fea8a29bb 100644
--- a/src/uncategorized/remoteSurgery.tw
+++ b/src/uncategorized/remoteSurgery.tw
@@ -8,7 +8,6 @@
 
 <<set $nextButton = "Confirm changes", $nextLink = "Slave Interact">>
 
-<<set $AS = $activeSlave.ID>>
 <<run App.Utils.setLocalPronouns(getSlave($AS))>>
 <<run updateHealth(getSlave($AS))>>
 
diff --git a/src/uncategorized/salon.tw b/src/uncategorized/salon.tw
index 8fade6d11b58ccc74f46962690d630131f950f57..40e4e8d6b826fff50902559e31453a202499bee5 100644
--- a/src/uncategorized/salon.tw
+++ b/src/uncategorized/salon.tw
@@ -1,7 +1,6 @@
 :: Salon [nobr jump-from-safe]
 
 <<set $nextButton = "Confirm changes", $nextLink = "Slave Interact", $encyclopedia = "The Auto Salon">>
-<<set $AS = $activeSlave.ID>>
 <<run App.Utils.setLocalPronouns(getSlave($AS))>>
 
 <<if $showInches == 2>>
diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw
index 6af60640cd79bce7bc11834103ddb9fa5b909232..90d552b63c22c6daec5427e2ad0e8b41b0c6d180 100644
--- a/src/uncategorized/slaveInteract.tw
+++ b/src/uncategorized/slaveInteract.tw
@@ -3,7 +3,6 @@
 <<set $nextButton = "Confirm changes", $nextLink = "Main">>
 <<set _SL = $slaves.length, _CL = $canines.length, _HL = $hooved.length, _FL = $felines.length>>
 <<set $AS = $activeSlave.ID>>
-<<set $activeSlave = getSlave($AS)>>
 <<run App.Utils.setLocalPronouns(getSlave($AS))>>
 <<run Enunciate(getSlave($AS))>>
 <style>
@@ -81,15 +80,15 @@
 	</span>
 </p>
 <div class="tab-bar">
-	<button class="tab-links" onclick="App.UI.tabBar.openTab(event, 'Description'), jQuery('#LSD').empty().append(App.Desc.longSlave(getSlave(V.activeSlave.ID)))" id="tab Description">Description</button>
+	<button class="tab-links" onclick="App.UI.tabBar.openTab(event, 'Description'), jQuery('#LSD').empty().append(App.Desc.longSlave(getSlave(V.AS)))" id="tab Description">Description</button>
 	<button class="tab-links" onclick="App.UI.tabBar.openTab(event, 'Modify')" id="tab Modify">Modify</button>
 	<button class="tab-links" onclick="App.UI.tabBar.openTab(event, 'Work')" id="tab Work">Work</button>
-	<button class="tab-links" onclick="App.UI.tabBar.openTab(event, 'Appearance'), App.UI.Wardrobe.refreshAll(getSlave(V.activeSlave.ID))" id="tab Appearance">Appearance</button>
+	<button class="tab-links" onclick="App.UI.tabBar.openTab(event, 'Appearance'), App.UI.Wardrobe.refreshAll(getSlave(V.AS))" id="tab Appearance">Appearance</button>
 	<button class="tab-links" onclick="App.UI.tabBar.openTab(event, 'PhysicalRegimen')" id="tab PhysicalRegimen">Physical Regimen</button>
 	<button class="tab-links" onclick="App.UI.tabBar.openTab(event, 'Rules')" id="tab Rules">Rules</button>
 	<button class="tab-links" onclick="App.UI.tabBar.openTab(event, 'Financial')" id="tab Financial">Financial</button>
-	<button class="tab-links" onclick="App.UI.tabBar.openTab(event, 'Customize'), App.UI.SlaveInteract.custom(getSlave(V.activeSlave.ID))" id="tab Customize">Customize</button>
-	<button class="tab-links" onclick="App.UI.tabBar.openTab(event, 'family-tab'), renderFamilyTree(V.slaves, V.activeSlave.ID)" id="tab family-tab">Family</button>
+	<button class="tab-links" onclick="App.UI.tabBar.openTab(event, 'Customize'), App.UI.SlaveInteract.custom(getSlave(V.AS))" id="tab Customize">Customize</button>
+	<button class="tab-links" onclick="App.UI.tabBar.openTab(event, 'family-tab'), renderFamilyTree(V.slaves, V.AS)" id="tab family-tab">Family</button>
 </div>
 
 <div id="art-frame">
@@ -146,7 +145,7 @@
 	<div class="content">
 		<p id="work"></p>
 		<script>
-			App.UI.SlaveInteract.work(getSlave(V.activeSlave.ID))
+			App.UI.SlaveInteract.work(getSlave(V.AS))
 		</script>
 	</div>
 </div>
@@ -155,56 +154,56 @@
 	<div class="content">
 		<p>
 			<span id="clothes"></span>
-			/*<script>App.UI.Wardrobe.clothes(getSlave(V.activeSlave.ID))</script>*/
+			/*<script>App.UI.Wardrobe.clothes(getSlave(V.AS))</script>*/
 
 			<<if getSlave($AS).fuckdoll == 0>>
 				<span id="collar"></span>
-				/*<script>App.UI.Wardrobe.collar(getSlave(V.activeSlave.ID))</script>*/
+				/*<script>App.UI.Wardrobe.collar(getSlave(V.AS))</script>*/
 
 				<span id="faceAccessory"></span>
 
 				<span id="mouthAccessory"></span>
 
 				<span id="armAccessory"></span>
-				/*<script>App.UI.Wardrobe.armAccessory(getSlave(V.activeSlave.ID))</script>*/
+				/*<script>App.UI.Wardrobe.armAccessory(getSlave(V.AS))</script>*/
 
 				<<if hasAnyLegs(getSlave($AS))>>
 					<span id="shoes"></span>
-					/*<script>App.UI.Wardrobe.shoes(getSlave(V.activeSlave.ID))</script>*/
+					/*<script>App.UI.Wardrobe.shoes(getSlave(V.AS))</script>*/
 
 					<span id="legAccessory"></span>
-					/*<script>App.UI.Wardrobe.legAccessory(getSlave(V.activeSlave.ID))</script>*/
+					/*<script>App.UI.Wardrobe.legAccessory(getSlave(V.AS))</script>*/
 				<</if>>
 
 				<span id="bellyAccessory"></span>
-				/*<script>App.UI.Wardrobe.bellyAccessory(getSlave(V.activeSlave.ID))</script>*/
+				/*<script>App.UI.Wardrobe.bellyAccessory(getSlave(V.AS))</script>*/
 
 				<span id="buttplug"></span>
-				/*<script>App.UI.Wardrobe.buttplug(getSlave(V.activeSlave.ID))</script>*/
+				/*<script>App.UI.Wardrobe.buttplug(getSlave(V.AS))</script>*/
 
 				<<if isItemAccessible.entry("tail", "buttplugAttachment") && getSlave($AS).buttplug != "none">>
 					<span id="buttplugAttachment"></span>
-					/*<script>App.UI.Wardrobe.buttplugAttachment(getSlave(V.activeSlave.ID))</script>*/
+					/*<script>App.UI.Wardrobe.buttplugAttachment(getSlave(V.AS))</script>*/
 				<</if>>
 
 				<<if getSlave($AS).vagina > -1>>
 					<span id="vaginalAccessory"></span>
-					/*<script>App.UI.Wardrobe.vaginalAccessory(getSlave(V.activeSlave.ID))</script>*/
+					/*<script>App.UI.Wardrobe.vaginalAccessory(getSlave(V.AS))</script>*/
 					<span id="vaginalAttachment"></span>
-					/*<script>App.UI.Wardrobe.vaginalAttachment(getSlave(V.activeSlave.ID))</script>*/
+					/*<script>App.UI.Wardrobe.vaginalAttachment(getSlave(V.AS))</script>*/
 				<</if>>
 
 				<<if getSlave($AS).dick > 0>>
 					<span id="dickAccessory"></span>
-					/*<script>App.UI.Wardrobe.dickAccessory(getSlave(V.activeSlave.ID))</script>*/
+					/*<script>App.UI.Wardrobe.dickAccessory(getSlave(V.AS))</script>*/
 				<</if>>
 
 				<span id="chastity"></span>
-				/*<script>App.UI.Wardrobe.chastity(getSlave(V.activeSlave.ID))</script>*/
+				/*<script>App.UI.Wardrobe.chastity(getSlave(V.AS))</script>*/
 
 				<h3>Shopping</h3>
 				<span id="shopping"></span>
-				<script>App.UI.Wardrobe.shopping(getSlave(V.activeSlave.ID))</script>
+				<script>App.UI.Wardrobe.shopping(getSlave(V.AS))</script>
 
 			<</if>> /* CLOSES FUCKDOLL CHECK */
 		</p>
@@ -215,22 +214,22 @@
 	<div class="content">
 		<p>
 			<span id="drugs"></span>
-			<script>App.UI.SlaveInteract.drugs(getSlave(V.activeSlave.ID))</script>
+			<script>App.UI.SlaveInteract.drugs(getSlave(V.AS))</script>
 
 			<span id="curatives"></span>
-			<script>App.UI.SlaveInteract.curatives(getSlave(V.activeSlave.ID))</script>
+			<script>App.UI.SlaveInteract.curatives(getSlave(V.AS))</script>
 
 			<span id="aphrodisiacs"></span>
-			<script>App.UI.SlaveInteract.aphrodisiacs(getSlave(V.activeSlave.ID))</script>
+			<script>App.UI.SlaveInteract.aphrodisiacs(getSlave(V.AS))</script>
 
 			<span id="fertility-block"></span>
-			<script>App.UI.SlaveInteract.fertility(getSlave(V.activeSlave.ID))</script>
+			<script>App.UI.SlaveInteract.fertility(getSlave(V.AS))</script>
 
 			<span id="incubator"></span>
-			<script>App.UI.SlaveInteract.incubator(getSlave(V.activeSlave.ID))</script>
+			<script>App.UI.SlaveInteract.incubator(getSlave(V.AS))</script>
 
 			<span id="nursery"></span>
-			<script>App.UI.SlaveInteract.nursery(getSlave(V.activeSlave.ID))</script>
+			<script>App.UI.SlaveInteract.nursery(getSlave(V.AS))</script>
 
 			<<if $propOutcome == 1 && $arcologies[0].FSRestart != "unset">>
 				<<if getSlave($AS).breedingMark == 0 && getSlave($AS).fuckdoll == 0 && getSlave($AS).eggType == "human" && isFertile(getSlave($AS)) && getSlave($AS).preg == 0>>
@@ -240,19 +239,19 @@
 			<</if>>
 
 			<span id="bloating"></span>
-			<script>App.UI.SlaveInteract.bloating(getSlave(V.activeSlave.ID))</script>
+			<script>App.UI.SlaveInteract.bloating(getSlave(V.AS))</script>
 
 			<span id="hormones"></span>
-			<script>App.UI.SlaveInteract.hormones(getSlave(V.activeSlave.ID))</script>
+			<script>App.UI.SlaveInteract.hormones(getSlave(V.AS))</script>
 
 			<span id="diet"></span>
-			<script>App.UI.SlaveInteract.diet(getSlave(V.activeSlave.ID))</script>
+			<script>App.UI.SlaveInteract.diet(getSlave(V.AS))</script>
 
 			<span id="diet-base"></span>
-			<script>App.UI.SlaveInteract.dietBase(getSlave(V.activeSlave.ID))</script>
+			<script>App.UI.SlaveInteract.dietBase(getSlave(V.AS))</script>
 
 			<span id="snacks"></span>
-			<script>App.UI.SlaveInteract.snacks(getSlave(V.activeSlave.ID))</script>
+			<script>App.UI.SlaveInteract.snacks(getSlave(V.AS))</script>
 		</p>
 	</div>
 </div>
@@ -260,7 +259,7 @@
 <div id="Rules" class="tab-content">
 	<div class="content">
 		<span id="rules"></span>
-		<script>App.UI.SlaveInteract.rules(getSlave(V.activeSlave.ID))</script>
+		<script>App.UI.SlaveInteract.rules(getSlave(V.AS))</script>
 	</div>
 </div>
 
@@ -324,7 +323,7 @@
 
 		<h3>Financial</h3>
 		<p>
-			<<includeDOM slaveExpenses(V.activeSlave)>>
+			<<includeDOM slaveExpenses(getSlave(V.AS))>>
 		</p>
 
 		<p>
@@ -364,7 +363,7 @@
 <div id="Customize" class="tab-content">
 	<div class="content">
 		<span id="custom"></span>
-		<script>App.UI.SlaveInteract.custom(getSlave(V.activeSlave.ID))</script>
+		<script>App.UI.SlaveInteract.custom(getSlave(V.AS))</script>
 
 		/*<<include "Add custom descriptors">>*/
 	</div>