diff --git a/src/js/slaveSummaryWidgets.js b/src/js/slaveSummaryWidgets.js
index fb4151ed2509c2d60d939e042862210d804b9fb8..a3bdfd05a94e6bb90ae8b9eb548029bffbb1c10f 100644
--- a/src/js/slaveSummaryWidgets.js
+++ b/src/js/slaveSummaryWidgets.js
@@ -689,7 +689,6 @@ window.SlaveSummaryUncached = (function() {
 			case "fertility":
 				r += `<strong>Di:F+</strong>`;
 				break;
-
 		}
 		r += `</span> `;
 		r += `<span class="cyan">`;
@@ -743,7 +742,6 @@ window.SlaveSummaryUncached = (function() {
 			case "fertility":
 				r += `Fertility.`;
 				break;
-
 		}
 		r += `</span> `;
 		if (slave.dietCum === 2) {
@@ -901,7 +899,6 @@ window.SlaveSummaryUncached = (function() {
 			case "growth stimulants":
 				r += `<strong>Dr:groStim</strong>`;
 				break;
-
 		}
 		r += `</span> `;
 		r += `<span class="lightgreen">`;
@@ -3321,7 +3318,6 @@ window.SlaveSummaryUncached = (function() {
 				case "none":
 					r += `SP:none`;
 					break;
-
 			}
 		}
 		r += " ";
@@ -3783,7 +3779,6 @@ window.SlaveSummaryUncached = (function() {
 				case "none":
 					r += `SP: none.`;
 					break;
-
 			}
 		}
 		r += " ";
@@ -4783,8 +4778,7 @@ window.SlaveSummaryUncached = (function() {
 				break;
 			case "porcelain mask":
 				r += `Porcelain mask.`;
-				break
-
+				break;
 		}
 		r += " ";
 	}
@@ -4815,7 +4809,6 @@ window.SlaveSummaryUncached = (function() {
 			case "an extreme corset":
 				r += `Extreme corsetage.`;
 				break;
-
 		}
 		r += " ";
 	}
@@ -4901,7 +4894,6 @@ window.SlaveSummaryUncached = (function() {
 				case "long, huge dildo":
 					r += `Long and wide vaginal dildo.`;
 					break;
-
 			}
 		}
 		r += " ";
@@ -4910,7 +4902,6 @@ window.SlaveSummaryUncached = (function() {
 				case "vibrator":
 					r += `Vibrating dildo.`;
 					break;
-
 			}
 			r += " ";
 		}
@@ -4930,7 +4921,6 @@ window.SlaveSummaryUncached = (function() {
 			case "smart bullet vibrator":
 				r += `Smart frenulum bullet vibrator.`;
 				break;
-
 		}
 		r += " ";
 	}
@@ -4958,7 +4948,6 @@ window.SlaveSummaryUncached = (function() {
 			case "long, huge plug":
 				r += `Enormous buttplug.`;
 				break;
-
 		}
 		r += " ";
 		switch (slave.buttplugAttachment) {
@@ -4971,7 +4960,6 @@ window.SlaveSummaryUncached = (function() {
 			case "fox tail":
 				r += `Attached fox tail. `;
 				break;
-
 		}
 	}
 
@@ -5015,105 +5003,114 @@ App.UI.PassageSlaveFilers = {
 	"HG Select": s => ((s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && s.assignment !== "be your Head Girl" && canWalk(s) && canHear(s) && canSee(s) && canTalk(s)) &&
 		((State.variables.SlaveSummaryFiler !== "experienced") ||
 		(State.variables.SlaveSummaryFiler === "experienced" && App.Entity.facilities.headGirlSuite.manager.slaveHasExperience(s)))),
-	"Head Girl Suite": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0 && (
-		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "be your Head Girl" && s.indentureRestrictions <= 0 && (s.breedingMark !== 1 || State.variables.propOutcome === 0)) ||
-		(State.variables.SlaveSummaryFiler !== "assignable" && s.assignment === "live with your Head Girl"))),
+	"Head Girl Suite": s => (
+		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "be your Head Girl" && s.indentureRestrictions <= 0 && (s.breedingMark !== 1 || State.variables.propOutcome === 0) && s.assignmentVisible === 1 && s.fuckdoll <= 0) ||
+		(State.variables.SlaveSummaryFiler !== "assignable" && s.assignment === "live with your Head Girl")),
 	"Subordinate Targeting": s => (s.devotion >= -20 && s.fuckdoll === 0 && State.variables.activeSlave.ID !== s.ID && (State.variables.activeSlave.amp !== 1 || s.amp !== 1)),
-	"Spa": s => ((s.assignmentVisible === 1 && s.fuckdoll <= 0 && (
-		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "rest in the spa") ||
+	"Spa": s => (
+		(s.fuckdoll <= 0 && s.assignment !== "rest in the spa" && (
+			(s.assignmentVisible === 1 && State.variables.SlaveSummaryFiler === "assignable") ||
+			(s.assignmentVisible === 0 && State.variables.SlaveSummaryFiler === "transferable"))
+		) ||
 		(State.variables.SlaveSummaryFiler === "occupying" && s.assignment === "rest in the spa") ||
-		(State.variables.SlaveSummaryFiler === "leading" && s.ID === State.variables.Attendant.ID))) ||
-		(s.assignmentVisible === 0 && s.fuckdoll <= 0 && (
-			(State.variables.SlaveSummaryFiler === "transferable" && s.assignment !== "rest in the spa")))),
+		(State.variables.SlaveSummaryFiler === "leading" && s.ID === State.variables.Attendant.ID)),
 	"Attendant Select": s => ((s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && canWalk(s) && canHear(s)) &&
 		((State.variables.SlaveSummaryFiler !== "experienced") ||
 		(State.variables.SlaveSummaryFiler === "experienced" && App.Entity.facilities.spa.manager.slaveHasExperience(s)))),
-	"Nursery": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0 && (s.devotion > 20 || s.trust > 20) && (
-		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "work as a nanny") ||
+	"Nursery": s => (
+		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "work as a nanny" && s.assignmentVisible === 1 && s.fuckdoll <= 0 && (s.devotion > 20 || s.trust > 20)) ||
 		(State.variables.SlaveSummaryFiler === "occupying" && s.assignment === "work as a nanny") ||
-		(State.variables.SlaveSummaryFiler === "leading" && s.ID === State.variables.Matron.ID))),
+		(State.variables.SlaveSummaryFiler === "leading" && s.ID === State.variables.Matron.ID)),
 	"Matron Select": s => ((s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && canWalk(s) && canHear(s)) &&
 		((State.variables.SlaveSummaryFiler !== "experienced") ||
 		(State.variables.SlaveSummaryFiler === "experienced" && App.Entity.facilities.nursery.manager.slaveHasExperience(s)))),
