diff --git a/devTools/FC.d.ts b/devTools/FC.d.ts
index fb1c648d6736d67f9ce032c588e1982058964a8b..e53d61b75dc2d1ca1d0c7b25bfddb2369d5b875b 100644
--- a/devTools/FC.d.ts
+++ b/devTools/FC.d.ts
@@ -72,12 +72,6 @@ declare namespace App {
 		namespace Entries {}
 	}
 
-	namespace Entity {
-		class Serializable {}
-
-		namespace Utils {}
-	}
-
 	namespace Facilities {}
 
 	namespace Interact {}
@@ -370,4 +364,21 @@ declare namespace App {
 	}
 }
 
-const V: any;
+declare namespace FC {
+	// black magic to make TypeScript understand that App.Entity.SlaveState is a type
+	type SlaveState = InstanceType<typeof App.Entity.SlaveState>;
+
+	enum NoSlave {
+		value = 0
+	}
+
+	type SlaveStateOrZero = SlaveState | NoSlave;
+
+	type DefaultGameStateVariables = typeof App.Data.defaultGameStateVariables;
+	type ResetOnNGPVariables = typeof App.Data.resetOnNGPlus;
+	interface GameVariables extends DefaultGameStateVariables, ResetOnNGPVariables {}
+}
+
+const V: FC.GameVariables;
+
+function slaveStateById(ID: number): FC.SlaveState;
diff --git a/js/002-config/fc-js-init.js b/js/002-config/fc-js-init.js
index 5eff87da0a2f291b10f185220944887ec5494106..6b36572e801d4d64e971fca1e223e11358a428c8 100644
--- a/js/002-config/fc-js-init.js
+++ b/js/002-config/fc-js-init.js
@@ -39,7 +39,7 @@ App.Facilities.MasterSuite = {};
 App.Facilities.Nursery = {};
 App.Facilities.Schoolroom = {};
 App.Facilities.ServantsQuarters = {};
-App.Facilities.Spa = {}
+App.Facilities.Spa = {};
 App.Interact = {};
 App.Intro = {};
 App.MainView = {};
@@ -61,7 +61,6 @@ App.UI.View = {};
 App.Update = {};
 App.Utils = {};
 
