diff --git a/src/js/storyJS.tw b/src/js/storyJS.tw
index 03e9791cd3833455555fd2fb51effc6a42139320..4aba8af4e58484822579e5a447973b1de7aac652 100644
--- a/src/js/storyJS.tw
+++ b/src/js/storyJS.tw
@@ -993,46 +993,43 @@ window.ruleSlaveExcluded = function(slave, rule) {
 };
 
 window.hasSurgeryRule = function(slave, rules) {
-	if (!slave || !rules || !slave.currentRules) {
-		return false;
-	}else {
-		for(var d=rules.length-1; d >= 0; d--){
-			for(var e=0; e < slave.currentRules.length;e++){
-				if(slave.currentRules[e] == rules[d].ID){
-					if (rules[d].autoSurgery > 0){
-						return true;
-					}
-				}
+	if (!slave || !rules || !slave.currentRules)
+		return false;
+
+	for (var d = rules.length-1; d >= 0; d--) {
+		if (ruleApplied(slave, rules[d].ID)) {
+			if (rules[d].autoSurgery > 0) {
+				return true;
 			}
-		}return false;
+		}
 	}
+	return false;
 };
 
-window.hasHColorRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "hColor") ? true : false;
-};
-
-window.hasHStyleRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "hStyle") ? true : false;
-};
-
-window.hasEyeColorRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "eyeColor") ? true : false;
-};
-
-window.lastRuleFor = function(slave, rules, what) {
-	if (!slave  || !rules || !slave.currentRules)
-		return null;
+window.hasRuleFor = function(slave, rules, what) {
+	if (!slave || !rules || !slave.currentRules)
+		return false;
 
 	for (var d = rules.length-1; d >= 0; d--) {
 		if (ruleApplied(slave, rules[d].ID)) {
 			if (rules[d][what] !== "no default setting") {
-				return rules[d];
+				return true;
 			}
 		}
 	}
+	return false;
+};
 
-	return null;
+window.hasHColorRule = function(slave, rules) {
+	return hasRuleFor(slave, rules, "hColor");
+}
+
+window.hasHStyleRule = function(slave, rules) {
+	return hasRuleFor(slave, rules, "hStyle");
+};
+
+window.hasEyeColorRule = function(slave, rules) {
+	return hasRuleFor(slave, rules, "eyeColor");
 };
 
 window.lastPregRule = function(slave, rules) {
@@ -1041,9 +1038,9 @@ window.lastPregRule = function(slave, rules) {
 	if (!slave.currentRules)
 		return false;
 
-	for (var d = rules.length-1; d >= 0; d--){
+	for (var d = rules.length-1; d >= 0; d--) {
 		if (ruleApplied(slave, rules[d].ID)) {
-			if (rules[d].preg == -1){
+			if (rules[d].preg == -1) {
 				return rules[d];
 			}
 		}
@@ -1052,158 +1049,6 @@ window.lastPregRule = function(slave, rules) {
 	return null;
 };
 
-window.lastEyeWearRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "eyewear");
-};
-
-window.lastEyeColorRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "eyeColor");
-};
-
-window.lastMakeupRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "makeup");
-};
-
-window.lastNailsRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "nails");
-};
-
-window.lastHColorRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "hColor");
-};
-
-window.lastHStyleRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "hStyle");
-};
-
-window.lastHLengthRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "hLength");
-};
-
-window.lastPubicHColorRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "pubicHColor");
-};
-
-window.lastPubicHStyleRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "pubicHStyle");
-};
-
-window.lastUnderArmHColorRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "underArmHColor");
-};
-
-window.lastUnderArmHStyleRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "underArmHStyle");
-};
-
-window.lastNipplesPiercingRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "nipplesPiercing");
-};
-
-window.lastAreolaePiercingRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "areolaePiercing");
-};
-
-window.lastClitPiercingRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "clitPiercing");
-};
-
-window.lastClitSettingRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "clitSetting");
-};
-
-window.lastClitSettingXYRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "clitSettingXY");
-};
-
-window.lastClitSettingXXRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "clitSettingXX");
-};
-
-window.lastClitSettingEnergyRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "clitSettingEnergy");
-};
-
-window.lastVaginaPiercingRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "vaginaPiercing");
-};
-
-window.lastDickPiercingRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "dickPiercing");
-};
-
-window.lastAnusPiercingRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "anusPiercing");
-};
-
-window.lastLipsPiercingRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "lipsPiercing");
-};
-
-window.lastTonguePiercingRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "tonguePiercing");
-};
-
-window.lastEarPiercingRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "earPiercing");
-};
-
-window.lastEyebrowPiercingRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "eyebrowPiercing");
-};
-
-window.lastNosePiercingRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "nosePiercing");
-};
-
-window.lastNavelPiercingRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "navelPiercing");
-};
-
-window.lastCorsetPiercingRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "corsetPiercing");
-};
-
-window.lastBoobsTatRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "boobsTat");
-};
-
-window.lastButtTatRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "buttTat");
-};
-
-window.lastVaginaTatRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "vaginaTat");
-};
-
-window.lastDickTatRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "dickTat");
-};
-
-window.lastAnusTatRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "anusTat");
-};
-
-window.lastLipsTatRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "lipsTat");
-};
-
-window.lastShouldersTatRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "shouldersTat");
-};
-
-window.lastArmsTatRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "armsTat");
-};
-
-window.lastLegsTatRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "legsTat");
-};
-
-window.lastStampTatRule = function(slave, rules) {
-	return lastRuleFor(slave, rules, "stampTat");
-};
-
 window.lastSurgeryRuleFor = function(slave, rules, what) {
 	if (!slave || !rules || !slave.currentRules)
 		return null;
@@ -1238,59 +1083,6 @@ window.lastButtSurgeryRule = function(slave, rules) {
 	return lastSurgeryRuleFor(slave, rules, "butt");
 };
 
-window.checkThresholds = function(number, rule) {
-	if (!rule) {
-		return null;
-	} else {
-		if ((rule.thresholdUpper != "none") && (rule.thresholdLower != "none")){
-			if (!rule.eqLower && !rule.eqUpper){
-				if((number < rule.thresholdUpper) && (number > rule.thresholdLower)){
-					return true;
-				}
-			}
-			else if (rule.eqLower && !rule.eqUpper){
-				if((number < rule.thresholdUpper) && (number >= rule.thresholdLower)){
-					return true;
-				}
-			}
-			else if (!rule.eqLower && rule.eqUpper){
-				if((number <= rule.thresholdUpper) && (number > rule.thresholdLower)){
-					return true;
-				}
-			}
-			else {
-				if((number <= rule.thresholdUpper) && (number >= rule.thresholdLower)){
-					return true;
-				}
-			}
-		}
-		else if (rule.thresholdUpper != "none"){
-			if (!rule.eqUpper) {
-				if(number < rule.thresholdUpper){
-					return true;
-				}
-			}
-			else{
-				if(number <= rule.thresholdUpper){
-					return true;
-				}
-			}
-		}
-		else if (rule.thresholdLower != "none"){
-			if (!rule.eqLower) {
-				if(number > rule.thresholdLower){
-					return true;
-				}
-			}
-			else{
-				if(number >= rule.thresholdLower){
-					return true;
-				}
-			}
-		}return false;
-	}
-};
-
 window.milkAmount = function(slave) {
 	var milk;
 	var calcs;
@@ -1378,6 +1170,54 @@ window.cumAmount = function(slave) {
 	}
 };
 
+
+window.mergeRules = function(rules) {
+    var combinedRule = {};
+
+    for (var i = 0; i < rules.length; i++) {
+        for (var attr in rules[i]) {
+
+            // A rule overrides any preceding ones if,
+            //   * there are no preceding ones,
+            //   * or it sets autoBrand,
+            //   * or it sets setAssignment to something other that "none",
+            //   * or it sets assignFacility to something other that "none",
+            //   * or it sets none of the above and is not "no default setting"
+            var applies = (
+                combinedRule[attr] === undefined
+                || (attr === "autoBrand" && rules[i][attr])
+                || (attr === "setAssignment" && rules[i][attr] !== "none")
+                || (attr === "assignFacility" && rules[i][attr] !== "none")
+                || (
+                    attr !== "autoBrand"
+                    && attr !== "setAssignment"
+                    && attr !== "assignFacility"
+                    && rules[i][attr] !== "no default setting"
+                )
+            );
+
+            if (applies) {
+                if (attr == "setAssignment" && combinedRule.assignFacility !== "none") {
+                    // If the rules so far have set assignFacility, unset it,
+                    // since the assignment overrides it.  We assume that a
+                    // given rule won't set both assignFacility and
+                    // setAssignment.  If that happens, which one will prevail
+                    // is down to the enumeration order of "for ... in".
+                    combinedRule.assignFacility = "none";
+                    combinedRule.facilityRemove = false;
+                }
+                if (attr == "assignFacility" && combinedRule.setAssignment !== "none")
+                    // Similarly, if setAssignment is set, unset it.
+                    combinedRule.setAssignment = "none";
+
+                combinedRule[attr] = rules[i][attr];
+            }
+        }
+    }
+
+    return combinedRule;
+}
+
 /* OLD
 window.randomRelatedSlave = function(slave, filterFunction) {
   if(!slave || !SugarCube) { return undefined; }
diff --git a/src/npc/agent/agentCompany.tw b/src/npc/agent/agentCompany.tw
index ff50d11933f6ba0354517e8164f9d78b445cdbff..e2811f28e39dce67c871cb128b06ed7c73aff15e 100644
--- a/src/npc/agent/agentCompany.tw
+++ b/src/npc/agent/agentCompany.tw
@@ -1,45 +1,30 @@
 :: Agent Company [nobr]
 
-<<set $nextButton = "Continue">>
-<<set $nextLink = "AS Dump">>
-<<set $returnTo = "Main">>
+<<set $nextButton = "Continue", $nextLink = "AS Dump", $returnTo = "Neighbor Interact", _SL = $slaves.length, _ID = $activeSlave.ID>>
 
 <<assignJob $activeSlave "live with your agent">>
 
-<<if $activeSlave.rivalry > 0>>
-	<<for _i = 0;_i < $slaves.length;_i++>>
-	<<if $activeSlave.rivalryTarget == $slaves[_i].ID>>
-		<<set $slaves[_i].rivalry = 0>>
-		<<set $slaves[_i].rivalryTarget = 0>>
-	<</if>>
-	<</for>>
-	<<set $activeSlave.rivalry = 0>>
-	<<set $activeSlave.rivalryTarget = 0>>
-<</if>>
-<<if $activeSlave.ID == $HeadGirl.ID>>
-	<<set $HeadGirl = 0>>
-<</if>>
-<<if $activeSlave.ID == $Recruiter.ID>>
-	<<set $Recruiter = 0>>
-<</if>>
-<<if $activeSlave.ID == $Bodyguard.ID>>
-	<<set $Bodyguard = 0>>
+<<if $activeSlave.reservedChildren > 0>>
+	<<set $reservedChildren -= $activeSlave.reservedChildren>>
+	<<set $activeSlave.reservedChildren = 0>>
 <</if>>
 
-<<for _i = 0;_i < $slaves.length;_i++>>
-<<if $activeSlave.relationshipTarget == $slaves[_i].ID>>
-	<<set $subSlave = $slaves[_i]>>
+<<if $activeSlave.rivalry > 0>>
+	<<for _i = 0; _i < _SL; _i++>>
+		<<if _ID == $slaves[_i].rivalryTarget>>
+			<<set $slaves[_i].rivalry = 0, $slaves[_i].rivalryTarget = 0>>
+			<<break>>
+		<</if>>
+	<</for>>
+	<<set $activeSlave.rivalry = 0, $activeSlave.rivalryTarget = 0>>
 <</if>>
-<</for>>
 
-<<for _i = 0;_i < $arcologies.length;_i++>>
-<<if $subSlave.ID == $arcologies[_i].leaderID>>
-	<<set $activeArcology = $arcologies[_i]>>
-<</if>>
+<<for _i = 0; _i < $arcologies.length; _i++>>
+	<<if $subSlave.ID == $arcologies[_i].leaderID>>
+		<<set $activeArcology = $arcologies[_i]>>
+	<</if>>
 <</for>>
 
-<<SlaveTitle $activeSlave>>
-
 Working in $activeArcology.name's penthouse office, $subSlave.slaveName gets a video call from you. Naturally, her personal assistant program has been instructed to give these the highest priority, and your face appears in front of her immediately. She greets you properly, and asks you what she can do to serve you. You tell her you're planning to send one of your slaves over to her arcology to assist her. Exchanges of this kind are neither unusual nor particularly interesting, so a slight look of perplexity clouds $subSlave.slaveName's face as she wonders why this merits a personal call. Normally, <<if $HeadGirl != 0>>$HeadGirl.slaveName<<else>>$assistantName<</if>> would handle it with her directly.
 
 <br><br>
@@ -47,66 +32,32 @@ Working in $activeArcology.name's penthouse office, $subSlave.slaveName gets a v
 Her question is answered when you bring $activeSlave.slaveName in close, putting her in $subSlave.slaveName's view. $subSlave.slaveName's $subSlave.eyeColor eyes fly open with pleased surprise, but before she can speak, $activeSlave.slaveName goes first.
 <<if canTalk($activeSlave) == false>>
   Unable to speak herself, she simply makes a heart shape with her hands in view of the video call, and blows her <<if $activeSlave.relationship == 4>>lover<<else>>wife<</if>> a kiss.
-<<elseif SlaveStatsChecker.checkForLisp($activeSlave)>>
-  "Hi <<if $activeSlave.relationship == 4>>lover<<else>>thweetheart<</if>>," she lisps in a syrupy tone. "Mith me?"
 <<else>>
-  "Hi <<if $activeSlave.relationship == 4>>lover<<else>>sweetheart<</if>>," she says in a syrupy tone. "Miss me?"
+  <<Enunciate $activeSlave>>
+  "Hi <<if $activeSlave.relationship == 4>>lover<<else>><<s>>weetheart<</if>>," she <<say>>s in a syrupy tone. "Mi<<ss>> me?"
 <</if>>
 
 <br><br>
 
 $subSlave.slaveName smiles back at her, glowing with pleasure, and responds with exaggerated arousal.
 
+<<Enunciate $subSlave>>
+
 <<switch $subSlave.fetish>>
 <<case "submissive">>
-	<<if SlaveStatsChecker.checkForLisp($activeSlave)>>
-	  "Looking forward to thleeping in your armth, babe,"
-	<<else>>
-	  "Looking forward to sleeping in your arms, babe,"
-	<</if>>
-	the submissive
+	"Looking forward to <<s>>leeping in your arm<<s>>, babe," the submissive
 <<case "cumslut">>
-	<<if SlaveStatsChecker.checkForLisp($activeSlave)>>
-	  "Can't wait to kith you, babe,"
-	<<else>>
-	  "Can't wait to kiss you, babe,"
-	<</if>>
-	the orally fixated
+	"Can't wait to ki<<ss>> you, babe," the orally fixated
 <<case "humiliation">>
-	<<if SlaveStatsChecker.checkForLisp($activeSlave)>>
-	  "Can't wait to take you right in the middle of the platha, here,"
-	<<else>>
-	  "Can't wait to take you right in the middle of the plaza, here,"
-	<</if>>
-	the exhibitionist
+	"Can't wait to take you right in the middle of the pla<<z>>a here," the exhibitionist
 <<case "buttslut">>
-	<<if SlaveStatsChecker.checkForLisp($activeSlave)>>
-	  "I can't wait to fuck you in your hot little butt,"
-	<<else>>
-	  "I can't wait to fuck you in your hot little ass,"
-	<</if>>
-	the anally fixated
+	"I can't wait to fuck you in your hot little a<<ss>>," the anally fixated
 <<case "boobs">>
-	<<if SlaveStatsChecker.checkForLisp($activeSlave)>>
-	  "Looking forward to feeling your breathth again,"
-	<<else>>
-	  "Looking forward to feeling your breasts again,"
-	<</if>>
-	the boob-loving
+	"Looking forward to feeling your brea<<s>>t<<s>> again," the boob-loving
 <<case "pregnancy">>
-	<<if SlaveStatsChecker.checkForLisp($activeSlave)>>
-	  "Can't wait to share all the pregnant girlth here with you,"
-	<<else>>
-	  "Can't wait to share all the pregnant girls here with you,"
-	<</if>>
-	the impregnation fetishist
+	"Can't wait to share all the pregnant girl<<s>> here with you," the impregnation fetishist
 <<case "dom">>
-	<<if SlaveStatsChecker.checkForLisp($activeSlave)>>
-	  "Looking forward to shoving you fathedown, bitch,"
-	<<else>>
-	  "Looking forward to shoving you facedown, bitch,"
-	<</if>>
-	the dominant
+	"Looking forward to <<s>>hoving you fa<<c>>edown, bitch," the dominant
 <<case "sadist">>
 	"Looking forward to making you bite the pillow again, bitch," the sadistic
 <<case "masochist">>
@@ -114,4 +65,5 @@ $subSlave.slaveName smiles back at her, glowing with pleasure, and responds with
 <<default>>
 	"Babe, I can't wait to give you a hug and tell you about $activeArcology.name," the loving
 <</switch>>
-leader of an entire arcology says.
+leader of an entire arcology <<say>>s.
+
diff --git a/src/npc/agent/agentRetrieve.tw b/src/npc/agent/agentRetrieve.tw
index 80449dafbdc64bc95ecc32b3dacfb0dbb41ec57e..02fd59374938ff925d9d33be2f1d6f1b4e1e5b13 100644
--- a/src/npc/agent/agentRetrieve.tw
+++ b/src/npc/agent/agentRetrieve.tw
@@ -1,34 +1,35 @@
 :: Agent Retrieve [silently]
 
 <<set _SL = $slaves.length, _ID = $activeArcology.leaderID, _LL = $leaders.length>>
+
 <<for _i = 0; _i < _SL; _i++>>
-<<if $slaves[_i].ID == _ID>>
-<<if $slaves[_i].relationshipTarget > 0>>
-	<<for _j = 0; _j < _SL; _j++>>
-	<<if $slaves[_j].ID == $slaves[_i].relationshipTarget && $slaves[_j].assignment == "live with your agent">>
-		<<if $slaves[$j].preg > 35>>
-			<<set $slaves[$j].birthsTotal += $slaves[$j].pregType, set $slaves[$j].preg = 0, set $slaves[$j].pregSource = 0, set $slaves[$j].pregType = 0>>
+	<<if $slaves[_i].ID == _ID>>
+		<<if $slaves[_i].relationshipTarget > 0>>
+			<<for _j = 0; _j < _SL; _j++>>
+				<<if $slaves[_j].ID == $slaves[_i].relationshipTarget && $slaves[_j].assignment == "live with your agent">>
+					<<if $slaves[$j].preg > 35>>
+						<<set $slaves[$j].birthsTotal += $slaves[$j].pregType, $slaves[$j].preg = 0, $slaves[$j].pregSource = 0, $slaves[$j].pregType = 0>>
+					<</if>>
+					<<removeJob $slaves[_j] "live with your agent">>
+					<<break>>
+				<</if>>
+			<</for>>
+			<<if $slaves[$i].preg > 35>>
+				<<set $slaves[$i].birthsTotal += $slaves[$i].pregType, $slaves[$i].preg = 0, $slaves[$i].pregSource = 0, $slaves[$i].pregType = 0>>
+			<</if>>
 		<</if>>
-		<<removeJob $slaves[_j] $slaves[_j].assignment>>
+		<<removeJob $slaves[_i] "be your agent">>
 		<<break>>
 	<</if>>
-	<</for>>
-	<<if $slaves[$i].preg > 35>>
-		<<set $slaves[$i].birthsTotal += $slaves[$i].pregType, set $slaves[$i].preg = 0, set $slaves[$i].pregSource = 0, set $slaves[$i].pregType = 0>>
-	<</if>>
-<</if>>
-<<removeJob $slaves[_i] $slaves[_i].assignment>>
-<<break>>
-<</if>>
 <</for>>
 
 <<set $activeArcology.leaderID = 0, $activeArcology.government = "your trustees">>
 
 <<for _i = 0;_i < _LL;_i++>>
-<<if _ID == $leaders[_i].ID>>
-	<<set _dump = $leaders.deleteAt(_i)>>
-	<<break>>
-<</if>>
+	<<if _ID == $leaders[_i].ID>>
+		<<set _dump = $leaders.deleteAt(_i)>>
+		<<break>>
+	<</if>>
 <</for>>
 
 <<goto "Neighbor Interact">>
diff --git a/src/npc/agent/agentWorkaround.tw b/src/npc/agent/agentWorkaround.tw
index 4dec360fe7ac466e906d43957ac0d6747e47b0d7..8d38e5cdb45b8327bf5f498a287d6abe81c078c6 100644
--- a/src/npc/agent/agentWorkaround.tw
+++ b/src/npc/agent/agentWorkaround.tw
@@ -4,28 +4,30 @@
 
 <<assignJob $slaves[$i] "be your agent">>
 
-<<if $activeSlave.reservedChildren > 0>>
-	<<set $reservedChildren -= $activeSlave.reservedChildren>>
-	<<set $activeSlave.reservedChildren = 0>>
+<<if $slaves[$i].reservedChildren > 0>>
+	<<set $reservedChildren -= $slaves[$i].reservedChildren>>
+	<<set $slaves[$i].reservedChildren = 0>>
 <</if>>
+
+<<if $slaves[$i].rivalry > 0>>
+	<<for _i = 0; _i < _SL; _i++>>
+		<<if _ID == $slaves[_i].rivalryTarget>>
+			<<set $slaves[_i].rivalry = 0, $slaves[_i].rivalryTarget = 0>>
+			<<break>>
+		<</if>>
+	<</for>>
+	<<set $slaves[$i].rivalry = 0, $slaves[$i].rivalryTarget = 0>>
+<</if>>
+
 <<if $slaves[$i].relationship > 0 && $slaves[$i].relationship < 4>>
 	<<for _i = 0;_i < _SL;_i++>>
-	<<if _ID == $slaves[_i].relationshipTarget>>
-		<<set $slaves[_i].relationship = 0, $slaves[_i].relationshipTarget = 0>>
-		<<break>>
-	<</if>>
+		<<if _ID == $slaves[_i].relationshipTarget>>
+			<<set $slaves[_i].relationship = 0, $slaves[_i].relationshipTarget = 0>>
+			<<break>>
+		<</if>>
 	<</for>>
 	<<set $slaves[$i].relationship = 0, $slaves[$i].relationshipTarget = 0>>
 <</if>>
-<<if $slaves[$i].rivalry > 0>>
-	<<for _i = 0;_i < $slaves.length;_i++>>
-	<<if _ID == $slaves[_i].rivalryTarget>>
-		<<set $slaves[_i].rivalry = 0, $slaves[_i].rivalryTarget = 0>>
-		<<break>>
-	<</if>>
-	<</for>>
-	<<set $slaves[$i].rivalry = 0, $slaves[$i].rivalryTarget = 0>>
-<</if>>
 
 <<set $leaders.push($slaves[$i]), $activeArcology.leaderID = _ID, $activeArcology.government = "your agent">>
 
diff --git a/src/npc/removeActiveSlave.tw b/src/npc/removeActiveSlave.tw
index 9f438501e2b1aa52b2b68486a66faba22e547370..366f4217d4df7c626e82b40f27e9c688db719559 100644
--- a/src/npc/removeActiveSlave.tw
+++ b/src/npc/removeActiveSlave.tw
@@ -96,36 +96,25 @@
 		<</if>>
 	<</for>>
 
-	<<if _ID == $Recruiter.ID>><<set $Recruiter = 0>><</if>>
-	<<if _ID == $HeadGirl.ID>><<set $HeadGirl = 0>><</if>>
-	<<if _ID == $Bodyguard.ID>><<set $Bodyguard = 0>><</if>>
-	<<if _ID == $Lurcher.ID>><<set $Lurcher = 0>><</if>>
-	<<if _ID == $retiree.ID>><<set $retiree = 0>><</if>>
-	<<if _ID == $fighterTwo.ID>><<set $fighterTwo = 0>><</if>>
-	<<if _ID == $Madam.ID>><<set $Madam = 0>><</if>>
-	<<if _ID == $DJ.ID>><<set $DJ = 0>><</if>>
-	<<if _ID == $Milkmaid.ID>><<set $Milkmaid = 0>><</if>>
-	<<if _ID == $Schoolteacher.ID>><<set $Schoolteacher = 0>><</if>>
-	<<if _ID == $Attendant.ID>><<set $Attendant = 0>><</if>>
-	<<if _ID == $Nurse.ID>><<set $Nurse = 0>><</if>>
-	<<if _ID == $Collectrix.ID>><<set $Collectrix = 0>><</if>>
-	<<if _ID == $Stewardess.ID>><<set $Stewardess = 0>><</if>>
-	<<if _ID == $Wardeness.ID>><<set $Wardeness = 0>><</if>>
-	<<if _ID == $Concubine.ID>><<set $Concubine = 0>><</if>>
+	/* remove from Pit fighters list, if needed */
+	<<set $fighterIDs.delete(_ID)>>
+
+	/* remove from Coursing Association, if needed */
+	<<if $Lurcher != 0 && $Lurcher.ID == _ID>>
+		<<set $Lurcher = 0>>
+	<</if>>
 
 	<<if _ID == $personalAttention>>
-		<<if $PC.career == "servant">>
-			<<set $personalAttention = "upkeep">>
-		<<elseif $PC.career == "escort">>
+		<<if $PC.career == "escort">>
 			<<set $personalAttention = "whoring">>
+		<<elseif $PC.career == "servant">>
+			<<set $personalAttention = "upkeep">>
 		<<else>>
 			<<set $personalAttention = "business">>
 		<</if>>
 	<</if>>
 
-	<<set $fighterIDs.delete(_ID)>>
-
-	/% Remove from facility array if assigned %/
+	/% Remove from facility array or leadership role, if needed %/
 	<<removeJob $activeSlave $activeSlave.assignment>>
 
 	<<set $slavesOriginal.delete(_ID)>>
diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
index 584f3f3e5c61ea169ea89dc7943a40af9ee6ccd5..3aa31216973cd4c1ce14029225a0f90304f15d61 100644
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ b/src/uncategorized/BackwardsCompatibility.tw
@@ -106,7 +106,10 @@
 	<<set $sectors[7].type = "Club", $sectors[7].ownership = 1>>
 <</if>>
 <<if $arcade && $sectors[20].type != "Arcade" && $sectors[21].type != "Arcade" && $sectors[22].type != "Arcade" && $sectors[23].type != "Arcade" && $sectors[24].type != "Arcade">>
-	<<set $sectors[22].type = "Arcade", $sectors[22].ownership = 1>>
+	<<set $sectors[21].type = "Arcade", $sectors[21].ownership = 1>>
+<</if>>
+<<if $pit && $sectors[20].type != "Pit" && $sectors[21].type != "Pit" && $sectors[22].type != "Pit" && $sectors[23].type != "Pit" && $sectors[24].type != "Pit">>
+	<<set $sectors[23].type = "Pit", $sectors[23].ownership = 1>>
 <</if>>
 <<if $dairy && $sectors[25].type != "Dairy" && $sectors[26].type != "Dairy" && $sectors[27].type != "Dairy" && $sectors[28].type != "Dairy" && $sectors[29].type != "Dairy">>
 	<<set $sectors[27].type = "Dairy", $sectors[27].ownership = 1>>
@@ -125,6 +128,9 @@
         <<elseif _activation == "always">>
             <<set $defaultRules[_i].condition = {id: "true"}>>
 
+        <<elseif _activation == "custom" && (def $defaultRules[_i].customActivationText)>>
+            <<set $defaultRules[_i].condition = parseCondition($defaultRules[_i].customActivationText).expr>>
+
         <<elseif $defaultRules[_i].thresholdLower != "none" && $defaultRules[_i].thresholdUpper != "none">>
             <<set $defaultRules[_i].condition = {
                 id: "&&",
diff --git a/src/uncategorized/assign.tw b/src/uncategorized/assign.tw
index d3cd34948fc35d1fc61ad2d53ff2c0503170a6ca..615f8342481fc704aa64bc3d57e0b9855cd8bd2b 100644
--- a/src/uncategorized/assign.tw
+++ b/src/uncategorized/assign.tw
@@ -2,9 +2,9 @@
 
 <<set $activeSlave = $slaves[$i], _ID = $activeSlave.ID>>
 
-<<assignJob $activeSlave $returnTo>>
+<<assignJob $activeSlave $assignTo>>
 
-<<switch $returnTo>>
+<<switch $assignTo>>
 <<case "Pit">>
 	<<set $fighterIDs.push(_ID)>>
 
@@ -12,16 +12,16 @@
 	<<set $Lurcher = $activeSlave>>
 
 <<default>>
-	<<if ($showAssignToScenes != 1) || ($activeSlave.fetish == "mindbroken")>>
-		<<goto $returnTo>>
-	<<elseif ($returnTo == "Dairy") && (($dairyStimulatorsSetting >= 2) || ($dairyFeedersSetting >= 2) || ($dairyPregSetting >= 2))>>
-		<<goto "Industrial Dairy Assignment Scene">>
-	<<elseif ($returnTo == "Dairy") && ($dairyRestraintsSetting == 0 && $activeSlave.devotion > 0)>>
-		<<goto "Free Range Dairy Assignment Scene">>
-	<<elseif ($returnTo == "Brothel")>>
-		<<goto "Brothel Assignment Scene">>
-	<<else>>
-		<<goto $returnTo>>
+	<<if ($showAssignToScenes == 1) && ($activeSlave.fetish != "mindbroken")>>
+		<<if ($assignTo == "Dairy") && (($dairyStimulatorsSetting >= 2) || ($dairyFeedersSetting >= 2) || ($dairyPregSetting >= 2))>>
+			<<goto "Industrial Dairy Assignment Scene">>
+		<<elseif ($assignTo == "Dairy") && ($dairyRestraintsSetting == 0 && $activeSlave.devotion > 0)>>
+			<<goto "Free Range Dairy Assignment Scene">>
+		<<elseif ($assignTo == "Brothel")>>
+			<<goto "Brothel Assignment Scene">>
+		<</if>>
 	<</if>>
-
 <</switch>>
+
+<<goto $returnTo>>
+
diff --git a/src/uncategorized/neighborInteract.tw b/src/uncategorized/neighborInteract.tw
index 85d7e48edaaf9113ea503e9fe988a48408721f27..e8ff42376339e7726e942c24ca12beb5e98980cd 100644
--- a/src/uncategorized/neighborInteract.tw
+++ b/src/uncategorized/neighborInteract.tw
@@ -1,7 +1,6 @@
 :: Neighbor Interact [nobr]
 
-<<set $nextLink = "Main">>
-<<set $nextButton = "Back">>
+<<set $nextLink = "Manage Arcology", $nextButton = "Back">>
 
 <<for $i = 0; $i < $arcologies.length; $i++>>
   <<if $arcologies[$i].direction == $activeArcology.direction>>
diff --git a/src/uncategorized/neighborsDevelopment.tw b/src/uncategorized/neighborsDevelopment.tw
index 1140f70945be287992f00eb95696156ba3db7dba..7ae851d6fcf11b4d088295d3df2f72e17c3c2f4b 100644
--- a/src/uncategorized/neighborsDevelopment.tw
+++ b/src/uncategorized/neighborsDevelopment.tw
@@ -51,6 +51,9 @@
 <<for _k = 0; _k < $leaders.length; _k++>>
 <<if $leaders[_k].ID == $arcologies[$i].leaderID>>
 	is being run by your agent @@.pink;$leaders[_k].slaveName.@@
+	<<if $leaders[_k].assignment != "be your agent">>
+		<<assignJob $leaders[_k] "be your agent">>
+	<</if>>
 	<<if $agentBonus > 0>>@@.green;She does an excellent job this week.@@<</if>>
 	The arcology
 <</if>>
diff --git a/src/uncategorized/pCitizensAndCivilians.tw b/src/uncategorized/pCitizensAndCivilians.tw
index fd51129c52e3083b1724c215ba7385a18e93d1b1..f0d9b3a5e1861b7c48f1321ebfee025dba438670 100644
--- a/src/uncategorized/pCitizensAndCivilians.tw
+++ b/src/uncategorized/pCitizensAndCivilians.tw
@@ -1,13 +1,9 @@
 :: P citizens and civilians
 
-<<nobr>>
+<<set $nextButton = " ", $nextLink = "Random Nonindividual Event", $nextButton = "Continue">>
 
-<<set $nextButton = " ">>
-<<set $nextLink = "Random Nonindividual Event">>
-	<<set $nextButton = "Continue">>
+<<nobr>>
 
-<</nobr>>\
-\
 <<if $assistant > 0>>
 	While working at your desk, you are accompanied by the luscious sound of $assistantName humming to herself, which she does to indicate she's working on a difficult task. After this goes on for a while,
 	<<switch $assistantAppearance>>
@@ -47,8 +43,10 @@
 	and says, "<<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Sir<<else>>Ma'am<</if>>, I have a suggestion. At your request I have been reviewing historical slave societies for parallels with our current situation. I calculate it would be very advantageous to bind your mercenaries more closely to the arcology. It would be expensive, but if they were all given slaves, better weapons, and some sort of title, they would defend this place to the death."<<else>><<if $assistantName == "your personal assistant">>Your personal assistant<<else>>$assistantName<</if>> catches your attention as you work at your desk. It says, "<<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Sir<<else>>Ma'am<</if>>, a suggestion. Review of historical slave societies for parallels with your current situation is complete. Analysis indicates it would be advantageous to increase the loyalty of your mercenaries. It would be expensive, but if they were given slaves, better weapons, and an honorary title, they would defend the arcology with increased effectiveness."
 <</if>>
 
+<</nobr>>
+
 ''This is a unique and very important opportunity'' and must not be taken lightly. //All of these choices have the same gameplay effect, and only differ in theme.//
-\
+
 <span id="result">
 <<link "Decline">>
 	<<replace "#result">>
@@ -66,7 +64,7 @@
 	<<set $mercenariesTitle = "Knights">>
 	<</replace>>
 <</link>>  <<if ($PC.warfare >= 100) || ($PC.career == "arcology owner")>>//This will cost ¤20000 and some upkeep, @@.springgreen;reduced by your mercenary contacts@@//<<else>>//This will cost ¤20000 and incur significant upkeep costs//<</if>>
-<<if $arcologies[0].FSRomanRevivalist >= 10>>\
+<<if $arcologies[0].FSRomanRevivalist >= 10>>
 <<link "They shall be my Evocati">>
 	<<replace "#result">>
 	You ask for a meeting with your mercenaries' captain and lay out a proposal for a new contract between you over $PC.refreshment. As he reviews the terms, he looks skeptical, then surprised, then interested, and finally, he breaks out into laughter. "<<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Sir<<else>>Ma'am<</if>>," he says, "you have no idea how fun this is going to be." He rises and gives you a short bow. "Centurion reporting for duty, <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Sir<<else>>Ma'am<</if>>." The mercenaries - no, the Evocati - are well looked after. They are each assigned a nice apartment, a freshly enslaved servant, and a suit of prototype armor equipped with the latest weapons and bearing a Roman standard. Word of the innovation runs through the Free Cities @@.green;like wildfire.@@
@@ -77,8 +75,8 @@
 	<<set $mercenariesTitle = "Evocati">>
 	<</replace>>
 <</link>>  <<if ($PC.warfare >= 100) || ($PC.career == "arcology owner")>>//This will cost ¤20000 and some upkeep, @@.springgreen;reduced by your mercenary contacts@@//<<else>>//This will cost ¤20000 and incur significant upkeep costs//<</if>>
-<</if>>\
-<<if $arcologies[0].FSEgyptianRevivalist >= 10>>\
+<</if>>
+<<if $arcologies[0].FSEgyptianRevivalist >= 10>>
 <<link "They shall be my Medjay">>
 	<<replace "#result">>
 	You ask for a meeting with your mercenaries' captain and lay out a proposal for a new contract between you over $PC.refreshment. As he reviews the terms, he looks skeptical, then surprised, then interested, and finally, he breaks out into laughter. "<<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Sir<<else>>Ma'am<</if>>," he says, "you have no idea how fun this is going to be." He rises and gives you a short bow. "First Medjay reporting for duty, <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Sir<<else>>Ma'am<</if>>." The mercenaries - no, the Medjay - are well looked after. They are each assigned a nice apartment, a freshly enslaved servant, and a suit of prototype armor equipped with the latest weapons and bearing a faux cheetah cloak. Word of the innovation runs through the Free Cities @@.green;like wildfire.@@
@@ -89,8 +87,8 @@
 	<<set $mercenariesTitle = "Medjay">>
 	<</replace>>
 <</link>>  <<if ($PC.warfare >= 100) || ($PC.career == "arcology owner")>>//This will cost ¤20000 and some upkeep, @@.springgreen;reduced by your mercenary contacts@@//<<else>>//This will cost ¤20000 and incur significant upkeep costs//<</if>>
-<</if>>\
-<<if $arcologies[0].FSEdoRevivalist >= 10>>\
+<</if>>
+<<if $arcologies[0].FSEdoRevivalist >= 10>>
 <<link "Naturally, they shall be the Samurai">>
 	<<replace "#result">>
 	You ask for a meeting with your mercenaries' captain and lay out a proposal for a new contract between you over $PC.refreshment. As he reviews the terms, he looks skeptical, then surprised, then interested, and finally, he breaks out into laughter. "<<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Sir<<else>>Ma'am<</if>>," he says, "you have no idea how fun this is going to be." He rises and gives you a short bow. "Your Samurai-Lord reports for duty, <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Sir<<else>>Ma'am<</if>>." The mercenaries - no, the Samurai - are well looked after. They are each assigned a nice apartment, a freshly enslaved servant, and a suit of prototype armor equipped with the latest weapons, exterior plates styled after lacquered Samurai armor, and an enraged mask covering the face. Word of the innovation runs through the Free Cities @@.green;like wildfire.@@
@@ -101,8 +99,8 @@
 	<<set $mercenariesTitle = "Samurai">>
 	<</replace>>
 <</link>>  <<if ($PC.warfare >= 100) || ($PC.career == "arcology owner")>>//This will cost ¤20000 and some upkeep, @@.springgreen;reduced by your mercenary contacts@@//<<else>>//This will cost ¤20000 and incur significant upkeep costs//<</if>>
-<</if>>\
-<<if $arcologies[0].FSArabianRevivalist >= 10>>\
+<</if>>
+<<if $arcologies[0].FSArabianRevivalist >= 10>>
 <<link "They shall be my Janissaries">>
 	<<replace "#result">>
 	You ask for a meeting with your mercenaries' captain and lay out a proposal for a new contract between you over $PC.refreshment. As he reviews the terms, he looks skeptical, then surprised, then interested, and finally, he breaks out into laughter. "<<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Sir<<else>>Ma'am<</if>>," he says, "you have no idea how fun this is going to be." He rises and gives you a short bow. "Corbaci reporting for duty, <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Sir<<else>>Ma'am<</if>>." The mercenaries - no, the Janissaries - are well looked after. They are each assigned a nice apartment, a freshly enslaved servant, and a suit of prototype armor equipped with the latest weapons and cloaked in an outer garment of fine oriental silks. Word of the innovation runs through the Free Cities @@.green;like wildfire.@@
@@ -113,8 +111,8 @@
 	<<set $mercenariesTitle = "Janissaries">>
 	<</replace>>
 <</link>>  <<if ($PC.warfare >= 100) || ($PC.career == "arcology owner")>>//This will cost ¤20000 and some upkeep, @@.springgreen;reduced by your mercenary contacts@@//<<else>>//This will cost ¤20000 and incur significant upkeep costs//<</if>>
-<</if>>\
-<<if $arcologies[0].FSChattelReligionist >= 10>>\
+<</if>>
+<<if $arcologies[0].FSChattelReligionist >= 10>>
 <<link "They shall be the Knights Templar">>
 	<<replace "#result">>
 	You ask for a meeting with your mercenaries' captain and lay out a proposal for a new contract between you over $PC.refreshment. As he reviews the terms, he looks skeptical, then surprised, then interested, and finally, he breaks out into laughter. "<<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Sir<<else>>Ma'am<</if>>," he says, "you have no idea how fun this is going to be." He rises and gives you a short bow. "Inquisitor-General reporting for duty, <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Sir<<else>>Ma'am<</if>>." The mercenaries - no, the Knights Templar - are well looked after. They are each assigned a nice apartment, a freshly enslaved servant, and a suit of prototype armor equipped with the latest weapons and bearing a cloak emblazoned with the symbol of God. Word of the innovation runs through the Free Cities @@.green;like wildfire.@@
@@ -125,8 +123,8 @@
 	<<set $mercenariesTitle = "Knights Templar">>
 	<</replace>>
 <</link>>  <<if ($PC.warfare >= 100) || ($PC.career == "arcology owner")>>//This will cost ¤20000 and some upkeep, @@.springgreen;reduced by your mercenary contacts@@//<<else>>//This will cost ¤20000 and incur significant upkeep costs//<</if>>
-<</if>>\
-<<if $arcologies[0].FSDegradationist >= 10>>\
+<</if>>
+<<if $arcologies[0].FSDegradationist >= 10>>
 <<link "They shall be my Immortals">>
 	<<replace "#result">>
 	You ask for a meeting with your mercenaries' captain and lay out a proposal for a new contract between you over $PC.refreshment. As he reviews the terms, he looks skeptical, then surprised, then interested, and finally, he breaks out into laughter. "<<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Sir<<else>>Ma'am<</if>>," he says, "you have no idea how fun this is going to be." He rises and gives you a short bow. "Satrap reporting for duty, <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Sir<<else>>Ma'am<</if>>." The mercenaries - no, the Immortals - are well looked after. They are each assigned a nice apartment, a freshly enslaved servant, and a suit of prototype armor equipped with the latest weapons and more than one wicked, curved blade. Word of the innovation runs through the Free Cities @@.green;like wildfire.@@
@@ -137,20 +135,20 @@
 	<<set $mercenariesTitle = "Immortals">>
 	<</replace>>
 <</link>>  <<if ($PC.warfare >= 100) || ($PC.career == "arcology owner")>>//This will cost ¤20000 and some upkeep, @@.springgreen;reduced by your mercenary contacts@@//<<else>>//This will cost ¤20000 and incur significant upkeep costs//<</if>>
-<</if>>\
-<<if $arcologies[0].FSAssetExpansionist >= 10>>\
-<</if>>\
-<<if $arcologies[0].FSTransformationFetishist >= 10>>\
-<</if>>\
-<<if $arcologies[0].FSGenderRadicalist >= 10>>\
-<</if>>\
-<<if $arcologies[0].FSGenderFundamentalist >= 10>>\
-<</if>>\
-<<if $arcologies[0].FSRepopulationFocus >= 10>>\
-<</if>>\
-<<if $arcologies[0].FSRestart >= 10>>\
-<</if>>\
-<<if $arcologies[0].FSPhysicalIdealist >= 10>>\
+<</if>>
+<<if $arcologies[0].FSAssetExpansionist >= 10>>
+<</if>>
+<<if $arcologies[0].FSTransformationFetishist >= 10>>
+<</if>>
+<<if $arcologies[0].FSGenderRadicalist >= 10>>
+<</if>>
+<<if $arcologies[0].FSGenderFundamentalist >= 10>>
+<</if>>
+<<if $arcologies[0].FSRepopulationFocus >= 10>>
+<</if>>
+<<if $arcologies[0].FSRestart >= 10>>
+<</if>>
+<<if $arcologies[0].FSPhysicalIdealist >= 10>>
 <<link "They shall be the Asgardians">>
 	<<replace "#result">>
 	You ask for a meeting with your mercenaries' captain and lay out a proposal for a new contract between you over $PC.refreshment. As he reviews the terms, he looks skeptical, then surprised, then interested, and finally, he breaks out into laughter. "<<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Sir<<else>>Ma'am<</if>>," he says, "you have no idea how fun this is going to be." He rises and gives you a short bow. "Foehammer reporting for duty, <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Sir<<else>>Ma'am<</if>>." The mercenaries - no, the Asgardians - are well looked after. They are each assigned a nice apartment, a freshly enslaved servant, a private gym, and a suit of prototype armor equipped with the latest weapons. Word of the innovation runs through the Free Cities @@.green;like wildfire.@@
@@ -161,8 +159,8 @@
 	<<set $mercenariesTitle = "Asgardians">>
 	<</replace>>
 <</link>>  <<if ($PC.warfare >= 100) || ($PC.career == "arcology owner")>>//This will cost ¤20000 and some upkeep, @@.springgreen;reduced by your mercenary contacts@@//<<else>>//This will cost ¤20000 and incur significant upkeep costs//<</if>>
-<</if>>\
-<<if $arcologies[0].FSSupremacist >= 10>>\
+<</if>>
+<<if $arcologies[0].FSSupremacist >= 10>>
 <<link "They shall be the Knights of the Blood">>
 	<<replace "#result">>
 	You ask for a meeting with your mercenaries' captain and lay out a proposal for a new contract between you over $PC.refreshment. As he reviews the terms, he looks skeptical, then surprised, then interested, and finally, he breaks out into laughter. "<<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Sir<<else>>Ma'am<</if>>," he says, "you have no idea how fun this is going to be." He rises and gives you a short bow. "Knights of the Blood reporting for duty, <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Sir<<else>>Ma'am<</if>>." The mercenaries - no, the Knights of the Blood - are well looked after. They are each assigned a nice apartment, three freshly enslaved servants of inferior races, and a suit of prototype armor equipped with the latest weapons. Word of the innovation runs through the Free Cities @@.green;like wildfire.@@
@@ -173,10 +171,10 @@
 	<<set $mercenariesTitle = "Knights of the Blood">>
 	<</replace>>
 <</link>>  <<if ($PC.warfare >= 100) || ($PC.career == "arcology owner")>>//This will cost ¤20000 and some upkeep, @@.springgreen;reduced by your mercenary contacts@@//<<else>>//This will cost ¤20000 and incur significant upkeep costs//<</if>>
-<</if>>\
-<<if $arcologies[0].FSSubjugationist >= 10>>\
-<</if>>\
-<<if $arcologies[0].FSPaternalist >= 10>>\
+<</if>>
+<<if $arcologies[0].FSSubjugationist >= 10>>
+<</if>>
+<<if $arcologies[0].FSPaternalist >= 10>>
 <<link "They shall be the Wardens">>
 	<<replace "#result">>
 	You ask for a meeting with your mercenaries' captain and lay out a proposal for a redesigned contract between you. As he reviews the terms, he looks skeptical, then surprised, then interested, and finally, he breaks out into laughter. "<<if $PC.title isnot 0>>Sir<<else>>Ma'am<</if>>," he says, "you have no idea how fun this is going to be." He rises and gives you a short bow. "First Warden reporting for duty, <<if $PC.title isnot 0>>Sir<<else>>Ma'am<</if>>." The mercenaries - no, the Wardens - are well looked after. They are each assigned a nice apartment, a freshly enslaved servant, and a suit of prototype armor equipped with the latest weapons and a collapsible riot shield. Word of the innovation runs through the Free Cities @@.green;like wildfire.@@
@@ -187,12 +185,12 @@
 	<<set $mercenariesTitle = "Wardens">>
 	<</replace>>
 <</link>>  <<if $PC.warfare >= 100 || ($PC.career == "arcology owner")>>//This will cost ¤20000 and some upkeep, @@.springgreen;reduced by your mercenary contacts@@//<<else>>//This will cost ¤20000 and incur significant upkeep costs//<</if>>
-<</if>>\
-<<if $arcologies[0].FSBodyPurist >= 10>>\
-<</if>>\
-<<if $arcologies[0].FSSlimnessEnthusiast >= 10>>\
-<</if>>\
-<<if $arcologies[0].FSPastoralist >= 10>>\
+<</if>>
+<<if $arcologies[0].FSBodyPurist >= 10>>
+<</if>>
+<<if $arcologies[0].FSSlimnessEnthusiast >= 10>>
+<</if>>
+<<if $arcologies[0].FSPastoralist >= 10>>
 <<link "They shall be the Rangers">>
 	<<replace "#result">>
 	You ask for a meeting with your mercenaries' captain and lay out a proposal for a new contract between you over $PC.refreshment. As he reviews the terms, he looks skeptical, then surprised, then interested, and finally, he breaks out into laughter. "<<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Sir<<else>>Ma'am<</if>>," he says, "you have no idea how fun this is going to be." He rises and gives you a short bow. "Lead Ranger reporting for duty, <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Sir<<else>>Ma'am<</if>>." The mercenaries - no, the Rangers - are well looked after. They are each assigned a nice apartment, a freshly enslaved servant, and a suit of prototype armor equipped with the latest weapons - and an improbably massive revolver on the hip. Word of the innovation runs through the Free Cities @@.green;like wildfire.@@
@@ -203,5 +201,5 @@
 	<<set $mercenariesTitle = "Rangers">>
 	<</replace>>
 <</link>>  <<if ($PC.warfare >= 100) || ($PC.career == "arcology owner")>>//This will cost ¤20000 and some upkeep, @@.springgreen;reduced by your mercenary contacts@@//<<else>>//This will cost ¤20000 and incur significant upkeep costs//<</if>>
-<</if>>\
+<</if>>
 </span>
diff --git a/src/uncategorized/pit.tw b/src/uncategorized/pit.tw
index a5ea1781756939d5466898771826b0265026acbe..658e5665dc4bcd5407e17e287e30b1e705a4e4bc 100644
--- a/src/uncategorized/pit.tw
+++ b/src/uncategorized/pit.tw
@@ -14,7 +14,7 @@ $pitNameCaps is clean and ready,
 <<elseif _DL > 0>>
 	with slaves assigned to the week's bout.
 <<else>>
-	but no slaves are assigned fight.
+	but no slaves are assigned to fight.
 	<<link "Decommission the pit">>
 		<<set $pit = 0>>
 		<<for _i = 0; _i < $sectors.length; _i++>>
diff --git a/src/uncategorized/rulesAssistant.tw b/src/uncategorized/rulesAssistant.tw
index b1ae080fe666eab630b462616f2060318d95fa2f..2982b779f2b8cea63500f94d723388d91d1e5d6c 100644
--- a/src/uncategorized/rulesAssistant.tw
+++ b/src/uncategorized/rulesAssistant.tw
@@ -303,14 +303,28 @@ __Rule $r Automatic Activation__
 &nbsp;&nbsp;&nbsp;&nbsp;
 
 <<if $currentRule.selectedSlaves.length < 1 && $currentRule.excludedSlaves.length < 1>>
-  @@.gray;Specific slaves:@@
-	''Not limited to nor excluding any specific slaves'' | [[Choose specific slaves|Rules Slave Select][$currentRule.excludedSlaves = []]] | [[Exclude specific slaves|Rules Slave Exclude][$currentRule.selectedSlaves = []]]
+  @@.gray;No specific slaves selected:@@
+	[[Limit to specific slaves|Rules Slave Select][$currentRule.excludedSlaves = []]] | [[Exclude specific slaves|Rules Slave Exclude][$currentRule.selectedSlaves = []]]
 <<elseif $currentRule.selectedSlaves.length < 1 && $currentRule.excludedSlaves.length > 0>>
-  Exclude specific slaves:
-	[[Currently excluding specific slaves|Rules Slave Exclude]] | [[Don't exclude specific slaves|Rules Assistant][$currentRule.excludedSlaves = []]]
+	<br>Excluding specific slaves:
+	<ul>
+	<<for _j = 0; _j < $slaves.length; _j++>>
+		<<if $currentRule.excludedSlaves.includes($slaves[_j].ID)>>
+			<li>$slaves[_j].slaveName</li>
+		<</if>>
+	<</for>>
+	</ul>
+	[[Change specific slaves|Rules Slave Exclude]] | [[Don't exclude specific slaves|Rules Assistant][$currentRule.excludedSlaves = []]]
 <<else>>
-  Apply to specific slaves:
-	[[Currently limited to specific slaves|Rules Slave Select]] | [[Don't limit to specific slaves|Rules Assistant][$currentRule.selectedSlaves = [], $currentRule.excludedSlaves = []]]
+	<br>Limited to specific slaves (this list does not override the exclude special slaves setting above):
+	<ul>
+	<<for _j = 0; _j < $slaves.length; _j++>>
+		<<if $currentRule.selectedSlaves.includes($slaves[_j].ID)>>
+			<li>$slaves[_j].slaveName</li>
+		<</if>>
+	<</for>>
+	</ul>
+	[[Change specific slaves|Rules Slave Select]] | [[Don't limit to specific slaves|Rules Assistant][$currentRule.selectedSlaves = [], $currentRule.excludedSlaves = []]]
 <</if>>
 
 <span id = "setassignment">
@@ -327,238 +341,194 @@ __Rule $r Automatic Activation__
 
 <br><br>
 
-Apply to slaves:<br>
-<<if ((ndef $currentRule.selectedSlaves) || ($currentRule.selectedSlaves.length < 1)) && ((ndef $currentRule.excludedSlaves) || ($currentRule.excludedSlaves.length < 1))>>
-''Currently applied to all slaves'' | [[Choose specific slaves|Rules Slave Select]]
-<<elseif ((ndef $currentRule.selectedSlaves) || ($currentRule.selectedSlaves.length < 1)) && (def $currentRule.excludedSlaves) && ($currentRule.excludedSlaves.length > 0)>>
-''Currently applied to all slaves except excluded slaves'' | [[Choose specific slaves|Rules Slave Select]] | [[Apply to all slaves|Rules Assistant][$currentRule.selectedSlaves = [],$currentRule.excludedSlaves = []]]
-<<else>>
-	<ul>
-	<<for $i = 0; $i < $currentRule.selectedSlaves.length; $i++ >>
-	  <<for $j = 0; $j < $slaves.length; $j++ >>
-			<<if $slaves[$j].ID == $currentRule.selectedSlaves[$i]>>
-					<li>
-						$slaves[$j].slaveName
-					</li>
-			<</if>>
-		<</for>>
-	<</for>>
-	</ul>
-[[Change which slaves this rule applies to|Rules Slave Select]] | [[Apply to all slaves|Rules Assistant][$currentRule.selectedSlaves = [], $currentRule.excludedSlaves = []]]
-<</if>>
-
-<br>
-Exclude slaves:<br>
-<<if ndef $currentRule.excludedSlaves || $currentRule.excludedSlaves.length < 1>>
-''Not excluding any slaves'' |
-
-[[Exclude specific slaves|Rules Slave Exclude]]
-<<else>>
-	<ul>
-	<<for $i = 0; $i < $currentRule.excludedSlaves.length; $i++ >>
-	  <<for $j = 0; $j < $slaves.length; $j++ >>
-			<<if $slaves[$j].ID == $currentRule.excludedSlaves[$i]>>
-					<li>
-						$slaves[$j].slaveName
-					</li>
-			<</if>>
-		<</for>>
-	<</for>>
-	</ul>
-[[Change which slaves are excluded from this rule|Rules Slave Exclude]] | [[Don't exclude slaves|Rules Assistant][$currentRule.excludedSlaves = []]]
-<</if>>
-
-<br><br>
-
 __Rule $r Default Appearance:__
 <br>
 Clothes:
 <span id = "clothes">
-<<if $currentRule.choosesOwnClothes == 1>>
+<<if ($currentRule.clothes == "choosing her own clothes")>>
 	''slave's choice.''
-	<<set $currentRule.clothes = "choosing her own clothes">>
 <<else>>
 	''$currentRule.clothes.''
 <</if>>
 </span>
 <br>(Good clothes)<br>
 <<link "No default clothes setting">>
-	<<set $currentRule.clothes = "no default setting", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "no default setting">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
 <</link>>
 |
 <<link "Nice lingerie">>
-	<<set $currentRule.clothes = "attractive lingerie", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "attractive lingerie">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
 <</link>>
 |
 <<link "String bikini">>
-	<<set $currentRule.clothes = "a string bikini", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "a string bikini">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
 <</link>>
 |
 <<link "Clubslut netting">>
-	<<set $currentRule.clothes = "clubslut netting", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "clubslut netting">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
 <</link>>
 |
 <<link "Cheerleader outfit">>
-	<<set $currentRule.clothes = "a cheerleader outfit", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "a cheerleader outfit">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
 <</link>>
 |
 <<link "Cutoffs and a t-shirt">>
-	<<set $currentRule.clothes = "cutoffs and a t-shirt", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "cutoffs and a t-shirt">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
 <</link>>
 |
 <<link "Slave gown">>
-	<<set $currentRule.clothes = "a slave gown", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "a slave gown">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
 <</link>>
 |
 <<link "Ball gown">>
-	<<set $currentRule.clothes = "a ball gown", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "a ball gown">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
 <</link>>
 |
 <<link "Halter top">>
-	<<set $currentRule.clothes = "a halter top dress", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "a halter top dress">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
 <</link>>
 |
 <<link "Mini dress">>
-	<<set $currentRule.clothes = "a mini dress", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "a mini dress">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
 <</link>>
 |
 <<link "Slutty suit">>
-	<<set $currentRule.clothes = "slutty business attire", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "slutty business attire">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
 <</link>>
 |
 <<link "Nice suit">>
-	<<set $currentRule.clothes = "nice business attire", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "nice business attire">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
 <</link>>
 |
 <<link "Slutty nurse">>
-	<<set $currentRule.clothes = "a slutty nurse outfit", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "a slutty nurse outfit">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
 <</link>>
 |
 <<link "Nice nurse">>
-	<<set $currentRule.clothes = "a nice nurse outfit", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "a nice nurse outfit">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
 <</link>>
 |
 <<link "Schoolgirl">>
-	<<set $currentRule.clothes = "a schoolgirl outfit", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "a schoolgirl outfit">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
 <</link>>
 |
 <<link "Bodysuit">>
-	<<set $currentRule.clothes = "a comfortable bodysuit", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "a comfortable bodysuit">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
 <</link>>
 |
 <<link "Latex catsuit">>
-	<<set $currentRule.clothes = "a latex catsuit", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "a latex catsuit">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
 <</link>>
 |
 <<link "Leotard">>
-	<<set $currentRule.clothes = "a leotard", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "a leotard">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
 <</link>>
 |
 <<link "Military uniform">>
-	<<set $currentRule.clothes = "a military uniform", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "a military uniform">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
 <</link>>
 |
 <<link "Skimpy battledress">>
-	<<set $currentRule.clothes = "battledress", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "battledress">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
 <</link>>
 |
 <<link "Slutty maid">>
-	<<set $currentRule.clothes = "a slutty maid outfit", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "a slutty maid outfit">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
 <</link>>
 |
 <<link "Nice maid">>
-	<<set $currentRule.clothes = "a nice maid outfit", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "a nice maid outfit">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
 <</link>>
 |
 <<link "Fallen nun">>
-	<<set $currentRule.clothes = "a fallen nuns habit", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "a fallen nuns habit">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
 <</link>>
 |
 <<link "Hijab and abaya">>
-	<<set $currentRule.clothes = "a hijab and abaya", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "a hijab and abaya">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
 <</link>>
 |
 <<link "Bangles">>
-	<<set $currentRule.clothes = "slutty jewelry", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "slutty jewelry">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
 <</link>>
 |
 <<link "Succubus costume">>
-	<<set $currentRule.clothes = "a succubus outfit", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "a succubus outfit">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
@@ -567,7 +537,7 @@ Clothes:
 <<if ($arcologies[0].FSGenderFundamentalist != "unset") || ($cheatMode == 1) || ($clothesBoughtBunny == 1)>>
    //FS//
 <<link "Bunny outfit">>
-	<<set $currentRule.clothes = "a bunny outfit", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "a bunny outfit">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
@@ -576,7 +546,7 @@ Clothes:
 <<if ($arcologies[0].FSPaternalist != "unset") || ($cheatMode == 1) || ($clothesBoughtConservative == 1)>>
    //FS//
 <<link "Conservative clothing">>
-	<<set $currentRule.clothes = "conservative clothing", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "conservative clothing">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
@@ -585,7 +555,7 @@ Clothes:
 <<if ($arcologies[0].FSDegradationist != "unset") || ($cheatMode == 1) || ($clothesBoughtChains == 1)>>
    //FS//
 <<link "Chains">>
-	<<set $currentRule.clothes = "chains", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "chains">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
@@ -594,7 +564,7 @@ Clothes:
 <<if ($arcologies[0].FSPastoralist != "unset") || ($cheatMode == 1) || ($clothesBoughtWestern == 1)>>
    //FS//
 <<link "Western clothing">>
-	<<set $currentRule.clothes = "Western clothing", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "Western clothing">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
@@ -603,7 +573,7 @@ Clothes:
 <<if ($arcologies[0].FSPhysicalIdealist != "unset") || ($cheatMode == 1) || ($clothesBoughtOil == 1)>>
    //FS//
 <<link "Body oil">>
-	<<set $currentRule.clothes = "body oil", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "body oil">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
@@ -612,7 +582,7 @@ Clothes:
 <<if ($arcologies[0].FSChattelReligionist != "unset") || ($cheatMode == 1) || ($clothesBoughtHabit == 1)>>
    //FS//
 <<link "Chattel habit">>
-	<<set $currentRule.clothes = "a chattel habit", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "a chattel habit">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
@@ -621,7 +591,7 @@ Clothes:
 <<if ($arcologies[0].FSRomanRevivalist != "unset") || ($cheatMode == 1) || ($clothesBoughtToga == 1)>>
    //FS//
 <<link "Toga">>
-	<<set $currentRule.clothes = "a toga", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "a toga">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
@@ -630,7 +600,7 @@ Clothes:
 <<if ($arcologies[0].FSEdoRevivalist != "unset") || ($cheatMode == 1) || ($clothesBoughtKimono == 1)>>
    //FS//
 <<link "Kimono">>
-	<<set $currentRule.clothes = "a kimono", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "a kimono">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
@@ -638,7 +608,7 @@ Clothes:
 <<elseif ($arcologies[0].FSArabianRevivalist != "unset") || ($cheatMode == 1) || ($clothesBoughtHarem == 1)>>
    //FS//
 <<link "Harem gauze">>
-	<<set $currentRule.clothes = "harem gauze", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "harem gauze">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
@@ -647,7 +617,7 @@ Clothes:
 <<if ($arcologies[0].FSChineseRevivalist != "unset") || ($cheatMode == 1) || ($clothesBoughtQipao == 1)>>
    //FS//
 <<link "Qipao">>
-	<<set $currentRule.clothes = "a slutty qipao", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "a slutty qipao">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
@@ -656,7 +626,7 @@ Clothes:
 <<if ($arcologies[0].FSRepopulationFocus != "unset") || ($cheatMode == 1) || ($clothesBoughtMaternityDress == 1)>>
    //FS// 
 <<link "Maternity dress">>
-	<<set $currentRule.clothes = "a maternity dress", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "a maternity dress">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
@@ -665,49 +635,49 @@ Clothes:
 <<if ($arcologies[0].FSRepopulationFocus != "unset") || ($cheatMode == 1) || ($clothesBoughtMaternityLingerie == 1)>>
    //FS// 
 <<link "Maternity lingerie">>
-	<<set $currentRule.clothes = "attractive lingerie for a pregnant woman", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "attractive lingerie for a pregnant woman">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
 <</link>> | 
 <</if>>
 <<link "Select her own outfit">>
-	<<set $currentRule.clothes = "choosing her own clothes", $currentRule.choosesOwnClothes = 1>>
+	<<set $currentRule.clothes = "choosing her own clothes">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
 <</link>>
 <br>(Bad clothes)<br>
 <<link "Nude">>
-	<<set $currentRule.clothes = "no clothing", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "no clothing">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
 <</link>>
 |
 <<link "Uncomfortable straps">>
-	<<set $currentRule.clothes = "uncomfortable straps", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "uncomfortable straps">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
 <</link>>
 |
 <<link "Shibari ropes">>
-	<<set $currentRule.clothes = "shibari ropes", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "shibari ropes">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
 <</link>>
 |
 <<link "Restrictive latex">>
-	<<set $currentRule.clothes = "restrictive latex", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "restrictive latex">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
 <</link>>
 |
 <<link "Penitent nun">>
-	<<set $currentRule.clothes = "a penitent nuns habit", $currentRule.choosesOwnClothes = 0>>
+	<<set $currentRule.clothes = "a penitent nuns habit">>
 	<<RAChangeClothes>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
@@ -908,14 +878,14 @@ Body Accessory: ''$currentRule.bellyAccessory.''
 	<<RAChangeApply>>
 <</link>>
 |
-<<link "Tight">>
+<<link "Tight corset">>
 	<<set $currentRule.bellyAccessory = "a corset">>
 	<<RAChangeBelly>>
 	<<RAChangeSave>>
 	<<RAChangeApply>>
 <</link>>
 |
-<<link "Extreme">>
+<<link "Extreme corset">>
 	<<set $currentRule.bellyAccessory = "an extreme corset">>
 	<<RAChangeBelly>>
 	<<RAChangeSave>>
@@ -944,7 +914,7 @@ Body Accessory: ''$currentRule.bellyAccessory.''
 	<<RAChangeApply>>
 <</link>>
 | //FS// 
-<<link "3rd Trimester Twins belly">>
+<<link "3rd Trimester twins belly">>
 	<<set $currentRule.bellyAccessory = "a huge empathy belly">>
 	<<RAChangeBelly>>
 	<<RAChangeSave>>
@@ -2590,7 +2560,6 @@ Relationship rules: ''$currentRule.relationshipRules.''
 				<<set $currentRule.name = "Obedient Slaves">>
 				<<set $currentRule.condition = {id: ">=", first: {id: "(name)", name: "devotion"}, second: {id: "(number)", value: 20}}>>
 				<<set $currentRule.clothes = "slutty jewelry">>
-				<<set $currentRule.choosesOwnClothes = 0>>
 				<<set $currentRule.collar = "pretty jewelry">>
 				<<set $currentRule.shoes = "heels">>
 				<<set $currentRule.vaginalAccessory = "none">>
@@ -2638,7 +2607,6 @@ Relationship rules: ''$currentRule.relationshipRules.''
 				<<set $currentRule.relationshipRules = "permissive">>
 				<<set $currentRule.livingRules = "luxurious">>
 				<<set $currentRule.growth = "unlimited">>
-				<<set $currentRule.lactation = "no default setting">>
 				<<set $currentRule.autoBrand = 1>>
 				<<set $currentRule.assignment = []>>
 				<<set $currentRule.excludeAssignment = []>>
@@ -2671,7 +2639,6 @@ Relationship rules: ''$currentRule.relationshipRules.''
 				<<set $currentRule.name = "Disobedient Slaves">>
 				<<set $currentRule.condition = {id: "<", first: {id: "(name)", name: "devotion"}, second: {id: "(number)", value: 20}}>>
 				<<set $currentRule.clothes = "uncomfortable straps">>
-				<<set $currentRule.choosesOwnClothes = 0>>
 				<<set $currentRule.collar = "uncomfortable leather">>
 				<<set $currentRule.shoes = "heels">>
 				<<set $currentRule.vaginalAccessory = "no default setting">>
@@ -2719,7 +2686,6 @@ Relationship rules: ''$currentRule.relationshipRules.''
 				<<set $currentRule.livingRules = "spare">>
 				<<set $currentRule.autoSurgery = 0>>
 				<<set $currentRule.growth = "unlimited">>
-				<<set $currentRule.lactation = "no default setting">>
 				<<set $currentRule.autoBrand = 1>>
 				<<set $currentRule.assignment = []>>
 				<<set $currentRule.excludeAssignment = []>>
@@ -2750,7 +2716,6 @@ Relationship rules: ''$currentRule.relationshipRules.''
 				<<set $currentRule.name = "Unhealthy Slaves">>
 				<<set $currentRule.condition = {id: "<", first: {id: "(name)", name: "health"}, second: {id: "(number)", value: -2}}>>
 				<<set $currentRule.clothes = "no default setting">>
-				<<set $currentRule.choosesOwnClothes = 0>>
 				<<set $currentRule.collar = "no default setting">>
 				<<set $currentRule.shoes = "no default setting">>
 				<<set $currentRule.vaginalAccessory = "no default setting">>
@@ -2797,7 +2762,6 @@ Relationship rules: ''$currentRule.relationshipRules.''
 				<<set $currentRule.relationshipRules = "no default setting">>
 				<<set $currentRule.livingRules = "no default setting">>
 				<<set $currentRule.growth = "no default setting">>
-				<<set $currentRule.lactation = "no default setting">>
 				<<set $currentRule.autoBrand = "no default setting">>
 				<<set $currentRule.assignment = []>>
 				<<set $currentRule.excludeAssignment = []>>
@@ -2854,7 +2818,7 @@ Relationship rules: ''$currentRule.relationshipRules.''
 
 	<<link "Add a new rule">>
 
-		<<set _activeRule = {aphrodisiacs: "no default setting", activation: "none", thresholdLower: 4, thresholdUpper: "none", eqLower: true, eqUpper: true, releaseRules: "no default setting", clitSetting: "no default setting", clitSettingXY: "no default setting", clitSettingXX: "no default setting", clitSettingEnergy: "no default setting", speechRules: "no default setting", clothes: "no default setting", fuckdoll: 0, choosesOwnClothes: 0, collar: "no default setting", shoes: "no default setting", virginAccessory: "no default setting", aVirginAccessory: "no default setting", vaginalAccessory: "no default setting", aVirginDickAccessory: "no default setting", dickAccessory: "no default setting", cSec: 0, bellyAccessory: "no default setting", aVirginButtplug: "no default setting", buttplug: "no default setting", markings: "none", eyeColor: "no default setting", makeup: "no default setting", nails: "no default setting", hColor: "no default setting", hLength: "no default setting", hStyle: "no default setting", pubicHColor: "no default setting", pubicHStyle: "no default setting", nipplesPiercing: "no default setting", areolaePiercing: "no default setting", clitPiercing: "no default setting", vaginaLube: "no default setting", vaginaPiercing: "no default setting", analArea: 1, dickPiercing: "no default setting", anusPiercing: "no default setting", lipsPiercing: "no default setting", tonguePiercing: "no default setting", earPiercing: "no default setting", nosePiercing: "no default setting", eyebrowPiercing: "no default setting", navelPiercing: "no default setting", corsetPiercing: "no default setting", boobsTat: "no default setting", buttTat: "no default setting", vaginaTat: "no default setting", dickTat: "no default setting", lipsTat: "no default setting", anusTat: "no default setting", shouldersTat: "no default setting", armsTat: "no default setting", legsTat: "no default setting", backTat: "no default setting", stampTat: "no default setting", curatives: "no default setting", livingRules: "no default setting", relationshipRules: "no default setting", standardPunishment: "no default setting", standardReward: "no default setting", useRulesAssistant: 1, diet: "no default setting", dietCum: "no default setting", dietMilk: "no default setting", muscles: "no default setting", XY: "no default setting", XX: "no default setting", gelding: "no default setting", preg: "no default setting", growth: "no default setting", autoSurgery: 0, choosesOwnAssignment: 0, lactation: 0, autoBrand: 0, pornFameSpending: "no default setting", dietGrowthSupport: 0, eyewear: "no default setting", assignment: [], excludeAssignment: [], setAssignment: "none", facility: [], excludeFacility: [], assignFacility: "none", excludeSpecialSlaves: true, facilityRemove: false, removalAssignment: "rest", selectedSlaves: [], excludedSlaves: [], surgery: {lactation: "no default setting", cosmetic: 0, accent: "no default setting", shoulders: "no default setting", shouldersImplant: "no default setting", boobs: "no default setting", hips: "no default setting", hipsImplant: "no default setting", butt: "no default setting", faceShape: "no default setting", lips: "no default setting", holes: 0}, underArmHColor: "no default setting", underArmHStyle: "no default setting" }>>
+		<<set _activeRule = {aphrodisiacs: "no default setting", condition: {id: "false"}, releaseRules: "no default setting", clitSetting: "no default setting", clitSettingXY: "no default setting", clitSettingXX: "no default setting", clitSettingEnergy: "no default setting", speechRules: "no default setting", clothes: "no default setting", collar: "no default setting", shoes: "no default setting", virginAccessory: "no default setting", aVirginAccessory: "no default setting", vaginalAccessory: "no default setting", aVirginDickAccessory: "no default setting", dickAccessory: "no default setting", bellyAccessory: "no default setting", aVirginButtplug: "no default setting", buttplug: "no default setting", eyeColor: "no default setting", makeup: "no default setting", nails: "no default setting", hColor: "no default setting", hLength: "no default setting", hStyle: "no default setting", pubicHColor: "no default setting", pubicHStyle: "no default setting", nipplesPiercing: "no default setting", areolaePiercing: "no default setting", clitPiercing: "no default setting", vaginaLube: "no default setting", vaginaPiercing: "no default setting", dickPiercing: "no default setting", anusPiercing: "no default setting", lipsPiercing: "no default setting", tonguePiercing: "no default setting", earPiercing: "no default setting", nosePiercing: "no default setting", eyebrowPiercing: "no default setting", navelPiercing: "no default setting", corsetPiercing: "no default setting", boobsTat: "no default setting", buttTat: "no default setting", vaginaTat: "no default setting", dickTat: "no default setting", lipsTat: "no default setting", anusTat: "no default setting", shouldersTat: "no default setting", armsTat: "no default setting", legsTat: "no default setting", backTat: "no default setting", stampTat: "no default setting", curatives: "no default setting", livingRules: "no default setting", relationshipRules: "no default setting", standardPunishment: "no default setting", standardReward: "no default setting", diet: "no default setting", dietCum: "no default setting", dietMilk: "no default setting", muscles: "no default setting", XY: "no default setting", XX: "no default setting", gelding: "no default setting", preg: "no default setting", growth: "no default setting", autoSurgery: 0, autoBrand: 0, pornFameSpending: "no default setting", dietGrowthSupport: 0, eyewear: "no default setting", assignment: [], excludeAssignment: [], setAssignment: "none", facility: [], excludeFacility: [], assignFacility: "none", excludeSpecialSlaves: true, facilityRemove: false, removalAssignment: "rest", selectedSlaves: [], excludedSlaves: [], surgery: {lactation: "no default setting", cosmetic: 0, accent: "no default setting", shoulders: "no default setting", shouldersImplant: "no default setting", boobs: "no default setting", hips: "no default setting", hipsImplant: "no default setting", butt: "no default setting", faceShape: "no default setting", lips: "no default setting", holes: 0}, underArmHColor: "no default setting", underArmHStyle: "no default setting" }>>
 
 		<<set _activeRule.name = "Rule " + (_length+1)>>
 		<<set $defaultRules.push(_activeRule)>>
diff --git a/src/uncategorized/rulesFacilityRemove.tw b/src/uncategorized/rulesFacilityRemove.tw
index 8ed1b0153c4dbbc1837cf01d0def4aaef7212200..e14cd3977c75d6275b83852e3c7d7808e94cea29 100644
--- a/src/uncategorized/rulesFacilityRemove.tw
+++ b/src/uncategorized/rulesFacilityRemove.tw
@@ -1,91 +1,91 @@
 :: Rules Facility Remove [nobr]
 
-<<if _currentRule.facilityRemove>>
+<<if _combinedRule.facilityRemove>>
 
-	<<switch _currentRule.assignFacility>>
+	<<switch _combinedRule.assignFacility>>
 	<<case "brothel">>
 		<<if $activeSlave.assignment == "work in the brothel">>
 			<<if ($Madam == 0) || ($Madam.ID != $activeSlave.ID)>>
-				<br>$activeSlave.slaveName has been removed from $brothelName and has been assigned to _currentRule.removalAssignment.
-				<<assignJob $activeSlave _currentRule.removalAssignment>>
+				<br>$activeSlave.slaveName has been removed from $brothelName and has been assigned to _combinedRule.removalAssignment.
+				<<assignJob $activeSlave _combinedRule.removalAssignment>>
 			<</if>>
 		<</if>>
 
 	<<case "club">>
 		<<if $activeSlave.assignment == "serve in the club">>
 			<<if ($DJ == 0) || ($DJ.ID != $activeSlave.ID)>>
-				<br>$activeSlave.slaveName has been removed from $clubName and has been assigned to _currentRule.removalAssignment.
-				<<assignJob $activeSlave _currentRule.removalAssignment>>
+				<br>$activeSlave.slaveName has been removed from $clubName and has been assigned to _combinedRule.removalAssignment.
+				<<assignJob $activeSlave _combinedRule.removalAssignment>>
 			<</if>>
 		<</if>>
 
 	<<case "dairy">>
 		<<if $activeSlave.assignment == "work in the dairy">>
 			<<if ($Milkmaid == 0) || ($Milkmaid.ID != $activeSlave.ID)>>
-				<br>$activeSlave.slaveName has been removed from $dairyName and has been assigned to _currentRule.removalAssignment.
-				<<assignJob $activeSlave _currentRule.removalAssignment>>
+				<br>$activeSlave.slaveName has been removed from $dairyName and has been assigned to _combinedRule.removalAssignment.
+				<<assignJob $activeSlave _combinedRule.removalAssignment>>
 			<</if>>
 		<</if>>
 
 	<<case "arcade">>
 		<<if $activeSlave.assignment == "be confined in the arcade">>
-			<br>$activeSlave.slaveName has been removed from $arcadeName and has been assigned to _currentRule.removalAssignment.
-			<<assignJob $activeSlave _currentRule.removalAssignment>>
+			<br>$activeSlave.slaveName has been removed from $arcadeName and has been assigned to _combinedRule.removalAssignment.
+			<<assignJob $activeSlave _combinedRule.removalAssignment>>
 		<</if>>
 
 	<<case "spa">>
 		<<if $activeSlave.assignment == "rest in the spa">>
 			<<if ($Attendant == 0) || ($Attendant.ID != $activeSlave.ID)>>
-				<br>$activeSlave.slaveName has been removed from $spaName and has been assigned to _currentRule.removalAssignment.
-				<<assignJob $activeSlave _currentRule.removalAssignment>>
+				<br>$activeSlave.slaveName has been removed from $spaName and has been assigned to _combinedRule.removalAssignment.
+				<<assignJob $activeSlave _combinedRule.removalAssignment>>
 			<</if>>
 		<</if>>
 
 	<<case "clinic">>
 		<<if $activeSlave.assignment == "get treatment in the clinic">>
 			<<if ($Nurse == 0) || ($Nurse.ID != $activeSlave.ID)>>
-				<br>$activeSlave.slaveName has been removed from $clinicName and has been assigned to _currentRule.removalAssignment.
-				<<assignJob $activeSlave _currentRule.removalAssignment>>
+				<br>$activeSlave.slaveName has been removed from $clinicName and has been assigned to _combinedRule.removalAssignment.
+				<<assignJob $activeSlave _combinedRule.removalAssignment>>
 			<</if>>
 		<</if>>
 
 	<<case "mastersuite">>
 		<<if $activeSlave.assignment == "serve in the master suite">>
 			<<if ($Concubine == 0) || ($Concubine.ID != $activeSlave.ID)>>
-				<br>$activeSlave.slaveName has been removed from $masterSuiteName and has been assigned to _currentRule.removalAssignment.
-				<<assignJob $activeSlave _currentRule.removalAssignment>>
+				<br>$activeSlave.slaveName has been removed from $masterSuiteName and has been assigned to _combinedRule.removalAssignment.
+				<<assignJob $activeSlave _combinedRule.removalAssignment>>
 			<</if>>
 		<</if>>
 
 	<<case "hgsuite">>
 		<<if $activeSlave.assignment == "live with your Head Girl">>
 			<<if ($HeadGirl == 0) || ($HeadGirl.ID != $activeSlave.ID)>>
-				<br>$activeSlave.slaveName has been removed from $HGSuiteName and has been assigned to _currentRule.removalAssignment.
-				<<assignJob $activeSlave _currentRule.removalAssignment>>
+				<br>$activeSlave.slaveName has been removed from $HGSuiteName and has been assigned to _combinedRule.removalAssignment.
+				<<assignJob $activeSlave _combinedRule.removalAssignment>>
 			<</if>>
 		<</if>>
 
 	<<case "servantsquarters">>
 		<<if $activeSlave.assignment == "work as a servant">>
 			<<if ($Stewardess == 0) || ($Stewardess.ID != $activeSlave.ID)>>
-				<br>$activeSlave.slaveName has been removed from $servantsQuartersName and has been assigned to _currentRule.removalAssignment.
-				<<assignJob $activeSlave _currentRule.removalAssignment>>
+				<br>$activeSlave.slaveName has been removed from $servantsQuartersName and has been assigned to _combinedRule.removalAssignment.
+				<<assignJob $activeSlave _combinedRule.removalAssignment>>
 			<</if>>
 		<</if>>
 
 	<<case "schoolroom">>
 		<<if $activeSlave.assignment == "learn in the schoolroom">>
 			<<if ($Schoolteacher == 0) || ($Schoolteacher.ID != $activeSlave.ID)>>
-				<br>$activeSlave.slaveName has been removed from $schoolroomName and has been assigned to _currentRule.removalAssignment.
-				<<assignJob $activeSlave _currentRule.removalAssignment>>
+				<br>$activeSlave.slaveName has been removed from $schoolroomName and has been assigned to _combinedRule.removalAssignment.
+				<<assignJob $activeSlave _combinedRule.removalAssignment>>
 			<</if>>
 		<</if>>
 
 	<<case "cellblock">>
 		<<if $activeSlave.assignment == "be confined in the cellblock">>
 			<<if ($Wardeness == 0) || ($Wardeness.ID != $activeSlave.ID)>>
-				<br>$activeSlave.slaveName has been removed from $cellblockName and has been assigned to _currentRule.removalAssignment.
-				<<assignJob $activeSlave _currentRule.removalAssignment>>
+				<br>$activeSlave.slaveName has been removed from $cellblockName and has been assigned to _combinedRule.removalAssignment.
+				<<assignJob $activeSlave _combinedRule.removalAssignment>>
 			<</if>>
 		<</if>>
 	<</switch>>
diff --git a/src/uncategorized/saChoosesOwnJob.tw b/src/uncategorized/saChoosesOwnJob.tw
index 9a0d1eb5a254bb5ee779bc54c7444e7b654d77a3..9b4d9703805949c54ff8f2150e7fcff82715f794 100644
--- a/src/uncategorized/saChoosesOwnJob.tw
+++ b/src/uncategorized/saChoosesOwnJob.tw
@@ -1,6 +1,6 @@
 :: SA chooses own job [nobr]
 
-<<if ($slaves[$i].assignment == "choose her own job")>>
+<<if ($slaves[$i].choosesOwnAssignment == 1)>>
 	is allowed to select her own job this week. She watches your other slaves to decide what to do, @@.hotpink;happy@@ to be permitted a choice and a little more @@.mediumaquamarine;confident@@ than if you had just given her orders. She
 	<<set $slaves[$i].devotion++, $slaves[$i].trust++>>
 <</if>>
diff --git a/src/uncategorized/saLiveWithHG.tw b/src/uncategorized/saLiveWithHG.tw
index 80ae742874fb0dedd62a0d3f25dc5b1699d4562f..fd14069a1fbedf1be2aff22eaafcbfebfbe0795e 100644
--- a/src/uncategorized/saLiveWithHG.tw
+++ b/src/uncategorized/saLiveWithHG.tw
@@ -202,10 +202,10 @@
 		Since their relationship is very abusive, only $HeadGirl.slaveName @@.hotpink;enjoys@@ living together with $slaves[$i].slaveName.
 		<<set $slaves[$i].devotion -= 5, $slaves[$i].trust -= 5>>
 		<<else>>
-		Since $HeadGirl.slaveName and $slaves[$i].slaveName are  lovers, they @@.hotpink;enjoy@@ living together.
+		Since $HeadGirl.slaveName and $slaves[$i].slaveName are lovers, they @@.hotpink;enjoy@@ living together.
 		<</if>>
 	<<else>>
-		Since $HeadGirl.slaveName and $slaves[$i].slaveName are  slave wives, they @@.hotpink;enjoy@@ living together.
+		Since $HeadGirl.slaveName and $slaves[$i].slaveName are slave wives, they @@.hotpink;enjoy@@ living together.
 	<</if>>
 	<</if>>
 <</if>>
diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw
index 22d831b8cf0c8b8443f2d26f90def5052c9e6c20..dc8df5bac485eae0de45fab81b08b4703a9e5390 100644
--- a/src/uncategorized/slaveInteract.tw
+++ b/src/uncategorized/slaveInteract.tw
@@ -41,7 +41,7 @@
 <br>
 <<if $seeDetails == 1>>
 	<span id="LSD"><<include "Long Slave Description">></span>
-	<br>//[[Options][$nextLink = passage()]] | [[Descriptions|Slave Interact][$seeDetails = 0]] | [[Customize|Add custom descriptors]] | ''<<link "Update">><<replace "#LSD">><<include "Long Slave Description">><</replace>><</link>>''//
+	<br>//[[Options][$nextLink = passage()]] | [[Hide descriptions|Slave Interact][$seeDetails = 0]] | [[Customize|Add custom descriptors]] | ''<<link "Update">><<replace "#LSD">><<include "Long Slave Description">><</replace>><</link>>''//
 <<else>>
 	//[[Show descriptions|Slave Interact][$seeDetails = 1]]//
 <</if>>
@@ -260,28 +260,28 @@
 		<</if>>
 	<</if>>
 	<<if ($activeSlave.relationship > 0)>>
-		<<for $i = 0; $i < _SL; $i++>>
-		<<if $slaves[$i].ID == $activeSlave.relationshipTarget>>
-			<<set $assayedSlave = $slaves[$i]>>
-			<<AssayedSlaveAvailable>>
-		<</if>>
+		<<for _i = 0; _i < _SL; _i++>>
+			<<if $slaves[_i].ID == $activeSlave.relationshipTarget>>
+				<<set $assayedSlave = $slaves[_i]>>
+				<<AssayedSlaveAvailable>>
+			<</if>>
 		<</for>>
 		<<if $assayedSlaveAvailable == 1>>
-			<<if ($activeSlave.relationship <= 1)>>
+			<<if ($activeSlave.relationship == 1)>>
 			| <<link "Fuck her with her friend">><<replace "#miniscene">><<set $partner = "relationship">><<include "FRelation">><br>&nbsp;&nbsp;&nbsp;&nbsp;<</replace>><</link>>
-			<<elseif ($activeSlave.relationship <= 2)>>
+			<<elseif ($activeSlave.relationship == 2)>>
 			| <<link "Fuck her with her best friend">><<replace "#miniscene">><<set $partner = "relationship">><<include "FRelation">><br>&nbsp;&nbsp;&nbsp;&nbsp;<</replace>><</link>>
-			<<elseif ($activeSlave.relationship <= 3)>>
+			<<elseif ($activeSlave.relationship == 3)>>
 			| <<link "Fuck her with her FWB">><<replace "#miniscene">><<set $partner = "relationship">><<include "FRelation">><br>&nbsp;&nbsp;&nbsp;&nbsp;<</replace>><</link>>
-			<<elseif ($activeSlave.relationship <= 4)>>
+			<<elseif ($activeSlave.relationship == 4)>>
 			| <<link "Fuck her with her lover">><<replace "#miniscene">><<set $partner = "relationship">><<include "FRelation">><br>&nbsp;&nbsp;&nbsp;&nbsp;<</replace>><</link>>
 			<<else>>
 			| <<link "Fuck her with her slave wife">><<replace "#miniscene">><<set $partner = "relationship">><<include "FRelation">><br>&nbsp;&nbsp;&nbsp;&nbsp;<</replace>><</link>>
 			<</if>>
 		<<else>>
 			| //$assayedSlave.slaveName is unavailable//
-			<<if $activeSlave.assignmentVisible == 1 && $assayedSlave.assignment == "be your agent">>
-				[[Send her to live with your agent|Agent Company]]
+			<<if $assayedSlave.assignment == "be your agent">>
+				[[Send her to live with your agent|Agent Company][$subSlave = $assayedSlave]]
 			<</if>>
 		<</if>>
 	<</if>>
@@ -301,6 +301,7 @@
 	<</if>>
 <</if>>
 
+/* pregmod start */
 <<if $familyTesting == 1>>
 	<br><br>
 	<span id="family">
@@ -314,42 +315,43 @@
 	</span>
 <</if>>
 
-
 <<if $universalRulesImpregnation == "HG">>
-<br><br>
-<<if $activeSlave.HGExclude == 0>>
-Will be bred by the head girl when fertile. [[Exempt her|Slave Interact][$activeSlave.useRulesAssistant = 1]]
-<<else>>
-Will not be bred by the head girl when fertile. [[Include her|Slave Interact][$activeSlave.HGExclude = 0]]
-<</if>>
+	<br><br>
+	<<if $activeSlave.HGExclude == 0>>
+		Will be bred by the head girl when fertile. [[Exempt her|Slave Interact][$activeSlave.HGExclude = 1]]
+	<<else>>
+		Will not be bred by the head girl when fertile. [[Include her|Slave Interact][$activeSlave.HGExclude = 0]]
+	<</if>>
 <</if>>
+/* pregmod end */
 
 <br><br>
-__Rules Assistant__
-//<<link "Apply Rules Assistant to this slave">>
-	<<silently>>
-	<<CheckAutoRulesActivate $activeSlave>>
-	<<DefaultRules $activeSlave>>
-	<</silently>>
-	<<goto "Slave Interact">>
-<</link>>//
-&nbsp;&nbsp;&nbsp;&nbsp;
-<<if $activeSlave.useRulesAssistant != 0>>
-''Subject'' to the rules assistant. [[Exempt her|Slave Interact][$activeSlave.useRulesAssistant = 0]]
+<<if $activeSlave.useRulesAssistant == 0>>
+	@@.gray;''Not subject'' to the Rules Assistant.@@
+	[[Include her|Slave Interact][$activeSlave.useRulesAssistant = 1]]
+	<br>
 <<else>>
-''Not subject'' to the rules assistant. [[Include her|Slave Interact][$activeSlave.useRulesAssistant = 1]]
-<</if>> | [[Rules Assistant Options|Rules Assistant]]
-<<if (def $activeSlave.currentRules) && ($activeSlave.currentRules.length > 0)>>
-	<<for _r = 0; _r < $activeSlave.currentRules.length; _r++>>
-		<<for _s = 0; _s < $defaultRules.length; _s++>>
-			<<set _currentRule = $defaultRules[_s], _num = (_s+1)>>
-			<<if $activeSlave.currentRules[_r] == _currentRule.ID>>
-				<br>Rule _num: _currentRule.name applied.
+	__Rules Assistant__
+	<<link "//Apply Rules Assistant to this slave//">>
+		<<silently>>
+		<<CheckAutoRulesActivate $activeSlave>>
+		<<DefaultRules $activeSlave>>
+		<</silently>>
+		<<goto "Slave Interact">>
+	<</link>>
+	&nbsp;&nbsp;&nbsp;&nbsp;[[Exempt this slave from the Rules Assistant|Slave Interact][$activeSlave.useRulesAssistant = 0]] | [[Rules Assistant Options|Rules Assistant]]
+
+	<<if (def $activeSlave.currentRules) && ($activeSlave.currentRules.length > 0)>>
+		<ul>
+		<<for _r = 0; _r < $defaultRules.length; _r++>>
+			<<if ruleApplied($activeSlave, $defaultRules[_r].ID)>>
+				<li>Rule <<print (_r+1)>>: $defaultRules[_r].name applied.</li>
 			<</if>>
 		<</for>>
-	<</for>>
+		</ul>
+	<</if>>
 <</if>>
-<br>
+
 <<if $cyberMod == 0>>/* CyberMod Toggle */
 /* START hotswap prosthetics */
 <<if ndef $activeSlave.readyLimbs>>
@@ -385,6 +387,7 @@ __Rules Assistant__
 		| <<link "Dick">><<set $activeSlave.toyHole = "dick">><<replace "#hole">>$activeSlave.toyHole<</replace>><</link>>
 		<</if>>
 		| <<link "No Preference">><<set $activeSlave.toyHole = "all her holes">><<replace "#hole">>$activeSlave.toyHole<</replace>><</link>>
+		<br>
 	<</if>>
 </span>
 
@@ -417,131 +420,155 @@ __Rules Assistant__
 	//She is the Wardeness and is not available for other work//
 <<default>>
 
-/* NOT RECOVERING */
-
-<<if $activeSlave.assignmentVisible == 0>>
-	//She is assigned to $activeSlave.assignment; bring her out of the facility to reassign her//
-<<else>>
+/* CAN BE REASSIGNED */
 
-__Assignment__: <strong><span id="assign">$activeSlave.assignment<<if $activeSlave.sentence>> ($activeSlave.sentence weeks)<</if>></span>.</strong>
+	__Assignment__: <strong><span id="assign">$activeSlave.assignment<<if $activeSlave.sentence>> ($activeSlave.sentence weeks)<</if>></span>.</strong>
 	  <<link "Rest">>                   <<removeJob $activeSlave $activeSlave.assignment>><<replace "#assign">>$activeSlave.assignment<</replace>><<SlaveInteractFucktoy>><</link>>
 	| <<link "Fucktoy">>                <<assignJob $activeSlave "please you">><<replace "#assign">>$activeSlave.assignment<</replace>><<SlaveInteractFucktoy>><</link>>
-<<if $activeSlave.fuckdoll == 0>>
-<<if (($activeSlave.devotion >= -20) || (($activeSlave.trust < -20) && ($activeSlave.devotion >= -50)) || ($activeSlave.trust < -50)) && canWalk($activeSlave)>>
-	| <<link "Subordinate slave">>      <<assignJob $activeSlave "be a subordinate slave">><<goto "Subordinate Targeting">><</link>>
-	<<if ($activeSlave.eyes != -2)>>
-	| <<link "Servant">>                <<assignJob $activeSlave "be a servant">><<replace "#assign">>$activeSlave.assignment<</replace>><<SlaveInteractFucktoy>><</link>>
+
+	<<if ($activeSlave.indentureRestrictions <= 0) && $activeSlave.breedingMark != 1>>
+	| <<link "Gloryhole">>              <<assignJob $activeSlave "work a glory hole">><<replace "#assign">>$activeSlave.assignment<</replace>><<SlaveInteractFucktoy>><</link>>
+	<</if>>
+
+	<<if $activeSlave.fuckdoll == 0>> /* NON-FUCKDOLL ASSIGNMENTS */
+
+	<<if ($activeSlave.devotion >= -20) || (($activeSlave.devotion >= -50) && ($activeSlave.trust < -20)) || ($activeSlave.trust < -50)>>
+	<<if $activeSlave.intelligenceImplant < 1 && $activeSlave.fetish != "mindbroken">>
+	| <<link "Classes">>                <<assignJob $activeSlave "take classes">><<replace "#assign">>$activeSlave.assignment<</replace>><<SlaveInteractFucktoy>><</link>>
 	<<else>>
-	/*| //Blind slaves cannot be servants// */
+	| Classes
 	<</if>>
-<</if>>
-<<if ($activeSlave.devotion >= -20) || (($activeSlave.devotion >= -50) && ($activeSlave.trust < -20)) || ($activeSlave.trust < -50)>>
-  <<if $activeSlave.intelligenceImplant < 1 && $activeSlave.fetish != "mindbroken">>
-	| __<<link "Take slave classes">>   <<assignJob $activeSlave "take classes">><<replace "#assign">>$activeSlave.assignment<</replace>><<SlaveInteractFucktoy>><</link>>__
-  <<else>>
-    | Take slave classes
-  <</if>>
-<<else>>
+	<<else>>
 	/*| //Too resistant to take classes// */
-<</if>>
-	| <<link "Confine her">>            <<assignJob $activeSlave "stay confined">><<replace "#assign">>$activeSlave.assignment<</replace>><<SlaveInteractFucktoy>><</link>>
-<<if $activeSlave.breedingMark != 1>>
+	<</if>>
+
+	<<if (($activeSlave.devotion >= -20) || (($activeSlave.trust < -20) && ($activeSlave.devotion >= -50)) || ($activeSlave.trust < -50))>>
+	| <<link "Subordinate Slave">>      <<assignJob $activeSlave "be a subordinate slave">><<goto "Subordinate Targeting">><</link>>
+	<<if canSee($activeSlave) && canWalk($activeSlave)>>
+	| <<link "House Servant">>          <<assignJob $activeSlave "be a servant">><<replace "#assign">>$activeSlave.assignment<</replace>><<SlaveInteractFucktoy>><</link>>
+	<<else>>
+	/*| //Blind or immobile slaves cannot be servants// */
+	<</if>>
+	<<else>>
+	/*| //Too resistant to be a servant// */
+	<</if>>
+
+	<<if $activeSlave.breedingMark != 1>>
 	| <<link "Whore">>                  <<assignJob $activeSlave "whore">><<replace "#assign">>$activeSlave.assignment<</replace>><<SlaveInteractFucktoy>><</link>>
-	| <<link "Public servant">>         <<assignJob $activeSlave "serve the public">><<replace "#assign">>$activeSlave.assignment<</replace>><<SlaveInteractFucktoy>><</link>>
-<</if>>
-<</if>>/* CLOSES FUCKDOLL CHECK */
-<<if ($activeSlave.indentureRestrictions <= 0) && $activeSlave.breedingMark != 1>>
-	| <<link "Glory hole">>             <<assignJob $activeSlave "work a glory hole">><<replace "#assign">>$activeSlave.assignment<</replace>><<SlaveInteractFucktoy>><</link>>
-<</if>>
-<<if $activeSlave.fuckdoll == 0>>
-<<if ($activeSlave.lactation > 0) || ($activeSlave.balls > 0 && $activeSlave.ballType == "human")>>
-	| <<link "Get milked">>             <<assignJob $activeSlave "get milked">><<replace "#assign">>$activeSlave.assignment<</replace>><<SlaveInteractFucktoy>><</link>>
-<<else>>
+	| <<link "Public Servant">>         <<assignJob $activeSlave "serve the public">><<replace "#assign">>$activeSlave.assignment<</replace>><<SlaveInteractFucktoy>><</link>>
+	<</if>>
+
+	<<if ($activeSlave.lactation > 0) || ($activeSlave.balls > 0 && $activeSlave.ballType == "human")>>
+	| <<link "Milked">>                 <<assignJob $activeSlave "get milked">><<replace "#assign">>$activeSlave.assignment<</replace>><<SlaveInteractFucktoy>><</link>>
+	<<else>>
 	/*| //Not lactating// */
-<</if>>
-	| <<link "Let her choose her own assignment">><<assignJob $activeSlave "choose her own job">><<replace "#assign">>$activeSlave.assignment<</replace>><<SlaveInteractFucktoy>><</link>>
-	| <<link "Assign her to her current task for another month">><<set $activeSlave.sentence += 4>><<replace "#assign">>$activeSlave.assignment ($activeSlave.sentence weeks)<</replace>><</link>>
-<</if>>/* CLOSES FUCKDOLL CHECK */
+	<</if>>
 
-<<if $activeSlave.fuckdoll == 0>>
-<<if $brothel+$club+$dairy+$servantsQuarters+$masterSuite+$spa+$clinic+$schoolroom+$cellblock+$arcade > 0>>
+	| <<link "Confinement">>            <<assignJob $activeSlave "stay confined">><<replace "#assign">>$activeSlave.assignment<</replace>><<SlaveInteractFucktoy>><</link>>
+	| <<link "Let her choose">>         <<assignJob $activeSlave "choose her own job">><<replace "#assign">>$activeSlave.assignment<</replace>><<SlaveInteractFucktoy>><</link>>
+	| <<link "Stay on this assignment for another month">><<if $activeSlave.assignment != "choose her own job">><<set $activeSlave.sentence += 4>><<replace "#assign">>$activeSlave.assignment ($activeSlave.sentence weeks)<</replace>><</if>><</link>>
+
+	<</if>>/* CLOSES FUCKDOLL CHECK */
+
+	<<set _numFacilities = $brothel+$club+$dairy+$servantsQuarters+$masterSuite+$spa+$clinic+$schoolroom+$cellblock+$arcade+$HGSuite>>
+	
+	<<if _numFacilities > 0>>
+
+	/* find slave's array index so we can save changes before leaving this passage */
 	<<for _i = 0; _i < _SL; _i++>>
-	<<if $activeSlave.ID == $slaves[_i].ID>>
-		<<break>>
-	<</if>>
+		<<if $activeSlave.ID == $slaves[_i].ID>>
+			<<break>>
+		<</if>>
 	<</for>>
+
 	<br>__Transfer to__:
-	<<if $brothel != 0>>
-	<<if $brothel > $brothelSlaves && ($activeSlave.devotion > 50) || (($activeSlave.devotion >= -50) && ($activeSlave.trust < -20)) || ($activeSlave.trust < -50) || ($activeSlave.trust > 50) && $activeSlave.breedingMark != 1>>
-		[[Brothel|Assign][$slaves[_i] = $activeSlave, $returnTo = "Brothel", $i = _i]]
-	<<else>>Brothel<</if>>
+
+	<<if $arcade != 0>>
+		<<if $arcade > $arcadeSlaves && ($activeSlave.indentureRestrictions <= 0) && $activeSlave.breedingMark != 1>>
+			[[Arcade|Assign][$slaves[_i] = $activeSlave, $assignTo = "Arcade", $i = _i]]
+		<<else>>Arcade<</if>>
+		<<if _numFacilities-- > 1>>|<</if>>
 	<</if>>
-	<<if $club != 0>>|
-	<<if $club > $clubSlaves && ($activeSlave.devotion > 50) || (($activeSlave.devotion >= -50) && ($activeSlave.trust < -20)) || ($activeSlave.trust < -50) || ($activeSlave.trust > 50) && $activeSlave.breedingMark != 1>>
-		[[Club|Assign][$slaves[_i] = $activeSlave, $returnTo = "Club", $i = _i]]
-	<<else>>Club<</if>>
+
+	<<if $activeSlave.fuckdoll == 0>> /* NON-FUCKDOLL FACILITIES */
+
+	<<if $clinic != 0>>
+		<<if $clinic > $clinicSlaves && ($activeSlave.health < 20 || ($Nurse != 0 && ($activeSlave.chem > 15 && $clinicUpgradeFilters == 1) || ($bellyImplants == 1 && $activeSlave.bellyImplant > 100) || ($activeSlave.preg >= 1 && ($clinicSpeedGestation >= 0 || $activeSlave.pregControl == "speed up"))))>>
+			[[Clinic|Assign][$slaves[_i] = $activeSlave, $assignTo = "Clinic", $i = _i]]
+		<<else>>Clinic<</if>>
+		<<if _numFacilities-- > 1>>|<</if>>
+	<</if>>
+
+	<<if $masterSuite != 0>>
+		<<if $masterSuite > $masterSuiteSlaves && ($activeSlave.devotion > 20) || (($activeSlave.devotion >= -50) && ($activeSlave.trust < -20)) || ($activeSlave.trust < -50)>>
+			[[Master Suite|Assign][$slaves[_i] = $activeSlave, $assignTo = "Master Suite", $i = _i]]
+		<<else>>Master Suite<</if>>
+		<<if _numFacilities-- > 1>>|<</if>>
 	<</if>>
-	<<if $dairy != 0>>|
-	<<if $dairy > $dairySlaves && (($activeSlave.indentureRestrictions > 0) && ($dairyRestraintsSetting > 1)) || (($activeSlave.indentureRestrictions > 1) && ($dairyRestraintsSetting > 0)) || ($activeSlave.breedingMark == 1 && $dairyRestriantsSettings > 0) || (($dairyPregSetting > 0) && (($activeSlave.bellyImplant != 0) || ($activeSlave.pregType >= 50)))>>
-		Dairy
-	<<elseif (($activeSlave.lactation > 0) || ($activeSlave.balls > 0)) || (($dairyFeedersUpgrade == 1) && ($dairyFeedersSetting > 0) && ($dairySlimMaintainUpgrade == 0))>>
-		 [[Dairy|Assign][$slaves[_i] = $activeSlave, $returnTo = "Dairy", $i = _i]]
-	<<else>>Dairy<</if>>
+
+	<<if $cellblock != 0>>
+		<<if $cellblock > $cellblockSlaves && (($activeSlave.devotion < -20) && ($activeSlave.trust >= -20)) || (($activeSlave.devotion < -50) && ($activeSlave.trust >= -50))>>
+			[[Cellblock|Assign][$slaves[_i] = $activeSlave, $assignTo = "Cellblock", $i = _i]]
+		<<else>>Cellblock<</if>>
+		<<if _numFacilities-- > 1>>|<</if>>
 	<</if>>
-	<<if $servantsQuarters != 0>>|
-	<<if $servantsQuarters > $servantsQuartersSlaves && canWalk($activeSlave) && canSee($activeSlave) && ($activeSlave.devotion >= -20 || ($activeSlave.devotion >= -50 && $activeSlave.trust <= 20) || $activeSlave.trust < -20)>>
-		[[Servants' Quarters|Assign][$slaves[_i] = $activeSlave, $returnTo = "Servants' Quarters", $i = _i]]
-	<<else>>Servants' Quarters<</if>>
+
+	<<if $schoolroom != 0>>
+		<<if $schoolroom > $schoolroomSlaves && $activeSlave.fetish != "mindbroken" && ($activeSlave.devotion >= -20 || ($activeSlave.devotion >= -50 && $activeSlave.trust < -20) || $activeSlave.trust < -50) && (($activeSlave.intelligenceImplant < 1) || ($activeSlave.voice != 0 && $activeSlave.accent+$schoolroomUpgradeLanguage > 2) || ($activeSlave.oralSkill <= 10+$schoolroomUpgradeSkills*20) || ($activeSlave.whoreSkill <= 10+$schoolroomUpgradeSkills*20) || ($activeSlave.entertainSkill <= 10+$schoolroomUpgradeSkills*20) || ($activeSlave.analSkill < 10+$schoolroomUpgradeSkills*20) || ($activeSlave.vagina >= 0 && $activeSlave.vaginalSkill < 10+$schoolroomUpgradeSkills*20))>>
+			[[Schoolroom|Assign][$slaves[_i] = $activeSlave, $assignTo = "Schoolroom", $i = _i]]
+		<<else>>Schoolroom<</if>>
+		<<if _numFacilities-- > 1>>|<</if>>
 	<</if>>
-	<<if $masterSuite != 0>>|
-	<<if $masterSuite > $masterSuiteSlaves && ($activeSlave.devotion > 20) || (($activeSlave.devotion >= -50) && ($activeSlave.trust < -20)) || ($activeSlave.trust < -50)>>
-		[[Master Suite|Assign][$slaves[_i] = $activeSlave, $returnTo = "Master Suite", $i = _i]]
-	<<else>>Master Suite<</if>>
+
+	<<if $servantsQuarters != 0>>
+		<<if $servantsQuarters > $servantsQuartersSlaves && canWalk($activeSlave) && canSee($activeSlave) && ($activeSlave.devotion >= -20 || ($activeSlave.devotion >= -50 && $activeSlave.trust <= 20) || $activeSlave.trust < -20)>>
+			[[Servants' Quarters|Assign][$slaves[_i] = $activeSlave, $assignTo = "Servants' Quarters", $i = _i]]
+		<<else>>Servants' Quarters<</if>>
+		<<if _numFacilities-- > 1>>|<</if>>
 	<</if>>
-	<<if $spa != 0>>|
-	<<if $spa > $spaSlaves && ($activeSlave.devotion >= -20 || $activeSlave.fetish == "mindbroken") && ($activeSlave.health < 20 || $activeSlave.trust < 60 || $activeSlave.devotion <= 60 || $activeSlave.fetish == "mindbroken" || $activeSlave.sexualFlaw !== "none" || $activeSlave.behavioralFlaw !== "none")>>
-		[[Spa|Assign][$slaves[_i] = $activeSlave, $returnTo = "Spa", $i = _i]]
-	<<else>>Spa<</if>>
+
+	<<if $brothel != 0>>
+		<<if $brothel > $brothelSlaves && ($activeSlave.devotion > 50) || (($activeSlave.devotion >= -50) && ($activeSlave.trust < -20)) || ($activeSlave.trust < -50) || ($activeSlave.trust > 50) && $activeSlave.breedingMark != 1>>
+			[[Brothel|Assign][$slaves[_i] = $activeSlave, $assignTo = "Brothel", $i = _i]]
+		<<else>>Brothel<</if>>
+		<<if _numFacilities-- > 1>>|<</if>>
 	<</if>>
-	<<if $clinic != 0>>|
-	<<if $clinic > $clinicSlaves && ($activeSlave.health < 20 || ($Nurse != 0 && ($activeSlave.chem > 15 && $clinicUpgradeFilters == 1) || ($bellyImplants == 1 && $activeSlave.bellyImplant > 100) || ($activeSlave.preg >= 1 && ($clinicSpeedGestation >= 0 || $activeSlave.pregControl == "speed up"))))>>
-		[[Clinic|Assign][$slaves[_i] = $activeSlave, $returnTo = "Clinic", $i = _i]]
-	<<else>>Clinic<</if>>
+
+	<<if $club != 0>>
+		<<if $club > $clubSlaves && ($activeSlave.devotion > 50) || (($activeSlave.devotion >= -50) && ($activeSlave.trust < -20)) || ($activeSlave.trust < -50) || ($activeSlave.trust > 50) && $activeSlave.breedingMark != 1>>
+			[[Club|Assign][$slaves[_i] = $activeSlave, $assignTo = "Club", $i = _i]]
+		<<else>>Club<</if>>
+		<<if _numFacilities-- > 1>>|<</if>>
 	<</if>>
-	<<if $schoolroom != 0>>|
-	<<if $schoolroom > $schoolroomSlaves && $activeSlave.fetish != "mindbroken" && ($activeSlave.devotion >= -20 || ($activeSlave.devotion >= -50 && $activeSlave.trust < -20) || $activeSlave.trust < -50) && (($activeSlave.intelligenceImplant < 1) || ($activeSlave.voice != 0 && $activeSlave.accent+$schoolroomUpgradeLanguage > 2) || ($activeSlave.oralSkill <= 10+$schoolroomUpgradeSkills*20) || ($activeSlave.whoreSkill <= 10+$schoolroomUpgradeSkills*20) || ($activeSlave.entertainSkill <= 10+$schoolroomUpgradeSkills*20) || ($activeSlave.analSkill < 10+$schoolroomUpgradeSkills*20) || ($activeSlave.vagina >= 0 && $activeSlave.vaginalSkill < 10+$schoolroomUpgradeSkills*20))>>
-		[[Schoolroom|Assign][$slaves[_i] = $activeSlave, $returnTo = "Schoolroom", $i = _i]]
-	<<else>>Schoolroom<</if>>
+
+	<<if $dairy != 0>>
+		<<if $dairy > $dairySlaves && (($activeSlave.indentureRestrictions > 0) && ($dairyRestraintsSetting > 1)) || (($activeSlave.indentureRestrictions > 1) && ($dairyRestraintsSetting > 0)) || ($activeSlave.breedingMark == 1 && $dairyRestriantsSettings > 0) || (($dairyPregSetting > 0) && (($activeSlave.bellyImplant != 0) || ($activeSlave.pregType >= 50)))>>
+			Dairy
+		<<elseif (($activeSlave.lactation > 0) || ($activeSlave.balls > 0)) || (($dairyFeedersUpgrade == 1) && ($dairyFeedersSetting > 0) && ($dairySlimMaintainUpgrade == 0))>>
+			 [[Dairy|Assign][$slaves[_i] = $activeSlave, $assignTo = "Dairy", $i = _i]]
+		<<else>>Dairy<</if>>
+		<<if _numFacilities-- > 1>>|<</if>>
 	<</if>>
-	<<if $cellblock != 0>>|
-	<<if $cellblock > $cellblockSlaves && (($activeSlave.devotion < -20) && ($activeSlave.trust >= -20)) || (($activeSlave.devotion < -50) && ($activeSlave.trust >= -50))>>
-		[[Cellblock|Assign][$slaves[_i] = $activeSlave, $returnTo = "Cellblock", $i = _i]]
-	<<else>>Cellblock<</if>>
+
+	<<if $spa != 0>>
+		<<if $spa > $spaSlaves && ($activeSlave.devotion >= -20 || $activeSlave.fetish == "mindbroken") && ($activeSlave.health < 20 || $activeSlave.trust < 60 || $activeSlave.devotion <= 60 || $activeSlave.fetish == "mindbroken" || $activeSlave.sexualFlaw !== "none" || $activeSlave.behavioralFlaw !== "none")>>
+			[[Spa|Assign][$slaves[_i] = $activeSlave, $assignTo = "Spa", $i = _i]]
+		<<else>>Spa<</if>>
 	<</if>>
-<</if>>
-<<if $arcade != 0>>|
-<<if $arcade > $arcadeSlaves && ($activeSlave.indentureRestrictions <= 0) && $activeSlave.breedingMark != 1>>
-	[[Arcade|Assign][$slaves[_i] = $activeSlave, $returnTo = "Arcade", $i = _i]]
-<<else>>Arcade<</if>>
-<</if>>
-<</if>>
 
-<</if>>
+	<</if>> /* CLOSES FUCKDOLL CHECK */
 
-/* END NOT RECOVERING */
-<</switch>>
+	<</if>> /* closes _numFacilities */
+
+<</switch>> /* END CAN BE REASSIGNED */
 
-<br>__Body modification__: [[Use remote surgery|Remote Surgery][$degradation = 0]]
+<br>__Body modification__:
+  [[Use remote surgery|Remote Surgery][$degradation = 0]]
 | [[Use body mod studio|Body Modification][$degradation = 0]]
 | [[Use auto salon|Salon][$degradation = 0]]
 <<if $cyberMod == 1>>| [[Configure cybernetics|cyberConfig][$temp = 0]]<</if>>
 
-<br>
-<<if $activeSlave.assignmentVisible == 0>>
-	//Her drugs are managed by the facility she's assigned to//
-<<else>>
-
-__Drugs__: <span id="drugs"><strong>$activeSlave.drugs</strong></span>.
+<br>__Drugs__: <span id="drugs"><strong>$activeSlave.drugs</strong></span>.
 <<link "None">><<set $activeSlave.drugs = "no drugs">><<replace "#drugs">><strong>$activeSlave.drugs</strong><</replace>><</link>>
 <<if $activeSlave.indentureRestrictions < 2>>
 <<if ($activeSlave.intelligence > -2)>>
@@ -706,8 +733,6 @@ __Aphrodisiacs__: <span id="aphrodisiacs"><strong><<if $activeSlave.aphrodisiacs
 	| <<link "Apply">><<set $activeSlave.aphrodisiacs = 1>><<replace "#aphrodisiacs">><strong>applied</strong><</replace>><</link>>
 	| <<link "Extreme">><<set $activeSlave.aphrodisiacs = 2>><<replace "#aphrodisiacs">><strong>extreme</strong><</replace>><</link>>
 
-<</if>> /* closes drugs (assignmentVisible == 0) */
-
 <br>&nbsp;&nbsp;&nbsp;&nbsp;
 <span id="fertilityblock">
 <<if $activeSlave.fuckdoll == 0 && ($activeSlave.ovaries == 1 || $activeSlave.mpreg == 1)>>
@@ -891,36 +916,36 @@ __Hormones__: <strong><span id="hormones">
 
 <br>
 <<if $activeSlave.fuckdoll > 0>>
-//Rules have little meaning for living sex toys//
-<<elseif $activeSlave.assignmentVisible == 0>>
-//Her rules are set by the facility she's assigned to//
+	//Rules have little meaning for living sex toys//
 <<else>>
-	<<set $dormitoryPopulation = 0, $roomsPopulation = 0>>
-	<<for $i = 0; $i < _SL; $i++>>
-		<<if $slaves[$i].assignmentVisible == 1>>
-			<<if $slaves[$i].livingRules == "luxurious">>
-				<<if $slaves[$i].relationship >= 4>>
-					<<set $roomsPopulation += 0.5>>
+	<<if $activeSlave.assignmentVisible == 1>>
+		<<set $dormitoryPopulation = 0, $roomsPopulation = 0>>
+		<<for $i = 0; $i < _SL; $i++>>
+			<<if $slaves[$i].assignmentVisible == 1>>
+				<<if $slaves[$i].livingRules == "luxurious">>
+					<<if $slaves[$i].relationship >= 4>>
+						<<set $roomsPopulation += 0.5>>
+					<<else>>
+						<<set $roomsPopulation++>>
+					<</if>>
 				<<else>>
-					<<set $roomsPopulation++>>
+					<<set $dormitoryPopulation++>>
 				<</if>>
-			<<else>>
-				<<set $dormitoryPopulation++>>
 			<</if>>
+		<</for>>
+		__Living Standard__: ''<span id="livingRules">$activeSlave.livingRules</span>.''
+		<<if $activeSlave.livingRules == "spare">>
+			<<link "Normal">><<set $activeSlave.livingRules = "normal">><<replace "#livingRules">>$activeSlave.livingRules<</replace>><</link>> |
+			<<if $roomsPopulation <= $rooms-0.5>><<link "Luxurious">><<set $activeSlave.livingRules = "luxurious">><<replace "#livingRules">>$activeSlave.livingRules<</replace>><</link>><<else>>//No luxurious rooms available//<</if>>
+		<<elseif $activeSlave.livingRules == "normal">>
+			<<link "Spare">><<set $activeSlave.livingRules = "spare">><<replace "#livingRules">>$activeSlave.livingRules<</replace>><</link>> |
+			<<if $roomsPopulation <= $rooms-0.5>><<link "Luxurious">><<set $activeSlave.livingRules = "luxurious">><<replace "#livingRules">>$activeSlave.livingRules<</replace>><</link>><<else>>//No luxurious rooms available//<</if>>
+		<<else>>
+			<<link "Spare">><<set $activeSlave.livingRules = "spare">><<replace "#livingRules">>$activeSlave.livingRules<</replace>><</link>> |
+			<<link "Normal">><<set $activeSlave.livingRules = "normal">><<replace "#livingRules">>$activeSlave.livingRules<</replace>><</link>>
 		<</if>>
-	<</for>>
-	__Living Standard__: ''<span id="livingRules">$activeSlave.livingRules</span>.''
-	<<if $activeSlave.livingRules == "spare">>
-		<<link "Normal">><<set $activeSlave.livingRules = "normal">><<replace "#livingRules">>$activeSlave.livingRules<</replace>><</link>> |
-		<<if $roomsPopulation <= $rooms-0.5>><<link "Luxurious">><<set $activeSlave.livingRules = "luxurious">><<replace "#livingRules">>$activeSlave.livingRules<</replace>><</link>><<else>>//No luxurious rooms available//<</if>>
-	<<elseif $activeSlave.livingRules == "normal">>
-		<<link "Spare">><<set $activeSlave.livingRules = "spare">><<replace "#livingRules">>$activeSlave.livingRules<</replace>><</link>> |
-		<<if $roomsPopulation <= $rooms-0.5>><<link "Luxurious">><<set $activeSlave.livingRules = "luxurious">><<replace "#livingRules">>$activeSlave.livingRules<</replace>><</link>><<else>>//No luxurious rooms available//<</if>>
-	<<else>>
-		<<link "Spare">><<set $activeSlave.livingRules = "spare">><<replace "#livingRules">>$activeSlave.livingRules<</replace>><</link>> |
-		<<link "Normal">><<set $activeSlave.livingRules = "normal">><<replace "#livingRules">>$activeSlave.livingRules<</replace>><</link>>
-	<</if>>
-	&nbsp;&nbsp;&nbsp;&nbsp;
+		&nbsp;&nbsp;&nbsp;&nbsp;
+	<</if>> /* Living Standard */
 	<<if $activeSlave.voice != 0>>
 	__Speech Rules__: ''<span id="speechRules">$activeSlave.speechRules</span>.''
 	<<if $activeSlave.speechRules == "restrictive">>
@@ -998,6 +1023,7 @@ __Hormones__: <strong><span id="hormones">
 | <<link "No sex">><<set $activeSlave.clitSetting = "none">><<replace "#setting">>$activeSlave.clitSetting<</replace>><</link>>
 <</if>>
 
+
 <<if $activeSlave.fuckdoll == 0>>
 <br>__Clothes__: ''<span id="clothes">$activeSlave.clothes</span>.''
 <<link "Go naked">><<set $activeSlave.clothes = "no clothing", $activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
@@ -1109,7 +1135,7 @@ __Hormones__: <strong><span id="hormones">
 | <<link "Painfully extreme heels">><<set $activeSlave.shoes = "extreme heels">><<replace "#shoes">>$activeSlave.shoes<</replace>><</link>>
 <</if>>
 
-<br>__Body Accessory__: ''<span id="bellyAccessory">$activeSlave.bellyAccessory</span>.''
+<br>__Chest accessory__: ''<span id="bellyAccessory">$activeSlave.bellyAccessory</span>.''
 <<link "None">><<set $activeSlave.bellyAccessory = "none">><<replace "#bellyAccessory">>$activeSlave.bellyAccessory<</replace>><</link>>
 | <<link "Tight corset">><<set $activeSlave.bellyAccessory = "a corset">><<replace "#bellyAccessory">>$activeSlave.bellyAccessory<</replace>><</link>>
 <<if $activeSlave.breedingMark != 1>>
@@ -1117,14 +1143,14 @@ __Hormones__: <strong><span id="hormones">
 <</if>>
 <<if ($arcologies[0].FSRepopulationFocus != "unset") || ($cheatMode == 1) || ($clothesBoughtBelly == 1)>>
 <<if $activeSlave.preg <= 10 && $activeSlave.inflation == 0>>
-| <<link "1st Trimester">><<set $activeSlave.bellyAccessory = "a small empathy belly">><<replace "#bellyAccessory">>$activeSlave.bellyAccessory<</replace>><</link>>
-| <<link "2nd Trimester">><<set $activeSlave.bellyAccessory = "a medium empathy belly">><<replace "#bellyAccessory">>$activeSlave.bellyAccessory<</replace>><</link>>
-| <<link "3rd Trimester">><<set $activeSlave.bellyAccessory = "a large empathy belly">><<replace "#bellyAccessory">>$activeSlave.bellyAccessory<</replace>><</link>>
-| <<link "3rd Trimester twins">><<set $activeSlave.bellyAccessory = "a huge empathy belly">><<replace "#bellyAccessory">>$activeSlave.bellyAccessory<</replace>><</link>>
+| <<link "1st Trimester belly">><<set $activeSlave.bellyAccessory = "a small empathy belly">><<replace "#bellyAccessory">>$activeSlave.bellyAccessory<</replace>><</link>>
+| <<link "2nd Trimester belly">><<set $activeSlave.bellyAccessory = "a medium empathy belly">><<replace "#bellyAccessory">>$activeSlave.bellyAccessory<</replace>><</link>>
+| <<link "3rd Trimester belly">><<set $activeSlave.bellyAccessory = "a large empathy belly">><<replace "#bellyAccessory">>$activeSlave.bellyAccessory<</replace>><</link>>
+| <<link "3rd Trimester twins belly">><<set $activeSlave.bellyAccessory = "a huge empathy belly">><<replace "#bellyAccessory">>$activeSlave.bellyAccessory<</replace>><</link>>
 <</if>>
 <</if>>
 
-<br>__Buttplug__: ''<span id="buttplug">$activeSlave.buttplug</span>.''
+<br>__Anal accessory__: ''<span id="buttplug">$activeSlave.buttplug</span>.''
 <<link "None">><<set $activeSlave.buttplug = "none">><<replace "#buttplug">>$activeSlave.buttplug<</replace>><</link>>
 | <<link "Normal">><<set $activeSlave.buttplug = "plug">><<replace "#buttplug">>$activeSlave.buttplug<</replace>><</link>>
 <<if $toysBoughtButtPlugs == 1>>
@@ -1145,7 +1171,7 @@ __Hormones__: <strong><span id="hormones">
 <</if>>
 <</if>>
 <<if $activeSlave.vagina > -1>>
-<br><<if $activeSlave.dick == 0>>__Accessory__<<else>>__Vaginal accessory__<</if>>: ''<span id="vaginalAccessory">$activeSlave.vaginalAccessory</span>.''
+<br>__Vaginal accessory__: ''<span id="vaginalAccessory">$activeSlave.vaginalAccessory</span>.''
 <<link "None">><<set $activeSlave.vaginalAccessory = "none">><<replace "#vaginalAccessory">>$activeSlave.vaginalAccessory<</replace>><<SlaveInteractImpreg>><<SlaveInteractFertility>><<SlaveInteractSexOption>><<SlaveInteractAnalSexOption>><<SlaveInteractGropeOption>><<SlaveInteractDickGropeOption>><<SlaveInteractAnalGropeOption>><</link>>
 | <<link "Dildo">><<set $activeSlave.vaginalAccessory = "dildo">><<replace "#vaginalAccessory">>$activeSlave.vaginalAccessory<</replace>><</link>>
 <<if $toysBoughtDildos == 1>>
@@ -1170,7 +1196,7 @@ __Hormones__: <strong><span id="hormones">
 | <<link "Combined chastity belt">><<set $activeSlave.vaginalAccessory = "combined chastity",$activeSlave.choosesOwnChastity = 0>><<replace "#vaginalAccessory">>$activeSlave.vaginalAccessory<</replace>><<SlaveInteractImpreg>><<SlaveInteractFertility>><<SlaveInteractSexOption>><<SlaveInteractAnalSexOption>><<SlaveInteractGropeOption>><<SlaveInteractDickGropeOption>><<SlaveInteractAnalGropeOption>><</link>>
 <</if>>
 <<if $activeSlave.dick > 0>>
-&nbsp;&nbsp;&nbsp;&nbsp;<<if $activeSlave.vagina == -1>>__Accessory__<<else>>__Dick accessory__<</if>>: ''<span id="dickAccessory">$activeSlave.dickAccessory</span>.''
+<br>__Dick accessory__: ''<span id="dickAccessory">$activeSlave.dickAccessory</span>.''
 <<link "None">><<set $activeSlave.dickAccessory = "none">><<replace "#dickAccessory">>$activeSlave.dickAccessory<</replace>><<SlaveInteractSexOption>><<SlaveInteractAnalSexOption>><<SlaveInteractGropeOption>><<SlaveInteractDickGropeOption>><<SlaveInteractAnalGropeOption>><</link>>
 | <<link "Chastity cage">><<set $activeSlave.dickAccessory = "chastity",$activeSlave.choosesOwnChastity = 0>><<replace "#dickAccessory">>$activeSlave.dickAccessory<</replace>><<SlaveInteractSexOption>><<SlaveInteractAnalSexOption>><<SlaveInteractGropeOption>><<SlaveInteractDickGropeOption>><<SlaveInteractAnalGropeOption>><</link>>
 | <<link "Anal chastity belt">><<set $activeSlave.dickAccessory = "anal chastity",$activeSlave.choosesOwnChastity = 0>><<replace "#dickAccessory">>$activeSlave.dickAccessory<<SlaveInteractSexOption>><<SlaveInteractAnalSexOption>><<SlaveInteractGropeOption>><<SlaveInteractDickGropeOption>><<SlaveInteractAnalGropeOption>><</replace>><</link>>
diff --git a/src/uncategorized/slaveSummary.tw b/src/uncategorized/slaveSummary.tw
index f304085ff454d7f976ff481a8c7a5b4f24fdb016..00bc6e48b969b83026076bc55c542a35a263da50 100644
--- a/src/uncategorized/slaveSummary.tw
+++ b/src/uncategorized/slaveSummary.tw
@@ -1,8 +1,11 @@
 :: Slave Summary [nobr]
 
-<<set _Pass = passage(), _SL = $slaves.length>>
+<<set _Pass = passage(), _SL = $slaves.length, $assignTo = _Pass>>
 <<for _i = 0;_i < _SL;_i++>>
 <<set _Slave = $slaves[_i]>>
+<<if _Slave.assignment == "be your agent" || _Slave.assignment == "live with your agent">>
+	<<continue>> /* slaves on these assignments should never be visible from facilities */
+<</if>>
 <<switch _Pass>>
 <<case "Main">>
 	<<if _Slave.assignmentVisible != 1>><<continue>><</if>>
@@ -190,7 +193,7 @@
 <<if _Slave.fuckdoll > 0>><<continue>><</if>>
 <<if $Flag == 0>>
 	<<if _Slave.assignment == "get treatment in the clinic">><<continue>><</if>>
-	<<if (_Slave.health < 20) || ($Nurse != 0 && (_Slave.chem > 15 && $clinicUpgradeFilters == 1) || ($bellyImplants == 1 && _Slave.bellyImplant > 100) || (_Slave.preg >= 1 && ($clinicSpeedGestation >= 0 || $slaves[_i].pregControl == "speed up")))>>
+	<<if (_Slave.health < 20) || ($Nurse != 0 && (_Slave.chem > 0 && $clinicUpgradeFilters == 1) || ($bellyImplants == 1 && _Slave.bellyImplant > 100) || (_Slave.preg >= 1 && ($clinicSpeedGestation >= 0 || _Slave.pregControl == "speed up")))>>
 		<br style="clear:both" /><<if $lineSeparations == 0>><br><<else>><hr style="margin:0"><</if>><<if ($seeImages == 1) && ($seeSummaryImages == 1)>><div class="imageRef smlImg"><<SlaveArt _Slave 1>></div><</if>>
 		<<print "[[_Slave.slaveName|Slave Interact][$activeSlave = $slaves["+_i+"]]]">>
 	<<else>>
@@ -540,7 +543,7 @@
 	<</if>>
 <</if>>
 <<case "Matchmaking">>
-	<<if ($slaves[_i].devotion < 100) || ($slaves[_i].relationship != $activeSlave.relationship) || ($slaves[_i].ID == $activeSlave.ID)>><<continue>><</if>>
+	<<if (_Slave.devotion < 100) || (_Slave.relationship != $activeSlave.relationship) || (_Slave.ID == $activeSlave.ID)>><<continue>><</if>>
 	<br style="clear:both" /><<if $lineSeparations == 0>><br><<else>><hr style="margin:0"><</if>><<if ($seeImages == 1) && ($seeSummaryImages == 1)>><div class="imageRef smlImg"><<SlaveArt _Slave 1>></div><</if>>
 	<<print "[[_Slave.slaveName|Slave Interact][$activeSlave = $slaves["+_i+"]]]">>
 <</switch>>
@@ -584,67 +587,67 @@ will
 <<if (_Slave.assignment == "rest") && (_Slave.health >= -20)>>
 	''__@@.lawngreen;rest.@@__''
 <<elseif (_Slave.assignment == "stay confined") && ((_Slave.devotion > 20) || ((_Slave.trust < -20) && (_Slave.devotion >= -20)) || ((_Slave.trust < -50) && (_Slave.devotion >= -50)))>>
-	''__@@.lawngreen;stay confined.@@__''
+	''__@@.lawngreen;stay confined.@@__''<<if _Slave.sentence > 0>> (_Slave.sentence weeks)<</if>>
 <<else>>
-	_Slave.assignment<<if _Slave.sentence > 0>> (_Slave.sentence weeks)<</if>>.
+	<<if _Slave.choosesOwnAssignment == 1>>choose her own assignment for next week<<else>>_Slave.assignment<<if _Slave.sentence > 0>> (_Slave.sentence weeks)<</if>><</if>>.
 <</if>>
 
 <<if ($displayAssignments == 1) && (_Pass == "Main") && (_Slave.ID != $HeadGirl.ID) && (_Slave.ID != $Recruiter.ID) && (_Slave.ID != $Bodyguard.ID)>>
 	<<if _Slave.assignment != "rest">>
-		<<print "[[Rest|Rest Workaround][$i = "+_i+"]]">> |
+		<<print "[[Rest|Rest Workaround][$i = "+_i+"]]">>
 	<<else>>
-		Rest |
+		Rest
 	<</if>>
 	<<if _Slave.assignment != "please you">>
-		<<print "[[Fucktoy|Fucktoy Workaround][$i = "+_i+"]]">> |
+		| <<print "[[Fucktoy|Fucktoy Workaround][$i = "+_i+"]]">>
 	<<else>>
-		Fucktoy |
+		| Fucktoy
 	<</if>>
-	<<if _Slave.fuckdoll == 0>>
-	<<if (_Slave.assignment != "be a servant")>>
-		<<if ((_Slave.devotion >= -20) || ((_Slave.trust < -20) && (_Slave.devotion >= -50)) || (_Slave.trust < -50)) && canWalk(_Slave) && canSee(_Slave)>>
-			<<print "[[House Servant|Servant Workaround][$i = "+_i+"]]">> |
+	<<if _Slave.indentureRestrictions <= 0 && _Slave.breedingMark != 1>>
+		<<if _Slave.assignment != "work a glory hole">>
+			| <<print "[[Gloryhole|Hole Workaround][$i = "+_i+"]]">>
+		<<else>>
+			| Hole
 		<</if>>
-	<<else>>
-		House Servant |
 	<</if>>
-	<<if (_Slave.assignment != "take classes")>>
-		<<if ((_Slave.devotion >= -20) || ((_Slave.trust < -20) && (_Slave.devotion >= -50)) || (_Slave.trust < -50)) && (_Slave.fetish != "mindbroken") && (_Slave.intelligenceImplant != 1)>>
-			<<print "[[Classes|Classes Workaround][$i = "+_i+"]]">> |
+	<<if _Slave.fuckdoll == 0>> /* NON-FUCKDOLL ASSIGNMENTS */
+		<<if (_Slave.assignment != "take classes")>>
+			<<if (_Slave.intelligenceImplant != 1) && ((_Slave.devotion >= -20) || ((_Slave.trust < -20) && (_Slave.devotion >= -50)) || (_Slave.trust < -50)) && (_Slave.fetish != "mindbroken")>>
+				| <<print "[[Classes|Classes Workaround][$i = "+_i+"]]">>
+			<</if>>
+		<<else>>
+			| Classes
 		<</if>>
-	<<else>>
-		Classes |
-	<</if>>
-	<<if (_Slave.assignment != "stay confined")>>
-		<<print "[[Confinement|Confinement Workaround][$i = "+_i+"]]">> |
-	<<else>>
-		Confinement |
-	<</if>>
-	<<if (_Slave.assignment != "whore") && _Slave.breedingMark != 1>>
-		<<print "[[Whore|Whore Workaround][$i = "+_i+"]]">> |
-	<<else>>
-		Whore |
-	<</if>>
-	<<if (_Slave.assignment != "serve the public") && _Slave.breedingMark != 1>>
-		<<print "[[Public Servant|Public Servant Workaround][$i = "+_i+"]]">> |
-	<<else>>
-		Public Servant |
-	<</if>>
-	<<if (_Slave.lactation > 0) || (_Slave.balls > 0)>>
-		<<if (_Slave.assignment != "get milked")>>
-			<<print "[[Milking|Milking Workaround][$i = "+_i+"]]">> |
+		<<if (_Slave.assignment != "be a servant")>>
+			<<if ((_Slave.devotion >= -20) || ((_Slave.trust < -20) && (_Slave.devotion >= -50)) || (_Slave.trust < -50)) && canWalk(_Slave) && canSee(_Slave)>>
+				| <<print "[[House Servant|Servant Workaround][$i = "+_i+"]]">>
+			<</if>>
 		<<else>>
-			Milking |
+			| House Servant
 		<</if>>
-	<</if>>
-	<</if>>
-	<<if _Slave.indentureRestrictions <= 0 && _Slave.breedingMark != 1>>
-		<<if _Slave.assignment != "work a glory hole">>
-			<<print "[[Hole|Hole Workaround][$i = "+_i+"]]">>
+		<<if (_Slave.assignment != "whore") && _Slave.breedingMark != 1>>
+			| <<print "[[Whore|Whore Workaround][$i = "+_i+"]]">>
 		<<else>>
-			Hole
+			| Whore
 		<</if>>
-	<</if>>
+		<<if (_Slave.assignment != "serve the public") && _Slave.breedingMark != 1>>
+			| <<print "[[Public Servant|Public Servant Workaround][$i = "+_i+"]]">>
+		<<else>>
+			| Public Servant
+		<</if>>
+		<<if (_Slave.lactation > 0) || (_Slave.balls > 0)>>
+			<<if (_Slave.assignment != "get milked")>>
+				| <<print "[[Milked|Milking Workaround][$i = "+_i+"]]">>
+			<<else>>
+				| Milked
+			<</if>>
+		<</if>>
+		<<if (_Slave.assignment != "stay confined")>>
+			| <<print "[[Confinement|Confinement Workaround][$i = "+_i+"]]">>
+		<<else>>
+			| Confinement
+		<</if>>
+	<</if>> /* CLOSES FUCKDOLL CHECK */
 <</if>>
 
 <br><<if $seeImages != 1 || $seeSummaryImages != 1 || $imageChoice == 1>>&nbsp;&nbsp;&nbsp;&nbsp;<</if>>
@@ -3334,7 +3337,7 @@ _Slave.faceShape face.
 <<case "Clinic">>
 <br><<if $seeImages != 1 || $seeSummaryImages != 1 || $imageChoice == 1>>&nbsp;&nbsp;&nbsp;&nbsp;<</if>>
 	<<if $clinicUpgradeScanner == 1>>
-		@@.cyan;Estimated DNA error value: <<print Math.ceil($slaves[_i].chem/10)>>@@
+		@@.cyan;Estimated DNA error value: <<print Math.ceil(_Slave.chem/10)>>@@
 	<</if>>
 <<if $Flag == 0>>
 	<<print "[[Send her to the Clinic|Assign][$i = "+_i+"]]">>
diff --git a/src/utility/assignWidgets.tw b/src/utility/assignWidgets.tw
index 24f72e9f43b68ef25328aec4ae124c84f054afb7..03ba668c4a24118a1cd688a4a88af361c0781daa 100644
--- a/src/utility/assignWidgets.tw
+++ b/src/utility/assignWidgets.tw
@@ -36,15 +36,17 @@
 			<<set $args[0].assignment = "work as a servant",            $args[0].assignmentVisible = 0, $servantsQuartersSlaves++, $ServQiIDs.push({ID: _wID, Index: _wi})>>
 		<<case "rest in the spa" "spa">>
 			<<set $args[0].assignment = "rest in the spa",              $args[0].assignmentVisible = 0, $spaSlaves++, $SpaiIDs.push({ID: _wID, Index: _wi})>>
-		<<case "be the attendant" "be your concubine" "be the dj" "be the madam" "be the milkmaid" "be the nurse" "be the schoolteacher" "be the stewardess" "be the wardeness" "be your agent" "live with your agent">>
+		<<case "be the attendant" "be your concubine" "be the dj" "be the madam" "be the milkmaid" "be the nurse" "be the schoolteacher" "be the stewardess" "be the wardeness">>
 			<<set $args[0].assignment = $args[1],                       $args[0].assignmentVisible = 0>>     /* non-visible leadership roles */
+		<<case "be your agent" "live with your agent">>
+			<<set $args[0].assignment = $args[1],                       $args[0].assignmentVisible = 0,      $args[0].useRulesAssistant = 0>> /* non-visible roles exempt from Rules Assistant */
 		<<case "choose her own job">>
 			<<set $args[0].assignment = $args[1],                       $args[0].choosesOwnAssignment = 1>>  /* removeJob already set assignmentVisible = 1 */
 		<<default>>
 			<<set $args[0].assignment = $args[1]>>                      /* removeJob already set assignmentVisible = 1 and choosesOwnAssignment = 0 */
 	<</switch>>
 
-	<<if _wID == $personalAttention>>
+	<<if _wID == $personalAttention && $args[0].assignmentVisible == 0>>
 		<<if $PC.career == "escort">>
 			<<set $personalAttention = "whoring">>
 		<<elseif $PC.career == "servant">>
@@ -52,6 +54,7 @@
 		<<else>>
 			<<set $personalAttention = "business">>
 		<</if>>
+		$args[0].slaveName no longer has your personal attention; you plan to focus on $personalAttention.
 	<</if>>
 
 	/% Get slaves[_wi] index # %/
@@ -103,6 +106,7 @@
 	<<if $Stewardess != 0    && _wID == $Stewardess.ID>><<set $Stewardess = 0>><</if>>
 	<<if $Wardeness != 0     && _wID == $Wardeness.ID>><<set $Wardeness = 0>><</if>>
 	<<if $Concubine != 0     && _wID == $Concubine.ID>><<set $Concubine = 0>><</if>>
+	<<if $Collectrix != 0    && _wID == $Collectrix.ID>><<set $Collectrix = 0>><</if>>
 
 	/% Get slaves[_wi] index # %/
 	<<if $i > 0 && $i < _SL && _wID == $slaves[$i].ID>>
@@ -185,7 +189,7 @@
 			<</for>>
 		<<case "be your head girl">>
 			<<set $args[0].assignment = "rest">>
-			<<if $personalAttention == "HG">>
+			<<if $HGSuiteEquality == 0 && $personalAttention == "HG">>
 				<<if $PC.career == "escort">>
 					<<set $personalAttention = "whoring">>
 				<<elseif $PC.career == "servant">>
diff --git a/src/utility/descriptionWidgets.tw b/src/utility/descriptionWidgets.tw
index fcd92a01500d29c05f96efd5ad1d099f0471a6ab..6224cb67048c432cc841a044a028ecf35976d9b5 100644
--- a/src/utility/descriptionWidgets.tw
+++ b/src/utility/descriptionWidgets.tw
@@ -4594,7 +4594,7 @@ $pronounCap's got a
 <<if ($showClothing == 1) && ($saleDescription == 0)>>
 
 $activeSlave.slaveName is
-<<if ($activeSlave.clothes == "choosing $possessive own clothes")>>
+<<if ($activeSlave.clothes == "choosing her own clothes")>>
 	allowed to choose $possessive own clothes, but hasn't made a selection yet,
 <<else>>
 	wearing $activeSlave.clothes,
diff --git a/src/utility/miscWidgets.tw b/src/utility/miscWidgets.tw
index c3704ede9ccd7e079b3de13abac257daca321085..f7e6a67f36c168cb2063471319a7bb0b17b3ae1d 100644
--- a/src/utility/miscWidgets.tw
+++ b/src/utility/miscWidgets.tw
@@ -1405,6 +1405,7 @@
 		<<set $SEnunciate = "Th">>
 		<<set $ssEnunciate = "th">>
 		<<set $cEnunciate = "th">>
+		<<set $zEnunciate = "th">>
 	<<else>>
 		<<if def $PC.customTitle>><<set $titleEnunciate = $PC.customTitle>><<elseif $PC.title != 0>><<set $titleEnunciate = "Master">><<else>><<set $titleEnunciate = "Mistress">><</if>>
 		<<if $allowFamilyTitles == 1>>
@@ -1454,6 +1455,7 @@
 		<<set $SEnunciate = "S">>
 		<<set $ssEnunciate = "ss">>
 		<<set $cEnunciate = "c">>
+		<<set $zEnunciate = "z">>
 	<</if>>
 <</widget>>
 <<widget "Master">><<if def $args[0]>><<Enunciate $args[0]>><<else>><<Enunciate $activeSlave>>$titleEnunciate<</if>><</widget>>
@@ -1462,6 +1464,7 @@
 <<widget "S">>$SEnunciate<</widget>>
 <<widget "ss">>$ssEnunciate<</widget>>
 <<widget "c">>$cEnunciate<</widget>>
+<<widget "z">>$zEnunciate<</widget>>
 
 /%
  Call as <<SoftenBehavioralFlaw>>
@@ -2355,6 +2358,7 @@ Call as <<SlaveSort [$slaves]>>
 		| <<link "Dick">><<set $activeSlave.toyHole = "dick">><<replace "#hole">>$activeSlave.toyHole<</replace>><</link>>
 		<</if>>
 		| <<link "No Preference">><<set $activeSlave.toyHole = "all her holes">><<replace "#hole">>$activeSlave.toyHole<</replace>><</link>>
+		<br>
 	<</if>>
 <</replace>>
 
diff --git a/src/utility/raWidgets.tw b/src/utility/raWidgets.tw
index 4d1325f511defa674c3424524f490826313b0f2e..d9987b4a9b71e5bfd0a538d6f95136622d7f54d5 100644
--- a/src/utility/raWidgets.tw
+++ b/src/utility/raWidgets.tw
@@ -1,148 +1,143 @@
 :: RA widgets [widget nobr]
 
 /%
- Call as <<RAChangeActivation>>
-%/
+ % Call as <<RAChangeActivation>>
+ %/
 <<widget "RAChangeActivation">>
-
 <<replace #activation>>
-	<<print "($currentRule.activation):">>
-	<br>
-	<<if $currentRule.activation == "custom" >>
-		<<textarea "$currentRule.customActivationText" $currentRule.customActivationText>>
-		<<link "Test custom rule">>
-			<<set State.variables._parseFailed = true>>
-			<<replace #customsave>>
-				<<script>>
-					try {
-						parseAndEvaluate(State.variables.currentRule.customActivationText, State.variables.slaves[0]);
-						State.variables._parseFailed = false;
-					} catch (e) { throwError("Failed to parse custom rule. Please check syntax and try again."); }
-				<</script>>
-				<<if State.variables._parseFailed == false>>
-					//Rule parsed successfully. Remember to save your changes using Save rule or Apply rules.//
-					<<RAChangeSave>>
-					<<RAChangeApply>>
-				<</if>>
-			<</replace>>
-		<</link>>
-		<span id="customsave"></span>
-	<<elseif ($currentRule.activation != "none") && ($currentRule.activation != "always")>>
-		<span id="lower">
-			<<if ($currentRule.thresholdLower == "none")>>
-			(no lower limit)
-			<<else>>
-				<<if $currentRule.eqLower>>
-					When ''$currentRule.activation'' is
-					<<textbox "$currentRule.thresholdLower" $currentRule.thresholdLower>> ''or more''
-				<<else>>
-					When ''$currentRule.activation'' is ''more than''
-					<<textbox "$currentRule.thresholdLower" $currentRule.thresholdLower>>
-				<</if>>
-			<</if>>
-		</span>
-
-		<<link ">">>
-			<<set $currentRule.eqLower = false>>
-			<<replace "#lower">>
-				When ''$currentRule.activation'' is ''more than''
-				<<textbox "$currentRule.thresholdLower" $currentRule.thresholdLower>>
-			<</replace>>
-		<</link>>
-	 |
-		<<link ">=">>
-			<<set $currentRule.eqLower = true>>
-			<<replace "#lower">>
-				When ''$currentRule.activation'' is
-				<<textbox "$currentRule.thresholdLower" $currentRule.thresholdLower>> ''or more''
-			<</replace>>
-		<</link>>
-	 |
-		<<link "No lower limit">>
-			<<set $currentRule.thresholdLower = "none">>
-			<<replace "#lower">>
-				(no lower limit)
-			<</replace>>
-		<</link>>
-
-		<br>and<br>
-
-		<span id="upper">
-			<<if ($currentRule.thresholdUpper == "none")>>
-				(no upper limit)
-			<<else>>
-				<<if $currentRule.eqUpper>>
-					When ''$currentRule.activation'' is
-					<<textbox "$currentRule.thresholdUpper" $currentRule.thresholdUpper>> ''or less''
-				<<else>>
-					When ''$currentRule.activation'' is ''less than''
-					<<textbox "$currentRule.thresholdUpper" $currentRule.thresholdUpper>>
-				<</if>>
-			<</if>>
-		</span>
-
-		<<link "<">>
-			<<set $currentRule.eqUpper = false>>
-			<<replace "#upper">>
-				When ''$currentRule.activation'' is ''less than''
-				<<textbox "$currentRule.thresholdUpper" $currentRule.thresholdUpper>>
-			<</replace>>
-		<</link>>
-	 |
-		<<link "<=">>
-			<<set $currentRule.eqUpper = true>>
-			<<replace "#upper">>
-				When ''$currentRule.activation'' is
-				<<textbox "$currentRule.thresholdUpper" $currentRule.thresholdUpper>> ''or less''
-			<</replace>>
-		<</link>>
-	 |
-		<<link "No upper limit">>
-			<<set $currentRule.thresholdUpper = "none">>
-			<<replace "#upper">>
-				(no upper limit)
-			<</replace>>
-		<</link>>
 
-		<<if ($currentRule.thresholdLower == "none") && ($currentRule.thresholdUpper == "none")>>
-			<<set $currentRule.activation = "always">>
-		<<elseif ($currentRule.thresholdLower != "none") && ($currentRule.thresholdUpper != "none")>>
-			<<if (def $currentRule.thresholdLower) && ($currentRule.thresholdLower > $currentRule.thresholdUpper)>>
-				<<set $currentRule.thresholdLower = $currentRule.thresholdUpper>>
-			<</if>>
-			<<if (def $currentRule.thresholdUpper) && ($currentRule.thresholdUpper < $currentRule.thresholdLower)>>
-				<<set $currentRule.thresholdUpper = $currentRule.thresholdLower>>
-			<</if>>
-		<</if>>
-	<</if>>
-	<<switch $currentRule.activation>>
-		<<case "none">>
-		''None.''
-		<<case "always">>
-		''Always.''
-		<<case "devotion">>
-		<br>@@.darkviolet;Very hateful@@: under -95, @@.darkviolet;Hateful@@: -95 to under -50, @@.mediumorchid;Resistant@@: -50 to under -20,
-		<br>@@.yellow;Ambivalent@@: -20 to 20, @@.hotpink;Accepting@@: over 20 to 50, @@.deeppink;Devoted@@: over 50 to 95, @@.magenta;Worshipful@@: over 95
-		<<case "trust">>
-		<br>@@.goldenrod;Extremely terrified@@: under -95, @@.goldenrod;Terrified@@: -95 to under -50, @@.gold;Frightened@@: -50 to under -20,
-		<br>@@.yellow;Fearful@@: -20 to 20, @@.mediumaquamarine;Careful@@: over 40 to 50, @@.mediumseagreen;Trusting@@: 50 to 95, @@.seagreen;Total trust@@: over 95
-		<<case "health">>
-		<br>@@.red;Death@@: under -100, @@.red;Near death@@: -100 to less than -90, @@.red;Extremely unhealthy@@: -90 to less than -50, @@.red;Unhealthy@@: -50 to less than -20 @@.green;Healthy@@: -20 to 20, @@.green;Very healthy@@: 20 to 50, @@.green;Extremely healthy@@: over 50 to 90, @@.green;Unnaturally healthy@@: over 90
-		<<case "sex drive">>
-		<br>@@.red;Frigid@@: 20 or under, @@.red;Poor@@: 21 to 40, @@.yellow;Average@@: 41 to 60, @@.green;Powerful@@: 61 to 80, @@.green;Sex addict@@: 81 to 99, @@.green;Nympho@@: 100
-		<<case "weight">>
-		<br>@@.red;Emaciated@@: under -95, @@.red;Skinny@@: -95 to less than -30, Thin: -30 to less than -10 Average weight: -10 to 10, Plush: over 10 to 30, @@.red;Fat@@: over 30 to 95, @@.red;Overweight@@: over 95
-		<<case "lactation">>
-		<br>// 0 - none, 1 - natural, 2 - lactation implant. //
+    <<if ($currentRule.condition.id === "true")>>
+        (always): <br> ''always.''
+
+    <<elseif ($currentRule.condition.id === "false")>>
+        (never): <br> ''never''
+
+    <<else>>
+        <<set _activation = getVariable($currentRule.condition)>>
+
+        (_activation): <br>
+
+        <<switch $currentRule.condition.id>>
+        <<case "<">>
+            When ''_activation'' is ''less than''
+            <<textbox "$currentRule.condition.second.value" $currentRule.condition.second.value>>
+        <<case "<=">>
+            When ''_activation'' is
+            <<textbox "$currentRule.condition.second.value" $currentRule.condition.second.value>> ''or less''
+
+        <<case ">" ">=">>
+            (no upper limit)
+
+        <<case "&&" "||">>
+            <<if $currentRule.condition.first.id == "<">>
+                When ''_activation'' is ''less than''
+                <<textbox "$currentRule.condition.first.second.value" $currentRule.condition.first.second.value>>
+            <<else>>
+                When ''_activation'' is
+                <<textbox "$currentRule.condition.first.second.value" $currentRule.condition.first.second.value>> ''or less''
+            <</if>>
+        <</switch>>
+
+        <<link "<">>
+            <<set $currentRule.condition = changeComparison($currentRule.condition, "<")>>
+            <<RAChangeActivation>>
+        <</link>>
+        |
+        <<link "&le;">>
+            <<set $currentRule.condition = changeComparison($currentRule.condition, "<=")>>
+            <<RAChangeActivation>>
+        <</link>>
+        |
+        <<link "no upper limit">>
+            <<set $currentRule.condition = removeComparison($currentRule.condition, "upper")>>
+            <<RAChangeActivation>>
+        <</link>>
+
+        <br>
+        <<switch $currentRule.condition.id>>
+        <<case "<" "<=" ">" ">=">>
+            and
+        <<case "&&">>
+            ''and''
+            |
+            <<link "or">>
+                <<set $currentRule.condition = changeConnective($currentRule.condition, "||")>>
+                <<RAChangeActivation>>
+            <</link>>
+        <<case "||">>
+            <<link "and">>
+                <<set $currentRule.condition = changeConnective($currentRule.condition, "&&")>>
+                <<RAChangeActivation>>
+            <</link>>
+            |
+            ''or''
+        <</switch>>
+        <br>
+
+        <<switch $currentRule.condition.id>>
+        <<case "<" "<=">>
+            (no lower limit)
+
+        <<case ">">>
+            When ''_activation'' is ''more than''
+            <<textbox "$currentRule.condition.second.value" $currentRule.condition.second.value>>
+        <<case ">=">>
+            When ''_activation'' is
+            <<textbox "$currentRule.condition.second.value" $currentRule.condition.second.value>> ''or more''
+
+        <<case "&&" "||">>
+            <<if ($currentRule.condition.second.id == ">")>>
+                When ''_activation'' is ''more than''
+                <<textbox "$currentRule.condition.second.second.value" $currentRule.condition.second.second.value>>
+            <<else>>
+                When ''_activation'' is
+                <<textbox "$currentRule.condition.second.second.value" $currentRule.condition.second.second.value>> ''or more''
+            <</if>>
+        <</switch>>
+
+        <<link ">">>
+            <<set $currentRule.condition = changeComparison($currentRule.condition, ">")>>
+            <<RAChangeActivation>>
+        <</link>>
+        |
+        <<link "&ge;">>
+            <<set $currentRule.condition = changeComparison($currentRule.condition, ">=")>>
+            <<RAChangeActivation>>
+        <</link>>
+        |
+        <<link "no lower limit">>
+            <<set $currentRule.condition = removeComparison($currentRule.condition, "lower")>>
+            <<RAChangeActivation>>
+        <</link>>
+
+        <<switch _activation>>
+        <<case "devotion">>
+            <br>@@.darkviolet;Very hateful@@: under -95, @@.darkviolet;Hateful@@: -95 to under -50, @@.mediumorchid;Resistant@@: -50 to under -20,
+            <br>@@.yellow;Ambivalent@@: -20 to 20, @@.hotpink;Accepting@@: over 20 to 50, @@.deeppink;Devoted@@: over 50 to 95, @@.magenta;Worshipful@@: over 95
+        <<case "trust">>
+            <br>@@.goldenrod;Extremely terrified@@: under -95, @@.goldenrod;Terrified@@: -95 to under -50, @@.gold;Frightened@@: -50 to under -20,
+            <br>@@.yellow;Fearful@@: -20 to 20, @@.mediumaquamarine;Careful@@: over 40 to 50, @@.mediumseagreen;Trusting@@: 50 to 95, @@.seagreen;Total trust@@: over 95
+        <<case "health">>
+            <br>@@.red;Death@@: under -100, @@.red;Near death@@: -100 to less than -90, @@.red;Extremely unhealthy@@: -90 to less than -50, @@.red;Unhealthy@@: -50 to less than -20
+            <br>@@.green;Healthy@@: -20 to 20, @@.green;Very healthy@@: 20 to 50, @@.green;Extremely healthy@@: over 50 to 90, @@.green;Unnaturally healthy@@: over 90
+        <<case "sex drive">>
+            <br>@@.red;Frigid@@: 20 or under, @@.red;Poor@@: 21 to 40, @@.yellow;Average@@: 41 to 60, @@.green;Powerful@@: 61 to 80, @@.green;Sex addict@@: 81 to 99, @@.green;Nympho@@: 100
+        <<case "weight">>
+            <br>@@.red;Emaciated@@: under -95, @@.red;Skinny@@: -95 to less than -30,
+            <br>Thin: -30 to less than -10 Average weight: -10 to 10, Plush: over 10 to 30,
+            <br>@@.red;Fat@@: over 30 to 95, @@.red;Overweight@@: over 95
+        <<case "lactation">>
+            <br>// 0 - none, 1 - natural, 2 - lactation implant. //
 		<<case "pregnancy week">>
-		<br>// >1 - pregnancy week(s), 0 - not pregnant, -1 - on contraceptives, -2 - barren. //
+			<br>// >1 - pregnancy week(s), 0 - not pregnant, -1 - on contraceptives, -2 - barren. //
 		<<case "pregnancy foetuses">>
-		<br>// Fetus count, rule can be applied only after week 10 of pregnancy. //
+			<br>// Fetus count, rule can be applied only after week 10 of pregnancy. //
 		<<case "belly implant volume">>
-		<br>// Volume of belly implant in ccs. 0 - none. //
+			<br>// Volume of belly implant in ccs. 0 - none. //
 		<<case "custom">>
-		<br>// Enter custom condition. //
-	<</switch>>
+			<br>// Enter custom condition. //
+        <</switch>>
+    <</if>>
 <</replace>>
 <</widget>>
 
@@ -714,7 +709,7 @@
 <br><br>
 <<if (def $currentRule.facility) && ($currentRule.facility.length > 0)>>
   Apply to facilities:
-	<<link "None">>
+	<<link "All">>
 		<<set $currentRule.facility = []>>
 		<<set $currentRule.excludeFacility = []>>
 		<<set $currentRule.assignFacility = "none">>
@@ -1508,6 +1503,20 @@
 <<else>>
 	''Gloryhole''
 <</if>>
+|
+<<if ($currentRule.setAssignment != "choose her own job")>>
+	<<link "Let her choose herself">>
+		<<set $currentRule.setAssignment = "choose her own job">>
+		<<set $currentRule.assignFacility = "none">>
+		<<set $currentRule.facilityRemove = false>>
+		<<RAChangeSetAssignment>>
+		<<RAChangeAssignFacility>>
+		<<RAChangeSave>>
+		<<RAChangeApply>>
+	<</link>>
+<<else>>
+	''Let her choose herself''
+<</if>>
 <</replace>>
 <</widget>>
 
@@ -1538,19 +1547,20 @@
 	<<link $HGSuiteNameCaps>>
 		<<set $currentRule.assignFacility = "hgsuite">>
 		<<set $currentRule.setAssignment = "none">>
-		<<set $currentRule.facility.delete("hgsuite")>>
-		<<if $currentRule.facility.length == 0>>
-			<<set $currentRule.excludeFacility.push("hgsuite")>>
+		<<if $currentRule.excludeFacility.length > 0>>
+			<<set $currentRule.excludeFacility.delete("hgsuite")>>
 			<<RAChangeExcludeFacility>>
+		<<elseif $currentRule.facility.length > 0 && !$currentRule.facility.includes("hgsuite")>>
+			<<set $currentRule.facility.push("hgsuite")>>
+			<<RAChangeApplyFacility>>
 		<</if>>
 		<<RAChangeAssignFacility>>
 		<<RAChangeSetAssignment>>
-		<<RAChangeApplyFacility>>
 		<<RAChangeSave>>
 		<<RAChangeApply>>
 	<</link>>
 <<else>>
-	''$HGSuiteNameCaps''
+	''$HGSuiteNameCaps''<<if $HGSuiteSlaves >= $HGSuite>> @@.red;(full)@@<</if>>
 <</if>>
 <</if>>
 <<if ($brothel > 0)>>
@@ -1559,19 +1569,20 @@
 	<<link $brothelNameCaps>>
 		<<set $currentRule.assignFacility = "brothel">>
 		<<set $currentRule.setAssignment = "none">>
-		<<set $currentRule.facility.delete("brothel")>>
-		<<if $currentRule.facility.length == 0>>
-			<<set $currentRule.excludeFacility.push("brothel")>>
+		<<if $currentRule.excludeFacility.length > 0>>
+			<<set $currentRule.excludeFacility.delete("brothel")>>
 			<<RAChangeExcludeFacility>>
+		<<elseif $currentRule.facility.length > 0 && !$currentRule.facility.includes("brothel")>>
+			<<set $currentRule.facility.push("brothel")>>
+			<<RAChangeApplyFacility>>
 		<</if>>
-		<<RAChangeApplyFacility>>
 		<<RAChangeAssignFacility>>
 		<<RAChangeSetAssignment>>
 		<<RAChangeSave>>
 		<<RAChangeApply>>
 	<</link>>
 <<else>>
-	''$brothelNameCaps''
+	''$brothelNameCaps''<<if $brothelSlaves >= $brothel>> @@.red;(full)@@<</if>>
 <</if>>
 <</if>>
 <<if ($club > 0)>>
@@ -1580,19 +1591,20 @@
 	<<link $clubNameCaps>>
 		<<set $currentRule.assignFacility = "club">>
 		<<set $currentRule.setAssignment = "none">>
-		<<set $currentRule.facility.delete("club")>>
-		<<if $currentRule.facility.length == 0>>
-			<<set $currentRule.excludeFacility.push("club")>>
+		<<if $currentRule.excludeFacility.length > 0>>
+			<<set $currentRule.excludeFacility.delete("club")>>
 			<<RAChangeExcludeFacility>>
+		<<elseif $currentRule.facility.length > 0 && !$currentRule.facility.includes("club")>>
+			<<set $currentRule.facility.push("club")>>
+			<<RAChangeApplyFacility>>
 		<</if>>
-		<<RAChangeApplyFacility>>
 		<<RAChangeAssignFacility>>
 		<<RAChangeSetAssignment>>
 		<<RAChangeSave>>
 		<<RAChangeApply>>
 	<</link>>
 <<else>>
-	''$clubNameCaps''
+	''$clubNameCaps''<<if $clubSlaves >= $club>> @@.red;(full)@@<</if>>
 <</if>>
 <</if>>
 <<if ($arcade > 0)>>
@@ -1601,19 +1613,20 @@
 	<<link $arcadeNameCaps>>
 		<<set $currentRule.assignFacility = "arcade">>
 		<<set $currentRule.setAssignment = "none">>
-		<<set $currentRule.facility.delete("arcade")>>
-		<<if $currentRule.facility.length == 0>>
-			<<set $currentRule.excludeFacility.push("arcade")>>
+		<<if $currentRule.excludeFacility.length > 0>>
+			<<set $currentRule.excludeFacility.delete("arcade")>>
 			<<RAChangeExcludeFacility>>
+		<<elseif $currentRule.facility.length > 0 && !$currentRule.facility.includes("arcade")>>
+			<<set $currentRule.facility.push("arcade")>>
+			<<RAChangeApplyFacility>>
 		<</if>>
-		<<RAChangeApplyFacility>>
 		<<RAChangeAssignFacility>>
 		<<RAChangeSetAssignment>>
 		<<RAChangeSave>>
 		<<RAChangeApply>>
 	<</link>>
 <<else>>
-	''$arcadeNameCaps''
+	''$arcadeNameCaps''<<if $arcadeSlaves >= $arcade>> @@.red;(full)@@<</if>>
 <</if>>
 <</if>>
 <<if ($dairy > 0)>>
@@ -1622,19 +1635,20 @@
 	<<link $dairyNameCaps>>
 		<<set $currentRule.assignFacility = "dairy">>
 		<<set $currentRule.setAssignment = "none">>
-		<<set $currentRule.facility.delete("dairy")>>
-		<<if $currentRule.facility.length == 0>>
-			<<set $currentRule.excludeFacility.push("dairy")>>
+		<<if $currentRule.excludeFacility.length > 0>>
+			<<set $currentRule.excludeFacility.delete("dairy")>>
 			<<RAChangeExcludeFacility>>
+		<<elseif $currentRule.facility.length > 0 && !$currentRule.facility.includes("dairy")>>
+			<<set $currentRule.facility.push("dairy")>>
+			<<RAChangeApplyFacility>>
 		<</if>>
-		<<RAChangeApplyFacility>>
 		<<RAChangeAssignFacility>>
 		<<RAChangeSetAssignment>>
 		<<RAChangeSave>>
 		<<RAChangeApply>>
 	<</link>>
 <<else>>
-	''$dairyNameCaps''
+	''$dairyNameCaps''<<if $dairySlaves >= $dairy>> @@.red;(full)@@<</if>>
 <</if>>
 <</if>>
 <<if ($servantsQuarters > 0)>>
@@ -1643,19 +1657,20 @@
 	<<link $servantsQuartersNameCaps>>
 		<<set $currentRule.assignFacility = "servantsquarters">>
 		<<set $currentRule.setAssignment = "none">>
-		<<set $currentRule.facility.delete("servantsquarters")>>
-		<<if $currentRule.facility.length == 0>>
-			<<set $currentRule.excludeFacility.push("servantsquarters")>>
+		<<if $currentRule.excludeFacility.length > 0>>
+			<<set $currentRule.excludeFacility.delete("servantsquarters")>>
 			<<RAChangeExcludeFacility>>
+		<<elseif $currentRule.facility.length > 0 && !$currentRule.facility.includes("servantsquarters")>>
+			<<set $currentRule.facility.push("servantsquarters")>>
+			<<RAChangeApplyFacility>>
 		<</if>>
-		<<RAChangeApplyFacility>>
 		<<RAChangeAssignFacility>>
 		<<RAChangeSetAssignment>>
 		<<RAChangeSave>>
 		<<RAChangeApply>>
 	<</link>>
 <<else>>
-	''$servantsQuartersNameCaps''
+	''$servantsQuartersNameCaps''<<if $servantsQuartersSlaves >= $servantsQuarters>> @@.red;(full)@@<</if>>
 <</if>>
 <</if>>
 <<if ($masterSuite > 0)>>
@@ -1664,19 +1679,20 @@
 	<<link $masterSuiteNameCaps>>
 		<<set $currentRule.assignFacility = "mastersuite">>
 		<<set $currentRule.setAssignment = "none">>
-		<<set $currentRule.facility.delete("mastersuite")>>
-		<<if $currentRule.facility.length == 0>>
-			<<set $currentRule.excludeFacility.push("mastersuite")>>
+		<<if $currentRule.excludeFacility.length > 0>>
+			<<set $currentRule.excludeFacility.delete("mastersuite")>>
 			<<RAChangeExcludeFacility>>
+		<<elseif $currentRule.facility.length > 0 && !$currentRule.facility.includes("mastersuite")>>
+			<<set $currentRule.facility.push("mastersuite")>>
+			<<RAChangeApplyFacility>>
 		<</if>>
-		<<RAChangeApplyFacility>>
 		<<RAChangeAssignFacility>>
 		<<RAChangeSetAssignment>>
 		<<RAChangeSave>>
 		<<RAChangeApply>>
 	<</link>>
 <<else>>
-	''$masterSuiteNameCaps''
+	''$masterSuiteNameCaps''<<if $masterSuiteSlaves >= $masterSuite>> @@.red;(full)@@<</if>>
 <</if>>
 <</if>>
 <<if ($schoolroom > 0)>>
@@ -1685,19 +1701,20 @@
 	<<link $schoolroomNameCaps>>
 		<<set $currentRule.assignFacility = "schoolroom">>
 		<<set $currentRule.setAssignment = "none">>
-		<<set $currentRule.facility.delete("schoolroom")>>
-		<<if $currentRule.facility.length == 0>>
-			<<set $currentRule.excludeFacility.push("schoolroom")>>
+		<<if $currentRule.excludeFacility.length > 0>>
+			<<set $currentRule.excludeFacility.delete("schoolroom")>>
 			<<RAChangeExcludeFacility>>
+		<<elseif $currentRule.facility.length > 0 && !$currentRule.facility.includes("schoolroom")>>
+			<<set $currentRule.facility.push("schoolroom")>>
+			<<RAChangeApplyFacility>>
 		<</if>>
-		<<RAChangeApplyFacility>>
 		<<RAChangeAssignFacility>>
 		<<RAChangeSetAssignment>>
 		<<RAChangeSave>>
 		<<RAChangeApply>>
 	<</link>>
 <<else>>
-	''$schoolroomNameCaps''
+	''$schoolroomNameCaps''<<if $schoolroomSlaves >= $schoolroom>> @@.red;(full)@@<</if>>
 <</if>>
 <</if>>
 <<if ($spa > 0)>>
@@ -1706,19 +1723,20 @@
 	<<link $spaNameCaps>>
 		<<set $currentRule.assignFacility = "spa">>
 		<<set $currentRule.setAssignment = "none">>
-		<<set $currentRule.facility.delete("spa")>>
-		<<if $currentRule.facility.length == 0>>
-			<<set $currentRule.excludeFacility.push("spa")>>
+		<<if $currentRule.excludeFacility.length > 0>>
+			<<set $currentRule.excludeFacility.delete("spa")>>
 			<<RAChangeExcludeFacility>>
+		<<elseif $currentRule.facility.length > 0 && !$currentRule.facility.includes("spa")>>
+			<<set $currentRule.facility.push("spa")>>
+			<<RAChangeApplyFacility>>
 		<</if>>
-		<<RAChangeApplyFacility>>
 		<<RAChangeAssignFacility>>
 		<<RAChangeSetAssignment>>
 		<<RAChangeSave>>
 		<<RAChangeApply>>
 	<</link>>
 <<else>>
-	''$spaNameCaps''
+	''$spaNameCaps''<<if $spaSlaves >= $spa>> @@.red;(full)@@<</if>>
 <</if>>
 <</if>>
 <<if ($clinic > 0)>>
@@ -1727,19 +1745,20 @@
 	<<link $clinicNameCaps>>
 		<<set $currentRule.assignFacility = "clinic">>
 		<<set $currentRule.setAssignment = "none">>
-		<<set $currentRule.facility.delete("clinic")>>
-		<<if $currentRule.facility.length == 0>>
-			<<set $currentRule.excludeFacility.push("clinic")>>
+		<<if $currentRule.excludeFacility.length > 0>>
+			<<set $currentRule.excludeFacility.delete("clinic")>>
 			<<RAChangeExcludeFacility>>
+		<<elseif $currentRule.facility.length > 0 && !$currentRule.facility.includes("clinic")>>
+			<<set $currentRule.facility.push("clinic")>>
+			<<RAChangeApplyFacility>>
 		<</if>>
-		<<RAChangeApplyFacility>>
 		<<RAChangeAssignFacility>>
 		<<RAChangeSetAssignment>>
 		<<RAChangeSave>>
 		<<RAChangeApply>>
 	<</link>>
 <<else>>
-	''$clinicNameCaps''
+	''$clinicNameCaps''<<if $clinicSlaves >= $clinic>> @@.red;(full)@@<</if>>
 <</if>>
 <</if>>
 <<if ($cellblock > 0)>>
@@ -1748,19 +1767,20 @@
 	<<link $cellblockNameCaps>>
 		<<set $currentRule.assignFacility = "cellblock">>
 		<<set $currentRule.setAssignment = "none">>
-		<<set $currentRule.facility.delete("cellblock")>>
-		<<if $currentRule.facility.length == 0>>
-			<<set $currentRule.excludeFacility.push("cellblock")>>
+		<<if $currentRule.excludeFacility.length > 0>>
+			<<set $currentRule.excludeFacility.delete("cellblock")>>
 			<<RAChangeExcludeFacility>>
+		<<elseif $currentRule.facility.length > 0 && !$currentRule.facility.includes("cellblock")>>
+			<<set $currentRule.facility.push("cellblock")>>
+			<<RAChangeApplyFacility>>
 		<</if>>
-		<<RAChangeApplyFacility>>
 		<<RAChangeAssignFacility>>
 		<<RAChangeSetAssignment>>
 		<<RAChangeSave>>
 		<<RAChangeApply>>
 	<</link>>
 <<else>>
-	''$cellblockNameCaps''
+	''$cellblockNameCaps''<<if $cellblockSlaves >= $cellblock>> @@.red;(full)@@<</if>>
 <</if>>
 <</if>>
 <<if $currentRule.assignFacility != "none">>
@@ -1879,9 +1899,8 @@ Assignment on removal: $currentRule.removalAssignment |
 %/
 <<widget "RAChangeClothes">>
 <<replace #clothes>>
-<<if $currentRule.choosesOwnClothes == 1>>
+<<if ($currentRule.clothes == "choosing her own clothes")>>
 	''slave's choice.''
-	<<set $currentRule.clothes = "choosing her own clothes">>
 <<else>>
 	''$currentRule.clothes.''
 <</if>>
@@ -2250,30 +2269,6 @@ Assistant-applied implants:
 <</replace>>
 <</widget>>
 
-/%
- Call as <<RAChangeAssignment>>
-%/
-<<widget "RAChangeAssignment">>
-<<replace #chooseassignment>>
-Assignments:
-
-<<if $currentRule.choosesOwnAssignment == 0>>
-  ''selected by the player.''
-
-<<link "Slave's choice">>
-	<<set $currentRule.choosesOwnAssignment = 1>>
-	<<RAChangeAssignment>>
-<</link>>
-<<else>>
-  ''selected by the slave.''
-<<link "Player control">>
-	<<set $currentRule.choosesOwnAssignment = 0>>
-	<<RAChangeAssignment>>
-<</link>>
-<</if>>
-<</replace>>
-<</widget>>
-
 /%
  Call as <<RAChangeLiving>>
 %/
@@ -2428,90 +2423,76 @@ Relationship rules: ''$currentRule.relationshipRules.''
 <</replace>>
 <</widget>>
 
+
 /%
- Call as <<RAChangeSave>>
-%/
+ % Call as <<RASaveRule ruleID>>
+ %/
+<<widget "RASaveRule">>
+<<replace #saveresult>>
+    <br><br>
+    <<for _t = 0; _t < $defaultRules.length; _t++>>
+        <<if ($args[0] == $defaultRules[_t].ID)>>
+            <<if (def _customCondition)>>
+                <<set _parsedCondition = parseCondition(_customCondition)>>
+                <<if (_parsedCondition.error)>>
+                    //There seems to be something wrong with the condition that you have given me sir,
+                    <br> <<print printError(_customCondition, _parsedCondition.error)>>
+                    <br> _parsedCondition.error.message//
+                    <br>
+                    <<break>>
+                <<else>>
+                    <<set $currentRule.condition = _parsedCondition.expr>>
+                <</if>>
+            <</if>>
+
+            <<set $defaultRules[_t] = $currentRule>>
+            //Rule $r saved//
+            <<break>>
+        <</if>>
+    <</for>>
+<</replace>>
+<</widget>>
+
+
+/%
+ % Call as <<RAChangeSave>>
+ %/
 <<widget "RAChangeSave">>
 <<replace #saveresult>>
-	<br><br>
-	<<link _text>>
-		<<replace "#saveresult">>
-			<br><br>
-			<<set State.variables._parseFailed = false>>
-			<<if $currentRule.activation == "custom">>
-				<<script>>
-					try { parseAndEvaluate(State.variables.currentRule.customActivationText, State.variables.slaves[0]); 
-						} catch (e) { State.variables._parseFailed = true; throwError("Failed to parse custom rule. Please check syntax and try again."); }
-				<</script>>
-			<</if>>
-			<<if State.variables._parseFailed == false>>
-				<<for _t = 0; _t < $defaultRules.length; _t++>>
-					<<if $currentRule.ID == $defaultRules[_t].ID>>
-						<<if $currentRule.thresholdLower != "none">>
-							<<set $currentRule.thresholdLower = Number($currentRule.thresholdLower)>>
-						<</if>>
-						<<if $currentRule.thresholdUpper != "none">>
-							<<set $currentRule.thresholdUpper = Number($currentRule.thresholdUpper)>>
-						<</if>>
-						<<set $defaultRules[_t] = $currentRule>>
-						//Rule $r saved//
-						<<break>>
-					<</if>>
-				<</for>>
-			<</if>>
-		<</replace>>
-	<</link>>
+    <br><br>
+    <<link _text>>
+        <<RASaveRule $currentRule.ID>>
+    <</link>>
 <</replace>>
 <</widget>>
+
+
 /%
- Call as <<RAChangeApply>>
-%/
+ % Call as <<RAChangeApply>>
+ %/
 <<widget "RAChangeApply">>
-<<replace #apply>>
-	<span id="applyresult">
-	<<link "Apply rules">>
-		<<set State.variables._parseFailed = false>>
-		<<replace "#saveresult">>
-			<br><br>
-			<<if $currentRule.activation == "custom">>
-				<<script>>
-					try { parseAndEvaluate(State.variables.currentRule.customActivationText, State.variables.slaves[0]); 
-						} catch (e) { State.variables._parseFailed = true; throwError("Failed to parse custom rule. Please check syntax and try again."); }
-				<</script>>
-			<</if>>
-			<<if State.variables._parseFailed == false>>
-				<<for _t = 0; _t < $defaultRules.length; _t++>>
-					<<if $currentRule.ID == $defaultRules[_t].ID>>
-						<<if $currentRule.thresholdLower != "none">>
-							<<set $currentRule.thresholdLower = Number($currentRule.thresholdLower)>>
-						<</if>>
-						<<if $currentRule.thresholdUpper != "none">>
-							<<set $currentRule.thresholdUpper = Number($currentRule.thresholdUpper)>>
-						<</if>>
-						<<set $defaultRules[_t] = $currentRule>>
-						//Rule $r saved//
-						<<break>>
-					<</if>>
-				<</for>>
-			<</if>>
-		<</replace>>
-		<<if State.variables._parseFailed == false>>
-			<<replace "#applied">>
-				<<for $i = 0; $i < $slaves.length; $i++>>
-					<<if $slaves[$i].useRulesAssistant == 1>> /* skip RA-exempt slaves */
-					  <<set $activeSlave = $slaves[$i]>>
-					  <<CheckAutoRulesActivate $activeSlave>> /* does not use or modify $currentRule */
-					  <<DefaultRules $activeSlave>> /* does not use or modify $currentRule */
-					<</if>>
-				<</for>>
-			<</replace>>
-			<<replace "#applyresult">>
-				//Rules applied.//<br>
-			<</replace>>
-		<</if>>
-	<</link>>
-	</span>
-	<span id="applied"></span>
+<<replace "#apply">>
+    <span id="applyresult">
+    <<link "Apply rules">>
+        <<RASaveRule $currentRule.ID>>
+        <<replace "#applied">>
+            <<for $i = 0; $i < $slaves.length; $i++>>
+                <<if (!$slaves[$i].useRulesAssistant)>> /* skip RA-exempt slaves */
+                    <<continue>>
+                <</if>>
+
+                <<set $activeSlave = $slaves[$i]>>
+                <<CheckAutoRulesActivate $activeSlave>> /* does not use or modify $currentRule */
+                <<DefaultRules $activeSlave>>           /* does not use or modify $currentRule */
+            <</for>>
+        <</replace>>
+
+        <<replace "#applyresult">>
+            //Rules applied.//<br>
+        <</replace>>
+    <</link>>
+    </span>
+    <span id="applied"></span>
 <</replace>>
 <</widget>>
 
@@ -3236,6 +3217,7 @@ Your brand design is ''$brandDesign.''
 			<<set _dump = $args[0].currentRules.deleteAt(_s)>>
 			<br>//@@.tan;Rule _rule (_currentRule.name) is no longer applying to $args[0].slaveName, who is assigned to $args[0].assignment.@@//
 			<<if $args[0].assignmentVisible == 0>>
+				<<set _combinedRule = _currentRule>>
 				<<include "Rules Facility Remove">>
 			<</if>>
 			<<break>>
@@ -3244,49 +3226,204 @@ Your brand design is ''$brandDesign.''
 <</widget>>
 
 /%
-	Call as <<DefaultRules SlaveObject>>
-	Does not use or modify $currentRule
-%/
+ % Call as <<DefaultRules SlaveObject>>
+ % Does not use or modify $currentRule
+ %/
 <<widget "DefaultRules">>
+<<set _combinedRule = {}>>
 <<for _r = 0; _r < $defaultRules.length; _r++>>
-<<set _currentRule = $defaultRules[_r]>>
-<<if !ruleApplied($args[0], _currentRule.ID)>><<continue>><</if>>
+	/% skip inapplicable rules %/
+	<<if !ruleApplied($args[0], $defaultRules[_r].ID)>>
+		<<continue>>
+	<</if>>
 
-<<if $args[0].fuckdoll == 0>>
+	<<set _combinedRule = mergeRules([_combinedRule, $defaultRules[_r]])>>
+	
+	<<switch _combinedRule.assignFacility>>
+	<<case "hgsuite">>
+		<<if ($HGSuiteSlaves == 0) && ($args[0].indentureRestrictions <= 0) && ($args[0].assignment != "live with your Head Girl")>>
+			<br>$args[0].slaveName has been automatically assigned to live in your Head Girl's private suite.
+			<<assignJob $args[0] _combinedRule.assignFacility>>
+		<</if>>
 
-<<if (_currentRule.choosesOwnAssignment == 1)>>
-<<if ($args[0].choosesOwnAssignment == 0)>>
-<<if ($args[0].assignmentVisible == 1)>>
-<<if ($args[0].assignment != "recruit girls")>>
-<<if ($args[0].assignment != "be your Head Girl")>>
-<<if ($args[0].assignment != "guard you")>>
-	<br>$args[0].slaveName is now allowed to select her own assignments.
-	<<set $args[0].choosesOwnAssignment = 1>>
-	<<set $args[0].assignment = "choose her own job">>
-<</if>>
-<</if>>
-<</if>>
-<</if>>
-<</if>>
-<</if>>
+	<<case "arcade">>
+		<<if ($arcade > $arcadeSlaves) && ($args[0].indentureRestrictions <= 0) && ($args[0].assignment != "be confined in the arcade") && $args[0].breedingMark != 1>>
+			<br>$args[0].slaveName has been automatically assigned to be confined in $arcadeName.
+			<<assignJob $args[0] _combinedRule.assignFacility>>
+		<</if>>
 
-<<if (_currentRule.clothes !== "no default setting")>>
-<<if (_currentRule.choosesOwnClothes == 1)>>
- <<if ($args[0].choosesOwnClothes == 0)>>
-	<br>$args[0].slaveName is now allowed to choose her own clothes.
-	<<set $args[0].choosesOwnClothes = 1>>
+	<<case "mastersuite">>
+		<<if ($masterSuite > $masterSuiteSlaves) && ($args[0].devotion > 20) || (($args[0].devotion >= -50) && ($args[0].trust < -20)) || ($args[0].trust < -50)>>
+			<<if ($args[0].assignment != "serve in the master suite")>>
+				<br>$args[0].slaveName has been automatically assigned to $masterSuiteName.
+				<<assignJob $args[0] _combinedRule.assignFacility>>
+			<</if>>
+		<<else>>
+			<<if ($args[0].assignment == "serve in the master suite")>>
+				<<include "Rules Facility Remove">>
+			<</if>>
+		<</if>>
+
+	<<case "clinic">>
+		<<if ($clinic > $clinicSlaves) && ($args[0].health < 20) || (($Nurse != 0) && ($args[0].chem > 15) && ($clinicUpgradeFilters == 1)) || (($args[0].bellyImplant > 100) && ($bellyImplants == 1)) || $args[0].preg > 1>>
+			<<if ($args[0].assignment != "get treatment in the clinic")>>
+				<br>$args[0].slaveName has been automatically assigned to get treatment in $clinicName.
+				<<assignJob $args[0] _combinedRule.assignFacility>>
+			<</if>>
+		<<else>>
+			<<if ($args[0].assignment == "get treatment in the clinic")>>
+				<<include "Rules Facility Remove">>
+			<</if>>
+		<</if>>
+
+	<<case "spa">>
+		<<if ($spa > $spaSlaves) && ($args[0].health < 20) || ($args[0].trust < 60) || ($args[0].devotion <= 60) || ($args[0].fetish == "mindbroken") && ($args[0].devotion >= -20)>>
+			<<if ($args[0].assignment != "rest in the spa")>>
+				<br>$args[0].slaveName has been automatically assigned to rest in $spaName.
+				<<assignJob $args[0] _combinedRule.assignFacility>>
+			<</if>>
+		<<else>>
+			<<if ($args[0].assignment == "rest in the spa")>>
+				<<include "Rules Facility Remove">>
+			<</if>>
+		<</if>>
+
+	<<case "brothel">>
+		<<if ($brothel > $brothelSlaves) && (($args[0].devotion > 50) || ($args[0].trust > 50) || (($args[0].devotion >= -50) && ($args[0].trust < -20)) || ($args[0].trust < -50)) && $args[0].breedingMark != 1>>
+			<<if ($args[0].assignment != "work in the brothel")>>
+				<br>$args[0].slaveName has been automatically assigned to work in $brothelName.
+				<<assignJob $args[0] _combinedRule.assignFacility>>
+			<</if>>
+		<<else>>
+			<<if ($args[0].assignment == "work in the brothel")>>
+				<<include "Rules Facility Remove">>
+			<</if>>
+		<</if>>
+
+	<<case "club">>
+		<<if ($club > $clubSlaves) && (($args[0].devotion > 50) || ($args[0].trust > 50) || (($args[0].devotion >= -50) && ($args[0].trust < -20)) || ($args[0].trust < -50)) && $args[0].breedingMark != 1>>
+			<<if ($args[0].assignment != "serve in the club")>>
+				<br>$args[0].slaveName has been automatically assigned to serve in $clubName.
+				<<assignJob $args[0] _combinedRule.assignFacility>>
+			<</if>>
+		<<else>>
+			<<if ($args[0].assignment == "serve in the club")>>
+				<<include "Rules Facility Remove">>
+			<</if>>
+		<</if>>
+
+	<<case "dairy">>
+		<<if ($dairy > $dairySlaves+$bioreactorsXY+$bioreactorsXX+$bioreactorsHerm+$bioreactorsBarren)>>
+			<<if ($args[0].indentureRestrictions > 0) && ($dairyRestraintsSetting > 1)>>
+			<<elseif (($args[0].indentureRestrictions > 1) && ($dairyRestraintsSetting > 0)) || ($args[0].breedingMark == 1 && $dairyRestriantsSettings > 0) || (($dairyPregSetting > 0) && ((_Slave.bellyImplant != 0) || (_Slave.pregType >= 50)))>>
+			<<else>>
+				<<if ($args[0].lactation > 0) || ($args[0].balls > 0) || (($dairyFeedersUpgrade == 1) && ($dairyFeedersSetting > 0))>>
+					<<if ($args[0].devotion > 20) || (($args[0].devotion >= -50) && ($args[0].trust < -20)) || ($args[0].trust < -50) || ($args[0].amp == 1) || ($dairyRestraintsUpgrade == 1)>>
+						<<if ($dairyStimulatorsSetting < 2) || ($args[0].anus > 2) || ($dairyPrepUpgrade == 1)>>
+							<<if ($dairyPregSetting < 2) || ($args[0].vagina > 2) || ($args[0].ovaries == 0) || ($dairyPrepUpgrade == 1)>>
+								<<if ($args[0].assignment != "work in the dairy")>>
+									<br>$args[0].slaveName has been automatically assigned to be milked in $dairyName.
+									<<assignJob $args[0] _combinedRule.assignFacility>>
+								<</if>>
+							<<else>>
+								<<if ($args[0].assignment == "work in the dairy")>>
+									<<include "Rules Facility Remove">>
+								<</if>>
+							<</if>>
+						<<else>>
+							<<if ($args[0].assignment == "work in the dairy")>>
+								<<include "Rules Facility Remove">>
+							<</if>>
+						<</if>>
+					<<else>>
+						<<if ($args[0].assignment == "work in the dairy")>>
+							<<include "Rules Facility Remove">>
+						<</if>>
+					<</if>>
+				<<else>>
+					<<if ($args[0].assignment == "work in the dairy")>>
+						<<include "Rules Facility Remove">>
+					<</if>>
+				<</if>>
+			<</if>>
+		<</if>>
+
+	<<case "servantsquarters">>
+		<<if ($servantsQuarters > $servantsQuartersSlaves) && (($args[0].devotion >= -20) || (($args[0].devotion >= -50) && ($args[0].trust <= 20)) || ($args[0].trust < -20)) && canSee($args[0]) && canWalk($args[0])>>
+			<<if ($args[0].assignment != "work as a servant")>>
+				<br>$args[0].slaveName has been automatically assigned to work in $servantsQuartersName.
+				<<assignJob $args[0] _combinedRule.assignFacility>>
+			<</if>>
+		<<else>>
+			<<if ($args[0].assignment == "work as a servant")>>
+				<<include "Rules Facility Remove">>
+			<</if>>
+		<</if>>
+
+	<<case "schoolroom">>
+		<<if ($schoolroom > $schoolroomSlaves) && ($args[0].fetish != "mindbroken") && ($args[0].devotion >= -20 || ($args[0].devotion >= -50 && $args[0].trust < -20) || $args[0].trust < -50)>>
+			<<if ($args[0].intelligenceImplant < 1) || ($args[0].voice != 0 && $args[0].accent+$schoolroomUpgradeLanguage > 2) || ($args[0].oralSkill <= 10+$schoolroomUpgradeSkills*20) || ($args[0].whoreSkill <= 10+$schoolroomUpgradeSkills*20) || ($args[0].entertainSkill <= 10+$schoolroomUpgradeSkills*20) || ($args[0].analSkill < 10+$schoolroomUpgradeSkills*20) || (($args[0].vagina >= 0) && ($args[0].vaginalSkill < 10+$schoolroomUpgradeSkills*20))>>
+				<<if ($args[0].assignment != "learn in the schoolroom")>>
+					<br>$args[0].slaveName has been automatically assigned to study in $schoolroomName.
+					<<assignJob $args[0] _combinedRule.assignFacility>>
+				<</if>>
+			<<else>>
+				<<if ($args[0].assignment == "learn in the schoolroom")>>
+					<<include "Rules Facility Remove">>
+				<</if>>
+			<</if>>
+		<<else>>
+			<<if ($args[0].assignment == "learn in the schoolroom")>>
+				<<include "Rules Facility Remove">>
+			<</if>>
+		<</if>>
+
+	<<case "cellblock">>
+		<<if ($cellblock > $cellblockSlaves) && (($args[0].devotion < -20) && ($args[0].trust >= -20)) || (($args[0].devotion < -50) && ($args[0].trust >= -50))>>
+			<<if ($args[0].assignment != "be confined in the cellblock")>>
+				<br>$args[0].slaveName has been automatically assigned to be confined in $cellblockName.
+				<<assignJob $args[0] _combinedRule.assignFacility>>
+			<</if>>
+		<<else>>
+			<<if ($args[0].assignment == "be confined in the cellblock")>>
+				<<include "Rules Facility Remove">>
+			<</if>>
+		<</if>>
+	<</switch>>
+
+	<<if (_combinedRule.setAssignment !== "none")>>
+	<<if (_combinedRule.setAssignment == "choose her own job")>>
+		<<if ($args[0].choosesOwnAssignment == 0)>>
+			<br>$args[0].slaveName is now allowed to select her own assignments.
+			<<assignJob $args[0] _combinedRule.setAssignment>>
+		<</if>>
+	<<elseif ($args[0].assignment !== _combinedRule.setAssignment)>>
+		<br>$args[0].slaveName has been automatically assigned to _combinedRule.setAssignment.
+		<<assignJob $args[0] _combinedRule.setAssignment>>
+	<</if>>
+	<</if>>
+
+<</for>>
+
+<<if $args[0].fuckdoll == 0>>
+
+<<if (_combinedRule.clothes !== "no default setting")>>
+<<if (_combinedRule.clothes == "choosing her own clothes")>>
+<<if ($args[0].choosesOwnClothes == 0)>>
 	<<set $args[0].clothes = "choosing her own clothes">>
-  <</if>>
-<<elseif ($args[0].clothes !== _currentRule.clothes)>>
-	<<set $args[0].clothes = _currentRule.clothes>>
-	<br>$args[0].slaveName is now wearing $args[0].clothes.
+	<<set $args[0].choosesOwnClothes = 1>>
+	<br>$args[0].slaveName is now allowed to choose her own clothes.
+<</if>>
+<<elseif ($args[0].clothes !== _combinedRule.clothes)>>
+	<<set $args[0].clothes = _combinedRule.clothes>>
 	<<set $args[0].choosesOwnClothes = 0>>
+	<br>$args[0].slaveName is now wearing $args[0].clothes.
 <</if>>
 <</if>>
 
-<<if (_currentRule.collar !== "no default setting")>>
-<<if ($args[0].collar !== _currentRule.collar)>>
-	<<set $args[0].collar = _currentRule.collar>>
+<<if (_combinedRule.collar !== "no default setting")>>
+<<if ($args[0].collar !== _combinedRule.collar)>>
+	<<set $args[0].collar = _combinedRule.collar>>
 	<<if ($args[0].collar == "none")>>
 		<br>$args[0].slaveName has been given no collar.
 	<<else>>
@@ -3295,90 +3432,93 @@ Your brand design is ''$brandDesign.''
 <</if>>
 <</if>>
 
-<<set _tmp = lastEyeWearRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-<<if (_currentRule.eyewear !== "no default setting")>>
-	<<if _currentRule.eyewear == "correct with glasses">>
-	<<if $args[0].eyes <= -1>>
-		<<if $args[0].eyewear != "corrective glasses">>
-		<<set $args[0].eyewear = "corrective glasses">>
-		<<set $cash -= $modCost>>
-		<br>$args[0].slaveName has been given corrective glasses.
-		<</if>>
-	<<else>>
-		<<if $args[0].eyewear != "none">>
-		<<set $args[0].eyewear = "none">>
-		<br>$args[0].slaveName's eyewear has been removed.
-		<</if>>
-	<</if>>
-	<<elseif _currentRule.eyewear == "correct with contacts">>
-	<<if $args[0].eyes <= -1>>
-		<<if $args[0].eyewear != "corrective contacts">>
-		<<set $args[0].eyewear = "corrective contacts">>
-		<<set $cash -= $modCost>>
-		<br>$args[0].slaveName has been given corrective contacts.
-	  <</if>>
-	<<else>>
-		<<if $args[0].eyewear != "none">>
-		<<set $args[0].eyewear = "none">>
-		<br>$args[0].slaveName's eyewear has been removed.
-	  <</if>>
-	<</if>>
-	<<elseif _currentRule.eyewear == "blur with glasses">>
-	<<if $args[0].eyes > -1>>
-		<<if $args[0].eyewear != "blurring glasses">>
-		<<set $args[0].eyewear = "blurring glasses">>
-		<<set $cash -= $modCost>>
-		<br>$args[0].slaveName has been given blurring glasses.
-	  <</if>>
-	<<else>>
-		<<if $args[0].eyewear != "none">>
-		<<set $args[0].eyewear = "none">>
-		<br>$args[0].slaveName's eyewear has been removed.
-		<</if>>
-	<</if>>
-	<<elseif _currentRule.eyewear == "blur with contacts">>
-	<<if $args[0].eyes > -1>>
-	  <<if $args[0].eyewear != "blurring contacts">>
-		<<set $args[0].eyewear = "blurring contacts">>
-		<<set $cash -= $modCost>>
-		<br>$args[0].slaveName has been given blurring contacts.
-	  <</if>>
-	<<else>>
-	  <<if $args[0].eyewear != "none">>
-		<<set $args[0].eyewear = "none">>
-		<br>Since $args[0].slaveName's eyewear has been removed.
-	  <</if>>
-	<</if>>
-	<<elseif _currentRule.eyewear == "universal glasses">>
-	<<if $args[0].eyes <= -1>>
-	  <<if $args[0].eyewear != "corrective glasses">>
-		<<set $args[0].eyewear = "corrective glasses">>
-		<<set $cash -= $modCost>>
-		<br>$args[0].slaveName has been given corrective glasses.
-	  <</if>>
-	<<else>>
-	  <<if $args[0].eyewear != "glasses">>
-		<<set $args[0].eyewear = "glasses">>
-		<<set $cash -= $modCost>>
-		<br>$args[0].slaveName has been given decorative glasses.
-	  <</if>>
-	<</if>>
-  <<else>>
-	  <<if $args[0].eyewear != "none">>
-		<<set $args[0].eyewear = "none">>
-		<br>$args[0].slaveName's eyewear has been removed.
-	  <</if>>
-  <</if>>
-<</if>>
+<<if (_combinedRule.eyewear !== "no default setting")>>
+    <<switch _combinedRule.eyewear>>
+    <<case "correct with glasses">>
+        <<if $args[0].eyes <= -1>>
+            <<if $args[0].eyewear != "corrective glasses">>
+                <<set $args[0].eyewear = "corrective glasses">>
+                <<set $cash -= $modCost>>
+                <br>$args[0].slaveName has been given corrective glasses.
+            <</if>>
+        <<else>>
+            <<if $args[0].eyewear != "none">>
+                <<set $args[0].eyewear = "none">>
+                <br>$args[0].slaveName's eyewear has been removed.
+            <</if>>
+        <</if>>
+
+    <<case "correct with contacts">>
+        <<if $args[0].eyes <= -1>>
+            <<if $args[0].eyewear != "corrective contacts">>
+                <<set $args[0].eyewear = "corrective contacts">>
+                <<set $cash -= $modCost>>
+                <br>$args[0].slaveName has been given corrective contacts.
+            <</if>>
+        <<else>>
+            <<if $args[0].eyewear != "none">>
+                <<set $args[0].eyewear = "none">>
+                <br>$args[0].slaveName's eyewear has been removed.
+            <</if>>
+        <</if>>
+
+    <<case "blur with glasses">>
+        <<if $args[0].eyes > -1>>
+            <<if $args[0].eyewear != "blurring glasses">>
+                <<set $args[0].eyewear = "blurring glasses">>
+                <<set $cash -= $modCost>>
+                <br>$args[0].slaveName has been given blurring glasses.
+            <</if>>
+        <<else>>
+            <<if $args[0].eyewear != "none">>
+                <<set $args[0].eyewear = "none">>
+                <br>$args[0].slaveName's eyewear has been removed.
+            <</if>>
+        <</if>>
+
+    <<case "blur with contacts">>
+        <<if $args[0].eyes > -1>>
+            <<if $args[0].eyewear != "blurring contacts">>
+                <<set $args[0].eyewear = "blurring contacts">>
+                <<set $cash -= $modCost>>
+                <br>$args[0].slaveName has been given blurring contacts.
+            <</if>>
+        <<else>>
+            <<if $args[0].eyewear != "none">>
+                <<set $args[0].eyewear = "none">>
+                <br>Since $args[0].slaveName's eyewear has been removed.
+            <</if>>
+        <</if>>
+
+    <<case "universal glasses">>
+        <<if $args[0].eyes <= -1>>
+            <<if $args[0].eyewear != "corrective glasses">>
+                <<set $args[0].eyewear = "corrective glasses">>
+                <<set $cash -= $modCost>>
+                <br>$args[0].slaveName has been given corrective glasses.
+            <</if>>
+        <<else>>
+            <<if $args[0].eyewear != "glasses">>
+                <<set $args[0].eyewear = "glasses">>
+                <<set $cash -= $modCost>>
+                <br>$args[0].slaveName has been given decorative glasses.
+            <</if>>
+        <</if>>
+
+    <<default>>
+        <<if $args[0].eyewear != "none">>
+            <<set $args[0].eyewear = "none">>
+            <br>$args[0].slaveName's eyewear has been removed.
+        <</if>>
+    <</switch>>
 <</if>>
 
 <<if $args[0].vagina == 0>>
-<<if _currentRule.virginAccessory !== "no default setting">>
-<<if $args[0].vaginalAccessory !== _currentRule.virginAccessory>>
-	<<set $args[0].vaginalAccessory = _currentRule.virginAccessory>>
+<<if _combinedRule.virginAccessory !== "no default setting">>
+<<if $args[0].vaginalAccessory !== _combinedRule.virginAccessory>>
+	<<set $args[0].vaginalAccessory = _combinedRule.virginAccessory>>
 	<<if $args[0].vaginalAccessory == "huge dildo">>
-		<br>$args[0].slaveName has been given a
+		<br>$args[0].slaveName is a virgin and has been given a
 		<<if $args[0].vagina >= 3>>
 			massive dildo to permanently gape her cunt,
 		<<else>>
@@ -3386,18 +3526,18 @@ Your brand design is ''$brandDesign.''
 			<<set $args[0].vaginalAccessory = "large dildo">>
 		<</if>>
 	<<elseif $args[0].vaginalAccessory == "none">>
-		<br>$args[0].slaveName's item for her pussy has been changed to be nothing.
+		<br>$args[0].slaveName is a virgin and has been instructed not to use a vaginal accessory.
 	<<else>>
-		<br>$args[0].slaveName has been given a $args[0].vaginalAccessory for her pussy.
+		<br>$args[0].slaveName is a virgin and has been given a $args[0].vaginalAccessory for her pussy.
 	<</if>>
 <</if>>
 <</if>>
 <<elseif ($args[0].vagina > 0) && ($args[0].anus == 0)>>
-<<if _currentRule.aVirginAccessory !== "no default setting">>
-<<if $args[0].vaginalAccessory !== _currentRule.aVirginAccessory>>
-	<<set $args[0].vaginalAccessory = _currentRule.aVirginAccessory>>
+<<if _combinedRule.aVirginAccessory !== "no default setting">>
+<<if $args[0].vaginalAccessory !== _combinedRule.aVirginAccessory>>
+	<<set $args[0].vaginalAccessory = _combinedRule.aVirginAccessory>>
 	<<if $args[0].vaginalAccessory == "huge dildo">>
-		<br>$args[0].slaveName has been given a
+		<br>$args[0].slaveName is a virgin and has been given a
 		<<if $args[0].vagina >= 3>>
 			massive dildo to permanently gape her cunt.
 		<<else>>
@@ -3405,16 +3545,16 @@ Your brand design is ''$brandDesign.''
 			<<set $args[0].vaginalAccessory = "large dildo">>
 		<</if>>
 	<<elseif $args[0].vaginalAccessory == "none">>
-		<br>$args[0].slaveName's item for her pussy has been changed to be nothing.
+		<br>$args[0].slaveName is a virgin and has been instructed not to use a vaginal accessory.
 	<<else>>
-		<br>$args[0].slaveName has been given a $args[0].vaginalAccessory for her pussy.
+		<br>$args[0].slaveName is a virgin and has been given a $args[0].vaginalAccessory for her pussy.
 	<</if>>
 <</if>>
 <</if>>
 <<elseif $args[0].vagina > 0>>
-<<if _currentRule.vaginalAccessory !== "no default setting">>
-<<if $args[0].vaginalAccessory !== _currentRule.vaginalAccessory>>
-	<<set $args[0].vaginalAccessory = _currentRule.vaginalAccessory>>
+<<if _combinedRule.vaginalAccessory !== "no default setting">>
+<<if $args[0].vaginalAccessory !== _combinedRule.vaginalAccessory>>
+	<<set $args[0].vaginalAccessory = _combinedRule.vaginalAccessory>>
 	<<if $args[0].vaginalAccessory == "huge dildo">>
 		<br>$args[0].slaveName has been given a
 		<<if $args[0].vagina >= 3>>
@@ -3424,7 +3564,7 @@ Your brand design is ''$brandDesign.''
 			<<set $args[0].vaginalAccessory = "large dildo">>
 		<</if>>
 	<<elseif $args[0].vaginalAccessory == "none">>
-		<br>$args[0].slaveName's item for her pussy has been changed to be nothing.
+		<br>$args[0].slaveName has been instructed not to use a vaginal accessory.
 	<<else>>
 		<br>$args[0].slaveName has been given a $args[0].vaginalAccessory for her pussy.
 	<</if>>
@@ -3434,22 +3574,22 @@ Your brand design is ''$brandDesign.''
 
 <<if ($args[0].dick > 0)>>
 <<if $args[0].anus == 0>>
-<<if (_currentRule.aVirginDickAccessory !== "no default setting")>>
-<<if ($args[0].dickAccessory !== _currentRule.aVirginDickAccessory)>>
-	<<set $args[0].dickAccessory = _currentRule.aVirginDickAccessory>>
+<<if (_combinedRule.aVirginDickAccessory !== "no default setting")>>
+<<if ($args[0].dickAccessory !== _combinedRule.aVirginDickAccessory)>>
+	<<set $args[0].dickAccessory = _combinedRule.aVirginDickAccessory>>
 	<<if $args[0].dickAccessory == "none">>
-		<br>$args[0].slaveName's dick accessory has been changed to be nothing.
+		<br>$args[0].slaveName is a virgin and has been instructed not to wear a dick accessory.
 	<<else>>
-		<br>$args[0].slaveName has been given a $args[0].dickAccessory accessory for her cock.
+		<br>$args[0].slaveName is a virgin and has been given a $args[0].dickAccessory accessory for her cock.
 	<</if>>
 <</if>>
 <</if>>
 <<else>>
-<<if (_currentRule.dickAccessory !== "no default setting")>>
-<<if ($args[0].dickAccessory !== _currentRule.dickAccessory)>>
-	<<set $args[0].dickAccessory = _currentRule.dickAccessory>>
+<<if (_combinedRule.dickAccessory !== "no default setting")>>
+<<if ($args[0].dickAccessory !== _combinedRule.dickAccessory)>>
+	<<set $args[0].dickAccessory = _combinedRule.dickAccessory>>
 	<<if $args[0].dickAccessory == "none">>
-		<br>$args[0].slaveName's dick accessory has been changed to be nothing.
+		<br>$args[0].slaveName has been instructed not to wear a dick accessory.
 	<<else>>
 		<br>$args[0].slaveName has been given a $args[0].dickAccessory accessory for her cock.
 	<</if>>
@@ -3460,11 +3600,11 @@ Your brand design is ''$brandDesign.''
 
 <<if ($args[0].vaginalAccessory !== "anal chastity") && ($args[0].vaginalAccessory !== "combined chastity") && ($args[0].dickAccessory !== "anal chastity") && ($args[0].dickAccessory !== "combined chastity")>>
 <<if $args[0].anus == 0>>
-<<if (_currentRule.aVirginButtplug !== "no default setting")>>
-<<if ($args[0].buttplug !== _currentRule.aVirginButtplug)>>
-	<<set $args[0].buttplug = _currentRule.aVirginButtplug>>
+<<if (_combinedRule.aVirginButtplug !== "no default setting")>>
+<<if ($args[0].buttplug !== _combinedRule.aVirginButtplug)>>
+	<<set $args[0].buttplug = _combinedRule.aVirginButtplug>>
 	<<if ($args[0].buttplug == "huge plug")>>
-		<br>$args[0].slaveName has been given a
+		<br>$args[0].slaveName is an anal virgin and has been given a
 		<<if ($args[0].anus >= 3)>>
 			massive plug to permanently gape her asshole.
 		<<else>>
@@ -3472,16 +3612,16 @@ Your brand design is ''$brandDesign.''
 			large buttplug for her asshole, since it must be stretched before it can accommodate a huge one.
 		<</if>>
 	<<elseif $args[0].buttplug == "none">>
-		<br>$args[0].slaveName's item for her pussy has been changed to be nothing.
+		<br>$args[0].slaveName is an anal virgin and has been instructed not to use an anal accessory.
 	<<else>>
-		<br>$args[0].slaveName has been given a $args[0].buttplug for her asshole.
+		<br>$args[0].slaveName is an anal virgin and has been given a $args[0].buttplug for her asshole.
 	<</if>>
 <</if>>
 <</if>>
 <<else>>
-<<if (_currentRule.buttplug !== "no default setting")>>
-<<if ($args[0].buttplug !== _currentRule.buttplug)>>
-	<<set $args[0].buttplug = _currentRule.buttplug>>
+<<if (_combinedRule.buttplug !== "no default setting")>>
+<<if ($args[0].buttplug !== _combinedRule.buttplug)>>
+	<<set $args[0].buttplug = _combinedRule.buttplug>>
 	<<if ($args[0].buttplug == "huge plug")>>
 		<br>$args[0].slaveName has been given a
 		<<if ($args[0].anus >= 3)>>
@@ -3491,7 +3631,7 @@ Your brand design is ''$brandDesign.''
 			large buttplug for her asshole, since it must be stretched before it can accommodate a huge one.
 		<</if>>
 	<<elseif $args[0].buttplug == "none">>
-		<br>$args[0].slaveName's item for her pussy has been changed to be nothing.
+		<br>$args[0].slaveName has been instructed not to use an anal accessory.
 	<<else>>
 		<br>$args[0].slaveName has been given a $args[0].buttplug for her asshole.
 	<</if>>
@@ -3500,25 +3640,25 @@ Your brand design is ''$brandDesign.''
 <</if>>
 <</if>>
 
-<<if (_currentRule.shoes !== "no default setting")>>
-<<if ($args[0].shoes !== _currentRule.shoes)>>
+<<if (_combinedRule.shoes !== "no default setting")>>
+<<if ($args[0].shoes !== _combinedRule.shoes)>>
 <<if ($args[0].amp != 1)>>
-	<<set $args[0].shoes = _currentRule.shoes>>
+	<<set $args[0].shoes = _combinedRule.shoes>>
 	<br>$args[0].slaveName's shoes have been set to $args[0].shoes.
 <</if>>
 <</if>>
 <</if>>
 
-<<if (_currentRule.bellyAccessory !== "no default setting")>>
-<<if ($args[0].bellyAccessory !== _currentRule.bellyAccessory)>>
-	<<if visibleBelly($args[0]) && $fakeBellies.contains(_currentRule.bellyAccessory)>>	
+<<if (_combinedRule.bellyAccessory !== "no default setting")>>
+<<if ($args[0].bellyAccessory !== _combinedRule.bellyAccessory)>>
+	<<if visibleBelly($args[0]) && $fakeBellies.contains(_combinedRule.bellyAccessory)>>
 		<br>$args[0].slaveName's natural belly is too big to properly wear an empathy belly.
 	<<else>>
-		<<set $args[0].bellyAccessory = _currentRule.bellyAccessory>>
+		<<set $args[0].bellyAccessory = _combinedRule.bellyAccessory>>
 		<<if $args[0].bellyAccessory == "none">>
-			<br>$args[0].slaveName's belly accessory has been removed.
+			<br>$args[0].slaveName has been instructed not to wear a chest accessory.
 		<<else>>
-			<br>$args[0].slaveName has been given the proper belly accessory to wear: $args[0].bellyAccessory.
+			<br>$args[0].slaveName has been given a $args[0].bellyAccessory to wear.
 		<</if>>
 	<</if>>
 <</if>>
@@ -3526,9 +3666,9 @@ Your brand design is ''$brandDesign.''
 
 <</if>> /* CLOSES FUCKDOLL CHECK */
 
-<<if (_currentRule.growth !== "no default setting")>>
+<<if (_combinedRule.growth !== "no default setting")>>
 <<if ($args[0].indentureRestrictions < 2)>>
-<<if (_currentRule.growth == "girlish")>>
+<<if (_combinedRule.growth == "girlish")>>
 	<<if ($args[0].butt < 2)>>
 		<<set $args[0].drugs = "butt injections">>
 		<br>$args[0].slaveName's butt is tiny, so she's been put on buttock growth drugs.
@@ -3542,7 +3682,7 @@ Your brand design is ''$brandDesign.''
 		<<set $args[0].drugs = "no drugs">>
 		<br>$args[0].slaveName has reached growth targets and has been taken off growth injections.
 	<</if>>
-<<elseif (_currentRule.growth == "stacked")>>
+<<elseif (_combinedRule.growth == "stacked")>>
 	<<if ($args[0].butt < 2)>>
 		<<set $args[0].drugs = "butt injections">>
 		<br>$args[0].slaveName's butt is tiny, so she's been put on buttock growth drugs.
@@ -3593,10 +3733,10 @@ Your brand design is ''$brandDesign.''
 	<<elseif ($args[0].boobs <= 9000)>>
 		<<set $args[0].drugs = "breast injections">>
 		<br>$args[0].slaveName could handle bigger tits, so she's been put on breast injections.
-	<<elseif ($args[0].dick > 0) && ($args[0].dick < 10) && (_currentRule.growth == "unlimited")>>
+	<<elseif ($args[0].dick > 0) && ($args[0].dick < 10) && (_combinedRule.growth == "unlimited")>>
 		<<set $args[0].drugs = "penis enhancement">>
 		<br>$args[0].slaveName's dick could be bigger, so she's been put on penis enhancement.
-	<<elseif ($args[0].boobs < 24000) && (_currentRule.growth == "unlimited")>>
+	<<elseif ($args[0].boobs < 24000) && (_combinedRule.growth == "unlimited")>>
 		<<set $args[0].drugs = "breast injections">>
 		<br>$args[0].slaveName's boobs could be bigger, so she's been put on breast injections.
 	<<elseif $args[0].drugs != "no drugs">>
@@ -3607,35 +3747,35 @@ Your brand design is ''$brandDesign.''
 <</if>>
 <</if>>
 
-<<if (_currentRule.curatives != "no default setting")>>
-<<if $args[0].curatives != _currentRule.curatives>>
-	<<if _currentRule.curatives == 2>>
+<<if (_combinedRule.curatives != "no default setting")>>
+<<if $args[0].curatives != _combinedRule.curatives>>
+	<<if _combinedRule.curatives == 2>>
 		<<if $args[0].health > 100>>
 			<br>$args[0].slaveName has been	put on preventatives, since curatives cannot improve her health further.
 			<<set $args[0].curatives = 1>>
 		<<else>>
 			<br>$args[0].slaveName has been	put on curatives.
-			<<set $args[0].curatives = _currentRule.curatives>>
+			<<set $args[0].curatives = _combinedRule.curatives>>
 		<</if>>
 	<<else>>
-		<br>$args[0].slaveName has been	<<if _currentRule.aphrodisiacs > 0>>put on preventatives<<else>>taken off health drugs<</if>>.
-		<<set $args[0].curatives = _currentRule.curatives>>
+		<br>$args[0].slaveName has been	<<if _combinedRule.curatives > 0>>put on preventatives<<else>>taken off health drugs<</if>>.
+		<<set $args[0].curatives = _combinedRule.curatives>>
 	<</if>>
 <</if>>
 <</if>>
 
-<<if (_currentRule.aphrodisiacs != "no default setting")>>
-<<if $args[0].aphrodisiacs != _currentRule.aphrodisiacs>>
-	<br>$args[0].slaveName has been	<<if _currentRule.aphrodisiacs > 0>>put on the proper<<else>>taken off<</if>> aphrodisiacs.
-	<<set $args[0].aphrodisiacs = _currentRule.aphrodisiacs>>
+<<if (_combinedRule.aphrodisiacs != "no default setting")>>
+<<if $args[0].aphrodisiacs != _combinedRule.aphrodisiacs>>
+	<br>$args[0].slaveName has been	<<if _combinedRule.aphrodisiacs > 0>>put on the proper<<else>>taken off<</if>> aphrodisiacs.
+	<<set $args[0].aphrodisiacs = _combinedRule.aphrodisiacs>>
 <</if>>
 <</if>>
 
 <<if ($args[0].dick > 0)>>
 <<if ($args[0].balls == 0)>>
-<<if (_currentRule.gelding !== "no default setting")>>
-<<if ($args[0].hormones !== _currentRule.gelding)>>
-	<<set $args[0].hormones = _currentRule.gelding>>
+<<if (_combinedRule.gelding !== "no default setting")>>
+<<if ($args[0].hormones !== _combinedRule.gelding)>>
+	<<set $args[0].hormones = _combinedRule.gelding>>
 	<<if $args[0].indentureRestrictions >= 2>>
 		<<set $args[0].hormones = Math.clamp($args[0].hormones, -1, 1)>>
 	<</if>>
@@ -3643,13 +3783,13 @@ Your brand design is ''$brandDesign.''
 <</if>>
 <</if>>
 <<elseif ($args[0].balls > 0)>>
-<<if (_currentRule.XY !== "no default setting")>>
-<<if ($args[0].hormones !== _currentRule.XY)>>
+<<if (_combinedRule.XY !== "no default setting")>>
+<<if ($args[0].hormones !== _combinedRule.XY)>>
 <<if ($args[0].assignment != "recruit girls")>>
 <<if ($args[0].assignment != "be the Wardeness")>>
 <<if ($args[0].assignment != "be the Madam")>>
 <<if ($args[0].assignment != "be the Collectrix")>>
-	<<set $args[0].hormones = _currentRule.XY>>
+	<<set $args[0].hormones = _combinedRule.XY>>
 	<<if $args[0].indentureRestrictions >= 2>>
 		<<set $args[0].hormones = Math.clamp($args[0].hormones, -1, 1)>>
 	<</if>>
@@ -3665,9 +3805,9 @@ Your brand design is ''$brandDesign.''
 
 <<if ($args[0].vagina > -1)>>
 <<if ($args[0].dick == 0)>>
-<<if (_currentRule.XX !== "no default setting")>>
-<<if ($args[0].hormones !== _currentRule.XX)>>
-	<<set $args[0].hormones = _currentRule.XX>>
+<<if (_combinedRule.XX !== "no default setting")>>
+<<if ($args[0].hormones !== _combinedRule.XX)>>
+	<<set $args[0].hormones = _combinedRule.XX>>
 	<<if $args[0].indentureRestrictions >= 2>>
 		<<set $args[0].hormones = Math.clamp($args[0].hormones, -1, 1)>>
 	<</if>>
@@ -3676,8 +3816,8 @@ Your brand design is ''$brandDesign.''
 <</if>>
 <</if>>
 <<if canGetPregnant($args[0])>>
-<<if (_currentRule.preg !== "no default setting")>>
-<<if (_currentRule.preg == -1)>>
+<<if (_combinedRule.preg !== "no default setting")>>
+<<if (_combinedRule.preg == -1)>>
 	<<if $args[0].preg !== -1>>
 		<br>$args[0].slaveName is a fertile female, so she has been put on the appropriate contraceptive regime.
 		<<set $args[0].preg = -1>>
@@ -3685,7 +3825,7 @@ Your brand design is ''$brandDesign.''
 	<<if $args[0].drugs == "fertility drugs" || $args[0].drugs == "super fertility drugs">>
 		<<set $args[0].drugs = "no drugs">>
 	<</if>>
-<<elseif (_currentRule.preg == 0)>>
+<<elseif (_combinedRule.preg == 0)>>
 	<<if $args[0].preg !== 0>>
 		<br>$args[0].slaveName is a fertile female, so she has been taken off contraceptives.
 		<<set $args[0].preg = 0>>
@@ -3693,28 +3833,28 @@ Your brand design is ''$brandDesign.''
 	<<if $args[0].drugs == "fertility drugs" || $args[0].drugs == "super fertility drugs">>
 		<<set $args[0].drugs = "no drugs">>
 	<</if>>
-<<elseif (_currentRule.preg == 1)>>
+<<elseif (_combinedRule.preg == 1)>>
 	<<if $args[0].preg !== 0 || $args[0].drugs !== "fertility drugs" || $args[0].hormones !== 0>>
 		<<set $args[0].preg = 0>>
 		<<set $args[0].drugs = "fertility drugs">>
 		<<set $args[0].hormones = 0>>
 		<br>$args[0].slaveName is a fertile female, so she has been put on the appropriate fertility regime.
 	<</if>>
-<<elseif (_currentRule.preg == 2)>>
+<<elseif (_combinedRule.preg == 2)>>
 	<<if $args[0].preg !== 0 || $args[0].drugs !== "fertility drugs" || $args[0].hormones !== 2>>
 		<<set $args[0].preg = 0>>
 		<<set $args[0].drugs = "fertility drugs">>
 		<<set $args[0].hormones = 2>>
 		<br>$args[0].slaveName is a fertile female, so she has been put on the appropriate fertility regime.
 	<</if>>
-<<elseif (_currentRule.preg == 3) and $args[0].indentureRestrictions < 1>>
+<<elseif (_combinedRule.preg == 3) and $args[0].indentureRestrictions < 1>>
 	<<if $args[0].preg !== 0 || $args[0].drugs !== "super fertility drugs" || $args[0].hormones !== 0>>
 		<<set $args[0].preg = 0>>
 		<<set $args[0].drugs = "super fertility drugs">>
 		<<set $args[0].hormones = 0>>
 		<br>$args[0].slaveName is a fertile female, so she has been put on the appropriate fertility regime.
 	<</if>>
-<<elseif (_currentRule.preg == 4) and $args[0].indentureRestrictions < 1>>
+<<elseif (_combinedRule.preg == 4) and $args[0].indentureRestrictions < 1>>
 	<<if $args[0].preg !== 0 || $args[0].drugs !== "super fertility drugs" || $args[0].hormones !== 2>>
 		<<set $args[0].preg = 0>>
 		<<set $args[0].drugs = "super fertility drugs">>
@@ -3728,52 +3868,52 @@ Your brand design is ''$brandDesign.''
 
 <<if $args[0].fuckdoll == 0>>
 
-<<if (_currentRule.livingRules !== "no default setting")>>
+<<if (_combinedRule.livingRules !== "no default setting")>>
 <<if ($args[0].fetish == "mindbroken")>>
 	<<if ($args[0].livingRules !== "spare")>>
 	<<set $args[0].livingRules = "spare">>
 	<br>Since $args[0].slaveName is mindbroken her living standard has been set to spare.
 	<</if>>
-<<elseif $args[0].livingRules !== _currentRule.livingRules>>
-	<<if _currentRule.livingRules !== "luxurious">>
+<<elseif $args[0].livingRules !== _combinedRule.livingRules>>
+	<<if _combinedRule.livingRules !== "luxurious">>
 		<<if $roomsPopulation <= $rooms-0.5>>
-			<<set $args[0].livingRules = _currentRule.livingRules>>
-			<br>$args[0].slaveName's living standard has been set to _currentRule.livingRules.
+			<<set $args[0].livingRules = _combinedRule.livingRules>>
+			<br>$args[0].slaveName's living standard has been set to _combinedRule.livingRules.
 			<<if $args[0].relationship >= 4>><<set $roomsPopulation += 0.5>><<else>><<set $roomsPopulation += 1>><</if>>
 		<<else>>
 			<<set $args[0].livingRules = "normal">>
 			<br>$args[0].slaveName's living standard has been set to normal, since there is no room for her to occupy.
 		<</if>>
 	<<else>>
-		<<set $args[0].livingRules = _currentRule.livingRules>>
-		<br>$args[0].slaveName's living standard has been set to _currentRule.livingRules.
+		<<set $args[0].livingRules = _combinedRule.livingRules>>
+		<br>$args[0].slaveName's living standard has been set to _combinedRule.livingRules.
 	<</if>>
 <</if>>
 <</if>>
 
-<<if (_currentRule.speechRules !== "no default setting")>>
+<<if (_combinedRule.speechRules !== "no default setting")>>
 <<if ($args[0].fetish == "mindbroken")>>
 	<<if ($args[0].speechRules !== "restrictive")>>
 	<<set $args[0].speechRules = "restrictive">>
 	<br>Since $args[0].slaveName is mindbroken her speech rules have been set to restrictive.
 	<</if>>
-<<elseif ($args[0].speechRules !== _currentRule.speechRules)>>
-	<<set $args[0].speechRules = _currentRule.speechRules>>
-	<br>$args[0].slaveName's speech rules have been set to _currentRule.speechRules.
+<<elseif ($args[0].speechRules !== _combinedRule.speechRules)>>
+	<<set $args[0].speechRules = _combinedRule.speechRules>>
+	<br>$args[0].slaveName's speech rules have been set to _combinedRule.speechRules.
 <</if>>
 <</if>>
 
 <<if ($args[0].fetish !== "mindbroken")>>
- <<if (_currentRule.relationshipRules !== "no default setting")>>
- <<if ($args[0].relationshipRules !== _currentRule.relationshipRules )>>
- 	<<set $args[0].relationshipRules = _currentRule.relationshipRules >>
- 	<br>$args[0].slaveName's relationship rules have been set to _currentRule.relationshipRules.
+ <<if (_combinedRule.relationshipRules !== "no default setting")>>
+ <<if ($args[0].relationshipRules !== _combinedRule.relationshipRules )>>
+ 	<<set $args[0].relationshipRules = _combinedRule.relationshipRules >>
+ 	<br>$args[0].slaveName's relationship rules have been set to _combinedRule.relationshipRules.
  <</if>>
  <</if>>
 <</if>>
 
-<<if (_currentRule.releaseRules !== "no default setting")>>
-	<<if (_currentRule.releaseRules == "restrictive")>>
+<<if (_combinedRule.releaseRules !== "no default setting")>>
+	<<if (_combinedRule.releaseRules == "restrictive")>>
 	<<SexualRelease $args[0]>>
 	<<else>>
 		<<set $release = 1>>
@@ -3781,44 +3921,44 @@ Your brand design is ''$brandDesign.''
 	<<if ($args[0].fetish == "mindbroken") && ($args[0].releaseRules !== "permissive")>>
 		<<set $args[0].releaseRules = "permissive">>
 		<br>Since $args[0].slaveName is mindbroken her masturbation rules have been set to permissive.
-	<<elseif ($release != 0) && ($args[0].releaseRules !== _currentRule.releaseRules)>>
-	  <<set $args[0].releaseRules = _currentRule.releaseRules>>
-	  <br>$args[0].slaveName's masturbation rules have been set to _currentRule.releaseRules.
+	<<elseif ($release != 0) && ($args[0].releaseRules !== _combinedRule.releaseRules)>>
+	  <<set $args[0].releaseRules = _combinedRule.releaseRules>>
+	  <br>$args[0].slaveName's masturbation rules have been set to _combinedRule.releaseRules.
 	<</if>>
 <</if>>
 
-<<if (_currentRule.standardPunishment !== "no default setting")>>
- <<if ($args[0].standardPunishment !== _currentRule.standardPunishment)>>
- 	<<set $args[0].standardPunishment = _currentRule.standardPunishment >>
- 	<br>$args[0].slaveName's typical punishment has been updated to _currentRule.standardPunishment.
+<<if (_combinedRule.standardPunishment !== "no default setting")>>
+ <<if ($args[0].standardPunishment !== _combinedRule.standardPunishment)>>
+ 	<<set $args[0].standardPunishment = _combinedRule.standardPunishment >>
+ 	<br>$args[0].slaveName's typical punishment has been updated to _combinedRule.standardPunishment.
  <</if>>
 <</if>>
 
-<<if (_currentRule.standardReward !== "no default setting")>>
- <<if ($args[0].standardReward !== _currentRule.standardReward)>>
- 	<<set $args[0].standardReward = _currentRule.standardReward >>
- 	<br>$args[0].slaveName's typical reward has been updated to _currentRule.standardReward.
+<<if (_combinedRule.standardReward !== "no default setting")>>
+ <<if ($args[0].standardReward !== _combinedRule.standardReward)>>
+ 	<<set $args[0].standardReward = _combinedRule.standardReward >>
+ 	<br>$args[0].slaveName's typical reward has been updated to _combinedRule.standardReward.
  <</if>>
 <</if>>
 
 <</if>> /* CLOSES FUCKDOLL CHECK */
 
-<<if (_currentRule.diet !== "no default setting")>>
-	<<if ($args[0].boobs >= 1600) && ($args[0].muscles <= 5) && ($args[0].amp != 1) && ((_currentRule.muscles == "no default setting") || (_currentRule.muscles == 0))>>
+<<if (_combinedRule.diet !== "no default setting")>>
+	<<if ($args[0].boobs >= 1600) && ($args[0].muscles <= 5) && ($args[0].amp != 1) && ((_combinedRule.muscles == "no default setting") || (_combinedRule.muscles == 0))>>
 		<<if ($args[0].diet !== "muscle building")>>
 			<<set $args[0].diet = "muscle building">>
 			<br>$args[0].slaveName has big tits and no back muscles, so she's been assigned to gain some.
 		<</if>>
-	<<elseif ($args[0].boobs >= 1600) && ($args[0].muscles > 5) && ($args[0].diet == "muscle building") && ((_currentRule.muscles == "no default setting") || (_currentRule.muscles == 0))>>
+	<<elseif ($args[0].boobs >= 1600) && ($args[0].muscles > 5) && ($args[0].diet == "muscle building") && ((_combinedRule.muscles == "no default setting") || (_combinedRule.muscles == 0))>>
 		<<set $args[0].diet = "healthy">>
 		<br>$args[0].slaveName has huge boobs, but she already has the back muscles to bear them, so she's been assigned to stop working out so hard.
-	<<elseif (_currentRule.dietGrowthSupport == 1) && (($args[0].drugs == "breast injections") || ($args[0].drugs == "butt injections")) && ($args[0].weight <= 95)>>
+	<<elseif (_combinedRule.dietGrowthSupport == 1) && (($args[0].drugs == "breast injections") || ($args[0].drugs == "butt injections")) && ($args[0].weight <= 95)>>
 		<<if $args[0].diet !== "fattening">>
 			<<set $args[0].diet = "fattening">>
 			<br>$args[0].slaveName is on drugs designed to expand major body parts, so she's been put on a fattening diet to provide her body as much fuel for growth as possible.
 		<</if>>
 	<<else>>
-		<<if (_currentRule.diet == 0)>>
+		<<if (_combinedRule.diet == 0)>>
 			<<if ($args[0].weight > 10)>>
 				<<if ($args[0].diet !== "restricted")>>
 					<<set $args[0].diet = "restricted">>
@@ -3837,13 +3977,13 @@ Your brand design is ''$brandDesign.''
 					<<set $args[0].drugs = "none">>
 					<br>$args[0].slaveName is too skinny so she will no longer be given weight loss pills.
 				<</if>>
-			<<elseif (_currentRule.muscles !== "no default setting") && ($args[0].amp != 1)>>
-				<<if ($args[0].muscles >= _currentRule.muscles+5)>>
+			<<elseif (_combinedRule.muscles !== "no default setting") && ($args[0].amp != 1)>>
+				<<if ($args[0].muscles >= _combinedRule.muscles+5)>>
 					<<if ($args[0].diet !== "slimming")>>
 						<<set $args[0].diet = "slimming">>
 						<br>$args[0].slaveName has been put on a slimming exercise regime.
 					<</if>>
-				<<elseif ($args[0].muscles <= _currentRule.muscles-5)>>
+				<<elseif ($args[0].muscles <= _combinedRule.muscles-5)>>
 					<<if ($args[0].diet !== "muscle building")>>
 						<<set $args[0].diet = "muscle building">>
 						<br>$args[0].slaveName has been put on a muscle building exercise regime.
@@ -3860,7 +4000,7 @@ Your brand design is ''$brandDesign.''
 					<br>$args[0].slaveName is at the target weight, so her diet has been normalized.
 				<</if>>
 			<</if>>
-		<<elseif (_currentRule.diet == 30)>>
+		<<elseif (_combinedRule.diet == 30)>>
 			<<if ($args[0].weight > 30)>>
 				<<if ($args[0].diet !== "restricted")>>
 					<<set $args[0].diet = "restricted">>
@@ -3879,13 +4019,13 @@ Your brand design is ''$brandDesign.''
 					<<set $args[0].drugs = "none">>
 					<br>$args[0].slaveName is too skinny so she will no longer be given weight loss pills.
 				<</if>>
-			<<elseif (_currentRule.muscles !== "no default setting") && ($args[0].amp != 1)>>
-				<<if ($args[0].muscles >= _currentRule.muscles+5)>>
+			<<elseif (_combinedRule.muscles !== "no default setting") && ($args[0].amp != 1)>>
+				<<if ($args[0].muscles >= _combinedRule.muscles+5)>>
 					<<if ($args[0].diet !== "slimming")>>
 						<<set $args[0].diet = "slimming">>
 						<br>$args[0].slaveName has been put on a slimming exercise regime.
 					<</if>>
-				<<elseif ($args[0].muscles <= _currentRule.muscles-5)>>
+				<<elseif ($args[0].muscles <= _combinedRule.muscles-5)>>
 					<<if ($args[0].diet !== "muscle building")>>
 						<<set $args[0].diet = "muscle building">>
 						<br>$args[0].slaveName has been put on a muscle building exercise regime.
@@ -3910,7 +4050,7 @@ Your brand design is ''$brandDesign.''
 					<br>$args[0].slaveName is at the target weight, so she will no longer be given weight loss pills.
 				<</if>>
 			<</if>>
-		<<elseif (_currentRule.diet == -30)>>
+		<<elseif (_combinedRule.diet == -30)>>
 			<<if ($args[0].weight > -15)>>
 				<<if ($args[0].diet !== "restricted")>>
 					<<set $args[0].diet = "restricted">>
@@ -3929,13 +4069,13 @@ Your brand design is ''$brandDesign.''
 					<<set $args[0].drugs = "none">>
 					<br>$args[0].slaveName is too skinny so she will no longer be given weight loss pills.
 				<</if>>
-			<<elseif (_currentRule.muscles !== "no default setting") && ($args[0].amp != 1)>>
-				<<if ($args[0].muscles >= _currentRule.muscles+5)>>
+			<<elseif (_combinedRule.muscles !== "no default setting") && ($args[0].amp != 1)>>
+				<<if ($args[0].muscles >= _combinedRule.muscles+5)>>
 					<<if ($args[0].diet !== "slimming")>>
 						<<set $args[0].diet = "slimming">>
 						<br>$args[0].slaveName has been put on a slimming exercise regime.
 					<</if>>
-				<<elseif ($args[0].muscles <= _currentRule.muscles-5)>>
+				<<elseif ($args[0].muscles <= _combinedRule.muscles-5)>>
 					<<if ($args[0].diet !== "muscle building")>>
 						<<set $args[0].diet = "muscle building">>
 						<br>$args[0].slaveName has been put on a muscle building exercise regime.
@@ -3960,7 +4100,7 @@ Your brand design is ''$brandDesign.''
 					<br>$args[0].slaveName is at the target weight, so she will no longer be given weight loss pills.
 				<</if>>
 			<</if>>
-		<<elseif (_currentRule.diet == "attractive")>>
+		<<elseif (_combinedRule.diet == "attractive")>>
 			<<if (($args[0].weight > 95) || (($args[0].weight > 30) && ($args[0].hips < 2)))>>
 				<<if ($args[0].diet !== "restricted")>>
 					<<set $args[0].diet = "restricted">>
@@ -3979,13 +4119,13 @@ Your brand design is ''$brandDesign.''
 					<<set $args[0].drugs = "none">>
 					<br>$args[0].slaveName is too skinny so she will no longer be given weight loss pills.
 				<</if>>
-			<<elseif (_currentRule.muscles !== "no default setting") && ($args[0].amp != 1)>>
-				<<if ($args[0].muscles >= _currentRule.muscles+5)>>
+			<<elseif (_combinedRule.muscles !== "no default setting") && ($args[0].amp != 1)>>
+				<<if ($args[0].muscles >= _combinedRule.muscles+5)>>
 					<<if ($args[0].diet !== "slimming")>>
 						<<set $args[0].diet = "slimming">>
 						<br>$args[0].slaveName has been put on a slimming exercise regime.
 					<</if>>
-				<<elseif ($args[0].muscles <= _currentRule.muscles-5)>>
+				<<elseif ($args[0].muscles <= _combinedRule.muscles-5)>>
 					<<if ($args[0].diet !== "muscle building")>>
 						<<set $args[0].diet = "muscle building">>
 						<br>$args[0].slaveName has been put on a muscle building exercise regime.
@@ -4010,17 +4150,17 @@ Your brand design is ''$brandDesign.''
 					<br>$args[0].slaveName is at the target weight, so she will no longer be given weight loss pills.
 				<</if>>
 			<</if>>
-		<<elseif (_currentRule.diet == "XX")>>
+		<<elseif (_combinedRule.diet == "XX")>>
 			<<if ($args[0].diet !== "XX")>>
 				<<set $args[0].diet = "XX">>
 				<br>$args[0].slaveName has been put on a diet that favors feminine development.
 			<</if>>
-		<<elseif (_currentRule.diet == "XY")>>
+		<<elseif (_combinedRule.diet == "XY")>>
 			<<if ($args[0].diet !== "XY")>>
 				<<set $args[0].diet = "XY">>
 				<br>$args[0].slaveName has been put on a diet that favors masculine development.
 			<</if>>
-		<<elseif (_currentRule.diet == "XXY")>>
+		<<elseif (_combinedRule.diet == "XXY")>>
 			<<if ($args[0].diet !== "XXY")>>
 				<<set $args[0].diet = "XXY">>
 				<br>$args[0].slaveName has been put on a diet that enhances a herm's unique sexuality.
@@ -4029,9 +4169,9 @@ Your brand design is ''$brandDesign.''
 	<</if>>
 <</if>>
 
-<<if (_currentRule.dietCum !== "no default setting")>>
-	<<if $args[0].dietCum != _currentRule.dietCum>>
-		<<set $args[0].dietCum = _currentRule.dietCum>>
+<<if (_combinedRule.dietCum !== "no default setting")>>
+	<<if $args[0].dietCum != _combinedRule.dietCum>>
+		<<set $args[0].dietCum = _combinedRule.dietCum>>
 		<<if $args[0].dietCum == 2>>
 			<br>$args[0].slaveName has been put on a diet based on cum.
 			<<set $args[0].dietMilk = 0>>
@@ -4043,9 +4183,9 @@ Your brand design is ''$brandDesign.''
 	<</if>>
 <</if>>
 
-<<if (_currentRule.dietMilk !== "no default setting")>>
-	<<if $args[0].dietMilk != _currentRule.dietMilk>>
-		<<set $args[0].dietMilk = _currentRule.dietMilk>>
+<<if (_combinedRule.dietMilk !== "no default setting")>>
+	<<if $args[0].dietMilk != _combinedRule.dietMilk>>
+		<<set $args[0].dietMilk = _combinedRule.dietMilk>>
 		<<if $args[0].dietMilk == 2>>
 			<br>$args[0].slaveName has been put on a diet based on human milk.
 			<<set $args[0].dietCum = 0>>
@@ -4057,8 +4197,8 @@ Your brand design is ''$brandDesign.''
 	<</if>>
 <</if>>
 
-<<if (_currentRule.teeth !== "no default setting")>>
-  <<if (_currentRule.teeth == "universal")>>
+<<if (_combinedRule.teeth !== "no default setting")>>
+  <<if (_combinedRule.teeth == "universal")>>
 	<<if ($args[0].teeth == "crooked")>>
 		<<set $args[0].teeth = "straightening braces">>
 		<<set $cash -= $surgeryCost>>
@@ -4068,7 +4208,7 @@ Your brand design is ''$brandDesign.''
 		<<set $cash -= $surgeryCost>>
 		<br>$args[0].slaveName has been given cosmetic braces.
 	<</if>>
-  <<elseif (_currentRule.teeth == "straighten")>>
+  <<elseif (_combinedRule.teeth == "straighten")>>
 	<<if ($args[0].teeth == "crooked")>>
 		<<set $args[0].teeth = "straightening braces">>
 		<<set $cash -= $surgeryCost>>
@@ -4077,7 +4217,7 @@ Your brand design is ''$brandDesign.''
 		<<set $args[0].teeth = "normal">>
 		<br>$args[0].slaveName has gotten her braces off, since her teeth are straight.
 	<</if>>
-  <<elseif (_currentRule.teeth == "none")>>
+  <<elseif (_combinedRule.teeth == "none")>>
 	<<if ($args[0].teeth == "straightening braces")>>
 		<<set $args[0].teeth = "crooked">>
 		<br>$args[0].slaveName has gotten her braces off.
@@ -4088,581 +4228,426 @@ Your brand design is ''$brandDesign.''
 	<</if>>
 <</if>>
 
-<<set _tmp = lastEyeColorRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-<<if (_currentRule.eyeColor !== "no default setting")>>
-<<if ($args[0].eyeColor !== _currentRule.eyeColor)>>
-  <<set $args[0].eyeColor = _currentRule.eyeColor>>
-	<<set $cash -= $modCost>>
-	<br>$args[0].slaveName has been given $args[0].eyeColor contact lenses.
-<</if>>
+<<if (_combinedRule.eyeColor !== "no default setting")>>
+<<if ($args[0].eyeColor !== _combinedRule.eyeColor)>>
+    <<set $args[0].eyeColor = _combinedRule.eyeColor>>
+    <<set $cash -= $modCost>>
+    <br>$args[0].slaveName has been given $args[0].eyeColor contact lenses.
 <</if>>
 <</if>>
 
-<<set _tmp = lastMakeupRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-<<if (_currentRule.makeup !== "no default setting")>>
-<<if ($args[0].makeup !== _currentRule.makeup)>>
-  <<set $args[0].makeup = _currentRule.makeup>>
-	<<set $cash -= $modCost>>
-	<br>$args[0].slaveName has been assigned the standard makeup.
-<</if>>
+<<if (_combinedRule.makeup !== "no default setting")>>
+<<if ($args[0].makeup !== _combinedRule.makeup)>>
+    <<set $args[0].makeup = _combinedRule.makeup>>
+    <<set $cash -= $modCost>>
+    <br>$args[0].slaveName has been assigned the standard makeup.
 <</if>>
 <</if>>
 
-<<set _tmp = lastNailsRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
 <<if ($args[0].amp != 1)>>
-<<if (_currentRule.nails !== "no default setting")>>
-<<if ($args[0].nails !== _currentRule.nails)>>
-  <<set $args[0].nails = _currentRule.nails>>
-  <<set $cash -= $modCost>>
-	<br>$args[0].slaveName has been assigned the standard nails.
-<</if>>
+<<if (_combinedRule.nails !== "no default setting")>>
+<<if ($args[0].nails !== _combinedRule.nails)>>
+    <<set $args[0].nails = _combinedRule.nails>>
+    <<set $cash -= $modCost>>
+    <br>$args[0].slaveName has been assigned the standard nails.
 <</if>>
 <</if>>
 <</if>>
 
-<<set _tmp = lastHColorRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-<<if (_currentRule.hColor !== "no default setting")>>
-<<if ($args[0].hColor !== _currentRule.hColor)>>
-  <<set $args[0].hColor = _currentRule.hColor>>
-	<<set $cash -= $modCost>>
-	<br>$args[0].slaveName's hair has been dyed _currentRule.hColor.
-<</if>>
+<<if (_combinedRule.hColor !== "no default setting")>>
+<<if ($args[0].hColor !== _combinedRule.hColor)>>
+    <<set $args[0].hColor = _combinedRule.hColor>>
+    <<set $cash -= $modCost>>
+    <br>$args[0].slaveName's hair has been dyed _combinedRule.hColor.
 <</if>>
 <</if>>
 
-<<set _tmp = lastHStyleRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-<<if (_currentRule.hStyle !== "no default setting")>>
-<<if ($args[0].hStyle !== _currentRule.hStyle)>>
-<br>$args[0].slaveName's hair has been
-<<if (_currentRule.hStyle == "shaved")>>
-	<<set $args[0].hLength = 0>>
-	shaved.
-<<else>>
-	restyled.
-<</if>>
-<<set $args[0].hStyle = _currentRule.hStyle>>
-<<set $cash -= $modCost>>
-<</if>>
+<<if (_combinedRule.hStyle !== "no default setting")>>
+<<if ($args[0].hStyle !== _combinedRule.hStyle)>>
+    <<set $args[0].hStyle = _combinedRule.hStyle>>
+    <<set $cash -= $modCost>>
+    <<if (_combinedRule.hStyle == "shaved")>>
+        <<set $args[0].hLength = 0>>
+        <br>$args[0].slaveName's hair has been shaved.
+    <<else>>
+        <br>$args[0].slaveName's hair has been restyled.
+    <</if>>
 <</if>>
 <</if>>
 
-<<set _tmp = lastHLengthRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-<<if (_currentRule.hLength !== "no default setting")>>
-<<if ($args[0].hLength !== _currentRule.hLength)>>
-<<if ($args[0].hLength > _currentRule.hLength)>>
+<<if (_combinedRule.hLength !== "no default setting")>>
+<<if ($args[0].hLength !== _combinedRule.hLength)>>
+<<if ($args[0].hLength > _combinedRule.hLength)>>
 	<<set $cash -= $modCost>>
 	<br>$args[0].slaveName's hair has been cut; it
 <<else>>
-	<<set $cash -= $modCost*Math.trunc((_currentRule.hLength-$args[0].hLength)/10)>>
+	<<set $cash -= $modCost*Math.trunc((_combinedRule.hLength-$args[0].hLength)/10)>>
 	<br>$args[0].slaveName has been given extensions; her hair
 <</if>>
-is now _currentRule.hLength cm long.
-<<set $args[0].hLength = _currentRule.hLength>>
-<</if>>
+is now _combinedRule.hLength cm long.
+<<set $args[0].hLength = _combinedRule.hLength>>
 <</if>>
 <</if>>
 
-<<set _tmp = lastPubicHColorRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-<<if (_currentRule.pubicHColor !== "no default setting")>>
-<<if ($args[0].pubicHColor !== _currentRule.pubicHColor)>>
-  <<set $args[0].pubicHColor = _currentRule.pubicHColor>>
-	<<set $cash -= $modCost>>
-	<br>$args[0].slaveName's pubic hair, if present, has been dyed _currentRule.pubicHColor.
-<</if>>
+<<if (_combinedRule.pubicHColor !== "no default setting")>>
+<<if ($args[0].pubicHColor !== _combinedRule.pubicHColor)>>
+    <<set $args[0].pubicHColor = _combinedRule.pubicHColor>>
+    <<set $cash -= $modCost>>
+    <br>$args[0].slaveName's pubic hair, if present, has been dyed _combinedRule.pubicHColor.
 <</if>>
 <</if>>
 
-<<set _tmp = lastPubicHStyleRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-<<if (_currentRule.pubicHStyle !== "no default setting")>>
-<<if ($args[0].pubicHStyle !== _currentRule.pubicHStyle)>>
-  <<set $args[0].pubicHStyle = _currentRule.pubicHStyle>>
-  <<set $cash -= $modCost>>
-	<br>$args[0].slaveName's pubic hair has been restyled; it is now _currentRule.pubicHStyle.
-<</if>>
+<<if (_combinedRule.pubicHStyle !== "no default setting")>>
+<<if ($args[0].pubicHStyle !== _combinedRule.pubicHStyle)>>
+    <<set $args[0].pubicHStyle = _combinedRule.pubicHStyle>>
+    <<set $cash -= $modCost>>
+    <br>$args[0].slaveName's pubic hair has been restyled; it is now _combinedRule.pubicHStyle.
 <</if>>
 <</if>>
 
-<<set _tmp = lastUnderArmHColorRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-<<if (_currentRule.underArmHColor !== "no default setting")>>
-<<if ($args[0].underArmHColor !== _currentRule.underArmHColor)>>
-	<<set $args[0].underArmHColor = _currentRule.underArmHColor>>
+<<if (_combinedRule.underArmHColor !== "no default setting")>>
+<<if ($args[0].underArmHColor !== _combinedRule.underArmHColor)>>
+	<<set $args[0].underArmHColor = _combinedRule.underArmHColor>>
 	<<set $cash -= $modCost>>
-	<br>$args[0].slaveName's underarm hair, if present, has been dyed _currentRule.underArmHColor.
-<</if>>
+	<br>$args[0].slaveName's underarm hair, if present, has been dyed _combinedRule.underArmHColor.
 <</if>>
 <</if>>
 
-<<set _tmp = lastUnderArmHStyleRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-<<if (_currentRule.underArmHStyle !== "no default setting")>>
-<<if ($args[0].underArmHStyle !== _currentRule.underArmHStyle)>>
-	<<set $args[0].underArmHStyle = _currentRule.underArmHStyle>>
+<<if (_combinedRule.underArmHStyle !== "no default setting")>>
+<<if ($args[0].underArmHStyle !== _combinedRule.underArmHStyle)>>
+	<<set $args[0].underArmHStyle = _combinedRule.underArmHStyle>>
 	<<set $cash -= $modCost>>
-	<br>$args[0].slaveName's underarm hair has been restyled; it is now _currentRule.underArmHStyle.
-<</if>>
-<</if>>
-<</if>>
-
-<<if (_currentRule.nipplesPiercing == 0)>>
-<<if $args[0].nipplesPiercing != 0>>
-	<<set $args[0].nipplesPiercing = 0>>
-	<br>$args[0].slaveName's nipple piercings have been removed.
-<</if>>
-<</if>>
-<<if (_currentRule.areolaePiercing == 0)>>
-<<if $args[0].areolaePiercing != 0>>
-	<<set $args[0].areolaePiercing = 0>>
-	<br>$args[0].slaveName's areolae piercings have been removed.
-<</if>>
-<</if>>
-<<if (_currentRule.clitPiercing == 0)>>
-<<if $args[0].clitPiercing != 0>>
-	<<set $args[0].clitPiercing = 0>>
-	<<if $args[0].dick > 0>>
-		<br>$args[0].slaveName's frenulum piercing has been removed.
-	<<else>>
-		<br>$args[0].slaveName's clit piercing has been removed.
+	<br>$args[0].slaveName's underarm hair has been restyled; it is now _combinedRule.underArmHStyle.
+<</if>>
+<</if>>
+
+<<if (_combinedRule.nipplesPiercing !== "no default setting")>>
+<<if ($args[0].nipplesPiercing !== _combinedRule.nipplesPiercing)>>
+    <<if (_combinedRule.nipplesPiercing == 0)>>
+        <<set $args[0].nipplesPiercing = 0>>
+        <br>$args[0].slaveName's nipple piercings have been removed.
+    <<else>>
+        <<set $args[0].nipplesPiercing = _combinedRule.nipplesPiercing>>
+        <<set $cash -= $modCost>>
+        <br>$args[0].slaveName's nipples have been pierced.
+    <</if>>
+<</if>>
+<</if>>
+
+<<if (_combinedRule.areolaePiercing !== "no default setting")>>
+<<if ($args[0].areolaePiercing !== _combinedRule.areolaePiercing)>>
+    <<if (_combinedRule.areolaePiercing == 0)>>
+        <<set $args[0].areolaePiercing = 0>>
+        <br>$args[0].slaveName's areolae piercings have been removed.
+    <<else>>
+        <<set $args[0].areolaePiercing = _combinedRule.areolaePiercing>>
+        <<set $cash -= $modCost>>
+        <br>$args[0].slaveName's areolae have been given stud piercings.
+    <</if>>
+<</if>>
+<</if>>
+
+<<if (_combinedRule.clitPiercing !== "no default setting")>>
+<<if ($args[0].clitPiercing !== _combinedRule.clitPiercing)>>
+    <<if (_combinedRule.clitPiercing == 0)>>
+        <<set $args[0].clitPiercing = 0>>
+        <<if $args[0].dick > 0>>
+            <br>$args[0].slaveName's frenulum piercing has been removed.
+        <<else>>
+            <br>$args[0].slaveName's clit piercing has been removed.
+        <</if>>
+
+    <<elseif ($args[0].vagina != -1) || ($args[0].dick != 0)>>
+        <<set $args[0].clitPiercing = _combinedRule.clitPiercing>>
+        <<if $args[0].dick > 0>>
+            <br>$args[0].slaveName's frenulum has been pierced.
+        <<else>>
+            <br>$args[0].slaveName's clit has been pierced.
 	<</if>>
-<</if>>
-<</if>>
-<<if (_currentRule.vaginaPiercing == 0)>>
-<<if $args[0].vaginaPiercing != 0>>
-	<<set $args[0].vaginaPiercing = 0>>
-	<br>$args[0].slaveName's labia piercings have been removed.
-<</if>>
-<</if>>
-<<if (_currentRule.dickPiercing == 0)>>
-<<if $args[0].dickPiercing != 0>>
-	<<set $args[0].dickPiercing = 0>>
-	<br>$args[0].slaveName's shaft piercings have been removed.
-<</if>>
-<</if>>
-<<if (_currentRule.anusPiercing == 0)>>
-<<if $args[0].anusPiercing != 0>>
-	<<set $args[0].anusPiercing = 0>>
-	<br>$args[0].slaveName's asshole piercings have been removed.
-<</if>>
-<</if>>
-<<if (_currentRule.lipsPiercing == 0)>>
-<<if $args[0].lipsPiercing != 0>>
-	<<set $args[0].lipsPiercing = 0>>
-	<br>$args[0].slaveName's lip piercings have been removed.
-<</if>>
-<</if>>
-<<if (_currentRule.tonguePiercing == 0)>>
-<<if $args[0].tonguePiercing != 0>>
-	<<set $args[0].tonguePiercing = 0>>
-	<br>$args[0].slaveName's tongue piercings have been removed.
-<</if>>
-<</if>>
-<<if (_currentRule.earPiercing == 0)>>
-<<if $args[0].earPiercing != 0>>
-	<<set $args[0].earPiercing = 0>>
-	<br>$args[0].slaveName's ear piercings have been removed.
-<</if>>
-<</if>>
-<<if (_currentRule.nosePiercing == 0)>>
-<<if $args[0].nosePiercing != 0>>
-	<<set $args[0].nosePiercing = 0>>
-	<br>$args[0].slaveName's nose piercing has been removed.
-<</if>>
-<</if>>
-<<if (_currentRule.eyebrowPiercing == 0)>>
-<<if $args[0].eyebrowPiercing != 0>>
-	<<set $args[0].eyebrowPiercing = 0>>
-	<br>$args[0].slaveName's eyebrow piercings have been removed.
-<</if>>
-<</if>>
-<<if (_currentRule.navelPiercing == 0)>>
-<<if $args[0].navelPiercing != 0>>
-	<<set $args[0].navelPiercing = 0>>
-	<br>$args[0].slaveName's navel piercing have been removed.
-<</if>>
-<</if>>
-<<if (_currentRule.corsetPiercing == 0)>>
-<<if $args[0].corsetPiercing != 0>>
-	<<set $args[0].corsetPiercing = 0>>
-	<br>$args[0].slaveName's corset piercings have been removed.
-<</if>>
-<</if>>
-
-<<set _tmp = lastNipplesPiercingRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-<<if (_currentRule.nipplesPiercing !== "no default setting")>>
-<<if (_currentRule.nipplesPiercing != 0)>>
-<<if $args[0].nipplesPiercing !== _currentRule.nipplesPiercing>>
-	<<set $args[0].nipplesPiercing = _currentRule.nipplesPiercing>>
-	<<set $cash -= $modCost>>
-	<br>$args[0].slaveName's nipples have been pierced.
-<</if>>
-<</if>>
-<</if>>
-<</if>>
-
-<<set _tmp = lastAreolaePiercingRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-<<if (_currentRule.areolaePiercing !== "no default setting")>>
-<<if (_currentRule.areolaePiercing != 0)>>
-<<if $args[0].areolaePiercing !== _currentRule.areolaePiercing>>
-	<<set $args[0].areolaePiercing = _currentRule.areolaePiercing>>
-	<<set $cash -= $modCost>>
-	<br>$args[0].slaveName's areolae have been given stud piercings.
-<</if>>
-<</if>>
-<</if>>
-<</if>>
-
-<<set _tmp = lastClitPiercingRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-<<if (_currentRule.clitPiercing !== "no default setting")>>
-<<if ($args[0].clitPiercing != 3)>>
-<<if ($args[0].vagina != -1) || ($args[0].dick != 0)>>
-<<if (_currentRule.clitPiercing != 0)>>
-<<if $args[0].clitPiercing !== _currentRule.clitPiercing>>
-	<<set $args[0].clitPiercing = _currentRule.clitPiercing>>
-	<<if $args[0].dick > 0>>
-		<br>$args[0].slaveName's frenulum has been pierced.
-	<<else>>
-		<br>$args[0].slaveName's clit has been pierced.
-	<</if>>
-	<<if _currentRule.clitPiercing == 3>>
-	 <<set $cash -= 1000>>
-	<<else>>
-	 <<set $cash -= $modCost>>
-	<</if>>
-<</if>>
-<</if>>
-<</if>>
-<</if>>
+	<<if _combinedRule.clitPiercing == 3>>
+            <<set $cash -= 1000>>
+        <<else>>
+            <<set $cash -= $modCost>>
+        <</if>>
+    <</if>>
 <</if>>
 <</if>>
 
 <<if ($args[0].clitPiercing == 3)>>
 	<<set _used = 0>>
-	<<set _tmp = lastClitSettingRule($args[0], $defaultRules)>>
-	<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-	<<if (_currentRule.clitSetting !== "no default setting")>>
-	<<if $args[0].clitSetting !== _currentRule.clitSetting>>
-		<<set $args[0].clitSetting = _currentRule.clitSetting, _used = 1>>
+	<<if (_combinedRule.clitSetting !== "no default setting")>>
+	<<if $args[0].clitSetting !== _combinedRule.clitSetting>>
+		<<set $args[0].clitSetting = _combinedRule.clitSetting, _used = 1>>
 		<br>$args[0].slaveName's smart piercing has been set to $args[0].clitSetting.
 	<<else>>
 		<<if $args[0].fetishStrength < 100>><<set _used = 1>><</if>>
 	<</if>>
 	<</if>>
-	<</if>>
 	<<if _used == 0>>
-		<<set _tmp = lastClitSettingXYRule($args[0], $defaultRules)>>
-		<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-		<<if _currentRule.clitSettingXY !== "no default setting">>
-		<<if $args[0].attrXY < _currentRule.clitSettingXY && $args[0].clitSetting !== "men">>
+		<<if _combinedRule.clitSettingXY !== "no default setting">>
+		<<if $args[0].attrXY < _combinedRule.clitSettingXY && $args[0].clitSetting !== "men">>
 			<<set $args[0].clitSetting = "men", _used = 1>>
 			<br>$args[0].slaveName's smart piercing has been set to encourage attraction to men.
-		<<elseif $args[0].attrXY >= _currentRule.clitSettingXY + 10 && $args[0].clitSetting !== "anti-men">>
+		<<elseif $args[0].attrXY >= _combinedRule.clitSettingXY + 10 && $args[0].clitSetting !== "anti-men">>
 			<<set $args[0].clitSetting = "anti-men", _used = 1>>
 			<br>$args[0].slaveName's smart piercing has been set to discourage attraction to men.
 		<</if>>
 		<</if>>
-		<</if>>
 	<</if>>
 	<<if _used == 0>>
-		<<set _tmp = lastClitSettingXXRule($args[0], $defaultRules)>>
-		<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-		<<if _currentRule.clitSettingXX !== "no default setting">>
-		<<if $args[0].attrXX < _currentRule.clitSettingXX && $args[0].clitSetting !== "women">>
+		<<if _combinedRule.clitSettingXX !== "no default setting">>
+		<<if $args[0].attrXX < _combinedRule.clitSettingXX && $args[0].clitSetting !== "women">>
 			<<set $args[0].clitSetting = "women", _used = 1>>
 			<br>$args[0].slaveName's smart piercing has been set to encourage attraction to women.
-		<<elseif $args[0].attrXX >= _currentRule.clitSettingXX + 10 && $args[0].clitSetting !== "anti-women">>
+		<<elseif $args[0].attrXX >= _combinedRule.clitSettingXX + 10 && $args[0].clitSetting !== "anti-women">>
 			<<set $args[0].clitSetting = "anti-women", _used = 1>>
 			<br>$args[0].slaveName's smart piercing has been set to discourage attraction to women.
 		<</if>>
 		<</if>>
-		<</if>>
 	<</if>>
 	<<if _used == 0>>
-		<<set _tmp = lastClitSettingEnergyRule($args[0], $defaultRules)>>
-		<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-		<<if _currentRule.clitSettingEnergy !== "no default setting">>
-		<<if $args[0].energy < _currentRule.clitSettingEnergy && $args[0].clitSetting !== "all">>
+		<<if _combinedRule.clitSettingEnergy !== "no default setting">>
+		<<if $args[0].energy < _combinedRule.clitSettingEnergy && $args[0].clitSetting !== "all">>
 			<<set $args[0].clitSetting = "all", _used = 1>>
 			<br>$args[0].slaveName's smart piercing has been set to enhance libido.
-		<<elseif $args[0].energy >= _currentRule.clitSettingEnergy + 10 && $args[0].clitSetting !== "none">>
+		<<elseif $args[0].energy >= _combinedRule.clitSettingEnergy + 10 && $args[0].clitSetting !== "none">>
 			<<set $args[0].clitSetting = "none", _used = 1>>
 			<br>$args[0].slaveName's smart piercing has been set to suppress libido.
 		<</if>>
 		<</if>>
-		<</if>>
 	<</if>>
 <</if>>
 
-<<set _tmp = lastVaginaPiercingRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-<<if $args[0].vagina != -1>>
-<<if (_currentRule.vaginaPiercing !== "no default setting")>>
-<<if (_currentRule.vaginaPiercing != 0)>>
-<<if $args[0].vaginaPiercing !== _currentRule.vaginaPiercing>>
-	<<set $args[0].vaginaPiercing = _currentRule.vaginaPiercing>>
-	<<set $cash -= $modCost>>
-	<br>$args[0].slaveName's pussylips have been pierced.
-<</if>>
-<</if>>
+<<if ($args[0].vagina != -1)>>
+<<if (_combinedRule.vaginaPiercing !== "no default setting")>>
+<<if ($args[0].vaginaPiercing !== _combinedRule.vaginaPiercing)>>
+    <<if (_combinedRule.vaginaPiercing == 0)>>
+        <<set $args[0].vaginaPiercing = 0>>
+        <br>$args[0].slaveName's labia piercings have been removed.
+    <<else>>
+        <<set $args[0].vaginaPiercing = _combinedRule.vaginaPiercing>>
+        <<set $cash -= $modCost>>
+        <br>$args[0].slaveName's pussylips have been pierced.
+    <</if>>
 <</if>>
 <</if>>
 <</if>>
 
-<<set _tmp = lastDickPiercingRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-<<if $args[0].dick > 0>>
-<<if (_currentRule.dickPiercing !== "no default setting")>>
-<<if (_currentRule.dickPiercing != 0)>>
-<<if $args[0].dickPiercing !== _currentRule.dickPiercing>>
-	<<set $args[0].dickPiercing = _currentRule.dickPiercing>>
-	<<set $cash -= $modCost>>
-	<br>$args[0].slaveName's shaft has been pierced.
-<</if>>
-<</if>>
-<</if>>
-<</if>>
+<<if ($args[0].dick > 0)>>
+<<if (_combinedRule.dickPiercing !== "no default setting")>>
+<<if ($args[0].dickPiercing !== _combinedRule.dickPiercing)>>
+    <<if (_combinedRule.dickPiercing == 0)>>
+        <<set $args[0].dickPiercing = 0>>
+        <br>$args[0].slaveName's shaft piercings have been removed.
+    <<else>>
+        <<set $args[0].dickPiercing = _combinedRule.dickPiercing>>
+        <<set $cash -= $modCost>>
+        <br>$args[0].slaveName's shaft has been pierced.
+    <</if>>
+<</if>>
+<</if>>
+<</if>>
+
+<<if (_combinedRule.anusPiercing !== "no default setting")>>
+<<if ($args[0].anusPiercing !== _combinedRule.anusPiercing)>>
+    <<if (_combinedRule.anusPiercing == 0)>>
+        <<set $args[0].anusPiercing = 0>>
+        <br>$args[0].slaveName's asshole piercings have been removed.
+    <<else>>
+        <<set $args[0].anusPiercing = _combinedRule.anusPiercing>>
+        <<set $cash -= $modCost>>
+        <br>$args[0].slaveName's asshole has been pierced.
+    <</if>>
+<</if>>
 <</if>>
 
-<<set _tmp = lastAnusPiercingRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-<<if (_currentRule.anusPiercing !== "no default setting")>>
-<<if (_currentRule.anusPiercing != 0)>>
-<<if $args[0].anusPiercing !== _currentRule.anusPiercing>>
-	<<set $args[0].anusPiercing = _currentRule.anusPiercing>>
-	<<set $cash -= $modCost>>
-	<br>$args[0].slaveName's asshole has been pierced.
-<</if>>
-<</if>>
+<<if (_combinedRule.lipsPiercing !== "no default setting")>>
+<<if ($args[0].lipsPiercing !== _combinedRule.lipsPiercing)>>
+    <<if (_combinedRule.lipsPiercing == 0)>>
+        <<set $args[0].lipsPiercing = 0>>
+        <br>$args[0].slaveName's lip piercings have been removed.
+    <<else>>
+        <<set $args[0].lipsPiercing = _combinedRule.lipsPiercing>>
+        <<set $cash -= $modCost>>
+        <br>$args[0].slaveName's lips have been pierced.
+    <</if>>
 <</if>>
 <</if>>
 
-<<set _tmp = lastLipsPiercingRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-<<if (_currentRule.lipsPiercing !== "no default setting")>>
-<<if (_currentRule.lipsPiercing != 0)>>
-<<if $args[0].lipsPiercing !== _currentRule.lipsPiercing>>
-	<<set $args[0].lipsPiercing = _currentRule.lipsPiercing>>
-	<<set $cash -= $modCost>>
-	<br>$args[0].slaveName's lips have been pierced.
-<</if>>
-<</if>>
+<<if (_combinedRule.tonguePiercing !== "no default setting")>>
+<<if ($args[0].tonguePiercing !== _combinedRule.tonguePiercing)>>
+    <<if (_combinedRule.tonguePiercing == 0)>>
+        <<set $args[0].tonguePiercing = 0>>
+        <br>$args[0].slaveName's tongue piercings have been removed.
+    <<else>>
+        <<set $args[0].tonguePiercing = _combinedRule.tonguePiercing>>
+        <<set $cash -= $modCost>>
+        <br>$args[0].slaveName's tongue has been pierced.
+    <</if>>
 <</if>>
 <</if>>
 
-<<set _tmp = lastTonguePiercingRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-<<if (_currentRule.tonguePiercing !== "no default setting")>>
-<<if (_currentRule.tonguePiercing != 0)>>
-<<if $args[0].tonguePiercing !== _currentRule.tonguePiercing>>
-	<<set $args[0].tonguePiercing = _currentRule.tonguePiercing>>
-	<<set $cash -= $modCost>>
-	<br>$args[0].slaveName's tongue has been pierced.
-<</if>>
-<</if>>
+<<if (_combinedRule.earPiercing !== "no default setting")>>
+<<if ($args[0].earPiercing !== _combinedRule.earPiercing)>>
+    <<if (_combinedRule.earPiercing == 0)>>
+        <<set $args[0].earPiercing = 0>>
+        <br>$args[0].slaveName's ear piercings have been removed.
+    <<else>>
+        <<set $args[0].earPiercing = _combinedRule.earPiercing>>
+        <<set $cash -= $modCost>>
+        <br>$args[0].slaveName's ears have been pierced.
+    <</if>>
 <</if>>
 <</if>>
 
-<<set _tmp = lastEarPiercingRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-<<if (_currentRule.earPiercing !== "no default setting")>>
-<<if (_currentRule.earPiercing != 0)>>
-<<if $args[0].earPiercing !== _currentRule.earPiercing>>
-	<<set $args[0].earPiercing = _currentRule.earPiercing>>
-	<<set $cash -= $modCost>>
-	<br>$args[0].slaveName's ears have been pierced.
-<</if>>
-<</if>>
+<<if (_combinedRule.nosePiercing !== "no default setting")>>
+<<if ($args[0].nosePiercing !== _combinedRule.nosePiercing)>>
+    <<if (_combinedRule.nosePiercing == 0)>>
+        <<set $args[0].nosePiercing = 0>>
+        <br>$args[0].slaveName's nose piercing has been removed.
+    <<else>>
+        <<set $args[0].nosePiercing = _combinedRule.nosePiercing>>
+        <<set $cash -= $modCost>>
+        <br>$args[0].slaveName's nose has been pierced.
+    <</if>>
 <</if>>
 <</if>>
 
-<<set _tmp = lastNosePiercingRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-<<if (_currentRule.nosePiercing !== "no default setting")>>
-<<if (_currentRule.nosePiercing != 0)>>
-<<if $args[0].nosePiercing !== _currentRule.nosePiercing>>
-	<<set $args[0].nosePiercing = _currentRule.nosePiercing>>
-	<<set $cash -= $modCost>>
-	<br>$args[0].slaveName's nose has been pierced.
-<</if>>
-<</if>>
+<<if (_combinedRule.eyebrowPiercing !== "no default setting")>>
+<<if ($args[0].eyebrowPiercing !== _combinedRule.eyebrowPiercing)>>
+    <<if (_combinedRule.eyebrowPiercing == 0)>>
+        <<set $args[0].eyebrowPiercing = 0>>
+        <br>$args[0].slaveName's eyebrow piercings have been removed.
+    <<else>>
+        <<set $args[0].eyebrowPiercing = _combinedRule.eyebrowPiercing>>
+        <<set $cash -= $modCost>>
+        <br>$args[0].slaveName's eyebrows have been pierced.
+    <</if>>
 <</if>>
 <</if>>
 
-<<set _tmp = lastEyebrowPiercingRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-<<if (_currentRule.eyebrowPiercing !== "no default setting")>>
-<<if (_currentRule.eyebrowPiercing != 0)>>
-<<if $args[0].eyebrowPiercing !== _currentRule.eyebrowPiercing>>
-	<<set $args[0].eyebrowPiercing = _currentRule.eyebrowPiercing>>
-	<<set $cash -= $modCost>>
-	<br>$args[0].slaveName's eyebrows have been pierced.
-<</if>>
-<</if>>
+<<if (_combinedRule.navelPiercing !== "no default setting")>>
+<<if ($args[0].navelPiercing !== _combinedRule.navelPiercing)>>
+    <<if (_combinedRule.navelPiercing == 0)>>
+        <<set $args[0].navelPiercing = 0>>
+        <br>$args[0].slaveName's navel piercing have been removed.
+    <<else>>
+        <<set $args[0].navelPiercing = _combinedRule.navelPiercing>>
+        <<set $cash -= $modCost>>
+        <br>$args[0].slaveName's navel has been pierced.
+    <</if>>
 <</if>>
 <</if>>
 
-<<set _tmp = lastNavelPiercingRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-<<if (_currentRule.navelPiercing !== "no default setting")>>
-<<if (_currentRule.navelPiercing != 0)>>
-<<if $args[0].navelPiercing !== _currentRule.navelPiercing>>
-	<<set $args[0].navelPiercing = _currentRule.navelPiercing>>
-	<<set $cash -= $modCost>>
-	<br>$args[0].slaveName's navel has been pierced.
-<</if>>
-<</if>>
+<<if (_combinedRule.corsetPiercing !== "no default setting")>>
+<<if ($args[0].corsetPiercing !== _combinedRule.corsetPiercing)>>
+    <<if (_combinedRule.corsetPiercing == 0)>>
+        <<set $args[0].corsetPiercing = 0>>
+        <br>$args[0].slaveName's corset piercings have been removed.
+    <<else>>
+        <<set $args[0].corsetPiercing = _combinedRule.corsetPiercing>>
+        <<set $cash -= $modCost>>
+        <br>$args[0].slaveName has been given a set of corset piercings.
+    <</if>>
 <</if>>
 <</if>>
 
-<<set _tmp = lastCorsetPiercingRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-<<if (_currentRule.corsetPiercing !== "no default setting")>>
-<<if (_currentRule.corsetPiercing != 0)>>
-<<if $args[0].corsetPiercing !== _currentRule.corsetPiercing>>
-	<<set $args[0].corsetPiercing = _currentRule.corsetPiercing>>
-	<<set $cash -= $modCost>>
-	<br>$args[0].slaveName has been given a set of corset piercings.
-<</if>>
-<</if>>
+<<if (_combinedRule.boobsTat !== "no default setting")>>
+<<if ($args[0].boobsTat !== _combinedRule.boobsTat)>>
+    <<set $args[0].boobsTat = _combinedRule.boobsTat>>
+    <<set $cash -= $modCost>>
+    <br>$args[0].slaveName's chest has been tattooed.
 <</if>>
 <</if>>
 
-<<set _tmp = lastBoobsTatRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-<<if (_currentRule.boobsTat !== "no default setting")>>
-<<if ($args[0].boobsTat !== _currentRule.boobsTat)>>
-	<<set $args[0].boobsTat = _currentRule.boobsTat>>
-	<<set $cash -= $modCost>>
-  <br>$args[0].slaveName's chest has been tattooed.
-<</if>>
+<<if (_combinedRule.buttTat !== "no default setting")>>
+<<if ($args[0].buttTat !== _combinedRule.buttTat)>>
+    <<set $args[0].buttTat = _combinedRule.buttTat>>
+    <<set $cash -= $modCost>>
+    <br>$args[0].slaveName's butt has been tattooed.
 <</if>>
 <</if>>
 
-<<set _tmp = lastButtTatRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-<<if (_currentRule.buttTat !== "no default setting")>>
-<<if ($args[0].buttTat !== _currentRule.buttTat)>>
-	<<set $args[0].buttTat = _currentRule.buttTat>>
-	<<set $cash -= $modCost>>
-  <br>$args[0].slaveName's butt has been tattooed.
-<</if>>
+<<if (_combinedRule.vaginaTat !== "no default setting")>>
+<<if ($args[0].vaginaTat !== _combinedRule.vaginaTat)>>
+    <<set $args[0].vaginaTat = _combinedRule.vaginaTat>>
+    <<set $cash -= $modCost>>
+    <br>$args[0].slaveName's abdomen has been tattooed.
 <</if>>
 <</if>>
 
-<<set _tmp = lastVaginaTatRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-<<if (_currentRule.vaginaTat !== "no default setting")>>
-<<if ($args[0].vaginaTat !== _currentRule.vaginaTat)>>
-	<<set $args[0].vaginaTat = _currentRule.vaginaTat>>
-	<<set $cash -= $modCost>>
-  <br>$args[0].slaveName's abdomen has been tattooed.
-<</if>>
-<</if>>
-<</if>>
-
-<<set _tmp = lastDickTatRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
 <<if ($args[0].dick > 0)>>
-<<if (_currentRule.dickTat !== "no default setting")>>
-<<if ($args[0].dickTat !== _currentRule.dickTat)>>
-	<<set $args[0].dickTat = _currentRule.dickTat>>
-	<<set $cash -= $modCost>>
-  <br>$args[0].slaveName's dick has been tattooed.
-<</if>>
+<<if (_combinedRule.dickTat !== "no default setting")>>
+<<if ($args[0].dickTat !== _combinedRule.dickTat)>>
+    <<set $args[0].dickTat = _combinedRule.dickTat>>
+    <<set $cash -= $modCost>>
+    <br>$args[0].slaveName's dick has been tattooed.
 <</if>>
 <</if>>
 <</if>>
 
-<<set _tmp = lastLipsTatRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-<<if (_currentRule.lipsTat !== "no default setting")>>
-<<if ($args[0].lipsTat !== _currentRule.lipsTat)>>
-	<<set $args[0].lipsTat = _currentRule.lipsTat>>
-	<<set $cash -= $modCost>>
-  <br>$args[0].slaveName's face has been tattooed.
-<</if>>
+<<if (_combinedRule.lipsTat !== "no default setting")>>
+<<if ($args[0].lipsTat !== _combinedRule.lipsTat)>>
+    <<set $args[0].lipsTat = _combinedRule.lipsTat>>
+    <<set $cash -= $modCost>>
+    <br>$args[0].slaveName's face has been tattooed.
 <</if>>
 <</if>>
 
-<<set _tmp = lastAnusTatRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-<<if (_currentRule.anusTat !== "no default setting")>>
-<<if ($args[0].anusTat !== _currentRule.anusTat)>>
-	<<set $args[0].anusTat = _currentRule.anusTat>>
-	<<set $cash -= $modCost>>
-  <br>$args[0].slaveName's asshole has been modded.
-<</if>>
+<<if (_combinedRule.anusTat !== "no default setting")>>
+<<if ($args[0].anusTat !== _combinedRule.anusTat)>>
+    <<set $args[0].anusTat = _combinedRule.anusTat>>
+    <<set $cash -= $modCost>>
+    <br>$args[0].slaveName's asshole has been modded.
 <</if>>
 <</if>>
 
-<<set _tmp = lastShouldersTatRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-<<if (_currentRule.shouldersTat !== "no default setting")>>
-<<if ($args[0].shouldersTat !== _currentRule.shouldersTat)>>
-	<<set $args[0].shouldersTat = _currentRule.shouldersTat>>
-	<<set $cash -= $modCost>>
-  <br>$args[0].slaveName's shoulders have been tattooed.
-<</if>>
+<<if (_combinedRule.shouldersTat !== "no default setting")>>
+<<if ($args[0].shouldersTat !== _combinedRule.shouldersTat)>>
+    <<set $args[0].shouldersTat = _combinedRule.shouldersTat>>
+    <<set $cash -= $modCost>>
+    <br>$args[0].slaveName's shoulders have been tattooed.
 <</if>>
 <</if>>
 
-<<set _tmp = lastArmsTatRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-<<if (_currentRule.armsTat !== "no default setting")>>
-<<if ($args[0].armsTat !== _currentRule.armsTat)>>
-	<<set $args[0].armsTat = _currentRule.armsTat>>
-	<<set $cash -= $modCost>>
-  <br>$args[0].slaveName's arms have been tattooed.
-<</if>>
+<<if (_combinedRule.armsTat !== "no default setting")>>
+<<if ($args[0].armsTat !== _combinedRule.armsTat)>>
+    <<set $args[0].armsTat = _combinedRule.armsTat>>
+    <<set $cash -= $modCost>>
+    <br>$args[0].slaveName's arms have been tattooed.
 <</if>>
 <</if>>
 
-<<set _tmp = lastLegsTatRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-<<if (_currentRule.legsTat !== "no default setting")>>
-<<if ($args[0].legsTat !== _currentRule.legsTat)>>
-	<<set $args[0].legsTat = _currentRule.legsTat>>
-	<<set $cash -= $modCost>>
-  <br>$args[0].slaveName's legs have been tattooed.
-<</if>>
+<<if (_combinedRule.legsTat !== "no default setting")>>
+<<if ($args[0].legsTat !== _combinedRule.legsTat)>>
+    <<set $args[0].legsTat = _combinedRule.legsTat>>
+    <<set $cash -= $modCost>>
+    <br>$args[0].slaveName's legs have been tattooed.
 <</if>>
 <</if>>
 
-<<set _tmp = lastStampTatRule($args[0], $defaultRules)>>
-<<if (_tmp != null) && (_tmp.ID == _currentRule.ID)>>
-<<if (_currentRule.stampTat !== "no default setting")>>
-<<if ($args[0].stampTat !== _currentRule.stampTat)>>
-	<<set $args[0].stampTat = _currentRule.stampTat>>
-	<<set $cash -= $modCost>>
-  <br>$args[0].slaveName's lower back has been tattooed.
-<</if>>
+<<if (_combinedRule.stampTat !== "no default setting")>>
+<<if ($args[0].stampTat !== _combinedRule.stampTat)>>
+    <<set $args[0].stampTat = _combinedRule.stampTat>>
+    <<set $cash -= $modCost>>
+    <br>$args[0].slaveName's lower back has been tattooed.
 <</if>>
 <</if>>
 
-<<if (_currentRule.pornFameSpending !== "no default setting")>>
+<<if (_combinedRule.pornFameSpending !== "no default setting")>>
 <<if ($args[0].devotion > 95)>>
 <<if ($args[0].trust > 95)>>
 <<if ($args[0].prestige < 3)>>
-<<if ($args[0].pornFameSpending !== _currentRule.pornFameSpending)>>
-  <<set $args[0].pornFameSpending = _currentRule.pornFameSpending>>
-  <br>$args[0].slaveName's porn publicity has been corrected.
+<<if ($args[0].pornFameSpending !== _combinedRule.pornFameSpending)>>
+    <<set $args[0].pornFameSpending = _combinedRule.pornFameSpending>>
+    <br>$args[0].slaveName's porn publicity has been corrected.
 <</if>>
 <</if>>
 <</if>>
 <</if>>
 <</if>>
 
-<<if (_currentRule.autoBrand == 1)>>
+<<if (_combinedRule.autoBrand == 1)>>
 <<if ($args[0].brand == 0)>>
 <<if ($args[0].health > -20)>>
 	<<set $args[0].brand = $brandDesign>>
@@ -4670,280 +4655,39 @@ is now _currentRule.hLength cm long.
 	<<if ($args[0].devotion < 18)>><<set $args[0].devotion -= 5>><</if>>
 	<<set $args[0].trust -= 5>>
 	<<set $args[0].health -= 10>>
-	<br>$args[0].slaveName has been branded, with @@.gold;fear@@<<if ($args[0].devotion < 18)>>, @@.mediumorchid;regard@@,<</if>> and @@.red;health@@
-consequences.
+	<br>$args[0].slaveName has been branded, with @@.gold;fear@@<<if ($args[0].devotion < 18)>>, @@.mediumorchid;regard@@,<</if>> and @@.red;health@@ consequences.
 <</if>>
 <</if>>
 <</if>>
 
-<<set _exclude = false>>
-<<if $args[0].assignment.includes("agent")>>
-	<<set _exclude = true>>
-<<elseif _currentRule.excludeSpecialSlaves>>
-	<<if (($HeadGirl != 0) && ($HeadGirl.ID == $args[0].ID)) || (($Bodyguard != 0) && ($Bodyguard.ID == $args[0].ID)) || (($Recruiter != 0) && ($Recruiter.ID == $args[0].ID)) || (($Concubine != 0) && ($Concubine.ID == $args[0].ID)) || (($Nurse != 0) && ($Nurse.ID == $args[0].ID)) || (($Attendant != 0) && ($Attendant.ID == $args[0].ID)) || (($Madam != 0) || ($Madam.ID == $args[0].ID)) || (($DJ != 0) && ($DJ.ID == $args[0].ID)) || (($Milkmaid != 0) && ($Milkmaid.ID == $args[0].ID)) || (($Stewardess != 0 ) && ($Stewardess.ID == $args[0].ID)) || (($Schoolteacher != 0) && ($Schoolteacher.ID == $args[0].ID)) || (($Wardeness != 0) && ($Wardeness.ID == $args[0].ID))>>
-		<<set _exclude = true>>
-	<</if>>
-<</if>>
-
-<<if !_exclude>>
-<<switch _currentRule.assignFacility>>
-<<case "hgsuite">>
-	<<if ($HGSuiteSlaves == 0) && ($args[0].indentureRestrictions <= 0) && ($args[0].assignment != "live with your Head Girl")>>
-		<br>$args[0].slaveName has been automatically assigned to live in your Head Girl's private suite.
-		<<if ($personalAttention == $args[0].ID)>>
-			$args[0].slaveName no longer has your personal attention; you plan to focus on business.
-		<</if>>
-		<<assignJob $args[0] _currentRule.assignFacility>>
-	<</if>>
-<<case "arcade">>
-	<<if ($arcade > $arcadeSlaves) && ($args[0].indentureRestrictions <= 0) && ($args[0].assignment != "be confined in the arcade") && $args[0].breedingMark != 1>>
-		<br>$args[0].slaveName has been automatically assigned to be confined in $arcadeName.
-		<<if ($personalAttention == $args[0].ID)>>
-			$args[0].slaveName no longer has your personal attention; you plan to focus on business.
-		<</if>>
-		<<assignJob $args[0] _currentRule.assignFacility>>
-	<</if>>
-<<case "mastersuite">>
-	<<if ($masterSuite > $masterSuiteSlaves) && ($args[0].devotion > 20) || (($args[0].devotion >= -50) && ($args[0].trust < -20)) || ($args[0].trust < -50)>>
-	<<if ($args[0].assignment != "serve in the master suite")>>
-		<br>$args[0].slaveName has been automatically assigned to $masterSuiteName.
-		<<if ($personalAttention == $args[0].ID)>>
-			$args[0].slaveName no longer has your personal attention; you plan to focus on business.
-		<</if>>
-		<<assignJob $args[0] _currentRule.assignFacility>>
-	<</if>>
-	<<else>>
-		<<if ($args[0].assignment == "serve in the master suite")>>
-			<<include "Rules Facility Remove">>
-		<</if>>
-	<</if>>
-<<case "clinic">>
-	<<if ($clinic > $clinicSlaves) && ($args[0].health < 20) || (($Nurse != 0) && ($args[0].chem > 15) && ($clinicUpgradeFilters == 1)) || (($args[0].bellyImplant > 100) && ($bellyImplants == 1)) || $args[0].preg > 1>>
-	<<if ($args[0].assignment != "get treatment in the clinic")>>
-		<br>$args[0].slaveName has been automatically assigned to get treatment in $clinicName.
-		<<if ($personalAttention == $args[0].ID)>>
-			$args[0].slaveName no longer has your personal attention; you plan to focus on business.
-		<</if>>
-		<<assignJob $args[0] _currentRule.assignFacility>>
-	<</if>>
-	<<else>>
-		<<if ($args[0].assignment == "get treatment in the clinic")>>
-			<<include "Rules Facility Remove">>
-		<</if>>
-	<</if>>
-<<case "spa">>
-	<<if ($spa > $spaSlaves) && ($args[0].health < 20) || ($args[0].trust < 60) || ($args[0].devotion <= 60) || ($args[0].fetish == "mindbroken") && ($args[0].devotion >= -20)>>
-	<<if ($args[0].assignment != "rest in the spa")>>
-		<br>$args[0].slaveName has been automatically assigned to rest in $spaName.
-		<<if ($personalAttention == $args[0].ID)>>
-			$args[0].slaveName no longer has your personal attention; you plan to focus on business.
-		<</if>>
-		<<assignJob $args[0] _currentRule.assignFacility>>
-	<</if>>
-	<<else>>
-		<<if ($args[0].assignment == "rest in the spa")>>
-			<<include "Rules Facility Remove">>
-		<</if>>
-	<</if>>
-<<case "brothel">>
-	<<if ($brothel > $brothelSlaves) && ($args[0].devotion > 50) || (($args[0].devotion >= -50) && ($args[0].trust < -20)) || ($args[0].trust < -50) || ($args[0].trust > 50) && $args[0].breedingMark != 1>>
-	<<if ($args[0].assignment != "work in the brothel")>>
-		<br>$args[0].slaveName has been automatically assigned to work in $brothelName.
-		<<if ($personalAttention == $args[0].ID)>>
-			$args[0].slaveName no longer has your personal attention; you plan to focus on business.
-		<</if>>
-		<<assignJob $args[0] _currentRule.assignFacility>>
-	<</if>>
-	<<else>>
-		<<if ($args[0].assignment == "work in the brothel")>>
-			<<include "Rules Facility Remove">>
-		<</if>>
-	<</if>>
-<<case "club">>
-	<<if ($club > $clubSlaves) && ($args[0].devotion > 50) || (($args[0].devotion >= -50) && ($args[0].trust < -20)) || ($args[0].trust < -50) || ($args[0].trust > 50) && $args[0].breedingMark != 1>>
-	<<if ($args[0].assignment != "serve in the club")>>
-		<br>$args[0].slaveName has been automatically assigned to serve in $clubName.
-		<<if ($personalAttention == $args[0].ID)>>
-			$args[0].slaveName no longer has your personal attention; you plan to focus on business.
-		<</if>>
-		<<assignJob $args[0] _currentRule.assignFacility>>
-	<</if>>
-	<<else>>
-		<<if ($args[0].assignment == "serve in the club")>>
-			<<include "Rules Facility Remove">>
-		<</if>>
-	<</if>>
-<<case "dairy">>
-	<<if ($dairy > $dairySlaves+$bioreactorsXY+$bioreactorsXX+$bioreactorsHerm+$bioreactorsBarren)>>
-	<<if ($args[0].indentureRestrictions > 0) && ($dairyRestraintsSetting > 1)>>
-	<<elseif (($args[0].indentureRestrictions > 1) && ($dairyRestraintsSetting > 0)) || ($args[0].breedingMark == 1 && $dairyRestriantsSettings > 0) || (($dairyPregSetting > 0) && ((_Slave.bellyImplant != 0) || (_Slave.pregType >= 50)))>>
-	<<else>>
-		<<if ($args[0].lactation > 0) || ($args[0].balls > 0) || (($dairyFeedersUpgrade == 1) && ($dairyFeedersSetting > 0))>>
-		<<if ($args[0].devotion > 20) || (($args[0].devotion >= -50) && ($args[0].trust < -20)) || ($args[0].trust < -50) || ($args[0].amp == 1) || ($dairyRestraintsUpgrade == 1)>>
-		<<if ($dairyStimulatorsSetting < 2) || ($args[0].anus > 2) || ($dairyPrepUpgrade == 1)>>
-		<<if ($dairyPregSetting < 2) || ($args[0].vagina > 2) || ($args[0].ovaries == 0) || ($dairyPrepUpgrade == 1)>>
-	<<if ($args[0].assignment != "work in the dairy")>>
-		<br>$args[0].slaveName has been automatically assigned to be milked in $dairyName.
-		<<if ($personalAttention == $args[0].ID)>>
-			$args[0].slaveName no longer has your personal attention; you plan to focus on business.
-		<</if>>
-		<<assignJob $args[0] _currentRule.assignFacility>>
-	<</if>>
-		<<else>>
-			<<if ($args[0].assignment == "work in the dairy")>>
-				<<include "Rules Facility Remove">>
-			<</if>>
-		<</if>>
-		<<else>>
-			<<if ($args[0].assignment == "work in the dairy")>>
-				<<include "Rules Facility Remove">>
-			<</if>>
-		<</if>>
-		<<else>>
-			<<if ($args[0].assignment == "work in the dairy")>>
-				<<include "Rules Facility Remove">>
-			<</if>>
-		<</if>>
-		<<else>>
-			<<if ($args[0].assignment == "work in the dairy")>>
-				<<include "Rules Facility Remove">>
-			<</if>>
-		<</if>>
-	<</if>>
-	<</if>>
-<<case "servantsquarters">>
-	<<if ($servantsQuarters > $servantsQuartersSlaves) && ($args[0].devotion >= -20) || (($args[0].devotion >= -50) && ($args[0].trust <= 20)) || ($args[0].trust < -20)>>
-	<<if ($args[0].assignment != "work as a servant")>>
-		<br>$args[0].slaveName has been automatically assigned to work in $servantsQuartersName.
-		<<if ($personalAttention == $args[0].ID)>>
-			$args[0].slaveName no longer has your personal attention; you plan to focus on business.
-		<</if>>
-		<<assignJob $args[0] _currentRule.assignFacility>>
-	<</if>>
-	<<else>>
-		<<if ($args[0].assignment == "work as a servant")>>
-			<<include "Rules Facility Remove">>
-		<</if>>
-	<</if>>
-<<case "schoolroom">>
-	<<if ($schoolroom > $schoolroomSlaves) && ($args[0].fetish != "mindbroken") && ($args[0].devotion >= -20 || ($args[0].devotion >= -50 && $args[0].trust < -20) || $args[0].trust < -50)>>
-	<<if ($args[0].intelligenceImplant < 1) || ($args[0].voice != 0 && $args[0].accent+$schoolroomUpgradeLanguage > 2) || ($args[0].oralSkill <= 10+$schoolroomUpgradeSkills*20) || ($args[0].whoreSkill <= 10+$schoolroomUpgradeSkills*20) || ($args[0].entertainSkill <= 10+$schoolroomUpgradeSkills*20) || ($args[0].analSkill < 10+$schoolroomUpgradeSkills*20) || (($args[0].vagina >= 0) && ($args[0].vaginalSkill < 10+$schoolroomUpgradeSkills*20))>>
-	<<if ($args[0].assignment != "learn in the schoolroom")>>
-		<br>$args[0].slaveName has been automatically assigned to study in $schoolroomName.
-		<<if ($personalAttention == $args[0].ID)>>
-			$args[0].slaveName no longer has your personal attention; you plan to focus on business.
-		<</if>>
-		<<assignJob $args[0] _currentRule.assignFacility>>
-	<</if>>
-	<<else>>
-		<<if ($args[0].assignment == "learn in the schoolroom")>>
-			<<include "Rules Facility Remove">>
-		<</if>>
-	<</if>>
-	<<else>>
-		<<if ($args[0].assignment == "learn in the schoolroom")>>
-			<<include "Rules Facility Remove">>
-		<</if>>
-	<</if>>
-<<case "cellblock">>
-	<<if ($cellblock > $cellblockSlaves ) && (($args[0].devotion < -20) && ($args[0].trust >= -20)) || (($args[0].devotion < -50) && ($args[0].trust >= -50))>>
-	<<if ($args[0].assignment != "be confined in the cellblock")>>
-		<br>$args[0].slaveName has been automatically assigned to be confined in $cellblockName.
-		<<if ($personalAttention == $args[0].ID)>>
-			$args[0].slaveName no longer has your personal attention; you plan to focus on business.
-		<</if>>
-		<<assignJob $args[0] _currentRule.assignFacility>>
-		<</if>>
-	<<else>>
-		<<if ($args[0].assignment == "be confined in the cellblock")>>
-			<<include "Rules Facility Remove">>
-		<</if>>
-	<</if>>
-<</switch>>
-<</if>>
-
-<<if !_exclude>>
-<<if _currentRule.setAssignment !== "none">>
-	<<if ($args[0].assignment !== _currentRule.setAssignment)>>
-		<br>$args[0].slaveName has been automatically assigned to _currentRule.setAssignment.
-		<<assignJob $args[0] _currentRule.setAssignment>>
-	<</if>>
-<</if>>
-<</if>>
-
-<</for>>
 <</widget>>
 
 /%
-	Call as <<CheckAutoRulesActivate SlaveObject>>
-	Does not use or modify $currentRule
-%/
+ % Call as <<CheckAutoRulesActivate SlaveObject>>
+ % Does not use or modify $currentRule
+ %/
 <<widget "CheckAutoRulesActivate">>
 	<<if (ndef $args[0].currentRules) || ($args[0].currentRules.length < 1)>>
 		<<set $args[0].currentRules = []>>
 	<</if>>
 
+	<<set _leaders = [$HeadGirl, $Bodyguard, $Recruiter, $Concubine, $Nurse, $Attendant, $Madam, $DJ, $Milkmaid, $Stewardess, $Schoolteacher, $Wardeness]>>
+
 	<<for _r = 0; _r < $defaultRules.length; _r++>>
-		<<set _currentRule = $defaultRules[_r], _rule = _r+1, _ruleAppliesToThisSlave = true>> /* starting assumption, to be tested below */
+		<<set _currentRule = $defaultRules[_r], _rule = _r+1>>
 
-		<<switch _currentRule.activation>> /* check activation conditions */
+		<<set _ruleAppliesToThisSlave = evalExpr(_currentRule.condition, $args[0])>>
 
-			<<case "custom">>	/* for betterRA */
-				<<set State.variables._parseFailed = _currentRule.customActivationText>>
-				<<script>>
-					try { if (parseAndEvaluate(State.variables._parseFailed, State.variables.args[0])) { State.variables._parseFailed = -1; }
-						} catch (e) { throwError("Failed to parse a custom rule. Check your custom rules in the Rules Assistant options."); }
-				<</script>>
-				<<if State.variables._parseFailed != -1>>
-					<<set _ruleAppliesToThisSlave = false>>
-				<</if>>
-			<<case "always">>
-				/* _ruleAppliesToThisSlave remains true, but still need to pass inclusion/exclusion checks below */
-			<<case "none">>
-					<<set _ruleAppliesToThisSlave = false>>
-			<<case "devotion">>
-				<<if !checkThresholds($args[0].devotion, _currentRule)>>
-					<<set _ruleAppliesToThisSlave = false>>
-				<</if>>
-			<<case "trust">>
-				<<if !checkThresholds($args[0].trust, _currentRule)>>
-					<<set _ruleAppliesToThisSlave = false>>
-				<</if>>
-			<<case "health">>
-				<<if !checkThresholds($args[0].health, _currentRule)>>
-					<<set _ruleAppliesToThisSlave = false>>
-				<</if>>
-			<<case "sex drive">> /* rule can only be applied if slave's sexuality is known */
-				<<if ($args[0].attrKnown == 0) || !checkThresholds($args[0].energy, _currentRule)>>
+		<<if _ruleAppliesToThisSlave == true && _currentRule.excludeSpecialSlaves>> /* passed activation conditions - check inclusion/exclusion rules */
+			<<for _L = 0; _L < _leaders.length; _L++>>
+				<<if (def _leaders[_L].ID) && (_leaders[_L].ID == $args[0].ID)>>
 					<<set _ruleAppliesToThisSlave = false>>
+					<<break>>
 				<</if>>
-			<<case "age">>
-				<<if !checkThresholds($args[0].physicalAge, _currentRule)>>
-					<<set _ruleAppliesToThisSlave = false>>
-				<</if>>
-			<<case "weight">>
-				<<if !checkThresholds($args[0].weight, _currentRule)>>
-					<<set _ruleAppliesToThisSlave = false>>
-				<</if>>
-			<<case "lactation">>
-				<<if !checkThresholds($args[0].lactation, _currentRule)>>
-					<<set _ruleAppliesToThisSlave = false>>
-				<</if>>
-			<<case "pregnancy week">>
-				<<if !checkThresholds($args[0].preg, _currentRule)>>
-					<<set _ruleAppliesToThisSlave = false>>
-				<</if>>
-			<<case "pregnancy foetuses">> /* pregnancy only becomes visible after tenth week */
-				<<if $args[0].preg <= 10 || !checkThresholds($args[0].pregType, _currentRule)>>
-					<<set _ruleAppliesToThisSlave = false>>
-				<</if>>
-			<<case "belly implant volume">>
-				<<if !checkThresholds($args[0].bellyImplant, _currentRule)>>
-					<<set _ruleAppliesToThisSlave = false>>
-				<</if>>
-		<</switch>> /* closes activation condition checks */
+			<</for>>
+		<</if>>
 
-		<<if _ruleAppliesToThisSlave == true>> /* passed activation conditions check - next check inclusion/exclusion rules */
+		<<if _ruleAppliesToThisSlave == true>> /* check more inclusion/exclusion rules */
 			<<if   (def _currentRule.excludedSlaves && _currentRule.excludedSlaves.length > 0 && ruleSlaveExcluded($args[0], _currentRule))
 				|| (def _currentRule.selectedSlaves && _currentRule.selectedSlaves.length > 0 && !ruleSlaveSelected($args[0], _currentRule))>>
 					<<set _ruleAppliesToThisSlave = false>>