-	"Brothel": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0 && (
-		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "work in the brothel") ||
+	"Brothel": s => (
+		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "work in the brothel" && s.assignmentVisible === 1 && s.fuckdoll <= 0) ||
 		(State.variables.SlaveSummaryFiler === "occupying" && s.assignment === "work in the brothel") ||
-		(State.variables.SlaveSummaryFiler === "leading" && s.ID === State.variables.Madam.ID))),
+		(State.variables.SlaveSummaryFiler === "leading" && s.ID === State.variables.Madam.ID)),
 	"Madam Select": s => ((s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && s.intelligence + s.intelligenceImplant >= -50 && canWalk(s) && canSee(s) && canHear(s) && (s.breedingMark !== 1 || State.variables.propOutcome === 0)) &&
 		((State.variables.SlaveSummaryFiler !== "experienced") ||
 		(State.variables.SlaveSummaryFiler === "experienced" && App.Entity.facilities.brothel.manager.slaveHasExperience(s)))),
-	"Club": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0 && (
-		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "serve in the club") ||
+	"Club": s => (
+		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "serve in the club" && s.assignmentVisible === 1 && s.fuckdoll <= 0) ||
 		(State.variables.SlaveSummaryFiler === "occupying" && s.assignment === "serve in the club") ||
-		(State.variables.SlaveSummaryFiler === "leading" && s.ID === State.variables.DJ.ID))),
+		(State.variables.SlaveSummaryFiler === "leading" && s.ID === State.variables.DJ.ID)),
 	"DJ Select": s => ((s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && s.intelligence + s.intelligenceImplant >= -50 && canTalk(s) && canHear(s) && canWalk(s) && (s.breedingMark !== 1 || State.variables.propOutcome === 0)) &&
 		((State.variables.SlaveSummaryFiler !== "experienced") ||
 		(State.variables.SlaveSummaryFiler === "experienced" && App.Entity.facilities.club.manager.slaveHasExperience(s)))),