-
 Object.defineProperty(App, "activeSlave", {
 	get: () => State.variables.activeSlave,
 	set: (slave) => { State.variables.activeSlave = slave; }
diff --git a/js/003-data/gameVariableData.js b/js/003-data/gameVariableData.js
index 3a3c7298a13b5739032c6b1cbc4ea35caf60fd33..f0bbc2ac969e71e5f7947ae9e62127baccf5707f 100644
--- a/js/003-data/gameVariableData.js
+++ b/js/003-data/gameVariableData.js
@@ -12,13 +12,16 @@ App.Data.defaultGameStateVariables = {
 	releaseID: 0,
 
 	// Slaves
+	/** @type {Object.<number, number>} */
 	slaveIndices: {},
 	genePool: [],
 	geneMods: {NCS: 0, rapidCellGrowth: 0},
 	missingTable: {},
+	/** @type {App.Entity.SlaveState[]} */
 	slaves: [],
 
 	// PC
+	/** @type {App.Entity.PlayerState} */
 	PC: {},
 	freshPC: 0,
 	IsInPrimePC: 3,
@@ -233,18 +236,31 @@ App.Data.resetOnNGPlus = {
 	assignmentRecords: {},
 	marrying: [], // array of slave being married this week
 	organs: [],
+	/** @type {number[]} */
 	ArcadeiIDs: [],
+	/** @type {number[]} */
 	BrothiIDs: [],
+	/** @type {number[]} */
 	CellBiIDs: [],
+	/** @type {number[]} */
 	CliniciIDs: [],
+	/** @type {number[]} */
 	ClubiIDs: [],
+	/** @type {number[]} */
 	DairyiIDs: [],
+	/** @type {number[]} */
 	FarmyardiIDs: [],
+	/** @type {number[]} */
 	HGSuiteiIDs: [],
+	/** @type {number[]} */
 	MastSiIDs: [],
+	/** @type {number[]} */
 	SchlRiIDs: [],
+	/** @type {number[]} */
 	ServQiIDs: [],
+	/** @type {number[]} */
 	SpaiIDs: [],
+	/** @type {number[]} */
 	NurseryiIDs: [],
 	corp: App.Data.CorpInitData,
 	dividendTimer: 0,
@@ -995,10 +1011,12 @@ App.Data.resetOnNGPlus = {
 
 	weddingPlanned: 0,
 	personalAttention: "sex",
+	/** @type {FC.SlaveStateOrZero} */
 	HeadGirl: 0,
 	HGTimeInGrade: 0,
 	HGEnergy: 0,
 	HGCum: 0,
+	/** @type {FC.SlaveStateOrZero} */
 	Recruiter: 0,
 	recruiterTarget: "desperate whores",
 	recruiterProgress: 0,
@@ -1006,20 +1024,33 @@ App.Data.resetOnNGPlus = {
 	recruiterIdleNumber: 20,
 	recruiterIOUs: 0,
 	bodyguardTrains: 1,
+	/** @type {FC.SlaveStateOrZero} */
 	Bodyguard: 0,
+	/** @type {FC.SlaveStateOrZero} */
 	Madam: 0,
+	/** @type {FC.SlaveStateOrZero} */
 	DJ: 0,
+	/** @type {FC.SlaveStateOrZero} */
 	Milkmaid: 0,
 	milkmaidImpregnates: 0,
+	/** @type {FC.SlaveStateOrZero} */
 	Farmer: 0,
+	/** @type {FC.SlaveStateOrZero} */
 	Collectrix: 0,
+	/** @type {FC.SlaveStateOrZero} */
 	Stewardess: 0,
 	stewardessImpregnates: 0,
+	/** @type {FC.SlaveStateOrZero} */
 	Schoolteacher: 0,
+	/** @type {FC.SlaveStateOrZero} */
 	Attendant: 0,
+	/** @type {FC.SlaveStateOrZero} */
 	Matron: 0,
+	/** @type {FC.SlaveStateOrZero} */
 	Nurse: 0,
+	/** @type {FC.SlaveStateOrZero} */
 	Wardeness: 0,
+	/** @type {FC.SlaveStateOrZero} */
 	Concubine: 0,
 	economicUncertainty: 10,
 
@@ -1262,8 +1293,9 @@ App.Data.resetOnNGPlus = {
 	RegularParties: 0,
 	PAPublic: 0,
 	CoursingAssociation: 0,
-	Lurcher: 0,
+	LurcherID: 0,
 	coursed: 0,
+	/** @type {FC.SlaveStateOrZero} */
 	Stud: 0,
 	StudCum: 0,
 	RaidingMercenaries: 0,
diff --git a/src/002-config/fc-version.js b/src/002-config/fc-version.js
index dda732eac5bddf28028fe2ede56ffabe69dd2a0a..35a951cc169998f404a8493ee18aa7d914539bfc 100644
--- a/src/002-config/fc-version.js
+++ b/src/002-config/fc-version.js
@@ -1,7 +1,7 @@
 App.Version = {
 	base: "0.10.7.1", // The vanilla version the mod is based off of, this should never be changed.
 	pmod: "3.4.0",
-	release: 1066,
+	release: 1067,
 };
 
 /* Use release as save version */
diff --git a/src/art/artJS.js b/src/art/artJS.js
index 8d0bb9571fbb917eaa520c03937ec924e9abd7d6..d1fcb88fdb28f87f1da3429a6647643875e8ae22 100644
--- a/src/art/artJS.js
+++ b/src/art/artJS.js
@@ -12,7 +12,7 @@
  * @returns {string}
  */
 window.SlaveArt = function(artSlave, artSize, UIDisplay) {
-	const imageChoice = State.variables.imageChoice;
+	const imageChoice = V.imageChoice;
 	if (artSlave.custom.image !== null && artSlave.custom.image.filename !== "") {
 		return CustomArt(artSlave, artSize);
 	} else if (imageChoice === 1) { /* VECTOR ART BY NOX/DEEPMURK */
diff --git a/src/data/backwardsCompatibility/datatypeCleanup.js b/src/data/backwardsCompatibility/datatypeCleanup.js
index a5cb9d17eeb2fd32a648aa5f5813a2a8fd4cf9be..35d84b553e698e83d7a85823f4c12e3b07b8218c 100644
--- a/src/data/backwardsCompatibility/datatypeCleanup.js
+++ b/src/data/backwardsCompatibility/datatypeCleanup.js
@@ -1991,7 +1991,7 @@ window.FacilityDatatypeCleanup = (function() {
 		V.Recruiter = V.slaves.find(s => s.assignment === "recruit girls") || 0;
 		V.Bodyguard = V.slaves.find(s => s.assignment === "guard you") || 0;
 		if (V.Lurcher) {
-			V.Lurcher = V.slaves[V.slaveIndices[V.Lurcher.ID]];
+			V.LurcherID = V.Lurcher === 0 ? 0 : V.Lurcher.ID;
 		}
 		if (V.Stud) {
 			V.Stud = V.slaves[V.slaveIndices[V.Stud.ID]];
diff --git a/src/js/assignJS.js b/src/js/assignJS.js
index f6c681253fea29ea714e4aad7655ebdab1d3ce06..83149f60dbb1a0c89cda60754372f189194e9cae 100644
--- a/src/js/assignJS.js
+++ b/src/js/assignJS.js
@@ -463,7 +463,7 @@ window.removeJob = function removeJob(slave, assignment, saveRecord) {
 	if (assignment === "Pit") {
 		V.fighterIDs.delete(slave.ID);
 	} else if (assignment === "Coursing Association") {
-		V.Lurcher = 0;
+		V.LurcherID = 0;
 	} else {
 		if (V.HeadGirl !== 0 && slave.ID === V.HeadGirl.ID) {
 			V.HeadGirl = 0;
diff --git a/src/js/removeActiveSlave.js b/src/js/removeActiveSlave.js
index 531734a5f0e4f1eec3bd925604cfbf5b8fb00c28..7c7848cdba1bf79e5968c8bb4c5e822cdaebc638 100644
--- a/src/js/removeActiveSlave.js
+++ b/src/js/removeActiveSlave.js
@@ -118,8 +118,8 @@ window.removeActiveSlave = function removeActiveSlave() {
 		V.fighterIDs.delete(AS_ID);
 
 		/* remove from Coursing Association, if needed */
-		if (V.Lurcher !== 0 && V.Lurcher.ID === AS_ID) {
-			V.Lurcher = 0;
+		if (V.LurcherID === AS_ID) {
+			V.LurcherID = 0;
 		}
 
 		if (Array.isArray(V.personalAttention)) {
diff --git a/src/uncategorized/assign.tw b/src/uncategorized/assign.tw
index 52be71e1e819a7c35930572474fd646cb5d5a314..8476f10e7bf34d15f1425e519dc0dc6a74ebb08d 100644
--- a/src/uncategorized/assign.tw
+++ b/src/uncategorized/assign.tw
@@ -11,7 +11,7 @@
 		<<set $fighterIDs.push($activeSlave.ID)>>
 		<<goto $returnTo>>
 	<<case "Coursing Association">>
-		<<set $Lurcher = $activeSlave>>
+		<<set $LurcherID = $activeSlave.ID>>
 		<<goto $returnTo>>
 	<<default>>
 		<<= assignJob($activeSlave, $assignTo)>>
diff --git a/src/uncategorized/coursingAssociation.tw b/src/uncategorized/coursingAssociation.tw
index f0194d1818abee6c7be3e30e25a24f52a07fb816..5eed13c2ebef0874aad06ee85905bc838a7ddc60 100644
--- a/src/uncategorized/coursingAssociation.tw
+++ b/src/uncategorized/coursingAssociation.tw
@@ -6,24 +6,24 @@ You are a member of $arcologies[0].name's Coursing Association. Coursing is a Fr
 <br><br>
 The chasing slaves are known as lurchers, the term once used for the sighthounds. They require speed most of all, but must also be able to tackle their quarry; lurchers with the ability and willingness to make a spectacle of molesting the hares can improve their owners' reputations.
 
-<<if $Lurcher != 0>>
-	<<= SlaveFullName($slaves[$slaveIndices[$Lurcher.ID]])>> is assigned to compete as your lurcher.
+<<if $LurcherID != 0>>
+	<<= SlaveFullName(slaveStateById($LurcherID))>> is assigned to compete as your lurcher.
 <<else>>
 	You have not selected a lurcher, meaning that you will not participate in coursing events.
 <</if>>
 
 //<br><<= properTitle()>>, slaves assigned here can continue their usual duties.//
 
-<<if $Lurcher != 0>>
+<<if $LurcherID != 0>>
 	<br><br>''Fire your Lurcher:''
-	<<= App.UI.SlaveList.render.listMarkup([App.Utils.slaveIndexForId($Lurcher.ID)], [],
+	<<= App.UI.SlaveList.render.listMarkup([App.Utils.slaveIndexForId($LurcherID)], [],
 		(slave, index) => App.UI.DOM.passageLink(SlaveFullName(slave), 'Retrieve',
-		() => { $i = App.Utils.slaveIndexForId($Lurcher.ID) }))>>
+		() => { $i = App.Utils.slaveIndexForId($LurcherID) }))>>
 <</if>>
 
 <br><br>''Select a slave to course as a Lurcher:''
 <br><br>
 <<= App.UI.SlaveList.slaveSelectionList(
-		s => $Lurcher.ID !== s.ID && canWalk(s) && canHold(s) && (canSee(s) || canHear(s)) && s.fuckdoll === 0 && isSlaveAvailable(s),
+		s => $LurcherID !== s.ID && canWalk(s) && canHold(s) && (canSee(s) || canHear(s)) && s.fuckdoll === 0 && isSlaveAvailable(s),
 		(slave, index) => App.UI.DOM.passageLink(SlaveFullName(slave), 'Assign', () => { variables().i = index; })
 	)>>
diff --git a/src/uncategorized/policies.tw b/src/uncategorized/policies.tw
index 9646d6669cfc93f2c7629039cde9a31dcd5f101f..81fa43ad0f55332b1f27380062971879e69eb2e7 100644
--- a/src/uncategorized/policies.tw
+++ b/src/uncategorized/policies.tw
@@ -594,8 +594,8 @@ More policies will become available as the arcology develops.//
 	<<if $CoursingAssociation>>
 		<br>''Coursing Association:'' you are sponsoring a [[Coursing Association]] that will hold monthly races.
 		@@.yellow;[[Repeal|Policies][$CoursingAssociation = 0]]@@
-		<<if $Lurcher != 0>>
-			<<set $activeSlave = getSlave($Lurcher.ID)>>
+		<<if $LurcherID != 0>>
+			<<set $activeSlave = getSlave($LurcherID)>>
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;Your current lurcher is
 			<<link "<<= SlaveFullName($activeSlave)>>" "Slave Interact">><</link>>.
 		<</if>>
diff --git a/src/uncategorized/reNickname.tw b/src/uncategorized/reNickname.tw
index 963908916d097c4bbf44490ea924451b6a7062db..4bdd97e758d3d6c43b82ca4c11875acb92b4bf21 100644
--- a/src/uncategorized/reNickname.tw
+++ b/src/uncategorized/reNickname.tw
@@ -150,7 +150,7 @@
 	<<set _qualifiedNicknames.push("Nurse")>>
 <</if>>
 
-<<if ($activeSlave.ID == $Lurcher.ID)>>
+<<if ($activeSlave.ID == $LurcherID)>>
 	<<set _qualifiedNicknames.push("Lurcher")>>
 <</if>>
 <<if ($activeSlave.assignment == "be a subordinate slave")>>
diff --git a/src/uncategorized/retrieve.tw b/src/uncategorized/retrieve.tw
index 952ced5cdcfe71d06f643f4bd1d130b69d31bb46..b9c423b16be276c6b38cc9c75daf531262db44c1 100644
--- a/src/uncategorized/retrieve.tw
+++ b/src/uncategorized/retrieve.tw
@@ -4,7 +4,7 @@
 <<case "Pit">>
 	<<set $fighterIDs.delete($slaves[$i].ID)>>
 <<case "Coursing Association">>
-	<<set $Lurcher = 0>>
+	<<set $LurcherID = 0>>
 <<default>>
 	<<= removeJob($slaves[$i], $slaves[$i].assignment)>>
 <</switch>>
diff --git a/src/uncategorized/scheduledEvent.tw b/src/uncategorized/scheduledEvent.tw
index 177f9ce538e14ee9665f463fc8805fc8047c5e79..7adeffed428ef4ad251e0674576104109997c54f 100644
--- a/src/uncategorized/scheduledEvent.tw
+++ b/src/uncategorized/scheduledEvent.tw
@@ -141,7 +141,7 @@
 	<<goto "JobFulfillmentCenterDelivery">>
 <<elseif ($huskSlaveOrdered == 1)>>
 	<<goto "SE husk slave delivery">>
-<<elseif ($Lurcher != 0) && ($CoursingAssociation != 0) && (Math.trunc($week/4) == ($week/4)) && ($coursed != 1)>>
+<<elseif ($LurcherID != 0) && ($CoursingAssociation != 0) && (Math.trunc($week/4) == ($week/4)) && ($coursed != 1)>>
 	<<goto "SE coursing">>
 <<elseif ($RaidingMercenaries != 0) && ($week > ($raided + 6))>>
 	<<goto "SE raiding">>
@@ -191,4 +191,4 @@
 	<<run delete $JFCReorder>>
 	<<run delete $customSlaveOrderedReorder>>
 	<<goto "Nonrandom Event">>
-<</if>>
\ No newline at end of file
+<</if>>
diff --git a/src/uncategorized/seCoursing.tw b/src/uncategorized/seCoursing.tw
index cbc3e4e7e384b5ebc2e0382c9bb2b3d780de09af..0882f6f08546a2f9aa2eac9c3f63e112131310f7 100644
--- a/src/uncategorized/seCoursing.tw
+++ b/src/uncategorized/seCoursing.tw
@@ -2,24 +2,22 @@
 
 <<set $nextButton = "Continue", $nextLink = "Scheduled Event", $returnTo = "Scheduled Event", $coursed = 1, _seed = 0>>
 
-<<set $lurcherIndex = $slaveIndices[$Lurcher.ID]>>
-<<set $activeLurcher = getSlave($Lurcher.ID)>>
+<<set _activeLurcher = getSlave($LurcherID)>>
+<<setLocalPronouns _activeLurcher>>
 
-<<setLocalPronouns $slaves[$lurcherIndex]>>
-
-<<set _clothesTemp = $activeLurcher.clothes, $activeLurcher.clothes = "no clothing">>
 <span id="artFrame">
 /* 000-250-006 */
 <<if $seeImages == 1>>
+	<<set _clothesTemp = _activeLurcher.clothes, _activeLurcher.clothes = "no clothing">>
 	<<if $imageChoice == 1>>
-		<div class="imageRef lrgVector"><div class="mask">&nbsp;</div><<= SlaveArt($activeLurcher, 2, 0)>></div>
+		<div class="imageRef lrgVector"><div class="mask">&nbsp;</div><<= SlaveArt(_activeLurcher, 2, 0)>></div>
 	<<else>>
-		<div class="imageRef lrgRender"><div class="mask">&nbsp;</div><<= SlaveArt($activeLurcher, 2, 0)>></div>
+		<div class="imageRef lrgRender"><div class="mask">&nbsp;</div><<= SlaveArt(_activeLurcher, 2, 0)>></div>
 	<</if>>
+	<<set _activeLurcher.clothes = _clothesTemp>>
 <</if>>
 /* 000-250-006 */
 </span>
-<<set $activeLurcher.clothes = _clothesTemp>>
 
 <span id="result">
 
@@ -28,45 +26,45 @@ It's time to go coursing. You meet with fellow members of the Coursing Associati
 The rules have been explained to the hares: they're to be freed if they can reach the other side of the plaza without being caught and raped by the lurchers who will be released to chase them.
 
 <br><br>
-You lead your lurcher $activeLurcher.slaveName out on a leash, naked just like the hares.
+You lead your lurcher _activeLurcher.slaveName out on a leash, naked just like the hares.
 
-<<if ($activeLurcher.dick > 0)>>
-	<<if canPenetrate($activeLurcher) && ($activeLurcher.energy > 60) && ($activeLurcher.devotion > 20)>>
-		<<if ($activeLurcher.dick > 4)>>
+<<if (_activeLurcher.dick > 0)>>
+	<<if canPenetrate(_activeLurcher) && (_activeLurcher.energy > 60) && (_activeLurcher.devotion > 20)>>
+		<<if (_activeLurcher.dick > 4)>>
 			$He's sporting an enormous half-erection, which has already been heavily lubricated to prevent permanent damage to the hares' holes. As you bring $him up to the mark, $he grabs its base and begins to slap it against $his thigh, hard. The hares look around to see what the wet smacking noise is, and are understandably frightened; one of them begins to beg openly. Your fellow competitors @@.green;think this is hilarious.@@
-			<<run repX(250, "event", $slaves[$lurcherIndex])>>
+			<<run repX(250, "event", _activeLurcher)>>
 			<<set $phallus = "huge dick">>
 		<<else>>
 			$He's ready to do $his best. Since $he's concentrating on the immediate challenge of catching rather than the secondary challenge of raping, $he isn't hard yet, but $he's not indifferent to the prospect of getting $his dick wet. There's a bead of precum forming at $his tip.
 			<<set $phallus = "dick">>
 		<</if>>
-	<<elseif !canAchieveErection($activeLurcher)>>
+	<<elseif !canAchieveErection(_activeLurcher)>>
 		There's no way $he's going to be able to achieve an erection, so $he's holding a lubricated dildo in one hand. This is technically permitted under the rules, but your fellow competitors and the crowd gathering to spectate @@.red;consider it poor form.@@
-		<<run repX(-50, "event", $slaves[$lurcherIndex])>>
+		<<run repX(-50, "event", _activeLurcher)>>
 		<<set $phallus = "dildo">>
-	<<elseif ($activeLurcher.energy <= 60) || ($activeLurcher.devotion <= 20)>>
+	<<elseif (_activeLurcher.energy <= 60) || (_activeLurcher.devotion <= 20)>>
 		$He looks nervous, and obviously doesn't find the situation arousing. $He knows $he's to catch and then rape a slave, but may not be able to get hard enough to do the deed properly. Your fellow competitors and the crowd gathering to spectate @@.red;are unimpressed@@ by $his lack of spirit.
-		<<run repX(-50, "event", $slaves[$lurcherIndex])>>
+		<<run repX(-50, "event", _activeLurcher)>>
 		<<set $phallus = "fingers">>
 	<<else>>
 		$His dick is not a fit instrument for sexual assault, so $he's holding a lubricated dildo in one hand. This is technically permitted under the rules, but your fellow competitors and the crowd gathering to spectate @@.red;consider it poor form.@@
-		<<run repX(-50, "event", $slaves[$lurcherIndex])>>
+		<<run repX(-50, "event", _activeLurcher)>>
 		<<set $phallus = "dildo">>
 	<</if>>
-<<elseif ($activeLurcher.clit > 1) && ($activeLurcher.energy > 60) && ($activeLurcher.devotion > 20)>>
+<<elseif (_activeLurcher.clit > 1) && (_activeLurcher.energy > 60) && (_activeLurcher.devotion > 20)>>
 	$He's gently masturbating as you bring $him up to the mark, $his enormous clit becoming engorged and stiff. Your fellow competitors and the gathering crowd of spectators @@.green;are fascinated,@@ realizing that $he intends to attempt rape with it.
-	<<run repX(250, "event", $slaves[$lurcherIndex])>>
+	<<run repX(250, "event", _activeLurcher)>>
 	<<set $phallus = "clit">>
 <<elseif $seeDicks != 0>>
 	$He's holding a lubricated dildo in one hand, since $he's missing a natural phallus of $his own. This is technically permitted under the rules, but your fellow competitors and the crowd gathering to spectate @@.red;consider it poor form.@@
-	<<run repX(-50, "event", $slaves[$lurcherIndex])>>
+	<<run repX(-50, "event", _activeLurcher)>>
 	<<set $phallus = "dildo">>
 <<else>>
 	$He's holding a lubricated dildo in one hand. As you bring $him up to the mark, $he begins to slap it against $his thigh out of nervousness and eagerness to begin. The hares look around to see what the wet smacking noise is, and are understandably frightened; one of them begins to cry openly.
 	<<set $phallus = "dildo">>
 <</if>>
 
-<<if canSee($activeLurcher)>>$activeLurcher.slaveName looks at you questioningly, wondering which of the hares $he should try to chase down and molest<<else>>$activeLurcher.slaveName looks at you questioningly, wondering which of the dinging bells $he should try to chase down and molest<</if>>.
+<<if canSee(_activeLurcher)>>_activeLurcher.slaveName looks at you questioningly, wondering which of the hares $he should try to chase down and molest<<else>>_activeLurcher.slaveName looks at you questioningly, wondering which of the dinging bells $he should try to chase down and molest<</if>>.
 
 
 <<set $hare1 = 0, $hare2 = 0, $hare3 = 0>>
@@ -245,7 +243,7 @@ You lead your lurcher $activeLurcher.slaveName out on a leash, naked just like t
 			<<include "SE coursing race">>
 		<</replace>>
 		<<replace "#artFrame">>
-			<<set _clothesTemp = $activeLurcher.clothes, $activeLurcher.clothes = "no clothing">>
+			<<set _clothesTemp = _activeLurcher.clothes, _activeLurcher.clothes = "no clothing">>
 			<<if $activeSlave != 0>>
 				<<set _clothesTemp2 = $activeSlave.clothes, $activeSlave.clothes = "no clothing">>
 			<</if>>
@@ -253,7 +251,7 @@ You lead your lurcher $activeLurcher.slaveName out on a leash, naked just like t
 			<<if $seeImages == 1>>
 				<div class="imageColumn">
 					<div class="imageRef medImg">
-						<<= SlaveArt($activeLurcher, 2, 0)>>
+						<<= SlaveArt(_activeLurcher, 2, 0)>>
 					</div>
 					<<if $activeSlave != 0>>
 						<div class="imageRef medImg">
@@ -263,11 +261,11 @@ You lead your lurcher $activeLurcher.slaveName out on a leash, naked just like t
 				</div>
 			<</if>>
 			/* 000-250-006 */
-			<<set $activeLurcher.clothes = _clothesTemp>>
+			<<set _activeLurcher.clothes = _clothesTemp>>
 			<<if $activeSlave != 0>>
 				<<set $activeSlave.clothes = _clothesTemp2>>
 			<</if>>
-			<<unset $activeLurcher>>
+			<<unset _activeLurcher>>
 		<</replace>>
 	<</link>>
 <<elseif _sec == 1>>
@@ -278,7 +276,7 @@ You lead your lurcher $activeLurcher.slaveName out on a leash, naked just like t
 			<<include "SE coursing race">>
 		<</replace>>
 		<<replace "#artFrame">>
-			<<set _clothesTemp = $activeLurcher.clothes, $activeLurcher.clothes = "no clothing">>
+			<<set _clothesTemp = _activeLurcher.clothes, _activeLurcher.clothes = "no clothing">>
 			<<if $activeSlave != 0>>
 				<<set _clothesTemp2 = $activeSlave.clothes, $activeSlave.clothes = "no clothing">>
 			<</if>>
@@ -286,7 +284,7 @@ You lead your lurcher $activeLurcher.slaveName out on a leash, naked just like t
 			<<if $seeImages == 1>>
 				<div class="imageColumn">
 					<div class="imageRef medImg">
-						<<= SlaveArt($activeLurcher, 2, 0)>>
+						<<= SlaveArt(_activeLurcher, 2, 0)>>
 					</div>
 					<<if $activeSlave != 0>>
 						<div class="imageRef medImg">
@@ -296,11 +294,11 @@ You lead your lurcher $activeLurcher.slaveName out on a leash, naked just like t
 				</div>
 			<</if>>
 			/* 000-250-006 */
-			<<set $activeLurcher.clothes = _clothesTemp>>
+			<<set _activeLurcher.clothes = _clothesTemp>>
 			<<if $activeSlave != 0>>
 				<<set $activeSlave.clothes = _clothesTemp2>>
 			<</if>>
-			<<unset $activeLurcher>>
+			<<unset _activeLurcher>>
 		<</replace>>
 	<</link>>
 <<else>>
@@ -311,7 +309,7 @@ You lead your lurcher $activeLurcher.slaveName out on a leash, naked just like t
 			<<include "SE coursing race">>
 		<</replace>>
 		<<replace "#artFrame">>
-			<<set _clothesTemp = $activeLurcher.clothes, $activeLurcher.clothes = "no clothing">>
+			<<set _clothesTemp = _activeLurcher.clothes, _activeLurcher.clothes = "no clothing">>
 			<<if $activeSlave != 0>>
 				<<set _clothesTemp2 = $activeSlave.clothes, $activeSlave.clothes = "no clothing">>
 			<</if>>
@@ -319,7 +317,7 @@ You lead your lurcher $activeLurcher.slaveName out on a leash, naked just like t
 			<<if $seeImages == 1>>
 				<div class="imageColumn">
 					<div class="imageRef medImg">
-						<<= SlaveArt($activeLurcher, 2, 0)>>
+						<<= SlaveArt(_activeLurcher, 2, 0)>>
 					</div>
 					<<if $activeSlave != 0>>
 						<div class="imageRef medImg">
@@ -329,31 +327,31 @@ You lead your lurcher $activeLurcher.slaveName out on a leash, naked just like t
 				</div>
 			<</if>>
 			/* 000-250-006 */
-			<<set $activeLurcher.clothes = _clothesTemp>>
+			<<set _activeLurcher.clothes = _clothesTemp>>
 			<<if $activeSlave != 0>>
 				<<set $activeSlave.clothes = _clothesTemp2>>
 			<</if>>
-			<<unset $activeLurcher>>
+			<<unset _activeLurcher>>
 		<</replace>>
 	<</link>>
 <</if>>
 <<if $origin == "virgin">>
-	is an appealingly young $activeSlave.race _girl2, and has V symbols drawn over _his2 cunt and on _his2 lower back, in the interests of fairness. _He2's a @@.pink;double virgin.@@<<if !canSee($activeLurcher)>> To accommodate your blind lurcher, a bell is fastened around _his2 neck.<</if>>
+	is an appealingly young $activeSlave.race _girl2, and has V symbols drawn over _his2 cunt and on _his2 lower back, in the interests of fairness. _He2's a @@.pink;double virgin.@@<<if !canSee(_activeLurcher)>> To accommodate your blind lurcher, a bell is fastened around _his2 neck.<</if>>
 <<elseif $origin == "heavily pregnant">>
-	is <<= addA($activeSlave.race)>> _girl2, young and healthy but @@.pink;heavily pregnant.@@ _He2's probably been selected to be a hare as a joke, or because someone hates _him2. <<if !canSee($activeLurcher)>> To accommodate your blind lurcher, a bell is attached to _his2 popped navel.<</if>>
+	is <<= addA($activeSlave.race)>> _girl2, young and healthy but @@.pink;heavily pregnant.@@ _He2's probably been selected to be a hare as a joke, or because someone hates _him2. <<if !canSee(_activeLurcher)>> To accommodate your blind lurcher, a bell is attached to _his2 popped navel.<</if>>
 <<elseif $origin == "housewife">>
-	is <<= addA($activeSlave.race)>> _woman2, no longer young, but attractive enough in a fake sort of way. _He2 has obviously been crying, and has probably been recently enslaved from a comfortable life, like that of a @@.pink;house<<= $wife>> or a trophy $wife.@@<<if !canSee($activeLurcher)>> To accommodate your blind lurcher, a bell is fastened around _his2 neck.<</if>>
+	is <<= addA($activeSlave.race)>> _woman2, no longer young, but attractive enough in a fake sort of way. _He2 has obviously been crying, and has probably been recently enslaved from a comfortable life, like that of a @@.pink;house<<= $wife>> or a trophy $wife.@@<<if !canSee(_activeLurcher)>> To accommodate your blind lurcher, a bell is fastened around _his2 neck.<</if>>
 <<elseif $origin == "disobedient young">>
-	is a fit young $activeSlave.race _girl2, and is far more watchful and alert than _his2 fellow hares. _He2 may be a @@.pink;disobedient slave@@ here because _he2 was difficult to train.<<if !canSee($activeLurcher)>> To accommodate your blind lurcher, a bell is fastened around _his2 neck.<</if>>
+	is a fit young $activeSlave.race _girl2, and is far more watchful and alert than _his2 fellow hares. _He2 may be a @@.pink;disobedient slave@@ here because _he2 was difficult to train.<<if !canSee(_activeLurcher)>> To accommodate your blind lurcher, a bell is fastened around _his2 neck.<</if>>
 <<elseif $origin == "disobedient young dickgirl">>
-	is a strong young $activeSlave.race slave who retains _his2 cock and balls, and looks determined. Perhaps _he2's a @@.pink;resistant dickgirl@@ who's been difficult to turn into a good girl.<<if !canSee($activeLurcher)>> To accommodate your blind lurcher, a bell is fastened around _his2 cock.<</if>>
+	is a strong young $activeSlave.race slave who retains _his2 cock and balls, and looks determined. Perhaps _he2's a @@.pink;resistant dickgirl@@ who's been difficult to turn into a good girl.<<if !canSee(_activeLurcher)>> To accommodate your blind lurcher, a bell is fastened around _his2 cock.<</if>>
 <<elseif $origin == "huge balled">>
-	is <<= addA($activeSlave.race)>> slave whose distinguishing characteristic is a dangling scrotum and a pair of @@.pink;huge balls.@@ This impediment bumps against _his2 thighs as _he2's made ready.<<if !canSee($activeLurcher)>> To accommodate your blind lurcher, a bell is fastened around _his2 hefty testicles.<</if>>
+	is <<= addA($activeSlave.race)>> slave whose distinguishing characteristic is a dangling scrotum and a pair of @@.pink;huge balls.@@ This impediment bumps against _his2 thighs as _he2's made ready.<<if !canSee(_activeLurcher)>> To accommodate your blind lurcher, a bell is fastened around _his2 hefty testicles.<</if>>
 <<elseif $origin == "feminized">>
-	is <<= addA($activeSlave.race)>> bitch with a tiny dick who has been @@.pink;heavily feminized,@@ yet seems terrified and very new to slavery. _His2 fake tits and girly behavior must be from _his2 life before _he2 was a slave.<<if !canSee($activeLurcher)>> To accommodate your blind lurcher, a bell is fastened around _his2 neck.<</if>>
+	is <<= addA($activeSlave.race)>> bitch with a tiny dick who has been @@.pink;heavily feminized,@@ yet seems terrified and very new to slavery. _His2 fake tits and girly behavior must be from _his2 life before _he2 was a slave.<<if !canSee(_activeLurcher)>> To accommodate your blind lurcher, a bell is fastened around _his2 neck.<</if>>
 <</if>>
 
-<<set $activeSlave.origin = "Your lurcher " + $activeLurcher.slaveName + " caught $him coursing; $he was a " + $origin + " hare.">>
+<<set $activeSlave.origin = "Your lurcher " + _activeLurcher.slaveName + " caught $him coursing; $he was a " + $origin + " hare.">>
 <<run setHealth($activeSlave, jsRandom(30,50))>>
 <<set $activeSlave.devotion = random(-45,-25)>>
 <<set $activeSlave.trust = random(-60,-75)>>
diff --git a/src/uncategorized/seCoursingRace.tw b/src/uncategorized/seCoursingRace.tw
index 04f91e9144755ac30ddd64f8f962245a99e0db07..98314cbc0f1df74eac3b22375f4a8169914dbc33 100644
--- a/src/uncategorized/seCoursingRace.tw
+++ b/src/uncategorized/seCoursingRace.tw
@@ -1,132 +1,133 @@
 :: SE coursing race [nobr]
 
-<<setLocalPronouns $activeLurcher>>
+<<set _activeLurcher = getSlave($LurcherID)>>
+<<setLocalPronouns _activeLurcher>>
 <<setLocalPronouns $activeSlave 2>>
 
-You place your hand on the leash's quick release and <<if canHear($activeLurcher)>>whisper your direction into $his ear without letting the other competitors or their lurchers hear<<else>>gently point $him towards the target hare without letting the other competitors or their lurchers see<</if>>. Then, you gently push $him down into $his starting crouch. The umpire trips the hares' releases, a few <<if $showInches == 2>>yards<<else>>meters<</if>> in front of you and $activeLurcher.slaveName, and you instantly let your lurcher off $his leash.
+You place your hand on the leash's quick release and <<if canHear(_activeLurcher)>>whisper your direction into $his ear without letting the other competitors or their lurchers hear<<else>>gently point $him towards the target hare without letting the other competitors or their lurchers see<</if>>. Then, you gently push $him down into $his starting crouch. The umpire trips the hares' releases, a few <<if $showInches == 2>>yards<<else>>meters<</if>> in front of you and _activeLurcher.slaveName, and you instantly let your lurcher off $his leash.
 
 <<set _LurcherSpeed = 10>>
-<<if $activeLurcher.devotion > 50>>
+<<if _activeLurcher.devotion > 50>>
 	$He's eager to do well for you, and immediately takes off.
 	<<set _LurcherSpeed += 2>>
-<<elseif $activeLurcher.trust < -20>>
+<<elseif _activeLurcher.trust < -20>>
 	$He's frightened of failing you, and immediately takes off.
 	<<set _LurcherSpeed += 1>>
-<<elseif $activeLurcher.devotion < -20>>
+<<elseif _activeLurcher.devotion < -20>>
 	$He's disgusted by this, and is slow to start.
 	<<set _LurcherSpeed -= 1>>
 <<else>>
 	$He's a bit hesitant about this, but gets off reasonably well.
 <</if>>
-<<if $activeLurcher.health.condition > 60>>
+<<if _activeLurcher.health.condition > 60>>
 	$His shining health allows $him to pour it on.
 	<<set _LurcherSpeed += 1>>
-<<elseif $activeLurcher.health.condition < 0>>
+<<elseif _activeLurcher.health.condition < 0>>
 	$His poor health slows $him down.
 	<<set _LurcherSpeed -= 1>>
 <</if>>
-<<if $activeLurcher.health.tired > 90>>
+<<if _activeLurcher.health.tired > 90>>
 	$He is exhausted and can barely stay awake; side bets are starting up on how far $he'll make it around the track.
 	<<set _LurcherSpeed -= 5>>
-<<elseif $activeLurcher.health.tired > 60>>
+<<elseif _activeLurcher.health.tired > 60>>
 	$He is fatigued, sapping the strength $he'll need to reach $his top speed.
 	<<set _LurcherSpeed -= 2>>
-<<elseif $activeLurcher.health.tired > 30>>
+<<elseif _activeLurcher.health.tired > 30>>
 	$He is tired and liable to be a slow start.
 	<<set _LurcherSpeed -= 1>>
 <</if>>
-<<if !canSee($activeLurcher)>>
+<<if !canSee(_activeLurcher)>>
 	$His inability to see causes $him to be cautious of $his footing, making $his first several strides slow and uncertain.
 	<<set _LurcherSpeed -= 1>>
 <</if>>
-<<if $activeLurcher.weight > 190>>
+<<if _activeLurcher.weight > 190>>
 	$He's so fat that $his run is nothing more than an out of breath waddle.
 	<<set _LurcherSpeed -= 5>>
-<<elseif $activeLurcher.weight > 160>>
+<<elseif _activeLurcher.weight > 160>>
 	It takes $him a while to get $his fat ass up to $his (rather pathetic) top speed, such as it is.
 	<<set _LurcherSpeed -= 3>>
-<<elseif $activeLurcher.weight > 95>>
+<<elseif _activeLurcher.weight > 95>>
 	It takes $him a while to get $his fat ass up to $his top speed, such as it is.
 	<<set _LurcherSpeed -= 2>>
-<<elseif $activeLurcher.weight > 30>>
+<<elseif _activeLurcher.weight > 30>>
 	It takes $him a while to get $his chubby body up to speed.
 	<<set _LurcherSpeed -= 1>>
-<<elseif $activeLurcher.weight < -95>>
+<<elseif _activeLurcher.weight < -95>>
 	$He's so thin that $he lacks the vigor to run really well.
 	<<set _LurcherSpeed -= 1>>
 <</if>>
-<<if $activeLurcher.muscles > 50>>
+<<if _activeLurcher.muscles > 50>>
 	$He's muscle-bound, without the range of motion to move freely.
 	<<set _LurcherSpeed -= 1>>
-<<elseif $activeLurcher.muscles > 30>>
+<<elseif _activeLurcher.muscles > 30>>
 	$He's fit, and is able to maintain $his speed quite well once $he reaches it.
 	<<set _LurcherSpeed += 1>>
-<<elseif $activeLurcher.muscles <= 5>>
+<<elseif _activeLurcher.muscles <= 5>>
 	$He's soft, and is panting desperately within a few short strides.
 	<<set _LurcherSpeed -= 1>>
-<<elseif $activeLurcher.muscles <= -30>>
+<<elseif _activeLurcher.muscles <= -30>>
 	$He's very weak, and is panting desperately from just walking to the starting line.
 	<<set _LurcherSpeed -= 4>>
-<<elseif $activeLurcher.muscles <= -95>>
+<<elseif _activeLurcher.muscles <= -95>>
 	$He's physically frail, barely capable of walking let alone running.
 	<<set _LurcherSpeed -= 20>>
 <</if>>
-<<if $activeLurcher.height >= 185>>
+<<if _activeLurcher.height >= 185>>
 	$His steps are long — too long, in fact: $his long legs slow $his gait.
 	<<set _LurcherSpeed -= 1>>
-<<elseif $activeLurcher.height < 150>>
+<<elseif _activeLurcher.height < 150>>
 	$His stride is too short, but it's the best $his little legs can manage.
 	<<set _LurcherSpeed -= 1>>
 <</if>>
-<<if $activeLurcher.boobs >= 2000>>
+<<if _activeLurcher.boobs >= 2000>>
 	$His naked breasts slosh around wildly, ruining $his attempt at running.
 	<<set _LurcherSpeed -= 2>>
-<<elseif $activeLurcher.boobs >= 800>>
+<<elseif _activeLurcher.boobs >= 800>>
 	$His big tits bounce energetically, looking quite nice but hurting $his speed.
 	<<set _LurcherSpeed -= 1>>
 <</if>>
-<<if $activeLurcher.butt >= 6>>
+<<if _activeLurcher.butt >= 6>>
 	$He does $his best to stay light on $his feet despite $his inconveniently huge buttocks.
 	<<set _LurcherSpeed -= 1>>
 <</if>>
-<<if $activeLurcher.dick >= 5>>
+<<if _activeLurcher.dick >= 5>>
 	$His cock bounces up and down wildly; $he does $his best to ignore it, but it does get in the way.
 	<<set _LurcherSpeed -= 1>>
 <</if>>
-<<if $activeLurcher.balls >= 5>>
+<<if _activeLurcher.balls >= 5>>
 	As you watch $him go, $his testicles smack into $his thigh, and $he gasps with pain.
 	<<set _LurcherSpeed -= 1>>
 <</if>>
-<<if $activeLurcher.preg >= $activeLurcher.pregData.normalBirth>>
+<<if _activeLurcher.preg >= _activeLurcher.pregData.normalBirth>>
 	$He seems terrified that $his water might break if $he tried to move too fast.
 	<<set _LurcherSpeed -= 10>>
-<<elseif $activeLurcher.belly >= 120000>>
-	$He can barely move $himself, let alone consider chasing something with $his titanic <<if $activeLurcher.bellyImplant > 100>>belly implant<<else>>pregnant belly<</if>> in the way.
+<<elseif _activeLurcher.belly >= 120000>>
+	$He can barely move $himself, let alone consider chasing something with $his titanic <<if _activeLurcher.bellyImplant > 100>>belly implant<<else>>pregnant belly<</if>> in the way.
 	<<set _LurcherSpeed -= 20>>
-<<elseif $activeLurcher.belly >= 60000>>
-	$He can barely waddle with $his <<if $activeLurcher.bellyImplant > 100>>enormous belly implant<<else>>enormously pregnant belly<</if>>.
+<<elseif _activeLurcher.belly >= 60000>>
+	$He can barely waddle with $his <<if _activeLurcher.bellyImplant > 100>>enormous belly implant<<else>>enormously pregnant belly<</if>>.
 	<<set _LurcherSpeed -= 10>>
-<<elseif $activeLurcher.belly >= 10000 && $activeLurcher.bellyFluid < 2000>>
-	$He can barely waddle along with $his huge <<if $activeLurcher.bellyImplant > 100>>belly implant<<else>>pregnant belly<</if>>.
+<<elseif _activeLurcher.belly >= 10000 && _activeLurcher.bellyFluid < 2000>>
+	$He can barely waddle along with $his huge <<if _activeLurcher.bellyImplant > 100>>belly implant<<else>>pregnant belly<</if>>.
 	<<set _LurcherSpeed -= 5>>
-<<elseif $activeLurcher.bellyPreg >= 5000>>
+<<elseif _activeLurcher.bellyPreg >= 5000>>
 	$He seems unwilling to really run while pregnant.
 	<<set _LurcherSpeed -= 3>>
-<<elseif $activeLurcher.bellyImplant >= 5000>>
+<<elseif _activeLurcher.bellyImplant >= 5000>>
 	$His big belly implant hinders $his ability to run
 	<<set _LurcherSpeed -= 2>>
-<<elseif $activeLurcher.belly >= 1500>>
+<<elseif _activeLurcher.belly >= 1500>>
 	$He keeps one hand on $his slightly swollen middle as $he runs.
 	<<set _LurcherSpeed -= 1>>
 <</if>>
-<<if $activeLurcher.bellyFluid >= 10000>>
-	$His hugely bloated, <<print $activeLurcher.inflationType>>-filled belly is taut and painful, forcing $him to a slow waddle.
+<<if _activeLurcher.bellyFluid >= 10000>>
+	$His hugely bloated, <<print _activeLurcher.inflationType>>-filled belly is taut and painful, forcing $him to a slow waddle.
 	<<set _LurcherSpeed -= 5>>
-<<elseif $activeLurcher.bellyFluid >= 5000>>
-	$His bloated, <<print $activeLurcher.inflationType>>-stuffed belly is constantly jiggling and moving, making it extremely difficult to run.
+<<elseif _activeLurcher.bellyFluid >= 5000>>
+	$His bloated, <<print _activeLurcher.inflationType>>-stuffed belly is constantly jiggling and moving, making it extremely difficult to run.
 	<<set _LurcherSpeed -= 4>>
-<<elseif $activeLurcher.bellyFluid >= 2000>>
-	$His distended, <<print $activeLurcher.inflationType>>-belly is uncomfortable and heavy, slowing $him down.
+<<elseif _activeLurcher.bellyFluid >= 2000>>
+	$His distended, <<print _activeLurcher.inflationType>>-belly is uncomfortable and heavy, slowing $him down.
 	<<set _LurcherSpeed -= 2>>
 <</if>>
 
@@ -158,7 +159,7 @@ You place your hand on the leash's quick release and <<if canHear($activeLurcher
 	<<else>>
 		Despite _his2 fake boobs and exaggeratedly feminine gait, the hare
 	<</if>>
-	<<if $hareSpeed > _LurcherSpeed>>immediately pulls away<<else>>manages to maintain _his2 narrow head start<</if>>. Realizing that $he stands no chance of catching $his assigned target, $activeLurcher.slaveName <<if canSee($activeLurcher)>>looks around for a slower hare<<else>>listens for a nearby bell<</if>>.
+	<<if $hareSpeed > _LurcherSpeed>>immediately pulls away<<else>>manages to maintain _his2 narrow head start<</if>>. Realizing that $he stands no chance of catching $his assigned target, _activeLurcher.slaveName <<if canSee(_activeLurcher)>>looks around for a slower hare<<else>>listens for a nearby bell<</if>>.
 	<<if $hareSpeed2 < $hareSpeed3>>
 		<<set $activeSlave = $hare2>>
 		<<set $origin = $origin2>>
@@ -169,17 +170,17 @@ You place your hand on the leash's quick release and <<if canHear($activeLurcher
 		<<set $hareSpeed = $hareSpeed3>>
 	<</if>>
 	<<setLocalPronouns $activeSlave 2>>
-	<<if canSee($activeLurcher)>>Seeing that the $origin hare is slower<<else>>hearing the $origin hare's bell nearby<</if>>, $he angles after _him2 instead.
+	<<if canSee(_activeLurcher)>>Seeing that the $origin hare is slower<<else>>hearing the $origin hare's bell nearby<</if>>, $he angles after _him2 instead.
 	<<if $hareSpeed >= _LurcherSpeed>>
 		$He does no better with $his new target; $his course is over.
 	<<elseif random(1,2) == 1>>
 		One of $his rival lurchers has the same idea, however, and tries to trip $him up.
-		<<if !canSee($activeLurcher)>>
+		<<if !canSee(_activeLurcher)>>
 			Unable to see it coming, $he goes down with a crash; $his course is over.
-		<<elseif $activeLurcher.skill.combat == 1>>
+		<<elseif _activeLurcher.skill.combat == 1>>
 			$He parries the attempt with contemptuous ease and catches up to $his new target.
 			<<set _seed = 1>>
-		<<elseif $activeLurcher.muscles > 30>>
+		<<elseif _activeLurcher.muscles > 30>>
 			$He muscles through the attempt and catches up to $his new target.
 			<<set _seed = 1>>
 		<<else>>
@@ -198,45 +199,45 @@ You place your hand on the leash's quick release and <<if canHear($activeLurcher
 
 <<if _seed == 1>>
 	<<if $origin == "heavily pregnant">>
-		$His quarry is unwilling to be tackled, probably out of fear for _his2 baby, and flings _himself2 down as soon as $activeLurcher.slaveName gets near.<<if !canSee($activeLurcher)>> _He2 screams as _he2 sees $activeLurcher.slaveName preparing to dive on _him2, alerting the blind lurcher that $his prey has already surrendered.<</if>>
-	<<elseif !canSee($activeLurcher) && random(1,3) == 1>>
-		$His prey takes advantage of $his lack of eyesight, baiting $activeLurcher.slaveName to dive in the wrong direction. As $he rises to $his feet, the slave is too far gone to make another lunge. $activeLurcher.slaveName's course is over.
+		$His quarry is unwilling to be tackled, probably out of fear for _his2 baby, and flings _himself2 down as soon as _activeLurcher.slaveName gets near.<<if !canSee(_activeLurcher)>> _He2 screams as _he2 sees _activeLurcher.slaveName preparing to dive on _him2, alerting the blind lurcher that $his prey has already surrendered.<</if>>
+	<<elseif !canSee(_activeLurcher) && random(1,3) == 1>>
+		$His prey takes advantage of $his lack of eyesight, baiting _activeLurcher.slaveName to dive in the wrong direction. As $he rises to $his feet, the slave is too far gone to make another lunge. _activeLurcher.slaveName's course is over.
 		<<set _seed = 0>>
-	<<elseif $activeLurcher.skill.combat == 1>>
+	<<elseif _activeLurcher.skill.combat == 1>>
 		$His tackle is expert: $he wraps $his quarry up and pulls _him2 down, falling on top of the struggling body.
-	<<elseif $activeLurcher.muscles > 30>>
+	<<elseif _activeLurcher.muscles > 30>>
 		$He's burly enough that $he tackles $his quarry by simple force, an approach no less effective for its inelegance.
 	<<elseif $origin == "virgin">>
 		<<if random(1,3) == 1>>
-			The young slave manages to evade $his inexpert tackle, however, and there is no space for another before $he crosses the plaza. $activeLurcher.slaveName's course is over.
+			The young slave manages to evade $his inexpert tackle, however, and there is no space for another before $he crosses the plaza. _activeLurcher.slaveName's course is over.
 			<<set _seed = 0>>
 		<<else>>
 			$His tackle is inexpert, but the young slave stumbles and falls anyway.
 		<</if>>
 	<<elseif $origin == "housewife">>
 		<<if random(1,4) == 1>>
-			The spoiled slave shows surprising agility, however, and evades $activeLurcher.slaveName's inexpert attempts to tackle all the way across the plaza. $His course is over.
+			The spoiled slave shows surprising agility, however, and evades _activeLurcher.slaveName's inexpert attempts to tackle all the way across the plaza. $His course is over.
 			<<set _seed = 0>>
 		<<else>>
 			$His tackle is inexpert, but the top-heavy bimbo goes down anyway.
 		<</if>>
 	<<elseif $origin == "feminized">>
 		<<if random(1,4) == 1>>
-			The sissy bitch shows surprising agility, however, and evades $activeLurcher.slaveName's inexpert attempts to tackle all the way across the plaza. $His course is over.
+			The sissy bitch shows surprising agility, however, and evades _activeLurcher.slaveName's inexpert attempts to tackle all the way across the plaza. $His course is over.
 			<<set _seed = 0>>
 		<<else>>
 			$His tackle is inexpert, but the sissy bitch goes down with a wail.
 		<</if>>
 	<<elseif $origin == "huge balled">>
 		<<if random(1,4) == 1>>
-			The slave shows surprising agility despite _his2 flopping ballsack, and evades $activeLurcher.slaveName's inexpert attempts to tackle all the way across the plaza. $His course is over.
+			The slave shows surprising agility despite _his2 flopping ballsack, and evades _activeLurcher.slaveName's inexpert attempts to tackle all the way across the plaza. $His course is over.
 			<<set _seed = 0>>
 		<<else>>
 			$His tackle is inexpert, but the slave goes down, screaming with pain when _his2 balls get trapped under their combined weight.
 		<</if>>
 	<<else>>
 		<<if random(1,2) == 1>>
-			The determined young slave evades $his inexpert attempts to tackle all the way across the plaza, however. $activeLurcher.slaveName's course is over.
+			The determined young slave evades $his inexpert attempts to tackle all the way across the plaza, however. _activeLurcher.slaveName's course is over.
 			<<set _seed = 0>>
 		<<else>>
 			$His tackle is inexpert, but the determined slave is unlucky, stumbling and going down anyway.
@@ -247,7 +248,7 @@ You place your hand on the leash's quick release and <<if canHear($activeLurcher
 <<if _seed == 1>>
 	The hare knows that once _his2 knees touched the field, _his2 chance at freedom was gone. _He2 begins to cry
 	<<if $phallus == "huge dick">>
-		and then scream as $activeLurcher.slaveName
+		and then scream as _activeLurcher.slaveName
 		<<if $origin == "virgin">>
 			rapes _his2 virgin ass. The lurcher has to fuck the slave to claim _him2 for you, and $he knows that a virgin pussy is more valuable than a virgin rosebud. $He has to be very careful, since $his cock is big enough to seriously hurt an anal virgin, but despite $his care the racket is appallingly loud.
 		<<elseif $origin == "heavily pregnant">>
@@ -262,7 +263,7 @@ You place your hand on the leash's quick release and <<if canHear($activeLurcher
 			fucks _him2 in the ass. _He2 never stops struggling, though this isn't much proof of undiminished resistance. After all, the lurcher's dick is so big that _he2'd probably fight to get it out of _his2 butthole even if _he2 weren't in need of breaking.
 		<</if>>
 	<<elseif $phallus == "dick">>
-		as $activeLurcher.slaveName
+		as _activeLurcher.slaveName
 		<<if $origin == "virgin">>
 			penetrates _his2 virgin ass. The lurcher has to fuck the slave to claim _him2 for you, and $he knows that a virgin pussy is more valuable than a virgin rosebud. You see $his back stiffen with overstimulation as $he experiences the rare delight of raping an anal virgin.
 		<<elseif $origin == "heavily pregnant">>
@@ -277,7 +278,7 @@ You place your hand on the leash's quick release and <<if canHear($activeLurcher
 			fucks _him2 in the ass. _He2 never stops struggling, which is eloquent proof of the slave's undiminished resolve to resist _his2 lot in life. _He2's probably been assraped more than once before today, but _he2 fights this like it's the first time.
 		<</if>>
 	<<elseif $phallus == "clit">>
-		as $activeLurcher.slaveName
+		as _activeLurcher.slaveName
 		<<if $origin == "virgin">>
 			grinds $himself against the hare to get $his pseudophallic clit into $his victim's virgin ass. The lurcher has to fuck the slave to claim _him2 for you, and $he knows that a virgin pussy is more valuable than a virgin rosebud. You see $his back stiffen with overstimulation as $his enormous bitch button slips up the slave's asshole.
 		<<elseif $origin == "heavily pregnant">>
@@ -292,7 +293,7 @@ You place your hand on the leash's quick release and <<if canHear($activeLurcher
 			grinds $himself against the hare to get $his pseudophallic clit inside $his victim's asshole. The slave never stops struggling, which is eloquent proof of the slave's undiminished resolve to resist _his2 lot in life. _He2's probably been assraped by much larger phalli, but _he2 fights it anyway.
 		<</if>>
 	<<elseif $phallus == "dildo">>
-		as $activeLurcher.slaveName
+		as _activeLurcher.slaveName
 		<<if $origin == "virgin">>
 			inserts $his dildo into the slave's virgin ass. The lurcher has to fuck the slave to claim _him2 for you, and $he knows that a virgin pussy is more valuable than a virgin rosebud. The dildo is reasonably sized and well lubricated, but the poor slave shrieks with anal pain anyway.
 		<<elseif $origin == "heavily pregnant">>
@@ -307,7 +308,7 @@ You place your hand on the leash's quick release and <<if canHear($activeLurcher
 			pushes $his dildo up the slave's ass. The slave never stops struggling, which is eloquent proof of the slave's undiminished resolve to resist _his2 lot in life. _He2's probably had several dildos pushed up _his2 disobedient asshole, but it seems _he2's determined to learn nothing.
 		<</if>>
 	<<else>>
-		as $activeLurcher.slaveName hesitates over _him2. The lurcher realizes that $he won't be able to get hard. Desperate to avoid failure, $he
+		as _activeLurcher.slaveName hesitates over _him2. The lurcher realizes that $he won't be able to get hard. Desperate to avoid failure, $he
 		<<if $origin == "virgin">>
 			shoves a couple of fingers into the slave's virgin ass. $He has to fuck the slave to claim _him2 for you, and $he knows that a virgin pussy is more valuable than a virgin rosebud.
 		<<elseif $origin == "heavily pregnant">>
@@ -323,32 +324,32 @@ You place your hand on the leash's quick release and <<if canHear($activeLurcher
 		<</if>>
 		The crowd is unimpressed by this disappointing display.
 	<</if>>
-	<<if $activeLurcher.fetishKnown == 1 && $activeLurcher.fetishStrength > 60>>
-		<<if ($activeLurcher.fetish == "sadist")>>
+	<<if _activeLurcher.fetishKnown == 1 && _activeLurcher.fetishStrength > 60>>
+		<<if (_activeLurcher.fetish == "sadist")>>
 			@@.hotpink;What is finest in life,@@ in the mind of your sadistic lurcher?
 			<<if $origin == "virgin">>
-				To sodomize a virgin asshole, and to <<if canHear($activeLurcher)>>hear<<else>>feel<</if>> screams of anal pain.
+				To sodomize a virgin asshole, and to <<if canHear(_activeLurcher)>>hear<<else>>feel<</if>> screams of anal pain.
 			<<elseif $origin == "heavily pregnant">>
-				To molest a pregnant slut, and <<if canHear($activeLurcher)>>hear<<else>>see<</if>> _him2 sob with fear.
+				To molest a pregnant slut, and <<if canHear(_activeLurcher)>>hear<<else>>see<</if>> _him2 sob with fear.
 			<<elseif $origin == "housewife">>
-				To rape a stuck-up bitch, and <<if canHear($activeLurcher)>>hear<<else>>see<</if>> _him2 cry with anal pain.
+				To rape a stuck-up bitch, and <<if canHear(_activeLurcher)>>hear<<else>>see<</if>> _him2 cry with anal pain.
 			<<elseif $origin == "feminized">>
-				To rape a sissy's asspussy, and <<if canHear($activeLurcher)>>hear<<else>>see<</if>> _him2 squeal.
+				To rape a sissy's asspussy, and <<if canHear(_activeLurcher)>>hear<<else>>see<</if>> _him2 squeal.
 			<<elseif $origin == "huge balled">>
 				To abuse defenseless testicles, and make their owner scream.
 			<<else>>
-				To rape a struggling victim, and <<if canTaste($activeLurcher)>>taste<<else>>drink<</if>> _his2 tears of defeat.
+				To rape a struggling victim, and <<if canTaste(_activeLurcher)>>taste<<else>>drink<</if>> _his2 tears of defeat.
 			<</if>>
-			<<set $slaves[$lurcherIndex].devotion += 5>>
-		<<elseif $activeLurcher.fetish == "pregnancy" && $origin == "heavily pregnant">>
+			<<set _activeLurcher.devotion += 5>>
+		<<elseif _activeLurcher.fetish == "pregnancy" && $origin == "heavily pregnant">>
 			You lurcher is @@.hotpink;thrilled@@ to have had the privilege of chasing down and raping a pregnant _woman2.
-			<<set $slaves[$lurcherIndex].devotion += 5>>
+			<<set _activeLurcher.devotion += 5>>
 		<</if>>
 	<</if>>
-	<<set $slaves[$lurcherIndex].counter.penetrative += 1, $penetrativeTotal += 1>>
+	<<set _activeLurcher.counter.penetrative += 1, $penetrativeTotal += 1>>
 	<<run newSlave($activeSlave)>> /* skip New Slave Intro */
 <<else>>
-	<<if $activeLurcher.devotion > 50>>
+	<<if _activeLurcher.devotion > 50>>
 		$He makes $his way back to you dejectedly, hanging $his head.
 	<<else>>
 		$He makes $his way back to you slowly, doing $his best to look contrite.
@@ -358,4 +359,4 @@ You place your hand on the leash's quick release and <<if canHear($activeLurcher
 	<<set $activeSlave = 0>>
 <</if>>
 
-<<unset $origin, $origin1, $origin2, $origin3, $hareSpeed, $hareSpeed1, $hareSpeed2, $hareSpeed3, $hare1, $hare2, $hare3, $lurcherIndex>>
+<<unset $origin, $origin1, $origin2, $origin3, $hareSpeed, $hareSpeed1, $hareSpeed2, $hareSpeed3, $hare1, $hare2, $hare3>>
diff --git a/src/uncategorized/slaveAssignmentsReport.tw b/src/uncategorized/slaveAssignmentsReport.tw
index dad68e96fb5fb912269ee2119f09b225f70de189..1f9f71182a6c49b01c84c91a051312ba4a096cca 100644
--- a/src/uncategorized/slaveAssignmentsReport.tw
+++ b/src/uncategorized/slaveAssignmentsReport.tw
@@ -833,22 +833,20 @@ $sexDemandResult.topClass = Math.trunc((($NPCSexSupply.topClass + $slaveJobValue
 	<</if>>
 <</switch>>
 
-<<if $Lurcher>>
-	<<if $slaves[$i].ID == $Lurcher.ID>>
-		<<set $Lurcher = $slaves[$i]>>
-		<<if !canWalk($Lurcher)>>
-			<span class='slave-name'>$Lurcher.slaveName</span> is no longer able to run @@.yellow;and cannot course as a lurcher.@@<br>
-			<<set $Lurcher = 0>>
-		<<elseif !canHold($Lurcher)>>
-			<span class='slave-name'>$Lurcher.slaveName</span> is no longer able to catch the hares @@.yellow;and cannot course as a lurcher.@@<br>
-			<<set $Lurcher = 0>>
-		<<elseif !canHear($Lurcher) && !canSee($Lurcher)>>
-			<span class='slave-name'>$Lurcher.slaveName</span> is no longer able to track the hares @@.yellow;and cannot course as a lurcher.@@<br>
-			<<set $Lurcher = 0>>
-		<<elseif $Lurcher.bellyPreg >= 60000>>
-			<span class='slave-name'>$Lurcher.slaveName</span> is too pregnant to run @@.yellow;and cannot course as a lurcher.@@
-			<<set $Lurcher = 0>>
-		<</if>>
+<<if $slaves[$i].ID == $LurcherID>>
+	<<set _Lurcher = slaveStateById($LurcherID)>>
+	<<if !canWalk(_Lurcher)>>
+		<span class='slave-name'>_Lurcher.slaveName</span> is no longer able to run @@.yellow;and cannot course as a lurcher.@@<br>
+		<<set $LurcherID = 0>>
+	<<elseif !canHold(_Lurcher)>>
+		<span class='slave-name'>_Lurcher.slaveName</span> is no longer able to catch the hares @@.yellow;and cannot course as a lurcher.@@<br>
+		<<set $LurcherID = 0>>
+	<<elseif !canHear(_Lurcher) && !canSee(_Lurcher)>>
+		<span class='slave-name'>$Lurcher.slaveName</span> is no longer able to track the hares @@.yellow;and cannot course as a lurcher.@@<br>
+		<<set $LurcherID = 0>>
+	<<elseif _Lurcher.bellyPreg >= 60000>>
+		<span class='slave-name'>$Lurcher.slaveName</span> is too pregnant to run @@.yellow;and cannot course as a lurcher.@@
+		<<set $LurcherID = 0>>
 	<</if>>
 <</if>>
 
diff --git a/src/uncategorized/surgeryDegradation.tw b/src/uncategorized/surgeryDegradation.tw
index fd04a162c2964fb973a0ad7cf6f9a23f934e1991..e0ec94d70a3dc447140fe4881daa4235f9692293 100644
--- a/src/uncategorized/surgeryDegradation.tw
+++ b/src/uncategorized/surgeryDegradation.tw
@@ -111,7 +111,7 @@
 	<<case "amp" "amp1" "ampA2" "ampL2" "blind" "fuckdoll" "mindbreak" "PLimb interface1" "PLimb interface2" "PLimb interface3" "remove eyes" "removeLimbs">>
 		/* unassign if necessary */
 		<<set _ID = getSlave($AS).ID>>
-		<<if _ID == $Lurcher.ID>><<set $Lurcher = 0>><</if>>
+		<<if _ID == $LurcherID>><<set $LurcherID = 0>><</if>>
 		<<run $fighterIDs.deleteWith((f) => f === _ID)>>
 		<<= removeJob(getSlave($AS), getSlave($AS).assignment)>>
 	<</switch>>