diff --git a/src/endWeek/nextWeek/resetGlobals.js b/src/endWeek/nextWeek/resetGlobals.js
index ac5fc9999b4f472eb7c62f90843ae58147dc4109..e3dac2a4ce278c4cbbca0dc48b4bf33f503adca9 100644
--- a/src/endWeek/nextWeek/resetGlobals.js
+++ b/src/endWeek/nextWeek/resetGlobals.js
@@ -5,12 +5,6 @@ App.EndWeek.resetGlobals = function() {
 	// Integer and float variables. No real need to zero them out but doesn't hurt to have them in a known state, though this might mask variables NaN'ing out. Takes up the least amount of Memory besides a "" string.
 	V.i = 0;
 	V.j = 0;
-	V.motherSlave = -1;
-	V.daughterSlave = -1;
-	V.devMother = -1;
-	V.devDaughter = -1;
-	V.youngerSister = -1;
-	V.olderSister = -1;
 
 	// Other arrays
 	V.events = [];
@@ -25,8 +19,6 @@ App.EndWeek.resetGlobals = function() {
 	V.PETSevent = [];
 	V.FSNonconformistEvents = [];
 	V.REButtholeCheckinIDs = [];
-	V.rebelSlaves = [];
-	V.eligibleSlaves = [];
 
 	// Slave Objects using 0 instead of null. Second most memory eaten up.
 	V.activeSlave = 0;
diff --git a/src/js/utilsSlaves.js b/src/js/utilsSlaves.js
index 86b3b0590ed39c12ea680637bb598ecff511a78d..49338f9dfd6ec1506c6b94baa421952b63fc19b8 100644
--- a/src/js/utilsSlaves.js
+++ b/src/js/utilsSlaves.js
@@ -1,9 +1,13 @@
 globalThis.cumSlaves = function() {
 	return V.slaves.filter(s => (s.assignment === Job.MILKED || s.assignment === Job.DAIRY) && s.balls > 0 && s.ballType === "human");
-}
+};
 globalThis.fuckSlavesLength = function() {
 	return V.slaves.filter(s => [Job.FUCKTOY, Job.MASTERSUITE, Job.CONCUBINE].includes(s.assignment)).length;
-}
+};
+
+globalThis.getRieEligibleSlaves = function() {
+	return V.slaves.filter(s => assignmentVisible(s) || [Job.MASTERSUITE, Job.CONCUBINE, Job.HOUSE].includes(s.assignment) && s.fuckdoll === 0);
+};
 
 globalThis.SlaveSort = function() {
 	const effectivePreg = (slave) => {
diff --git a/src/uncategorized/randomIndividualEvent.tw b/src/uncategorized/randomIndividualEvent.tw
index 30c5424c9e4f1751959225506830d6759e377273..c0aa662f7e22f1b3eca95cb6aa26cc5054685042 100644
--- a/src/uncategorized/randomIndividualEvent.tw
+++ b/src/uncategorized/randomIndividualEvent.tw
@@ -1,6 +1,7 @@
 :: Random Individual Event [nobr]
 
 <<if $eventSlave == 0>>
+	<<set _eligibleSlaves = getRieEligibleSlaves()>>
 	<<if ($debugMode > 0 && $debugModeEventSelection > 0)>>
 		<<set $nextButton = "Refresh", $nextLink = "Random Individual Event", $returnTo = "Random Individual Event", $encyclopedia = "Random Events">>
 
@@ -9,32 +10,25 @@
 
 		''One of the following eligible slaves would have been selected for an individual random event:''
 		<br>
-		<<for $i = 0; $i < $eligibleSlaves.length; $i++>>
-			<<capture $i>>
-			<<set $eventSlave = getSlave($eligibleSlaves[$i])>>
-			<<set _slaveName = SlaveFullName($eventSlave)>>
-			<br><<print "[[_slaveName|Random Individual Event][$eventSlave = getSlave($eligibleSlaves[$i])]]">>
-			<</capture>>
+		<<for _slave range _eligibleSlaves>>
+			<<set _slaveName = SlaveFullName(_slave)>>
+			<br><<print "[[_slaveName|Random Individual Event][$eventSlave = getSlave(_slave)]]">>
 		<</for>>
 		<br><br>[[Switch to Random Nonindividual Event|Random Nonindividual Event][$activeSlave = 0, $eventSlave = 0]]
 	<<else>>
-		<<set $eventSlave = getSlave($eligibleSlaves.random())>>
+		<<set $eventSlave = getSlave(_eligibleSlaves.random())>>
 		<<goto "Random Individual Event">>
 	<</if>>
 <<else>>
-
 	/* initialize event lists as arrays [], not objects {} */
 	<<set $events = [], $RESSevent = [], $RESSTRevent = [], $RETSevent = [], $RECIevent = [], $activeSlave = 0, $legendaryFacility = 0>>
 
 	<<run generateRandomEventPool($eventSlave)>>
-
 	/* EVENT RANDOMIZATION */
 	<<set $events = populateEventArray().concat(App.Events.getIndividualEventsPassageList($eventSlave))>>
-
 	<<if ($debugMode > 0 && $debugModeEventSelection > 0)>>
 		<<goto "random event select">>
 	<<else>>
 		<<goto "random event roll">>
 	<</if>>
-
 <</if>> /* CLOSES SLAVE SELECT */
diff --git a/src/uncategorized/randomNonindividualEvent.tw b/src/uncategorized/randomNonindividualEvent.tw
index eb531a13b0fd99b5d9105625045132a796f54399..c932445f6a6ec1ecfa8076e475ddb7662175d9d7 100644
--- a/src/uncategorized/randomNonindividualEvent.tw
+++ b/src/uncategorized/randomNonindividualEvent.tw
@@ -10,9 +10,9 @@
 
 		''Any one of your slaves would have been selected for a random non-individual event:''
 		<br>
-		<<for $i = 0; $i < $slaves.length; $i++>>
-			<<set _slaveName = SlaveFullName($slaves[$i])>>
-			<br><<print "[[_slaveName|Random Nonindividual Event][$eventSlave = $slaves[" + $i + "]]]">>
+		<<for _slave range $slaves>>
+			<<set _slaveName = SlaveFullName(_slave)>>
+			<br><<print "[[_slaveName|Random Nonindividual Event][$eventSlave = _slave]]">>
 		<</for>>
 		<br><br>[[Switch to RIE Eligibility Check|RIE Eligibility Check][$activeSlave = 0, $eventSlave = 0]]
 	<<else>>
diff --git a/src/uncategorized/rieEligibilityCheck.tw b/src/uncategorized/rieEligibilityCheck.tw
index 21e47a71f33576a6a8660d4bdc4209bd90179b56..da8ad9786309e34c79b01e6733de59729629d42d 100644
--- a/src/uncategorized/rieEligibilityCheck.tw
+++ b/src/uncategorized/rieEligibilityCheck.tw
@@ -1,23 +1,12 @@
 :: RIE Eligibility Check
 
 <<silently>>
-
-<<set $eventSlave = 0, $eligibleSlaves = []>>
-
-<<for $i = 0; $i < $slaves.length; $i++>>
-	<<if assignmentVisible($slaves[$i]) || $slaves[$i].assignment == "serve in the master suite" || $slaves[$i].assignment == "be your Concubine" || $slaves[$i].assignment == "work as a servant">>
-		<<if $slaves[$i].fuckdoll == 0>>
-			<<set $eligibleSlaves.push($slaves[$i].ID)>>
-		<</if>>
-	<</if>>
-<</for>>
-
+<<set $eventSlave = 0>>
 <<if $hostageRescued == 1>>
 	<<goto "P hostage acquisition">>
-<<elseif $eligibleSlaves.length == 0>>
+<<elseif getRieEligibleSlaves().length === 0>>
 	<<goto "Next Week">>
 <<else>>
 	<<goto "Random Individual Event">>
 <</if>>
-
 <</silently>>