-	"Clinic": s => ((s.assignmentVisible === 1 && s.fuckdoll <= 0 && (
-		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "get treatment in the clinic") ||
+	"Clinic": s => (
+		(s.fuckdoll <= 0 && s.assignment !== "get treatment in the clinic" && (
+			(s.assignmentVisible === 1 && State.variables.SlaveSummaryFiler === "assignable") ||
+			(s.assignmentVisible === 0 && State.variables.SlaveSummaryFiler === "transferable"))
+		) ||
 		(State.variables.SlaveSummaryFiler === "occupying" && s.assignment === "get treatment in the clinic") ||
-		(State.variables.SlaveSummaryFiler === "leading" && s.ID === State.variables.Nurse.ID))) ||
-		(s.assignmentVisible === 0 && s.fuckdoll <= 0 && (
-			(State.variables.SlaveSummaryFiler === "transferable" && s.assignment !== "get treatment in the clinic")))),
+		(State.variables.SlaveSummaryFiler === "leading" && s.ID === State.variables.Nurse.ID)),
 	"Nurse Select": s => ((s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && canWalk(s) && canSee(s)) &&
 		((State.variables.SlaveSummaryFiler !== "experienced") ||
 		(State.variables.SlaveSummaryFiler === "experienced" && App.Entity.facilities.clinic.manager.slaveHasExperience(s)))),
-	"Schoolroom": s => ((s.assignmentVisible === 1 && s.fuckdoll <= 0 && (
-		(State.variables.SlaveSummaryFiler === "assignable" && s.fetish !== "mindbroken" && s.assignment !== "learn in the schoolroom") ||
+	"Schoolroom": s => (
+		((s.fuckdoll <= 0 && s.fetish !== "mindbroken" && s.assignment !== "learn in the schoolroom") &&
+			(s.assignmentVisible === 1 && State.variables.SlaveSummaryFiler === "assignable") ||
+			(s.assignmentVisible === 0 && State.variables.SlaveSummaryFiler === "transferable")
+		) ||
 		(State.variables.SlaveSummaryFiler === "occupying" && s.assignment === "learn in the schoolroom") ||
-		(State.variables.SlaveSummaryFiler === "leading" && s.ID === State.variables.Schoolteacher.ID))) ||
-		(s.assignmentVisible === 0 && s.fuckdoll <= 0 && (
-			(State.variables.SlaveSummaryFiler === "transferable" && s.assignment !== "learn in the schoolroom")))),
+		(State.variables.SlaveSummaryFiler === "leading" && s.ID === State.variables.Schoolteacher.ID)),
 	"Schoolteacher Select": s => ((s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && canTalk(s) && canHear(s) && canSee(s)) &&
 		((State.variables.SlaveSummaryFiler !== "experienced") ||
 		(State.variables.SlaveSummaryFiler === "experienced" && App.Entity.facilities.schoolroom.manager.slaveHasExperience(s)))),
-	"Dairy": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0 && (
-		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "work in the dairy") ||
+	"Dairy": s => (
+		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "work in the dairy" && s.assignmentVisible === 1 && s.fuckdoll <= 0) ||
 		(State.variables.SlaveSummaryFiler === "occupying" && s.assignment === "work in the dairy") ||
-		(State.variables.SlaveSummaryFiler === "leading" && s.ID === State.variables.Milkmaid.ID))),
+		(State.variables.SlaveSummaryFiler === "leading" && s.ID === State.variables.Milkmaid.ID)),
 	"Milkmaid Select": s => ((s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 20 && canWalk(s) && canSee(s) && canHear(s)) &&
 		((State.variables.SlaveSummaryFiler !== "experienced") ||
 		(State.variables.SlaveSummaryFiler === "experienced" && App.Entity.facilities.dairy.manager.slaveHasExperience(s)))),
-	"Farmyard": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0 && (
-		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "work as a farmhand") ||
+	"Farmyard": s => (
+		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "work as a farmhand" && s.assignmentVisible === 1 && s.fuckdoll <= 0) ||
 		(State.variables.SlaveSummaryFiler === "occupying" && s.assignment === "work as a farmhand") ||
