From aba05f575b091ea68b6a486285d8c346d8bbfc12 Mon Sep 17 00:00:00 2001
From: DCoded <dcoded@live.com>
Date: Fri, 26 Apr 2019 16:42:02 -0400
Subject: [PATCH] Fixed errors in walkPast

---
 .eslintrc.json                  |    3 +-
 src/js/rulesAssistantOptions.js |    2 +-
 src/js/temp.js                  | 3099 +++++++++++++++++++++++++++++++
 src/js/walkPastJS.js            |   79 +-
 4 files changed, 3141 insertions(+), 42 deletions(-)
 create mode 100644 src/js/temp.js

diff --git a/.eslintrc.json b/.eslintrc.json
index 2200a90298c..72b581a6b21 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -40,7 +40,8 @@
 		"comma-style": "error",
 		"object-curly-newline": ["warn", 
 			{
-				"minProperties": 4
+				"minProperties": 4,
+				"consistent": true
 			}
 		],
 		"object-curly-spacing": "error",
diff --git a/src/js/rulesAssistantOptions.js b/src/js/rulesAssistantOptions.js
index 64ff79ac9da..07a7c2ed7b9 100644
--- a/src/js/rulesAssistantOptions.js
+++ b/src/js/rulesAssistantOptions.js
@@ -2261,7 +2261,7 @@ window.rulesAssistantOptions = (function() {
 				"orange",
 				"amber",
 				"red"
-			].forEach(i => items.push(new OptionsItem(i, item => {this.value = item.label;this.parent.setValue();
+			].forEach(i => items.push(new OptionsItem(i, item => {this.value = item.label; this.parent.setValue();
 			})));
 			super(items);
 		}
diff --git a/src/js/temp.js b/src/js/temp.js
new file mode 100644
index 00000000000..b45ceed56fd
--- /dev/null
+++ b/src/js/temp.js
@@ -0,0 +1,3099 @@
+/* eslint-disable no-unused-vars */
+/* temporary container until the entire thing is complete. No point in not deploying the working functions, you know? */
+
+window.primeSlave = function(activeSlave, seed) {
+
+	/* will be moved up once this becomes a single, contained function. */
+	const V = State.variables;
+	const pronouns = getPronouns(activeSlave);
+	const he = pronouns.pronoun,
+		him = pronouns.object,
+		his = pronouns.possessive,
+		hers = pronouns.possessivePronoun,
+		himself = pronouns.objectReflexive,
+		boy = pronouns.noun;
+	const He = capFirstChar(he),
+		His = capFirstChar(his);
+	let _target = "";
+	let t = "";
+	let race = (V.seeRace ? activeSlave.race : "");
+
+	if (V.partner !== "relationship" || activeSlave.relationship === 1 || activeSlave.relationship === 2 || activeSlave.releaseRules === "restrictive") {
+		t += `${activeSlave.slaveName} `;
+		t += walkPasts(activeSlave, seed);
+		/* WALKPASTS END */
+	}
+	/* TIME TOGETHER EXCEPTION ENDS */
+
+	return t;
+};
+
+window.rivalSlave = function(activeSlave, seed) {
+	const V = State.variables;
+	const pronouns = getPronouns(activeSlave);
+	const he = pronouns.pronoun,
+		him = pronouns.object,
+		his = pronouns.possessive,
+		hers = pronouns.possessivePronoun,
+		himself = pronouns.objectReflexive,
+		boy = pronouns.noun;
+	const He = capFirstChar(he),
+		His = capFirstChar(his);
+	let _partnerSlave = getSlave(activeSlave.rivalryTarget);
+	let t = "";
+	let _target = "";
+
+	if (_partnerSlave !== undefined) {
+		/* potential problem point */
+		// let race2 = (V.seeRace ? _partnerSlave.race : "");
+
+		t += " Meanwhile, ";
+		if (activeSlave.rivalry >= 3) {
+			t += `${_partnerSlave.slaveName}, whom ${he} hates, `;
+		} else if (activeSlave.rivalry >= 2) {
+			t += `${his} rival ${_partnerSlave.slaveName} `;
+		} else {
+			t += `${_partnerSlave.slaveName}, whom ${he} dislikes, `;
+		}
+		t += walkPasts(_partnerSlave, 100 - seed);
+
+		_partnerSlave = null;
+		V.target = "FRival"; /* potentially removed later */
+	}
+
+	return t;
+};
+
+window.loverSlave = function(activeSlave) {
+
+	/* will be moved up once this becomes a single, contained function. */
+	let _target = "";
+	let t = "";
+	let V = State.variables;
+	let race;
+	if (V.seeRace === 1) {
+		race = activeSlave.race;
+	} else {
+		race = "";
+	}
+	let name = activeSlave.slaveName;
+	const pronouns = getPronouns(activeSlave);
+	const he = pronouns.pronoun,
+		him = pronouns.object,
+		his = pronouns.possessive,
+		hers = pronouns.possessivePronoun,
+		himself = pronouns.objectReflexive,
+		boy = pronouns.noun;
+	const He = capFirstChar(he),
+		His = capFirstChar(his);
+
+	let _partnerSlave = getSlave(activeSlave.relationshipTarget);
+	let _fuckSeed = jsRandom(1, 100);
+	let _seed = jsRandom(1, 100);
+	let _fuckSpot;
+
+	if (_partnerSlave !== undefined) {
+
+		let pronouns2 = getPronouns(_partnerSlave);
+		let he2 = pronouns2.pronoun,
+			him2 = pronouns2.object,
+			his2 = pronouns2.possessive,
+			hers2 = pronouns2.possessivePronoun,
+			himself2 = pronouns2.objectReflexive,
+			boy2 = pronouns2.noun;
+		let He2 = capFirstChar(he2),
+			His2 = capFirstChar(his2);
+		let race2;
+		if (V.seeRace === 1) {
+			race2 = _partnerSlave.race;
+		} else {
+			race2 = "";
+		}
+		let partnerName = _partnerSlave.slaveName;
+		let activeSlaveRel;
+		if (activeSlave.relationship <= 3) {
+			activeSlaveRel = "friend with benefits";
+		} else if (activeSlave.relationship <= 4) {
+			activeSlaveRel = "lover";
+		} else {
+			activeSlaveRel = "slave wife";
+		}
+
+		t += `${name} and ${partnerName} are `;
+		if (!isSlaveAvailable(_partnerSlave)) {
+			if (_partnerSlave.assignment === "work in the dairy" && V.DairyRestraintsSetting >= 2) {
+				t += `trying their best to maintain their relationship with ${partnerName} being part of ${V.dairyName}.`;
+			} else if (_partnerSlave.assignment === "be your agent") {
+				t += `catching up with each other over a video call. Running an arcology in your stead comes with its perks.`;
+			} else if (_partnerSlave.assignment === "be confined in the arcade") {
+				t += `trying their best to maintain their relationship with ${partnerName} being nothing more than a hole in ${V.arcadeName}.`;
+			}
+		} else if (_seed >= 66) {
+			/* SEXY TIMES */
+
+			if (_partnerSlave.ID === V.HeadGirl.ID && V.HGSuite === 1) {
+				_fuckSpot = `in ${partnerName}'s suite`;
+			} else if (activeSlave.livingRules === "luxurious") {
+				_fuckSpot = `in the nice little room they share`;
+			} else {
+				_fuckSpot = `out in the open in the slave dormitory`;
+			}
+
+			if ((activeSlave.fetish === "dom" || activeSlave.fetish === "sadist") && canPenetrate(activeSlave) && (_partnerSlave.fetish === "dom" || _partnerSlave.fetish === "sadist") && canPenetrate(_partnerSlave)) {
+				t += `double penetrating another slave. They're face to face over their sub's shoulders, `;
+				if (canSee(activeSlave) && canSee(_partnerSlave)) {
+					t += `looking into each other's eyes `;
+				} else {
+					t += `locking lips `;
+				}
+				t += `with every appearance of enjoyment and love, since for them rubbing dicks inside another slave's pussy is what constitutes healthy sexual activity. ${partnerName} is on the bottom, and holds their victim atop ${him2} with ${partnerName}'s cock already hilted in her cunt so ${name} can force ${himself} inside as well. They enjoy the overstimulated girl's struggles.`;
+			} else if (activeSlave.energy > 95) {
+				t += `having loud sex ${_fuckSpot}. ${name} is such a sexual addict that ${he} wants it all the time, and ${partnerName} does ${his2} best to help ${his} ${activeSlaveRel} get off. `;
+				if (canPenetrate(activeSlave) && _fuckSeed > 50) {
+					if (canDoVaginal(_partnerSlave)) {
+						if (_partnerSlave.vagina === 0 && _partnerSlave.amp !== 1) {
+							t += `${name} has ${his} cock between ${partnerName}'s legs and is enjoying an enthusiastic thigh job.`;
+						} else if (_partnerSlave.vagina === 0) {
+							t += `${name} has ${his} cock between ${partnerName}'s labia and is enthusiastically teasing ${his} virgin lover.`;
+						} else if (_fuckSeed > 90 && _partnerSlave.amp !== 1) {
+							t += `${name} has ${partnerName} on ${his2} knees and is enthusiastically fucking ${his2} pussy doggy style.`;
+						} else if (_fuckSeed > 80 && activeSlave.amp !== 1) {
+							t += `${name} has ${partnerName} pushed against the wall is is fucking ${his2} pussy from behind.`;
+						} else if (_fuckSeed > 70) {
+							t += `${partnerName} has ${name} on ${his2} back and is enthusiastically bouncing on ${his2} dick.`;
+						} else if (_fuckSeed > 60) {
+							t += `${name} has ${partnerName} on ${his2} back and is enthusiastically fucking ${his2} pussy in the missionary position.`;
+						} else {
+							t += `${name} is enthusiastically fucking ${partnerName}'s pussy.`;
+						}
+					} else if (canDoAnal(_partnerSlave)) {
+						if (_partnerSlave.anus === 0) {
+							t += `${name} has ${his} cock sandwiched between ${partnerName}'s buttcheeks and is enthusiastically hotdogging ${his2} rear.`;
+						} else if (_fuckSeed > 90 && _partnerSlave.amp !== 1) {
+							t += `${name} has ${partnerName} on ${his2} knees and is enthusiastically fucking ${his2} ass doggy style.`;
+						} else if (_fuckSeed > 80 && activeSlave.amp !== 1) {
+							t += `${name} has ${partnerName} pushed against the wall is is fucking ${his2} ass from behind.`;
+						} else if (_fuckSeed > 70) {
+							t += `${partnerName} has ${name} on ${his} back and is enthusiastically bouncing on ${his} dick.`;
+						} else if (_fuckSeed > 60) {
+							t += `${name} has ${partnerName} on ${his2} stomach and is enthusiastically fucking ${his2} ass.`;
+						} else {
+							t += `${name} is enthusiastically fucking ${partnerName}'s ass.`;
+						}
+					} else if (_partnerSlave.boobs > 800) {
+						t += `${name} has ${partnerName} on ${his2} back and is enthusiastically fucking ${his2} tits.`;
+					} else {
+						t += `${name} has ${partnerName}'s face to ${his} crotch and is enthusiastically pounding ${his2} throat.`;
+					}
+				} else if (activeSlave.dick > 0 && _fuckSeed > 50) {
+					t += `${partnerName} has ${his2} lips wrapped around ${name}'s dick and is enthusiastically giving ${him} a blowjob.`;
+				} else if (canDoVaginal(activeSlave) && _fuckSeed > 30) {
+					if (canPenetrate(_partnerSlave) && activeSlave.vagina > 0) {
+						t += `${partnerName} is enthusiastically fucking ${name}'s pussy.`;
+					} else if (canDoVaginal(_partnerSlave)) {
+						t += `They're scissoring enthusiastically and playing with each other's breasts.`;
+					} else {
+						t += `${partnerName} is enthusiastically eating out ${name}'s pussy.`;
+					}
+				} else if (canDoAnal(activeSlave) && activeSlave.anus > 0 && _fuckSeed > 10) {
+					if (canPenetrate(_partnerSlave)) {
+						t += `${partnerName} is enthusiastically fucking ${name}'s ass.`;
+					} else if (_partnerSlave.amp !== 1) {
+						t += `${partnerName} is enthusiastically fisting ${name}'s ass.`;
+					} else {
+						t += `${partnerName} is enthusiastically pounding ${name}'s ass with a dildo.`;
+					}
+				} else {
+					t += `${partnerName} is enthusiastically using ${his2} tongue to bring ${name} to orgasm.`;
+				}
+			} else if (activeSlave.fetishStrength > 60 && activeSlave.fetishKnown === 1 && activeSlave.fetish !== "none") {
+				switch (activeSlave.fetish) {
+					case "boobs":
+						if (_fuckSeed > 60 && (activeSlave.lactation > 0 || _partnerSlave.lactation > 0)) {
+							t += `snuggling rather sexually ${_fuckSpot}. `;
+							if (_fuckSeed > 80 && _partnerSlave.lactation > 0) {
+								t += `${name} loves how milky ${partnerName}'s tits are and has ${his} lips wrapped around a nipple. `;
+								if (_partnerSlave.amp !== 1) {
+									t += `${partnerName} is left to moan lustfully and tweak ${his2} free nipple until ${his2} ${activeSlaveRel} has drank ${his} fill.`;
+								} else {
+									t += `${partnerName} is left to moan lustfully and squirm with desire until ${his2} ${activeSlaveRel} has drank ${his} fill and moves to ${his2} other nipple.`;
+								}
+							} else {
+								t += `${name} loves having ${his} breasts suckled and has ${partnerName}'s lips wrapped around a nipple. `;
+								if (activeSlave.amp !== 1) {
+									t += `${partnerName} is held close until ${his2} ${activeSlaveRel} has been completely emptied.`;
+								} else {
+									t += `${partnerName} knows that ${his2} ${activeSlaveRel} can't milk ${himself} and appreciates the act.`;
+								}
+							}
+						} else if (_fuckSeed > 30 && ((canPenetrate(activeSlave) && _partnerSlave.nipples === "fuckable") || (canPenetrate(_partnerSlave) && activeSlave.nipples === "fuckable"))) {
+							t += `having loud sex ${_fuckSpot}. ${name} loves `;
+							if (_fuckSeed > 45 && (canPenetrate(activeSlave) && _partnerSlave.nipples === "fuckable")) {
+								t += `taking advantage of ${partnerName}'s fuckable tits. The motion running through ${partnerName}'s breasts as ${he} humps is hypnotic.`;
+							} else {
+								t += `how well ${partnerName}'s cock feels in ${his} fuckable tits. The motion running through ${name}'s breasts as ${his} ${activeSlaveRel} fucks ${him} is hypnotic.`;
+							}
+						} else {
+							t += `snuggling rather sexually ${_fuckSpot}. ${name} loves having `;
+							if (activeSlave.boobs >= _partnerSlave.boobs) {
+								t += `${his} breasts touched and massaged, so ${partnerName} looks after ${his2} ${activeSlaveRel}'s tits. `;
+								if (_partnerSlave.amp === 1) {
+									t += `Since ${partnerName} is an amputee, ${name} has ${him2} propped on ${his} belly so ${he} can easily suckle and nuzzle.`;
+								} else {
+									t += `They're spooning in bed with ${partnerName} forming the large spoon so ${he2} can reach around and play with ${name}'s boobs.`;
+								}
+							} else {
+								t += `a nice pair of breasts to enjoy, so ${he} focuses ${his} attention on ${partnerName}'s larger bosom. `;
+								if (activeSlave.amp === 1) {
+									t += `Since ${name} is an amputee, ${partnerName} has ${him} propped on ${his2} belly so ${he} can make ${himself} comfortable in ${his2} bust.`;
+								} else if (_partnerSlave.amp !== 1) {
+									t += `They're spooning in bed with ${partnerName} forming the large spoon so ${he2} can reach around and play with ${name}'s boobs.`;
+								} else {
+									t += `Since they are both limbless, they've helped each other into a position where each can easily suckle and nuzzle the other's boobs.`;
+								}
+							}
+						}
+						break;
+					case "buttslut":
+						t += `having loud buttsex ${_fuckSpot}. ${name} is such an anal addict that ${he} wants it all the time, and ${partnerName} does ${his2} best to keep ${his2} ${activeSlaveRel} satisfied. `;
+						if (activeSlave.anus > 0 && canDoAnal(activeSlave)) {
+							t += `${name} is `;
+							if (activeSlave.amp !== 1) {
+								t += `down on ${his} knees in front of ${partnerName}, taking `;
+							} else {
+								t += `ass up in front of ${partnerName}, taking `;
+							}
+							if (canPenetrate(_partnerSlave)) {
+								t += `${his2} cock up the butt. `;
+								if (activeSlave.anus > 1) {
+									if (_partnerSlave.dick > 4) {
+										t += `${name} is clearly enjoying getting buttfucked by a cock big enough to make ${him} feel tight again.`;
+									} else if (_partnerSlave.dick > 2) {
+										t += `${name}'s loose ass takes ${partnerName}'s cock easily.`;
+									} else {
+										t += `${name} can barely tell ${partnerName}'s little dick is even there, but it's the thought that counts.`;
+									}
+								} else {
+									if (_partnerSlave.dick > 4) {
+										t += `${name} is panting and writhing with the pain of taking ${his} ${activeSlaveRel}'s massive dick. ${partnerName} is doing ${his2} best to be gentle.`;
+									} else if (_partnerSlave.dick > 2) {
+										t += `${name} is writhing with the mixed pain and pleasure of having ${his} tight ass stretched by ${his} ${activeSlaveRel}'s nice cock.`;
+									} else {
+										t += `${name}'s tight anus and ${partnerName}'s little dick work well together; ${name} can take it easily, and ${partnerName} gets to fuck a hole that's tight, even for ${him2}.`;
+									}
+								}
+							} else if (_partnerSlave.dick > 1) {
+								if (_partnerSlave.amp === 1) {
+									t += `a rimjob, since ${his} ${activeSlaveRel} is armless and `;
+								} else {
+									t += `a finger fuck, since ${his} ${activeSlaveRel} is `;
+								}
+								if (_partnerSlave.dick > 6) {
+									t += `too big to fit.`;
+								} else {
+									t += `impotent.`;
+								}
+								if (_partnerSlave.amp !== 1) {
+									if (activeSlave.anus > 2) {
+										t += ` Or rather, a fist fuck, since that's what it takes to satisfy ${his2} ${activeSlaveRel}'s gaping hole.`;
+									} else if (activeSlave.anus > 1) {
+										t += ` ${partnerName} is using three fingers to stretch ${his2} ${activeSlaveRel}'s asshole.`;
+									} else {
+										t += ` ${partnerName} is using two fingers to gently fuck ${his2} ${activeSlaveRel}'s tight anus.`;
+									}
+								}
+							} else if (_partnerSlave.clit > 3) {
+								t += `${his2} clit up the butt. `;
+								if (activeSlave.anus > 1) {
+									t += `${name} can barely tell ${partnerName}'s unorthodox phallus is in there, but it's the thought that counts.`;
+								} else {
+									t += `${name}'s tight anus and ${partnerName}'s clitdick work well together; ${name} can take it easily, and ${partnerName} gets to fuck a hole that hugs ${his2} sensitive rod tight.`;
+								}
+							} else {
+								t += `a strap-on up the butt, doggy style. ${partnerName} is using a `;
+								if (activeSlave.anus > 2) {
+									t += `massive fake phallus to satisfy ${his} ${activeSlaveRel}'s gaping hole.`;
+								} else if (activeSlave.anus > 1) {
+									t += `decent-sized fake phallus to stretch ${his} ${activeSlaveRel}'s asshole.`;
+								} else {
+									t += `small fake phallus to gently fuck ${his} ${activeSlaveRel}'s tight anus.`;
+								}
+							}
+						} else if (canDoAnal(activeSlave)) {
+							t += `Since ${name} is an anal virgin, ${partnerName} is rimming ${his2} ${activeSlaveRel}, who is clearly enjoying ${himself}.`;
+						} else {
+							t += `Since ${name}'s butthole is off-limits, ${partnerName} is simply toying with the overstimulated ${boy}'s rear.`;
+						}
+						break;
+					case "cumslut":
+						t += `sharing oral pleasure ${_fuckSpot}. ${name} is such an oral addict that ${he} wants it all the time, and ${partnerName} certainly doesn't mind all the loving oral attention. `;
+						if (((activeSlave.chastityPenis !== 1 && activeSlave.dick > 0) || canDoVaginal(activeSlave)) && ((_partnerSlave.chastityPenis !== 1 && _partnerSlave.dick > 0) || canDoVaginal(_partnerSlave))) {
+							t += `They're lying down to 69 comfortably, `;
+							if (_partnerSlave.chastityPenis !== 1 && _partnerSlave.dick > 0) {
+								if (canPenetrate(_partnerSlave)) {
+									t += `with ${name} hungrily sucking ${his} ${activeSlaveRel}'s turgid cock.`;
+								} else if (_partnerSlave.dick > 7 && activeSlave.amp !== 1) {
+									t += `with ${name} hungrily sucking ${his} ${activeSlaveRel}'s fat cock. ${He} is milking the oversized beast as best ${he} can in an effort to draw out a nice, big load of ${his2} cum.`;
+								} else if (_partnerSlave.anus > 0 && canDoAnal(_partnerSlave) && _partnerSlave.prostate > 0 && activeSlave.amp !== 1) {
+									t += `with ${name} hungrily sucking ${his} ${activeSlaveRel}'s limp cock. ${He} has a finger up poor impotent ${partnerName}'s butt to stimulate ${his2} prostate so ${he2} can cum for ${him}.`;
+								} else if (_partnerSlave.scrotum > 0 && activeSlave.amp !== 1) {
+									t += `with ${name} hungrily sucking ${his} ${activeSlaveRel}'s limp cock. ${He} is massaging ${his2} balls so ${he2} can cum for ${him}.`;
+								} else if (activeSlave.amp !== 1) {
+									t += `with ${name} hungrily sucking ${his} ${activeSlaveRel}'s limp cock. ${He} has a finger massaging poor impotent ${partnerName}'s perineum in the hope of stimulating ${him2} so ${he2} can cum for ${him}.`;
+								} else {
+									t += `with ${name} hungrily sucking ${his} ${activeSlaveRel}'s limp cock in the hopes ${he} can coax something out.`;
+								}
+							} else if (_partnerSlave.balls > 0) {
+								t += `with ${name} hungrily sucking the little hole on ${his} ${activeSlaveRel}'s crotch that ${he2} squirts cum from.`;
+							} else {
+								t += `and ${name} is sating ${his} oral fixation for the moment by eagerly polishing ${his} ${activeSlaveRel}'s pearl.`;
+							}
+						} else if ((_partnerSlave.chastityPenis !== 1 && _partnerSlave.dick > 0) || canDoVaginal(_partnerSlave)) {
+							t += `${name} has ${his} face to ${partnerName}'s crotch and is `;
+							if (_partnerSlave.chastityPenis !== 1 && _partnerSlave.dick > 0) {
+								if (canPenetrate(_partnerSlave)) {
+									t += `hungrily sucking ${his} ${activeSlaveRel}'s turgid cock.`;
+								} else if (_partnerSlave.dick > 7 && activeSlave.amp !== 1) {
+									t += `hungrily sucking ${his} ${activeSlaveRel}'s fat cock. ${He} is milking the oversized beast as best ${he} can in an effort to draw out a nice, big load of ${his2} cum.`;
+								} else if (_partnerSlave.anus > 0 && canDoAnal(_partnerSlave) && _partnerSlave.prostate > 0 && activeSlave.amp !== 1) {
+									t += `hungrily sucking ${his} ${activeSlaveRel}'s limp cock. ${He} has a finger up poor impotent ${partnerName}'s butt to stimulate ${his2} prostate so ${he2} can cum for ${him}.`;
+								} else if (_partnerSlave.scrotum > 0 && activeSlave.amp !== 1) {
+									t += `hungrily sucking ${his} ${activeSlaveRel}'s limp cock. ${He} is massaging ${his2} balls so ${he2} can cum for ${him}.`;
+								} else if (activeSlave.amp !== 1) {
+									t += `hungrily sucking ${his} ${activeSlaveRel}'s limp cock. ${He} has a finger massaging poor impotent ${partnerName}'s perineum in the hope of stimulating ${him2} so ${he2} can cum for ${him}.`;
+								} else {
+									t += `hungrily sucking ${his} ${activeSlaveRel}'s limp cock in the hopes ${he} can coax something out.`;
+								}
+							} else if (_partnerSlave.balls > 0) {
+								t += `hungrily sucking the little hole on ${his} ${activeSlaveRel}'s crotch that ${he2} squirts cum from.`;
+							} else {
+								t += `is sating ${his} oral fixation for the moment by eagerly polishing ${his} ${activeSlaveRel}'s pearl.`;
+							}
+						} else if (_partnerSlave.balls > 0) {
+							t += `${name} is eagerly lapping up ${his} ${activeSlaveRel}'s most recent load of cum.`;
+						} else if (activeSlave.balls > 0) {
+							t += `${name} is locking lips with ${his} ${activeSlaveRel} after ${he2} just finished licking up all ${his} cum to share it with ${him}.`;
+						} else {
+							t += `They have locked lips and are enthusiastically making out.`;
+						}
+						break;
+					case "submissive":
+						t += `wrestling ${_fuckSpot}. ${name} is such a submissive that ${he} wants to be forced to sexual gratify ${partnerName} all the time, so ${he2} does ${his2} best to give ${his2} ${activeSlaveRel} the constant domination ${he} loves. `;
+						if (canPenetrate(_partnerSlave) && _fuckSeed > 50) {
+							if (canDoVaginal(activeSlave)) {
+								if (activeSlave.vagina === 0) {
+									t += `${partnerName} is rubbing the length of ${his2} erection along ${name}'s virgin pussy and forcing ${him} to reveal just how bad ${he} wants it.`;
+								} else if (_fuckSeed > 90 && activeSlave.amp !== 1) {
+									t += `${partnerName} has ${name} on ${his} knees and is forcibly fucking ${his} pussy doggy style while raining loving insults down on ${his2} bitch of a ${activeSlaveRel}.`;
+								} else if (_fuckSeed > 80 && activeSlave.amp !== 1 && _partnerSlave.amp !== 1) {
+									t += `${partnerName} has ${name} pushed against the wall and is fucking ${his} pussy from behind while raining loving insults down on ${his2} bitch of a ${activeSlaveRel}.`;
+								} else if (_fuckSeed > 70) {
+									t += `${partnerName} is on ${his2} back and forcing ${name} to ride ${his2} dick while raining loving insults down on ${his2} bitch of a ${activeSlaveRel}.`;
+								} else if (_fuckSeed > 60 && activeSlave.belly < 500) {
+									t += `${partnerName} has ${name} on ${his} back and trapped in a mating press, right where a bitch of a ${activeSlaveRel} belongs.`;
+								} else {
+									t += `${partnerName} is forcing ${himself2} into ${name}'s pussy while raining loving insults down on ${his2} bitch of a ${activeSlaveRel}.`;
+								}
+							} else if (canDoAnal(activeSlave)) {
+								if (activeSlave.anus === 0) {
+									t += `${partnerName} is circling the tip of ${his2} erection around ${name}'s virgin butthole and forcing ${him} to reveal just how bad ${he} wants it.`;
+								} else if (_fuckSeed > 90 && activeSlave.amp !== 1) {
+									t += `${partnerName} has ${name} on ${his} knees and is forcibly fucking ${his} ass doggy style while raining loving insults down on ${his2} bitch of a ${activeSlaveRel}.`;
+								} else if (_fuckSeed > 80 && activeSlave.amp !== 1 && _partnerSlave.amp !== 1) {
+									t += `${partnerName} has ${name} pushed against the wall and is fucking ${his} ass from behind while raining loving insults down on ${his2} bitch of a ${activeSlaveRel}.`;
+								} else if (_fuckSeed > 70) {
+									t += `${partnerName} is on ${his2} back and forcing ${name} to ride ${his2} dick anally while raining loving insults down on ${his2} bitch of a ${activeSlaveRel}.`;
+								} else if (_fuckSeed > 60) {
+									t += `${partnerName} has ${name} pushed face first into the ground has ${him} trapped beneath ${his2} weight while ${he2} fucks ${his2} ass.`;
+								} else {
+									t += `${partnerName} is forcing ${himself2} into ${name}'s ass while raining loving insults down on ${his2} bitch of a ${activeSlaveRel}.`;
+								}
+							} else if (activeSlave.boobs > 800) {
+								t += `${partnerName} has ${name} on ${his} back and is forcibly fucking ${his} tits.`;
+							} else {
+								t += `${partnerName} has ${name}'s face to ${his2} crotch and is forcibly pounding ${his} throat.`;
+							}
+						} else if (_partnerSlave.dick > 0 && _fuckSeed > 50) {
+							t += `${name} has ${his} lips wrapped around ${partnerName}'s dick and is taking a deepthroating from ${him2}.`;
+						} else if (canDoVaginal(_partnerSlave) && _fuckSeed > 30) {
+							if (canPenetrate(activeSlave)) {
+								if (_partnerSlave.vagina === 0 && _partnerSlave.amp !== 1) {
+									t += `${partnerName} has a foot on ${name}'s turgid cock and is slowly and methodically keeping ${him} just short of release while ${he} begs for ${him2} to continue.`;
+								} else if (_partnerSlave.vagina === 0) {
+									t += `${partnerName} is rubbing ${his2} virgin pussy along the length of ${name}'s erection and is forcing ${him} to reveal just how badly ${he} wants to stick it in ${him2}. Of course, that's not going to happen and ${name} knows it.`;
+								} else if (_fuckSeed > 45 && activeSlave.amp !== 1) {
+									t += `${partnerName} is forcing ${name} to hold ${him2} aloft as ${he2} gets fucked by ${his2} bitch of a ${activeSlaveRel}.`;
+								} else if (_fuckSeed > 40 && activeSlave.amp !== 1 && _partnerSlave.amp !== 1) {
+									t += `${partnerName} has ${name} pinned against the wall and is taking ${his} dick in ${his2} pussy by force.`;
+								} else if (_fuckSeed > 35) {
+									t += `${partnerName} has ${name} on ${his} back and is riding ${his} dick while raining loving insults down on ${his2} bitch of a ${activeSlaveRel}.`;
+								} else {
+									t += `${partnerName} has ${name} on ${his} back and is forcibly taking ${his} dick in reverse missionary while raining loving insults down on ${his2} bitch of a ${activeSlaveRel}.`;
+								}
+							} else if (canDoVaginal(activeSlave)) {
+								t += `${partnerName} is scissoring ${name} while raining loving insults down on ${his2} bitch of a ${activeSlaveRel}.`;
+							} else {
+								t += `${partnerName} is eating out ${name}'s pussy while ${he2} rains loving insults down on ${his2} bitch of a ${activeSlaveRel}.`;
+							}
+						} else if (canDoAnal(_partnerSlave) && _fuckSeed > 10) {
+							if (canPenetrate(activeSlave)) {
+								if (_partnerSlave.anus === 0 && _partnerSlave.amp !== 1) {
+									t += `${partnerName} has a foot on ${name}'s turgid cock and is slowly and methodically keeping ${him} just short of release while ${he} begs for ${him2} to continue.`;
+								} else if (_partnerSlave.vagina === 0) {
+									t += `${partnerName} is rubbing ${his2} virgin butthole around the tip of ${name}'s erection and is forcing ${him} to reveal just how badly ${he} wants to stick it in ${him2}. Of course, that's not going to happen and ${name} knows it.`;
+								} else if (_fuckSeed > 20 && activeSlave.amp !== 1) {
+									t += `${partnerName} is forcing ${name} to hold ${him2} aloft as ${he2} gets anally fucked by ${his2} bitch of a ${activeSlaveRel}.`;
+								} else if (_fuckSeed > 10 && activeSlave.amp !== 1 && _partnerSlave.amp !== 1) {
+									t += `${partnerName} has ${name} pinned against the wall behind ${him2} and is anally taking ${his} dick by force.`;
+								} else {
+									t += `${partnerName} has ${name} on ${his} back and is anally riding ${his} dick while raining loving insults down on ${his2} bitch of a ${activeSlaveRel}.`;
+								}
+							} else if (_partnerSlave.amp !== 1) {
+								t += `${partnerName} is fisting ${name}'s ass while raining loving insults down on ${his2} bitch of a ${activeSlaveRel}.`;
+							} else {
+								t += `${partnerName} is pounding ${name}'s ass with a dildo while raining loving insults down on ${his2} bitch of a ${activeSlaveRel}.`;
+							}
+						} else {
+							t += `${partnerName} is forcing ${name} to use ${his} tongue to bring ${him2} to orgasm.`;
+						}
+						break;
+					case "dom":
+						t += `wrestling ${_fuckSpot}. ${name} is so dominant with other slaves that ${he} prefers to take what ${he} wants, and ${partnerName} does ${his2} best to give ${his2} ${activeSlaveRel} the fight ${he} loves. `;
+						if (canPenetrate(activeSlave) && _fuckSeed > 50) {
+							if (canDoVaginal(_partnerSlave)) {
+								if (_partnerSlave.vagina === 0) {
+									t += `${name} has ${partnerName} pinned to the ground with ${his} dick lined up with {his2} virgin pussy. ${partnerName} is struggling and pleading with ${him} not to take it like this.`;
+								} else if (_fuckSeed > 90 && activeSlave.amp !== 1) {
+									t += `${name} has ${partnerName} on ${his} knees and is forcibly fucking ${his2} pussy doggy style while {he2} struggles to get away.`;
+								} else if (_fuckSeed > 80 && activeSlave.amp !== 1 && _partnerSlave.amp !== 1) {
+									t += `${name} has ${partnerName} pushed against the wall is is fucking ${his} pussy from behind while {he2} struggles to get away.`;
+								} else if (_fuckSeed > 70 && activeSlave.amp !== 1) {
+									t += `${name} is on ${his} back and forcing ${partnerName} to ride ${his} dick while keeping a firm hold on ${his2} hips.`;
+								} else if (_fuckSeed > 60 && _partnerSlave.belly < 500) {
+									t += `${name} has ${partnerName} on ${his2} back and trapped in a mating press. ${partnerName} is struggling and begging ${him} not to get ${him2} pregnant.`;
+								} else {
+									t += `${name} is forcing ${himself} into ${partnerName}'s pussy while {he2} struggles to get away.`;
+								}
+							} else if (canDoAnal(_partnerSlave)) {
+								if (_partnerSlave.anus === 0) {
+									t += `${name} is circling the tip of ${his} erection around ${partnerName}'s virgin butthole. ${partnerName} is struggling and pleading with ${him} not to take it like this.`;
+								} else if (_fuckSeed > 90 && activeSlave.amp !== 1) {
+									t += `${name} has ${partnerName} on ${his2} knees and is forcibly fucking ${his2} ass doggy style while {he2} struggles to get away.`;
+								} else if (_fuckSeed > 80 && activeSlave.amp !== 1 && _partnerSlave.amp !== 1) {
+									t += `${name} has ${partnerName} pushed against the wall and is fucking ${his2} ass from behind while {he2} struggles to get away.`;
+								} else if (_fuckSeed > 70 && activeSlave.amp !== 1) {
+									t += `${name} is on ${his} back and forcing ${partnerName} to ride ${his} dick anally while keeping a firm hold on ${his2} hips.`;
+								} else if (_fuckSeed > 60) {
+									t += `${name} has ${partnerName} pushed face first into the ground has ${him2} trapped beneath ${his} weight while ${he} fucks ${his2} ass.`;
+								} else {
+									t += `${name} is forcing ${himself} into ${partnerName}'s ass while {he2} struggles to get away.`;
+								}
+							} else if (_partnerSlave.boobs > 800) {
+								t += `${name} has ${partnerName} on ${his2} back and is forcibly fucking ${his2} tits.`;
+							} else {
+								t += `${name} has ${partnerName}'s face to ${his} crotch and is forcibly pounding ${his2} throat.`;
+							}
+						} else if (activeSlave.dick > 0 && _fuckSeed > 50) {
+							t += `${name} is deepthroating ${partnerName} as ${he2} struggles to breath.`;
+						} else if (canDoVaginal(activeSlave) && _fuckSeed > 30) {
+							if (canPenetrate(_partnerSlave) && activeSlave.vagina !== 0) {
+								if (_fuckSeed > 45 && _partnerSlave.amp !== 1) {
+									t += `${name} is forcing ${partnerName} to hold ${him} aloft as ${he} enjoys a good vaginal pounding from an unwilling partner.`;
+								} else if (_fuckSeed > 40 && activeSlave.amp !== 1 && _partnerSlave.amp !== 1) {
+									t += `${name} has ${partnerName} pinned against the wall and is taking ${his2} dick in ${his} pussy by force.`;
+								} else if (_fuckSeed > 35) {
+									t += `${name} has ${partnerName} on ${his2} back and is riding ${his2} dick while ${he2} tries to buck ${him} off.`;
+								} else {
+									t += `${name} has ${partnerName} on ${his2} back and is forcibly taking ${his} dick in reverse missionary while ${he2} struggles to not cum in ${his2} rapist.`;
+								}
+							} else if (canDoVaginal(activeSlave) && activeSlave.vagina !== 0) {
+								t += `${name} is scissoring the struggling ${partnerName}.`;
+							} else {
+								t += `${name} is straddling ${partnerName}'s face and forcing ${him2} to eat ${him} out.`;
+							}
+						} else if (canDoAnal(activeSlave) && canPenetrate(_partnerSlave) && _fuckSeed > 10 && activeSlave.anus !== 0) {
+							if (_fuckSeed > 20 && activeSlave.amp !== 1) {
+								t += `${name} is forcing ${partnerName} to hold ${him} aloft as ${he} enjoys a good anal pounding from an unwilling partner.`;
+							} else if (_fuckSeed > 10 && activeSlave.amp !== 1 && _partnerSlave.amp !== 1) {
+								t += `${name} has ${partnerName} pinned against the wall and is taking ${his2} dick in ${his} ass by force.`;
+							} else {
+								t += `${name} has ${partnerName} on ${his2} back and is anally riding ${his2} dick while ${he2} tries to buck ${him} off.`;
+							}
+						} else {
+							t += `${name} is on top of ${partnerName} getting oral, though it's more of a rough facefuck as ${name} forces `;
+							if (canPenetrate(activeSlave)) {
+								t += `${his} cock `;
+							} else if (activeSlave.clit > 3) {
+								t += `${his} clit `;
+							} else {
+								t += `a strap-on `;
+							}
+							t += `down ${partnerName}'s throat.`;
+						}
+						break;
+					case "sadist":
+						t += `playing pain games ${_fuckSpot}. ${name} loves hurting other slaves, even ${his} friends, and ${partnerName} submits to ${his} agonizing ministrations as often as ${name} can cajole or force ${him2} into it. `;
+						if (activeSlave.amp !== 1) {
+							t += `${name} has ${partnerName} over ${his} knee and is methodically tanning ${his2}'s ${race2} ass.`;
+						} else {
+							t += `${name} has ${partnerName} on the ground and is methodically striking ${his2}'s ${race2} ass with a switch held by mouth. Even without limbs, ${name} finds a way.`;
+						}
+						break;
+					case "masochist":
+						t += `playing pain games ${_fuckSpot}. ${name} loves being hurt, so ${partnerName} frequently indulges ${him} with spanking, slapping, pinching, and more exotic forms of abuse. `;
+						if (activeSlave.amp !== 1) {
+							t += `${partnerName} has ${name} over ${his2} knee and is methodically tanning ${his} ${race} ass.`;
+						} else {
+							t += `${partnerName} has ${name} on the ground and is methodically striking ${his} ${race} ass with a switch held by mouth. Having a limbless ${activeSlaveRel} won't deter ${name} from getting worked over the way ${he} craves.`;
+						}
+						break;
+					case "humiliation":
+						t += `having open and visible sex `;
+						if (activeSlave.livingRules === "luxurious") {
+							t += `in the doorway of the nice little room they share.`;
+						} else if (activeSlave.ID === V.HeadGirl.ID && V.HGSuite === 1) {
+							t += `in ${name}'s suite.`;
+						} else {
+							t += `out in the hallway near the slave dormitory.`;
+						}
+						t += ` ${name} pretends to hate fucking where other slaves can see ${him}, but ${partnerName} knows ${his2} ${activeSlaveRel} gets off on the mild humiliation. ${partnerName} `;
+						if (((canDoVaginal(activeSlave) && activeSlave.vagina > 0) || (canDoAnal(activeSlave) && activeSlave.anus > 0)) && _fuckSeed > 50) {
+							t += `has ${his2} back propped up against a door frame and ${name} in ${his2} lap, so ${he} can blush at any passing slave as ${he} shyly rides ${partnerName}'s `;
+							if (_partnerSlave.dick > 0 && canPenetrate(_partnerSlave)) {
+								t += `cock `;
+							} else {
+								t += `strap-on `;
+							}
+							if (activeSlave.vagina > 0 && canDoVaginal(activeSlave) && (_fuckSeed > 60 || !canDoAnal(activeSlave) || activeSlave.anus === 0)) {
+								t += `in ${his} pussy.`;
+							} else {
+								t += `up ${his} ass.`;
+							}
+						} else if (activeSlave.dick === 1 && _partnerSlave.amp !== 1 && _fuckSeed > 40) {
+							t += `jacking off ${name}'s pathetically tiny cock out in the open so ${he} can blush and shiver as passing slaves see how embarrassingly small ${he} is.`;
+						} else if (activeSlave.dick === 1 && _partnerSlave.amp !== 1 && _fuckSeed > 20) {
+							t += `having ${name} give ${him2} oral out in the open so ${he} can blush and shiver as passing slaves see what a slut ${he} is.`;
+						} else {
+							t += `is giving ${name} oral out in the open so ${he} can blush and shiver as passing slaves see ${his} climax.`;
+						}
+						break;
+					case "pregnancy":
+						t += `having intimate sex ${_fuckSpot}. ${name}'s `;
+						if (activeSlave.belly >= 5000) {
+							t += `middle is heavily rounded, `;
+						} else if (activeSlave.belly >= 1500) {
+							t += `middle is quite swollen, `;
+						} else {
+							t += `urge to breed is raging, `;
+						}
+						t += ` and ${partnerName} does ${his2} best to keep ${his2} ${activeSlaveRel} satisfied. `;
+						if (canPenetrate(activeSlave) && _fuckSeed > 70) {
+							if (canDoVaginal(_partnerSlave) && _partnerSlave.vagina > 0 && _fuckSeed > 90) {
+								if (_partnerSlave.belly >= 5000) {
+									t += `${partnerName} is `;
+									if (_partnerSlave.bellyPreg >= 1500) {
+										t += `heavily pregnant `;
+									} else {
+										t += `hugely gravid `;
+									}
+									t += `${himself2} `;
+									if (activeSlave.belly >= 5000) {
+										if (activeSlave.amp !== 1 && _partnerSlave.amp !== 1) {
+											t += `so ${name} has ${him2} on all fours as ${he} fucks ${him2} from behind while resting ${his} belly on ${his} love's back.`;
+										} else {
+											t += `so ${he2} is intertwined as best ${he2} can with ${name} as their combined bellies push into each other.`;
+										}
+									} else {
+										t += `so ${he2} has ${name} on ${his} back so that ${he2} can ride ${him} while `;
+										if (activeSlave.amp !== 1) {
+											t += `letting ${him} fondle ${his2} bouncing belly.`;
+										} else {
+											t += `giving ${him} a face full of belly.`;
+										}
+									}
+								} else if (_partnerSlave.belly === 0) {
+									t += `${partnerName} is pinned on ${his2} back by ${name}`;
+									if (activeSlave.belly >= 5000) {
+										t += `'s belly as ${he} tries ${his} hardest to plant a child in ${him2}.`;
+									} else {
+										t += ` in a mating press as ${he} tries ${his} hardest to plant a child in ${him2}.`;
+									}
+								} else {
+									if (activeSlave.belly >= 5000) {
+										t += `${partnerName} has ${name} on ${his} back so that ${he2} can ride ${him} while lavishing attention on ${his} beloved stomach.`;
+									} else {
+										t += `${name} has ${partnerName} on ${his2} back so that ${he} can fuck ${him2} while lavishing attention on ${his2} bulging stomach.`;
+									}
+								}
+							} else if (canDoAnal(_partnerSlave) && _partnerSlave.anus > 0 && _fuckSeed > 80) {
+								if (_partnerSlave.belly >= 5000) {
+									t += `${partnerName} is `;
+									if (_partnerSlave.bellyPreg >= 1500) {
+										t += `heavily pregnant `;
+									} else {
+										t += `hugely gravid `;
+									}
+									t += `${himself2} `;
+									if (activeSlave.belly >= 5000) {
+										if (activeSlave.amp !== 1 && _partnerSlave.amp !== 1) {
+											t += `so ${name} has ${him2} on all fours as ${he} fucks ${his2} ass while resting ${his} belly on ${his2} back.`;
+										} else {
+											t += `so ${he2} is intertwined as best as ${he2} can for anal sex with ${name} as ${his} belly pushes into ${his2} back.`;
+										}
+									} else {
+										t += `so ${he2} has ${name} on ${his} back so that ${he2} can anally ride ${him} while `;
+										if (activeSlave.amp !== 1) {
+											t += `letting ${him} fondle ${his2} bouncing belly.`;
+										} else {
+											t += `giving ${him} a face full of belly.`;
+										}
+									}
+								} else if (_partnerSlave.belly === 0) {
+									if (activeSlave.belly >= 5000) {
+										t += `${partnerName} has ${name} on ${his} back so that ${he2} can anally ride ${him} while teasing ${his} belly with ${his2} rear.`;
+									} else {
+										t += `${partnerName} is pinned on ${his2} stomach by ${name} as ${he} tries ${his} hardest to impregnate an anus.`;
+									}
+								} else {
+									if (activeSlave.belly >= 5000) {
+										t += `${partnerName} has ${name} on ${his} back so that ${he2} can ride ${him} anally while teasing ${his} prized stomach.`;
+									} else {
+										t += `${name} has ${partnerName} on ${his2} back so that ${he} can fuck ${him2} anally while teasing ${his2} bulging stomach.`;
+									}
+								}
+							} else if (_partnerSlave.boobs >= 2000 && _partnerSlave.belly >= 10000 && _fuckSeed > 75) {
+								t += `${name} is savoring the sensation of ${his} cock between ${partnerName}'s breasts and belly.`;
+							} else {
+								if (activeSlave.belly >= 5000) {
+									t += `${name} is squirming under the sensations of ${partnerName}'s lips around ${his} dick and {his2} head against ${his} underbelly.`;
+								} else {
+									t += `${partnerName} is vigorously trying to calm ${name}'s libido by sucking load after load out of ${him}.`;
+								}
+							}
+						} else if (canDoVaginal(activeSlave) && _fuckSeed > 30) {
+							if (canPenetrate(_partnerSlave) && activeSlave.vagina > 0 && activeSlave.preg === 0 && activeSlave.ovaries === 1) { // impreg
+								if (_partnerSlave.belly >= 5000) {
+									t += `${partnerName} is `;
+									if (_partnerSlave.bellyPreg >= 1500) {
+										t += `heavily pregnant `;
+									} else {
+										t += `hugely gravid `;
+									}
+									t += `${himself2}, but ${name} can't complain about the swollen dome pushing against ${him} as ${he2} fervently tries to sate ${his} lust by putting a baby in ${him}.`;
+								} else {
+									t += `${partnerName} has ${name} pinned on ${his} back in a mating press as ${he2} fervently tries to sate ${his} lust by putting a baby in ${him}.`;
+								}
+							} else {
+								if (_fuckSeed > 50) { // vanilla
+									if (canPenetrate(_partnerSlave) && activeSlave.vagina !== 0) {
+										if (_partnerSlave.belly >= 5000) {
+											t += `${partnerName} is `;
+											if (_partnerSlave.bellyPreg >= 1500) {
+												t += `heavily pregnant `;
+											} else {
+												t += `hugely gravid `;
+											}
+											t += `${himself2} `;
+											if (activeSlave.belly >= 5000) {
+												t += `so ${he2} has ${name} on ${his} side so that ${he2} can fuck ${his} pussy as best ${he2} can with their mutual bellies in the way.`;
+											} else {
+												t += `so ${he2} has ${name} on ${his} back so that ${he2} can fuck ${his} pussy as best ${he2} can with ${his2} belly in the way.`;
+											}
+										} else if (activeSlave.belly >= 5000) {
+											t += `${name} is bouncing heavily on ${partnerName}'s erect dick as ${he2} struggles to support ${his} gravid figure.`;
+										} else {
+											t += `${partnerName} has ${name} pinned on ${his} back in a mating press as ${he2} dutifully blows another load deep in ${his} aching pussy.`;
+										}
+									} else if (_partnerSlave.dick > 0 && activeSlave.belly < 500) {
+										t += `${partnerName} is bringing ${his2} limp dick to orgasm and making sure each and every drop is ending up in ${name}'s pussy.`;
+									} else {
+										if (_partnerSlave.belly >= 5000) {
+											t += `${partnerName} is `;
+											if (_partnerSlave.bellyPreg >= 1500) {
+												t += `heavily pregnant `;
+											} else {
+												t += `hugely gravid `;
+											}
+											t += `${himself2} `;
+											if (activeSlave.belly >= 5000) {
+												t += `so ${he2} is stomach to stomach with ${name} and making out.`;
+											} else {
+												t += `so ${he2} is face to face with ${name} and making out.`;
+											}
+										} else if (activeSlave.belly >= 5000) {
+											t += `${partnerName} is teasing ${his2} lover's huge belly.`;
+										} else {
+											t += `${name} and ${partnerName} are both pretending to be hugely pregnant and cuddling each other.`;
+										}
+									}
+								} else if (canDoVaginal(_partnerSlave) && _fuckSeed > 40) { // scissor
+									if (_partnerSlave.belly >= 5000) {
+										t += `${partnerName} is `;
+										if (_partnerSlave.bellyPreg >= 1500) {
+											t += `heavily pregnant `;
+										} else {
+											t += `hugely gravid `;
+										}
+										t += `${himself2} `;
+										if (activeSlave.belly >= 5000) {
+											t += `so ${he2} and ${name} are trying their hardest to trib with their ever expanding bodies in the way.`;
+										} else {
+											t += `so ${name} is savoring the feeling of ${his2} navel tracing ${his} slit.`;
+										}
+									} else {
+										t += `${name} and ${partnerName} `;
+										if (activeSlave.vagina > 0 && _partnerSlave.vagina > 0) {
+											t += `are locked together and sharing a double-ended dildo.`;
+										} else {
+											t += `are enthusiastically tribbing.`;
+										}
+									}
+								} else { // oral
+									if (_partnerSlave.belly >= 5000) {
+										t += `${partnerName} is `;
+										if (_partnerSlave.bellyPreg >= 1500) {
+											t += `heavily pregnant `;
+										} else {
+											t += `hugely gravid `;
+										}
+										t += `${himself2} `;
+										if (activeSlave.belly >= 5000) {
+											if (activeSlave.dick > 0 && _fuckSeed > 25) {
+												t += `so ${he2} has to try ${his2} hardest to suck ${name}'s dick with ${his2} belly hindering ${his2} movements; something ${name} enjoys tremendously, second only to the feeling of ${his2} head brushing against ${his} underbelly.`;
+											} else {
+												t += `so ${he2} has to try ${his2} hardest to orally service ${name} with ${his2} belly in the way; something ${name} enjoys tremendously, second only to the feeling of ${his2} head brushing against ${his} underbelly.`;
+											}
+										} else {
+											if (activeSlave.dick > 0 && _fuckSeed > 25) {
+												t += `so ${he2} has to try ${his2} hardest to suck ${name}'s dick with ${his2} belly hindering ${his2} movements; something ${name} enjoys tremendously.`;
+											} else {
+												t += `so ${he2} has to try ${his2} hardest to orally service ${name} with ${his2} belly in the way; something ${name} enjoys tremendously.`;
+											}
+										}
+									} else if (activeSlave.belly >= 5000) {
+										if (activeSlave.dick > 0 && _fuckSeed > 25) {
+											t += `${partnerName} has ${name} pinned under ${his} own gravidity so ${he2} may leisurely suck ${his} dick while teasing ${him} by brushing against ${his} sensitive underbelly.`;
+										} else {
+											t += `${partnerName} has ${name} pinned under ${his} own gravidity so ${he2} may leisurely eat ${him} out while teasing ${him} by brushing against ${his} sensitive underbelly.`;
+										}
+									} else {
+										if (activeSlave.dick > 0 && _fuckSeed > 25) {
+											t += `${partnerName} is vigorously trying to calm ${name}'s libido by sucking load after load out of ${him}.`;
+										} else {
+											t += `${name} is squirming under the sensations of ${partnerName}'s tongue as ${he2} vigorously tries to calm ${his} libido.`;
+										}
+									}
+								}
+							}
+						} else if (canDoAnal(activeSlave) && canPenetrate(_partnerSlave) && _fuckSeed > 10) {
+							if (activeSlave.anus > 0 && activeSlave.preg === 0 && activeSlave.mpreg === 1) { // impreg
+								if (_partnerSlave.belly >= 5000) {
+									t += `${partnerName} is `;
+									if (_partnerSlave.bellyPreg >= 1500) {
+										t += `heavily pregnant `;
+									} else {
+										t += `hugely gravid `;
+									}
+									t += `${himself2}, but ${name} can't complain about the swollen dome pushing against ${his} back as ${he2} fervently tries to sate ${his} lust by putting a baby in ${him}.`;
+								} else {
+									t += `${partnerName} has ${name} pinned on ${his} stomach as ${he2} fervently tries to sate ${his} lust by putting a baby in ${him}.`;
+								}
+							} else if (activeSlave.anus === 0) {
+								if (_partnerSlave.belly >= 5000) {
+									t += `${partnerName} is `;
+									if (_partnerSlave.bellyPreg >= 1500) {
+										t += `heavily pregnant `;
+									} else {
+										t += `hugely gravid `;
+									}
+									t += `${himself2} `;
+									if (activeSlave.belly >= 5000) {
+										t += `so ${he2} is stomach to stomach with ${name} and making out.`;
+									} else {
+										t += `so ${he2} is face to face with ${name} and making out.`;
+									}
+								} else if (activeSlave.belly >= 5000) {
+									t += `${partnerName} is teasing ${his2} lover's huge belly.`;
+								} else {
+									t += `${name} and ${partnerName} are both pretending to be hugely pregnant and cuddling each other.`;
+								}
+							} else {
+								if (_partnerSlave.belly >= 5000) {
+									t += `${partnerName} is `;
+									if (_partnerSlave.bellyPreg >= 1500) {
+										t += `heavily pregnant `;
+									} else {
+										t += `hugely gravid `;
+									}
+									t += `${himself2} `;
+									if (activeSlave.belly >= 5000) {
+										t += `so ${he2} has ${name} on ${his} side so that ${he2} can fuck ${his} ass as best ${he2} can with their mutual bellies in the way.`;
+									} else {
+										t += `so ${he2} has ${name} on ${his} front so that ${he2} can fuck ${his} ass as best ${he2} can with ${his2} belly in the way.`;
+									}
+								} else if (activeSlave.belly >= 5000) {
+									t += `${name} is bouncing heavily on ${partnerName}'s erect dick as ${he2} struggles to anally satisfy ${his2} gravid partner.`;
+								} else {
+									t += `${partnerName} has ${name} pinned on ${his} front as ${he2} dutifully plows ${his} needy anus in an attempt to sate ${his} bottomless lust.`;
+								}
+							}
+						} else { // oral
+							if (_partnerSlave.belly >= 5000) {
+								t += `${partnerName} is `;
+								if (_partnerSlave.bellyPreg >= 1500) {
+									t += `heavily pregnant `;
+								} else {
+									t += `hugely gravid `;
+								}
+								t += `${himself2} `;
+								if (activeSlave.belly >= 5000) {
+									if (activeSlave.dick > 0 && _fuckSeed > 5) {
+										t += `so ${he2} has to try ${his2} hardest to suck ${name}'s dick with ${his2} belly hindering ${his2} movements; something ${name} enjoys tremendously, second only to the feeling of ${his2} head brushing against ${his} underbelly.`;
+									} else {
+										t += `so ${he2} has to try ${his2} hardest to orally service ${name} with ${his2} belly in the way; something ${name} enjoys tremendously, second only to the feeling of ${his2} head brushing against ${his} underbelly.`;
+									}
+								} else {
+									if (activeSlave.dick > 0 && _fuckSeed > 5) {
+										t += `so ${he2} has to try ${his2} hardest to suck ${name}'s dick with ${his2} belly hindering ${his2} movements; something ${name} enjoys tremendously.`;
+									} else {
+										t += `so ${he2} has to try ${his2} hardest to orally service ${name} with ${his2} belly in the way; something ${name} enjoys tremendously.`;
+									}
+								}
+							} else if (activeSlave.belly >= 5000) {
+								if (activeSlave.dick > 0 && _fuckSeed > 5) {
+									t += `${partnerName} has ${name} pinned under ${his} own gravidity so ${he2} may leisurely suck ${his} dick while teasing ${him} by brushing against ${his} sensitive underbelly.`;
+								} else {
+									t += `${partnerName} has ${name} pinned under ${his} own gravidity so ${he2} may leisurely eat ${him} out while teasing ${him} by brushing against ${his} sensitive underbelly.`;
+								}
+							} else {
+								if (activeSlave.dick > 0 && _fuckSeed > 5) {
+									t += `${partnerName} is vigorously trying to calm ${name}'s libido by sucking load after load out of ${him}.`;
+								} else {
+									t += `${name} is squirming under the sensations of ${partnerName}'s tongue as ${he2} vigorously tries to calm ${his} libido.`;
+								}
+							}
+						}
+						break;
+					default:
+						t += `having intimate sex ${_fuckSpot}.`;
+						break;
+				}
+			} else if (!activeSlave.need || activeSlave.energy < 20) {
+				t += `just spooning in bed. Since ${name} `;
+				if (activeSlave.energy < 20) {
+					t += `in sexually frigid, `;
+				} else {
+					t += `gets fucked at work, `;
+				}
+				t += `${partnerName} understands that what ${he} really wants from ${him2} is emotional intimacy. They're cuddling quietly, offering each other silent comfort and companionship.`;
+			} else if (canPenetrate(activeSlave) && (_partnerSlave.vagina > 0) && canDoVaginal(_partnerSlave) && _partnerSlave.amp !== 1 && (activeSlave.belly + _partnerSlave.belly < 10000)) {
+				if (_partnerSlave.ID === V.HeadGirl.ID && V.HGSuite === 1) {
+					t += `in bed `;
+				} else if (activeSlave.livingRules === "luxurious") {
+					t += `in bed `;
+				} else {
+					t += `on ${name}'s bedroll `;
+				}
+				t += `${_fuckSpot}, making love in the missionary position. ${partnerName} has ${his2} legs wrapped around ${name}'s waist and ${his2} arms hugging ${him} around the chest, and is `;
+				if (canSee(_partnerSlave)) {
+					t += `looking deep into ${his} eyes `;
+				} else {
+					t += `gazing longingly into ${his} face `;
+				}
+				t += `as ${he2} enjoys the wonderful feeling of ${his2} ${activeSlaveRel}'s cock in ${his2} womanhood.`;
+			} else if (activeSlave.clit > 2 && canDoVaginal(activeSlave) && _partnerSlave.vagina > 0 && canDoVaginal(_partnerSlave) && _partnerSlave.amp !== 1 && (activeSlave.belly + _partnerSlave.belly < 10000)) {
+				if (_partnerSlave.ID === V.HeadGirl.ID && V.HGSuite === 1) {
+					t += `in bed `;
+				} else if (activeSlave.livingRules === "luxurious") {
+					t += `in bed `;
+				} else {
+					t += `on ${name}'s bedroll `;
+				}
+				t += `${_fuckSpot}, making love in the missionary position. ${partnerName} has ${his2} legs wrapped around ${name}'s waist and ${his2} arms hugging ${him} around the chest, and is `;
+				if (canSee(_partnerSlave)) {
+					t += `looking deep into ${his} eyes `;
+				} else {
+					t += `gazing longingly into ${his} face `;
+				}
+				t += `as ${he2} enjoys the wonderful feeling of ${his2} ${activeSlaveRel}'s huge clit in ${his2} womanhood.`;
+			} else if (activeSlave.dick > 1 && canPenetrate(activeSlave) && canDoAnal(_partnerSlave) && _partnerSlave.anus > 0 && activeSlave.amp !== 1 && activeSlave.belly < 10000) {
+				if (_partnerSlave.ID === V.HeadGirl.ID && V.HGSuite === 1) {
+					t += `in bed `;
+				} else if (activeSlave.livingRules === "luxurious") {
+					t += `in bed `;
+				} else {
+					t += `on ${name}'s bedroll `;
+				}
+				t += `${_fuckSpot}, having gentle anal sex while spooning. ${name} is enjoying ${partnerName}'s ass, and is doing ${his} best to ensure ${his} ${activeSlaveRel} enjoys being buttfucked. ${He}'s nibbling ${his} ${activeSlaveRel}'s `;
+				if (_partnerSlave.earShape !== "none") {
+					t += `ears and `;
+				}
+				t += `neck, cupping a breast with one hand, and lightly stimulating ${him2} with the other.`;
+			} else if (activeSlave.clit > 2 && canDoAnal(_partnerSlave) && _partnerSlave.anus > 0 && _partnerSlave.amp !== 1 && activeSlave.amp !== 1) {
+				if (_partnerSlave.ID === V.HeadGirl.ID && V.HGSuite === 1) {
+					t += `in bed `;
+				} else if (activeSlave.livingRules === "luxurious") {
+					t += `in bed `;
+				} else {
+					t += `on ${name}'s bedroll `;
+				}
+				t += `${_fuckSpot}, managing to have clitoral-anal sex. ${partnerName} is face-down with ${his2} ass up, spreading ${his2} buttocks as wide as possible, giving ${his2} ${activeSlaveRel} the opportunity to squat over ${him2} and penetrate it with ${his} huge, erect clit. ${name} can't thrust much, but the shocking lewdness of the act is enough for both of them.`;
+			} else if (canPenetrate(activeSlave) && _partnerSlave.amp !== 1 && activeSlave.amp !== 1 && activeSlave.belly < 10000) {
+				if (_partnerSlave.ID === V.HeadGirl.ID && V.HGSuite === 1) {
+					t += `in bed `;
+				} else if (activeSlave.livingRules === "luxurious") {
+					t += `in bed `;
+				} else {
+					t += `on ${name}'s bedroll `;
+				}
+				t += `${_fuckSpot}, spooning while ${name} gently rubs ${his} cock between ${partnerName}'s thighs, pressed tightly together. Since ${partnerName} is a virgin, this is the closest they can come to penetrative intercourse, but ${name} is enjoying ${partnerName}'s body anyway, and is doing ${his} best to ensure ${his} ${activeSlaveRel} enjoys ${himself2}. ${He}'s nibbling ${his} ${activeSlaveRel}'s `;
+				if (_partnerSlave.earShape !== "none") {
+					t += `ears and `;
+				}
+				t += `neck, cupping a breast with one hand, and lightly stimulating ${him2} with the other.`;
+			} else if (activeSlave.clit > 2 && canDoVaginal(activeSlave) && _partnerSlave.amp !== 1 && activeSlave.amp !== 1) {
+				if (_partnerSlave.ID === V.HeadGirl.ID && V.HGSuite === 1) {
+					t += `in bed `;
+				} else if (activeSlave.livingRules === "luxurious") {
+					t += `in bed `;
+				} else {
+					t += `on ${name}'s bedroll `;
+				}
+				t += `${_fuckSpot}, with ${partnerName} down on ${his2} knees in front of ${name}. From behind ${partnerName} it looks like ${he2}'s giving ${his2} ${activeSlaveRel} a conventional, if enthusiastic, blowjob. Only on closer inspection does it become clear how unusual the oral is: ${name} has such a huge clit that ${his} ${activeSlaveRel} can suck ${him} off just like it were a penis.`;
+			} else if (_partnerSlave.vagina > 0 && canDoVaginal(_partnerSlave) && _partnerSlave.amp !== 1 && (activeSlave.belly + _partnerSlave.belly < 10000)) {
+				if (_partnerSlave.ID === V.HeadGirl.ID && V.HGSuite === 1) {
+					t += `in bed `;
+				} else if (activeSlave.livingRules === "luxurious") {
+					t += `in bed `;
+				} else {
+					t += `on ${name}'s bedroll `;
+				}
+				t += `${_fuckSpot}, making love in the missionary position. ${partnerName} has ${his2} legs wrapped around ${name}'s waist and ${his2} arms hugging ${him} around the chest, and is `;
+				if (canSee(_partnerSlave)) {
+					t += `looking deep into ${his} eyes `;
+				} else {
+					t += `gazing longingly into ${his} face `;
+				}
+				t += `as ${he2} enjoys the feeling of ${his2} ${activeSlaveRel} fucking ${him2} with a strap-on.`;
+			} else if (_partnerSlave.anus > 0 && canDoAnal(_partnerSlave) && activeSlave.amp !== 1 && activeSlave.belly < 10000) {
+				if (_partnerSlave.ID === V.HeadGirl.ID && V.HGSuite === 1) {
+					t += `in bed `;
+				} else if (activeSlave.livingRules === "luxurious") {
+					t += `in bed `;
+				} else {
+					t += `on ${name}'s bedroll `;
+				}
+				t += `${_fuckSpot}, having gentle anal sex while spooning. ${name} is enjoying penetrating ${partnerName}'s ass with a strap-on, and is doing ${his} best to ensure ${his} ${activeSlaveRel} enjoys being buttfucked. ${He}'s nibbling ${his} ${activeSlaveRel}'s `;
+				if (_partnerSlave.earShape !== "none") {
+					t += `ears and `;
+				}
+				t += `neck, cupping a breast with one hand, and lightly stimulating ${him} with the other.`;
+			} else if (_partnerSlave.amp !== 1 && activeSlave.amp !== 1) {
+				if (_partnerSlave.ID === V.HeadGirl.ID && V.HGSuite === 1) {
+					t += `in bed `;
+				} else if (activeSlave.livingRules === "luxurious") {
+					t += `in bed `;
+				} else {
+					t += `on ${name}'s bedroll `;
+				}
+				t += `${_fuckSpot}, enjoying some mutual masturbation.`;
+			} else if (_partnerSlave.amp === 1) {
+				t += `just cuddling `;
+				if (_partnerSlave.ID === V.HeadGirl.ID && V.HGSuite === 1) {
+					t += `in bed `;
+				} else if (activeSlave.livingRules === "luxurious") {
+					t += `in bed `;
+				} else {
+					t += `on ${name}'s bedroll `;
+				}
+				t += `${_fuckSpot}. ${name} is using ${partnerName}'s limbless torso as a pillow, which ${partnerName} seems to be enjoying, by ${his2} contented expression.`;
+			} else {
+				t += `just cuddling `;
+				if (_partnerSlave.ID === V.HeadGirl.ID && V.HGSuite === 1) {
+					t += `in bed `;
+				} else if (activeSlave.livingRules === "luxurious") {
+					t += `in bed `;
+				} else {
+					t += `on ${name}'s bedroll `;
+				}
+				t += `${_fuckSpot}. They're lying quietly, offering each other silent comfort and companionship.`;
+			}
+		} else if (_seed >= 33) {
+			/* CUDDLE TIME */
+			if (activeSlave.energy > 95 && _fuckSeed > 70) {
+				t += `lying in bed together. ${partnerName} has somehow managed to exhaust ${his2} ${activeSlaveRel}, and the sexually sated nympho is curled up with ${his} head on ${partnerName}'s chest, snoring lightly. ${partnerName} is smiling fondly at ${him}.`;
+			} else if (activeSlave.fetish !== "none" && _fuckSeed > 50) {
+				switch (activeSlave.fetish) {
+					case "boobs":
+						t += `sleeping in bed together. ${name} is using ${partnerName}'s `;
+						if (_partnerSlave.boobs > 10000) {
+							t += `enormous breasts`;
+						} else if (_partnerSlave.boobs > 2000) {
+							t += `huge boobs`;
+						} else if (_partnerSlave.boobs > 300) {
+							t += `healthy tits`;
+						} else {
+							t += `flat chest`;
+						}
+						if (activeSlave.fetishKnown) {
+							t += `, which ${he} loves,`;
+						}
+						t += ` as a pillow.`;
+						break;
+					case "buttslut":
+						t += `sleeping in bed together. ${partnerName} is sleeping face-down so ${name} can use ${his2} `;
+						if (_partnerSlave.butt > 8) {
+							t += `massive rear`;
+						} else if (_partnerSlave.butt > 5) {
+							t += `huge posterior`;
+						} else if (_partnerSlave.butt > 2) {
+							t += `big butt`;
+						} else if (_partnerSlave.butt > 1) {
+							t += `trim behind`;
+						} else {
+							t += `skinny ass`;
+						}
+						if (activeSlave.fetishKnown) {
+							t += `, which ${he} loves,`;
+						}
+						t += ` as a pillow.`;
+						break;
+					case "cumslut":
+						t += `sleeping in bed together. ${name} is spooning ${his} ${activeSlaveRel}, ${his} head nestled alongside ${partnerName}'s, ${his} `;
+						if (activeSlave.lips > 95) {
+							t += `massive `;
+						} else if (activeSlave.lips > 70) {
+							t += `pillowlike `;
+						} else if (activeSlave.lips > 40) {
+							t += `plush `;
+						} else if (activeSlave.lips > 10) {
+							t += `pretty `;
+						} else {
+							t += `thin `;
+						}
+						t += `lips wet from kissing ${him2} to sleep.`;
+						break;
+					case "submissive":
+					case "masochist":
+					case "humiliation":
+						t += `sleeping in bed together. ${name} is being spooned by ${his} ${activeSlaveRel}, smiling peacefully at being held.`;
+						break;
+					case "dom":
+					case "sadist":
+						t += `sleeping in bed together. ${name} is spooning ${his} ${activeSlaveRel} possessively`;
+						if (activeSlave.amp !== 1) {
+							t += `, and even in ${his} sleep, has a proprietary hand on ${partnerName}'s `;
+							if (_partnerSlave.balls > 0) {
+								t += `balls`;
+							} else if (_partnerSlave.balls > 0) {
+								t += `soft cock`;
+							} else if (_partnerSlave.vagina > -1) {
+								t += `pussy`;
+							} else {
+								t += `body`;
+							}
+						}
+						t += `.`;
+						break;
+					case "pregnancy":
+						t += `sleeping in bed together. `;
+						if (activeSlave.belly >= 5000 && _partnerSlave.belly >= 5000) {
+							t += `They are pressed as close as they can be with their rounded middles in the way.`;
+						} else if (activeSlave.belly >= 5000) {
+							t += `${name} is spooning ${his} ${activeSlaveRel} possessively, ${his} rounded belly pushing into ${his2} back.`;
+						} else if (_partnerSlave.belly >= 5000) {
+							t += `${name} is spooning ${his} ${activeSlaveRel} possessively`;
+							if (activeSlave.amp !== 1) {
+								t += `, and even in ${his} sleep, has a proprietary hand on ${partnerName}'s belly`;
+							}
+							t += `.`;
+						} else {
+							t += `${name} is being spooned by ${his} ${activeSlaveRel}, smiling peacefully at being held.`;
+						}
+						break;
+
+				}
+			} else if (_partnerSlave.dick > 6 && activeSlave.amp !== 1 && _fuckSeed > 30) {
+				t += `sleeping in bed together. ${name} is cuddled up close to ${partnerName}, and is cradling ${his} ${activeSlaveRel}'s enormous, soft cock with one hand.`;
+			} else if (activeSlave.height > _partnerSlave.height + 10) {
+				t += `sleeping in bed together, with the taller ${name} curled around ${his} little ${activeSlaveRel}.`;
+			} else if (_partnerSlave.height > activeSlave.height + 10) {
+				t += `sleeping in bed together, with the shorter ${name} curled under ${his} ${activeSlaveRel}.`;
+			} else if (activeSlave.amp === 1) {
+				t += `sleeping in bed together; ${partnerName} is using ${his2} limbless ${activeSlaveRel} as a pillow.`;
+			} else if (_partnerSlave.amp !== 1) {
+				t += `resting in bed together, holding hands in their sleep.`;
+			} else {
+				t += `sleeping quietly in bed together.`;
+			}
+		} else {
+			/* TOGETHER TIME */
+			if (_fuckSeed > 75 && activeSlave.behavioralQuirk !== "none") {
+				switch (activeSlave.behavioralQuirk) {
+					case "confident":
+						t += `finishing up a meal together. ${name} `;
+						if (canTalk(activeSlave) && canHear(_partnerSlave)) {
+							t += `is concluding a story for ${his} ${activeSlaveRel}, ${his} clear confident voice ringing as ${he} relates a slight.`;
+						} else {
+							t += `is boasting to ${his} ${activeSlaveRel}, with ${partnerName} nodding in agreement.`;
+						}
+						break;
+					case "cutting":
+						t += `seeing to their chores together. ${name} `;
+						if (canTalk(activeSlave) && canHear(_partnerSlave)) {
+							t += `is making biting remarks about another one of your other slaves, with which ${his} ${activeSlaveRel} agrees tolerantly.`;
+						} else {
+							t += `is making ${his} thoughts about another one of your other slaves clear to ${his} ${activeSlaveRel}.`;
+						}
+						break;
+					case "funny":
+						if (canTalk(_partnerSlave) && canSee(_partnerSlave)) {
+							t += `seeing to their chores together. ${name} has just produced some unintentional slapstick humor, and ${his} ${activeSlaveRel} is giggling helplessly at ${his} antics.`;
+						} else {
+							t += `getting ready for bed. ${name} is making ${his} ${activeSlaveRel} giggle `;
+							if (canTalk(_partnerSlave)) {
+								t += `silently `;
+							} else {
+								t += `helplessly `;
+							}
+							t += `with ${his} antics.`;
+						}
+						break;
+					case "fitness":
+						t += `have just woken up. `;
+						if (activeSlave.amp !== 1) {
+							t += `${name} is doing ${his} morning crunches, and ${his} ${activeSlaveRel} is sleepily sitting on ${his} feet to help.`;
+						} else {
+							t += `${name} is doing ${his} morning exercises, and ${his} ${activeSlaveRel} is sleepily sitting nearby, providing moral support.`;
+						}
+						break;
+					case "insecure":
+						t += `have just woken up. ${name} is getting dressed when ${his} ${activeSlaveRel} `;
+						if ((canTalk(_partnerSlave) && canHear(activeSlave)) || (_partnerSlave.amp !== 1 && canSee(activeSlave))) {
+							t += `pays ${him} a compliment; ${name} blushes and gives ${partnerName} a kiss.`;
+						} else {
+							t += `demonstrates how much ${he2} adores ${his} body; ${name} blushes and gives ${partnerName} a kiss.`;
+						}
+						break;
+					case "sinful":
+						t += `have just woken up. ${name} appears to be praying, but to go by ${his} ${activeSlaveRel}'s `;
+						if (canTalk(activeSlave) && canHear(_partnerSlave)) {
+							t += `quiet mirth, ${he} seems to be substituting in some lewd words.`;
+						} else if (canSee(_partnerSlave)) {
+							t += `quiet mirth, ${he} seems to be adding in some lewd motions.`;
+						} else {
+							t += `blushing, ${he} seems to be substituting in the occasional lewd act.`;
+						}
+						break;
+					case "advocate":
+						if (canTalk(activeSlave)) {
+							t += `starting a meal together. A third, less well trained slave has asked ${name} an innocent question, and is getting enthusiastic slave dogma in return. ${His} ${activeSlaveRel} smiles tolerantly.`;
+						} else {
+							t += `have just woken up. ${name} is planning out how to better convince new slaves that they made the right choice. ${His} ${activeSlaveRel} just tolerantly goes about tidying up while giving the occasional idea.`;
+						}
+						break;
+					case "adores men":
+						if (canSee(activeSlave) && (canSee(_partnerSlave) || canHear(_partnerSlave))) {
+							t += `sharing a meal together. ${name} is making catcalls at passing boys, and ${his} ${activeSlaveRel} is nudging ${him} in the ribs every time {he2} catches it.`;
+						} else {
+							t += `getting ready for bed. ${name} is demonstrating just how much ${he} adores men to ${his} ${activeSlaveRel} while ${he2} nods `;
+							if (_partnerSlave.genes === "XX") {
+								t += `tolerantly.`;
+							} else {
+								t += `appreciatively.`;
+							}
+						}
+						break;
+					case "adores women":
+						if (canSee(activeSlave) && (canSee(_partnerSlave) || canHear(_partnerSlave))) {
+							t += `sharing a meal together. ${name} is making catcalls at passing girls, and ${his} ${activeSlaveRel} is nudging ${him} in the ribs every time {he2} catches it.`;
+						} else {
+							t += `getting ready for bed. ${name} is demonstrating just how much ${he} adores ladies to ${his} ${activeSlaveRel} while ${he2} nods `;
+							if (_partnerSlave.genes === "XY") {
+								t += `tolerantly.`;
+							} else {
+								t += `appreciatively.`;
+							}
+						}
+						break;
+
+				}
+			} else if (_fuckSeed > 50) {
+				if ((activeSlave.actualAge >= _partnerSlave.actualAge + 10) && canTalk(_partnerSlave) && canHear(activeSlave)) {
+					t += `tidying up their room together. ${partnerName} is chattering about ${his2} day, while ${name} listens quietly, smiling fondly at ${his} ${activeSlaveRel}'s prattle.`;
+				} else if ((_partnerSlave.actualAge >= activeSlave.actualAge + 10) && canTalk(activeSlave) && canHear(_partnerSlave)) {
+					t += `tidying up their room together. ${name} is chattering about ${his} day, while ${partnerName} listens quietly, smiling fondly at ${his2} ${activeSlaveRel}'s prattle.`;
+				} else if (activeSlave.amp !== 1 && !canTalk(activeSlave) && canSee(_partnerSlave)) {
+					t += `getting ready for bed. ${name} is using gestures to tell ${his} ${activeSlaveRel} about ${his} day; ${partnerName} is very patient and does ${his2} best to follow.`;
+				} else if (canTalk(activeSlave) && canTalk(_partnerSlave) && canHear(activeSlave) && canHear(_partnerSlave)) {
+					t += `tidying up their room together. ${name} and ${partnerName} are chattering away over inconsequential things.`;
+				} else if (canSee(activeSlave) && canSee(_partnerSlave) && activeSlave.amp !== 1 && _partnerSlave.amp !== 1) {
+					t += `getting ready for bed. ${name} and ${partnerName} are rapidly gesturing to each other about their days.`;
+				} else {
+					t += `getting ready for bed. ${name} and ${his} ${activeSlaveRel}, ${partnerName}, are leaning against one another, just enjoying each other's warmth.`;
+				}
+			} else if (_fuckSeed > 25) {
+				t += `using some of their free time to `;
+				if (!canWalk(activeSlave) && canWalk(_partnerSlave)) {
+					if (canSee(activeSlave) && canSee(_partnerSlave)) {
+						t += `watch the weather; ${partnerName} helped ${his2} ${activeSlaveRel} to a window so ${he} could look out with ${him2}.`;
+					} else {
+						t += `get some fresh air; ${partnerName} helped ${his2} ${activeSlaveRel} to a balcony so ${he} could enjoy the breeze with ${him2}.`;
+					}
+				} else if (!canWalk(_partnerSlave) && canWalk(activeSlave)) {
+					if (canSee(activeSlave) && canSee(_partnerSlave)) {
+						t += `watch the weather; ${name} helped ${his} ${activeSlaveRel} to a window so ${he2} could look out with ${him}.`;
+					} else {
+						t += `get some fresh air; ${name} helped ${his} ${activeSlaveRel} to a balcony so ${he2} could enjoy the breeze with ${him}.`;
+					}
+				} else {
+					t += `rest on one of the penthouse balconies and enjoy the weather.`;
+				}
+			} else {
+				if (V.cockFeeder === 1) {
+					t += `taking in a meal together; they've chosen dispensers next to each other and are slurping away.`;
+				} else if (V.suppository === 1) {
+					t += `taking their drugs together; they've chosen fuckmachines next to each other and are `;
+					if (canTalk(activeSlave) && canTalk(_partnerSlave) && canHear(activeSlave) && canHear(_partnerSlave)) {
+						t += `chatting quietly as they're sodomized.`;
+					} else {
+						t += `enjoying their mutual sodomy.`;
+					}
+				} else {
+					t += `eating a quiet meal together.`;
+				}
+			}
+		}
+		/* CLOSE SEXY/CUDDLE/TOGETHER TIME */
+
+		V.target = "FRelation";
+	} else {
+		t += ` Lover not found!`;
+	}
+	return t;
+};
+
+window.relatedSlave = function(activeSlave) {
+	const V = State.variables;
+	const pronouns = getPronouns(activeSlave);
+	const he = pronouns.pronoun,
+		him = pronouns.object,
+		his = pronouns.possessive,
+		hers = pronouns.possessivePronoun,
+		himself = pronouns.objectReflexive,
+		boy = pronouns.noun;
+	const He = capFirstChar(he),
+		His = capFirstChar(his);
+	let t = "";
+	let activeSlaveRel;
+	let partnerSlave;
+
+	let fuckseed = jsRandom(1, 100);
+
+	if (V.partner === "relation") {
+		if (V.familyTesting === 1) {
+			partnerSlave = V.relation;
+		} else {
+			partnerSlave = getSlave(activeSlave.relationTarget);
+		}
+	} else {
+		activeSlaveRel = relationshipTerm(activeSlave);
+		partnerSlave = getSlave(activeSlave.relationshipTarget);
+	}
+
+	if (partnerSlave !== undefined) {
+		/* potential problem point */
+
+		t += ` ${His} `;
+		if (V.partner === "relation") {
+			if (V.familyTesting === 1) {
+				t += `${V.relationType} `;
+			} else {
+				t += `${partnerSlave.relation} `;
+			}
+		} else {
+			t += `${activeSlaveRel} `;
+		}
+		t += `${partnerSlave.slaveName} `;
+		t += walkPasts(partnerSlave, fuckseed);
+
+		V.target = "FRelation"; /* potentially removed later */
+	} else {
+		t += ` Expected partner not found!`;
+	}
+
+	return t;
+};
+
+window.walkPasts = function(slave, _seed) {
+
+	/* will be moved up once this becomes a single, contained function. */
+	const V = State.variables;
+	const pronouns = getPronouns(slave);
+	const he = pronouns.pronoun,
+		him = pronouns.object,
+		his = pronouns.possessive,
+		hers = pronouns.possessivePronoun,
+		himself = pronouns.objectReflexive,
+		boy = pronouns.noun;
+	const He = capFirstChar(he),
+		His = capFirstChar(his);
+	let _target = "";
+	let t = "";
+	let race = (V.seeRace ? slave.race : "");
+
+	switch (slave.assignment) {
+		case "be your agent":
+			t += `is shaping society in ${his} assigned arcology.`;
+			break;
+		case "live with your agent":
+			t += `is helping ${his} lover shape society in ${his} assigned arcology.`;
+			break;
+		case "work in the dairy":
+			if (V.dairyRestraintsSetting > 1) {
+				t += `is strapped to a milking machine in ${V.dairyName}, `;
+				if (slave.ovaries === 1 && V.dairyPregSetting > 0 && jsRandom(1, 2) === 2) {
+					if (isFertile(slave)) {
+						t += `and is wincing in pain as the machine forces another load of cum into ${his} womb. As you watch, ${his} ${race} stomach steadily swells with baby batter.`;
+					} else {
+						t += `giving you a good view of ${his} ${race} body and heavy belly on the feeds.`;
+					}
+				} else if (slave.lactation > 0) {
+					if (slave.balls > 0 && jsRandom(1, 2) === 1) {
+						if (slave.dick > 0) {
+							if (_seed > 50) {
+								t += `and is having ${his} cock sucked dry. As you watch, `;
+								if (slave.scrotum) {
+									t += `${his} balls tighten `;
+								} else {
+									t += `${he} begins to thrust harder `;
+								}
+								if (V.dairyStimulatorsSetting > 0) {
+									t += `as the phallus up ${his} butt `;
+								} else {
+									t += `as the suction to ${his} dick `;
+								}
+								t += `forces ${him} closer to yet another ejaculation.`;
+							} else {
+								t += `and is wincing in pain as the machine sucks ${his} sore cock, but you have a good view of ${his} ${race} body on the feeds.`;
+							}
+						} else {
+							if (_seed > 50) {
+								t += `and is having ${his} balls sucked dry. As you watch, `;
+								if (slave.scrotum) {
+									t += `${his} scrotum tightens `;
+								} else {
+									t += `${he} begins to thrust harder `;
+								}
+								if (V.dairyStimulatorsSetting) {
+									t += `as the phallus up ${his} butt `;
+								} else {
+									t += `as the suction against ${his} crotch `;
+								}
+								t += `forces ${him} closer to yet another leaking ejaculation.`;
+							} else {
+								t += `and is wincing in pain as the machine sucks ${his} empty balls, but you have a good view of ${his} ${race} body on the feeds.`;
+							}
+						}
+					} else {
+						if (_seed > 50) {
+							t += `and is having ${his} tits drained, but you have a good view of ${his} ${race} body on the feeds.`;
+						} else {
+							t += `and is recovering after having ${his} tits sucked dry, but you have a good view of ${his} ${race} body on the feeds.`;
+						}
+					}
+				} else if (slave.balls > 0) {
+					if (slave.dick > 0) {
+						if (_seed > 50) {
+							t += `and is having ${his} cock sucked dry. As you watch, `;
+							if (slave.scrotum) {
+								t += `${his} balls tighten `;
+							} else {
+								t += `${he} begins to thrust harder `;
+							}
+							if (V.dairyStimulatorsSetting > 0) {
+								t += `as the phallus up ${his} butt `;
+							} else {
+								t += `as the suction to ${his} dick `;
+							}
+							t += `forces ${him} closer to yet another ejaculation.`;
+						} else {
+							t += `and is wincing in pain as the machine sucks ${his} sore cock, but you have a good view of ${his} ${race} body on the feeds.`;
+						}
+					} else {
+						if (_seed > 50) {
+							t += `and is having ${his} balls sucked dry. As you watch, `;
+							if (slave.scrotum) {
+								t += `${his} scrotum tightens `;
+							} else {
+								t += `${he} begins to thrust harder `;
+							}
+							if (V.dairyStimulatorsSetting) {
+								t += `as the phallus up ${his} butt `;
+							} else {
+								t += `as the suction against ${his} crotch `;
+							}
+							t += `forces ${him} closer to yet another leaking ejaculation.`;
+						} else {
+							t += `and is wincing in pain as the machine sucks ${his} empty balls, but you have a good view of ${his} ${race} body on the feeds.`;
+						}
+					}
+				} else {
+					t += `and is massaging ${his} sore, milkless tits, but you have a good view of ${his} ${race} body on the feeds.`;
+				}
+			} else {
+				t += `is working in ${V.dairyName}, `;
+				if (slave.lactation > 0) {
+					if (slave.balls > 0 && jsRandom(1, 2) === 1) {
+						if (slave.dick > 0) {
+							if (_seed > 50) {
+								t += `and is having ${his} cock milked. As you watch, `;
+								if (slave.scrotum) {
+									t += `${his} balls tighten `;
+								} else {
+									t += `${he} begins to thrust harder `;
+								}
+								if (V.dairyStimulatorsSetting > 0) {
+									t += `as the phallus up ${his} butt `;
+								} else {
+									t += `as the suction to ${his} dick `;
+								}
+								t += `brings ${him} closer to a copious ejaculation.`;
+							} else {
+								t += `and is massaging ${his} sore swollen cock, but you have a good view of ${his} ${race} body on the feeds.`;
+							}
+						} else {
+							if (_seed > 50) {
+								t += `and is having ${his} balls drained. As you watch, `;
+								if (slave.scrotum) {
+									t += `${his} scrotum tightens `;
+								} else {
+									t += `${he} begins to thrust harder `;
+								}
+								if (V.dairyStimulatorsSetting) {
+									t += `as the phallus up ${his} butt `;
+								} else {
+									t += `as the suction against ${his} crotch `;
+								}
+								t += `brings ${him} closer to a copious squirting.`;
+							} else {
+								t += `and is massaging ${his} aching balls, but you have a good view of ${his} ${race} body on the feeds.`;
+							}
+						}
+					} else {
+						if (_seed > 50) {
+							t += `and is having ${his} tits milked, but you have a good view of ${his} ${race} body on the feeds.`;
+						} else {
+							t += `and is massaging ${his} sore tits, but you have a good view of ${his} ${race} body on the feeds.`;
+						}
+					}
+				} else if (slave.balls > 0) {
+					if (slave.dick > 0) {
+						if (_seed > 50) {
+							t += `and is having ${his} cock milked. As you watch, `;
+							if (slave.scrotum) {
+								t += `${his} balls tighten `;
+							} else {
+								t += `${he} begins to thrust harder `;
+							}
+							if (V.dairyStimulatorsSetting) {
+								t += `as the phallus up ${his} butt `;
+							} else {
+								t += `as the suction to ${his} dick `;
+							}
+							t += `brings ${him} closer to a copious ejaculation.`;
+						} else {
+							t += `and is massaging ${his} sore swollen cock, but you have a good view of ${his} ${race} body on the feeds.`;
+						}
+					} else {
+						if (_seed > 50) {
+							t += `and is having ${his} balls drained. As you watch, `;
+							if (slave.scrotum) {
+								t += `${his} scrotum tightens `;
+							} else {
+								t += `${he} begins to thrust harder `;
+							}
+							if (V.dairyStimulatorsSetting) {
+								t += `as the phallus up ${his} butt `;
+							} else {
+								t += `as the suction against ${his} crotch `;
+							}
+							t += `brings ${him} closer to a copious squirting.`;
+						} else {
+							t += `and is massaging ${his} aching balls, but you have a good view of ${his} ${race} body on the feeds.`;
+						}
+					}
+				} else {
+					t += `and is massaging ${his} sore, milkless tits, but you have a good view of ${his} ${race} body on the feeds.`;
+				}
+			}
+			break;
+		case "work in the brothel":
+			t += `is working in ${V.brothelName}, and is `;
+			if (Beauty(slave) > 100 && jsRandom(1, 2) === 1) {
+				if (_seed > 80) {
+					if (canDoAnal(slave) || canDoVaginal(slave)) {
+						t += `riding one customer's dick while ${he} gives another a blowjob.`;
+					} else {
+						t += `deep throating a pair of customer's dicks.`;
+					}
+				} else if (_seed > 60 && slave.amp !== 1) {
+					t += `sucking one customer's cock while giving another a handjob.`;
+				} else if (_seed > 40) {
+					t += `eating out one customer's cunt while another `;
+					if (canDoAnal(slave) || canDoVaginal(slave)) {
+						t += `uses a strap-on on ${him}.`;
+					} else {
+						t += `teases ${his} butt.`;
+					}
+				} else if (_seed > 20) {
+					if (canDoAnal(slave) || canDoVaginal(slave)) {
+						t += `getting pounded by `;
+					} else {
+						t += `amusing `;
+					}
+					t += `two women wearing strap-ons.`;
+				} else {
+					if (canDoAnal(slave) || canDoVaginal(slave)) {
+						t += `being double penetrated by `;
+					} else {
+						t += `using ${his} body to please `;
+					}
+					t += `a pair of customers.`;
+				}
+			} else if (_seed > 80) {
+				if (canDoAnal(slave) || canDoVaginal(slave)) {
+					t += `pleasing `;
+				} else {
+					t += `riding `;
+				}
+				t += `a customer's dick.`;
+			} else if (_seed > 60) {
+				t += `sucking a customer's cock.`;
+			} else if (_seed > 40) {
+				t += `pleasuring a customer's cunt.`;
+			} else if (_seed > 20) {
+				t += `getting pounded by a woman wearing a strap-on.`;
+			} else {
+				t += `being held down and `;
+				if (canDoAnal(slave)) {
+					t += `buttfucked `;
+				} else {
+					t += `raped `;
+				}
+				t += `by a customer.`;
+			}
+			t += ` You have a voyeuristic view of ${his} ${race} body on the feeds.`;
+			break;
+		case "serve in the club":
+			t += `is working in ${V.clubName}, `;
+			if (_seed > 50) {
+				t += `displaying ${his} ${race} body, keeping citizens company, and flirting with anyone who shows interest.`;
+			} else {
+				t += `or rather just off it, having taken a prominent citizen back to a discreet room so he can use ${his} ${race} body.`;
+			}
+			break;
+		case "work as a servant":
+			if (_seed > 50) {
+				t += `was scrubbing the penthouse floor, until another slave requested oral service.`;
+			} else {
+				t += `is scrubbing the penthouse floor.`;
+			}
+			break;
+		case "serve in the master suite":
+			if (slave.fuckdoll > 0) {
+				t += `waiting for use in ${V.masterSuiteName}, next to a display case full of other sex toys.`;
+			} else if (V.masterSuiteUpgradeLuxury === 1) {
+				if (_seed > 50) {
+					t += `is sitting on the big bed in ${V.masterSuiteName}, awaiting your return.`;
+				} else {
+					t += `is beautifying ${himself} in ${V.masterSuiteName} so ${he}'ll be pretty when you return.`;
+				}
+			} else if (V.masterSuiteUpgradeLuxury === 2) {
+				t += `is in ${V.masterSuiteName}'s fuckpit, `;
+				if (_seed > 80) {
+					t += `with a pair of ${his} fellow fucktoys industriously sucking on ${his} nipples.`;
+				} else if (_seed > 60) {
+					if ((slave.anus > 0 && canDoAnal(slave)) || (slave.vagina > 0 && canDoVaginal(slave))) {
+						t += `taking double penetration from `;
+					} else {
+						t += `being spitroasted by `;
+					}
+					t += `a pair of ${his} fellow fucktoys.`;
+				} else if (_seed > 40) {
+					if (canPenetrate(slave)) {
+						t += `with ${his} dick inside `;
+					} else if (slave.dick > 0 && slave.chastityPenis !== 1) {
+						t += `getting ${his} soft dick sucked by `;
+					} else if (canDoVaginal(slave) || canDoAnal(slave)) {
+						t += `getting eaten out by `;
+					} else {
+						t += `making out with `;
+					}
+					t += `a fellow fucktoy.`;
+				} else if (_seed > 20) {
+					if (slave.vagina > 0 && canDoVaginal(slave)) {
+						t += `getting pounded `;
+					} else if (slave.anus > 0 && canDoAnal(slave)) {
+						t += `getting ${his} ass pounded `;
+					} else if (canDoVaginal(slave) || canDoAnal(slave)) {
+						t += `getting eaten out `;
+					} else {
+						t += `getting deepthroated `;
+					}
+					t += `by a fellow fucktoy.`;
+				} else {
+					t += `performing oral sex on a fellow fucktoy.`;
+				}
+			} else {
+				if (slave.energy > 95) {
+					t += `is having enthusiastic sex with your other pets while waiting for you to ravish ${him}.`;
+				} else {
+					t += `is having idle sex with several of your other toys while they await your pleasure.`;
+					if (slave.fetishKnown === 1) {
+						switch (slave.fetish) {
+							case "buttslut":
+								if (canDoAnal(slave) && slave.anus > 0) {
+									t += `${He}'s happily taking a strap-on up ${his} asspussy.`;
+								} else {
+									t += `${He}'s happily got another slave between ${his} buttcheeks.`;
+								}
+								break;
+							case "cumslut":
+								t += `${He}'s happily performing oral on another slave.`;
+								break;
+							case "dom":
+								t += `${He}'s pinning another slave down while ${he} fucks her.`;
+								break;
+							case "submissive":
+								t += `${He}'s letting another slave have her way with ${him}.`;
+								break;
+							case "sadist":
+								if (slave.amp !== 1) {
+									t += `${He}'s spanking another slave with one hand and fingering her with the other.`;
+								} else {
+									t += `${He}'s painfully teasing another slave's nipple with ${his} teeth.`;
+								}
+								break;
+							case "masochist":
+								t += `Another slave is spanking ${him} while molesting everything she can.`;
+								break;
+							case "boobs":
+								t += `${He} has a slave sucking on each of ${his} nipples`;
+								if (slave.amp !== 1) {
+									t += ` while ${he} gives each a handjob.`;
+								} else {
+									t += `.`;
+								}
+								break;
+							case "pregnancy":
+								if (slave.belly >= 5000) {
+									t += `${He}'s sighing contentedly as ${his} rounded belly is sensually rubbed.`;
+								} else if (canPenetrate(slave)) {
+									t += `${He}'s happily roleplaying impregnating the slave ${he}'s fucking.`;
+								} else if ((slave.anus > 0 && canDoAnal(slave)) || (slave.vagina > 0 && canDoVaginal(slave))) {
+									t += `${He}'s happily roleplaying conceiving a child as ${he} gets fucked.`;
+								} else {
+									t += `${He}'s happily roleplaying being hugely pregnant.`;
+								}
+								break;
+
+						}
+					}
+				}
+			}
+			break;
+			/*
+			case "guard you":
+				t += `is standing discreetly behind your left shoulder, watching for threats.`;
+				break
+			 */
+		case "stay confined":
+			t += `is confined, but you have a fine view of ${his} ${race} body on the feed from ${his} cell.`;
+			break;
+		case "be confined in the cellblock":
+			t += `is confined in ${V.cellblockName}, but you have a fine view of ${his} ${race} body on the feed from ${his} cell.`;
+			break;
+		case "be confined in the arcade":
+		case "work a glory hole":
+			t += `is confined in `;
+			if (slave.assignment === "be confined in the arcade") {
+				t += `${V.arcadeName}; `;
+			} else {
+				t += `a glory hole; `;
+			}
+			if (_seed > 80 && (canDoAnal(slave) || canDoVaginal(slave))) {
+				t += `${his} ass is held out at cock height, and a customer is using ${his} fuckhole.`;
+			} else if (_seed > 60) {
+				t += `${his} mouth is held open at cock height, and a customer is fucking ${his} throat.`;
+			} else if (_seed > 40) {
+				t += `a woman is abusing ${him} with a couple of dildos.`;
+			} else if (_seed > 20 && canDoAnal(slave)) {
+				t += `a customer is harshly using ${his} defenseless anus.`;
+			} else {
+				t += `a customer is cruelly spanking ${his} helpless butt.`;
+			}
+			break;
+		case "be the Madam":
+			t += `is managing ${V.brothelName}: ${he} is making sure all the customers are satisfied and all the whores are working hard.`;
+			break;
+		case "be your Concubine":
+			if (jsRandom(1, 2) === 1) {
+				t += `is looking after ${himself}; ${he} spends many hours every day on ${his} beauty regimen.`;
+			} else {
+				t += `is checking over the appearance of your harem, making sure everyone looks perfect.`;
+			}
+			break;
+		case "be the Wardeness":
+			t += `is looking after the cells: ${he} is `;
+			if (_seed > 50) {
+				t += `forcing a resistant slave to orally service ${him}.`;
+			} else {
+				t += `beating a rebellious slave across the buttocks.`;
+			}
+			break;
+		case "live with your Head Girl":
+			if (V.HeadGirl !== 0) {
+				t += `is getting the Head Girl's suite cleaned up while ${V.HeadGirl.slaveName} is out working.`;
+			} else {
+				t += `is making sure the Head Girl's suite is in order for your next Head Girl.`;
+			}
+			break;
+		case "be the Stewardess":
+			t += `is managing the house servants in ${V.servantsQuartersName}: ${he} overseeing the laboring house slaves and punishing any that step out of line.`;
+			break;
+		case "be the Schoolteacher":
+			t += `is teaching classes in ${V.schoolroomName}: ${he} is leading the slave students in rote recitation.`;
+			break;
+		case "be the Attendant":
+			t += `is seeing to girls in ${V.spaName}: ${he} is gently soaping an exhausted slave.`;
+			break;
+		case "be the DJ":
+			if (_seed > 50) {
+				t += `is right where ${he} belongs, in the DJ booth in ${V.clubName} ${he} leads. ${He}'s bouncing in time with the beat to show off ${his} `;
+				if (slave.boobs > 300) {
+					t += `tits.`;
+				} else {
+					t += `goods.`;
+				}
+			} else {
+				t += `is taking the lead on ${V.clubName}'s floor: ${he} greets new arrivals, flirts with them prettily, and subtly guides them towards choice sluts.`;
+			}
+			break;
+		case "be the Milkmaid":
+			t += `is working in ${V.dairyName}, looking after your stock.`;
+			break;
+		default:
+			/* WALKPASTS START HERE */
+			if (slave.heels === 1 && !["flats", "none"].includes(slave.shoes)) {
+				t += `walks past your desk with the tiny swaying steps ${he} must take in order to walk on ${his} surgically altered legs. ${He} is on ${his} way to `;
+			} else if (["heels", "pumps"].includes(slave.shoes)) {
+				t += `walks past your desk with the swaying steps ${he} must take in ${his} high heels. ${He} is on ${his} way to `;
+			} else if (slave.shoes === "boots") {
+				t += `walks past your desk with the confident gait encouraged by ${his} high heeled boots. ${He} is on ${his} way to `;
+			} else if (slave.shoes === "extreme heels") {
+				t += `walks past your desk with the tiny swaying steps ${he} must take in ${his} ridiculous heels. ${He} is on ${his} way to `;
+			} else if (slave.heels === 1) {
+				t += `crawls past your desk on all fours, since ${he} has not been allowed the heels ${he} needs to walk upright. ${He} is on ${his} way to `;
+			} else if (slave.amp === 1) {
+				t += `is carried past your desk by one of your other slaves. ${He} is on ${his} way to `;
+			} else if (!canWalk(slave)) {
+				t += `is helped past your desk by one of your other slaves. ${He} is on ${his} way to `;
+			} else {
+				t += `walks past your desk on ${his} way to `;
+			}
+			if (slave.inflation > 0 && jsRandom(1, 100) > 70) {
+				if (slave.inflationMethod === 1) {
+					t += `gorge ${himself} with ${slave.inflationType}; `;
+				} else if (slave.inflationMethod === 2) {
+					t += `fill ${his} rear with `;
+					switch (slave.inflationType) {
+						case "water":
+						case "milk":
+						case "cum":
+						case "food":
+							t += `${slave.inflationType}; `;
+							break;
+						default:
+							t += `${slave.inflationType}s; `;
+							break;
+					}
+				} else if (slave.inflationMethod === 3) {
+					if (slave.inflationType === "milk") {
+						t += `suckle from ${his} assigned nipple until ${he} is sufficiently filled with milk; `;
+					} else {
+						t += `suck ${his} assigned dick until ${he} is sufficiently filled with cum; `;
+					}
+				}
+			} else {
+				switch (slave.assignment) {
+					case "rest":
+						if (_seed > 50) {
+							t += `bed; `;
+						} else {
+							t += `eat; `;
+						}
+						break;
+					case "get milked":
+						if (_seed > 50) {
+							if (slave.lactation) {
+								t += `milk ${his} overfull ${race} tits; `;
+							} else {
+								t += `empty ${his} aching balls; `;
+							}
+						} else {
+							if (slave.lactation) {
+								t += `drain ${his} milky ${race} udders; `;
+							} else {
+								t += `relieve ${his} heavy balls; `;
+							}
+						}
+						break;
+					case "whore":
+						if (_seed > 50) {
+							t += `sell ${his} ${race} body; `;
+						} else {
+							t += `ply ${his} trade as a whore; `;
+						}
+						break;
+					case "serve the public":
+						if (_seed > 50) {
+							t += `serve the public; `;
+						} else {
+							t += `be a public slut; `;
+						}
+						break;
+					case "rest in the spa":
+						t += `relax in ${V.spaName}; `;
+						break;
+					case "please you":
+						t += `wait next to you and wait for you to fuck ${him}; `;
+						break;
+					case "be a subordinate slave":
+						t += `service your other slaves; `;
+						break;
+					case "be a servant":
+						t += `clean up after your other slaves; `;
+						break;
+					case "learn in the schoolroom":
+						t += `attend classes `;
+						if (V.Schoolteacher === 0) {
+							t += `in ${V.schoolroomName}; `;
+						} else {
+							t += `under ${V.Schoolteacher.slaveName}, perhaps literally; `;
+						}
+						break;
+					case "be the Attendant":
+						t += `look after the slaves in ${V.spaName}; `;
+						break;
+					case "take classes":
+						t += `attend classes with ${V.assistantName}; `;
+						break;
+					case "be your Head Girl":
+						t += `oversee your other slaves; `;
+						break;
+					case "recruit girls":
+						t += `use ${his} connections to recruit slaves; `;
+						break;
+					default:
+						t += `${slave.assignment}; `;
+						break;
+				}
+			} /* end inflation blurb */
+			if (slave.fetish === "mindbroken") {
+				t += `${he} does not even glance at you as ${he} goes mindlessly to ${his} next task.`;
+			} else if (slave.devotion < -50) {
+				t += `${he} directs a look of pure hatred at where you sit as ${he} passes.`;
+			} else if (slave.devotion < -20) {
+				t += `${he} cannot keep the loathing from ${his} face as ${he} passes.`;
+			} else if (slave.devotion <= 20) {
+				t += `${he} passes quickly, obviously hoping to avoid you.`;
+			} else if (slave.devotion <= 50) {
+				t += `${he} rushes by, hurrying to ${his} next task.`;
+			} else {
+				t += `as ${he} passes ${he} gives you a look of adoration.`;
+			}
+			break;
+	}
+	return t;
+};
+
+window.boobWatch = function(slave) {
+
+	/* will be moved up once this becomes a single, contained function. */
+	let t = "";
+	let V = State.variables;
+
+	let pronouns = getPronouns(slave);
+	let he = pronouns.pronoun,
+		him = pronouns.object,
+		his = pronouns.possessive,
+		hers = pronouns.possessivePronoun,
+		himself = pronouns.objectReflexive,
+		boy = pronouns.noun;
+	let He = capFirstChar(he),
+		His = capFirstChar(his);
+
+	let breasts = (slave.boobs < 300) ? `flat chest` : `breasts`;
+
+	t += `<<BoobsDescription>> `;
+	switch (slave.clothes) {
+		case "uncomfortable straps":
+			if (slave.boobs < 300) {
+				t += `The rings constantly rub against ${his} chest and force ${his} nipples to stick out.`;
+			} else {
+				t += `The strap over ${his} tits presses the soft flesh, and the ring around each nipple `;
+				if (slave.nipples === "fuckable") {
+					t += `forces them open.`;
+				} else {
+					t += `forces them to stick out.`;
+				}
+			}
+			break;
+		case "shibari ropes":
+			t += `The ropes binding ${his} chest `;
+			if (slave.boobs < 300) {
+				t += `shift slightly with every step, since ${he} lacks any breasts to hold them in place.`;
+			} else {
+				t += `dig into the soft flesh as ${he} moves.`;
+			}
+			break;
+		case "attractive lingerie for a pregnant women":
+			if (slave.boobs < 300) {
+				t += `The bulge of ${his} ${slave.nipples} nipples can be seen under the taut silk.`;
+			} else {
+				t += `${His} silken bra causes ${his} breasts to bulge around them.`;
+			}
+			break;
+		case "a maternity dress":
+			t += `${His} low cut dress `;
+			if (slave.boobs < 300) {
+				t += `was made with breasts in mind; every stop ${he} takes risks it sliding down and revealing ${his} ${slave.nipples} nipples.`;
+			} else {
+				t += `shows ample cleavage and is made to be easy to pull down.`;
+			}
+			break;
+		case "stretch pants and a crop-top":
+			if (slave.boobs < 300) {
+				t += `${His} flat chest makes the perfect canvas to read ${his} crop-top.`;
+			} else {
+				t += `${His} crop-top tightly clings to ${his} breasts and moves along with them. ${His} jiggling cleavage distracts from the writing on ${his} tits.`;
+			}
+			break;
+		case "restrictive latex":
+			if (slave.boobs < 300) {
+				t += `${His} lack of breasts draws your eyes straight to ${his} exposed nipples.`;
+			} else {
+				t += `${His} tits stick out through ${his} latex outfit.`;
+			}
+			break;
+		case "attractive lingerie":
+			t += `${His} pretty white lace bra has thoughtful cuts that tastefully let ${his} nipples stick through.`;
+			break;
+		case "kitty lingerie":
+			t += `${His} lingerie's cleavage window proudly displays ${his} `;
+			if (slave.boobs < 300) {
+				t += `flat chest.`;
+			} else {
+				t += `ample valley.`;
+			}
+			break;
+		case "a succubus outfit":
+			t += `${His} succubus outfit presents this sex demon's ${breasts}, inviting a damning fondle.`;
+			break;
+		case "a slutty maid outfit":
+			t += `${His} maid outfit covers ${his} ${breasts} with a thin white blouse designed to be easy to pull down.`;
+			break;
+		case "a nice maid outfit":
+			t += `${His} maid outfit covers ${his} ${breasts} demurely, offering the diverting task of pulling it off ${him}.`;
+			break;
+		case "a monokini":
+			t += `The straps of ${his} monokini cross in the center of ${his} chest, leaving the rest of ${his} ${breasts} naked.`;
+			break;
+		case "a cybersuit":
+			t += `${His} bodysuit is tight enough to show off `;
+			if (slave.boobs < 300) {
+				t += `just how flat ${he} is.`;
+			} else {
+				t += `every contour of ${his} chest.`;
+			}
+			break;
+		case "a string bikini":
+			t += `${His} string bikini covers only ${his} nipples, leaving the remainder of ${his} ${breasts} naked.`;
+			break;
+		case "a scalemail bikini":
+			t += `${His} scalemail bikini covers `;
+			if (slave.boobs < 300) {
+				t += `all of ${his} flat chest.`;
+			} else if (slave.boobs < 700) {
+				t += `${his} breasts entirely.`;
+			} else if (slave.boobs < 1500) {
+				t += `much of ${his} breasts, while still emphasizing them.`;
+			} else {
+				t += `the front of ${his} breasts.`;
+			}
+			break;
+		case "striped panties":
+			t += `${His} cute panties covers only ${his} crotch, leaving ${his} ${breasts} bare.`;
+			break;
+		case "clubslut netting":
+			t += `As ${he} moves, the weave of the netting over ${his} chest slips back and forth across ${his} nipples.`;
+			break;
+		case "a cheerleader outfit":
+			t += `As ${he} moves, `;
+			if (slave.boobs < 300) {
+				t += `the tight fabric rubs across ${his} obvious nipples.`;
+			} else {
+				t += `${his} chest threatens to fall out of ${his} cheerleader top.`;
+			}
+			break;
+		case "an apron":
+			t += `As ${he} moves, ${his} apron `;
+			if (slave.boobs < 300) {
+				t += `threatens to bounce off ${his} flat chest and expose ${his} nipples.`;
+			} else {
+				t += `provides excellent views of the sides of ${his} breasts.`;
+			}
+			break;
+		case "overalls":
+			t += `As ${he} moves, ${his} overalls `;
+			if (slave.boobs < 300) {
+				t += `threaten to slide off ${his} flat chest and expose ${his} nipples.`;
+			} else {
+				t += `provide excellent views of the sides of ${his} breasts.`;
+			}
+			break;
+		case "cutoffs and a t-shirt":
+			if (slave.boobs < 300) {
+				t += `${His} non-existent breasts are bare under ${his} t-shirt; not that you can really tell since they lack motion completely.`;
+			} else {
+				t += `${His} tits are bare under ${his} t-shirt, so movement gives delicious hints of their motion.`;
+			}
+			break;
+		case "spats and a tank top":
+			if (slave.boobs < 300) {
+				t += `${His} flat chest makes ${his} form-fitting tank top look as if it's clinging to a tube.`;
+			} else {
+				t += `${His} breasts bounce slightly under ${his} tank top as ${he} moves.`;
+			}
+			break;
+		case "a slutty outfit":
+			t += `For today's slutty outfit ${he}'s chosen a `;
+			if (jsRandom(1, 100) > 50) {
+				t += `handkerchief top that occasionally comes untied and `;
+				if (slave.boobs < 300) {
+					t += `reveals ${his} flat chest.`;
+				} else {
+					t += `spills ${his} breasts out naked.`;
+				}
+			} else {
+				t += `halter top cut so low that `;
+				if (slave.boobs < 300) {
+					t += `it occasionally slips down ${his} flat chest to reveal a nipple.`;
+				} else {
+					t += `${his} breasts occasionally pop out.`;
+				}
+			}
+			break;
+		case "a slave gown":
+			t += `${His} gorgeous dress has thoughtful cuts that tastefully bares ${his} ${(slave.boobs < 300) ? 'non-existent ' : ''}breasts.`;
+			break;
+		case "slutty business attire":
+			t += `${His} suit jacket and blouse are low enough to show off a lot of `;
+			if (slave.boobs < 300) {
+				t += `boob, or they would, had ${he} had any.`;
+			} else {
+				t += `boob.`;
+			}
+			break;
+		case "nice business attire":
+			t += `${His} suit jacket and blouse are businesslike, but they could be removed easily enough.`;
+			break;
+		case "a halter top dress":
+			t += `${His} beautiful halter top dress almost seems to be sculpted around ${his} body.`;
+			break;
+		case "a ball gown":
+			t += `${His} fabulous silken ball gown is tailored to accentuate the shape of ${his} ${breasts}.`;
+			break;
+		case "a slutty nurse outfit":
+			t += `${His} jacket presents ${his} ${(slave.boobs < 300) ? 'nipples' : 'breasts'} to be ogled.`;
+			break;
+		case "a schoolgirl outfit":
+			t += `${His} blouse lewdly displays ${his} `;
+			if (slave.boobs < 300) {
+				t += `${slave.nipples} nipples.`;
+			} else {
+				t += `breasts.`;
+			}
+			break;
+		case "a kimono":
+			t += `${His} kimono is clearly designed to accentuate ${his} ${breasts}.`;
+			break;
+		case "a hijab and abaya":
+		case "a niqab and abaya":
+			t += `${His} abaya covers ${his} ${breasts} totally.`;
+			break;
+		case "a thong":
+		case "a skimpy loincloth":
+		case "boyshorts":
+		case "cutoffs":
+		case "panties":
+		case "leather pants":
+		case "jeans":
+		case "sport shorts":
+			t += `Since ${he}'s wearing nothing but ${slave.clothing}, ${his} ${(slave.boobs < 300) ? 'non-existent ' : ''}breasts are delightfully naked.`;
+			break;
+		case "a hijab and blouse":
+			t += `${His} blouse and overshirt keep ${his} ${breasts} concealed.`;
+			break;
+		case "a huipil":
+			t += `${His} huipil `;
+			if (slave.boobs < 300) {
+				t += `daintily covers ${his} ${slave.nipples} nipples and flat chest.`;
+			} else {
+				t += `hugs the curves of ${his} breasts.`;
+			}
+			break;
+		case "battledress":
+			if (slave.boobs < 300) {
+				t += `As ${he} moves, you can occasionally spot ${his} lack of undergarments.`;
+			} else {
+				t += `${His} tank top and sports bra support rather than flatter ${his} breasts.`;
+			}
+			break;
+		case "a fallen nuns habit":
+			t += `${His} slutty nun outfit leaves ${his} ${(slave.boobs < 300) ? 'flat ' : ''}tits sinfully bare.`;
+			break;
+		case "a chattel habit":
+			t += `${His} chattel habit leaves ${his} ${(slave.boobs < 300) ? 'flat ' : ''}tits virtuously bare.`;
+			break;
+		case "a penitent nuns habit":
+			t += `${His} habit chafes ${his} nipples so harshly that it would probably be a relief to ${him} to have it stripped off ${him}.`;
+			break;
+		case "a comfortable bodysuit":
+			t += `${His} bodysuit is tight enough to show off `;
+			if (slave.boobs < 300) {
+				t += `just how flat ${he} is.`;
+			} else {
+				t += `every contour of ${his} chest.`;
+			}
+			break;
+		case "a latex catsuit":
+			t += `${His} latex catsuit is tight enough to show off `;
+			if (slave.boobs < 300) {
+				t += `just how flat ${he} is.`;
+			} else {
+				t += `every contour of ${his} chest.`;
+			}
+			break;
+		case "a military uniform":
+		case "a police uniform":
+		case "a schutzstaffel uniform":
+		case "a mounty outfit":
+		case "a red army uniform":
+			t += `${His} uniform tunic and shirt are formal, but they could be removed easily enough.`;
+			break;
+		case "battlearmor":
+			t += `${His} battlearmor will take some considerable effort to get out of.`;
+			break;
+		case "a nice nurse outfit":
+			t += `${His} nurse's outfit is functional, but they could be removed easily enough.`;
+			break;
+		case "a mini dress":
+			t += `${His} mini dress is tight enough to show off `;
+			if (slave.boobs < 300) {
+				t += `just how flat ${he} is.`;
+			} else {
+				t += `every contour of ${his} chest.`;
+			}
+			break;
+		case "a leotard":
+			if (slave.boobs < 300) {
+				t += `${His} leotard draws the eye straight to ${his} obvious nipples, since it lacks anything else to show off.`;
+			} else {
+				t += `${His} leotard is tight enough that it not only hugs ${his} breasts, but shows off ${his} nipples as well.`;
+			}
+			break;
+		case "a bunny outfit":
+			if (slave.boobs < 300) {
+				t += `With no breasts to speak of, ${his} strapless corset teddy manages to look rather slutty.`;
+			} else {
+				t += `${His} strapless corset teddy presents ${his} boobs while still managing to look a bit classy.`;
+			}
+			break;
+		case "harem gauze":
+			t += `${His} ${(slave.boobs < 300) ? 'non-existent ' : ''}breasts are clearly visible through the thin gauze that covers them.`;
+			break;
+		case "slutty jewelry":
+			if (slave.boobs < 300) {
+				t += `The light chain across ${his} non-existent breasts is the only thing on ${his} chest capable of moving separately from ${him}.`;
+			} else {
+				t += `The light chain under ${his} breasts accentuates their natural movement.`;
+			}
+			break;
+
+			// needs improvement
+		case "a klan robe":
+			t += `${His} robe covers ${his} ${breasts} totally.`;
+			break;
+		case "a burqa":
+			t += `${His} burqa covers ${his} ${breasts} totally.`;
+			break;
+		case "a tube top and thong":
+		case "a tube top":
+		case "leather pants and a tube top":
+			t += `${His} tube top covers ${his} ${breasts} totally.`;
+			break;
+		case "a button-up shirt and panties":
+		case "a button-up shirt":
+		case "a t-shirt":
+		case "a t-shirt and thong":
+		case "an oversized t-shirt and boyshorts":
+		case "an oversized t-shirt":
+		case "a t-shirt and jeans":
+		case "sport shorts and a t-shirt":
+		case "a t-shirt and panties":
+			t += `${His} shirt covers ${his} ${breasts} totally.`;
+			break;
+		case "a bra":
+		case "a striped bra":
+		case "striped underwear":
+		case "a sports bra":
+		case "sport shorts and a sports bra":
+			t += `${His} bra covers ${his} ${breasts} totally.`;
+			break;
+		case "a tank-top":
+		case "a tank-top and panties":
+			t += `${His} tank-top covers ${his} ${breasts} totally.`;
+			break;
+		case "a sweater":
+		case "a sweater and panties":
+		case "a sweater and cutoffs":
+			t += `${His} sweater covers ${his} ${breasts} totally.`;
+			break;
+		case "a slutty klan robe":
+			t += `${His} robe partially covers ${his} ${breasts}.`;
+			break;
+		case "a nice pony outfit":
+		case "a slutty pony outfit":
+			t += `${His} pony outfit partially covers ${his} ${breasts}.`;
+			break;
+		case "leather pants and pasties":
+		case "panties and pasties":
+			t += `${His} pasties cover nothing more than ${his} nipples.`;
+			break;
+		case "a one-piece swimsuit":
+			t += `${His} swimsuit is tight enough to show off `;
+			if (slave.boobs < 300) {
+				t += `just how flat ${he} is.`;
+			} else {
+				t += `every contour of ${his} chest.`;
+			}
+			break;
+		case "a hanbok":
+			t += `${His} hanbok covers ${his} ${breasts} totally.`;
+			break;
+		case "a gothic lolita dress":
+			t += `${His} dress covers ${his} ${breasts} totally.`;
+			break;
+		case "a burkini":
+			t += `${His} burkini clings to the shape of ${his} ${breasts}.`;
+			break;
+		case "a slutty schutzstaffel uniform":
+			t += `${His} uniform tunic and shirt are formal, but they could be removed easily enough.`;
+			break;
+		case "a long qipao":
+			t += `${His} elegant qipao can be removed with minimal effort.`;
+			break;
+		case "a dirndl":
+			t += `${His} dirndl can be removed with minimal effort.`;
+			break;
+		case "lederhosen":
+			t += `${His} lederhosen might come off faster than it takes to put them on.`;
+			break;
+		case "a biyelgee costume":
+			t += `${His} costume could be removed with barely any effort.`;
+			break;
+			// ends needs work block
+
+		case "no clothing":
+			if (slave.chastityAnus === 1 || slave.chastityVagina === 1 || slave.chastityPenis === 1) {
+				t += `Since ${he}'s wearing nothing but a chastity belt, ${his} ${(slave.boobs < 300) ? 'non-existent ' : ''}breasts are delightfully naked.`;
+			} else {
+				t += `${His} naked `;
+				if (slave.boobs < 300) {
+					t += `flat chest and exposed nipples`;
+				} else {
+					t += `breasts`;
+				}
+				t += ` catch your eye.`;
+			}
+			break;
+		default: // for outfits with exposed breasts that aren't worth having a unique description for
+			t += `${His} naked `;
+			if (slave.boobs < 300) {
+				t += `flat chest and exposed nipples`;
+			} else {
+				t += `breasts`;
+			}
+			t += ` catch your eye.`;
+	}
+	V.target = "FBoobs";
+	return t;
+};
+
+window.buttWatch = function(slave) {
+
+	/* will be moved up once this becomes a single, contained function. */
+	let t = "";
+	let V = State.variables;
+
+	let pronouns = getPronouns(slave);
+	let he = pronouns.pronoun,
+		him = pronouns.object,
+		his = pronouns.possessive,
+		hers = pronouns.possessivePronoun,
+		himself = pronouns.objectReflexive,
+		boy = pronouns.noun;
+	let He = capFirstChar(he),
+		His = capFirstChar(his);
+
+	V.target = "FButt";
+
+	t += `<<ButtDescription>> `;
+	switch (slave.clothes) {
+		case "a Fuckdoll suit":
+			t += `${His} suit is expressly designed to encourage use of ${his} rear hole.`;
+			break;
+		case "uncomfortable straps":
+			t += `A strap passes between ${his} `;
+			if (slave.amp !== 1) {
+				t += `legs, giving ${his} gait an awkward sway.`;
+			} else {
+				t += `leg stumps, pressing against ${his} genitals.`;
+			}
+			break;
+		case "shibari ropes":
+			if (slave.amp !== 1) {
+				t += `Ropes bind ${his} legs, giving ${his} gait an awkward sway.`;
+			} else {
+				t += `A rope passes between ${his} leg stumps, pressing against ${his} genitals.`;
+			}
+			break;
+		case "attractive lingerie for a pregnant woman":
+			t += `As ${he} moves, ${his} silken panties are very inviting.`;
+			break;
+		case "a maternity dress":
+			t += `${His} dress covers ${his} rear, but it will lift easily enough.`;
+			break;
+		case "stretch pants and a crop-top":
+			t += `${His} stretch pants tightly cling to ${his} rear as ${he} `;
+			if (slave.butt > 10) {
+				t += `moves. While the writing adorning it may catch your eye, the huge expanse of wobbling ass cleavage is far more distracting.`;
+			} else {
+				t += `moves; the writing on ${his} bottom gives you plenty of excuses to ogle it.`;
+			}
+			break;
+		case "restrictive latex":
+			t += `As some of the only islands in the sea of black latex, ${his} holes are eye-catching.`;
+			break;
+		case "a fallen nuns habit":
+			t += `${His} slutty nun outfit invites sin.`;
+			break;
+		case "a chattel habit":
+			t += `${His} chattel habit is designed for sex without being removed.`;
+			break;
+		case "a penitent nuns habit":
+			t += `${His} habit chafes ${him} so cruelly that it would probably be a relief to ${him} to have it pulled off, even if ${he}'s roughly fucked afterward.`;
+			break;
+		case "kitty lingerie":
+			t += `As ${he} moves, the strings of ${his} pretty kitty panties sway enticingly.`;
+			break;
+		case "attractive lingerie":
+			t += `As ${he} moves, ${his} lingerie delightfully hugs ${his} rear.`;
+			break;
+		case "a succubus outfit":
+			t += `${His} succubus outfit's tail holds ${his} skirt up high in back, inviting a damning fuck.`;
+			break;
+		case "a slutty maid outfit":
+			t += `${His} maid's skirt is cut extremely short, so that the slightest movement reveals a glimpse of ${his} ass.`;
+			break;
+		case "a nice maid outfit":
+			t += `${His} maid's skirt is cut conservatively, but will lift easily enough.`;
+			break;
+		case "a monokini":
+			t += `${His} monokini contours to the size and shape of ${his} bottom.`;
+			break;
+		case "an apron":
+			t += `${His} apron leaves ${his} buttocks totally exposed.`;
+			break;
+		case "overalls":
+			t += `${His} overalls fit snugly on ${his} bottom.`;
+			break;
+		case "a cybersuit":
+			t += `${His} bodysuit prominently displays the curves of ${his} butt.`;
+			break;
+		case "a string bikini":
+			t += `As ${he} moves, ${his} string lingerie leaves the entire line of ${his} hips naked and enticing.`;
+			break;
+		case "a scalemail bikini":
+			t += `As ${he} moves, ${his} scaly lingerie leaves almost the entire line of ${his} hips naked and enticing.`;
+			break;
+		case "striped panties":
+		case "a button-up shirt and panties":
+		case "a sweater and panties":
+		case "a tank-top and panties":
+		case "panties":
+		case "a t-shirt and panties":
+		case "panties and pasties":
+		case "striped underwear":
+			t += `${His} cute panties prominently display the curves of ${his} butt.`;
+			break;
+		case "boyshorts":
+		case "an oversized t-shirt and boyshorts":
+			t += `${His} boyshorts tightly cling to ${his} rear as ${he} `;
+			if (slave.butt > 5) {
+				t += `moves. It's filled out by so much ass you can't help but oggle.`;
+			} else {
+				t += `moves.`;
+			}
+			break;
+		case "clubslut netting":
+			t += `As ${he} moves, ${his} clubslut netting moves with ${him}, leaving nothing to the imagination.`;
+			break;
+		case "a cheerleader outfit":
+			t += `As ${he} moves, ${his} pleated cheerleader bounces up and down flirtatiously.`;
+			break;
+		case "cutoffs and a t-shirt":
+			t += `As ${he} moves, ${his} cutoffs hug ${his} butt.`;
+			break;
+		case "spats and a tank top":
+			t += `${His} spats show off every curve of ${his} ass.`;
+			break;
+		case "a slutty outfit":
+			t += `For today's slutty outfit ${he}'s chosen `;
+			if (jsRandom(1, 100) > 50 && slave.amp !== 1) {
+				t += `yoga pants so sheer that everything ${he}'s got is clearly visible.`;
+			} else {
+				t += `a miniskirt so brief that ${his} ass is hanging out the back, and a glimpse of ${his} goods is occasionally visible from the front.`;
+			}
+			break;
+		case "a slave gown":
+			if (slave.amp === 1) {
+				t += `${His} gorgeous dress is specially designed for ${his} limbless form, but without legs to support it, it can hardly conceal the outline of everything ${he} has.`;
+			} else {
+				t += `${His} gorgeous dress has a thoughtful cut that runs all the way from ${his} ankle to over ${his} hip, baring a leg all the way up.`;
+			}
+			break;
+
+		case "a halter top dress":
+			t += `${His} beautiful halter top dress seems to be sculpted around ${his} bottom.`;
+			break;
+		case "a ball gown":
+			t += `${His} fabulous silken ball gown is tailored to fit ${him} and accentuates the shape of ${his} butt.`;
+			break;
+		case "a slutty nurse outfit":
+			t += `${His} tight skirt flatters ${his} ass.`;
+			break;
+		case "a schoolgirl outfit":
+			if (slave.anus === 0) {
+				t += `This schoolgirl clearly needs to lose ${his} anal virginity.`;
+			} else if (slave.vagina === 0) {
+				t += `This schoolgirl clearly takes it up the ass; that way, ${he} can remain a virgin, and be, like, totally pure and innocent.`;
+			} else {
+				t += `This schoolgirl clearly takes it up the ass.`;
+			}
+			break;
+		case "a kimono":
+			t += `${His} kimono demurely covers ${his} `;
+			if (slave.butt > 5) {
+				t += `behind, though it cannot conceal its massive shape.`;
+			} else {
+				t += `behind.`;
+			}
+			break;
+
+		case "a hijab and abaya":
+		case "a niqab and abaya":
+			t += `${His} abaya totally conceals ${his} `;
+			if (slave.butt > 5) {
+				t += `behind, though it cannot conceal its large size.`;
+			} else {
+				t += `behind.`;
+			}
+			break;
+		case "a klan robe":
+			t += `${His} robe totally conceals ${his} `;
+			if (slave.butt > 5) {
+				t += `behind, though it cannot conceal its large size.`;
+			} else {
+				t += `behind.`;
+			}
+			break;
+		case "a burqa":
+			t += `${His} burqa totally conceals ${his} `;
+			if (slave.butt > 7) {
+				t += `behind, though it cannot conceal its absurd size.`;
+			} else {
+				t += `behind.`;
+			}
+			break;
+		case "a burkini":
+			if (slave.butt > 6) {
+				t += `${His} burkini finds itself accentuating the absurd size of ${his} behind.`;
+			} else {
+				t += `${His} burkini modestly covers ${his} behind.`;
+			}
+			break;
+		case "a hijab and blouse":
+			t += `${His} skirt modestly covers ${his} `;
+			if (slave.butt > 5) {
+				t += `behind, though it cannot conceal its large size.`;
+			} else {
+				t += `behind.`;
+			}
+			break;
+		case "cutoffs":
+		case "sport shorts and a t-shirt":
+		case "sport shorts":
+		case "a sweater and cutoffs":
+		case "sport shorts and a sports bra":
+			t += `${His} shorts hug the curves of ${his} hips and ass nicely.`;
+			break;
+
+		case "a police uniform":
+		case "a t-shirt and jeans":
+		case "leather pants":
+		case "jeans":
+		case "leather pants and a tube top":
+		case "leather pants and pasties":
+			if (slave.butt > 1) {
+				t += `${His} pants are filled out with the curve of ${his} butt.`;
+			} else {
+				t += `${His} pants modestly cover ${his} butt.`;
+			}
+			break;
+		case "a nice pony outfit":
+		case "a slutty pony outfit":
+			t += `${His} leather outfit tightly hugs the curves of ${his} hips and ass.`;
+			break;
+		case "a skimpy loincloth":
+			t += `${His} loincloth only partially covers ${his} butt, giving frequent glimpses of the bare flesh beneath it.`;
+			break;
+		case "a gothic lolita dress":
+			t += `${His} dress can be lifted easily enough to get as ${his} rear.`;
+			break;
+		case "a hanbok":
+			t += `${His} hanbok can be lifted easily enough to get as ${his} `;
+			if (slave.butt > 7) {
+				t += `rear and its motion beneath the fabric certainly invites it.`;
+			} else {
+				t += `rear.`;
+			}
+			break;
+		case "a one-piece swimsuit":
+			t += `${His} swimsuit displays the delicious curves of ${his} butt and just begs you to run a hand across it.`;
+			break;
+		case "battledress":
+			t += `${His} fatigue trousers do not particularly flatter ${his} butt.`;
+			break;
+		case "nice business attire":
+			t += `${His} attractive skirt is nevertheless tight enough to show off ${his} derrière.`;
+			break;
+		case "slutty business attire":
+			t += `${His} skirt is so short it'll barely be necessary to lift it.`;
+			break;
+		case "a comfortable bodysuit":
+			t += `${His} bodysuit displays the curves of ${his} butt.`;
+			break;
+		case "a latex catsuit":
+			t += `${His} latex catsuit displays the curves of ${his} butt.`;
+			break;
+		case "a military uniform":
+		case "a red army uniform":
+			t += `${His} uniform skirt is nevertheless tight enough to show off ${his} derrière.`;
+			break;
+		case "a schutzstaffel uniform":
+			t += `${His} uniform trousers are nevertheless tight enough to show off ${his} derrière.`;
+			break;
+		case "a slutty schutzstaffel uniform":
+			t += `${His} uniform miniskirt is nevertheless tight enough to show off the enticing curves of ${his} butt.`;
+			break;
+		case "a long qipao":
+			t += `${His} elegant dress shows off all ${his} curves.`;
+			break;
+		case "battlearmor":
+			t += `${His} snug battlearmor is nevertheless tight enough to show off ${his} derrière.`;
+			break;
+		case "a mounty outfit":
+			t += `${His} uniform slacks are tight enough to show off ${his} derrière.`;
+			break;
+		case "a dirndl":
+			t += `${His} skirt shows off the soft curves ${his} derrière.`;
+			break;
+		case "lederhosen":
+			t += `${His} shorts tightly hug the crack of ${his} derrière.`;
+			break;
+		case "a biyelgee costume":
+			t += `${His} costume skirt's thin material shows off ${his} derrière.`;
+			break;
+		case "a nice nurse outfit":
+			t += `${His} nurse's trousers demurely cover ${his} behind.`;
+			break;
+		case "a mini dress":
+			t += `${His} mini dress displays the curves of ${his} butt.`;
+			break;
+		case "a leotard":
+			t += `${His} leotard leaves ${his} buttocks gloriously bare.`;
+			break;
+		case "a bunny outfit":
+			t += `${His} teddy covers ${his} rear, but in tight satin that flatters its curves.`;
+			break;
+		case "harem gauze":
+			t += `${His} hips are clearly visible through the thin gauze that covers it.`;
+			break;
+		case "a toga":
+			t += `${His} stellar behind is accented by the light material of ${his} toga.`;
+			break;
+		case "a huipil":
+			t += `${His} huipil is so short that ${his} butt is on display.`;
+			break;
+		case "slutty jewelry":
+			t += `${His} belt of light chain accentuates ${his} hips.`;
+			break;
+		case "a thong":
+		case "a tube top and thong":
+		case "a t-shirt and thong":
+		case "a slutty klan robe":
+			t += `${He}'s made an effort to keep ${his} thong out of ${his} crack, but it quickly slips back in with ${his} movements.`;
+			break;
+		case "an oversized t-shirt":
+			t += `${His} oversized t-shirt is covering ${his} rear, but it can be lifted easily enough.`;
+			break;
+		default:
+			// "a bra" "a button-up shirt" "a sweater" "a tank-top" "a tube top" "a striped bra" "a sports bra" "a t-shirt"
+			if (slave.chastityAnus && slave.chastityVagina) {
+				t += `${His} chastity protects ${his} holes from penetration.`;
+				V.target = "FondleButt";
+			} else if (slave.chastityAnus) {
+				t += `${His} chastity belt protects ${his} rear from penetration.`;
+				V.target = "FondleButt";
+			} else {
+				t += `You run your eye over ${his} naked hips.`;
+			}
+	}
+	return t;
+};
+
+window.anusWatch = function(slave) {
+
+	/* will be moved up once this becomes a single, contained function. */
+	let t = "";
+	let V = State.variables;
+
+	let pronouns = getPronouns(slave);
+	let he = pronouns.pronoun,
+		him = pronouns.object,
+		his = pronouns.possessive,
+		hers = pronouns.possessivePronoun,
+		himself = pronouns.objectReflexive,
+		boy = pronouns.noun;
+	let He = capFirstChar(he),
+		His = capFirstChar(his);
+
+	V.target = "FAnus";
+
+	t += `<<AnusDescription>>`;
+	if (slave.chastityAnus === 0) {
+		t += ` `;
+		switch (slave.clothes) {
+			case "a Fuckdoll suit":
+				t += `${His} suit is expressly designed to encourage use of ${his} rear hole.`;
+				break;
+			case "uncomfortable straps":
+				t += `The ring over ${his} asshole beckons.`;
+				break;
+			case "shibari ropes":
+				t += `The rope between ${his} buttocks presses lewdly against ${his} anus as ${he} moves.`;
+				break;
+			case "restrictive latex":
+				t += `As one of the only islands in the sea of black latex, ${his} asshole is eye catching.`;
+				break;
+			case "a fallen nuns habit":
+				t += `${His} slutty nun outfit leaves ${his} butthole bare and available for anal sin.`;
+				break;
+			case "a chattel habit":
+				t += `${His} chattel habit covers ${his} anus with a strip of cloth, but it's designed to be lifted readily.`;
+				break;
+			case "a penitent nuns habit":
+				t += `${His} habit chafes ${his} rear end so cruelly that it would probably be a relief to ${him} to have it pulled up for a rough buttfuck.`;
+				break;
+			case "attractive lingerie":
+				if (slave.anus > 1 && slave.amp === 1) {
+					t += `${His} pretty g-string frequently fails to cover ${his} big butthole.`;
+					break;
+				} else if (slave.anus > 1) {
+					t += `As ${he} moves, ${his} pretty g-string frequently fails to cover ${his} big butthole.`;
+					break;
+				} else {
+					t += `As ${he} moves, ${his} pretty g-string draws your attention to ${his} ass.`;
+				}
+				break;
+			case "a succubus outfit":
+				t += `${His} succubus outfit's tail holds ${his} skirt up high in back, inviting a damning buttfuck.`;
+				break;
+			case "a nice maid outfit":
+				t += `${His} long maid's skirt will have to be gotten out of the way to permit access to ${his} ass.`;
+				break;
+			case "a slutty maid outfit":
+				t += `${His} short maid's skirt can be lifted to reveal ${his} bare buttocks.`;
+				break;
+			case "a slutty nurse outfit":
+				t += `${His} tight skirt flatters ${his} ass as ${he} moves.`;
+				break;
+			case "a schoolgirl outfit":
+				if (slave.anus === 0) {
+					t += `This schoolgirl clearly needs to lose ${his} anal virginity.`;
+				} else if (slave.vagina === 0) {
+					t += `This schoolgirl clearly takes it up the ass; that way, ${he} can remain a virgin, and be, like, totally pure and innocent.`;
+				} else {
+					t += `This schoolgirl clearly takes it up the ass.`;
+				}
+				break;
+			case "a kimono":
+				t += ` While ${his} kimono may demurely cover ${his} behind, you know ${his} asshole is bare under it.`;
+				break;
+			case "attractive lingerie for a pregnant woman":
+				t += `${His} silken panties are just begging to be torn off.`;
+				break;
+			case "a maternity dress":
+				t += `${His} dress could easily be slide up over ${his} butt to expose ${his} backdoor.`;
+				break;
+			case "stretch pants and a crop-top":
+				t += `${He} can easily be pantsed to reveal ${his} bare buttocks.`;
+				break;
+			case "a hijab and abaya":
+			case "a niqab and abaya":
+				t += `While ${his} abaya totally covers ${his} behind, it can be easily lifted to reveal ${his} asshole.`;
+				break;
+			case "a klan robe":
+				t += `While ${his} robe totally covers ${his} behind, it can be lifted to reveal ${his} asshole.`;
+				break;
+			case "a burqa":
+				t += `While ${his} burqa totally covers ${his} behind, it can be lifted to reveal ${his} asshole.`;
+				break;
+			case "an oversized t-shirt":
+				t += `${His} t-shirt may be oversized, but it does little to hide ${his} asshole.`;
+				break;
+			case "a tube top and thong":
+			case "a thong":
+			case "a t-shirt and thong":
+				if (slave.anus > 1 && slave.amp === 1) {
+					t += `${His} thong frequently fails to cover ${his} big butthole.`;
+					break;
+				} else if (slave.anus > 1) {
+					t += `As ${he} moves, ${his} thong frequently fails to cover ${his} big butthole.`;
+					break;
+				} else {
+					t += `As ${he} moves, ${his} thong draws your attention to ${his} ass.`;
+				}
+				break;
+			case "a bra":
+			case "a button-up shirt":
+			case "a sweater":
+			case "a tank-top":
+			case "a tube top":
+			case "a striped bra":
+			case "a slutty klan robe":
+			case "a sports bra":
+			case "a t-shirt":
+				t += `${His} outfit exposes ${his} bare butt and vulnerable asshole.`;
+				break;
+			case "an oversized t-shirt and boyshorts":
+			case "boyshorts":
+				t += `${His} boyshorts are tight enough to give hints of ${his} asshole.`;
+				break;
+			case "a button-up shirt and panties":
+			case "a sweater and panties":
+			case "a tank-top and panties":
+			case "panties":
+			case "a t-shirt and panties":
+			case "panties and pasties":
+			case "striped underwear":
+				t += `${His} tightly clinging panties can be pulled aside to reveal ${his} asshole.`;
+				break;
+			case "cutoffs":
+			case "sport shorts and a t-shirt":
+			case "sport shorts":
+			case "a sweater and cutoffs":
+			case "sport shorts and a sports bra":
+				t += `${His} shorts are practically begging to be pulled down to reveal ${his} naked butthole.`;
+				break;
+			case "a police uniform":
+			case "a t-shirt and jeans":
+			case "leather pants":
+			case "jeans":
+			case "leather pants and a tube top":
+			case "leather pants and pasties":
+				t += `${His} pants are practically begging to be pulled down to reveal ${his} naked butthole.`;
+				break;
+			case "a nice pony outfit":
+			case "a slutty pony outfit":
+				t += `${His} leather outfit is practically sculpted to fit ${his} ass, though would need to be undone to reach ${his} butthole.`;
+				break;
+			case "a skimpy loincloth":
+				t += `${His} loincloth gives hints of ${his} bare ass and asshole beneath it.`;
+				break;
+			case "a gothic lolita dress":
+				t += `${His} dress can be lifted easily to reveal ${his} asshole.`;
+				break;
+			case "a hanbok":
+				t += `${His} hanbok can be lifted easily to reveal ${his} asshole.`;
+				break;
+			case "a one-piece swimsuit":
+				t += `${His} swimsuit tightly clings to ${his} rear, but `;
+				if (slave.butt > 3) {
+					t += `${his} butt is too large to easily pull it aside and reach ${his} asshole.`;
+				} else {
+					t += `can be easily pulled aside to reveal ${his} asshole.`;
+				}
+				break;
+			case "a burkini":
+				t += `${His} burkini modestly covers ${his} rear.`;
+				break;
+			case "a hijab and blouse":
+				t += `${His} modest skirt can be easily lifted to reveal ${his} asshole.`;
+				break;
+			case "battledress":
+				t += `${His} fatigue trousers are not particularly flattering to ${his} butt but could be pulled down easily enough.`;
+				break;
+			case "a monokini":
+				t += `The bottom of ${his} monokini is practically sculpted to fit ${his} ass.`;
+				break;
+			case "a cybersuit":
+				t += `As ${his} buttocks work naturally with ${his} movement, ${his} tight bodysuit gives hints of ${his} asshole.`;
+				break;
+			case "a string bikini":
+				if (slave.anus > 1) {
+					t += `As ${he} moves, ${his} big butthole is clearly visible behind ${his} tiny g-string.`;
+				} else {
+					t += `As ${he} moves, ${his} tiny g-string draws your attention to ${his} ass.`;
+				}
+				break;
+			case "a scalemail bikini":
+				t += `${His} scalemail bottom draws attention to ${his} ass cheeks, while concealing ${his} rear hole.`;
+				break;
+			case "striped panties":
+				t += `${His} cute panties draw attention to ${his} ass cheeks, while concealing ${his} rear hole.`;
+				break;
+			case "clubslut netting":
+				t += `As ${he} moves, the hole in ${his} netting right over ${his} butthole looks inviting.`;
+				break;
+			case "a cheerleader outfit":
+				t += `As ${he} moves, ${his} short pleated cheerleader skirt shows off ${his} butt.`;
+				break;
+			case "cutoffs and a t-shirt":
+				t += `As ${he} moves, ${his} tight cutoffs flatter ${his} butt.`;
+				break;
+			case "spats and a tank top":
+				t += `${His} spats show off every curve of ${his} ass.`;
+				break;
+			case "a slutty outfit":
+				t += `For today's slutty outfit ${he}'s chosen `;
+				if (slave.butt > 5) {
+					t += `a leather skirt with zippers that permit ready access to ${his} butt.`;
+				} else {
+					t += `fishnets with a hole cut over ${his} asshole so ${he} can be sodomized without removing or damaging ${his} clothing.`;
+				}
+				break;
+			case "a slave gown":
+				t += `${His} gorgeous dress leaves little to the imagination; there's little doubt ${his} butt is bare beneath it.`;
+				break;
+			case "a halter top dress":
+				t += `${His} dress should slide up over ${his} butt to reveal ${his} backdoor.`;
+				break;
+			case "a ball gown":
+				t += `${His} ballgown and its petticoats could easily be flipped up to bare ${his} butt.`;
+				break;
+			case "slutty business attire":
+				t += `${His} short skirt will easily slide up to bare ${his} asshole.`;
+				break;
+			case "nice business attire":
+				t += `${His} conservative skirt can be slid up over ${his} hips to bare ${his} butthole.`;
+				break;
+			case "a comfortable bodysuit":
+				t += `${His} bodysuit demands attention for ${his} tightly clad backdoor.`;
+				break;
+			case "a latex catsuit":
+				t += `${His} latex catsuit's crotch zipper offers ready access to ${his} backdoor.`;
+				break;
+			case "a military uniform":
+				t += `${His} uniform skirt can be slid up over ${his} hips to bare ${his} butthole.`;
+				break;
+			case "a schutzstaffel uniform":
+				t += `${His} uniform's trousers can be easily slid down to expose ${his} butthole.`;
+				break;
+			case "a slutty schutzstaffel uniform":
+				t += `${His} uniform miniskirt can be easily slid up over ${his} hips to bare ${his} butthole.`;
+				break;
+			case "a red army uniform":
+				t += `${His} uniform skirt can be slid up over ${his} hips to bare ${his} butthole.`;
+				break;
+			case "a long qipao":
+				t += `${His} dress can be slid up over ${his} hips to bare ${his} butthole.`;
+				break;
+			case "battlearmor":
+				t += `${His} armor demands attention for ${his} tightly clad backdoor.`;
+				break;
+			case "a mounty outfit":
+				t += `${His} uniform slacks can be slipped off ${his} hips to bare ${his} butthole.`;
+				break;
+			case "a dirndl":
+				t += `${His} dress can be easily lifted to access ${his} bare ass.`;
+				break;
+			case "lederhosen":
+				t += `${His} tight shorts can be slipped off ${his} hips to bare ${his} butthole.`;
+				break;
+			case "a biyelgee costume":
+				t += `${His} costume can be easily lifted to access ${his} naked butt.`;
+				break;
+			case "a nice nurse outfit":
+				t += `${His} nurse's trousers can be easily slid down to expose ${his} butthole.`;
+				break;
+			case "a mini dress":
+				t += `${His} mini dress can be easily slid up to expose ${his} butthole.`;
+				break;
+			case "an apron":
+				t += `${His} apron leaves ${his} asshole completely exposed.`;
+				break;
+			case "overalls":
+				t += `${His} overalls totally cover ${his} asshole.`;
+				break;
+			case "a leotard":
+				t += `As ${his} buttocks work naturally with ${his} movement, ${his} tight leotard gives hints of ${his} asshole.`;
+				break;
+			case "a bunny outfit":
+				t += `${His} fluffy white cottontail draws attention to ${his} butt, inevitably bringing anal to mind.`;
+				break;
+			case "harem gauze":
+				t += `${His} ass is clearly visible through the thin gauze that covers it.`;
+				break;
+			case "a toga":
+				t += `${His} toga is so transparent it can't hide ${his} asscrack, which looks very seductive.`;
+				break;
+			case "a huipil":
+				t += `${His} huipil can be easily lifted to access ${his} naked butt.`;
+				break;
+			case "slutty jewelry":
+				t += `${His} belt of light chain threatens to dip into ${his} asscrack with each step.`;
+				break;
+			default:
+				if (slave.chastityVagina) {
+					t += `${His} chastity belt leaves ${his} ass available.`;
+				} else {
+					t += `You run your eye over ${his} naked ass.`;
+				}
+		}
+	}
+
+	return t;
+};
+
+
+window.lipWatch = function(slave) {
+
+	/* will be moved up once this becomes a single, contained function. */
+	let t = "";
+	let V = State.variables;
+
+	let pronouns = getPronouns(slave);
+	let he = pronouns.pronoun,
+		him = pronouns.object,
+		his = pronouns.possessive,
+		hers = pronouns.possessivePronoun,
+		himself = pronouns.objectReflexive,
+		boy = pronouns.noun;
+	let He = capFirstChar(he),
+		His = capFirstChar(his);
+
+	t += `<<faceDescription>>`;
+	t += `<<mouthDescription>>`;
+	switch (slave.collar) {
+		case "a Fuckdoll suit":
+			t += `${His} suit is expressly designed to encourage use of ${his} face hole.`;
+			break;
+		case "uncomfortable leather":
+			t += `${His} uncomfortable leather collar makes ${him} swallow and lick ${his} lips periodically, making it look like ${he}'s offering oral even though ${he}'s just trying to relieve the discomfort.`;
+			break;
+		case "tight steel":
+		case "cruel retirement counter":
+			t += `${His} tight steel collar makes ${him} swallow and lick ${his} lips periodically, making it look like ${he}'s offering oral even though ${he}'s just trying to relieve the discomfort.`;
+			break;
+		case "preg biometrics":
+			t += `${His} collar reveals everything about ${his} womb, bringing eyes straight to ${his} belly before drawing them back to ${his} neck.`;
+			break;
+		case "dildo gag":
+			t += `${His} ring gag would make ${him} ready for oral service, as soon as the formidable dildo it secures down ${his} throat is removed.`;
+			break;
+		case "massive dildo gag":
+			t += `Your eyes are drawn to the distinct bulge in ${his} throat caused by the enormous dildo in it, though ${his} mouth would only be suitable for the largest of cocks right now.`;
+			break;
+		case "shock punishment":
+			t += `${His} shock collar rests threateningly at ${his} throat, ready to compel ${him} to do anything you wish.`;
+			break;
+		case "neck corset":
+			t += `${His} fitted neck corset keeps ${his} breaths shallow, and ${his} head posture rigidly upright.`;
+			break;
+		case "stylish leather":
+			t += `${His} stylish leather collar is at once a fashion statement, and a subtle indication of ${his} enslavement.`;
+			break;
+		case "satin choker":
+			t += `${His} elegant satin choker is at once a fashion statement, and a subtle indication of ${his} enslavement.`;
+			break;
+		case "silk ribbon":
+			t += `${His} delicate, fitted silken ribbon is at once a fashion statement, and a subtle indication of ${his} enslavement.`;
+			break;
+		case "heavy gold":
+			t += `${His} heavy gold collar draws attention to the sexual decadence of ${his} mouth.`;
+			break;
+		case "pretty jewelry":
+		case "nice retirement counter":
+			t += `${His} pretty necklace can hardly be called a collar, but it's just slavish enough to hint that the throat it rests on is available.`;
+			break;
+		case "bell collar":
+			t += `${His} little bell tinkles merrily whenever ${he} moves, dispelling any grace or gravity.`;
+			break;
+		case "leather with cowbell":
+			t += `${His} cowbell tinkles merrily whenever ${he} moves, instantly dispelling any grace or gravity.`;
+			break;
+		case "bowtie":
+			t += `${His} black bowtie contrasts with ${his} white collar, drawing the eye towards ${his} neck and face.`;
+			break;
+		case "ancient Egyptian":
+			t += `${His} wesekh glints richly as ${he} moves, sparkling with opulence and sensuality.`;
+			break;
+		case "ball gag":
+			t += `${His} ball gag uncomfortably holds ${his} jaw apart as it fills ${his} mouth.`;
+			break;
+		case "bit gag":
+			t += `${His} bit gag uncomfortably keeps ${him} from closing ${his} jaw; drool visibly pools along the corners of ${his} mouth, where the rod forces back ${his} cheeks.`;
+			break;
+		case "porcelain mask":
+			t += `${His} beautiful porcelain mask hides ${his} face and any unsightly facial features.`;
+			break;
+		default:
+			t += `${His} unadorned `;
+			if (V.PC.dick === 1) {
+				t += `throat is just waiting to be wrapped around a thick shaft.`;
+			} else {
+				t += `lips are just begging for a cunt to lavish attention on.`;
+			}
+	}
+	if (jsRandom(1, 3) === 1) {
+		V.target = "FKiss";
+	} else {
+		V.target = "FLips";
+	}
+
+	return t;
+};
diff --git a/src/js/walkPastJS.js b/src/js/walkPastJS.js
index 595a0128011..c46ff5da765 100644
--- a/src/js/walkPastJS.js
+++ b/src/js/walkPastJS.js
@@ -1,5 +1,4 @@
 /* eslint-disable no-unused-vars */
-/* eslint-disable no-undef */
 /* temporary container until the entire thing is complete. No point in not deploying the working functions, you know? */
 
 window.primeSlave = function(activeSlave, seed) {
@@ -46,7 +45,7 @@ window.rivalSlave = function(activeSlave, seed) {
 		t += walkPasts(_partnerSlave, 100-seed);
 
 		_partnerSlave = null;
-		V.target = "FRival"; /*potentially removed later*/
+		V.target = "FRival"; /* potentially removed later */
 	}
 
 	return t;
@@ -55,30 +54,30 @@ window.rivalSlave = function(activeSlave, seed) {
 window.loverSlave = function(activeSlave) {
 
 		/* will be moved up once this becomes a single, contained function. */
-		var _target = "";
-		var t = "";
-		var V = State.variables;
-		var race;
+		let _target = "";
+		let t = "";
+		let V = State.variables;
+		let race;
 		if (V.seeRace === 1) { race = activeSlave.race; } else { race = ""; }
-		var name = activeSlave.slaveName;
+		let name = activeSlave.slaveName;
 		const pronouns = getPronouns(activeSlave);
 		const he = pronouns.pronoun, him = pronouns.object, his = pronouns.possessive, hers = pronouns.possessivePronoun, himself = pronouns.objectReflexive, boy = pronouns.noun;
 		const He = capFirstChar(he), His = capFirstChar(his);
 
-		var _partnerSlave = getSlave(activeSlave.relationshipTarget);
-		var _fuckSeed = jsRandom(1,100);
-		var _seed = jsRandom(1,100);
-		var _fuckSpot;
+		let _partnerSlave = getSlave(activeSlave.relationshipTarget);
+		let _fuckSeed = jsRandom(1, 100);
+		let _seed = jsRandom(1, 100);
+		let _fuckSpot;
 
 		if (_partnerSlave !== undefined) {
 
-			var pronouns2 = getPronouns(_partnerSlave);
-			var he2 = pronouns2.pronoun, him2 = pronouns2.object, his2 = pronouns2.possessive, hers2 = pronouns2.possessivePronoun, himself2 = pronouns2.objectReflexive, boy2 = pronouns2.noun;
-			var He2 = capFirstChar(he2), His2 = capFirstChar(his2);
-			var race2;
+			let pronouns2 = getPronouns(_partnerSlave);
+			let he2 = pronouns2.pronoun, him2 = pronouns2.object, his2 = pronouns2.possessive, hers2 = pronouns2.possessivePronoun, himself2 = pronouns2.objectReflexive, boy2 = pronouns2.noun;
+			let He2 = capFirstChar(he2), His2 = capFirstChar(his2);
+			let race2;
 			if (V.seeRace === 1) { race2 = _partnerSlave.race; } else { race2 = ""; }
-			var partnerName = _partnerSlave.slaveName;
-			var activeSlaveRel;
+			let partnerName = _partnerSlave.slaveName;
+			let activeSlaveRel;
 			if (activeSlave.relationship <= 3) {
 				activeSlaveRel = "friend with benefits";
 			} else if (activeSlave.relationship <= 4) {
@@ -638,7 +637,7 @@ window.loverSlave = function(activeSlave) {
 								}
 							}
 						} else if (canDoVaginal(activeSlave) && _fuckSeed > 30) {
-							if (canPenetrate(_partnerSlave) && activeSlave.vagina > 0 && activeSlave.preg === 0 && activeSlave.ovaries === 1) { //impreg
+							if (canPenetrate(_partnerSlave) && activeSlave.vagina > 0 && activeSlave.preg === 0 && activeSlave.ovaries === 1) { // impreg
 								if (_partnerSlave.belly >= 5000) {
 									t += `${partnerName} is `;
 									if (_partnerSlave.bellyPreg >= 1500) {
@@ -651,7 +650,7 @@ window.loverSlave = function(activeSlave) {
 									t += `${partnerName} has ${name} pinned on ${his} back in a mating press as ${he2} fervently tries to sate ${his} lust by putting a baby in ${him}.`;
 								}
 							} else {
-								if (_fuckSeed > 50) { //vanilla
+								if (_fuckSeed > 50) { // vanilla
 									if (canPenetrate(_partnerSlave) && activeSlave.vagina !== 0) {
 										if (_partnerSlave.belly >= 5000) {
 											t += `${partnerName} is `;
@@ -693,7 +692,7 @@ window.loverSlave = function(activeSlave) {
 											t += `${name} and ${partnerName} are both pretending to be hugely pregnant and cuddling each other.`;
 										}
 									}
-								} else if (canDoVaginal(_partnerSlave) && _fuckSeed > 40) { //scissor
+								} else if (canDoVaginal(_partnerSlave) && _fuckSeed > 40) { // scissor
 									if (_partnerSlave.belly >= 5000) {
 										t += `${partnerName} is `;
 										if (_partnerSlave.bellyPreg >= 1500) {
@@ -715,7 +714,7 @@ window.loverSlave = function(activeSlave) {
 											t += `are enthusiastically tribbing.`;
 										}
 									}
-								} else { //oral
+								} else { // oral
 									if (_partnerSlave.belly >= 5000) {
 										t += `${partnerName} is `;
 										if (_partnerSlave.bellyPreg >= 1500) {
@@ -753,7 +752,7 @@ window.loverSlave = function(activeSlave) {
 								}
 							}
 						} else if (canDoAnal(activeSlave) && canPenetrate(_partnerSlave) && _fuckSeed > 10) {
-							if (activeSlave.anus > 0 && activeSlave.preg === 0 && activeSlave.mpreg === 1) { //impreg
+							if (activeSlave.anus > 0 && activeSlave.preg === 0 && activeSlave.mpreg === 1) { // impreg
 								if (_partnerSlave.belly >= 5000) {
 									t += `${partnerName} is `;
 									if (_partnerSlave.bellyPreg >= 1500) {
@@ -804,7 +803,7 @@ window.loverSlave = function(activeSlave) {
 									t += `${partnerName} has ${name} pinned on ${his} front as ${he2} dutifully plows ${his} needy anus in an attempt to sate ${his} bottomless lust.`;
 								}
 							}
-						} else { //oral
+						} else { // oral
 							if (_partnerSlave.belly >= 5000) {
 								t += `${partnerName} is `;
 								if (_partnerSlave.bellyPreg >= 1500) {
@@ -1244,7 +1243,7 @@ window.relatedSlave = function(activeSlave) {
 	let t = "";
 	let partnerSlave;
 
-	let fuckseed = jsRandom(1,100);
+	let fuckseed = jsRandom(1, 100);
 
 	if (V.partner === "relation") {
 		if (V.familyTesting === 1) {
@@ -1253,7 +1252,7 @@ window.relatedSlave = function(activeSlave) {
 			partnerSlave = getSlave(activeSlave.relationTarget);
 		}
 	} else {
-		var activeSlaveRel = relationshipTerm(activeSlave);
+		let activeSlaveRel = relationshipTerm(activeSlave);
 		partnerSlave = getSlave(activeSlave.relationshipTarget);
 	}
 
@@ -1272,7 +1271,7 @@ window.relatedSlave = function(activeSlave) {
 		t += `${partnerSlave.slaveName} `;
 		t += walkPasts(partnerSlave, fuckseed);
 
-		V.target = "FRelation"; /*potentially removed later*/
+		V.target = "FRelation"; /* potentially removed later */
 	} else {
 		t += ` Expected partner not found!`;
 	}
@@ -1301,14 +1300,14 @@ window.walkPasts = function(slave, _seed) {
 	case "work in the dairy":
 		if (V.dairyRestraintsSetting > 1) {
 			t += `is strapped to a milking machine in ${V.dairyName}, `;
-			if (slave.ovaries === 1 && V.dairyPregSetting > 0 && jsRandom(1,2) === 2) {
+			if (slave.ovaries === 1 && V.dairyPregSetting > 0 && jsRandom(1, 2) === 2) {
 				if (isFertile(slave)) {
 					t += `and is wincing in pain as the machine forces another load of cum into ${his} womb. As you watch, ${his} ${race} stomach steadily swells with baby batter.`;
 				} else {
 					t += `giving you a good view of ${his} ${race} body and heavy belly on the feeds.`;
 				}
 			} else if (slave.lactation > 0) {
-				if (slave.balls > 0 && jsRandom(1,2) === 1) {
+				if (slave.balls > 0 && jsRandom(1, 2) === 1) {
 					if (slave.dick > 0) {
 						if (_seed > 50) {
 							t += `and is having ${his} cock sucked dry. As you watch, `;
@@ -1393,7 +1392,7 @@ window.walkPasts = function(slave, _seed) {
 		} else {
 			t += `is working in ${V.dairyName}, `;
 			if (slave.lactation > 0) {
-				if (slave.balls > 0 && jsRandom(1,2) === 1) {
+				if (slave.balls > 0 && jsRandom(1, 2) === 1) {
 					if (slave.dick > 0) {
 						if (_seed > 50) {
 							t += `and is having ${his} cock milked. As you watch, `;
@@ -1479,7 +1478,7 @@ window.walkPasts = function(slave, _seed) {
 		break;
 	case "work in the brothel":
 		t += `is working in ${V.brothelName}, and is `;
-		if (Beauty(slave) > 100 && jsRandom(1,2) === 1) {
+		if (Beauty(slave) > 100 && jsRandom(1, 2) === 1) {
 			if (_seed > 80) {
 				if (canDoAnal(slave) || canDoVaginal(slave)) {
 					t += `riding one customer's dick while ${he} gives another a blowjob.`;
@@ -1685,7 +1684,7 @@ window.walkPasts = function(slave, _seed) {
 		t += `is managing ${V.brothelName}: ${he} is making sure all the customers are satisfied and all the whores are working hard.`;
 		break;
 	case "be your Concubine":
-		if (jsRandom(1,2) === 1) {
+		if (jsRandom(1, 2) === 1) {
 			t += `is looking after ${himself}; ${he} spends many hours every day on ${his} beauty regimen.`;
 		} else {
 			t += `is checking over the appearance of your harem, making sure everyone looks perfect.`;
@@ -1748,7 +1747,7 @@ window.walkPasts = function(slave, _seed) {
 		} else {
 			t += `walks past your desk on ${his} way to `;
 		}
-		if (slave.inflation > 0 && jsRandom(1,100) > 70) {
+		if (slave.inflation > 0 && jsRandom(1, 100) > 70) {
 			if (slave.inflationMethod === 1) {
 				t += `gorge ${himself} with ${slave.inflationType}; `;
 			} else if (slave.inflationMethod === 2) {
@@ -2019,7 +2018,7 @@ window.boobWatch = function(slave) {
 			break;
 		case "a slutty outfit":
 			t += `For today's slutty outfit ${he}'s chosen a `;
-			if (jsRandom(1,100) > 50) {
+			if (jsRandom(1, 100) > 50) {
 				t += `handkerchief top that occasionally comes untied and `;
 				if (slave.boobs < 300) {
 					t += `reveals ${his} flat chest.`;
@@ -2172,7 +2171,7 @@ window.boobWatch = function(slave) {
 			}
 			break;
 
-		//needs improvement
+		// needs improvement
 		case "a klan robe":
 			t += `${His} robe covers ${his} ${breasts} totally.`;
 			break;
@@ -2406,7 +2405,7 @@ window.buttWatch = function(slave) {
 			break;
 		case "a slutty outfit":
 			t += `For today's slutty outfit ${he}'s chosen `;
-			if (jsRandom(1,100) > 50 && slave.amp !== 1) {
+			if (jsRandom(1, 100) > 50 && slave.amp !== 1) {
 				t += `yoga pants so sheer that everything ${he}'s got is clearly visible.`;
 			} else {
 				t += `a miniskirt so brief that ${his} ass is hanging out the back, and a glimpse of ${his} goods is occasionally visible from the front.`;
@@ -2605,7 +2604,7 @@ window.buttWatch = function(slave) {
 			t += `${His} oversized t-shirt is covering ${his} rear, but it can be lifted easily enough.`;
 			break;
 		default:
-			//"a bra" "a button-up shirt" "a sweater" "a tank-top" "a tube top" "a striped bra" "a sports bra" "a t-shirt"
+			// "a bra" "a button-up shirt" "a sweater" "a tank-top" "a tube top" "a striped bra" "a sports bra" "a t-shirt"
 			if (slave.chastityAnus && slave.chastityVagina) {
 				t += `${His} chastity protects ${his} holes from penetration.`;
 				V.target = "FondleButt";
@@ -2632,7 +2631,7 @@ window.anusWatch = function(slave) {
 	V.target = "FAnus";
 
 	t += `<<AnusDescription>>`;
-	if (slave.chastityAnus == 0) {
+	if (slave.chastityAnus === 0) {
 		t += ` `;
 		switch (slave.clothes) {
 			case "a Fuckdoll suit":
@@ -3005,17 +3004,17 @@ window.lipWatch = function(slave) {
 			break;
 		default:
 			t += `${His} unadorned `;
-			if (V.PC.dick == 1) {
+			if (V.PC.dick === 1) {
 				t += `throat is just waiting to be wrapped around a thick shaft.`;
 			} else {
 				t += `lips are just begging for a cunt to lavish attention on.`;
 			}
 	}
-	if (jsRandom(1,3) === 1) {
+	if (jsRandom(1, 3) === 1) {
 		V.target = "FKiss";
 	} else {
 		V.target = "FLips";
 	}
 
 	return t;
-};
\ No newline at end of file
+};
-- 
GitLab