diff --git a/devTools/javaSanityCheck/ignoredVariables b/devTools/javaSanityCheck/ignoredVariables
index 8df5eb7bf1599e9579fac0a57a0a06e085ade7e9..e282a23f8d92e433ce944f875bdf8ce55ef1309b 100644
--- a/devTools/javaSanityCheck/ignoredVariables
+++ b/devTools/javaSanityCheck/ignoredVariables
@@ -68,7 +68,6 @@ ArcologyNamesCummunism;ArcologyNamesIncestFetishist
 extreme
 royalNationalities
 hostageGiveIn
-facilityHeads
 r
 SlaveSummaryFiler
 sacrificeType
diff --git a/src/endWeek/saReleaseRules.js b/src/endWeek/saReleaseRules.js
new file mode 100644
index 0000000000000000000000000000000000000000..412f87c23ba8382da77b18b2c630768aba47b665
--- /dev/null
+++ b/src/endWeek/saReleaseRules.js
@@ -0,0 +1,265 @@
+/** Apply non-assignment release rules to a slave to determine need, fetish discovery, etc.
+ * @param {App.Entity.SlaveState} slave
+ * @returns {DocumentFragment}
+ */
+App.SlaveAssignment.nonAssignmentRelease = function(slave) {
+	let r = [];
+	const release = slave.rules.release;
+	const {he, his, him, himself} = getPronouns(slave);
+
+	if (!App.Utils.hasNonassignmentSex(slave) && release.masturbation === 0) {
+		if (release.master === 1) {
+			const toYou = assignmentVisible(slave) ? `to you` : `up to the penthouse`;
+			if ((slave.devotion <= 20) && (slave.trust >= -20)) {
+				if ([Job.HOUSE, Job.QUARTER].includes(slave.assignment)) {
+					r.push(`refuses to offer ${himself} to you`);
+				} else {
+					r.push(`refuses to come ${toYou}`);
+				}
+				r.push(`for sexual release,`);
+				if (slave.assignment === Job.SPA) {
+					r.push(`or to share a bath with you,`);
+				}
+				r.push(`and is <span class="trust dec">severely punished</span> for illicit masturbation.`);
+				slave.trust -= 2;
+			} else if (slave.devotion <= 50) {
+				if (slave.devotion <= 20) {
+					if ([Job.HOUSE, Job.QUARTER].includes(slave.assignment)) {
+						r.push(`occasionally stops by your office to offer ${himself} to you.`);
+					} else {
+						r.push(`occasionally comes ${toYou} to beg for sexual release.`);
+					}
+				} else {
+					if ([Job.HOUSE, Job.QUARTER].includes(slave.assignment)) {
+						r.push(`doesn't mind stopping by your office`);
+					} else {
+						r.push(`doesn't mind having to come ${toYou}`);
+					}
+					r.push(`to beg for sexual release.`);
+				}
+				r.push(App.EndWeek.Rules.playerEnergy(slave));
+			} else { /* slave.devotion > 50 */
+				if ([Job.HOUSE, Job.QUARTER].includes(slave.assignment)) {
+					r.push(`willingly stops by your office and`);
+				} else if (!assignmentVisible(slave)) {
+					r.push(`willingly comes up to the penthouse and`);
+				}
+				r.push(`begs you to ${App.EndWeek.Rules.playerFetishPlay(slave)}`);
+				if (App.Data.misc.facilityHeads.includes(slave.assignment)) {
+					if (slave.assignment === Job.TEACHER) {
+						r.push(`in front of ${his} class`);
+					}
+					r.push(`whenever ${he} crosses paths with you.`);
+				} else if (slave.assignment === Job.SPA) {
+					r.push(`whenever the urge strikes.`);
+				} else {
+					r.push(`every chance ${he} gets.`);
+				}
+				r.push(App.EndWeek.Rules.playerEnergy(slave));
+			}
+			r.push(App.EndWeek.Rules.playerDiscoversFetish(slave));
+			r.push(App.EndWeek.Rules.playerDrugEffects(slave));
+		} else { /* release.master === 0 */
+			r.push(App.EndWeek.Rules.noRelease(slave));
+			r.push(App.EndWeek.Rules.noReleaseDrugEffects(slave));
+		}
+	} else if (!App.Utils.hasNonassignmentSex(slave) && release.masturbation === 1) {
+		if (slave.sexualFlaw === "attention whore" && [Job.WHORE, Job.BROTHEL, Job.CLUB, Job.PUBLIC].includes(slave.assignment)) {
+			r.push(`<span class="devotion inc">enjoys being allowed to masturbate,</span> especially since it's`);
+			if ([Job.WHORE, Job.BROTHEL].includes(slave.assignment)) {
+				r.push(`often to the pleasure of an aroused client.`);
+			} else if (slave.assignment === Job.CLUB) {
+				r.push(`often on stage for ${V.clubName}'s amusement.`);
+			} else { // slave.assignment === Job.PUBLIC
+				r.push(`often in public, for the amusement of citizens and passers-by.`);
+			}
+			slave.devotion += 1;
+			slave.need = 0;
+		} else if ((slave.devotion <= 20) && (slave.trust >= -20)) {
+			r.push(`takes solace in ${his} permission to masturbate rather than being forced to beg for sex,`);
+			if ([Job.PUBLIC, Job.CLUB].includes(slave.assignment)) {
+				r.push(`though being forced to do it on a table surrounded by citizens prevents ${him} from getting complacent; you can never know when they'll want more.`);
+			} else if ([Job.BROTHEL, Job.WHORE].includes(slave.assignment)) {
+				r.push(`though being forced to do it in front of an aroused client prevents ${him} from getting complacent; you can never know when they'll want more.`);
+			} else {
+				r.push(`<span class="trust inc">reducing ${his} fear</span> of you.`);
+				slave.trust += 2;
+			}
+			slave.need = 0;
+		} else if (slave.devotion <= 20) {
+			r.push(`enjoys being allowed to masturbate rather than trading sex with other slaves,`);
+			if ([Job.PUBLIC, Job.CLUB].includes(slave.assignment)) {
+				r.push(`though being forced to do it on a table surrounded by citizens <span class="trust dec">terrifies ${him};</span> you can never know when they'll want more.`);
+				slave.trust -= 1;
+			} else if ([Job.BROTHEL, Job.WHORE].includes(slave.assignment)) {
+				r.push(`though being forced to do it in front of an aroused client <span class="trust dec">terrifies ${him};</span> you can never know when they'll want more.`);
+				slave.trust -= 1;
+			} else {
+				r.push(`<span class="trust inc">slightly reducing ${his} fear</span> of you but <span class="devotion dec">allowing ${him} to remain in control of ${him} sexuality.</span>`);
+				slave.trust += 1;
+				slave.devotion -= 1;
+			}
+			slave.need = 0;
+		} else if (slave.devotion <= 50) {
+			r.push(`accepts having to relieve ${himself} solely through masturbation.`);
+			slave.need = 0;
+		} else if (slave.devotion < 80) {
+			r.push(`is a little disappointed that ${he}'s limited to ${his} `);
+			if (!hasAnyArms(slave)) {
+				r.push(`imagination`);
+			} else if (!hasBothArms(slave)) {
+				r.push(`hand`);
+			} else {
+				r.push(`hands`);
+			}
+			r.push(`and toys, but <span class="trust inc">trusts you know what's best for ${him}.</span>`);
+			slave.trust += 1;
+			slave.need = 0;
+		} else {
+			r.push(`<span class="trust inc">trusts your judgment</span> that only ${he} really knows how to pleasure`);
+			if (release.master === 0) {
+				r.push(`${himself}, though ${he} <span class="devotion dec">often wonders why you don't`);
+				if (slave.assignment === Job.TEACHER) {
+					r.push(`make an example out of`);
+				} else {
+					r.push(`use`);
+				}
+				r.push(`${him}.</span>`);
+				slave.devotion -= 2;
+			} else {
+				r.push(`${himself}.`);
+			}
+			slave.trust += 1;
+			slave.need = 0;
+		}
+		if (slave.devotion > 20) {
+			r.push(`When ${he} does play with ${himself}, ${he}`);
+			r.push(App.EndWeek.Rules.masturbationFetishPlay(slave));
+			r.push(App.EndWeek.Rules.masturbationDiscoversFetish(slave));
+		}
+		r.push(App.EndWeek.Rules.masturbationDrugEffects(slave));
+	} else { /* hasNonassignmentSex is true */
+		const whom = (release.slaves === 1) ? "other slaves" : `${his} family`;
+		if (!App.Utils.hasFamilySex(slave) && release.slaves === 0) {
+			/* no family and no other slaves, so release comes from her partner */
+			r.push(`finds frequent sexual release with ${his} ${relationshipTerm(slave)} <span class="relationship">${getSlave(slave.relationshipTarget).slaveName}</span> which ${he} is <span class="trust inc">thankful for.</span>`);
+			r.push(App.EndWeek.Rules.partnerDrugEffects(slave));
+			slave.trust++;
+			slave.need -= 20; /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */
+		} else if (slave.assignment === Job.WARDEN) {
+			/* Wardeness ignores consent, rapes prisoners at will */
+			r.push(`opts to <span class="trust inc">take advantage of the prisoners</span> to`);
+			r.push(App.EndWeek.Rules.rapeFetish(slave));
+			r.push(App.EndWeek.Rules.rapeDiscoversFetish(slave));
+			r.push(App.EndWeek.Rules.permissiveDrugEffects(slave));
+			slave.trust += 1;
+			slave.need = 0;
+		} else if (V.universalRulesConsent === 0) { /* rape is authorized */
+			if ((slave.devotion <= 20) && (slave.trust >= -20)) {
+				if (release.masturbation === 1) {
+					r.push(`masturbates whenever ${he} can find a private moment to take care of the urges induced by the food, <span class="trust inc">slightly reducing ${his} fear</span> of you.`);
+					slave.trust += 1;
+					slave.need = 0;
+				} else {
+					r.push(`refuses to use ${whom} to get off, and is`);
+					if ([Job.CLUB, Job.PUBLIC].includes(slave.assignment)) {
+						r.push(`forced to spend time with the citizens and their wandering hands <span class="trust dec">as punishment</span>`);
+					} else if ([Job.WHORE, Job.BROTHEL].includes(slave.assignment)) {
+						r.push(`forced to take additional clients <span class="trust dec">as punishment</span>`);
+					} else {
+						r.push(`<span class="trust dec">severely punished</span>`);
+					}
+					r.push(`for illicit masturbation.`);
+					slave.trust -= 2;
+					slave.need -= 10;
+				}
+			} else if (slave.devotion <= 20) {
+				let jobOption = ``;
+				if (release.masturbation === 1) {
+					if ([Job.CLUB, Job.PUBLIC].includes(slave.assignment)) {
+						jobOption = ` or offering ${himself} to patrons`;
+					} else if ([Job.BROTHEL, Job.WHORE].includes(slave.assignment)) {
+						jobOption = ` or giving free samples`;
+					}
+					r.push(`prefers to masturbate rather than demanding sex from ${whom}${jobOption}, <span class="trust inc">slightly reducing ${his} fear</span> of you.`);
+					slave.trust += 1;
+					slave.need = 0;
+				} else {
+					if ([Job.CLUB, Job.PUBLIC].includes(slave.assignment)) {
+						jobOption = ` or offer ${himself} to patrons`;
+					} else if ([Job.BROTHEL, Job.WHORE].includes(slave.assignment)) {
+						jobOption = ` or attempt to attract additional clients`;
+					}
+					r.push(`is forced by the urges induced by the food to demand sex from ${whom}${jobOption}, and <span class="devotion inc">hates ${himself}</span> for it.`);
+					slave.devotion += 1;
+					slave.need *= 0.5;
+				}
+			} else if (slave.devotion <= 50) {
+				r.push(`<span class="devotion inc">accepts the need</span> to`);
+				r.push(App.EndWeek.Rules.rapeFetish(slave));
+				r.push(App.EndWeek.Rules.rapeDiscoversFetish(slave));
+				slave.devotion += 1;
+				slave.need = 0;
+			} else {
+				r.push(`happily <span class="trust inc">avails ${himself}</span> of your permission to`);
+				r.push(App.EndWeek.Rules.rapeFetish(slave));
+				r.push(App.EndWeek.Rules.rapeDiscoversFetish(slave));
+				slave.trust += 1;
+				slave.need = 0;
+			}
+		} else { /* consent is required */
+			let jobOption = ``;
+			if (release.masturbation === 1) {
+				if ([Job.CLUB, Job.PUBLIC].includes(slave.assignment)) {
+					jobOption = ` or offering ${himself} to patrons`;
+				} else if ([Job.BROTHEL, Job.WHORE].includes(slave.assignment)) {
+					jobOption = ` or giving free samples`;
+				}
+			} else {
+				if ([Job.CLUB, Job.PUBLIC].includes(slave.assignment)) {
+					jobOption = ` or attempt to seduce amorous citizens`;
+				} else if ([Job.BROTHEL, Job.WHORE].includes(slave.assignment)) {
+					jobOption = ` or attempt to attract additional clients`;
+				}
+			}
+			if ((slave.devotion <= 20) && (slave.trust >= -20)) {
+				if (release.masturbation === 1) {
+					r.push(`prefers to masturbate rather than asking ${whom} for sex${jobOption}, <span class="trust inc">slightly reducing ${his} fear</span> of you.`);
+					slave.trust += 1;
+					slave.need = 0;
+				} else {
+					r.push(`refuses to ask ${whom} for sex${jobOption}, and is <span class="trust dec">severely punished</span> for illicit masturbation.`);
+					slave.trust -= 2;
+					slave.need -= 10;
+				}
+			} else if (slave.devotion <= 20) {
+				if (release.masturbation === 1) {
+					r.push(`prefers to masturbate rather than trading sex with ${whom}${jobOption}, <span class="trust inc">slightly reducing ${his} fear</span> of you.`);
+					slave.trust += 1;
+					slave.need = 0;
+				} else {
+					r.push(`is forced by the urges induced by the food to demand sex from ${whom}${jobOption}, and <span class="devotion inc">hates ${himself}</span> for it.`);
+					slave.devotion += 1;
+					slave.need *= 0.5;
+				}
+			} else if (slave.devotion <= 50) {
+				r.push(`<span class="devotion inc">accepts having to ask</span> ${whom} for sex,`);
+				r.push(App.EndWeek.Rules.consentFetish(slave));
+				r.push(App.EndWeek.Rules.consentDiscoversFetish(slave));
+				slave.devotion += 1;
+				slave.need = 0;
+			} else {
+				r.push(`<span class="trust inc">relies</span> on ${whom} for mutual satisfaction,`);
+				r.push(App.EndWeek.Rules.consentFetish(slave));
+				r.push(App.EndWeek.Rules.consentDiscoversFetish(slave));
+				slave.trust += 1;
+				slave.need = 0;
+			}
+		} /* closes universalRulesConsent */
+		r.push(App.EndWeek.Rules.permissiveDrugEffects(slave));
+	} /* closes releaseRules not restrictive */
+
+	const frag = document.createDocumentFragment();
+	$(frag).append(...App.Events.spaceSentences(r));
+	return frag;
+};
diff --git a/src/endWeek/saRulesFunctions.js b/src/endWeek/saRulesFunctions.js
index b7233040ae9debe0c73865add3f82bd42e593629..94c8725c963e9e341efb1f67d3d1b5c69041d024 100644
--- a/src/endWeek/saRulesFunctions.js
+++ b/src/endWeek/saRulesFunctions.js
@@ -3,7 +3,7 @@ App.EndWeek.Rules = {};
 /**
  *
  * @param {App.Entity.SlaveState} slave
- * @returns {Node}
+ * @returns {DocumentFragment}
  */
 App.EndWeek.Rules.attractionDiscovery = function(slave) {
 	const el = new DocumentFragment();
@@ -125,7 +125,7 @@ App.EndWeek.Rules.playerFetishPlay = function(slave) {
 /**
  *
  * @param {App.Entity.SlaveState} slave
- * @returns {Node}
+ * @returns {DocumentFragment}
  */
 App.EndWeek.Rules.playerEnergy = function(slave) {
 	const el = new DocumentFragment();
@@ -185,7 +185,7 @@ App.EndWeek.Rules.playerEnergy = function(slave) {
 /**
  *
  * @param {App.Entity.SlaveState} slave
- * @returns {Node}
+ * @returns {DocumentFragment}
  */
 App.EndWeek.Rules.playerDiscoversFetish = function(slave) {
 	const el = new DocumentFragment();
@@ -277,7 +277,7 @@ App.EndWeek.Rules.playerDiscoversFetish = function(slave) {
 /**
  *
  * @param {App.Entity.SlaveState} slave
- * @returns {Node}
+ * @returns {DocumentFragment}
  */
 App.EndWeek.Rules.playerDrugEffects = function(slave) {
 	const el = new DocumentFragment();
@@ -388,7 +388,7 @@ App.EndWeek.Rules.playerDrugEffects = function(slave) {
 /**
  *
  * @param {App.Entity.SlaveState} slave
- * @returns {Node}
+ * @returns {DocumentFragment}
  */
 App.EndWeek.Rules.masturbationFetishPlay = function(slave) {
 	const el = new DocumentFragment();
@@ -456,7 +456,7 @@ App.EndWeek.Rules.masturbationFetishPlay = function(slave) {
 /**
  *
  * @param {App.Entity.SlaveState} slave
- * @returns {Node}
+ * @returns {DocumentFragment}
  */
 App.EndWeek.Rules.masturbationDiscoversFetish = function(slave) {
 	const el = new DocumentFragment();
@@ -516,7 +516,7 @@ App.EndWeek.Rules.masturbationDiscoversFetish = function(slave) {
 /**
  *
  * @param {App.Entity.SlaveState} slave
- * @returns {Node}
+ * @returns {DocumentFragment}
  */
 App.EndWeek.Rules.masturbationDrugEffects = function(slave) {
 	const el = new DocumentFragment();
@@ -610,7 +610,7 @@ App.EndWeek.Rules.masturbationDrugEffects = function(slave) {
 /**
  *
  * @param {App.Entity.SlaveState} slave
- * @returns {Node}
+ * @returns {DocumentFragment}
  */
 App.EndWeek.Rules.rapeFetish = function(slave) {
 	const el = new DocumentFragment();
@@ -903,7 +903,7 @@ App.EndWeek.Rules.rapeFetish = function(slave) {
 /**
  *
  * @param {App.Entity.SlaveState} slave
- * @returns {Node}
+ * @returns {DocumentFragment}
  */
 App.EndWeek.Rules.consentFetish = function(slave) {
 	const el = new DocumentFragment();
@@ -1088,7 +1088,7 @@ App.EndWeek.Rules.consentFetish = function(slave) {
 /**
  *
  * @param {App.Entity.SlaveState} slave
- * @returns {Node}
+ * @returns {DocumentFragment}
  */
 App.EndWeek.Rules.consentDiscoversFetish = function(slave) {
 	const el = new DocumentFragment();
@@ -1156,7 +1156,7 @@ App.EndWeek.Rules.consentDiscoversFetish = function(slave) {
 /**
  *
  * @param {App.Entity.SlaveState} slave
- * @returns {Node}
+ * @returns {DocumentFragment}
  */
 App.EndWeek.Rules.rapeDiscoversFetish = function(slave) {
 	const el = new DocumentFragment();
@@ -1237,7 +1237,7 @@ App.EndWeek.Rules.rapeDiscoversFetish = function(slave) {
 /**
  *
  * @param {App.Entity.SlaveState} slave
- * @returns {Node}
+ * @returns {DocumentFragment}
  */
 App.EndWeek.Rules.permissiveDrugEffects = function(slave) {
 	const el = new DocumentFragment();
@@ -1315,7 +1315,7 @@ App.EndWeek.Rules.permissiveDrugEffects = function(slave) {
 /**
  *
  * @param {App.Entity.SlaveState} slave
- * @returns {Node}
+ * @returns {DocumentFragment}
  */
 App.EndWeek.Rules.noRelease = function(slave) {
 	const el = new DocumentFragment();
@@ -1341,7 +1341,7 @@ App.EndWeek.Rules.noRelease = function(slave) {
 /**
  *
  * @param {App.Entity.SlaveState} slave
- * @returns {Node}
+ * @returns {DocumentFragment}
  */
 App.EndWeek.Rules.noReleaseDrugEffects = function(slave) {
 	const el = new DocumentFragment();
@@ -1421,7 +1421,7 @@ App.EndWeek.Rules.noReleaseDrugEffects = function(slave) {
 /**
  *
  * @param {App.Entity.SlaveState} slave
- * @returns {Node}
+ * @returns {DocumentFragment}
  */
 App.EndWeek.Rules.partnerDrugEffects = function(slave) {
 	const el = new DocumentFragment();
diff --git a/src/uncategorized/saRules.tw b/src/uncategorized/saRules.tw
index 4447fe17a1378cb9b7d30508efaf58870c864bb5..21365a00a289061d3764dff009490d292f2892fa 100644
--- a/src/uncategorized/saRules.tw
+++ b/src/uncategorized/saRules.tw
@@ -58,57 +58,7 @@
 				<</if>>
 				<<set $slaves[$i].need -= 20>>
 			<<else>>
-				<<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>>
-					<<if (_release.master === 1)>>
-						willingly begs you to
-						<<= App.EndWeek.Rules.playerFetishPlay($slaves[$i])>>
-						whenever $he crosses paths with you.
-						<<includeDOM App.EndWeek.Rules.playerEnergy($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.playerDiscoversFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.playerDrugEffects($slaves[$i])>>
-					<<else>> /* _release.master === 0 */
-						<<includeDOM App.EndWeek.Rules.noRelease($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.noReleaseDrugEffects($slaves[$i])>>
-					<</if>>
-				<<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>>
-					<<if ($slaves[$i].devotion < 80)>>
-						is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys, but @@.mediumaquamarine;trusts you know what's best for $him.@@
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<<else>>
-						@@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure
-						<<if _release.master === 0>>
-							$himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@
-							<<set $slaves[$i].devotion -= 2>>
-						<<else>>
-							$himself.
-						<</if>>
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<</if>>
-					<<if $slaves[$i].devotion > 20>>
-						When $he does play with $himself, $he
-						<<includeDOM App.EndWeek.Rules.masturbationFetishPlay($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.masturbationDiscoversFetish($slaves[$i])>>
-					<</if>>
-					<<includeDOM App.EndWeek.Rules.masturbationDrugEffects($slaves[$i])>>
-				<<else>> /* hasNonassignmentSex is true */
-					<<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>>
-						/* no family and no other slaves, so release comes from her partner */
-						finds frequent sexual release with $his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>,@@ which $he is @@.mediumaquamarine;thankful for.@@
-						<<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */
-						<<includeDOM App.EndWeek.Rules.partnerDrugEffects($slaves[$i])>>
-					<<elseif ($universalRulesConsent == 0)>>
-						happily @@.mediumaquamarine;avails $himself@@ of your permission to
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-						<<includeDOM App.EndWeek.Rules.rapeFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.rapeDiscoversFetish($slaves[$i])>>
-					<<else>> /* universalRulesConsent is not zero */
-						@@.mediumaquamarine;relies@@ on <<if _release.slaves === 1>>your other slaves<<else>>$his family<</if>> for mutual satisfaction,
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-						<<includeDOM App.EndWeek.Rules.consentFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.consentDiscoversFetish($slaves[$i])>>
-					<</if>> /* closes universalRulesConsent */
-					<<includeDOM App.EndWeek.Rules.permissiveDrugEffects($slaves[$i])>>
-				<</if>> /* closes releaseRules not restrictive */
+				<<includeDOM App.SlaveAssignment.nonAssignmentRelease($slaves[$i])>>
 			<</if>>
 
 			$He is @@.hotpink;very happy@@ with $his private room in $brothelName and @@.mediumaquamarine;trusts@@ you a bit more for placing $him in charge of it.
@@ -198,128 +148,7 @@
 				<</if>>
 				<<set $slaves[$i].need -= 20>>
 			<<else>>
-				<<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>>
-					<<if _release.master == 1>>
-						<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-							refuses to come up to the penthouse for sexual release, and is @@.gold;severely punished@@ for illicit masturbation.
-							<<set $slaves[$i].trust -= 2>>
-						<<elseif ($slaves[$i].devotion <= 50)>>
-							<<if $slaves[$i].devotion <= 20>>
-								occasionally comes to the penthouse to beg for sexual release.
-							<<else>>
-								doesn't mind having to come to the penthouse to beg for sexual release.
-							<</if>>
-							<<includeDOM App.EndWeek.Rules.playerEnergy($slaves[$i])>>
-						<<else>> /* $slaves[$i].devotion > 50 */
-							willingly comes up to the penthouse and begs you to
-							<<= App.EndWeek.Rules.playerFetishPlay($slaves[$i])>>
-							every break $he gets.
-							<<includeDOM App.EndWeek.Rules.playerEnergy($slaves[$i])>>
-						<</if>> /* closes $slaves[$i].devotion > 50 */
-						<<includeDOM App.EndWeek.Rules.playerDiscoversFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.playerDrugEffects($slaves[$i])>>
-					<<else>> /* _release.master === 0 */
-						<<includeDOM App.EndWeek.Rules.noRelease($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.noReleaseDrugEffects($slaves[$i])>>
-					<</if>>
-				<<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>>
-					<<if $slaves[$i].sexualFlaw == "attention whore">>
-						@@.hotpink;enjoys being allowed to masturbate,@@ especially since it's often to the pleasure of an aroused client.
-						<<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>>
-					<<elseif ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-						takes solace in $his permission to masturbate rather than being forced to beg for sex, though being forced to do it in front of an aroused client prevents $him from getting complacent; you can never know when they'll want more.
-						<<set $slaves[$i].need = 0>>
-					<<elseif ($slaves[$i].devotion <= 20)>>
-						enjoys being allowed to masturbate rather than trading sex with other slaves, though being forced to do it in front of an aroused client @@.gold;terrifies $him;@@ you can never know when they'll want more.
-						<<set $slaves[$i].trust -= 1, $slaves[$i].need = 0>>
-					<<elseif ($slaves[$i].devotion <= 50)>>
-						accepts having to relieve $himself solely through masturbation.
-						<<set $slaves[$i].need = 0>>
-					<<elseif ($slaves[$i].devotion < 80)>>
-						is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys, but @@.mediumaquamarine;trusts you know what's best for $him.@@
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<<else>>
-						@@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure
-						<<if _release.master === 0>>
-							$himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@
-							<<set $slaves[$i].devotion -= 2>>
-						<<else>>
-							$himself.
-						<</if>>
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<</if>>
-					<<if $slaves[$i].devotion > 20>>
-						When $he does play with $himself, $he
-						<<includeDOM App.EndWeek.Rules.masturbationFetishPlay($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.masturbationDiscoversFetish($slaves[$i])>>
-					<</if>>
-					<<includeDOM App.EndWeek.Rules.masturbationDrugEffects($slaves[$i])>>
-				<<else>> /* hasNonassignmentSex is true */
-					<<set _whom = (_release.slaves === 1) ? "other slaves" : $his + " family">>
-					<<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>>
-						/* no family and no other slaves, so release comes from her partner */
-						finds frequent sexual release with $his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>,@@ which $he is @@.mediumaquamarine;thankful for.@@
-						<<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */
-						<<includeDOM App.EndWeek.Rules.partnerDrugEffects($slaves[$i])>>
-					<<elseif ($universalRulesConsent == 0)>>
-						<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-							<<if (_release.masturbation === 1)>>
-								masturbates whenever $he can find a private moment to take care of the urges induced by the food, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								refuses to use _whom to get off, and is forced to take additional clients @@.gold;as punishment@@ for illicit masturbation.
-								<<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 20)>>
-							<<if (_release.masturbation === 1)>>
-								prefers to masturbate rather than demanding sex from _whom or giving free samples, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								is forced by the urges induced by the food to either demand sex from _whom or attempt to attract additional clients. $He @@.hotpink;hates $himself@@ for it.
-								<<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 50)>>
-							@@.hotpink;accepts the need@@ to
-							<<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>>
-							<<includeDOM App.EndWeek.Rules.rapeFetish($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.rapeDiscoversFetish($slaves[$i])>>
-						<<else>>
-							happily @@.mediumaquamarine;avails $himself@@ of your permission to
-							<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<includeDOM App.EndWeek.Rules.rapeFetish($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.rapeDiscoversFetish($slaves[$i])>>
-						<</if>>
-					<<else>> /* universalRulesConsent is not zero */
-						<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-							<<if (_release.masturbation === 1)>>
-								prefers to masturbate rather than asking _whom for sex or giving free samples, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								refuses to ask _whom for sex, and is @@.gold;severely punished@@ for illicit masturbation.
-								<<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 20)>>
-							<<if (_release.masturbation === 1)>>
-								prefers to masturbate rather than trading sex with _whom or giving free samples, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								is forced by the urges induced by the food to either swap sex with _whom or attempt to attract additional clients. $He @@.hotpink;hates $himself@@ for it.
-								<<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 50)>>
-							@@.hotpink;accepts having to ask@@ _whom for sex,
-							<<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>>
-							<<includeDOM App.EndWeek.Rules.consentFetish($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.consentDiscoversFetish($slaves[$i])>>
-						<<else>>
-							@@.mediumaquamarine;relies@@ on _whom for mutual satisfaction,
-							<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<includeDOM App.EndWeek.Rules.consentFetish($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.consentDiscoversFetish($slaves[$i])>>
-						<</if>>
-					<</if>> /* closes universalRulesConsent */
-					<<includeDOM App.EndWeek.Rules.permissiveDrugEffects($slaves[$i])>>
-				<</if>> /* closes releaseRules not restrictive */
+				<<includeDOM App.SlaveAssignment.nonAssignmentRelease($slaves[$i])>>
 			<</if>>
 
 			<<= App.EndWeek.Rules.speechRules($slaves[$i])>>
@@ -521,57 +350,7 @@
 				<</if>>
 				<<set $slaves[$i].need -= 20>>
 			<<else>>
-				<<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>>
-					<<if _release.master === 1>>
-						willingly begs you to
-						<<= App.EndWeek.Rules.playerFetishPlay($slaves[$i])>>
-						whenever $he crosses paths with you.
-						<<includeDOM App.EndWeek.Rules.playerEnergy($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.playerDiscoversFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.playerDrugEffects($slaves[$i])>>
-					<<else>> /* _release.master === 0 */
-						<<includeDOM App.EndWeek.Rules.noRelease($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.noReleaseDrugEffects($slaves[$i])>>
-					<</if>>
-				<<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>>
-					<<if ($slaves[$i].devotion < 80)>>
-						is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys, but @@.mediumaquamarine;trusts you know what's best for $him.@@
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<<else>>
-						@@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure
-						<<if _release.master === 0>>
-							$himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@
-							<<set $slaves[$i].devotion -= 2>>
-						<<else>>
-							$himself.
-						<</if>>
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<</if>>
-					<<if $slaves[$i].devotion > 20>>
-						When $he does play with $himself, $he
-						<<includeDOM App.EndWeek.Rules.masturbationFetishPlay($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.masturbationDiscoversFetish($slaves[$i])>>
-					<</if>>
-					<<includeDOM App.EndWeek.Rules.masturbationDrugEffects($slaves[$i])>>
-				<<else>> /* hasNonassignmentSex is true */
-					<<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>>
-						/* no family and no other slaves, so release comes from her partner */
-						finds frequent sexual release with $his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>,@@ which $he is @@.mediumaquamarine;thankful for.@@
-						<<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */
-						<<includeDOM App.EndWeek.Rules.partnerDrugEffects($slaves[$i])>>
-					<<elseif ($universalRulesConsent == 0)>>
-						happily @@.mediumaquamarine;avails $himself@@ of your permission to
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-						<<includeDOM App.EndWeek.Rules.rapeFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.rapeDiscoversFetish($slaves[$i])>>
-					<<else>> /* universalRulesConsent is not zero */
-						@@.mediumaquamarine;relies@@ on <<if _release.slaves === 1>>your other slaves<<else>>$his family<</if>> for mutual satisfaction,
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-						<<includeDOM App.EndWeek.Rules.consentFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.consentDiscoversFetish($slaves[$i])>>
-					<</if>> /* closes universalRulesConsent */
-					<<includeDOM App.EndWeek.Rules.permissiveDrugEffects($slaves[$i])>>
-				<</if>> /* closes releaseRules not restrictive */
+				<<includeDOM App.SlaveAssignment.nonAssignmentRelease($slaves[$i])>>
 			<</if>>
 
 			$He is @@.hotpink;very happy@@ with $his private room in the back of $clubName and @@.mediumaquamarine;trusts@@ you a bit more for placing your faith in $his abilities.
@@ -661,128 +440,7 @@
 				<</if>>
 				<<set $slaves[$i].need -= 20>>
 			<<else>>
-				<<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>>
-					<<if _release.master === 1>>
-						<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-							refuses to come up to the penthouse for sexual release, and is @@.gold;severely punished@@ for illicit masturbation.
-							<<set $slaves[$i].trust -= 2>>
-						<<elseif ($slaves[$i].devotion <= 50)>>
-							<<if $slaves[$i].devotion <= 20>>
-								occasionally comes to the penthouse to beg for sexual release.
-							<<else>>
-								doesn't mind having to come to the penthouse to beg for sexual release.
-							<</if>>
-							<<includeDOM App.EndWeek.Rules.playerEnergy($slaves[$i])>>
-						<<else>> /* $slaves[$i].devotion > 50 */
-							willingly comes up to the penthouse and begs you to
-							<<= App.EndWeek.Rules.playerFetishPlay($slaves[$i])>>
-							every break $he gets.
-							<<includeDOM App.EndWeek.Rules.playerEnergy($slaves[$i])>>
-						<</if>> /* closes $slaves[$i].devotion > 50 */
-						<<includeDOM App.EndWeek.Rules.playerDiscoversFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.playerDrugEffects($slaves[$i])>>
-					<<else>> /* _release.master === 0 */
-						<<includeDOM App.EndWeek.Rules.noRelease($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.noReleaseDrugEffects($slaves[$i])>>
-					<</if>>
-				<<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>>
-					<<if $slaves[$i].sexualFlaw == "attention whore">>
-						@@.hotpink;enjoys being allowed to masturbate,@@ especially since it's often on stage for $clubName's amusement.
-						<<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>>
-					<<elseif ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-						takes solace in $his permission to masturbate rather than being forced to beg for sex, though being forced to do it on a table surrounded by citizens prevents $him from getting complacent; you can never know when they'll want more.
-						<<set $slaves[$i].need = 0>>
-					<<elseif ($slaves[$i].devotion <= 20)>>
-						enjoys being allowed to masturbate rather than trading sex with other slaves, though being forced to do it in on a table surrounded by citizens@@.gold;terrifies $him;@@ you can never know when they'll want more.
-						<<set $slaves[$i].trust -= 1, $slaves[$i].need = 0>>
-					<<elseif ($slaves[$i].devotion <= 50)>>
-						accepts having to relieve $himself solely through masturbation.
-						<<set $slaves[$i].need = 0>>
-					<<elseif ($slaves[$i].devotion < 80)>>
-						is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys, but @@.mediumaquamarine;trusts you know what's best for $him.@@
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<<else>>
-						@@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure
-						<<if _release.master === 0>>
-							$himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@
-							<<set $slaves[$i].devotion -= 2>>
-						<<else>>
-							$himself.
-						<</if>>
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<</if>>
-					<<if $slaves[$i].devotion > 20>>
-						When $he does play with $himself, $he
-						<<includeDOM App.EndWeek.Rules.masturbationFetishPlay($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.masturbationDiscoversFetish($slaves[$i])>>
-					<</if>>
-					<<includeDOM App.EndWeek.Rules.masturbationDrugEffects($slaves[$i])>>
-				<<else>> /* hasNonassignmentSex is true */
-					<<set _whom = (_release.slaves === 1) ? "other slaves" : $his + " family">>
-					<<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>>
-						/* no family and no other slaves, so release comes from her partner */
-						finds frequent sexual release with $his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>,@@ which $he is @@.mediumaquamarine;thankful for.@@
-						<<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */
-						<<includeDOM App.EndWeek.Rules.partnerDrugEffects($slaves[$i])>>
-					<<elseif ($universalRulesConsent == 0)>>
-						<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-							<<if (_release.masturbation === 1)>>
-								masturbates whenever $he can find a private moment to take care of the urges induced by the food, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								refuses to use _whom to get off, and is forced to spend time with the citizens and their wandering hands @@.gold;as punishment@@ for illicit masturbation.
-								<<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 20)>>
-							<<if (_release.masturbation === 1)>>
-								prefers to masturbate rather than demanding sex from _whom or offering $himself up, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								is forced by the urges induced by the food to either demand sex from _whom or offering $himself to patrons. $He @@.hotpink;hates $himself@@ for it.
-								<<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 50)>>
-							@@.hotpink;accepts the need@@ to
-							<<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>>
-							<<includeDOM App.EndWeek.Rules.rapeFetish($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.rapeDiscoversFetish($slaves[$i])>>
-						<<else>>
-							happily @@.mediumaquamarine;avails $himself@@ of your permission to
-							<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<includeDOM App.EndWeek.Rules.rapeFetish($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.rapeDiscoversFetish($slaves[$i])>>
-						<</if>>
-					<<else>> /* universalRulesConsent is not zero */
-						<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-							<<if (_release.masturbation === 1)>>
-								prefers to masturbate rather than asking _whom for sex or offering $himself to patrons, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								refuses to ask _whom for sex, and is @@.gold;severely punished@@ for illicit masturbation.
-								<<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 20)>>
-							<<if (_release.masturbation === 1)>>
-								prefers to masturbate rather than trading sex with _whom or offering $himself up, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								is forced by the urges induced by the food to either swap sex with _whom or attempt to seduce amorous citizens. $He @@.hotpink;hates $himself@@ for it.
-								<<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 50)>>
-							@@.hotpink;accepts having to ask@@ _whom for sex,
-							<<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>>
-							<<includeDOM App.EndWeek.Rules.consentFetish($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.consentDiscoversFetish($slaves[$i])>>
-						<<else>>
-							@@.mediumaquamarine;relies@@ on _whom for mutual satisfaction,
-							<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<includeDOM App.EndWeek.Rules.consentFetish($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.consentDiscoversFetish($slaves[$i])>>
-						<</if>>
-					<</if>> /* closes universalRulesConsent */
-					<<includeDOM App.EndWeek.Rules.permissiveDrugEffects($slaves[$i])>>
-				<</if>> /* closes releaseRules not restrictive */
+				<<includeDOM App.SlaveAssignment.nonAssignmentRelease($slaves[$i])>>
 			<</if>>
 
 			<<= App.EndWeek.Rules.speechRules($slaves[$i])>>
@@ -945,57 +603,7 @@
 				<</if>>
 				<<set $slaves[$i].need -= 20>>
 			<<else>>
-				<<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>>
-					<<if _release.master === 1>>
-						willingly begs you to
-						<<= App.EndWeek.Rules.playerFetishPlay($slaves[$i])>>
-						whenever $he crosses paths with you.
-						<<includeDOM App.EndWeek.Rules.playerEnergy($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.playerDiscoversFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.playerDrugEffects($slaves[$i])>>
-					<<else>> /* _release.master === 0 */
-						<<includeDOM App.EndWeek.Rules.noRelease($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.noReleaseDrugEffects($slaves[$i])>>
-					<</if>>
-				<<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>>
-					<<if ($slaves[$i].devotion < 80)>>
-						is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys, but @@.mediumaquamarine;trusts you know what's best for $him.@@
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<<else>>
-						@@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure
-						<<if _release.master === 0>>
-							$himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@
-							<<set $slaves[$i].devotion -= 2>>
-						<<else>>
-							$himself.
-						<</if>>
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<</if>>
-					<<if $slaves[$i].devotion > 20>>
-						When $he does play with $himself, $he
-						<<includeDOM App.EndWeek.Rules.masturbationFetishPlay($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.masturbationDiscoversFetish($slaves[$i])>>
-					<</if>>
-					<<includeDOM App.EndWeek.Rules.masturbationDrugEffects($slaves[$i])>>
-				<<else>> /* hasNonassignmentSex is true */
-					<<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>>
-						/* no family and no other slaves, so release comes from her partner */
-						finds frequent sexual release with $his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>,@@ which $he is @@.mediumaquamarine;thankful for.@@
-						<<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */
-						<<includeDOM App.EndWeek.Rules.partnerDrugEffects($slaves[$i])>>
-					<<elseif ($universalRulesConsent == 0)>>
-						happily @@.mediumaquamarine;avails $himself@@ of your permission to
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-						<<includeDOM App.EndWeek.Rules.rapeFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.rapeDiscoversFetish($slaves[$i])>>
-					<<else>> /* universalRulesConsent is not zero */
-						@@.mediumaquamarine;relies@@ on <<if _release.slaves === 1>>your other slaves<<else>>$his family<</if>> for mutual satisfaction,
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-						<<includeDOM App.EndWeek.Rules.consentFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.consentDiscoversFetish($slaves[$i])>>
-					<</if>> /* closes universalRulesConsent */
-					<<includeDOM App.EndWeek.Rules.permissiveDrugEffects($slaves[$i])>>
-				<</if>> /* closes releaseRules not restrictive */
+				<<includeDOM App.SlaveAssignment.nonAssignmentRelease($slaves[$i])>>
 			<</if>>
 
 			$He is @@.hotpink;very happy@@ with $his private room in $clinicName and @@.mediumaquamarine;trusts@@ you a bit more for placing $him in charge of it.
@@ -1270,53 +878,7 @@
 				gets off at work, so $he doesn't feel the need for release that often.
 				<<set $slaves[$i].need -= 20>>
 			<<else>>
-				<<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>>
-					<<if _release.master === 1>>
-						willingly begs you to
-						<<= App.EndWeek.Rules.playerFetishPlay($slaves[$i])>>
-						whenever $he crosses paths with you.
-						<<includeDOM App.EndWeek.Rules.playerEnergy($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.playerDiscoversFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.playerDrugEffects($slaves[$i])>>
-					<<else>> /* _release.master === 0 */
-						<<includeDOM App.EndWeek.Rules.noRelease($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.noReleaseDrugEffects($slaves[$i])>>
-					<</if>>
-				<<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>>
-					<<if ($slaves[$i].devotion < 80)>>
-						is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys, especially with $his prisoners available to $him, but @@.mediumaquamarine;trusts you know what's best for $him.@@
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<<else>>
-						@@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure
-						<<if _release.master === 0>>
-							$himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@
-							<<set $slaves[$i].devotion -= 2>>
-						<<else>>
-							$himself.
-						<</if>>
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<</if>>
-					<<if $slaves[$i].devotion > 20>>
-						When $he does play with $himself, $he
-						<<includeDOM App.EndWeek.Rules.masturbationFetishPlay($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.masturbationDiscoversFetish($slaves[$i])>>
-					<</if>>
-					<<includeDOM App.EndWeek.Rules.masturbationDrugEffects($slaves[$i])>>
-				<<else>>
-					<<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>>
-						/* no family and no other slaves, so release comes from her partner */
-						finds frequent sexual release with $his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>,@@ which $he is @@.mediumaquamarine;thankful for.@@
-						<<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */
-						<<includeDOM App.EndWeek.Rules.partnerDrugEffects($slaves[$i])>>
-					<<else>>
-						/* wardeness is not bound by Universal Consent */
-						opts to @@.mediumaquamarine;take advantage of the prisoners@@ to
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-						<<includeDOM App.EndWeek.Rules.rapeFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.rapeDiscoversFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.permissiveDrugEffects($slaves[$i])>>
-					<</if>>
-				<</if>>
+				<<includeDOM App.SlaveAssignment.nonAssignmentRelease($slaves[$i])>>
 			<</if>>
 
 			$He is @@.hotpink;very happy@@ with $his private room in $cellblockName and @@.mediumaquamarine;trusts@@ you a bit more for placing $him in charge of it.
@@ -1489,57 +1051,7 @@
 				<</if>>
 				<<set $slaves[$i].need -= 20>>
 			<<else>>
-				<<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>>
-					<<if _release.master === 1>>
-						willingly begs you to
-						<<= App.EndWeek.Rules.playerFetishPlay($slaves[$i])>>
-						whenever $he crosses paths with you.
-						<<includeDOM App.EndWeek.Rules.playerEnergy($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.playerDiscoversFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.playerDrugEffects($slaves[$i])>>
-					<<else>> /* _release.master === 0 */
-						<<includeDOM App.EndWeek.Rules.noRelease($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.noReleaseDrugEffects($slaves[$i])>>
-					<</if>>
-				<<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>>
-					<<if ($slaves[$i].devotion < 80)>>
-						is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>>, creams, and toys, but @@.mediumaquamarine;trusts you know what's best for $him.@@
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<<else>>
-						@@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure
-						<<if _release.master === 0>>
-							$himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@
-							<<set $slaves[$i].devotion -= 2>>
-						<<else>>
-							$himself.
-						<</if>>
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<</if>>
-					<<if $slaves[$i].devotion > 20>>
-						When $he does play with $himself, $he
-						<<includeDOM App.EndWeek.Rules.masturbationFetishPlay($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.masturbationDiscoversFetish($slaves[$i])>>
-					<</if>>
-					<<includeDOM App.EndWeek.Rules.masturbationDrugEffects($slaves[$i])>>
-				<<else>> /* hasNonassignmentSex is true */
-					<<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>>
-						/* no family and no other slaves, so release comes from her partner */
-						finds frequent sexual release with $his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>@@ which $he is @@.mediumaquamarine;thankful for.@@
-						<<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */
-						<<includeDOM App.EndWeek.Rules.partnerDrugEffects($slaves[$i])>>
-					<<elseif ($universalRulesConsent == 0)>>
-						happily @@.mediumaquamarine;avails $himself@@ of your permission to
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-						<<includeDOM App.EndWeek.Rules.rapeFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.rapeDiscoversFetish($slaves[$i])>>
-					<<else>> /* universalRulesConsent is not zero */
-						@@.mediumaquamarine;relies@@ on <<if _release.slaves === 1>>your other slaves<<else>>$his family<</if>> for mutual satisfaction,
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-						<<includeDOM App.EndWeek.Rules.consentFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.consentDiscoversFetish($slaves[$i])>>
-					<</if>> /* closes universalRulesConsent */
-					<<includeDOM App.EndWeek.Rules.permissiveDrugEffects($slaves[$i])>>
-				<</if>> /* closes releaseRules not restrictive */
+				<<includeDOM App.SlaveAssignment.nonAssignmentRelease($slaves[$i])>>
 			<</if>>
 
 			$He is @@.hotpink;very happy@@ with $his private room in the back of $spaName and @@.mediumaquamarine;trusts@@ you a bit more for placing the well-being of your slaves in $his <<if !hasAnyArms($slaves[$i])>>figurative <</if>>hand<<if hasBothArms($slaves[$i])>>s<</if>>.
@@ -1625,125 +1137,7 @@
 				<</if>>
 				<<set $slaves[$i].need -= 60>>
 			<<else>>
-				<<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>>
-					<<if _release.master === 1>>
-						<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-							refuses to come up to the penthouse for sexual release, or to beg to share a bath with you, and is @@.gold;severely punished@@ for illicit masturbation.
-							<<set $slaves[$i].trust -= 2>>
-						<<elseif ($slaves[$i].devotion <= 50)>>
-							<<if $slaves[$i].devotion <= 20>>
-								occasionally comes to the penthouse to beg for sexual release or for you to join $him in $spaName.
-							<<else>>
-								doesn't mind having to come to the penthouse to beg for sexual release or for you to join $him in $spaName.
-							<</if>>
-							<<includeDOM App.EndWeek.Rules.playerEnergy($slaves[$i])>>
-						<<else>> /* $slaves[$i].devotion > 50 */
-							willingly comes up to the penthouse and begs you to
-							<<= App.EndWeek.Rules.playerFetishPlay($slaves[$i])>>
-							whenever the urge strikes.
-							<<includeDOM App.EndWeek.Rules.playerEnergy($slaves[$i])>>
-						<</if>> /* closes $slaves[$i].devotion > 50 */
-						<<includeDOM App.EndWeek.Rules.playerDiscoversFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.playerDrugEffects($slaves[$i])>>
-					<<else>> /* _release.master === 0 */
-						<<includeDOM App.EndWeek.Rules.noRelease($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.noReleaseDrugEffects($slaves[$i])>>
-					<</if>>
-				<<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>>
-					<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-						takes solace in $his permission to masturbate rather than being forced to beg for sex, @@.mediumaquamarine;reducing $his fear@@ of you.
-						<<set $slaves[$i].trust += 2, $slaves[$i].need = 0>>
-					<<elseif ($slaves[$i].devotion <= 20)>>
-						enjoys being allowed to masturbate rather than trading sex with other slaves, @@.mediumaquamarine;slightly reducing $his fear@@ of you but @@.mediumorchid;allowing $him to remain in control of $him sexuality.@@
-						<<set $slaves[$i].trust += 1, $slaves[$i].devotion -= 1, $slaves[$i].need = 0>>
-					<<elseif ($slaves[$i].devotion <= 50)>>
-						accepts having to relieve $himself solely through masturbation.
-						<<set $slaves[$i].need = 0>>
-					<<elseif ($slaves[$i].devotion < 80)>>
-						is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys, but @@.mediumaquamarine;trusts you know what's best for $him.@@
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<<else>>
-						@@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure
-						<<if _release.master === 0>>
-							$himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@
-							<<set $slaves[$i].devotion -= 2>>
-						<<else>>
-							$himself.
-						<</if>>
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<</if>>
-					<<if $slaves[$i].devotion > 20>>
-						When $he does play with $himself, $he
-						<<includeDOM App.EndWeek.Rules.masturbationFetishPlay($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.masturbationDiscoversFetish($slaves[$i])>>
-					<</if>>
-					<<includeDOM App.EndWeek.Rules.masturbationDrugEffects($slaves[$i])>>
-				<<else>> /* hasNonassignmentSex is true */
-					<<set _whom = (_release.slaves === 1) ? "other slaves" : $his + " family">>
-					<<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>>
-						/* no family and no other slaves, so release comes from her partner */
-						finds frequent sexual release with $his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>@@ which $he is @@.mediumaquamarine;thankful for.@@
-						<<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */
-						<<includeDOM App.EndWeek.Rules.partnerDrugEffects($slaves[$i])>>
-					<<elseif ($universalRulesConsent == 0)>>
-						<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-							<<if (_release.masturbation === 1)>>
-								masturbates whenever $he can find a private moment to take care of the urges induced by the food, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								refuses to ask _whom for sex, and is @@.gold;severely punished@@ for illicit masturbation.
-								<<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 20)>>
-							<<if (_release.masturbation === 1)>>
-								prefers to masturbate rather than demanding sex from _whom, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								is forced by the urges induced by the food to demand sex from _whom, and @@.hotpink;hates $himself@@ for it.
-								<<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 50)>>
-							@@.hotpink;accepts the need@@ to
-							<<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>>
-							<<includeDOM App.EndWeek.Rules.rapeFetish($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.rapeDiscoversFetish($slaves[$i])>>
-						<<else>>
-							happily @@.mediumaquamarine;avails $himself@@ of your permission to
-							<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<includeDOM App.EndWeek.Rules.rapeFetish($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.rapeDiscoversFetish($slaves[$i])>>
-						<</if>>
-					<<else>> /* universalRulesConsent is not zero */
-						<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-							<<if (_release.masturbation === 1)>>
-								prefers to masturbate rather than asking _whom for sex or giving free samples, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								refuses to ask _whom for sex, and is @@.gold;severely punished@@ for illicit masturbation.
-								<<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 20)>>
-							<<if (_release.masturbation === 1)>>
-								prefers to masturbate rather than trading sex with _whom, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								is forced by the urges induced by the food to swap sex with _whom, and @@.hotpink;hates $himself@@ for it.
-								<<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 50)>>
-							@@.hotpink;accepts having to ask@@ _whom for sex,
-							<<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>>
-							<<includeDOM App.EndWeek.Rules.consentFetish($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.consentDiscoversFetish($slaves[$i])>>
-						<<else>>
-							@@.mediumaquamarine;relies@@ on _whom for mutual satisfaction,
-							<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<includeDOM App.EndWeek.Rules.consentFetish($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.consentDiscoversFetish($slaves[$i])>>
-						<</if>>
-					<</if>> /* closes universalRulesConsent */
-					<<includeDOM App.EndWeek.Rules.permissiveDrugEffects($slaves[$i])>>
-				<</if>> /* closes releaseRules not restrictive */
+				<<includeDOM App.SlaveAssignment.nonAssignmentRelease($slaves[$i])>>
 			<</if>>
 
 			<<= App.EndWeek.Rules.speechRules($slaves[$i])>>
@@ -1900,57 +1294,7 @@
 				<</if>>
 				<<set $slaves[$i].need -= 20>>
 			<<else>>
-				<<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>>
-					<<if _release.master === 1>>
-						willingly begs you to
-						<<= App.EndWeek.Rules.playerFetishPlay($slaves[$i])>>
-						whenever $he crosses paths with you.
-						<<includeDOM App.EndWeek.Rules.playerEnergy($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.playerDiscoversFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.playerDrugEffects($slaves[$i])>>
-					<<else>> /* _release.master === 0 */
-						<<includeDOM App.EndWeek.Rules.noRelease($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.noReleaseDrugEffects($slaves[$i])>>
-					<</if>>
-				<<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>>
-					<<if ($slaves[$i].devotion < 80)>>
-						is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>>, creams, and toys, but @@.mediumaquamarine;trusts you know what's best for $him.@@
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<<else>>
-						@@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure
-						<<if _release.master === 0>>
-							$himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@
-							<<set $slaves[$i].devotion -= 2>>
-						<<else>>
-							$himself.
-						<</if>>
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<</if>>
-					<<if $slaves[$i].devotion > 20>>
-						When $he does play with $himself, $he
-						<<includeDOM App.EndWeek.Rules.masturbationFetishPlay($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.masturbationDiscoversFetish($slaves[$i])>>
-					<</if>>
-					<<includeDOM App.EndWeek.Rules.masturbationDrugEffects($slaves[$i])>>
-				<<else>> /* hasNonassignmentSex is true */
-					<<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>>
-						/* no family and no other slaves, so release comes from her partner */
-						finds frequent sexual release with $his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>@@ which $he is @@.mediumaquamarine;thankful for.@@
-						<<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */
-						<<includeDOM App.EndWeek.Rules.partnerDrugEffects($slaves[$i])>>
-					<<elseif ($universalRulesConsent == 0)>>
-						happily @@.mediumaquamarine;avails $himself@@ of your permission to
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-						<<includeDOM App.EndWeek.Rules.rapeFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.rapeDiscoversFetish($slaves[$i])>>
-					<<else>> /* universalRulesConsent is not zero */
-						@@.mediumaquamarine;relies@@ on <<if _release.slaves === 1>>your other slaves<<else>>$his family<</if>> for mutual satisfaction,
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-						<<includeDOM App.EndWeek.Rules.consentFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.consentDiscoversFetish($slaves[$i])>>
-					<</if>> /* closes universalRulesConsent */
-					<<includeDOM App.EndWeek.Rules.permissiveDrugEffects($slaves[$i])>>
-				<</if>> /* closes releaseRules not restrictive */
+				<<includeDOM App.SlaveAssignment.nonAssignmentRelease($slaves[$i])>>
 			<</if>>
 
 			$He is @@.hotpink;very happy@@ with $his private room in the back of $nurseryName and @@.mediumaquamarine;trusts@@ you a bit more for placing the responsibility of raising $arcologies[0].name's children in $his <<if !hasAnyArms($slaves[$i])>>figurative <</if>>hand<<if hasBothArms($slaves[$i])>>s<</if>>.
@@ -2035,125 +1379,7 @@
 				<</if>>
 				<<set $slaves[$i].need -= 60>>
 			<<else>>
-				<<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>>
-					<<if _release.master === 1>>
-						<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-							refuses to come up to the penthouse for sexual release and is @@.gold;severely punished@@ for illicit masturbation.
-							<<set $slaves[$i].trust -= 2>>
-						<<elseif ($slaves[$i].devotion <= 50)>>
-							<<if $slaves[$i].devotion <= 20>>
-								occasionally comes to the penthouse to beg for sexual release.
-							<<else>>
-								doesn't mind having to come to the penthouse to beg for sexual release.
-							<</if>>
-							<<includeDOM App.EndWeek.Rules.playerEnergy($slaves[$i])>>
-						<<else>> /* $slaves[$i].devotion > 50 */
-							willingly comes up to the penthouse and begs you to
-							<<= App.EndWeek.Rules.playerFetishPlay($slaves[$i])>>
-							whenever the urge strikes.
-							<<includeDOM App.EndWeek.Rules.playerEnergy($slaves[$i])>>
-						<</if>> /* closes $slaves[$i].devotion > 50 */
-						<<includeDOM App.EndWeek.Rules.playerDiscoversFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.playerDrugEffects($slaves[$i])>>
-					<<else>> /* _release.master === 0 */
-						<<includeDOM App.EndWeek.Rules.noRelease($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.noReleaseDrugEffects($slaves[$i])>>
-					<</if>>
-				<<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>>
-					<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-						takes solace in $his permission to masturbate rather than being forced to beg for sex, @@.mediumaquamarine;reducing $his fear@@ of you.
-						<<set $slaves[$i].trust += 2, $slaves[$i].need = 0>>
-					<<elseif ($slaves[$i].devotion <= 20)>>
-						enjoys being allowed to masturbate rather than trading sex with other slaves, @@.mediumaquamarine;slightly reducing $his fear@@ of you but @@.mediumorchid;allowing $him to remain in control of $him sexuality.@@
-						<<set $slaves[$i].trust += 1, $slaves[$i].devotion -= 1, $slaves[$i].need = 0>>
-					<<elseif ($slaves[$i].devotion <= 50)>>
-						accepts having to relieve $himself solely through masturbation.
-						<<set $slaves[$i].need = 0>>
-					<<elseif ($slaves[$i].devotion < 80)>>
-						is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys, but @@.mediumaquamarine;trusts you know what's best for $him.@@
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<<else>>
-						@@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure
-						<<if _release.master === 0>>
-							$himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@
-							<<set $slaves[$i].devotion -= 2>>
-						<<else>>
-							$himself.
-						<</if>>
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<</if>>
-					<<if $slaves[$i].devotion > 20>>
-						When $he does play with $himself, $he
-						<<includeDOM App.EndWeek.Rules.masturbationFetishPlay($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.masturbationDiscoversFetish($slaves[$i])>>
-					<</if>>
-					<<includeDOM App.EndWeek.Rules.masturbationDrugEffects($slaves[$i])>>
-				<<else>> /* hasNonassignmentSex is true */
-					<<set _whom = (_release.slaves === 1) ? "other slaves" : $his + " family">>
-					<<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>>
-						/* no family and no other slaves, so release comes from her partner */
-						finds frequent sexual release with $his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>@@ which $he is @@.mediumaquamarine;thankful for.@@
-						<<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */
-						<<includeDOM App.EndWeek.Rules.partnerDrugEffects($slaves[$i])>>
-					<<elseif ($universalRulesConsent == 0)>>
-						<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-							<<if (_release.masturbation === 1)>>
-								masturbates whenever $he can find a private moment to take care of the urges induced by the food, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								refuses to ask _whom for sex, and is @@.gold;severely punished@@ for illicit masturbation.
-								<<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 20)>>
-							<<if (_release.masturbation === 1)>>
-								prefers to masturbate rather than demanding sex from _whom, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								is forced by the urges induced by the food to demand sex from _whom, and @@.hotpink;hates $himself@@ for it.
-								<<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 50)>>
-							@@.hotpink;accepts the need@@ to
-							<<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>>
-							<<includeDOM App.EndWeek.Rules.rapeFetish($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.rapeDiscoversFetish($slaves[$i])>>
-						<<else>>
-							happily @@.mediumaquamarine;avails $himself@@ of your permission to
-							<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<includeDOM App.EndWeek.Rules.rapeFetish($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.rapeDiscoversFetish($slaves[$i])>>
-						<</if>>
-					<<else>> /* universalRulesConsent is not zero */
-						<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-							<<if (_release.masturbation === 1)>>
-								prefers to masturbate rather than asking _whom for sex or giving free samples, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								refuses to ask _whom for sex, and is @@.gold;severely punished@@ for illicit masturbation.
-								<<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 20)>>
-							<<if (_release.masturbation === 1)>>
-								prefers to masturbate rather than trading sex with _whom, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								is forced by the urges induced by the food to swap sex with _whom, and @@.hotpink;hates $himself@@ for it.
-								<<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 50)>>
-							@@.hotpink;accepts having to ask@@ _whom for sex,
-							<<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>>
-							<<includeDOM App.EndWeek.Rules.consentFetish($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.consentDiscoversFetish($slaves[$i])>>
-						<<else>>
-							@@.mediumaquamarine;relies@@ on _whom for mutual satisfaction,
-							<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<includeDOM App.EndWeek.Rules.consentFetish($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.consentDiscoversFetish($slaves[$i])>>
-						<</if>>
-					<</if>> /* closes universalRulesConsent */
-					<<includeDOM App.EndWeek.Rules.permissiveDrugEffects($slaves[$i])>>
-				<</if>> /* closes releaseRules not restrictive */
+				<<includeDOM App.SlaveAssignment.nonAssignmentRelease($slaves[$i])>>
 			<</if>>
 
 			<<= App.EndWeek.Rules.speechRules($slaves[$i])>>
@@ -2318,57 +1544,7 @@
 				<</if>>
 				<<set $slaves[$i].need -= 20>>
 			<<else>>
-				<<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>>
-					<<if _release.master === 1>>
-						willingly begs you to
-						<<= App.EndWeek.Rules.playerFetishPlay($slaves[$i])>>
-						in front of $his class whenever $he crosses paths with you.
-						<<includeDOM App.EndWeek.Rules.playerEnergy($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.playerDiscoversFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.playerDrugEffects($slaves[$i])>>
-					<<else>> /* _release.master === 0 */
-						<<includeDOM App.EndWeek.Rules.noRelease($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.noReleaseDrugEffects($slaves[$i])>>
-					<</if>>
-				<<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>>
-					<<if ($slaves[$i].devotion < 80)>>
-						is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys outside of class, but @@.mediumaquamarine;trusts you know what's best for $him.@@
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<<else>>
-						@@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure
-						<<if _release.master === 0>>
-							$himself, though $he @@.mediumorchid;often wonders why you won't make an example out of $him.@@
-							<<set $slaves[$i].devotion -= 2>>
-						<<else>>
-							$himself.
-						<</if>>
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<</if>>
-					<<if $slaves[$i].devotion > 20>>
-						When $he does play with $himself, $he
-						<<includeDOM App.EndWeek.Rules.masturbationFetishPlay($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.masturbationDiscoversFetish($slaves[$i])>>
-					<</if>>
-					<<includeDOM App.EndWeek.Rules.masturbationDrugEffects($slaves[$i])>>
-				<<else>> /* hasNonassignmentSex is true */
-					<<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>>
-						/* no family and no other slaves, so release comes from her partner */
-						finds frequent sexual release with $his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>@@ which $he is @@.mediumaquamarine;thankful for.@@
-						<<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */
-						<<includeDOM App.EndWeek.Rules.partnerDrugEffects($slaves[$i])>>
-					<<elseif ($universalRulesConsent == 0)>>
-						happily @@.mediumaquamarine;takes advantage@@ of your permission to
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-						<<includeDOM App.EndWeek.Rules.rapeFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.rapeDiscoversFetish($slaves[$i])>>
-					<<else>> /* universalRulesConsent is not zero */
-						@@.mediumaquamarine;relies@@ on <<if _release.slaves === 1>>your other slaves<<else>>$his family<</if>> for mutual satisfaction,
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-						<<includeDOM App.EndWeek.Rules.consentFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.consentDiscoversFetish($slaves[$i])>>
-					<</if>> /* closes universalRulesConsent */
-					<<includeDOM App.EndWeek.Rules.permissiveDrugEffects($slaves[$i])>>
-				<</if>> /* closes releaseRules not restrictive */
+				<<includeDOM App.SlaveAssignment.nonAssignmentRelease($slaves[$i])>>
 			<</if>>
 
 			$He is @@.hotpink;very happy@@ with $his private room in the back of $schoolroomName and @@.mediumaquamarine;trusts@@ you a bit more for placing the future education of your slaves in $his <<if !hasAnyArms($slaves[$i])>>figurative <</if>>hand<<if hasBothArms($slaves[$i])>>s<</if>>.
@@ -2495,125 +1671,7 @@
 				<</if>>
 				<<set $slaves[$i].need -= 20>>
 			<<else>>
-				<<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>>
-					<<if _release.master === 1>>
-						<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-							refuses to come to you for sexual release, and is @@.gold;severely punished@@ for illicit masturbation.
-							<<set $slaves[$i].trust -= 2>>
-						<<elseif ($slaves[$i].devotion <= 50)>>
-							<<if $slaves[$i].devotion <= 20>>
-								occasionally comes to you to beg for sexual release.
-							<<else>>
-								doesn't mind having to come to you to beg for sexual release.
-							<</if>>
-							<<includeDOM App.EndWeek.Rules.playerEnergy($slaves[$i])>>
-						<<else>> /* $slaves[$i].devotion > 50 */
-							willingly begs you to
-							<<= App.EndWeek.Rules.playerFetishPlay($slaves[$i])>>
-							every chance $he gets.
-							<<includeDOM App.EndWeek.Rules.playerEnergy($slaves[$i])>>
-						<</if>> /* closes $slaves[$i].devotion > 50 */
-						<<includeDOM App.EndWeek.Rules.playerDiscoversFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.playerDrugEffects($slaves[$i])>>
-					<<else>> /* _release.master === 0 */
-						<<includeDOM App.EndWeek.Rules.noRelease($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.noReleaseDrugEffects($slaves[$i])>>
-					<</if>>
-				<<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>>
-					<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-						takes solace in $his permission to masturbate rather than being forced to beg for sex, @@.mediumaquamarine;reducing $his fear@@ of you.
-						<<set $slaves[$i].trust += 2, $slaves[$i].need = 0>>
-					<<elseif ($slaves[$i].devotion <= 20)>>
-						enjoys being allowed to masturbate rather than trading sex with other slaves, @@.mediumaquamarine;slightly reducing $his fear@@ of you but @@.mediumorchid;allowing $him to remain in control of $him sexuality.@@
-						<<set $slaves[$i].trust += 1, $slaves[$i].devotion -= 1, $slaves[$i].need = 0>>
-					<<elseif ($slaves[$i].devotion <= 50)>>
-						accepts having to relieve $himself solely through masturbation.
-						<<set $slaves[$i].need = 0>>
-					<<elseif ($slaves[$i].devotion < 80)>>
-						is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys, but @@.mediumaquamarine;trusts you know what's best for $him.@@
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<<else>>
-						@@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure
-						<<if _release.master === 0>>
-							$himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@
-							<<set $slaves[$i].devotion -= 2>>
-						<<else>>
-							$himself.
-						<</if>>
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<</if>>
-					<<if $slaves[$i].devotion > 20>>
-						When $he does play with $himself, $he
-						<<includeDOM App.EndWeek.Rules.masturbationFetishPlay($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.masturbationDiscoversFetish($slaves[$i])>>
-					<</if>>
-					<<includeDOM App.EndWeek.Rules.masturbationDrugEffects($slaves[$i])>>
-				<<else>> /* hasNonassignmentSex is true */
-					<<set _whom = (_release.slaves === 1) ? "other slaves" : $his + " family">>
-					<<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>>
-						/* no family and no other slaves, so release comes from her partner */
-						finds frequent sexual release with $his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>@@ which $he is @@.mediumaquamarine;thankful for.@@
-						<<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */
-						<<includeDOM App.EndWeek.Rules.partnerDrugEffects($slaves[$i])>>
-					<<elseif ($universalRulesConsent == 0)>>
-						<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-							<<if (_release.masturbation === 1)>>
-								masturbates whenever $he can find a private moment to take care of the urges induced by the food, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								refuses to use _whom to get off, and is @@.gold;severely punished@@ for illicit masturbation.
-								<<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 20)>>
-							<<if (_release.masturbation === 1)>>
-								prefers to masturbate rather than demanding sex from _whom, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								is forced to demand sex from _whom by the urges induced by the food, and @@.hotpink;hates $himself@@ for it.
-								<<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 50)>>
-							@@.hotpink;accepts the need@@ to
-							<<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>>
-							<<includeDOM App.EndWeek.Rules.rapeFetish($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.rapeDiscoversFetish($slaves[$i])>>
-						<<else>>
-							happily @@.mediumaquamarine;avails $himself@@ of your permission to
-							<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<includeDOM App.EndWeek.Rules.rapeFetish($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.rapeDiscoversFetish($slaves[$i])>>
-						<</if>>
-					<<else>> /* universalRulesConsent is not zero */
-						<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-							<<if (_release.masturbation === 1)>>
-								prefers to masturbate rather than asking _whom for sex, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								refuses to ask _whom for sex, and is @@.gold;severely punished@@ for illicit masturbation.
-								<<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 20)>>
-							<<if (_release.masturbation === 1)>>
-								prefers to masturbate rather than trading sex with _whom, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								is forced to swap sex with _whom by the urges induced by the food, and @@.hotpink;hates $himself@@ for it.
-								<<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 50)>>
-							@@.hotpink;accepts having to ask@@ _whom for sex,
-							<<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>>
-							<<includeDOM App.EndWeek.Rules.consentFetish($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.consentDiscoversFetish($slaves[$i])>>
-						<<else>>
-							@@.mediumaquamarine;relies@@ on _whom for mutual satisfaction,
-							<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<includeDOM App.EndWeek.Rules.consentFetish($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.consentDiscoversFetish($slaves[$i])>>
-						<</if>>
-					<</if>> /* closes universalRulesConsent */
-					<<includeDOM App.EndWeek.Rules.permissiveDrugEffects($slaves[$i])>>
-				<</if>> /* closes releaseRules not restrictive */
+				<<includeDOM App.SlaveAssignment.nonAssignmentRelease($slaves[$i])>>
 			<</if>>
 
 			<<= App.EndWeek.Rules.speechRules($slaves[$i])>>
@@ -2711,57 +1769,7 @@
 					<<set $slaves[$i].need -= 20>>
 				<</if>>
 			<<else>>
-				<<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>>
-					<<if _release.master === 1>>
-						willingly begs you to
-						<<= App.EndWeek.Rules.playerFetishPlay($slaves[$i])>>
-						whenever $he crosses paths with you.
-						<<includeDOM App.EndWeek.Rules.playerEnergy($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.playerDiscoversFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.playerDrugEffects($slaves[$i])>>
-					<<else>> /* _release.master === 0 */
-						<<includeDOM App.EndWeek.Rules.noRelease($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.noReleaseDrugEffects($slaves[$i])>>
-					<</if>>
-				<<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>>
-					<<if ($slaves[$i].devotion < 80)>>
-						is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys, but @@.mediumaquamarine;trusts you know what's best for $him.@@
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<<else>>
-						@@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure
-						<<if _release.master === 0>>
-							$himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@
-							<<set $slaves[$i].devotion -= 2>>
-						<<else>>
-							$himself.
-						<</if>>
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<</if>>
-					<<if $slaves[$i].devotion > 20>>
-						When $he does play with $himself, $he
-						<<includeDOM App.EndWeek.Rules.masturbationFetishPlay($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.masturbationDiscoversFetish($slaves[$i])>>
-					<</if>>
-					<<includeDOM App.EndWeek.Rules.masturbationDrugEffects($slaves[$i])>>
-				<<else>> /* hasNonassignmentSex is true */
-					<<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>>
-						/* no family and no other slaves, so release comes from her partner */
-						finds frequent sexual release with $his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>@@ which $he is @@.mediumaquamarine;thankful for.@@
-						<<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */
-						<<includeDOM App.EndWeek.Rules.partnerDrugEffects($slaves[$i])>>
-					<<elseif ($universalRulesConsent == 0)>>
-						happily @@.mediumaquamarine;avails $himself@@ of your permission to
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-						<<includeDOM App.EndWeek.Rules.rapeFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.rapeDiscoversFetish($slaves[$i])>>
-					<<else>> /* universalRulesConsent is not zero */
-						@@.mediumaquamarine;relies@@ on <<if _release.slaves === 1>>your other slaves<<else>>$his family<</if>> for mutual satisfaction,
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-						<<includeDOM App.EndWeek.Rules.consentFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.consentDiscoversFetish($slaves[$i])>>
-					<</if>> /* closes universalRulesConsent */
-					<<includeDOM App.EndWeek.Rules.permissiveDrugEffects($slaves[$i])>>
-				<</if>> /* closes releaseRules not restrictive */
+				<<includeDOM App.SlaveAssignment.nonAssignmentRelease($slaves[$i])>>
 			<</if>>
 
 			$He is @@.hotpink;very happy@@ with $his private room off of $servantsQuartersName and @@.mediumaquamarine;trusts@@ you a bit more for placing $him in charge of it.
@@ -2852,125 +1860,7 @@
 				<</if>>
 				<<set $slaves[$i].need -= 20>>
 			<<else>>
-				<<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>>
-					<<if _release.master === 1>>
-						<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-							refuses to offer $himself to you for sexual release, and is @@.gold;severely punished@@ for illicit masturbation.
-							<<set $slaves[$i].trust -= 2>>
-						<<elseif ($slaves[$i].devotion <= 50)>>
-							<<if $slaves[$i].devotion <= 20>>
-								occasionally stops by your office to offer $himself to you.
-							<<else>>
-								doesn't mind stopping by your office to beg for sexual release.
-							<</if>>
-							<<includeDOM App.EndWeek.Rules.playerEnergy($slaves[$i])>>
-						<<else>> /* $slaves[$i].devotion > 50 */
-							willingly stops by your office and begs you to
-							<<= App.EndWeek.Rules.playerFetishPlay($slaves[$i])>>
-							every break $he gets.
-							<<includeDOM App.EndWeek.Rules.playerEnergy($slaves[$i])>>
-						<</if>> /* closes $slaves[$i].devotion > 50 */
-						<<includeDOM App.EndWeek.Rules.playerDiscoversFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.playerDrugEffects($slaves[$i])>>
-					<<else>> /* _release.master === 0 */
-						<<includeDOM App.EndWeek.Rules.noRelease($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.noReleaseDrugEffects($slaves[$i])>>
-					<</if>>
-				<<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>>
-					<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-						takes solace in $his permission to masturbate rather than being forced to beg for sex, @@.mediumaquamarine;reducing $his fear@@ of you.
-						<<set $slaves[$i].trust += 2, $slaves[$i].need = 0>>
-					<<elseif ($slaves[$i].devotion <= 20)>>
-						enjoys being allowed to masturbate rather than trading sex with other slaves, @@.mediumaquamarine;slightly reducing $his fear@@ of you but @@.mediumorchid;allowing $him to remain in control of $him sexuality.@@
-						<<set $slaves[$i].trust += 1, $slaves[$i].devotion -= 1, $slaves[$i].need = 0>>
-					<<elseif ($slaves[$i].devotion <= 50)>>
-						accepts having to relieve $himself solely through masturbation.
-						<<set $slaves[$i].need = 0>>
-					<<elseif ($slaves[$i].devotion < 80)>>
-						is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys, but @@.mediumaquamarine;trusts you know what's best for $him.@@
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<<else>>
-						@@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure
-						<<if _release.master === 0>>
-							$himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@
-							<<set $slaves[$i].devotion -= 2>>
-						<<else>>
-							$himself.
-						<</if>>
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<</if>>
-					<<if $slaves[$i].devotion > 20>>
-						When $he does play with $himself, $he
-						<<includeDOM App.EndWeek.Rules.masturbationFetishPlay($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.masturbationDiscoversFetish($slaves[$i])>>
-					<</if>>
-					<<includeDOM App.EndWeek.Rules.masturbationDrugEffects($slaves[$i])>>
-				<<else>> /* hasNonassignmentSex is true */
-					<<set _whom = (_release.slaves === 1) ? "other slaves" : $his + " family">>
-					<<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>>
-						/* no family and no other slaves, so release comes from her partner */
-						finds frequent sexual release with $his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>@@ which $he is @@.mediumaquamarine;thankful for.@@
-						<<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */
-						<<includeDOM App.EndWeek.Rules.partnerDrugEffects($slaves[$i])>>
-					<<elseif ($universalRulesConsent == 0)>>
-						<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-							<<if (_release.masturbation === 1)>>
-								masturbates whenever $he can find a private moment to take care of the urges induced by the food, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								refuses to use _whom to get off, and is @@.gold;severely punished@@ for illicit masturbation.
-								<<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 20)>>
-							<<if (_release.masturbation === 1)>>
-								prefers to masturbate rather than demanding sex from _whom, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								is forced to demand sex from _whom by the urges induced by the food, and @@.hotpink;hates $himself@@ for it.
-								<<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 50)>>
-							@@.hotpink;accepts the need@@ to
-							<<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>>
-							<<includeDOM App.EndWeek.Rules.rapeFetish($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.rapeDiscoversFetish($slaves[$i])>>
-						<<else>>
-							happily @@.mediumaquamarine;avails $himself@@ of your permission to
-							<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<includeDOM App.EndWeek.Rules.rapeFetish($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.rapeDiscoversFetish($slaves[$i])>>
-						<</if>>
-					<<else>> /* universalRulesConsent is not zero */
-						<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-							<<if (_release.masturbation === 1)>>
-								prefers to masturbate rather than asking _whom for sex, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								refuses to ask _whom for sex, and is @@.gold;severely punished@@ for illicit masturbation.
-								<<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 20)>>
-							<<if (_release.masturbation === 1)>>
-								prefers to masturbate rather than trading sex with _whom, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								is forced to swap sex with _whom by the urges induced by the food, and @@.hotpink;hates $himself@@ for it.
-								<<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 50)>>
-							@@.hotpink;accepts having to ask@@ _whom for sex,
-							<<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>>
-							<<includeDOM App.EndWeek.Rules.consentFetish($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.consentDiscoversFetish($slaves[$i])>>
-						<<else>>
-							@@.mediumaquamarine;relies@@ on _whom for mutual satisfaction,
-							<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<includeDOM App.EndWeek.Rules.consentFetish($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.consentDiscoversFetish($slaves[$i])>>
-						<</if>>
-					<</if>> /* closes universalRulesConsent */
-					<<includeDOM App.EndWeek.Rules.permissiveDrugEffects($slaves[$i])>>
-				<</if>> /* closes releaseRules not restrictive */
+				<<includeDOM App.SlaveAssignment.nonAssignmentRelease($slaves[$i])>>
 			<</if>>
 
 			<<= App.EndWeek.Rules.speechRules($slaves[$i])>>
@@ -3162,57 +2052,7 @@
 				<</if>>
 				<<set $slaves[$i].need -= 20>>
 			<<else>>
-				<<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>>
-					<<if _release.master === 1>>
-						willingly begs you to
-						<<= App.EndWeek.Rules.playerFetishPlay($slaves[$i])>>
-						whenever you inspect $dairyName.
-						<<includeDOM App.EndWeek.Rules.playerEnergy($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.playerDiscoversFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.playerDrugEffects($slaves[$i])>>
-					<<else>> /* _release.master === 0 */
-						<<includeDOM App.EndWeek.Rules.noRelease($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.noReleaseDrugEffects($slaves[$i])>>
-					<</if>>
-				<<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>>
-					<<if ($slaves[$i].devotion < 80)>>
-						is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys when off duty, but @@.mediumaquamarine;trusts you know what's best for $him.@@
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<<else>>
-						@@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure
-						<<if _release.master === 0>>
-							$himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@
-							<<set $slaves[$i].devotion -= 2>>
-						<<else>>
-							$himself.
-						<</if>>
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<</if>>
-					<<if $slaves[$i].devotion > 20>>
-						When $he does play with $himself, $he
-						<<includeDOM App.EndWeek.Rules.masturbationFetishPlay($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.masturbationDiscoversFetish($slaves[$i])>>
-					<</if>>
-					<<includeDOM App.EndWeek.Rules.masturbationDrugEffects($slaves[$i])>>
-				<<else>> /* hasNonassignmentSex is true */
-					<<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>>
-						/* no family and no other slaves, so release comes from her partner */
-						finds frequent sexual release with $his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>@@ which $he is @@.mediumaquamarine;thankful for.@@
-						<<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */
-						<<includeDOM App.EndWeek.Rules.partnerDrugEffects($slaves[$i])>>
-					<<elseif ($universalRulesConsent == 0)>>
-						happily @@.mediumaquamarine;avails $himself@@ of your permission to
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-						<<includeDOM App.EndWeek.Rules.rapeFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.rapeDiscoversFetish($slaves[$i])>>
-					<<else>> /* universalRulesConsent is not zero */
-						@@.mediumaquamarine;relies@@ on <<if _release.slaves === 1>>your other slaves<<else>>$his family<</if>> for mutual satisfaction,
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-						<<includeDOM App.EndWeek.Rules.consentFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.consentDiscoversFetish($slaves[$i])>>
-					<</if>> /* closes universalRulesConsent */
-					<<includeDOM App.EndWeek.Rules.permissiveDrugEffects($slaves[$i])>>
-				<</if>> /* closes releaseRules not restrictive */
+				<<includeDOM App.SlaveAssignment.nonAssignmentRelease($slaves[$i])>>
 			<</if>>
 
 			$He is @@.hotpink;very happy@@ with $his private room in $dairyName and @@.mediumaquamarine;trusts@@ you a bit more for placing $him in charge of it.
@@ -3314,125 +2154,7 @@
 						<<set $slaves[$i].need -= 20>>
 					<</if>>
 				<<else>>
-					<<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>>
-						<<if _release.master === 1>>
-							<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-								refuses to come to you for sexual release, and is @@.gold;severely punished@@ for illicit masturbation.
-								<<set $slaves[$i].trust -= 2>>
-							<<elseif ($slaves[$i].devotion <= 50)>>
-								<<if $slaves[$i].devotion <= 20>>
-									occasionally comes to you to beg for sexual release.
-								<<else>>
-									doesn't mind having to come to you to beg for sexual release.
-								<</if>>
-								<<includeDOM App.EndWeek.Rules.playerEnergy($slaves[$i])>>
-							<<else>> /* $slaves[$i].devotion > 50 */
-								willingly begs you to
-								<<= App.EndWeek.Rules.playerFetishPlay($slaves[$i])>>
-								every chance $he gets.
-								<<includeDOM App.EndWeek.Rules.playerEnergy($slaves[$i])>>
-							<</if>> /* closes $slaves[$i].devotion > 50 */
-							<<includeDOM App.EndWeek.Rules.playerDiscoversFetish($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.playerDrugEffects($slaves[$i])>>
-						<<else>> /* _release.master === 0 */
-							<<includeDOM App.EndWeek.Rules.noRelease($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.noReleaseDrugEffects($slaves[$i])>>
-						<</if>>
-					<<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>>
-						<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-							takes solace in $his permission to masturbate rather than being forced to beg for sex, @@.mediumaquamarine;reducing $his fear@@ of you.
-							<<set $slaves[$i].trust += 2, $slaves[$i].need = 0>>
-						<<elseif ($slaves[$i].devotion <= 20)>>
-							enjoys being allowed to masturbate rather than trading sex with other slaves, @@.mediumaquamarine;slightly reducing $his fear@@ of you but @@.mediumorchid;allowing $him to remain in control of $his sexuality.@@
-							<<set $slaves[$i].trust += 1, $slaves[$i].devotion -= 1, $slaves[$i].need = 0>>
-						<<elseif ($slaves[$i].devotion <= 50)>>
-							accepts having to relieve $himself solely through masturbation.
-							<<set $slaves[$i].need = 0>>
-						<<elseif ($slaves[$i].devotion < 80)>>
-							is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys, but @@.mediumaquamarine;trusts you know what's best for $him.@@
-							<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-						<<else>>
-							@@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure
-							<<if _release.master === 0>>
-								$himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@
-								<<set $slaves[$i].devotion -= 2>>
-							<<else>>
-								$himself.
-							<</if>>
-							<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-						<</if>>
-						<<if $slaves[$i].devotion > 20>>
-							When $he does play with $himself, $he
-							<<includeDOM App.EndWeek.Rules.masturbationFetishPlay($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.masturbationDiscoversFetish($slaves[$i])>>
-						<</if>>
-						<<includeDOM App.EndWeek.Rules.masturbationDrugEffects($slaves[$i])>>
-					<<else>> /* hasNonassignmentSex is true */
-						<<set _whom = (_release.slaves === 1) ? "other slaves" : $his + " family">>
-						<<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>>
-							/* no family and no other slaves, so release comes from her partner */
-							finds frequent sexual release with $his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>@@ which $he is @@.mediumaquamarine;thankful for.@@
-							<<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */
-							<<includeDOM App.EndWeek.Rules.partnerDrugEffects($slaves[$i])>>
-						<<elseif ($universalRulesConsent == 0)>>
-							<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-								<<if (_release.masturbation === 1)>>
-									masturbates whenever $he can find a private moment to take care of the urges induced by the food, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-									<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-								<<else>>
-									refuses to use _whom to get off, and is @@.gold;severely punished@@ for illicit masturbation.
-									<<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>>
-								<</if>>
-							<<elseif ($slaves[$i].devotion <= 20)>>
-								<<if (_release.masturbation === 1)>>
-									prefers to masturbate rather than demanding sex from _whom, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-									<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-								<<else>>
-									is forced to demand sex from _whom by the urges induced by the food, and @@.hotpink;hates $himself@@ for it.
-									<<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>>
-								<</if>>
-							<<elseif ($slaves[$i].devotion <= 50)>>
-								@@.hotpink;accepts the need@@ to
-								<<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>>
-								<<includeDOM App.EndWeek.Rules.rapeFetish($slaves[$i])>>
-								<<includeDOM App.EndWeek.Rules.rapeDiscoversFetish($slaves[$i])>>
-							<<else>>
-								happily @@.mediumaquamarine;avails $himself@@ of your permission to
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-								<<includeDOM App.EndWeek.Rules.rapeFetish($slaves[$i])>>
-								<<includeDOM App.EndWeek.Rules.rapeDiscoversFetish($slaves[$i])>>
-							<</if>>
-						<<else>> /* universalRulesConsent is not zero */
-							<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-								<<if (_release.masturbation === 1)>>
-									prefers to masturbate rather than asking _whom for sex, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-									<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-								<<else>>
-									refuses to ask _whom for sex, and is @@.gold;severely punished@@ for illicit masturbation.
-									<<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>>
-								<</if>>
-							<<elseif ($slaves[$i].devotion <= 20)>>
-								<<if (_release.masturbation === 1)>>
-									prefers to masturbate rather than trading sex with _whom, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-									<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-								<<else>>
-									is forced to swap sex with _whom by the urges induced by the food, and @@.hotpink;hates $himself@@ for it.
-									<<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>>
-								<</if>>
-							<<elseif ($slaves[$i].devotion <= 50)>>
-								@@.hotpink;accepts having to ask@@ _whom for sex,
-								<<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>>
-								<<includeDOM App.EndWeek.Rules.consentFetish($slaves[$i])>>
-								<<includeDOM App.EndWeek.Rules.consentDiscoversFetish($slaves[$i])>>
-							<<else>>
-								@@.mediumaquamarine;relies@@ on _whom for mutual satisfaction,
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-								<<includeDOM App.EndWeek.Rules.consentFetish($slaves[$i])>>
-								<<includeDOM App.EndWeek.Rules.consentDiscoversFetish($slaves[$i])>>
-							<</if>>
-						<</if>> /* closes universalRulesConsent */
-						<<includeDOM App.EndWeek.Rules.permissiveDrugEffects($slaves[$i])>>
-					<</if>> /* closes releaseRules not restrictive */
+					<<includeDOM App.SlaveAssignment.nonAssignmentRelease($slaves[$i])>>
 				<</if>>
 
 				<<= App.EndWeek.Rules.speechRules($slaves[$i])>>
@@ -3673,57 +2395,7 @@
 					<<set $slaves[$i].need -= 20>>
 				<</if>>
 			<<else>>
-				<<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>>
-					<<if _release.master === 1>>
-						willingly begs you to
-						<<= App.EndWeek.Rules.playerFetishPlay($slaves[$i])>>
-						whenever you inspect $farmyardName.
-						<<includeDOM App.EndWeek.Rules.playerEnergy($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.playerDiscoversFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.playerDrugEffects($slaves[$i])>>
-					<<else>> /* _release.master === 0 */
-						<<includeDOM App.EndWeek.Rules.noRelease($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.noReleaseDrugEffects($slaves[$i])>>
-					<</if>>
-				<<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>>
-					<<if ($slaves[$i].devotion < 80)>>
-						is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys when off duty, but @@.mediumaquamarine;trusts you know what's best for $him.@@
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<<else>>
-						@@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure
-						<<if _release.master === 0>>
-							$himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@
-							<<set $slaves[$i].devotion -= 2>>
-						<<else>>
-							$himself.
-						<</if>>
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<</if>>
-					<<if $slaves[$i].devotion > 20>>
-						When $he does play with $himself, $he
-						<<includeDOM App.EndWeek.Rules.masturbationFetishPlay($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.masturbationDiscoversFetish($slaves[$i])>>
-					<</if>>
-					<<includeDOM App.EndWeek.Rules.masturbationDrugEffects($slaves[$i])>>
-				<<else>> /* hasNonassignmentSex is true */
-					<<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>>
-						/* no family and no other slaves, so release comes from her partner */
-						finds frequent sexual release with $his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>@@ which $he is @@.mediumaquamarine;thankful for.@@
-						<<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */
-						<<includeDOM App.EndWeek.Rules.partnerDrugEffects($slaves[$i])>>
-					<<elseif ($universalRulesConsent == 0)>>
-						happily @@.mediumaquamarine;avails $himself@@ of your permission to
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-						<<includeDOM App.EndWeek.Rules.rapeFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.rapeDiscoversFetish($slaves[$i])>>
-					<<else>> /* universalRulesConsent is not zero */
-						@@.mediumaquamarine;relies@@ on <<if _release.slaves === 1>>your other slaves<<else>>$his family<</if>> for mutual satisfaction,
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-						<<includeDOM App.EndWeek.Rules.consentFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.consentDiscoversFetish($slaves[$i])>>
-					<</if>> /* closes universalRulesConsent */
-					<<includeDOM App.EndWeek.Rules.permissiveDrugEffects($slaves[$i])>>
-				<</if>> /* closes releaseRules not restrictive */
+				<<includeDOM App.SlaveAssignment.nonAssignmentRelease($slaves[$i])>>
 			<</if>>
 
 			$He is @@.hotpink;very happy@@ with $his private room in $farmyardName and @@.mediumaquamarine;trusts@@ you a bit more for placing $him in charge of it.
@@ -3812,125 +2484,7 @@
 					<<set $slaves[$i].need -= 20>>
 				<</if>>
 			<<else>>
-				<<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>>
-					<<if _release.master === 1>>
-						<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-							refuses to come to you for sexual release, and is @@.gold;severely punished@@ for illicit masturbation.
-							<<set $slaves[$i].trust -= 2>>
-						<<elseif ($slaves[$i].devotion <= 50)>>
-							<<if $slaves[$i].devotion <= 20>>
-								occasionally comes to you to beg for sexual release.
-							<<else>>
-								doesn't mind having to come to you to beg for sexual release.
-							<</if>>
-							<<includeDOM App.EndWeek.Rules.playerEnergy($slaves[$i])>>
-						<<else>> /* $slaves[$i].devotion > 50 */
-							willingly begs you to
-							<<= App.EndWeek.Rules.playerFetishPlay($slaves[$i])>>
-							every chance $he gets.
-							<<includeDOM App.EndWeek.Rules.playerEnergy($slaves[$i])>>
-						<</if>> /* closes $slaves[$i].devotion > 50 */
-						<<includeDOM App.EndWeek.Rules.playerDiscoversFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.playerDrugEffects($slaves[$i])>>
-					<<else>> /* _release.master === 0 */
-						<<includeDOM App.EndWeek.Rules.noRelease($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.noReleaseDrugEffects($slaves[$i])>>
-					<</if>>
-				<<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>>
-					<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-						takes solace in $his permission to masturbate rather than being forced to beg for sex, @@.mediumaquamarine;reducing $his fear@@ of you.
-						<<set $slaves[$i].trust += 2, $slaves[$i].need = 0>>
-					<<elseif ($slaves[$i].devotion <= 20)>>
-						enjoys being allowed to masturbate rather than trading sex with other slaves, @@.mediumaquamarine;slightly reducing $his fear@@ of you but @@.mediumorchid;allowing $him to remain in control of $his sexuality.@@
-						<<set $slaves[$i].trust += 1, $slaves[$i].devotion -= 1, $slaves[$i].need = 0>>
-					<<elseif ($slaves[$i].devotion <= 50)>>
-						accepts having to relieve $himself solely through masturbation.
-						<<set $slaves[$i].need = 0>>
-					<<elseif ($slaves[$i].devotion < 80)>>
-						is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys, but @@.mediumaquamarine;trusts you know what's best for $him.@@
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<<else>>
-						@@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure
-						<<if _release.master === 0>>
-							$himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@
-							<<set $slaves[$i].devotion -= 2>>
-						<<else>>
-							$himself.
-						<</if>>
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<</if>>
-					<<if $slaves[$i].devotion > 20>>
-						When $he does play with $himself, $he
-						<<includeDOM App.EndWeek.Rules.masturbationFetishPlay($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.masturbationDiscoversFetish($slaves[$i])>>
-					<</if>>
-					<<includeDOM App.EndWeek.Rules.masturbationDrugEffects($slaves[$i])>>
-				<<else>> /* hasNonassignmentSex is true */
-					<<set _whom = (_release.slaves === 1) ? "other slaves" : $his + " family">>
-					<<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>>
-						/* no family and no other slaves, so release comes from her partner */
-						finds frequent sexual release with $his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>@@ which $he is @@.mediumaquamarine;thankful for.@@
-						<<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */
-						<<includeDOM App.EndWeek.Rules.partnerDrugEffects($slaves[$i])>>
-					<<elseif ($universalRulesConsent == 0)>>
-						<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-							<<if (_release.masturbation === 1)>>
-								masturbates whenever $he can find a private moment to take care of the urges induced by the food, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								refuses to use _whom to get off, and is @@.gold;severely punished@@ for illicit masturbation.
-								<<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 20)>>
-							<<if (_release.masturbation === 1)>>
-								prefers to masturbate rather than demanding sex from _whom, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								is forced to demand sex from _whom by the urges induced by the food, and @@.hotpink;hates $himself@@ for it.
-								<<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 50)>>
-							@@.hotpink;accepts the need@@ to
-							<<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>>
-							<<includeDOM App.EndWeek.Rules.rapeFetish($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.rapeDiscoversFetish($slaves[$i])>>
-						<<else>>
-							happily @@.mediumaquamarine;avails $himself@@ of your permission to
-							<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<includeDOM App.EndWeek.Rules.rapeFetish($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.rapeDiscoversFetish($slaves[$i])>>
-						<</if>>
-					<<else>> /* universalRulesConsent is not zero */
-						<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-							<<if (_release.masturbation === 1)>>
-								prefers to masturbate rather than asking _whom for sex, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								refuses to ask _whom for sex, and is @@.gold;severely punished@@ for illicit masturbation.
-								<<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 20)>>
-							<<if (_release.masturbation === 1)>>
-								prefers to masturbate rather than trading sex with _whom, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								is forced to swap sex with _whom by the urges induced by the food, and @@.hotpink;hates $himself@@ for it.
-								<<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 50)>>
-							@@.hotpink;accepts having to ask@@ _whom for sex,
-							<<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>>
-							<<includeDOM App.EndWeek.Rules.consentFetish($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.consentDiscoversFetish($slaves[$i])>>
-						<<else>>
-							@@.mediumaquamarine;relies@@ on _whom for mutual satisfaction,
-							<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<includeDOM App.EndWeek.Rules.consentFetish($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.consentDiscoversFetish($slaves[$i])>>
-						<</if>>
-					<</if>> /* closes universalRulesConsent */
-					<<includeDOM App.EndWeek.Rules.permissiveDrugEffects($slaves[$i])>>
-				<</if>> /* closes releaseRules not restrictive */
+				<<includeDOM App.SlaveAssignment.nonAssignmentRelease($slaves[$i])>>
 			<</if>>
 
 			<<= App.EndWeek.Rules.speechRules($slaves[$i])>>
@@ -4282,125 +2836,7 @@
 				<</if>>
 				<<set $slaves[$i].need -= 20>>
 			<<else>>
-				<<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>>
-					<<if _release.master === 1>>
-						<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-							refuses to come to you for sexual release, and is @@.gold;severely punished@@ for illicit masturbation.
-							<<set $slaves[$i].trust -= 2>>
-						<<elseif ($slaves[$i].devotion <= 50)>>
-							<<if $slaves[$i].devotion <= 20>>
-								occasionally comes to you to beg for sexual release.
-							<<else>>
-								doesn't mind having to come to you to beg for sexual release.
-							<</if>>
-							<<includeDOM App.EndWeek.Rules.playerEnergy($slaves[$i])>>
-						<<else>> /* $slaves[$i].devotion > 50 */
-							willingly begs you to
-							<<= App.EndWeek.Rules.playerFetishPlay($slaves[$i])>>
-							every chance $he gets.
-							<<includeDOM App.EndWeek.Rules.playerEnergy($slaves[$i])>>
-						<</if>> /* closes $slaves[$i].devotion > 50 */
-						<<includeDOM App.EndWeek.Rules.playerDiscoversFetish($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.playerDrugEffects($slaves[$i])>>
-					<<else>> /* _release.master === 0 */
-						<<includeDOM App.EndWeek.Rules.noRelease($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.noReleaseDrugEffects($slaves[$i])>>
-					<</if>>
-				<<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>>
-					<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-						takes solace in $his permission to masturbate rather than being forced to beg for sex, @@.mediumaquamarine;reducing $his fear@@ of you.
-						<<set $slaves[$i].trust += 2, $slaves[$i].need = 0>>
-					<<elseif ($slaves[$i].devotion <= 20)>>
-						enjoys being allowed to masturbate rather than trading sex with other slaves, @@.mediumaquamarine;slightly reducing $his fear@@ of you but @@.mediumorchid;allowing $him to remain in control of $him sexuality.@@
-						<<set $slaves[$i].trust += 1, $slaves[$i].devotion -= 1, $slaves[$i].need = 0>>
-					<<elseif ($slaves[$i].devotion <= 50)>>
-						accepts having to relieve $himself solely through masturbation.
-						<<set $slaves[$i].need = 0>>
-					<<elseif ($slaves[$i].devotion < 80)>>
-						is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys, but @@.mediumaquamarine;trusts you know what's best for $him.@@
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<<else>>
-						@@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure
-						<<if _release.master === 0>>
-							$himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@
-							<<set $slaves[$i].devotion -= 2>>
-						<<else>>
-							$himself.
-						<</if>>
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<</if>>
-					<<if $slaves[$i].devotion > 20>>
-						When $he does play with $himself, $he
-						<<includeDOM App.EndWeek.Rules.masturbationFetishPlay($slaves[$i])>>
-						<<includeDOM App.EndWeek.Rules.masturbationDiscoversFetish($slaves[$i])>>
-					<</if>>
-					<<includeDOM App.EndWeek.Rules.masturbationDrugEffects($slaves[$i])>>
-				<<else>> /* hasNonassignmentSex is true */
-					<<set _whom = (_release.slaves === 1) ? "other slaves" : $his + " family">>
-					<<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>>
-						/* no family and no other slaves, so release comes from her partner */
-						finds frequent sexual release with $his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>@@ which $he is @@.mediumaquamarine;thankful for.@@
-						<<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */
-						<<includeDOM App.EndWeek.Rules.partnerDrugEffects($slaves[$i])>>
-					<<elseif ($universalRulesConsent == 0)>>
-						<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-							<<if (_release.masturbation === 1)>>
-								masturbates whenever $he can find a private moment to take care of the urges induced by the food, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								refuses to use _whom to get off, and is @@.gold;severely punished@@ for illicit masturbation.
-								<<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 20)>>
-							<<if (_release.masturbation === 1)>>
-								prefers to masturbate rather than demanding sex from _whom, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								is forced to demand sex from _whom by the urges induced by the food, and @@.hotpink;hates $himself@@ for it.
-								<<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 50)>>
-							@@.hotpink;accepts the need@@ to
-							<<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>>
-							<<includeDOM App.EndWeek.Rules.rapeFetish($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.rapeDiscoversFetish($slaves[$i])>>
-						<<else>>
-							happily @@.mediumaquamarine;avails $himself@@ of your permission to
-							<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<includeDOM App.EndWeek.Rules.rapeFetish($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.rapeDiscoversFetish($slaves[$i])>>
-						<</if>>
-					<<else>> /* universalRulesConsent is not zero */
-						<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-							<<if (_release.masturbation === 1)>>
-								prefers to masturbate rather than asking _whom for sex, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								refuses to ask _whom for sex, and is @@.gold;severely punished@@ for illicit masturbation.
-								<<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 20)>>
-							<<if (_release.masturbation === 1)>>
-								prefers to masturbate rather than trading sex with _whom, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								is forced to swap sex with _whom by the urges induced by the food, and @@.hotpink;hates $himself@@ for it.
-								<<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 50)>>
-							@@.hotpink;accepts having to ask@@ _whom for sex,
-							<<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>>
-							<<includeDOM App.EndWeek.Rules.consentFetish($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.consentDiscoversFetish($slaves[$i])>>
-						<<else>>
-							@@.mediumaquamarine;relies@@ on _whom for mutual satisfaction,
-							<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<includeDOM App.EndWeek.Rules.consentFetish($slaves[$i])>>
-							<<includeDOM App.EndWeek.Rules.consentDiscoversFetish($slaves[$i])>>
-						<</if>>
-					<</if>> /* closes universalRulesConsent */
-					<<includeDOM App.EndWeek.Rules.permissiveDrugEffects($slaves[$i])>>
-				<</if>> /* closes releaseRules not restrictive */
+				<<includeDOM App.SlaveAssignment.nonAssignmentRelease($slaves[$i])>>
 			<</if>>
 
 			<<= App.EndWeek.Rules.speechRules($slaves[$i])>>