-		(State.variables.SlaveSummaryFiler === "leading" && s.ID === State.variables.Farmer.ID))),
+		(State.variables.SlaveSummaryFiler === "leading" && s.ID === State.variables.Farmer.ID)),
 	"Farmer Select": s => ((s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && canWalk(s) && canSee(s) && canHear(s)) &&
 		((State.variables.SlaveSummaryFiler !== "experienced") ||
 		(State.variables.SlaveSummaryFiler === "experienced" && App.Entity.facilities.farm.manager.slaveHasExperience(s)))),
-	"Servants' Quarters": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0 && (
-		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "work as a servant") ||
+	"Servants' Quarters": s =>  (
+		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "work as a servant" && s.assignmentVisible === 1 && s.fuckdoll <= 0) ||
 		(State.variables.SlaveSummaryFiler === "occupying" && s.assignment === "work as a servant") ||
-		(State.variables.SlaveSummaryFiler === "leading" && s.ID === State.variables.Stewardess.ID))),
+		(State.variables.SlaveSummaryFiler === "leading" && s.ID === State.variables.Stewardess.ID)),
 	"Stewardess Select": s => ((s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && s.intelligence + s.intelligenceImplant >= -50 && canWalk(s) && canSee(s) && canHear(s)) &&
 		((State.variables.SlaveSummaryFiler !== "experienced") ||
 		(State.variables.SlaveSummaryFiler === "experienced" && App.Entity.facilities.servantsQuarters.manager.slaveHasExperience(s)))),
-	"Master Suite": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0 && (
-		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "serve in the master suite") ||
+	"Master Suite": s => (
+		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "serve in the master suite" && s.assignmentVisible === 1 && s.fuckdoll <= 0) ||
 		(State.variables.SlaveSummaryFiler === "occupying" && s.assignment === "serve in the master suite") ||
-		(State.variables.SlaveSummaryFiler === "leading" && s.ID === State.variables.Concubine.ID))),
+		(State.variables.SlaveSummaryFiler === "leading" && s.ID === State.variables.Concubine.ID)),
 	"Concubine Select": s => ((s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && s.amp !== 1) &&
 		((State.variables.SlaveSummaryFiler !== "experienced") ||
 		(State.variables.SlaveSummaryFiler === "experienced" && App.Entity.facilities.masterSuite.manager.slaveHasExperience(s)))),
-	"Cellblock": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0 && s.fetish !== "mindbroken" && (
-		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "be confined in the cellblock") ||
+	"Cellblock": s => (
+		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "be confined in the cellblock" && s.assignmentVisible === 1 && s.fuckdoll <= 0 && s.fetish !== "mindbroken") ||
 		(State.variables.SlaveSummaryFiler === "occupying" && s.assignment === "be confined in the cellblock") ||
-		(State.variables.SlaveSummaryFiler === "leading" && s.ID === State.variables.Wardeness.ID))),
+		(State.variables.SlaveSummaryFiler === "leading" && s.ID === State.variables.Wardeness.ID)),
 	"Wardeness Select": s => ((s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 50 && canWalk(s) && canSee(s) && canHear(s)) &&
 		((State.variables.SlaveSummaryFiler !== "experienced") ||
 		(State.variables.SlaveSummaryFiler === "experienced" && App.Entity.facilities.cellblock.manager.slaveHasExperience(s)))),
-	"Arcade": s => (s.assignmentVisible === 1 && (State.variables.arcade >= State.variables.arcadeSlaves || State.variables.arcadeUpgradeFuckdolls === 1) && (
-		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "be confined in the arcade") ||
-		(State.variables.SlaveSummaryFiler !== "assignable" && s.assignment === "be confined in the arcade"))),
-	"Pit": s => (s.assignmentVisible === 1 && s.fuckdoll === 0 && (
-		(State.variables.SlaveSummaryFiler === "assignable" && !State.variables.fighterIDs.includes(s.ID) && canWalk(s) && (s.assignment !== "guard you") && (s.assignment !== "work in the dairy" || State.variables.dairyRestraintsSetting < 2)) ||
-		(State.variables.SlaveSummaryFiler !== "assignable" && State.variables.fighterIDs.includes(s.ID)))),
-	"Coursing Association": s => (s.assignmentVisible === 1 && s.fuckdoll === 0 && (
-		(State.variables.SlaveSummaryFiler === "assignable" && canWalk(s) && State.variables.Lurcher.ID !== s.ID) ||
-		(State.variables.SlaveSummaryFiler !== "assignable" && State.variables.Lurcher.ID === s.ID))),
-	"New Game Plus": s => ((State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "be imported") || (State.variables.SlaveSummaryFiler !== "assignable" && s.assignment === "be imported")),
-	"Rules Slave Select": s => ((State.variables.SlaveSummaryFiler === "assignable" && !ruleSlaveSelected(s, State.variables.currentRule)) || (State.variables.SlaveSummaryFiler !== "assignable" && ruleSlaveSelected(s, State.variables.currentRule))),
-	"Rules Slave Exclude": s => ((State.variables.SlaveSummaryFiler === "assignable" && !ruleSlaveExcluded(s, State.variables.currentRule)) || (State.variables.SlaveSummaryFiler !== "assignable" && ruleSlaveExcluded(s, State.variables.currentRule))),
+	"Arcade": s => (
+		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "be confined in the arcade" && s.assignmentVisible === 1 && (State.variables.arcade >= State.variables.arcadeSlaves || State.variables.arcadeUpgradeFuckdolls === 1)) ||
+		(State.variables.SlaveSummaryFiler === "occupying" && s.assignment === "be confined in the arcade")),
+	"Pit": s => (
+		(State.variables.SlaveSummaryFiler === "assignable" && !State.variables.fighterIDs.includes(s.ID) && canWalk(s) && (s.assignment !== "guard you") && (s.assignment !== "work in the dairy" || State.variables.dairyRestraintsSetting < 2) && (s.assignmentVisible === 1 && s.fuckdoll === 0) ||
+		(State.variables.SlaveSummaryFiler === "occupying" && State.variables.fighterIDs.includes(s.ID)))),
+	"Coursing Association": s => (
+		(State.variables.SlaveSummaryFiler === "assignable" && canWalk(s) && State.variables.Lurcher.ID !== s.ID && (s.assignmentVisible === 1 && s.fuckdoll === 0) ||
+		(State.variables.SlaveSummaryFiler === "occupying" && State.variables.Lurcher.ID === s.ID))),
+	"New Game Plus": s => (
+		(State.variables.SlaveSummaryFiler === "assignable" && s.assignment !== "be imported") ||
+		(State.variables.SlaveSummaryFiler === "occupying" && s.assignment === "be imported")),
+	"Rules Slave Select": s => (
+		(State.variables.SlaveSummaryFiler === "assignable" && !ruleSlaveSelected(s, State.variables.currentRule)) ||
+		(State.variables.SlaveSummaryFiler === "occupying" && ruleSlaveSelected(s, State.variables.currentRule))),
+	"Rules Slave Exclude": s => (
+		(State.variables.SlaveSummaryFiler === "assignable" && !ruleSlaveExcluded(s, State.variables.currentRule)) ||
+		(State.variables.SlaveSummaryFiler === "occupying" && ruleSlaveExcluded(s, State.variables.currentRule))),
 	"Matchmaking": s => (s.devotion >= 100 && s.relationship === State.variables.activeSlave.relationship && s.ID !== State.variables.activeSlave.ID),
 	"Dinner Party Preparations": s => (s.assignmentVisible === 1 && s.fuckdoll === 0),
 };
@@ -5448,7 +5445,6 @@ App.UI.slaveSummaryList = function(passageName) {
 				res.push(dividerAndImage(_Slave));
 				res.push(`[[${_slaveName}|Slave Interact][$activeSlave = $slaves[${_ssi}]]]`);
 				break;
-
 		}
 
 		SlaveStatClamp(_Slave);
@@ -5552,7 +5548,6 @@ App.UI.slaveSummaryList = function(passageName) {
 				res.push(`<br>${ V.seeImages !== 1 || V.seeSummaryImages !== 1 || V.imageChoice === 1}` ? '&nbsp;&nbsp;&nbsp;&nbsp;' : '');
 				res.push(`[[Make her the main course|Dinner Party Execution][$activeSlave = $slaves[${_ssi}]]]`);
 				break;
-
 		}
 	}
 	return res.join("");