diff --git a/src/events/RESS/ageDifferenceOldPC.js b/src/events/RESS/ageDifferenceOldPC.js
index 871c8c63676216eae4175f800a9fd2857185d8ce..592db14bd747ee3c286057c6a6df28c948d96745 100644
--- a/src/events/RESS/ageDifferenceOldPC.js
+++ b/src/events/RESS/ageDifferenceOldPC.js
@@ -74,7 +74,6 @@ App.Events.RESSAgeDifferenceOldPC = class RESSAgeDifferenceOldPC extends App.Eve
 			isFertile(eventSlave)
 				? new App.Events.Result(`Give ${him} an afternoon off for some quality time with a local retirement community`, afternoon, virginityWarning(true))
 				: new App.Events.Result(),
-
 		]);
 
 		function virginityWarning(knockedUp){
diff --git a/src/events/RESS/review/badDream.js b/src/events/RESS/review/badDream.js
new file mode 100644
index 0000000000000000000000000000000000000000..abbe369e4fdae910245d95ea94d90198a737af21
--- /dev/null
+++ b/src/events/RESS/review/badDream.js
@@ -0,0 +1,199 @@
+App.Events.RESSBadDream = class RESSBadDream extends App.Events.BaseEvent {
+	eventPrerequisites() {
+		return []; // always valid if sufficient actors can be cast successfully
+	}
+
+	actorPrerequisites() {
+		return [
+			[ // single event slave
+				s => s.fetish !== "mindbroken",
+				hasAnyArms,
+				hasAnyLegs,
+				canTalk,
+				s => s.assignment !== Job.QUARTER,
+				s => s.devotion <= 20,
+				s => s.trust < -20,
+				s => s.rules.living === "spare",
+			]
+		];
+	}
+
+	execute(node) {
+		/** @type {Array<App.Entity.SlaveState>} */
+		let [eventSlave] = this.actors.map(a => getSlave(a));
+		const {
+			His, He, he, his, him, himself, hers
+		} = getPronouns(eventSlave);
+		const belly = bellyAdjective(eventSlave);
+
+		V.nextLink = "Next Week";
+
+		App.Events.drawEventArt(node, eventSlave, "no clothing");
+
+		let r = [];
+		r.push(
+			`Passing near the slave dormitory late at night, you hear a quiet cry within. This is strange; most slaves housed there are not inclined or not allowed to have sex in the middle of the night, and in any case, the noise wasn't one of pleasure. Looking in, you see a jerky movement near the door. It's`,
+			App.UI.DOM.combineNodes(contextualIntro(V.PC, eventSlave, "DOM"), ","),
+			`and ${he}'s obviously having a bad dream. ${He} raises`
+		);
+		if (hasBothArms(eventSlave)) {
+			r.push(`an`);
+		} else {
+			r.push(`${his}`);
+		}
+		r.push(`arm to fend off some imagined danger, and in doing so, pushes the sheet down around ${his} waist. ${He} sleeps naked, like all your slaves, and the movement bares ${his}`);
+		if (eventSlave.boobs > 2000) {
+			r.push(`udders`);
+		} else if (eventSlave.boobs > 1000) {
+			r.push(`heavy breasts`);
+		} else if (eventSlave.boobs > 400) {
+			r.push(`boobs`);
+		} else {
+			r.push(`little tits`);
+		}
+		if (eventSlave.belly >= 5000) {
+			r.push(`and ${belly}`);
+			if (eventSlave.bellyPreg >= 3000) {
+				r.push(`pregnant`);
+			}
+			r.push(`belly`);
+		}
+		r.push(`to the cool night air. The low blue light outlines ${his} nipples as they`);
+		if (eventSlave.nipples !== "fuckable") {
+			r.push(`stiffen`);
+		} else {
+			r.push(`swell`);
+		}
+		r.push(`at the sudden change of temperature,`);
+		switch (eventSlave.nipples) {
+			case "tiny":
+				r.push(`pricking up into little buds.`);
+				break;
+			case "flat":
+				r.push(`becoming visible against ${his} areolae.`);
+				break;
+			case "puffy":
+				r.push(`the puffy promontories jutting even farther out.`);
+				break;
+			case "partially inverted":
+				r.push(`just starting to poke past their inversion.`);
+				break;
+			case "inverted":
+				r.push(`the twin domes formed by their inverted shapes becoming more prominent.`);
+				break;
+			case "huge":
+				r.push(`becoming so large they cast long shadows across ${his} bed.`);
+				break;
+			case "fuckable":
+				r.push(`the fuckable holes steadily closing and starting to poke outwards.`);
+				break;
+			default:
+				r.push(`becoming attractively erect.`);
+		}
+		r.push(`Still dreaming, ${he} clasps ${his}`);
+		if (hasBothArms(eventSlave)) {
+			r.push(`arms`);
+		} else {
+			r.push(`arm`);
+		}
+		r.push(`protectively over ${his}`);
+		if (eventSlave.pregKnown === 1) {
+			r.push(`unborn`);
+			if (eventSlave.pregType > 1) {
+				r.push(`children,`);
+			} else {
+				r.push(`child,`);
+			}
+		} else {
+			r.push(`vulnerable chest,`);
+		}
+		r.push(
+			`and rolls to one side. Halfway into a fetal position, ${he} turns ${his} head against ${his} pillow, murmuring`,
+			Spoken(eventSlave, `"N-no — please no — I'll d-do anyth-thing — no..."`)
+		);
+
+		App.Events.addParagraph(node, r);
+		App.Events.addResponses(node, [
+		/* TODO: add a positive variant */
+			new App.Events.Result(`Let ${him} be`, leave),
+			new App.Events.Result(`Hug ${him}`, hug),
+			(canDoAnal(eventSlave) || canDoVaginal(eventSlave))
+				? new App.Events.Result(`Rape ${him}`, rape, ((eventSlave.vagina === 0 && canDoVaginal(eventSlave)) || (eventSlave.anus === 0) && canDoAnal(eventSlave)) ? `This option will take ${his} virginity` : null)
+				: new App.Events.Result(),
+		]);
+
+		function leave() {
+			return `It may be for the best to not disturb ${his} restless slumber, you decide. Admiring the attractive view for just a moment longer, you turn back and head to your own bed. The next morning, it appears as though ${eventSlave.slaveName} doesn't even remember this nightmare.`;
+		}
+
+		function hug() {
+			r = [];
+			r.push(`You reach out to hug ${him}, but as soon as your hand touches ${his} shoulder, ${he} writhes instinctively away.`);
+			if (canSee(eventSlave)) {
+				r.push(`${His} eyes fly open, searching frantically for ${his} assailant. Seeing that it's you, ${he} screams and scrabbles away even harder. After making it a few feet, ${he} collects ${his} wits enough to bring ${himself} to a stop and stop screaming, though ${he} continues to sob, staring at you in terror.`);
+			} else {
+				r.push(`${He} gropes frantically for ${his} assailant, before making contact with you. ${He} screams and scrabbles away, only stopping when ${he} collides with the nearest solid object.`);
+				if (canHear(eventSlave)) {
+					r.push(`Only after several call outs that it is you does ${he} stop screaming, though ${he} continues to sob, listening to your every breath in terror.`);
+				} else {
+					r.push(`After screaming ${himself} hoarse, ${he} realizes that ${his} assault has abruptly ended, and gently feels around ${his} surroundings with a shaking hand to discover ${himself} back in ${his} room.`);
+				}
+			}
+			r.push(`${He} remains frozen in place as you slowly advance on ${him} and give ${him} a light embrace. ${His} tears gradually stop, but ${he} does not relax,`);
+			if (canSee(eventSlave)) {
+				r.push(`remaining dumbly stiff`);
+			} else {
+				r.push(`continuing to quake in fear`);
+			}
+			r.push(`within your arms. Eventually you let ${him} go, and ${he} crawls pathetically back under ${his} sheet, still weeping softly. It seems ${he} is <span class="trust dec">more afraid of you</span> than ever, and if you thought that a simple hug could win ${him} over, you were wrong.`);
+			if (canSee(eventSlave)) {
+				eventSlave.trust -= 4;
+			} else if (canHear(eventSlave)) {
+				eventSlave.trust -= 5;
+			} else {
+				eventSlave.trust -= 6;
+			}
+			return r;
+		}
+
+		function rape() {
+			const frag = document.createDocumentFragment();
+			r = [];
+			r.push(`You snatch the sheet off ${him}, shove ${his} uppermost shoulder down so ${his} face is smashed into the pillow, and bring your knees down between ${his} legs, spreading them to force ${hers} apart. You use the hand that isn't controlling ${his} torso to locate ${his}`); // TODO add support for one-handed PC?
+			if (canDoVaginal(eventSlave)) {
+				if (eventSlave.vagina > 2) {
+					r.push(`amusingly loose cunt`);
+				} else if (eventSlave.vagina > 1) {
+					r.push(`large womanhood`);
+				} else if (eventSlave.vagina > 0) {
+					r.push(`tight pussy`);
+				} else {
+					r.push(`poor virgin pussy`);
+				}
+			} else {
+				if (eventSlave.anus > 2) {
+					r.push(`amusingly broad asshole`);
+				} else if (eventSlave.anus > 1) {
+					r.push(`big butthole`);
+				} else if (eventSlave.anus > 0) {
+					r.push(`tight rosebud`);
+				} else {
+					r.push(`poor virgin anus`);
+				}
+			}
+			r.push(`in the dark as ${he} begins to <span class="trust dec">struggle and scream.</span> ${He} comes fully awake when ${he} feels your rough fingers searching for and then finding ${his}`);
+			if (eventSlave.vagina >= 0 && canDoVaginal(eventSlave)) {
+				r.push(`vagina,`);
+			} else {
+				r.push(`crinkled hole,`);
+			}
+			r.push(`and ${his} noise increases to the point where it becomes annoying. You stuff ${his} face into the pillow and take ${him} mercilessly, using the pillow to cut off ${his} breath whenever ${he} struggles too much, until oncoming suffocation forces ${him} to go still and take it like a good little bitch.`);
+			App.Events.addParagraph(frag, r);
+			App.Events.addParagraph(frag, [`<span class="devotion dec">Sometimes dreams do come true.</span>`]);
+			App.Events.addParagraph(frag, [VCheck.Simple(eventSlave, 1)]);
+			eventSlave.trust -= 4;
+			eventSlave.devotion -= 4;
+			return frag;
+		}
+	}
+};
diff --git a/src/events/RESS/review/cumslutWhore.js b/src/events/RESS/review/cumslutWhore.js
new file mode 100644
index 0000000000000000000000000000000000000000..052ef4596721df79ba8cb9ce9c356b0130273ea4
--- /dev/null
+++ b/src/events/RESS/review/cumslutWhore.js
@@ -0,0 +1,180 @@
+App.Events.RESSCumslutWhore = class RESSCumslutWhore extends App.Events.BaseEvent {
+	eventPrerequisites() {
+		return [
+			() => V.PC.dick !== 0,
+		]; // always valid if sufficient actors can be cast successfully
+	}
+
+	actorPrerequisites() {
+		return [
+			[ // single event slave
+				s => s.fetish !== "mindbroken",
+				s => s.devotion > 20,
+				s => s.fetishKnown === 1,
+				s => [Job.PUBLIC, Job.WHORE, Job.GLORYHOLE].includes(s.assignment),
+				s => s.fetish === "cumslut" || s.energy > 95, // Add condition !== "hates oral" ?
+			]
+		];
+	}
+
+	execute(node) {
+		/** @type {Array<App.Entity.SlaveState>} */
+		let [eventSlave] = this.actors.map(a => getSlave(a));
+		const {
+			He, he, his, him, girl, hers
+		} = getPronouns(eventSlave);
+		const {title: Master, say} = getEnunciation(eventSlave);
+		const belly = bellyAdjective(eventSlave);
+		const hands = hasBothArms(eventSlave) ? "hands" : "hand";
+
+		V.nextLink = "Next Week";
+
+		App.Events.drawEventArt(node, eventSlave);
+
+		let r = [];
+		r.push(
+			`Late at night,`,
+			contextualIntro(V.PC, eventSlave, "DOM"),
+			`returns to the living area of the penthouse. It's the end of ${his} day as a working girl, and despite being obviously tired, ${he}'s smiling with obvious sexual satiation. Every so often, ${he}'ll get a dreamy expression and lick ${his} lips. ${He} fetishizes cum to the extent that getting to eat a`
+		);
+		if (V.showInches === 2) {
+			r.push(`mile`);
+		} else {
+			r.push(`kilometer`);
+		}
+		r.push(`of dick really satisfies ${him}.`);
+
+		App.Events.addParagraph(node, r);
+		App.Events.addResponses(node, [
+			new App.Events.Result(`${He} must have at least a little room left`, room),
+			new App.Events.Result(`Cum in ${his} mouth all night`, night),
+			cumSlaves().length >= 5
+				? new App.Events.Result(`Give ${him} access to the Dairy's cockmilk`, cockmilk)
+				: new App.Events.Result()
+		]);
+
+		function room() {
+			r = [];
+			r.push(`You call ${eventSlave.slaveName} in and ask how full ${he} is. ${He} looks confused for a moment but soon figures out what you mean.`);
+			if (!canTalk(eventSlave) && (!hasAnyArms(eventSlave))) {
+				r.push(`As a mute amputee ${he} communicates poorly,`);
+				if (eventSlave.inflationType === "cum") {
+					if (eventSlave.bellyFluid >= 10000) {
+						r.push(`but ${he} sticks out ${his} hugely bloated cum-belly and opens wide, ${his} intent clear.`);
+					} else if (eventSlave.bellyFluid >= 5000) {
+						r.push(`but ${he} wiggles around so ${his} cum-filled belly sloshes audibly before opening wide.`);
+					} else {
+						r.push(`but ${he} sticks out ${his} cum-swollen belly and opens wide, ${his} intent clear.`);
+					}
+				} else {
+					r.push(`but ${he} does manage to look hungry.`);
+				}
+			} else if (!canTalk(eventSlave)) {
+				if (eventSlave.inflationType === "cum") {
+					if (eventSlave.bellyFluid >= 10000) {
+						r.push(`${He} strokes ${his} hugely bloated cum-belly, makes a sign for "never," and then makes a sign for "enough."`);
+					} else if (eventSlave.bellyFluid >= 5000) {
+						r.push(`${He} jiggles ${his} cum-filled belly lewdly, makes a sign for "need," and then makes a sign for "more."`);
+					} else {
+						r.push(`${He} pats ${his} cum-swollen belly, makes a sign for "much," and then makes a sign for "room."`);
+					}
+				} else {
+					r.push(`${He} gestures at ${his}`);
+					if (eventSlave.belly >= 1500) {
+						r.push(belly);
+					}
+					r.push(`stomach, makes a sign for "full," and then makes a sign for "never."`);
+				}
+			} else {
+				if (eventSlave.inflationType === "cum") {
+					if (eventSlave.bellyFluid >= 10000) {
+						r.push(
+							`${He} strokes ${his} hugely bloated cum-belly,`,
+							Spoken(eventSlave, `"Oh ${Master}, I've had so much cum already today, but I can't help myself if you're offering me even more. I'll find some room in there,"`)
+						);
+					} else if (eventSlave.bellyFluid >= 5000) {
+						r.push(
+							`${He} jiggles ${his} cum-filled belly lewdly,`,
+							Spoken(eventSlave, `"Oh ${Master}, there's so much already in me, but I feel so empty still."`)
+						);
+					} else {
+						r.push(
+							`${He} pats ${his} cum-swollen stomach,`,
+							Spoken(eventSlave, `"Oh ${Master}, this little belly is nothing, I always have room for more,"`)
+						);
+					}
+				} else {
+					r.push(Spoken(eventSlave, `"Oh ${Master}, I'll never be full again,"`));
+				}
+				r.push(`${he} ${say}s`);
+				if (eventSlave.lips > 70) {
+					r.push(`past ${his} enormous lips`);
+				} else if (eventSlave.lipsPiercing+eventSlave.tonguePiercing > 2) {
+					r.push(`past ${his} mouthful of piercings`);
+				}
+				r.push(r.pop() + `.`);
+			}
+			r.push(`${He} comes eagerly over and sucks you off with enthusiasm. As you cum, ${he} orgasms quickly at the`);
+			if (canTaste(eventSlave)) {
+				r.push(`taste`);
+			} else {
+				r.push(`feeling`);
+			}
+			r.push(`of the stuff hitting ${his}`);
+			if (V.PC.balls >= 10) {
+				r.push(`mouth, even as your load keeps flowing into ${his} gullet`);
+				if (V.PC.balls >= 30) {
+					r.push(`steadily bloated the poor ${girl}`);
+				}
+			} else {
+				r.push(`mouth.`);
+			}
+			if (!canTalk(eventSlave)) {
+				r.push(`${He}`);
+				if (!canTaste(eventSlave)) {
+					r.push(`(rather ironically)`);
+				}
+				r.push(`signs that you taste great.`);
+			} else {
+				r.push(
+					Spoken(eventSlave, `"${Master}, you taste great,"`),
+					`${he}`
+				);
+				if (!canTaste(eventSlave)) {
+					r.push(`(rather ironically)`);
+				}
+				r.push(`purrs.`);
+			}
+			r.push(`<span class="trust inc">${He} has become more trusting</span> in your willingness to give ${him} what ${he} wants.`);
+			eventSlave.trust += 4;
+			seX(eventSlave, "oral", V.PC, "penetrative");
+			return r;
+		}
+
+		function night() {
+			r = [];
+			r.push(`You've had a busy day, so you've been unusually remiss in fucking your slaves. Naturally, this means you'll be spending the evening wandering around your home using your living sexual appliances. ${eventSlave.slaveName} is instructed to follow you and assist. ${He}'s tired, so`);
+			if (!hasAnyArms(eventSlave)) {
+				r.push(`you bring`);
+				if (isAmputee(eventSlave)) {
+					r.push(`${his} limbless torso`);
+				} else {
+					r.push(`${him}`);
+				}
+				r.push(`along as a cum receptacle. Whenever you're about to finish in another slave, you pull out and fill ${his} mouth instead.`);
+			} else {
+				r.push(`you let ${him} tag meekly along, masturbating gently as you use other slaves or just watching lazily. But whenever you're on the point of coming, you switch to ${his} mouth and let ${him} finish you with a few sucks and pumps of ${his} fatigued ${hands}.`);
+			}
+			r.push(`By the time you put the exhausted ${eventSlave.slaveName} to bed ${he}'s in a haze of cum-induced pleasure. <span class="devotion inc">${He} has become more submissive to you.</span>`);
+			eventSlave.devotion += 4;
+			seX(eventSlave, "oral", V.PC, "penetrative", 5);
+			return r;
+		}
+
+		function cockmilk() {
+			eventSlave.devotion += 10;
+			cashX(random(500, 1000), "event", eventSlave);
+			return `You let ${him} know you have a sexual accessory for ${him} to use. This isn't too unusual, so ${he} comes to your office without much anticipation. ${He} doesn't understand why you have an enormous sealed canister of fresh cum on your desk, but when you explain that it's ${hers} to play with on the job, ${he} starts to bounce with excitement. Not all of ${his} customers are interested in cum play, but quite a few are, and ${he} spends almost as much time cleaning up the gorgeous messes that get made as ${he} does making them. It's a valuable and <span class="cash inc">profitable</span> whore who <span class="devotion inc">looks forward</span> to ${his} next customer.`;
+		}
+	}
+};
diff --git a/src/events/RESS/review/desperatelyHorny.js b/src/events/RESS/review/desperatelyHorny.js
new file mode 100644
index 0000000000000000000000000000000000000000..e2a745f229e01c975a3b9599651ba4564b5629bb
--- /dev/null
+++ b/src/events/RESS/review/desperatelyHorny.js
@@ -0,0 +1,1006 @@
+App.Events.RESSDesperatelyHorny = class RESSDesperatelyHorny extends App.Events.BaseEvent {
+	eventPrerequisites() {
+		return []; // always valid if sufficient actors can be cast successfully
+	}
+
+	actorPrerequisites() {
+		return [
+			[ // single event slave
+				s => s.fetish !== "mindbroken",
+				hasAnyArms,
+				hasAnyLegs,
+				s => s.rules.release.masturbation === 0,
+				s => !App.Utils.hasNonassignmentSex(s),
+				s => s.need,
+				s => s.devotion >= -20,
+				s => s.trust >= -50,
+			]
+		];
+	}
+
+	execute(node) {
+		/** @type {Array<App.Entity.SlaveState>} */
+		let [eventSlave] = this.actors.map(a => getSlave(a));
+		const {
+			His, He, he, his, him, himself, girl, hers
+		} = getPronouns(eventSlave);
+		const {title: Master} = getEnunciation(eventSlave);
+		const belly = bellyAdjective(eventSlave);
+		const PC = V.PC;
+
+		V.nextLink = "Next Week";
+
+		App.Events.drawEventArt(node, eventSlave);
+
+		let r = [];
+		r.push(
+			`Looking deeply unhappy and shivering occasionally,`,
+			contextualIntro(PC, eventSlave, "DOM"),
+			`comes to see you.`
+		);
+		if (eventSlave.rules.speech === "restrictive") {
+			r.push(`Since ${he} is not allowed to speak, ${he} just enters your office and stands there, unsure what to do.`);
+		} else {
+			if (!canTalk(eventSlave)) {
+				r.push(`${He} tries to communicate something with ${his}`);
+				if (hasBothArms(eventSlave)) {
+					r.push(`hands,`);
+				} else {
+					r.push(`hand,`);
+				}
+				r.push(`but ${he}'s so distracted ${he} can't manage it. ${He} starts to shake a little and gives up.`);
+			} else {
+				r.push(
+					Spoken(eventSlave, `"${Master}, please! Please — I — please, I need to — oh, ${Master}—"`),
+					he
+				);
+				if (SlaveStatsChecker.checkForLisp(eventSlave)) {
+					r.push(`lisps frantically.`);
+				} else {
+					r.push(`babbles.`);
+				}
+				r.push(`${He} starts to shake a little and lapses into silence.`);
+			}
+		}
+		r.push(`The reason for ${his} distress is obvious:`);
+		if (eventSlave.chastityPenis === 1) {
+			r.push(`${his} chastity cage is mostly solid, but it has a small hole below where the tip of ${his} dick is held, and this is dripping precum. ${He}'s sexually helpless, and sexually overcharged to the point where ${he}'s dripping more precum than a usual dickgirl might ejaculate normally.`);
+		} else if (eventSlave.dick > 0 && eventSlave.hormoneBalance >= 100 && !canAchieveErection(eventSlave)) {
+			r.push(`though the hormones are keeping it soft, ${his} member is dripping a stream of precum; droplets of the stuff spatter ${his} legs. One of ${his} spasms brings ${his} dickhead brushing against ${his} thigh, and the stimulation almost brings ${him} to orgasm.`);
+		} else if (eventSlave.dick > 0 && eventSlave.balls > 0 && eventSlave.ballType === "sterile" && !canAchieveErection(eventSlave)) {
+			r.push(`though ${he}'s chemically castrated, ${his} soft member is dripping a stream of watery precum; droplets of the stuff spatter ${his} legs. One of ${his} spasms brings ${his} dickhead brushing against ${his} thigh, and the stimulation almost brings ${him} to orgasm.`);
+		} else if (eventSlave.dick > 0 && eventSlave.balls === 0 && !canAchieveErection(eventSlave)) {
+			r.push(`though ${he}'s gelded, ${his} soft member is dripping a stream of watery precum; droplets of the stuff spatter ${his} legs. One of ${his} spasms brings ${his} dickhead brushing against ${his} thigh, and the stimulation almost brings ${him} to orgasm.`);
+		} else if (eventSlave.dick > 0 && !canAchieveErection(eventSlave)) {
+			r.push(`though ${he}'s far too large to get hard, ${his} engorged member is dripping a stream of watery precum; droplets of the stuff spatter the floor. One of ${his} spasms brushes the length of ${his} cock against ${his} thigh, and the stimulation almost brings ${him} to orgasm.`);
+		} else if (eventSlave.dick > 0) {
+			if (eventSlave.dick > 4) {
+				r.push(`${his} gigantic member juts out painfully, scattering droplets of precum whenever ${he} moves. One of ${his} spasms brings ${his} dickhead brushing up against ${his}`);
+			} else if (eventSlave.dick > 2) {
+				r.push(`${his} impressive member juts out painfully, scattering droplets of precum whenever ${he} moves. One of ${his} spasms brings ${his} dickhead brushing up against ${his}`);
+			} else {
+				r.push(`${his} little member juts out painfully, scattering droplets of precum whenever ${he} moves. One of ${his} spasms brings ${his} dickhead brushing up against ${his}`);
+			}
+			if (eventSlave.belly >= 10000 || eventSlave.weight > 95) {
+				r.push(belly);
+				if (eventSlave.bellyPreg >= 3000) {
+					r.push(`pregnancy,`);
+				} else {
+					r.push(`belly,`);
+				}
+			} else {
+				r.push(`abdomen,`);
+			}
+			r.push(`and the stimulation almost brings ${him} to orgasm.`);
+		} else if (eventSlave.chastityVagina) {
+			r.push(`female juices are leaking out from behind ${his} chastity belt. ${His} cunt desperately wants to be fucked, and is dripping natural lubricant to ease penetration by cocks that cannot reach it through its protective shield.`);
+		} else if (eventSlave.clit > 3) {
+			r.push(`${his} dick-like clit is painfully engorged and juts out massively. The stimulation of the air on ${his} clit keeps ${him} on the brink of orgasm.`);
+		} else if (eventSlave.clit > 0) {
+			r.push(`${his} lovely clit is painfully engorged, and ${his} pussy is so wet there are little rivulets of moisture running down ${his} inner thighs. One of ${his} spasms brings ${his} clit brushing accidentally against ${his} hand, and the stimulation almost brings ${him} to orgasm.`);
+		} else if (eventSlave.labia > 0) {
+			r.push(`${his} lovely pussylips are painfully engorged, and ${his} pussy is so wet there are little rivulets of moisture running down ${his} inner thighs. One of ${his} spasms brings ${his} generous labia brushing against ${his} thighs, and the stimulation almost brings ${him} to orgasm.`);
+		} else if (eventSlave.vagina === -1) {
+			r.push(`though ${he} has no external genitalia to display it, ${he}'s flushed and uncomfortable, and is unconsciously presenting ${his} ass, since that's ${his} only real avenue to climax.`);
+		} else {
+			r.push(`${his} pussy is so wet there are little rivulets of moisture running down ${his} inner thighs. One of ${his} spasms brings ${him} enough stimulation that it almost brings ${him} to orgasm.`);
+		}
+		App.Events.addParagraph(node, r);
+		App.Events.addParagraph(node, [`This is the result of not getting off for several days while on the slave diet provided by the nutritional systems. The mild aphrodisiacs included in ${his} food increase ${his} sex drive, and the increased libido can become cumulative if it's not regularly addressed. It looks like ${he} hasn't really gotten ${hers} in a couple of days, and the poor ${girl} can likely think of nothing but that. ${He}'s so horny ${he}'ll do anything for release. However, ${he} did come to you with ${his} trouble rather than masturbating illicitly.`]);
+
+		let choices = [new App.Events.Result(`Touch ${him} enough to get ${him} off`, touch)];
+		if (eventSlave.fetishKnown === 1 && eventSlave.fetish !== "none") {
+			choices.push(new App.Events.Result(`Reward ${him} for coming to you`, reward, virginityWarning()));
+		}
+		choices.push(new App.Events.Result(null, null, `Let ${him} get off:`));
+		const unknownWeakFetish = (eventSlave.fetishKnown !== 1 || eventSlave.fetishStrength <= 95);
+		if (eventSlave.fetish !== "cumslut" || unknownWeakFetish) {
+			choices.push(new App.Events.Result(`while ${he} sucks`, sucks));
+		}
+		if (eventSlave.fetish !== "boobs" || unknownWeakFetish) {
+			choices.push(new App.Events.Result(`during nipple play`, nipple));
+		}
+		if ((eventSlave.fetish !== "pregnancy" || unknownWeakFetish) && canDoVaginal(eventSlave)) {
+			choices.push(new App.Events.Result(`during insemination play`, insemination, eventSlave.vagina === 0 ? `This option will take ${his} virginity` : null));
+		}
+		if ((eventSlave.fetish !== "buttslut" || unknownWeakFetish) && canDoAnal(eventSlave)) {
+			choices.push(new App.Events.Result(`while ${he} takes it up the ass`, ass, eventSlave.anus === 0 ? `This option will take ${his} anal virginity` : null));
+		}
+		if (eventSlave.fetish !== "humiliation" || unknownWeakFetish) {
+			choices.push(new App.Events.Result(`in public`, inPublic));
+		}
+		if (eventSlave.fetish !== "submissive" || unknownWeakFetish) {
+			choices.push(new App.Events.Result(`after submitting to you`, submitting, virginityWarning()));
+		}
+		if (eventSlave.fetish !== "masochist" || unknownWeakFetish) {
+			choices.push(new App.Events.Result(`while in pain`, pain, virginityWarning()));
+		}
+		App.Events.addResponses(node, choices);
+
+		function touch() {
+			r = [];
+			r.push(`You tell ${him} that ${he} deserves a reward for coming to you. ${He} almost bursts into tears and nods jerkily, unable to do anything else. You brush a finger across ${his} cheek, ${his} ear, ${his} lips; at each touch ${he}`);
+			if (!canTalk(eventSlave)) {
+				r.push(`breathes in sharply.`);
+			} else {
+				r.push(`gasps.`);
+			}
+			r.push(`Moving around behind ${him}, you run a hand down ${his} flank to ${his} hip, and then around to ${his}`);
+			if (eventSlave.belly >= 10000 || eventSlave.bellyPreg >= 5000) {
+				r.push(`popped`);
+			}
+			r.push(`navel, and up to cup ${his} breasts. Your run a thumb`);
+			if (eventSlave.nipples !== "fuckable") {
+				r.push(`over`);
+			} else {
+				r.push(`into`);
+			}
+			r.push(`each nipple, almost tipping ${him} over the edge. Your hands move down again,`);
+			if (canDoAnal(eventSlave) && canDoVaginal(eventSlave)) {
+				r.push(`spreading ${his} buttocks to tease ${his} clenched anus, and then forward across ${his} perineum. From there, you trace ${his} labia and end with a pinch of ${his} clit — and this is enough.`);
+			} else if (canDoAnal(eventSlave)) {
+				r.push(`spreading ${his} buttocks to tease ${his} clenched anus, and then forward across ${his} perineum — and this is enough.`);
+			} else if (canDoVaginal(eventSlave)) {
+				r.push(`tracing ${his} labia, and then forward to ${his} clit — and this is enough.`);
+			} else {
+				r.push(`to give ${his} buttcheeks a rub down before teasing at ${his} chastity — and this is enough.`);
+			}
+			r.push(`${He} spasms, pitching forward`);
+			if (eventSlave.belly >= 300000) {
+				r.push(`onto ${his} obscene belly.`);
+			} else {
+				r.push(`and almost falling.`);
+			}
+			r.push(`${He} hurries to clean up after ${himself}, sobbing with relief and thanking you; ${his} submissiveness <span class="devotion inc">has increased.</span>`);
+			eventSlave.devotion += 4;
+			return r;
+		}
+
+		function reward() {
+			const {heU, hisU, himU, girlU} = getNonlocalPronouns(V.seeDicks).appendSuffix("U");
+			const child = eventSlave.pregType > 1 ? "children" : "child";
+			r = [];
+			r.push(`${He} almost cries with relief when you tell ${him} to`);
+			switch (eventSlave.fetish) {
+				case "submissive":
+					r.push(`lie down on your desk on ${his} side in the fetal position. ${He} clambers up hurriedly and hugs ${his} knees`);
+					if (eventSlave.belly >= 10000) {
+						r.push(`as best ${he} can with ${his} ${belly}`);
+						if (eventSlave.bellyPreg >= 3000) {
+							r.push(`pregnancy`);
+						}
+						r.push(`in the way`);
+					}
+					r.push(r.pop() + `, spinning ${himself} around on the smooth surface so ${his} rear is pointing right at you. You stand up and pull ${him} over, ${his} ${eventSlave.skin} skin sliding across the cool glass desktop, until ${his}`);
+					if (canDoAnal(eventSlave) && canDoVaginal(eventSlave)) {
+						r.push(`butt is right at the edge of the desk. You warm yourself up with a pussy fuck before shifting your attention to ${his} neglected asshole.`);
+						r.push(VCheck.Both(eventSlave, 3));
+						r.push(`When you finish, you`);
+					} else if (canDoAnal(eventSlave)) {
+						r.push(`butt is right at the edge of the desk.`);
+						r.push(VCheck.Anal(eventSlave, 3));
+						r.push(`You give it a good fuck and then`);
+					} else if (canDoVaginal(eventSlave)) {
+						r.push(`pussy is right at the edge of the desk.`);
+						r.push(VCheck.Vaginal(eventSlave, 3));
+						r.push(`You give it a good fuck and then`);
+					} else {
+						r.push(`mouth is right at the edge of the desk. You give it a good fuck and then`);
+						seX(eventSlave, "oral", PC, "penetrative", 3);
+					}
+					r.push(`order ${him} brusquely to clean up and come right back. You use ${him} as a nice little desktop`);
+					if (PC.dick !== 0) {
+						r.push(`cockholster`);
+					} else {
+						r.push(`sex toy`);
+					}
+					r.push(`for the rest of the day.`);
+					break;
+				case "cumslut":
+					r.push(`get under your desk and`);
+					if (PC.dick !== 0) {
+						r.push(`suck a dick`);
+						if (PC.vagina !== -1) {
+							r.push(`and eat a pussy`);
+						}
+					} else {
+						r.push(`eat pussy`);
+					}
+					r.push(`while you work.`);
+					if (eventSlave.belly >= 120000) {
+						r.push(`As ${his} ${belly} belly bumps into you, you sigh and swivel your chair to the side; there is no way ${he}'ll fit under there in ${his} bloated state.`);
+					}
+					r.push(`${He}'s so horny that ${he}'s barely got`);
+					if (PC.dick !== 0) {
+						r.push(`your cock into ${his} mouth`);
+					} else {
+						r.push(`${his} lips and tongue on your cunt`);
+					}
+					r.push(`before ${he} climaxes spontaneously, shivering and moaning nicely. You keep ${him} down there for a while, doing light work and orgasming occasionally as ${he} gently`);
+					if (PC.dick !== 0) {
+						r.push(`blows you`);
+						if (PC.vagina !== -1) {
+							r.push(`and eats you out`);
+						}
+					} else {
+						r.push(`lavishes attention on your wet vagina`);
+					}
+					r.push(r.pop() + `.`);
+					seX(eventSlave, "oral", PC, "penetrative", 3);
+					break;
+				case "humiliation":
+					r.push(`run an unimportant message to a citizen across ${V.arcologies[0].name}. Naked. ${He} blushes with mixed embarrassment and anticipation. ${He}'s so pent up that before taking ten steps out of your penthouse entryway and towards ${his} objective, the open stares ${his} naked, horny body is getting push ${him} over the edge.`);
+					if (eventSlave.chastityPenis === 1) {
+						r.push(`As ${he}`);
+						if (eventSlave.belly >= 10000) {
+							r.push(`waddles`);
+						} else {
+							r.push(`walks`);
+						}
+						r.push(`along, ${his} chastity cage continues to stream precum. It spatters ${his} legs, making ${his} desperation completely obvious to anyone who looks at ${him}`);
+						if (eventSlave.belly >= 150000) {
+							r.push(`from behind`);
+						}
+						r.push(r.pop() + `.`);
+					} else if (canAchieveErection(eventSlave)) {
+						r.push(`${His} rock hard cock,`);
+						if (eventSlave.belly >= 150000) {
+							r.push(`forced down by the size of ${his} ${belly}`);
+							if (eventSlave.bellyPreg >= 3000) {
+								r.push(`pregnancy`);
+							} else {
+								r.push(`stomach`);
+							}
+							r.push(`as ${he}`);
+							if (eventSlave.belly >= 10000) {
+								r.push(`waddles`);
+							} else {
+								r.push(`walks`);
+							}
+							r.push(`hurriedly along, jerks suddenly and shoots out a little squirt of cum down the underside of ${his} belly.`);
+						} else {
+							r.push(`sticking straight forward as ${he}`);
+							if (eventSlave.belly >= 10000) {
+								r.push(`waddles`);
+							} else {
+								r.push(`walks`);
+							}
+							r.push(`hurriedly along, jerks suddenly upward and shoots out a little squirt of cum`);
+							if (eventSlave.belly >= 10000) {
+								r.push(`across the underside of ${his}`);
+								if (eventSlave.bellyPreg >= 3000) {
+									r.push(`pregnant`);
+								}
+								r.push(`belly`);
+							}
+							r.push(r.pop() + `.`);
+						}
+						r.push(`As ${he} stumbles forward, each step releases another squirt.`);
+					} else if (eventSlave.dick > 0) {
+						r.push(His);
+						if (eventSlave.dick > 6) {
+							r.push(`enormous`);
+						}
+						r.push(`soft cock, flopping around as ${he}`);
+						if (eventSlave.belly >= 10000) {
+							r.push(`waddles`);
+						} else {
+							r.push(`walks`);
+						}
+						r.push(`hurriedly along, starts to twitch weakly and release little dribbles of cum. As ${he} stumbles forward, each step releases another squirt.`);
+					} else if (eventSlave.anus > 2) {
+						r.push(`As ${he} stumbles a little with the orgasm, ${his}`);
+						if (canDoAnal(eventSlave)) {
+							r.push(`naked anus is easily visible from behind ${him}, and its lewd spasms attract attention.`);
+						} else {
+							r.push(`anus lewdly spasms under ${his} chastity, and ${his} odd motions attract attention.`);
+						}
+					} else if (canDoVaginal(eventSlave)) {
+						r.push(`${He} focuses ${his} attention on ${his} pussy, awkwardly stumbling along as ${he} tries to walk and finger ${himself} at the same time.`);
+					} else if (canDoAnal(eventSlave)) {
+						r.push(`${He} focuses ${his} attention on ${his} asspussy, awkwardly stumbling along as ${he} tries to walk and play with ${his} own butt at the same time.`);
+					} else if (eventSlave.vagina > 0) {
+						r.push(`${He} squirts a little femcum down ${his} inner thighs as ${he} stumbles along, trailing the odor of a woman's pleasure behind ${him}.`);
+					} else {
+						r.push(`${He} focuses ${his} attention on ${his} breasts, awkwardly stumbling along as ${he} tries to walk and`);
+						if (eventSlave.nipples !== "fuckable") {
+							r.push(`tweak`);
+						} else {
+							r.push(`finger`);
+						}
+						r.push(`${his} own nipples at the same time.`);
+					}
+					r.push(`Passersby point and laugh, thrilling ${him}.`);
+					break;
+				case "buttslut":
+					r.push(`sit on your lap.`);
+					if (canDoAnal(eventSlave)) {
+						r.push(`${He} climaxes the instant your`);
+						if (PC.dick !== 0) {
+							r.push(`dickhead`);
+						} else {
+							r.push(`strap-on`);
+						}
+						r.push(`touches ${his}`);
+						if (eventSlave.anus > 2) {
+							r.push(`anal gape,`);
+						} else {
+							r.push(`pucker,`);
+						}
+						r.push(`but ${he} knows this is just the start, and ${he} laughs with pleasure as ${his}`);
+						if (eventSlave.anus > 2) {
+							r.push(`lewd sphincter loosely squeezes`);
+						} else {
+							r.push(`sphincter tightens against`);
+						}
+						r.push(`the base of`);
+						if (PC.dick !== 0) {
+							r.push(`your cock.`);
+						} else {
+							r.push(`the strap-on.`);
+						}
+						r.push(`You`);
+						if (eventSlave.belly >= 5000) {
+							r.push(`spread your legs more and shove the`);
+							if (eventSlave.bellyPreg >= 3000) {
+								r.push(`pregnant,`);
+							}
+							r.push(`giggling buttslut down so ${his} ${belly} belly and chest are between your legs, lower your chair a little, and slide yourself back towards your desk to work.`);
+						} else {
+							r.push(`shove the giggling buttslut down so ${his} chest is resting against the tops of your legs, lower your chair a little, and slide yourself back towards your desk to work.`);
+						}
+						r.push(`${He} wraps ${his} legs around the back of the chair and hugs your knees with ${his} arms, securing ${himself}`);
+						if (eventSlave.belly >= 100000) {
+							r.push(`to you as an anal cocksleeve for as long as you feel like keeping`);
+							if (PC.dick !== 0) {
+								r.push(`your penis lodged up a compliant butthole.`);
+							} else {
+								r.push(`the happy buttslut nice and full.`);
+							}
+						} else {
+							r.push(`under the desk as an anal cocksleeve for as long as you feel like keeping`);
+							if (PC.dick !== 0) {
+								r.push(`your penis lodged up a compliant butthole.`);
+							} else {
+								r.push(`the happy buttslut trapped under there.`);
+							}
+						}
+						r.push(VCheck.Anal(eventSlave, 1));
+					} else {
+						r.push(`${He} climaxes the instant your`);
+						if (PC.dick !== 0) {
+							r.push(`dickhead`);
+						} else {
+							r.push(`strap-on`);
+						}
+						r.push(`squeezes between ${his}`);
+						if (eventSlave.butt < 2) {
+							r.push(`flat, tight cheeks,`);
+						} else if (eventSlave.butt <= 2) {
+							r.push(`cute cheeks,`);
+						} else if (eventSlave.butt <= 3) {
+							r.push(`round, firm cheeks,`);
+						} else if (eventSlave.butt <= 4) {
+							r.push(`curvy, enticing buttcheeks,`);
+						} else if (eventSlave.butt <= 5) {
+							r.push(`huge cheeks,`);
+						} else if (eventSlave.butt <= 6) {
+							r.push(`massive, alluring cheeks,`);
+						} else if (eventSlave.butt <= 7) {
+							r.push(`enormous cheeks,`);
+						} else if (eventSlave.butt <= 10) {
+							r.push(`gigantic, jiggly cheeks,`);
+						} else if (eventSlave.butt <= 14) {
+							r.push(`inhuman, cushiony butt cheeks,`);
+						} else if (eventSlave.butt <= 20) {
+							r.push(`couch-like, super jiggly ass cheeks,`);
+						}
+						r.push(`but ${he} knows this is just the start, and ${he} laughs with pleasure as hug ${his} rear around`);
+						if (PC.dick !== 0) {
+							r.push(`your cock.`);
+						} else {
+							r.push(`the strap-on.`);
+						}
+						r.push(`You`);
+						if (eventSlave.belly >= 5000) {
+							r.push(`spread your legs more and shove the`);
+							if (eventSlave.bellyPreg >= 3000) {
+								r.push(`pregnant,`);
+							}
+							r.push(`giggling buttslut down so ${his} ${belly} belly and chest are between your legs, lower your chair a little, and slide yourself back towards your desk to work.`);
+						} else {
+							r.push(`shove the giggling buttslut down so ${his} chest is resting against the tops of your legs, lower your chair a little, and slide yourself back towards your desk to work.`);
+						}
+						r.push(`${He} wraps ${his} legs around the back of the chair and hugs your knees with ${his} arms, securing ${himself}`);
+						if (eventSlave.belly >= 100000) {
+							r.push(`to you as an a cockbun for as long as you feel like keeping`);
+							if (PC.dick !== 0) {
+								r.push(`your penis wrapped in a happy buttslut.`);
+							} else {
+								r.push(`the happy buttslut entertained.`);
+							}
+						} else {
+							r.push(`under the desk as a cockbun for as long as you feel like keeping the happy buttslut trapped under there.`);
+						}
+						r.push(`under the desk as cockbun for as long as you feel like keeping the happy buttslut trapped under there.`);
+					}
+					break;
+				case "boobs":
+					r.push(`lie atop your desk. You don't bother specifying that ${he}'s to lie on ${his} back, since the boob slut jumps up and presents ${his} tits without instructions. You keep working with one hand while you idly tease and`);
+					if (eventSlave.nipples !== "fuckable") {
+						r.push(`flick`);
+					} else {
+						r.push(`finger`);
+					}
+					r.push(`the nearest`);
+					if (eventSlave.lactation > 0) {
+						r.push(`milky`);
+					}
+					r.push(`nipple with the other. ${He}'s so horny that ${he} immediately experiences an immodest orgasm, ${his} back arching away from the cool glass desktop as ${he} rides its waves. ${He} giggles a little, and then gasps as you resume playing with ${him}.`);
+					seX(eventSlave, "mammary", PC, "penetrative");
+					if (eventSlave.lactation > 0) {
+						eventSlave.lactationDuration = 2;
+						eventSlave.boobs -= eventSlave.boobsMilk;
+						eventSlave.boobsMilk = 0;
+					} else {
+						r.push(induceLactation(eventSlave, 4));
+					}
+					break;
+				case "pregnancy":
+					if (!canDoAnal(eventSlave) && !canDoVaginal(eventSlave)) {
+						r.push(`join you on the couch. Since`);
+						if (eventSlave.vagina >= 0) {
+							r.push(`you're saving ${his} pussy,`);
+						} else {
+							r.push(`this slave ${girl} doesn't have a pussy,`);
+						}
+						r.push(`and ${his} tight little rosebud is off limits, your options are a bit limited. But you work with what you have, playing with ${his}`);
+						if (isFertile(eventSlave)) {
+							if (eventSlave.lactation === 0) {
+								r.push(`nipples and describing in whispers how pregnancy would make them drip with cream.`);
+							} else {
+								r.push(`breasts and describing in whispers how big they'll swell if ${he} got pregnant.`);
+							}
+						} else if (eventSlave.preg > eventSlave.pregData.normalBirth/2) {
+							if (eventSlave.lactation === 1) {
+								r.push(`nipples and describing in whispers how nice and swollen ${he} is with milk.`);
+							} else {
+								r.push(`breasts and describing in whispers how big ${he}'s gotten since ${he} got pregnant.`);
+							}
+						} else if (eventSlave.preg > 0) {
+							if (eventSlave.lactation === 0) {
+								r.push(`nipples and describing in whispers how ${his} pregnancy will soon have them drip with cream.`);
+							} else {
+								r.push(`breasts and describing in whispers how ${his} pregnancy will soon swell them to feed ${his} ${child}.`);
+							}
+						} else {
+							if (eventSlave.lactation === 0) {
+								r.push(`nipples and describing in whispers how they'd drip with cream if only ${he} could get pregnant.`);
+							} else {
+								r.push(`breasts and describing in whispers how big they'd swell if only ${he} could get pregnant.`);
+							}
+						}
+						r.push(`${He} gasps and shudders against you.`);
+						seX(eventSlave, "mammary", PC, "penetrative");
+					} else if (eventSlave.anus === 0 && eventSlave.vagina <= 0) {
+						r.push(`join you on the couch. Since`);
+						if (eventSlave.vagina === 0) {
+							r.push(`${he}'s a virgin and you haven't elected to introduce ${him} to pussyfucking just yet,`);
+						} else {
+							r.push(`this slave ${girl} doesn't have a pussy,`);
+						}
+						r.push(`and ${his} tight little rosebud is fresh and unspoiled, your options are a bit limited. But you work with what you have, playing with ${his}`);
+						if (isFertile(eventSlave)) {
+							if (eventSlave.lactation === 0) {
+								r.push(`nipples and describing in whispers how pregnancy would make them drip with cream.`);
+							} else {
+								r.push(`breasts and describing in whispers how big they'll swell if ${he} got pregnant.`);
+							}
+						} else if (eventSlave.preg > eventSlave.pregData.normalBirth/2) {
+							if (eventSlave.lactation === 1) {
+								r.push(`nipples and describing in whispers how nice and swollen ${he} is with milk.`);
+							} else {
+								r.push(`breasts and describing in whispers how big ${he}'s gotten since ${he} got pregnant.`);
+							}
+						} else if (eventSlave.preg > 0) {
+							if (eventSlave.lactation === 0) {
+								r.push(`nipples and describing in whispers how ${his} pregnancy will soon have them drip with cream.`);
+							} else {
+								r.push(`breasts and describing in whispers how ${his} pregnancy will soon swell them to feed ${his} ${child}.`);
+							}
+						} else {
+							if (eventSlave.lactation === 0) {
+								r.push(`nipples and describing in whispers how they'd drip with cream if only ${he} could get pregnant.`);
+							} else {
+								r.push(`breasts and describing in whispers how big they'd swell if only ${he} could get pregnant.`);
+							}
+						}
+						r.push(`${He} gasps and shudders against you.`);
+						seX(eventSlave, "mammary", PC, "penetrative");
+					} else if (eventSlave.pregKnown === 1) {
+						r.push(`join you on the couch.`);
+						if (PC.dick !== 0) {
+							r.push(`You orgasm inside ${him} promptly, and then tell ${him} you'll be leaving your seed inside ${him} to do its work while you have ${him} again.`);
+						} else {
+							r.push(`You use a strap-on with a fluid reservoir, and you trigger it promptly, releasing a gush of warm fluid into ${him}. You tell ${him} you'll be leaving it inside ${him} to do its work while you have ${him} again.`);
+						}
+						r.push(`${He} gasps at the appeal of the idea and grinds ${himself} against you hungrily.`);
+						if (!canDoVaginal(eventSlave)) {
+							if (eventSlave.mpreg === 1) {
+								r.push(`${He}'s already pregnant, but that doesn't disrupt ${his} fantasy of being even more pregnant.`);
+							} else {
+								r.push(`It's ${his} butt you're fucking, but that doesn't disrupt ${his} fantasy.`);
+							}
+							r.push(VCheck.Anal(eventSlave, 1));
+						} else {
+							r.push(`${He}'s already pregnant, but that doesn't disrupt ${his} fantasy of being even more pregnant.`);
+							r.push(VCheck.Vaginal(eventSlave, 1));
+						}
+					} else {
+						r.push(`join you on the couch.`);
+						if (PC.dick !== 0) {
+							r.push(`You orgasm inside ${him} promptly, and then tell ${him} you'll be leaving your seed inside ${him} to do its work while you have ${him} again.`);
+						} else {
+							r.push(`You use a strap-on with a fluid reservoir, and you trigger it promptly, releasing a gush of warm fluid into ${him}. You tell ${him} you'll be leaving it inside ${him} to do its work while you have ${him} again.`);
+						}
+						r.push(`${He} gasps at the appeal of the idea and grinds ${himself} against you hungrily.`);
+						if (!canDoVaginal(eventSlave)) {
+							if (eventSlave.mpreg === 1) {
+								r.push(`${He}'s eager to get pregnant and intends to put ${his} asspussy to use.`);
+							} else {
+								r.push(`It's ${his} butt you're fucking, but that doesn't disrupt ${his} fantasy.`);
+							}
+							r.push(VCheck.Anal(eventSlave, 1));
+						} else {
+							r.push(`${He}'s eager to get pregnant and intends to put ${his} pussy to use.`);
+							r.push(VCheck.Vaginal(eventSlave, 1));
+						}
+					}
+					break;
+				case "dom":
+					r.push(`wait a moment, because you know what ${he} needs. ${He}'s mystified, but steels ${himself} and waits. Another slave appears for an inspection, and ${heU} discovers that ${heU}'s to be inspected with ${eventSlave.slaveName}'s`);
+					if (canPenetrate(eventSlave)) {
+						r.push(`cock up ${hisU} asshole.`);
+					} else {
+						r.push(`fingers assfucking ${himU}.`);
+					}
+					r.push(`The dominant ${eventSlave.slaveName} climaxes immediately to ${his} use of the poor slave, rubbing`);
+					if (eventSlave.belly >= 5000) {
+						r.push(`${his} ${belly}`);
+						if (eventSlave.bellyPreg >= 3000) {
+							r.push(`pregnant`);
+						}
+						r.push(`belly`);
+					} else {
+						r.push(`${himself}`);
+					}
+					r.push(`all over the other slave's buttocks while ${he} continues banging ${hisU} backdoor.`);
+					seX(eventSlave, "penetrative", "slaves", "anal");
+					break;
+				case "sadist":
+					r.push(`wait a moment, because you know what ${he} needs. ${He}'s mystified, but steels ${himself} and waits. Another slave appears for a trivial punishment, and ${heU} discovers that ${heU}'s to be punished by ${eventSlave.slaveName}'s`);
+					if (canPenetrate(eventSlave)) {
+						r.push(`dick,`);
+					} else {
+						r.push(`fingers,`);
+					}
+					r.push(`forced up ${hisU} anus. The dominant ${eventSlave.slaveName} climaxes quickly, but quickly recovers and keeps assraping the poor ${girlU}.`);
+					seX(eventSlave, "penetrative", "slaves", "anal");
+					break;
+				case "masochist":
+					r.push(`get ${his} ass up on your desk and`);
+					if (eventSlave.belly >= 300000) {
+						r.push(`lie off the side atop ${his} ${belly} stomach.`);
+					} else if (eventSlave.belly < 1500) {
+						r.push(`lie on ${his} side.`);
+					} else {
+						r.push(`lie face-down.`);
+					}
+					r.push(`${He}`);
+					if (eventSlave.belly >= 10000) {
+						r.push(`struggles to heft ${his}`);
+						if (eventSlave.bellyPreg >= 3000) {
+							r.push(`gravid`);
+						}
+						r.push(`body`);
+					} else {
+						r.push(`clambers`);
+					}
+					r.push(`up, and you let ${his} lie there for a while, tortured by anticipation and arousal, before giving ${his} nearest buttock a harsh open-handed slap. The shock and pain send ${him} over the edge immediately, and ${he} grinds forward into the desk involuntarily; the feeling of the cool desk against ${his}`);
+					if (eventSlave.dick > 0) {
+						r.push(`dickhead`);
+					} else if (eventSlave.vagina === -1) {
+						r.push(`crotch`);
+					} else {
+						r.push(`mons`);
+					}
+					r.push(`slams ${him} into a second climax, and ${he} sobs with overstimulation. You keep ${him} there for a good long while, using ${him} as a desktop toy that makes interesting noises when you hit it.`);
+					break;
+			}
+			if (eventSlave.fetishStrength > 95) {
+				r.push(`Since ${he}'s totally sure of what gets ${him} off, this proof you know it too makes ${him} <span class="trust inc">trust you.</span>`);
+				eventSlave.trust += 5;
+			} else {
+				r.push(`Since ${he}'s developing ${his} kinks, this reinforcement of ${his} sexual identity <span class="fetish inc">advances ${his} fetish.</span>`);
+				eventSlave.fetishStrength += 4;
+			}
+			return r;
+		}
+
+		function sucks() {
+			r = [];
+			r.push(`You tell ${him} that ${he} deserves a way to get off for coming to tell you rather than breaking the rules. From now on, ${he} can come to you and ask to`);
+			if (PC.dick === 0) {
+				r.push(`perform cunnilingus on you`);
+			} else {
+				r.push(`blow you`);
+				if (PC.vagina !== -1) {
+					r.push(`and eat you out`);
+				}
+			}
+			r.push(r.pop() + `, and masturbate while ${he} does. ${He} nods through ${his} tears and hurriedly gets to ${his} knees, gagging in ${his} clumsy eagerness, crying a little with relief as ${he} masturbates furiously`);
+			if (PC.vagina !== -1 && PC.dick !== 0) {
+				r.push(`and does ${his} best to simultaneously please both a cock and a cunt with only one mouth`);
+			}
+			r.push(r.pop() + `. ${He} doesn't even pause after ${his} first orgasm; ${his} acceptance of sexual slavery <span class="devotion inc">has increased.</span>`);
+			eventSlave.devotion += 4;
+			seX(eventSlave, "oral", PC, "penetrative", 5);
+			const givingHead = PC.dick === 0 ? `giving head` : `sucking cock`;
+			if (eventSlave.fetish === "cumslut" && eventSlave.fetishKnown === 1) {
+				eventSlave.fetishStrength += 4;
+				r.push(`<span class="fetish inc">${His} enjoyment of ${givingHead} has increased.</span>`);
+			} else if (random(1, 100) > 50) {
+				eventSlave.fetishStrength = 65;
+				eventSlave.fetish = "cumslut";
+				eventSlave.fetishKnown = 1;
+				r.push(`Before ${he} realizes what's happening, <span class="fetish gain">${he}'s getting aroused at the thought of ${givingHead}.</span>`);
+			}
+			return r;
+		}
+
+		function nipple() {
+			r = [];
+			r.push(`You tell ${him} that ${he} deserves a way to get off for coming to tell you rather than breaking the rules. From now on, ${he} can come to you and offer you ${his} breasts; ${he} will be allowed to masturbate while you do. ${He} nods through ${his} tears and hurriedly presents ${his} chest, crying a little with relief as ${he} feels`);
+			if (eventSlave.nipples !== "fuckable") {
+				r.push(`you nip a nipple with your teeth.`);
+			} else if (PC.dick !== 0) {
+				r.push(`your dick slip into a nipple.`);
+			} else {
+				r.push(`your tongue penetrate into ${his} nipple.`);
+			}
+			r.push(`${He} masturbates furiously, not even pausing after ${his} first orgasm; ${his} acceptance of sexual slavery <span class="devotion inc">has increased.</span>`);
+			eventSlave.devotion += 4;
+			seX(eventSlave, "mammary", PC, "penetrative", 5);
+			if (eventSlave.fetish === "boobs" && eventSlave.fetishKnown === 1) {
+				eventSlave.fetishStrength += 4;
+				r.push(`<span class="fetish inc">${His} enjoyment of breast play has increased.</span>`);
+			} else if (random(1, 100) > 50) {
+				eventSlave.fetishStrength = 65;
+				eventSlave.fetish = "boobs";
+				eventSlave.fetishKnown = 1;
+				r.push(`Before ${he} realizes what's happening, <span class="fetish gain">${he}'s getting aroused at every brush against ${his} breasts.</span>`);
+			}
+			return r;
+		}
+
+		function insemination() {
+			r = [];
+			r.push(`You tell ${him} that ${he} deserves a way to get off for coming to tell you rather than breaking the rules. For the rest of the week, ${he} can come to you and offer you ${his}`);
+			if (eventSlave.vagina > 3) {
+				r.push(`hopelessly gaped pussy;`);
+			} else if (eventSlave.vagina > 2) {
+				r.push(`loose pussy;`);
+			} else if (eventSlave.vagina > 1) {
+				r.push(`nice pussy;`);
+			} else {
+				r.push(`tight pussy;`);
+			}
+			r.push(`${he} will be allowed to masturbate while you fill ${him} with cum. ${He} nods through ${his} tears and`);
+			if (eventSlave.belly >= 10000) {
+				r.push(`struggles to get`);
+			} else {
+				r.push(`hurriedly gets`);
+			}
+			r.push(`up on your desk, lying on ${his} side and using one hand to spread ${his} buttocks apart while the other is poised to touch ${himself}. ${He} starts crying a little with relief as ${he} feels you slowly insert`);
+			if (PC.dick === 0) {
+				r.push(`a spurting strap-on`);
+			} else {
+				r.push(`your cock`);
+			}
+			r.push(`into ${his} spasming cunt. ${He} masturbates furiously, not even pausing after ${his} first orgasm; ${his} acceptance of sexual slavery <span class="devotion inc">has increased.</span>`);
+			r.push(VCheck.Vaginal(eventSlave, 5));
+			eventSlave.devotion += 4;
+			if (eventSlave.fetish === "pregnancy" && eventSlave.fetishKnown === 1) {
+				eventSlave.fetishStrength += 4;
+				r.push(`<span class="fetish inc">${His} enjoyment of pregnancy play has increased.</span>`);
+			} else if (random(1, 100) > 50) {
+				eventSlave.fetishStrength = 65;
+				eventSlave.fetish = "pregnancy";
+				eventSlave.fetishKnown = 1;
+				r.push(`Before ${he} realizes what's happening, <span class="fetish gain">${he}'s getting aroused at the thought of getting pregnant.</span>`);
+			}
+			return r;
+		}
+
+		function ass() {
+			r = [];
+			r.push(`You tell ${him} that ${he} deserves a way to get off for coming to tell you rather than breaking the rules. For the rest of the week, ${he} can come to you and offer you ${his}`);
+			if (eventSlave.anus > 3) {
+				r.push(`hopelessly gaped rectum;`);
+			} else if (eventSlave.anus > 2) {
+				r.push(`big slit of an asspussy;`);
+			} else if (eventSlave.anus > 1) {
+				r.push(`nice asspussy;`);
+			} else {
+				r.push(`tight asshole;`);
+			}
+			r.push(`${he} will be allowed to masturbate while you buttfuck ${him}. ${He} nods through ${his} tears and`);
+			if (eventSlave.belly >= 10000) {
+				r.push(`struggles to get`);
+			} else {
+				r.push(`hurriedly gets`);
+			}
+			r.push(`up on your desk, lying on ${his} side and using one hand to spread ${his} buttocks apart while the other is poised to touch ${himself}. ${He} starts crying a little with relief as ${he} feels you slowly insert`);
+			if (PC.dick === 0) {
+				r.push(`a strap-on`);
+			} else {
+				r.push(`your cock`);
+			}
+			r.push(`into ${his} spasming rectum. ${He} masturbates furiously, not even pausing after ${his} first orgasm; ${his} acceptance of sexual slavery <span class="devotion inc">has increased.</span>`);
+			r.push(VCheck.Anal(eventSlave, 5));
+			eventSlave.devotion += 4;
+			if (eventSlave.fetish === "buttslut" && eventSlave.fetishKnown === 1) {
+				eventSlave.fetishStrength += 4;
+				r.push(`<span class="fetish inc">${His} enjoyment of anal has increased.</span>`);
+			} else if (random(1, 100) > 50) {
+				eventSlave.fetishStrength = 65;
+				eventSlave.fetish = "buttslut";
+				eventSlave.fetishKnown = 1;
+				r.push(`Before ${he} realizes what's happening, <span class="fetish gain">${he}'s getting aroused at the thought of anal sex.</span>`);
+			}
+			return r;
+		}
+
+		function inPublic() {
+			r = [];
+			r.push(`You tell ${him} that ${he} deserves a way to get off for coming to tell you rather than breaking the rules. For the rest of the week, ${he} can masturbate in public, sitting with ${his} legs spread for as much exposure as possible. ${He} nods through ${his} tears and sprints out of your office, dripping as ${he} goes. ${He} throws ${himself} to the ground outside, to the considerable amusement of passersby, spreading ${his} legs painfully wide. ${He} masturbates furiously, not even pausing after ${his} first orgasm; ${his} acceptance of sexual slavery <span class="devotion inc">has increased.</span>`);
+			eventSlave.devotion += 4;
+			if (eventSlave.fetish === "humiliation" && eventSlave.fetishKnown === 1) {
+				eventSlave.fetishStrength += 4;
+				r.push(`<span class="fetish inc">${His} enjoyment of humiliation has increased.</span>`);
+			} else if (random(1, 100) > 50) {
+				eventSlave.fetishStrength = 65;
+				eventSlave.fetish = "humiliation";
+				eventSlave.fetishKnown = 1;
+				r.push(`Before ${he} realizes what's happening, <span class="fetish gain">${he}'s starting to long for humiliation.</span>`);
+			}
+			return r;
+		}
+
+		function submitting() {
+			r = [];
+			r.push(`You tell ${him} that ${he} deserves a way to get off for coming to tell you rather than breaking the rules.`);
+			if (canDoVaginal(eventSlave)) {
+				r.push(`For the rest of the week, ${he} can come to you and offer you ${his}`);
+				if (eventSlave.vagina > 3) {
+					r.push(`hopelessly loose pussy;`);
+				} else if (eventSlave.vagina > 2) {
+					r.push(`big slit of a pussy;`);
+				} else if (eventSlave.vagina > 1) {
+					r.push(`nice pussy;`);
+				} else {
+					r.push(`tight pussy;`);
+				}
+				r.push(`${he} will be allowed to masturbate after, but only after, you are finished with ${him}. ${He} nods through ${his} tears and`);
+				if (eventSlave.belly >= 10000) {
+					r.push(`struggles to get`);
+				} else {
+					r.push(`hurriedly gets`);
+				}
+				r.push(`up on your desk, lying on ${his} side and using one hand to spread ${his} nether lips apart while the other is poised to touch ${himself}. ${He} starts crying a little with relief as ${he} feels you slowly insert`);
+				if (PC.dick === 0) {
+					r.push(`a strap-on`);
+				} else {
+					r.push(`your cock`);
+				}
+				r.push(`into ${his} spasming vagina. You are not gentle, and despite the stimulation ${he} does not orgasm by the time you`);
+				if (PC.dick === 0) {
+					r.push(`climax to the vibrations of the strap-on, and the pleasure of buttfucking a bitch.`);
+				} else {
+					r.push(`blow your load in ${his} ass.`);
+				}
+				r.push(`${He}'s so eager to get off ${he} doesn't bother to move, and just`);
+				if (eventSlave.belly >= 1500) {
+					r.push(`snakes a hand down to fondle ${himself}.`);
+				} else {
+					r.push(`rolls onto ${his} face to hump ${himself} against ${his} hand, against the desk.`);
+				}
+				if (PC.dick === 0) {
+					r.push(`After the momentary pause of your climax, you`);
+					if (PC.vagina !== -1) {
+						r.push(`use a little manual stimulation of your pussy to force yourself to total hardness again and`);
+					}
+					r.push(`resume thrusting;`);
+				} else {
+					r.push(`Your cum leaks out of ${his} used cunt and onto ${his} working hand;`);
+				}
+				r.push(`${his} acceptance of sexual slavery <span class="devotion inc">has increased.</span>`);
+				r.push(VCheck.Vaginal(eventSlave, 5));
+			} else if (canDoAnal(eventSlave)) {
+				r.push(`For the rest of the week, ${he} can come to you and offer you ${his}`);
+				if (eventSlave.anus > 3) {
+					r.push(`hopelessly gaped rectum;`);
+				} else if (eventSlave.anus > 2) {
+					r.push(`big slit of an asspussy;`);
+				} else if (eventSlave.anus > 1) {
+					r.push(`nice asspussy;`);
+				} else {
+					r.push(`tight asshole;`);
+				}
+				r.push(`${he} will be allowed to masturbate after, but only after, you are finished with ${him}. ${He} nods through ${his} tears and`);
+				if (eventSlave.belly >= 10000) {
+					r.push(`struggles to get`);
+				} else {
+					r.push(`hurriedly gets`);
+				}
+				r.push(`up on your desk, lying on ${his} side and using one hand to spread ${his} buttocks apart while the other is poised to touch ${himself}. ${He} starts crying a little with relief as ${he} feels you slowly insert`);
+				if (PC.dick === 0) {
+					r.push(`a strap-on`);
+				} else {
+					r.push(`your cock`);
+				}
+				r.push(`into ${his} spasming rectum. You are not gentle, and despite the anal stimulation ${he} does not orgasm by the time you`);
+				if (PC.dick === 0) {
+					r.push(`climax to the vibrations of the strap-on, and the pleasure of buttfucking a bitch.`);
+				} else {
+					r.push(`blow your load in ${his} ass.`);
+				}
+				r.push(`${He}'s so eager to get off ${he} doesn't bother to move, and just`);
+				if (eventSlave.belly >= 1500) {
+					r.push(`snakes a hand down to fondle ${himself}.`);
+				} else {
+					r.push(`rolls onto ${his} face to hump ${himself} against ${his} hand, against the desk.`);
+				}
+				if (PC.dick === 0) {
+					r.push(`After the momentary pause of your climax, you`);
+					if (PC.vagina !== -1) {
+						r.push(`use a little manual stimulation of your pussy to force yourself to total hardness again and`);
+					}
+					r.push(`resume thrusting;`);
+				} else {
+					r.push(`Your cum leaks out of ${his} used backdoor and onto ${his} working hand;`);
+				}
+				r.push(`${his} acceptance of sexual slavery <span class="devotion inc">has increased.</span>`);
+				r.push(VCheck.Anal(eventSlave, 5));
+			} else {
+				r.push(`For the rest of the week, ${he} can come to you and politely ask to`);
+				if (PC.dick !== 0) {
+					r.push(`suck you off;`);
+				} else {
+					r.push(`eat you out;`);
+				}
+				r.push(`${he} will be allowed to masturbate after, but only after, you are satisfied. ${He} nods through ${his} tears and`);
+				if (eventSlave.belly >= 300000) {
+					r.push(`leans over ${his} ${belly} stomach,`);
+				} else {
+					if (eventSlave.belly >= 10000) {
+						r.push(`struggles`);
+					} else {
+						r.push(`hurriedly gets`);
+					}
+					r.push(`to ${his} knees,`);
+				}
+				r.push(`where ${he} brings ${his} face to your`);
+				if (PC.dick !== 0) {
+					r.push(`erect cock`);
+				} else {
+					r.push(`moist pussy`);
+				}
+				r.push(`and ${his} hand to ${his} crotch. ${He} starts crying a little with relief as ${he} feels you slowly`);
+				if (PC.dick === 0) {
+					r.push(`push your slit against`);
+				} else {
+					r.push(`insert your cock into`);
+				}
+				r.push(`${his} mouth. You are not gentle, and by the time you`);
+				if (PC.dick !== 0) {
+					r.push(`blow your load down ${his} throat,`);
+				} else {
+					r.push(`splash ${his} face with your girlcum,`);
+				}
+				r.push(`${he} still hasn't reached ${his} climax. ${He}'s so eager to get off ${he} doesn't bother to move, and just humps ${himself} against ${his} hand, against`);
+				if (eventSlave.belly >= 300000) {
+					r.push(`${his} belly.`);
+				} else {
+					r.push(`your leg.`);
+				}
+				if (PC.dick === 0) {
+					r.push(`After the momentary pause of your climax, you`);
+					if (PC.vagina !== -1) {
+						r.push(`use a little manual stimulation of your pussy to force yourself to total hardness again and`);
+					}
+					r.push(`resume thrusting;`);
+				} else {
+					r.push(`After the momentary pause of your climax, you pull ${his} face back to your crotch for a second round;`);
+				}
+				r.push(`${his} acceptance of sexual slavery <span class="devotion inc">has increased.</span>`);
+				seX(eventSlave, "oral", PC, "penetrative", 5);
+			}
+			eventSlave.devotion += 4;
+			if (eventSlave.fetish === "submissive" && eventSlave.fetishKnown === 1) {
+				eventSlave.fetishStrength += 4;
+				r.push(`<span class="fetish inc">${His} enjoyment of submission has increased.</span>`);
+			} else if (random(1, 100) > 50) {
+				eventSlave.fetishStrength = 65;
+				eventSlave.fetish = "submissive";
+				eventSlave.fetishKnown = 1;
+				r.push(`Before ${he} realizes what's happening, <span class="fetish gain">${he}'s getting aroused at the thought of submission.</span>`);
+			}
+			return r;
+		}
+
+		function pain() {
+			r = [];
+			r.push(`You tell ${him} that ${he} deserves a way to get off for coming to tell you rather than breaking the rules. For the rest of the week, ${he} can come to you and masturbate: but you will abuse ${him} while ${he} does. ${He} starts to cry in fear, but`);
+			if (eventSlave.belly >= 10000) {
+				r.push(`struggles to get`);
+			} else {
+				r.push(`hurriedly gets`);
+			}
+			r.push(`up on your desk anyway. You swat ${his} thighs apart so ${he} can get a hand down there. ${He} hesitates desperately before touching ${himself}, knowing that as soon as ${he} does the pain will start, but ${his} horniness wins out. You aim a vicious flick at ${his}`);
+			if (eventSlave.nipples === "huge") {
+				r.push(`absurd nipples`);
+			} else if (eventSlave.nipples !== "tiny") {
+				r.push(`big nipples`);
+			} else {
+				r.push(`nipples`);
+			}
+			r.push(`and then take a crop out of your desk, flogging ${his}`);
+			if ((eventSlave.boobsImplant/eventSlave.boobs) >= 0.60) {
+				r.push(`fake`);
+			} else if (eventSlave.boobs > 1000) {
+				r.push(`jiggling`);
+			} else {
+				r.push(`firm`);
+			}
+			r.push(`breasts without mercy. ${He} finally orgasms and flees, falling over ${his} own feet in ${his} desperation; ${his} acceptance of sexual slavery <span class="devotion inc">has increased.</span>`);
+			eventSlave.devotion += 4;
+			if (eventSlave.fetish === "masochist" && eventSlave.fetishKnown === 1) {
+				eventSlave.fetishStrength += 4;
+				r.push(`<span class="fetish inc">${His} enjoyment of pain has increased.</span>`);
+			} else if (random(1, 100) > 50) {
+				eventSlave.fetishStrength = 65;
+				eventSlave.fetish = "masochist";
+				eventSlave.fetishKnown = 1;
+				r.push(`Before ${he} realizes what's happening, <span class="fetish gain">${he}'s getting aroused at the thought of ${his} ${getWrittenTitle(eventSlave)} beating ${him}.</span>`);
+			}
+			return r;
+		}
+
+		function virginityWarning() {
+			if ((canDoVaginal(eventSlave) && eventSlave.vagina === 0) || (canDoAnal(eventSlave) && eventSlave.anus === 0)) {
+				return `This option may take ${his} virginity`;
+			}
+		}
+	}
+};
diff --git a/src/events/RESS/review/devotedOld.js b/src/events/RESS/review/devotedOld.js
new file mode 100644
index 0000000000000000000000000000000000000000..61c8ec02fd5dd1481afba1d81374ea0acc7ed8b6
--- /dev/null
+++ b/src/events/RESS/review/devotedOld.js
@@ -0,0 +1,168 @@
+App.Events.RESSDevotedOld = class RESSDevotedOld extends App.Events.BaseEvent {
+	eventPrerequisites() {
+		return []; // always valid if sufficient actors can be cast successfully
+	}
+
+	actorPrerequisites() {
+		return [
+			[ // single event slave
+				s => s.fetish !== "mindbroken",
+				hasAnyArms,
+				hasAnyLegs,
+				canTalk,
+				s => s.devotion > 60,
+				s => s.trust > 20,
+				s => s.physicalAge > 37,
+				s => s.anus > 0,
+				s => s.vagina > 0,
+			]
+		];
+	}
+
+	execute(node) {
+		/** @type {Array<App.Entity.SlaveState>} */
+		let [eventSlave] = this.actors.map(a => getSlave(a));
+		const {
+			He, he, his, him, himself, girl
+		} = getPronouns(eventSlave);
+		const {title: Master, say} = getEnunciation(eventSlave);
+		const belly = bellyAdjective(eventSlave);
+
+		V.nextLink = "Next Week";
+
+		App.Events.drawEventArt(node, eventSlave);
+
+		let r = [];
+		App.Events.addParagraph(node, [
+			`At the end of a long week,`,
+			contextualIntro(V.PC, eventSlave, "DOM"),
+			`moves past your office toward bed. This is completely normal part of the arcology routine, but you notice as ${he} passes that ${he}'s wearing a preoccupied, almost sad expression. You call ${him} over, and ${he} makes a visible effort to brighten up as ${he} comes before you and asks your pleasure. You ask ${him} what's the matter, and ${his} face falls.`
+		]);
+		r.push(Spoken(eventSlave, `"${Master}, I'm so sorry you noticed,"`));
+		if (eventSlave.lips > 70) {
+			r.push(`${he} lisps through ${his} dick-sucking lips.`);
+		} else if ((eventSlave.lipsPiercing+eventSlave.tonguePiercing > 2)) {
+			r.push(`${he} lisps through ${his} ridiculous piercings.`);
+		} else {
+			r.push(`${he} ${say}s penitently.`);
+		}
+		r.push(Spoken(eventSlave, `"I'm feeling a little stiff and tired, ${Master}. I wish I was a little younger so I could serve you better, that's all."`));
+
+		App.Events.addParagraph(node, r);
+		App.Events.addResponses(node, [
+			(canDoAnal(eventSlave) || canDoVaginal(eventSlave))
+				? new App.Events.Result(`Cheer ${him} up`, cheer)
+				: new App.Events.Result(),
+			new App.Events.Result(`Perform a health exam personally`, exam),
+			(S.HeadGirl && V.HeadGirlID !== eventSlave.ID)
+				? new App.Events.Result(`Give ${him} an afternoon off for some quality time with your Head Girl`, quality, 	`This option will cost ${cashFormat(500)}`)
+				: new App.Events.Result()
+		]);
+
+		function cheer() {
+			let didVaginal = false;
+			let didAnal = false;
+			r = [];
+			r.push(`You close in on ${him}, and ${he} starts to present ${himself} with the force of long habit. However, you take ${him} by the hand and draw ${him} in close, running your fingertips along ${his} cheekbone, looking into ${his} ${App.Desc.eyesColor(eventSlave)}.`);
+			if (canSee(eventSlave)) {
+				r.push(`${He} only holds your gaze for a brief moment before blushing and looking down again,`);
+			} else {
+				r.push(`Once ${he} feels your hand stop, ${he} quickly glances down while`);
+			}
+			r.push(`muttering another apology. You raise ${his} chin again with a gentle hand and give ${him} a deep kiss. After a moment ${he} hugs you with almost painful`);
+			if (eventSlave.belly >= 100000) {
+				r.push(`fierceness, a feat given the size of ${his} ${belly}`);
+				if (eventSlave.bellyPreg >= 3000) {
+					r.push(`gravid`);
+				}
+				r.push(`belly, where`);
+			} else if (eventSlave.belly >= 5000) {
+				r.push(`fierceness, pushing ${his} ${belly}`);
+				if (eventSlave.bellyPreg >= 3000) {
+					r.push(`gravid`);
+				}
+				r.push(`belly into yours, where`);
+			} else {
+				r.push(`fierceness, and`);
+			}
+			r.push(`you can feel a heat radiating from ${him}. ${He} makes to get down on ${his} knees to serve you again, but instead, you`);
+			if (eventSlave.belly >= 300000) {
+				r.push(`help ${him} up and guide`);
+			} else if (eventSlave.belly >= 5000) {
+				r.push(`gently scoop ${him} up and carry`);
+			} else {
+				r.push(`scoop ${him} up and carry`);
+			}
+			r.push(`${him} to bed, laying the bemused ${girl} down before cuddling up behind ${him}. The two of you make languid love, with you`);
+			if (canHear(eventSlave)) {
+				r.push(`murmuring reassuringly into ${his} ear,`);
+			}
+			r.push(`nibbling ${his} neck, cupping ${his} breasts,`);
+			if (eventSlave.belly >= 1500) {
+				r.push(`rubbing ${his} distended midriff,`);
+			}
+			r.push(`and massaging ${his} shoulders by turns. After a lovely climax together in ${his}`);
+			if (canDoAnal(eventSlave) && canDoVaginal(eventSlave)) {
+				r.push(`pussy ${he} coquettishly shifts ${himself} to line your recovering cock up with ${his} ass,`);
+				didVaginal = true;
+				didAnal = true;
+			} else if (canDoVaginal(eventSlave)) {
+				r.push(`pussy ${he} coquettishly shifts ${himself} to face you,`);
+				didVaginal = true;
+			} else {
+				r.push(`ass ${he} coquettishly shifts ${himself} to face you,`);
+				didAnal = true;
+			}
+			if (canSee(eventSlave)) {
+				r.push(`looking with <span class="devotion inc">adoration</span> and new <span class="trust inc">confidence</span> into your eyes.`);
+			} else {
+				r.push(`gazing with <span class="devotion inc">adoration</span> and new <span class="trust inc">confidence</span> at your face.`);
+			}
+			eventSlave.devotion += 4;
+			eventSlave.trust += 4;
+			if (didVaginal && didAnal) {
+				r.push(VCheck.Both(eventSlave, 1));
+			} else if (didVaginal) {
+				r.push(VCheck.Vaginal(eventSlave, 1));
+			} else if (didAnal) {
+				r.push(VCheck.Anal(eventSlave, 1));
+			}
+			return r;
+		}
+
+		function exam() {
+			r = [];
+			r.push(`${He} gets a weekly health exam from the automated systems, which also do their best to monitor ${his} well-being, but ${he} does not protest as you take ${him} to the surgery and give ${him} a`);
+			if (V.PC.skill.medicine >= 100) {
+				r.push(`professional examination. It feels good to put the old skills to use on an attractive patient.`);
+			} else {
+				r.push(`thorough examination.`);
+			}
+			r.push(
+				`There's nothing the matter other than that ${he} hasn't been 18 for a long time. ${He} looks a little sad at some of the results, but whenever ${he} does, you place a hand on ${his} cheek and give ${him} a kiss. ${He} gets the idea.`,
+				Spoken(eventSlave, `"I understand, ${Master}. I can still serve you,"`),
+				`${he} ${say}s.`
+			);
+			r.push(`You adjust ${his} diet and exercise a little, which should <span class="health inc">slightly improve</span> ${his} health`);
+			if (V.PC.skill.medicine >= 100) {
+				r.push(r.pop() + `, and prescribe some new supplements that might help ${him} <span class="health inc">feel ${his} best</span> all the time`);
+				improveCondition(eventSlave, 10);
+			}
+			r.push(r.pop() + `. As ${he} gets up from the chair and makes to resume ${his} duties, you give ${him} a light swat across the buttocks. ${He} squeaks and turns to <span class="trust inc">giggle at you,</span> giving you a broad wink and shaking ${his} tits a little for you.`);
+			eventSlave.trust += 4;
+			improveCondition(eventSlave, 10);
+			return r;
+		}
+
+		function quality() {
+			const {
+				He2, his2, himself2
+			} = getPronouns(S.HeadGirl).appendSuffix('2');
+			cashX(-500, "event", eventSlave);
+			improveCondition(eventSlave, 10);
+			S.HeadGirl.devotion += 4;
+			eventSlave.devotion += 4;
+			return `${S.HeadGirl.slaveName} understands the situation immediately. ${He2} gets ${himself2} and ${eventSlave.slaveName} dressed for a nice, non-sexual 'date' in ${V.clubName}, and leads ${him} out by the hand with a wink over ${his2} shoulder to you. Your Head Girl understands just what kind of break from sexual servitude ${eventSlave.slaveName} really needs. They enjoy a nice meal, take a stroll and talk as friends, and get some inconsequential but relaxing beauty treatments together. They both <span class="devotion inc">enjoy the relaxation,</span> and ${eventSlave.slaveName} <span class="health inc">feels much better</span> after the rest, too.`;
+		}
+	}
+};
diff --git a/src/events/RESS/review/dickgirlPC.js b/src/events/RESS/review/dickgirlPC.js
new file mode 100644
index 0000000000000000000000000000000000000000..eb70864d314ffe6341caaee8c10193079f97cc42
--- /dev/null
+++ b/src/events/RESS/review/dickgirlPC.js
@@ -0,0 +1,633 @@
+App.Events.RESSDickgirlPC = class RESSDickgirlPC extends App.Events.BaseEvent {
+	eventPrerequisites() {
+		return [
+			() => V.PC.dick > 0,
+			() => V.PC.boobs >= 300,
+		]; // always valid if sufficient actors can be cast successfully
+	}
+
+	actorPrerequisites() {
+		return [
+			[ // single event slave
+				s => s.fetish !== "mindbroken",
+				hasAnyArms,
+				hasAnyLegs,
+				canSee,
+				s => s.devotion > -20,
+				s => s.devotion <= 50,
+				s => (s.attrXY <= 35 && s.attrXX > 65) || (s.attrXY > 65 && s.attrXX <= 35),
+			]
+		];
+	}
+
+	execute(node) {
+		/** @type {Array<App.Entity.SlaveState>} */
+		let [eventSlave] = this.actors.map(a => getSlave(a));
+		const {
+			His, He, he, his, him, himself, girl
+		} = getPronouns(eventSlave);
+		const {title: Master, say} = getEnunciation(eventSlave);
+		const PC = V.PC;
+		const belly = bellyAdjective(eventSlave);
+		const arms = hasBothArms(eventSlave) ? "arms" : "arm";
+
+
+		V.nextLink = "Next Week";
+
+		App.Events.drawEventArt(node, eventSlave);
+
+		App.Events.addParagraph(node, [
+			`Having just enjoyed one of your slaves, you take a quick post-coital rinse in one of the showers scattered around the arcology for the purpose. Thus refreshed, you step out and come face to face with`,
+			App.UI.DOM.combineNodes(contextualIntro(PC, eventSlave, "DOM"), ","),
+			`who is going about ${his} assigned business. ${His} ${App.Desc.eyesColor(eventSlave)} lock with yours for a surprised moment, and then flick down submissively.`
+		]);
+
+		let r = [];
+		r.push(`As ${his} gaze travels down your body towards the floor,`);
+		if (eventSlave.attrXY <= 35) {
+			r.push(`it lingers for a moment on your`);
+			if (PC.boobs >= 1400) {
+				r.push(`enormous`);
+				if (PC.boobsImplant > 0) {
+					r.push(`chest balloons`);
+				} else {
+					r.push(`cow tits`);
+				}
+			} else if (PC.boobs >= 1200) {
+				r.push(`huge,`);
+				if (PC.boobsImplant > 0) {
+					r.push(`clearly fake`);
+				} else {
+					r.push(`heavy`);
+				}
+				r.push(`breasts`);
+			} else if (PC.boobs >= 1000) {
+				r.push(`big`);
+				if (PC.boobsImplant > 0) {
+					r.push(r.pop() + `, perky`);
+				}
+				r.push(`breasts`);
+			} else if (PC.boobs >= 800) {
+				r.push(`generous breasts`);
+			} else if (PC.boobs >= 650) {
+				r.push(`handfilling breasts`);
+			} else if (PC.boobs >= 500) {
+				r.push(`average breasts`);
+			} else if (PC.boobs >= 300) {
+				r.push(`small breasts`);
+			}
+			r.push(`before continuing to track downward. When it reaches your cock, still half-hard from the sex and the warm shower, ${he} stiffens with discomfort.`);
+		} else {
+			r.push(`${he} averts ${his} eyes from your`);
+			if (PC.boobs >= 1400) {
+				r.push(`enormous, bare`);
+				if (PC.boobsImplant > 0) {
+					r.push(`chest balloons`);
+				} else {
+					r.push(`cow tits`);
+				}
+			} else if (PC.boobs >= 1200) {
+				r.push(`huge, bare,`);
+				if (PC.boobsImplant > 0) {
+					r.push(`clearly fake`);
+				} else {
+					r.push(`heavy`);
+				}
+				r.push(`breasts`);
+			} else if (PC.boobs >= 1000) {
+				r.push(`big, bare`);
+				if (PC.boobsImplant > 0) {
+					r.push(r.pop() + `, perky`);
+				}
+				r.push(`breasts`);
+			} else if (PC.boobs >= 800) {
+				r.push(`generous, bare breasts`);
+			} else if (PC.boobs >= 650) {
+				r.push(`handfilling, bare breasts`);
+			} else if (PC.boobs >= 500) {
+				r.push(`average, bare breasts`);
+			} else if (PC.boobs >= 300) {
+				r.push(`small, bare breasts`);
+			}
+			r.push(`as best ${he} can, quickly looking farther down. ${His} gaze lingers for a moment on your cock, still half-hard from the sex and the warm shower, but ${he}'s stiff with discomfort.`);
+		}
+		r.push(`${He} swallows uncomfortably, frozen in place and staring at the floor. ${His} eyes flick up again, stealing a glance at`);
+		if (eventSlave.attrXY <= 35) {
+			r.push(`your boobs and studiously avoiding your dick.`);
+		} else {
+			r.push(`your dick`);
+			if (PC.balls >= 8) {
+				r.push(`and enormous testicles, while`);
+			} else {
+				r.push(`and`);
+			}
+			r.push(`studiously avoiding your boobs.`);
+		}
+		if (!canTalk(eventSlave)) {
+			r.push(`${He} gestures a proper greeting, hands shaking with nervousness.`);
+		} else {
+			r.push(
+				Spoken(eventSlave, `"Um, hi, ${Master},"`),
+				`${he} ${say}s nervously.`
+			);
+		}
+		App.Events.addParagraph(node, r);
+		if (eventSlave.attrKnown !== 1) {
+			App.Events.addParagraph(node, [`Just like that, the existing mystery about ${his} feelings about girls and guys is <span class="lightcoral">cleared up.</span>`]);
+			eventSlave.attrKnown = 1;
+		}
+
+		App.Events.addResponses(node, [
+			new App.Events.Result(`Permit ${him} to serve you in a way ${he}'ll be comfortable with`, permit),
+			new App.Events.Result(`Force ${him} to get off to all of you`, force, virginityWarning()),
+		]);
+
+		function virginityWarning() {
+			if (canDoVaginal(eventSlave) && (eventSlave.vagina === 0) && eventSlave.attrXY <= 35) {
+				return `This option will take ${his} virginity`;
+			} else if (!canDoVaginal(eventSlave) && canDoAnal(eventSlave) && (eventSlave.anus === 0) && eventSlave.attrXY <= 35) {
+				return `This option will take ${his} anal virginity`;
+			}
+		}
+
+		function permit() {
+			const frag = new DocumentFragment();
+			r = [];
+			r.push(`The poor ${girl} is having trouble with`);
+			if (eventSlave.attrXY <= 35) {
+				r.push(`guys, so you decide to be kind to ${him} and play up your feminine side. You lift ${his} ${eventSlave.skin} chin with a soft touch, and kiss ${him} gently on the lips, pressing your breasts full against ${his}`);
+				if (eventSlave.boobs > 5000) {
+					r.push(`titanic udders, which are squashed between you.`);
+				} else if (eventSlave.boobs > 1000) {
+					r.push(`own lovely boobs.`);
+				} else {
+					r.push(`chest.`);
+				}
+				r.push(`You keep your hips cocked back and to the side, so that your rapidly stiffening dick stays clear of ${him}. Taking ${his} hands in your own, you guide them to your`);
+				if (PC.boobs >= 1400) {
+					r.push(`enormous`);
+					if (PC.boobsImplant !== 0) {
+						r.push(`chest balloons.`);
+					} else {
+						r.push(`cow tits.`);
+					}
+				} else if (PC.boobs >= 1200) {
+					r.push(`huge,`);
+					if (PC.boobsImplant !== 0) {
+						r.push(`clearly fake`);
+					} else {
+						r.push(`heavy`);
+					}
+					r.push(`breasts.`);
+				} else if (PC.boobs >= 1000) {
+					r.push(`big`);
+					if (PC.boobsImplant !== 0) {
+						r.push(r.pop() + `, perky`);
+					}
+					r.push(`breasts.`);
+				} else if (PC.boobs >= 800) {
+					r.push(`generous breasts.`);
+				} else if (PC.boobs >= 650) {
+					r.push(`handfilling breasts`);
+				} else if (PC.boobs >= 500) {
+					r.push(`average breasts`);
+				} else if (PC.boobs >= 300) {
+					r.push(`small breasts`);
+				}
+				App.Events.addParagraph(frag, r);
+				r = [];
+				r.push(`${He} hesitates, clearly surprised that you're allowing ${him} to fondle you, but building arousal is making ${him} forget ${his} awkwardness and ${he} begins to play with your boobs in earnest. You direct ${his} fingers to your nipples, and ${he} obeys the nonverbal cue, devoting more attention to the`);
+				if (PC.lactation > 0) {
+					r.push(`milky,`);
+				} else {
+					r.push(`hard,`);
+				}
+				r.push(`sensitive nubs. Satisfied that ${he}'s got the idea, you run your hands lightly down ${his}`);
+				if (eventSlave.weight > 190) {
+					r.push(`voluminous`);
+				} else if (eventSlave.belly >= 5000) {
+					if (eventSlave.bellyPreg >= 3000) {
+						r.push(`gravid`);
+					} else if (eventSlave.bellyImplant >= 3000) {
+						r.push(`rounded`);
+					} else {
+						r.push(`swollen`);
+					}
+				} else if (eventSlave.weight > 30) {
+					r.push(`soft`);
+				} else if (eventSlave.muscles > 30) {
+					r.push(`rock hard`);
+				} else if (eventSlave.weight > 10) {
+					r.push(`plush`);
+				} else if (eventSlave.muscles > 5) {
+					r.push(`toned`);
+				} else {
+					r.push(`soft`);
+				}
+				r.push(`body and give ${his}`);
+				if (eventSlave.butt > 15) {
+					r.push(`obscene`);
+				} else if (eventSlave.butt > 10) {
+					r.push(`absurd`);
+				} else if (eventSlave.butt > 6) {
+					r.push(`monstrous`);
+				} else if (eventSlave.butt > 3) {
+					r.push(`healthy`);
+				} else {
+					r.push(`cute`);
+				}
+				r.push(`buttocks a gentle massage.`);
+				App.Events.addParagraph(frag, r);
+				r = [];
+				r.push(`${He} has ${his} eyes closed, and is spared any indication that ${he}'s petting and being petted by a person with a cock. ${His} arousal builds quickly, and so does yours. You resolve the situation by using a hand on each of you: you finish yourself off with practiced ease while giving ${his}`);
+				if (canDoVaginal(eventSlave)) {
+					r.push(`clit`);
+				} else if (canAchieveErection(eventSlave) && !(eventSlave.chastityPenis)) {
+					r.push(`own erection`);
+				} else if (eventSlave.dick > 6 && !canAchieveErection(eventSlave) && !(eventSlave.chastityPenis)) {
+					r.push(`fat member`);
+				} else if (eventSlave.dick > 0 && !canAchieveErection(eventSlave) && !(eventSlave.chastityPenis)) {
+					r.push(`soft member`);
+				} else if (eventSlave.chastityPenis === 1) {
+					r.push(`nipples`);
+				} else if (eventSlave.chastityVagina) {
+					r.push(`nipples`);
+				} else {
+					r.push(`soft perineum`);
+				}
+				r.push(`some manual stimulation that tips ${him} over the edge. ${He} opens ${his} eyes slowly, <span class="devotion inc">grateful</span> that you were so merciful.`);
+			} else if (eventSlave.attrXX <= 35) {
+				r.push(`girls, so you decide to be kind to ${him} and play up your masculine side. You grab the side of ${his} neck with a rough grip, and pull ${him} downward, forcing ${him} to ${his} knees. ${He} goes willingly, ${his} field of vision filling with your rapidly hardening member.`);
+				if (eventSlave.teeth === "removable") {
+					r.push(`${He} quickly pulls ${his} removable teeth out, getting ready to offer you ${his} soft facepussy.`);
+				} else if (eventSlave.teeth === "pointy") {
+					r.push(`${He} runs ${his} tongue over ${his} frightening teeth carefully, and then opens ${his} jaws wide, getting ready to keep ${his} fangs well clear of your shaft.`);
+				} else if (eventSlave.teeth === "fangs") {
+					r.push(`${He} runs ${his} tongue over ${his} fangs carefully, and then opens ${his} jaws wide, getting ready to keep ${his} teeth well clear of your shaft.`);
+				} else if (eventSlave.teeth === "fang") {
+					r.push(`${He} gets ready to take you from an angle to avoid ${his} fang meeting your member.`);
+				} else if (eventSlave.teeth === "straightening braces" || eventSlave.teeth === "cosmetic braces") {
+					r.push(`${He} runs ${his} tongue over ${his} braces, and then opens wide, mindful of keeping ${his} orthodontia clear of your shaft.`);
+				} else if (eventSlave.teeth === "gapped") {
+					r.push(`${He} runs ${his} tongue across the gap in ${his} front teeth and opens wide.`);
+				}
+				r.push(`${He} takes you into ${his} mouth without hesitation, and keeps ${his} eyes closed. ${He} visibly concentrates all ${his} attention on your dick, ignoring the breasts that are starting to bounce right over ${his} head as you begin rocking your hips with enjoyment.`);
+				App.Events.addParagraph(frag, r);
+				App.Events.addParagraph(frag, [`You run a possessive hand through ${his} ${eventSlave.hColor} hair, and let ${him} know what a good little cocksucker ${he} is. ${He} moans submissively in response, and the humming feels so wonderful that you order ${him} to do it again. Knowing that you're being nice to ${him} by letting ${his} ignore your more feminine characteristics for the moment, ${he} does ${his} best to please you, humming as best ${he} can and using both hands to pleasure your base and balls. You blow your load down ${his} throat, and ${he} swallows it all. ${He} opens ${his} eyes slowly, <span class="trust inc">relieved</span> that you were so merciful.`]);
+			}
+			eventSlave.trust += 4;
+			seX(eventSlave, "oral", PC, "penetrative");
+			return frag;
+		}
+
+		function force() {
+			const frag = new DocumentFragment();
+			r = [];
+			r.push(`The closeminded ${girl} is having trouble with`);
+			if (eventSlave.attrXY <= 35) {
+				r.push(`guys, so ${he} gets to spend some quality time with your dick. You walk into ${him}, running into the surprised slave, driving ${him} backward into the far wall. You kiss ${him}, pinch ${him}, and grope ${him} roughly the whole time, pressing your breasts maliciously against ${his}`);
+				if (eventSlave.boobs > 5000) {
+					r.push(`titanic udders, which are squashed between you.`);
+				} else if (eventSlave.boobs > 1000) {
+					r.push(`own lovely boobs.`);
+				} else {
+					r.push(`chest.`);
+				}
+				r.push(`When ${his}`);
+				if (eventSlave.butt > 15) {
+					r.push(`obscene`);
+				} else if (eventSlave.butt > 10) {
+					r.push(`absurd`);
+				} else if (eventSlave.butt > 6) {
+					r.push(`monstrous`);
+				} else if (eventSlave.butt > 3) {
+					r.push(`healthy`);
+				} else {
+					r.push(`cute`);
+				}
+				r.push(`buttocks crash against the wall, you smash yourself against ${him}. ${He} shudders involuntarily as ${he} feels your stiffening dick between you`);
+				if (eventSlave.belly >= 5000) {
+					r.push(`and ${his} rounded stomach`);
+				}
+				r.push(r.pop() + `, and then again as it rapidly achieves full hardness, crushed between your warm bodies.`);
+				App.Events.addParagraph(frag, r);
+				r = [];
+				r.push(`Making out with ${him} so insistently that ${he}'s short of breath, you begin to hump yourself against ${him}, sliding your prick against ${his}`);
+				if (eventSlave.belly >= 5000) {
+					r.push(belly);
+					if (eventSlave.bellyPreg >= 3000) {
+						r.push(`pregnant`);
+					}
+				}
+				r.push(`belly, thighs, and`);
+				if (canDoVaginal(eventSlave)) {
+					r.push(`labia.`);
+				} else if (canAchieveErection(eventSlave) && !(eventSlave.chastityPenis)) {
+					r.push(`own dick.`);
+				} else if (eventSlave.dick > 6 && !canAchieveErection(eventSlave) && !(eventSlave.chastityPenis)) {
+					r.push(`fat cock.`);
+				} else if (eventSlave.dick > 0 && !canAchieveErection(eventSlave) && !(eventSlave.chastityPenis)) {
+					r.push(`limp member.`);
+				} else if (eventSlave.chastityPenis === 1) {
+					r.push(`caged dick.`);
+				} else if (eventSlave.chastityVagina) {
+					r.push(`chastity belt.`);
+				} else {
+					r.push(`soft perineum.`);
+				}
+				r.push(`${He} shudders uncomfortably as ${he} realizes that ${he}'s getting aroused, ${his}`);
+				if (eventSlave.vagina > -1) {
+					r.push(`pussy moistening`);
+				} else if (canAchieveErection(eventSlave) && !(eventSlave.chastityPenis)) {
+					r.push(`dick hardening`);
+				} else if (eventSlave.dick > 6 && !canAchieveErection(eventSlave) && !(eventSlave.chastityPenis)) {
+					r.push(`dick struggling to engorge`);
+				} else if (eventSlave.dick > 0 && !canAchieveErection(eventSlave) && !(eventSlave.chastityPenis)) {
+					r.push(`girldick starting to ooze precum`);
+				} else if (eventSlave.chastityPenis === 1) {
+					r.push(`chastity cage growing ever tighter`);
+				} else {
+					r.push(`tiny front hole starting to ooze precum`);
+				}
+				r.push(`from the stimulation, despite ${his} lack of appetite for cock.`);
+				if (!canDoAnal(eventSlave) && !canDoVaginal(eventSlave)) {
+					r.push(`${He} knows what's coming when you push ${him}`);
+					if (eventSlave.belly >= 300000) {
+						r.push(`over ${his} ${belly} stomach,`);
+					} else {
+						r.push(`to ${his} knees,`);
+					}
+					r.push(`and does ${his} best to relax.`);
+					App.Events.addParagraph(frag, r);
+					App.Events.addParagraph(frag, [`${He} screws ${his} eyes shut tight and ${his} mouth tighter as you prod at ${his} face with your member. Tiring of ${his} reluctance, you give ${him} a brusque order to open ${his} eyes and gaze upon the dick ${he} will soon be deepthroating. ${He} obeys, but unwillingly, and steadies ${himself} to take its length. You tell ${him} to do ${his} best to watch, and begin thrusting. ${He} groans from the internal fullness and sexual confusion. ${He} stares as best ${he} can at your penis, transfixed by the sight of it thrusting into ${his} mouth and the feeling of ${his} lips around its girth.`]);
+					r = [];
+					r.push(`${He} slips a hand to ${his} crotch, ${his} arousal overwhelming ${his} preferences. ${He} whimpers pathetically, seeing and feeling ${himself} build towards an inevitable orgasm. You manage ${him} skillfully, holding back to ${his} point of climax before shooting your cum deep inside ${him}. The internal sensation of heat, the tightening and twitching of your member inside ${his} mouth, and your obvious pleasure force ${him} over the edge, and ${he} comes so hard that ${he} chokes on your cock. You pull out of ${him}, and ${he} struggles to catch ${his} breath, the action sending a blob of ${his} owner's semen running down ${his} chin.`);
+					seX(eventSlave, "oral", PC, "penetrative", 7);
+				} else if (eventSlave.belly >= 10000) {
+					r.push(`${He} knows what's coming when you push ${him}`);
+					if (eventSlave.belly >= 300000) {
+						r.push(`over ${his} ${belly} stomach,`);
+					} else {
+						r.push(`to ${his} knees,`);
+					}
+					r.push(`and does ${his} best to relax.`);
+					App.Events.addParagraph(frag, r);
+					r = [];
+					r.push(`${He} screws ${his} eyes shut tight as you maneuver yourself inside ${his}`);
+					if (canDoVaginal(eventSlave)) {
+						if (eventSlave.vagina > 2) {
+							r.push(`cavernous cunt.`);
+						} else if (eventSlave.vagina > 1) {
+							r.push(`welcoming pussy.`);
+						} else {
+							r.push(`tight flower.`);
+						}
+					} else {
+						if (eventSlave.anus > 2) {
+							r.push(`unresisting asspussy.`);
+						} else if (eventSlave.anus > 1) {
+							r.push(`welcoming butthole.`);
+						} else {
+							r.push(`tight anus.`);
+						}
+					}
+					r.push(`Once you're situated, you give ${him} a brusque order to open ${his} eyes and look behind ${him}. ${He} obeys, but unwillingly, bending as best ${he} can to see how physically close you are. ${He} can't see where it enters ${his}`);
+					if (canDoVaginal(eventSlave)) {
+						r.push(`womanhood,`);
+					} else {
+						r.push(`bowels,`);
+					}
+					r.push(`but ${he}'s very aware of it. You tell ${him} to do ${his} best to watch, and begin thrusting. ${He} groans from the awkward position, internal fullness, and sexual confusion. Turned as much as ${he} can, ${he} stares, transfixed by the sight of you thrusting into ${his} body.`);
+					if (canDoVaginal(eventSlave)) {
+						r.push(VCheck.Vaginal(eventSlave, 7));
+					} else {
+						r.push(VCheck.Anal(eventSlave, 7));
+					}
+					App.Events.addParagraph(frag, r);
+					r = [];
+					r.push(`You snake a hand under ${him} and begin to stimulate ${him} manually. ${He} whimpers pathetically, seeing and feeling ${himself} build towards an inevitable orgasm. You manage ${him} skillfully, bringing ${him} to the point of climax before shooting your cum deep inside ${him}. The internal sensation of heat, the tightening and twitching of your member inside ${him}, and your obvious pleasure force ${him} over the edge, and ${he} comes so hard that ${he} wriggles involuntarily against you. You release ${him}, and ${he} barely manages to catch ${himself} from collapsing, the motion sending a blob of ${his} owner's semen running down ${his} thigh.`);
+				} else {
+					r.push(`${He} knows what's coming when you pin ${his} torso even harder and reach down to pull ${his} knees up to clasp you around your waist, and does ${his} best to relax.`);
+					App.Events.addParagraph(frag, r);
+					r = [];
+					r.push(`${He} screws ${his} eyes shut tight as you maneuver yourself inside ${his}`);
+					if (canDoVaginal(eventSlave)) {
+						if (eventSlave.vagina > 2) {
+							r.push(`cavernous cunt.`);
+						} else if (eventSlave.vagina > 1) {
+							r.push(`welcoming pussy.`);
+						} else {
+							r.push(`tight flower.`);
+						}
+					} else {
+						if (eventSlave.anus > 2) {
+							r.push(`unresisting asspussy.`);
+						} else if (eventSlave.anus > 1) {
+							r.push(`welcoming butthole.`);
+						} else {
+							r.push(`tight anus.`);
+						}
+					}
+					r.push(`Once you're confident your member is properly seated inside ${him}, and you won't drop ${him}, you give ${him} a brusque order to open ${his} eyes and look down. ${He} obeys, but unwillingly, bending as best ${he} can to look at the base of your dick where it`);
+					if (canDoVaginal(eventSlave)) {
+						r.push(`enters ${his} womanhood.`);
+					} else {
+						r.push(`disappears beneath`);
+						if (canAchieveErection(eventSlave) && !(eventSlave.chastityPenis)) {
+							r.push(`${his} own erect cock.`);
+						} else if (eventSlave.dick > 6 && !canAchieveErection(eventSlave) && !(eventSlave.chastityPenis)) {
+							r.push(`${his} own dangling cock.`);
+						} else if (eventSlave.chastityPenis === 1) {
+							r.push(`${his} chastity.`);
+						} else {
+							r.push(`${him}. ${He} can't see where it enters ${his} bowels, but ${he}'s very aware of it.`);
+						}
+					}
+					r.push(`You tell ${him} to do ${his} best to watch, and begin thrusting. ${He} groans from the awkward position, internal fullness, and sexual confusion. Bent almost in half, ${he} stares, transfixed by the sight of your penis delving inside ${his} body.`);
+					if (canDoVaginal(eventSlave)) {
+						r.push(VCheck.Vaginal(eventSlave, 7));
+					} else {
+						r.push(VCheck.Anal(eventSlave, 7));
+					}
+					App.Events.addParagraph(frag, r);
+					r = [];
+					r.push(`You push a hand between the two of you and begin to stimulate ${him} manually. ${He} whimpers pathetically, seeing and feeling ${himself} build towards an inevitable orgasm. You manage ${him} skillfully, bringing ${him} to the point of climax before shooting your cum deep inside ${him}. The internal sensation of heat, the tightening and twitching of your member inside ${him}, and your obvious pleasure force ${him} over the edge, and ${he} comes so hard that ${he} wriggles involuntarily within your grasp. You drop ${him}, and ${he} barely manages to catch ${himself} on shaking legs, the motion sending a blob of ${his} owner's semen running down ${his} thigh.`);
+				}
+				App.Events.addParagraph(frag, r);
+				r = [];
+				r.push(`Over the week, you force ${him} to achieve daily orgasm as your cock pounds in and out of ${him}. It's difficult, blowing your load inside a compliant slave ${girl} every day, but you make the necessary sacrifice.`);
+				if (random(1, 2) === 1) {
+					r.push(`After a few days, ${he}'s <span class="green">obviously reconsidering ${his} previous hesitations about dick.</span>`);
+					eventSlave.attrXY += 5;
+				} else {
+					r.push(`${He} takes it like a good slave. ${His} dislike for dick doesn't change, but ${he} gets better at <span class="devotion inc">suppressing ${his} own inclinations</span> and serving as your cum receptacle.`);
+					eventSlave.devotion += 4;
+				}
+			} else if (eventSlave.attrXX <= 35) {
+				r.push(`girls, so ${he} gets to spend some quality time with your feminine side. You kiss ${him}, teasing your tongue against ${him}, and press your breasts maliciously against ${his}`);
+				if (eventSlave.boobs > 5000) {
+					r.push(`titanic udders, which are squashed between you.`);
+				} else if (eventSlave.boobs > 1000) {
+					r.push(`own lovely boobs.`);
+				} else {
+					r.push(`chest.`);
+				}
+				r.push(`${He} shrinks away from you involuntarily, but you stroke loving hands down ${his} temples, the sides of ${his} neck, and ${his} upper arms. ${He} shudders involuntarily, and you can almost feel ${him} hate ${himself} through your lip lock. You cock your hips back and to the side, keeping your prick well clear of ${him}. As far as ${he} can feel, you're all boobs and feminine lips.`);
+				App.Events.addParagraph(frag, r);
+				r = [];
+				if (eventSlave.toyHole === "dick" || (V.policies.sexualOpenness === 1 && canPenetrate(eventSlave))) {
+					r.push(`You walk forward, pressing ${him} against the far wall, and then turn yourself around, pinning ${him} against the wall with your`);
+					if (eventSlave.belly >= 5000) {
+						r.push(`butt, working your way under ${his} ${belly} belly`);
+					} else {
+						r.push("butt.");
+					}
+					r.push(`As ${he} hesitates, wondering what to do about this, you grab ${his} hands and place them on your`);
+					if (PC.butt >= 5) {
+						r.push(`enormous,`);
+						if (PC.buttImplant !== 0) {
+							r.push(`beachball cheeks,`);
+						} else {
+							r.push(`wobbling ass,`);
+						}
+					} else if (PC.butt >= 4) {
+						r.push(`huge,`);
+						if (PC.buttImplant !== 0) {
+							r.push(`balloon of an`);
+						} else {
+							r.push(`soft`);
+						}
+						r.push(`ass,`);
+					} else if (PC.butt >= 3) {
+						r.push(`big`);
+						if (PC.buttImplant !== 0) {
+							r.push(`fake`);
+						}
+						r.push(`ass,`);
+					} else {
+						r.push(`ass,`);
+					}
+					r.push(`leading ${him} like a music teacher guiding a student's hands. When ${he}'s groping your buttocks properly, you grind against ${him} for a while, grinning to yourself as you feel an unwilling erection building between your cheeks. Pleased, you lean forward and line up your`);
+					if (PC.vagina !== -1) {
+						r.push(`pussy`);
+					} else {
+						r.push(`asshole`);
+					}
+					r.push(`with ${his} dick head and push back into ${him}. You repeat until ${his} hips start moving on their own. You bite on your finger at the sensation of ${his} cock inside you and, using your other hand, begin to jerk yourself off. Except for your vigorous stroking with one hand, there's little to indicate to ${him} that you have a dick; it must feel as though ${he} is banging a beautiful woman. ${He} whimpers pathetically, seeing and feeling ${himself} build towards an inevitable orgasm. You manage ${him} skillfully, taking ${him} to the point of climax before enjoying your own orgasm. The heat of your insides, the tightening and twitching of your`);
+					if (PC.vagina !== -1) {
+						r.push(`vagina`);
+					} else {
+						r.push(`rectum`);
+					}
+					r.push(`around ${his} cock, and your obvious pleasure force ${him} over the edge, and ${he} comes so hard that ${he} nearly knocks your to the floor. You scoot forward, letting ${him} slip from you. ${He} gets a splendid sight of your still gaped`);
+					if (PC.vagina !== -1) {
+						r.push(`cunt`);
+					} else {
+						r.push(`anus`);
+					}
+					r.push(`begging for more`);
+					if (eventSlave.balls > 0) {
+						r.push(`as a blob of ${his} semen drips from your body`);
+					}
+					r.push(r.pop() + `.`);
+					App.Events.addParagraph(frag, r);
+					r = [];
+					r.push(`Over the week, you require ${him} to repeat this sexually confusing performance daily. It's difficult, having to savor a compliant slave's penis every day, but you make the necessary sacrifice.`);
+					if (canImpreg(PC, eventSlave)) {
+						r.push(knockMeUp(PC, 40, 0, eventSlave.ID));
+					}
+				} else if (eventSlave.belly >= 150000) {
+					r.push(`You walk forward, pressing ${him} against the far wall, and then turn yourself around, pinning ${him} against the wall with your butt, working your way under ${his} ${belly} belly. As ${he} hesitates, wondering what to do about this, you grab ${his} hands and place them on your`);
+					if (PC.butt >= 5) {
+						r.push(`enormous,`);
+						if (PC.buttImplant !== 0) {
+							r.push(`beachball cheeks,`);
+						} else {
+							r.push(`wobbling ass,`);
+						}
+					} else if (PC.butt >= 4) {
+						r.push(`huge,`);
+						if (PC.buttImplant !== 0) {
+							r.push(`balloon of an`);
+						} else {
+							r.push(`soft`);
+						}
+						r.push(`ass,`);
+					} else if (PC.butt >= 3) {
+						r.push(`big`);
+						if (PC.buttImplant !== 0) {
+							r.push(`fake`);
+						}
+						r.push(`ass,`);
+					} else {
+						r.push(`ass,`);
+					}
+					r.push(`leading ${him} like a music teacher guiding a student's hands. When ${he}'s groping your buttocks properly, you grind against ${him} for a while, grinning to yourself as you feel`);
+					if (canDoVaginal(eventSlave)) {
+						r.push(`an unwilling heat building low behind you. Pleased, you lean back and start to play with ${his} clit, using your other hand to jerk off.`);
+					} else if (canAchieveErection(eventSlave) && !(eventSlave.chastityPenis)) {
+						r.push(`an unwilling erection building between your cheeks. Pleased, you lean back and start to play with ${his} dick, using your other hand to jerk yourself off.`);
+					} else if (eventSlave.dick > 6 && !canAchieveErection(eventSlave) && !(eventSlave.chastityPenis)) {
+						r.push(`the huge cock behind you start to leak onto your back. Pleased, you lean back and start to play with ${his} dick, using your other hand to jerk yourself off.`);
+					} else if (eventSlave.dick > 0 && !canAchieveErection(eventSlave) && !(eventSlave.chastityPenis)) {
+						r.push(`the pretty girldick behind you start to leak. Pleased, you lean back and start to play with ${his} soft bitchclit, using your other hand to jerk yourself off.`);
+					} else if (eventSlave.chastityPenis === 1) {
+						r.push(`an unwilling heat building low behind you. Pleased, you lean back and start to tease ${his} chastity cage, using your other hand to jerk off.`);
+					} else if (eventSlave.chastityVagina) {
+						r.push(`an unwilling heat building low behind you. Pleased, you lean back and start to tease ${his} chastity, using your other hand to jerk off.`);
+					} else if (eventSlave.race === "catgirl") {
+						r.push(`a demure heat building behind you. Pleased, you lean back and start to play with the soft silky fur between ${his} legs.`);
+					} else {
+						r.push(`a demure heat building behind you. Pleased, you lean back and start to play with the soft smooth skin between ${his} legs.`);
+					}
+					r.push(`Except for your vigorous stroking with one hand, there's little to indicate to ${him} that you have a dick. It must feel as though ${he} has a beautiful woman under ${his} middle, and is playing with ${his} ass while ${he} gets ${him} off manually. You complete the feeling by bucking against ${him} with extra enthusiasm when you climax.`);
+					App.Events.addParagraph(frag, r);
+					r = [];
+					r.push(`Over the week, you require ${him} to repeat this sexually confusing performance daily. It's difficult, having to grind against a compliant slave every day, but you make the necessary sacrifice.`);
+				} else {
+					r.push(`You walk forward, pressing ${him} against the far wall, and then turn yourself around, pinning ${him} against the wall with your butt`);
+					if (eventSlave.belly >= 10000) {
+						r.push(`as well as you can with ${his} ${belly}`);
+						if (eventSlave.bellyPreg >= 3000) {
+							r.push(`pregnancy`);
+						} else {
+							r.push(`belly`);
+						}
+						r.push(`pushing into you`);
+					}
+					r.push(r.pop() + `. As ${he} hesitates, wondering what to do about this, you grab ${his} hands and place them on your tits, leading ${him} like a music teacher guiding a student's hands. When ${he}'s stroking your nipples properly, you grind against ${him} for a while, grinning to yourself as you feel`);
+					if (canDoVaginal(eventSlave)) {
+						r.push(`an unwilling heat building low behind you. Pleased, you snake a hand around behind yourself and start to play with ${his} clit, using your other hand to jerk off.`);
+					} else if (canAchieveErection(eventSlave) && !(eventSlave.chastityPenis)) {
+						r.push(`an unwilling erection building behind you. Pleased, you snake a hand around behind yourself and start to play with ${his} dick, using your other hand to jerk yourself off.`);
+					} else if (eventSlave.dick > 6 && !canAchieveErection(eventSlave) && !(eventSlave.chastityPenis)) {
+						r.push(`the huge cock behind you start to leak. Pleased, you snake a hand around behind yourself and start to play with ${his} dick, using your other hand to jerk yourself off.`);
+					} else if (eventSlave.dick > 0 && !canAchieveErection(eventSlave) && !(eventSlave.chastityPenis)) {
+						r.push(`the pretty girldick behind you start to leak. Pleased, you snake a hand around behind yourself and start to play with ${his} soft bitchclit, using your other hand to jerk yourself off.`);
+					} else if (eventSlave.chastityPenis === 1) {
+						r.push(`an unwilling heat building low behind you. Pleased, you snake a hand around behind yourself and start to tease ${his} chastity cage, using your other hand to jerk off.`);
+					} else if (eventSlave.chastityVagina) {
+						r.push(`an unwilling heat building low behind you. Pleased, you snake a hand around behind yourself and start to tease ${his} chastity, using your other hand to jerk off.`);
+					} else if (eventSlave.race === "catgirl") {
+						r.push(`a demure heat building behind you. Pleased, you snake a hand around behind yourself and start to play with the soft silky fur between ${his} legs.`);
+					} else {
+						r.push(`a demure heat building behind you. Pleased, you snake a hand around behind yourself and start to play with the soft smooth skin between ${his} legs.`);
+					}
+					r.push(`Except for your vigorous stroking with one hand, there's little to indicate to ${him} that you have a dick. It must feel as though ${he} has a beautiful woman in ${his} ${arms}, and is playing with ${his} boobs while ${he} gets ${him} off manually. You complete the feeling by craning around to rain nibbles and kisses on ${his} ${eventSlave.faceShape} face.`);
+					App.Events.addParagraph(frag, r);
+					r = [];
+					r.push(`Over the week, you require ${him} to repeat this sexually confusing performance daily. It's difficult, having one of your slaves detailed to stimulate your nipples every day, but you make the necessary sacrifice.`);
+				}
+				if (random(1, 2) === 1) {
+					r.push(`After a few days, ${he}'s <span class="green">obviously reconsidering ${his} previous hesitations about tits and ass.</span>`);
+					eventSlave.attrXX += 5;
+				} else {
+					r.push(`${He} serves your feminine body like a good slave. ${His} dislike for sex with girls doesn't change, but ${he} gets better at <span class="devotion inc">suppressing ${his} own inclinations</span> and serving as your plaything.`);
+					eventSlave.devotion += 4;
+				}
+			}
+			App.Events.addParagraph(frag, r);
+			return frag;
+		}
+	}
+};
diff --git a/src/events/RESS/review/hormoneDysfunction.js b/src/events/RESS/review/hormoneDysfunction.js
new file mode 100644
index 0000000000000000000000000000000000000000..b4d6e4b3b7be784ee80644b40f2c31d0dc560a5b
--- /dev/null
+++ b/src/events/RESS/review/hormoneDysfunction.js
@@ -0,0 +1,123 @@
+App.Events.RESSHormoneDysfunction = class RESSHormoneDysfunction extends App.Events.BaseEvent {
+	eventPrerequisites() {
+		return []; // always valid if sufficient actors can be cast successfully
+	}
+
+	actorPrerequisites() {
+		return [
+			[ // single event slave
+				s => s.fetish !== "mindbroken",
+				s => s.hormoneBalance >= 50,
+				s => s.vagina === -1,
+				s => s.balls >= 0,
+				s => s.devotion > 20 || s.trust < -20,
+				s => s.devotion <= 50,
+				s => s.fetish !== "buttslut",
+				s => s.rules.speech === "permissive"
+			]
+		];
+	}
+
+	execute(node) {
+		/** @type {Array<App.Entity.SlaveState>} */
+		let [eventSlave] = this.actors.map(a => getSlave(a));
+		const {
+			He, he, his, him, himself, girl
+		} = getPronouns(eventSlave);
+		const {title: Master, say} = getEnunciation(eventSlave);
+
+		V.nextLink = "Next Week";
+
+		App.Events.drawEventArt(node, eventSlave);
+
+		let r = [];
+		r.push(
+			App.UI.DOM.slaveDescriptionDialog(eventSlave),
+			`comes to see you. You're busy with other things, so ${he} waits patiently even though ${he}'s clearly very unhappy. Told to explain ${himself}, ${he} gestures at ${his} totally flaccid`
+		);
+		if (!canTalk(eventSlave)) {
+			r.push(`penis.`);
+		} else {
+			if (eventSlave.lips > 70) {
+				r.push(`penis and ${say}s through ${his} huge lips,`);
+			} else if ((eventSlave.lipsPiercing + eventSlave.tonguePiercing > 2)) {
+				r.push(`penis and ${say}s through ${his} piercings,`);
+			} else {
+				r.push(`penis and ${say}s,`);
+			}
+			r.push(Spoken(eventSlave, `"${Master}, I can't get it up."`));
+		}
+		r.push(`Ever since the rules have permitted it, ${contextualIntro(V.PC, eventSlave)} has been a constant masturbator. If ${he} can help it, ${he} never sucks or gives up ${his} ass without a hand between ${his} legs, pumping away.`);
+		App.Events.addParagraph(node, r);
+
+		r = [];
+		if (!canTalk(eventSlave)) {
+			r.push(`${He} mimics masturbation and then traces a finger down ${his} cheek, as though it were a tear.`);
+		} else {
+			r.push(Spoken(eventSlave, `"I can't come like this, ${Master}."`));
+		}
+		r.push(`It makes sense; ${he}'s probably never masturbated without a hard dick. ${He}'s clearly in desperate need of release, and more than a little sad the hormones ${he}'s taking have given ${him} erectile dysfunction.`);
+
+		App.Events.addParagraph(node, r);
+		App.Events.addResponses(node, [
+			new App.Events.Result(`Give ${him} some vasodilators so ${he} can get relief`, vasodilators),
+			new App.Events.Result(`Sissy slave ${girl}s don't need to climax to serve`, serve),
+			(eventSlave.prostate !== 0 && canDoAnal(eventSlave))
+				? new App.Events.Result(`Prostate stimulation ought to do the trick`, prostate, eventSlave.anus === 0 && canDoAnal(eventSlave) ? `This option will take ${his} virginity` : null)
+				: new App.Events.Result(),
+		]);
+
+		function vasodilators() {
+			eventSlave.devotion -= 5;
+			return `You give ${him} a shot and send ${him} on ${his} way. Within a few minutes it gives ${him} a raging hard-on that lasts for hours. ${He} spends every spare moment masturbating furiously. Of course, this is a temporary solution, and will just make the eventual return of ${his} problem more disappointing. <span class="devotion dec">${He} is bitterly frustrated.</span>`;
+		}
+
+		function serve() {
+			r = [];
+			r.push(`You explain patiently that ${he} needs to stop focusing on getting off. ${He}'s a sex slave, and what matters is that ${he} pleasures others. If ${he} doesn't climax ${himself}, that's unfortunate but not really significant. ${He} looks terribly forlorn, so to drive home the point you push ${him} down to the floor, give ${him} a rough facefuck, and send ${him} away with tousled hair,`);
+			if (V.PC.dick === 0) {
+				r.push(`a tired tongue,`);
+			} else {
+				r.push(`a mouthful of ejaculate,`);
+			}
+			r.push(`and the same limp dick as before. <span class="devotion dec">It's frustrating for ${him}.</span>`);
+			eventSlave.devotion -= 2;
+			if (eventSlave.clitSetting !== eventSlave.fetish) {
+				r.push(`But, ${he} slowly <span class="fetish gain">accepts ${his} new role as a submissive little sex toy.</span>`);
+				eventSlave.fetishStrength = 65;
+				eventSlave.fetishKnown = 1;
+				eventSlave.fetishStrength = 10;
+				eventSlave.fetish = "submissive";
+			}
+			seX(eventSlave, "oral", V.PC, "penetrative");
+			return r;
+		}
+
+		function prostate() {
+			r = [];
+			r.push(`You explain that ${he} will have to find a new way to climax to be a happy little shemale slut. As you do, you push ${him} against a wall and force ${him} up on tiptoe so that ${his} butt is conveniently positioned, and then ram`);
+			if (V.PC.dick === 0) {
+				r.push(`a vibrating strap-on`);
+			} else {
+				r.push(`yourself`);
+			}
+			r.push(`up ${his} ass. ${He} squeals and dances against the wall on tiptoe, impaled on your`);
+			if (V.PC.dick === 0) {
+				r.push(`fake cock.`);
+			} else {
+				r.push(`member.`);
+			}
+			r.push(`${He} doesn't climax to anal then, or the next time you assfuck ${him}, or the time after that; but some time later a long buttsex session ends when ${he} gives a little shake and a whimper and dribbles a pathetic squirt of cum from ${his} still-limp dick. By the end of the week <span class="mediumaquamarine">${he}'s smiling trustingly</span> and offering you ${his} butt every chance ${he} gets.`);
+			r.push(VCheck.Anal(eventSlave, 10));
+			eventSlave.trust += 4;
+			if (eventSlave.clitSetting !== eventSlave.fetish) {
+				r.push(`<span class="fetish gain">${He}'s become a confirmed anal addict.</span>`);
+				eventSlave.fetishStrength = 65;
+				eventSlave.fetishKnown = 1;
+				eventSlave.fetishStrength = 10;
+				eventSlave.fetish = "buttslut";
+			}
+			return r;
+		}
+	}
+};
diff --git a/src/events/RESS/review/looseButtslut.js b/src/events/RESS/review/looseButtslut.js
new file mode 100644
index 0000000000000000000000000000000000000000..73c2eb28f7c44db6ed9529247349cac0bf77b049
--- /dev/null
+++ b/src/events/RESS/review/looseButtslut.js
@@ -0,0 +1,305 @@
+App.Events.RESSLooseButtslut = class RESSLooseButtslut extends App.Events.BaseEvent {
+	eventPrerequisites() {
+		return []; // always valid if sufficient actors can be cast successfully
+	}
+
+	actorPrerequisites() {
+		return [
+			[ // single event slave
+				s => s.fetish !== "mindbroken",
+				canHold,
+				canDoAnal,
+				s => s.fetish === "buttslut" || (s.energy > 95 && s.fetish !== "none"),
+				s => s.anus > 2,
+				s => s.belly < 300000,
+				s => s.rules.release.masturbation === 1,
+			]
+		];
+	}
+
+	execute(node) {
+		/** @type {Array<App.Entity.SlaveState>} */
+		let [eventSlave] = this.actors.map(a => getSlave(a));
+		const {
+			He, he, his, him, himself, girl
+		} = getPronouns(eventSlave);
+		const pinches = eventSlave.nipples !== "fuckable" ? "pinches" : "fingers";
+
+		V.nextLink = "Next Week";
+
+		App.Events.drawEventArt(node, eventSlave);
+
+		let r = [];
+		r.push(
+			`Since ${he} has a little free time this evening,`,
+			contextualIntro(V.PC, eventSlave, "DOM"),
+			`finds a quiet corner and engages in ${his} anal proclivities. Since ${his} asshole is so stretched out, ${he} sticks the base of a huge dildo to the ground and`);
+		if (eventSlave.belly >= 100000) {
+			r.push(`struggles to lower ${his} heavy, very gravid body down onto it,`);
+		} else if (eventSlave.belly >= 10000) {
+			r.push(`cautiously lowers ${his}`);
+			if (eventSlave.bellyFluid >= 10000) {
+				r.push(`${eventSlave.inflationType}-stuffed`);
+			} else {
+				r.push(`very gravid`);
+			}
+			r.push(`body on it,`);
+		} else if (eventSlave.belly >= 5000) {
+			r.push(`delicately lowers ${his}`);
+			if (eventSlave.bellyFluid >= 5000) {
+				r.push(`bloated`);
+			} else {
+				r.push(`gravid`);
+			}
+			r.push(`body on it,`);
+		} else {
+			r.push(`squats on it,`);
+		}
+		r.push(`moaning happily as the massive thing inches into ${him}. ${He} starts to slide up and down it`);
+		if (hasBothArms(eventSlave)) {
+			r.push(`hands-free,`);
+		} else {
+			r.push(`automatically,`);
+		}
+		r.push(`so ${he}`);
+		if (canAchieveErection(eventSlave)) {
+			if (eventSlave.dick > 5) {
+				r.push(`jacks off ${his} huge cock with`);
+				if (hasBothArms(eventSlave)) {
+					r.push(`both hands.`);
+				} else {
+					r.push(`${his} hand.`);
+				}
+			} else if (eventSlave.dick > 2) {
+				r.push(`jacks off with`);
+				if (!hasBothArms(eventSlave)) {
+					r.push(`${his} hand.`);
+				} else {
+					r.push(`one hand and ${pinches} a nipple with the other.`);
+				}
+			} else {
+				r.push(`rubs ${his} little penis with`);
+				if (!hasBothArms(eventSlave)) {
+					r.push(`${his} hand.`);
+				} else {
+					r.push(`one hand and ${pinches} a nipple with the other.`);
+				}
+			}
+		} else if (eventSlave.dick > 5) {
+			r.push(`massages ${his} huge, limp cock with`);
+			if (hasBothArms(eventSlave)) {
+				r.push(`both hands.`);
+			} else {
+				r.push(`${his} hand.`);
+			}
+		} else if (eventSlave.dick > 2) {
+			r.push(`attempts to jack off ${his} limp dick with`);
+			if (!hasBothArms(eventSlave)) {
+				r.push(`${his} hand.`);
+			} else {
+				r.push(`one hand while ${eventSlave.nipples !== "fuckable" ? "pinching" : "fingering"} a nipple with the other.`);
+			}
+		} else if (eventSlave.dick > 0) {
+			r.push(`rubs ${his} little penis with`);
+			if (!hasBothArms(eventSlave)) {
+				r.push(`${his} hand.`);
+			} else {
+				r.push(`one hand and ${pinches} a nipple with the other.`);
+			}
+		} else if (eventSlave.vagina === -1) {
+			r.push(`rubs the sensitive area around ${his} asspussy with`);
+			if (!hasBothArms(eventSlave)) {
+				r.push(`${his} hand.`);
+			} else {
+				r.push(`one hand and ${pinches} a nipple with the other.`);
+			}
+		} else {
+			r.push(`rubs ${his} clit with`);
+			if (!hasBothArms(eventSlave)) {
+				r.push(`${his} hand.`);
+			} else {
+				r.push(`one hand and ${pinches} a nipple with the other.`);
+			}
+		}
+		r.push(`As ${he} enjoys ${himself}, ${his} loose sphincter relaxes further until it's barely gripping the dildo.`);
+
+		App.Events.addParagraph(node, r);
+		App.Events.addResponses(node, [
+			new App.Events.Result(`Add something to fill ${him} completely`, completely),
+			new App.Events.Result(`Let ${him} use a machine`, machine),
+			(V.HeadGirlID !== 0 && V.HeadGirlID !== eventSlave.ID)
+				? new App.Events.Result(`Call your Head Girl in for double anal`, double)
+				: new App.Events.Result(),
+		]);
+
+		function completely() {
+			r = [];
+			r.push(`${He}'s so occupied that ${he} doesn't`);
+			if (canHear(eventSlave)) {
+				r.push(`hear you`);
+			} else {
+				r.push(`sense your presence`);
+			}
+			r.push(`until you`);
+			if (V.PC.dick === 0) {
+				r.push(`don a strap-on and`);
+			}
+			r.push(`tip ${him} over face forward. With ${him} on ${his} knees, ${his} dildo-stuffed ass is in the air; ${he}'s still masturbating between ${his} legs. After a moment's consideration, you slide two exploratory fingers in alongside the dildo. ${He} gasps and masturbates harder. Thus encouraged, you shove`);
+			if (V.PC.dick === 0) {
+				r.push(`the strap-on`);
+			} else {
+				r.push(`your member`);
+			}
+			r.push(`in alongside the dildo.`);
+			if (eventSlave.voice !== 0) {
+				r.push(`${He} screams at the surprise double anal, sobbing and begging,`);
+			} else {
+				r.push(`${He} screams noiselessly at the surprise double anal, waving ${his} hands in distress,`);
+			}
+			r.push(`but ${he} doesn't try to stop you and doggedly keeps rubbing. By the time you're finished ${his} asshole is a gaping hole much bigger than the average pussy. <span class="devotion inc">${He} has become more submissive to you.</span>`);
+			eventSlave.devotion += 4;
+			r.push(VCheck.Anal(eventSlave, 1));
+			return r;
+		}
+
+		function machine() {
+			r = [];
+			r.push(`There's no reason for ${him} to do that in a quiet corner. You interrupt ${him} and bring ${him} into your office, setting ${him} up on a machine so ${he} can have that dildo rammed up ${his} ass for as long as ${he} likes. Your office is filled with the rhythmic sounds of a sloppy anus being pounded for a good long while.`);
+			if (V.assistant.personality > 0) {
+				r.push(`The`);
+				switch (V.assistant.appearance) {
+					case "monstergirl":
+						r.push(`monstrous voice of your assistant's avatar can also be heard, encouraging ${eventSlave.slaveName} to "take my cocks, slave."`);
+						break;
+					case "shemale":
+						r.push(`sultry voice of your assistant's avatar can also be heard, encouraging ${eventSlave.slaveName} to "take my dick, bitch."`);
+						break;
+					case "amazon":
+						r.push(`aggressive voice of your assistant's avatar can also be heard, encouraging ${eventSlave.slaveName} to "be a warrior."`);
+						break;
+					case "businesswoman":
+						r.push(`dominant voice of your assistant's avatar can also be heard, encouraging ${eventSlave.slaveName} to "stop struggling and be a good ${girl}."`);
+						break;
+					case "goddess":
+					case "hypergoddess":
+						r.push(`calming voice of your assistant's avatar can also be heard, encouraging ${eventSlave.slaveName} to "relax and accept what you deserve, ${girl}."`);
+						break;
+					case "loli":
+						r.push(`young, naïve voice of your assistant's avatar can also be heard, encouraging ${eventSlave.slaveName} to "relax, it'll get better."`);
+						break;
+					case "preggololi":
+						r.push(`young voice of your assistant's avatar can also be heard, encouraging ${eventSlave.slaveName} to "relax, you know it'll be fun!"`);
+						break;
+					case "angel":
+						r.push(`harmonious voice of your assistant's avatar can also be heard, encouraging ${eventSlave.slaveName} to "relax, it'll be over soon."`);
+						break;
+					case "cherub":
+						r.push(`cheerful voice of your assistant's avatar can also be heard, encouraging ${eventSlave.slaveName} to "relax, it'll feel better if you do!"`);
+						break;
+					case "incubus":
+						r.push(`forceful voice of your assistant's avatar can also be heard, encouraging ${eventSlave.slaveName} to "take my dick, cocksleeve, take it till you split!"`);
+						break;
+					case "succubus":
+						r.push(`sultry voice of your assistant's avatar can also be heard, encouraging ${eventSlave.slaveName} to "enjoy the pounding while it lasts."`);
+						break;
+					case "imp":
+						r.push(`mischievous voice of your assistant's avatar can also be heard, mocking ${eventSlave.slaveName}, "your butthole is going to be so loose after this! You'll be nothing more than a used up whore!"`);
+						break;
+					case "witch":
+						r.push(`uncertain voice of your assistant's avatar can also be heard, encouraging ${eventSlave.slaveName} to "just relax and get it over with."`);
+						break;
+					case "ERROR_1606_APPEARANCE_FILE_CORRUPT":
+						r.push(`unclear voice of your assistant's avatar can also be heard, encouraging ${eventSlave.slaveName} to "scream louder and let it fill your body completely."`);
+						break;
+					case "schoolgirl":
+						r.push(`girly voice of your assistant's avatar can also be heard, encouraging ${eventSlave.slaveName} to "be quiet, or Teacher will hear us."`);
+						break;
+					default:
+						r.push(`poor slave is taken to the very limit by your assistant.`);
+				}
+				seX(eventSlave, "anal", "assistant", "penetrative");
+			} else {
+				actX(eventSlave, "anal");
+			}
+			r.push(`By the time ${he}'s climaxed out, ${he}'s so tired and apathetic that ${he} can't bring ${himself} to get off it or ask for help, so ${he} just relaxes and enjoys the internal massage`);
+			if (eventSlave.dick !== 0) {
+				r.push(`while ${his} flaccid dick twitches weakly`);
+			}
+			r.push(r.pop() + `. <span class="trust inc">${He} has become more trusting of you,</span> since you knew just what ${he} needed.`);
+			eventSlave.trust += 4;
+			return r;
+		}
+
+		function double() {
+			App.Events.refreshEventArt([eventSlave, S.HeadGirl]);
+			const {
+				he2, his2, himself2, He2
+			} = getPronouns(S.HeadGirl).appendSuffix("2");
+			r = [];
+			r.push(`When ${S.HeadGirl.slaveName} comes into your office in response to your summons, ${he2} finds ${eventSlave.slaveName} sitting in your lap with your`);
+			if (V.PC.dick === 0) {
+				r.push(`strap-on`);
+			} else {
+				r.push(`dick`);
+			}
+			r.push(`up ${his} gaping`);
+			if (V.PC.vagina !== -1 && V.PC.dick !== 0) {
+				r.push(`butt, your bare pussy very visible at the base of your working cock`);
+			} else {
+				r.push(`butt.`);
+			}
+			r.push(`${S.HeadGirl.slaveName}'s expression softens when ${he2} realizes ${he2}'s here for pleasure, not business. ${eventSlave.slaveName} gasps a little when ${he}`);
+			if (canHear(eventSlave)) {
+				r.push(`hears you tell ${S.HeadGirl.slaveName} to join you up ${his} asshole,`);
+			} else {
+				r.push(`feels you pull apart ${his} asscheeks to make some room for ${S.HeadGirl.slaveName},`);
+			}
+			r.push(`but ${he} doesn't protest.`);
+			if (eventSlave.chastityPenis === 1) {
+				r.push(`Since your poor Head Girl can't use ${his2} caged cock, ${he2} takes a dildo and shoves it up ${eventSlave.slaveName}'s already-filled butt without further ado.`);
+			} else if (canAchieveErection(S.HeadGirl) && S.HeadGirl.dick > 7) {
+				r.push(`Even though your Head Girl is rock-hard and ready to fuck, ${his2} cock is far too large to fit into even the most stretched slave's holes. Sighing, ${he2} takes a dildo and shoves it up ${eventSlave.slaveName}'s already-filled butt instead.`);
+			} else if (canAchieveErection(S.HeadGirl) && S.HeadGirl.dick > 6) {
+				r.push(`Your lusty Head Girl is already hard and forces ${his2} oversized cock up ${eventSlave.slaveName}'s already-filled butt while`);
+				if (eventSlave.nipples !== "fuckable") {
+					r.push(`tweaking`);
+				} else {
+					r.push(`fingering`);
+				}
+				r.push(`the moaning slave's nipples.`);
+			} else if ((S.HeadGirl.dick > 0) && (S.HeadGirl.hormoneBalance >= 100)) {
+				r.push(`Since your poor Head Girl can't get hard due to ${his2} hormone therapy, ${he2} dons a strap-on over ${his2} flaccid penis and shoves it up ${eventSlave.slaveName}'s already-filled butt without further ado.`);
+			} else if ((S.HeadGirl.dick > 0) && (S.HeadGirl.balls > 0) && (S.HeadGirl.ballType === "sterile")) {
+				r.push(`Since your poor Head Girl can't get hard due to ${his2} chemical castration, ${he2} dons a strap-on over ${his2} flaccid penis and shoves it up ${eventSlave.slaveName}'s already-filled butt without further ado`);
+			} else if ((S.HeadGirl.dick > 0) && (S.HeadGirl.balls === 0)) {
+				r.push(`Since your poor Head Girl can't get hard due to ${his2} orchiectomy, ${he2} dons a strap-on over ${his2} flaccid penis and shoves it up ${eventSlave.slaveName}'s already-filled butt without further ado.`);
+			} else if (!canAchieveErection(S.HeadGirl) && S.HeadGirl.dick > 6) {
+				r.push(`Since your poor Head Girl is far too big to get hard, much to ${eventSlave.slaveName}'s disappointment, ${he2} dons a strap-on over ${his2} flaccid penis and shoves it up ${eventSlave.slaveName}'s already-filled butt without further ado.`);
+			} else if (!canAchieveErection(S.HeadGirl) && S.HeadGirl.dick > 0) {
+				r.push(`Since your poor Head Girl can't get it up for one reason or another, ${he2} dons a strap-on over ${his2} flaccid penis and shoves it up ${eventSlave.slaveName}'s already-filled butt without further ado.`);
+			} else if (S.HeadGirl.dick > 0) {
+				r.push(`Your lusty Head Girl is already hard and shoves ${himself2} up ${eventSlave.slaveName}'s already-filled butt while`);
+				if (eventSlave.nipples !== "fuckable") {
+					r.push(`tweaking`);
+				} else {
+					r.push(`fingering`);
+				}
+				r.push(`the writhing slave's nipples.`);
+			} else {
+				r.push(`${He2} dons a strap-on and shoves it up ${eventSlave.slaveName}'s already-filled butt without further ado.`);
+			}
+			r.push(`The two of you jackhammer in and out of ${eventSlave.slaveName}'s ass without mercy; the poor anal whore does ${his} best to relax, but two phalli at once is a lot, even for ${him}. ${He}'s only allowed an anal respite when ${his} sphincter is really fucked out and there's little butthole fun to be had from ${him} any longer. ${He} has become <span class="devotion inc">more submissive to you,</span> and ${S.HeadGirl.slaveName} <span class="devotion inc">enjoyed</span> taking a break to fuck ${him} with you.`);
+			eventSlave.devotion += 4;
+			S.HeadGirl.devotion += 4;
+			seX(eventSlave, "anal", V.PC, "penetrative");
+			seX(eventSlave, "anal", S.HeadGirl, "penetrative");
+			if (canImpreg(eventSlave, V.PC)) {
+				knockMeUp(eventSlave, 5, 0, -1);
+			}
+			if (canImpreg(eventSlave, S.HeadGirl)) {
+				knockMeUp(eventSlave, 5, 0, V.HeadGirlID);
+			}
+			return r;
+		}
+	}
+};
diff --git a/src/events/RESS/review/rebelliousArrogant.js b/src/events/RESS/review/rebelliousArrogant.js
new file mode 100644
index 0000000000000000000000000000000000000000..3d4d54b4e0933741d50dea85d4a5f2878f0a27d5
--- /dev/null
+++ b/src/events/RESS/review/rebelliousArrogant.js
@@ -0,0 +1,193 @@
+App.Events.RESSRebelliousArrogant = class RESSRebelliousArrogant extends App.Events.BaseEvent {
+	eventPrerequisites() {
+		return []; // always valid if sufficient actors can be cast successfully
+	}
+
+	actorPrerequisites() {
+		return [
+			[ // single event slave
+				s => s.fetish !== "mindbroken",
+				s => s.assignment !== Job.QUARTER,
+				s => s.behavioralFlaw === "arrogant",
+				s => s.devotion < -50,
+				s => s.trust >= -50,
+			]
+		];
+	}
+
+	execute(node) {
+		/** @type {Array<App.Entity.SlaveState>} */
+		let [eventSlave] = this.actors.map(a => getSlave(a));
+		const {
+			His, He, he, his, him, girl
+		} = getPronouns(eventSlave);
+		const belly = bellyAdjective(eventSlave);
+
+		V.nextLink = "Next Week";
+
+		App.Events.drawEventArt(node, eventSlave, "no clothing");
+
+		App.Events.addParagraph(node, [
+			`You have a lot of work to do with`,
+			App.UI.DOM.combineNodes(contextualIntro(V.PC, eventSlave, "DOM"), "."),
+			`${He} compounds the usual rebellious anger at being a slave with an apparently unshakeable conviction that ${he} is better than you. Oddly, ${he} seems to maintain the idea that enslaving other people is somehow inappropriate, and that having done so has lowered you morally. This morning, ${he} did not appear to start ${his} morning chores as previously ordered. ${He} sleeps on a bedroll: a brief investigation discloses that ${he} is still in it, and has pulled the blanket up over ${his} head. ${He} refuses to acknowledge your peremptory command to get up.`
+		]);
+
+		App.Events.addResponses(node, [
+			new App.Events.Result(`Force ${him} out of bed and humiliate ${him} publicly`, humiliate, virginityWarning()),
+			new App.Events.Result(`Let ${him} stay in bed`, stay),
+			V.seePee === 1
+				? new App.Events.Result(`Let ${him} stay in bed, but move it to a public restroom`, restroom)
+				: new App.Events.Result(),
+			(canDoAnal(eventSlave) || canDoVaginal(eventSlave))
+				? new App.Events.Result(`Let ${him} stay in bed, but move it to a whorehouse`, whorehouse, virginityWarning())
+				: new App.Events.Result(),
+			V.arcade > 0
+				? new App.Events.Result(`Sentence ${him} to a month in the arcade`, arcade)
+				: new App.Events.Result(),
+
+		]);
+
+		function virginityWarning() {
+			if ((eventSlave.anus === 0 && canDoAnal(eventSlave)) || (eventSlave.vagina === 0 && canDoVaginal(eventSlave))) {
+				return `This option will take ${his} virginity`;
+			}
+		}
+
+		function humiliate() {
+			let r = [];
+			r.push(`You drag ${him} unceremoniously out of bed and straight down into the public areas of ${V.arcologies[0].name}. ${His} struggles and protests grow more frantic as ${he}`);
+			let textArray = [];
+			if (canSee(eventSlave)) {
+				textArray.push(`sees the first passersby beginning to stare at the little spectacle`);
+			}
+			if (canHear(eventSlave)) {
+				textArray.push(`begins to hear the various catcalls and other comments directed at ${him}`);
+			} else {
+				textArray.push(`feels the outdoor air on ${his} body`);
+			}
+			if (textArray.length === 1) {
+				r.push(`${textArray[0]}.`);
+			} else if (textArray.length === 2) {
+				r.push(`${textArray[0]} and ${textArray[1]}.`);
+			} else if (textArray.length === 3) {
+				r.push(`${textArray[0]}, ${textArray[2]} and ${textArray[3]}.`);
+			}
+			r.push(`You force ${him} right there, thoroughly raping the struggling ${girl} in public. <span class="trust dec">${He} learns the consequences of refusal,</span>`);
+			if (V.arcologies[0].FSDegradationist !== "unset") {
+				r.push(`and <span class="reputation inc">your citizens certainly enjoy the public spectacle.</span>`);
+				repX(100, "event", eventSlave);
+			} else {
+				r.push(`but <span class="reputation dec">your reputation has been decreased by the unseemly commotion.</span>`);
+				repX(-100, "event", eventSlave);
+			}
+			if (canDoVaginal(eventSlave) && canDoAnal(eventSlave)) {
+				r.push(VCheck.Both(eventSlave, 1));
+			} else if (canDoVaginal(eventSlave)) {
+				r.push(VCheck.Vaginal(eventSlave, 1));
+			} else if (canDoAnal(eventSlave)) {
+				r.push(VCheck.Anal(eventSlave, 1));
+			} else {
+				seX(eventSlave, "oral", V.PC, "penetrative");
+			}
+			eventSlave.trust -= 5;
+			return r;
+		}
+
+		function stay() {
+			eventSlave.trust += 10;
+			eventSlave.devotion -= 10;
+			return `You shrug and walk out of the room and back to your office; you've got more important things to worry about than some drowsy brat. ${eventSlave.slaveName}, for ${his} part, gets out of bed not long after you leave, but is surprised at <span class="devotion dec">how easily ${he} got away with this,</span> and is wondering <span class="trust inc">what else ${he} could get away with.</span>`;
+		}
+
+		function restroom() {
+			eventSlave.trust -= 5;
+			return `You quickly pin the blanket to the mattress, securing ${him} in place. You direct that a urinal in one of ${V.arcologies[0].name}'s public restrooms be unbolted and replaced by the mattress, slave and all. ${He}'s been swearing and threatening all this time, but the calumny reaches a shrieking crescendo (though muffled by the blanket) when ${he} feels urine beginning to soak through the blanket. After an hour or so ${he}'s begging to be let out, <span class="trust dec">swearing ${he}'ll improve ${his} conduct.</span>`;
+		}
+
+		function whorehouse() {
+			let r = [];
+			r.push(`You quickly pin the blanket to the mattress, securing ${him} in place. You direct that ${he} be brought to an arcology salon that serves as a slave brothel. Once ${he}'s there, you take a pair of scissors and cut a slit through the sheets. ${He}'s been swearing and threatening all this time, but the calumny reaches a shrieking crescendo when ${he} feels a cock being shoved through the slit and between ${his} buttocks. Being muffled and held immobile for rape for hire <span class="trust dec">terrifies ${him}</span> but <span class="cash inc">earns some cash.</span>`);
+			eventSlave.trust -= 5;
+			if (canDoVaginal(eventSlave)) {
+				seX(eventSlave, "vaginal", "public", "penetrative", 5);
+				if (canDoAnal(eventSlave)) {
+					seX(eventSlave, "anal", "public", "penetrative", 5);
+					if (eventSlave.vagina === 0 && eventSlave.anus === 0) {
+						r.push(`After the patrons have their way with ${him}, <span class="virginity loss">both ${his} pussy and asshole have been broken in.</span> ${He} <span class="devotion dec">hates</span> losing ${his} virginities in such an undignified manner and <span class="trust dec">fears</span> what will be taken from ${him} next.`);
+						eventSlave.trust -= 5;
+						eventSlave.devotion -= 5;
+						eventSlave.vagina++;
+						eventSlave.anus++;
+					} else if (eventSlave.vagina === 0) {
+						r.push(`After the patrons have their way with ${him}, <span class="virginity loss">${he}'s certainly no longer a virgin.</span> ${He} <span class="devotion dec">hates</span> losing ${his} virginity in such an undignified manner and <span class="trust dec">fears</span> what will be taken from ${him} next.`);
+						eventSlave.trust -= 5;
+						eventSlave.devotion -= 5;
+						eventSlave.vagina++;
+					} else if (eventSlave.anus === 0) {
+						r.push(`After the patrons have their way with ${him}, <span class="virginity loss">${he}'s certainly no longer an anal virgin.</span> ${He} <span class="devotion dec">hates</span> losing ${his} anal virginity in such an undignified manner and <span class="trust dec">fears</span> what will be taken from ${him} next.`);
+						eventSlave.trust -= 5;
+						eventSlave.devotion -= 5;
+						eventSlave.anus++;
+					}
+					if (canGetPregnant(eventSlave) && eventSlave.eggType === "human") {
+						knockMeUp(eventSlave, 25, 2, -2);
+					}
+				} else {
+					if (eventSlave.vagina === 0) {
+						r.push(`After the patrons have their way with ${him}, <span class="virginity loss">${he}'s certainly no longer a virgin.</span> ${He} <span class="devotion dec">hates</span> losing ${his} virginity in such an undignified manner and <span class="trust dec">fears</span> what will be taken from ${him} next.`);
+						eventSlave.trust -= 5;
+						eventSlave.devotion -= 5;
+						eventSlave.vagina++;
+					}
+					if (canGetPregnant(eventSlave) && eventSlave.eggType === "human") {
+						knockMeUp(eventSlave, 25, 0, -2);
+					}
+				}
+			} else if (canDoAnal(eventSlave)) {
+				seX(eventSlave, "anal", "public", "penetrative", 10);
+				if (eventSlave.anus === 0) {
+					r.push(`After the patrons have their way with ${him}, <span class="virginity loss">${he}'s certainly no longer an anal virgin.</span> ${He} <span class="devotion dec">hates</span> losing ${his} anal virginity in such an undignified manner and <span class="trust dec">fears</span> what will be taken from ${him} next.`);
+					eventSlave.trust -= 5;
+					eventSlave.devotion -= 5;
+					eventSlave.anus++;
+					if (canGetPregnant(eventSlave) && eventSlave.eggType === "human") {
+						knockMeUp(eventSlave, 50, 1, -2);
+					}
+				}
+			}
+			cashX(100, "event", eventSlave);
+			return r;
+		}
+
+		function arcade() {
+			let r = [];
+			r.push(`${eventSlave.slaveName} screams and begs when ${he} realizes what ${his} punishment is, but you are obdurate.`);
+			if (eventSlave.muscles > 30) {
+				r.push(`${His} powerful form has to be sedated for immurement in the arcade.`);
+			} else if (eventSlave.weight >= 190) {
+				r.push(`${He} is so massively fat that immuring ${him} in the arcade is a struggle, even when ${he} isn't trying to.`);
+			} else if (eventSlave.belly >= 120000) {
+				r.push(`${He} is so enormously gravid that immuring ${him} in the arcade is a hassle, even though ${his} ${belly} middle limits ${his} ability to struggle.`);
+			} else if (eventSlave.weight >= -10) {
+				r.push(`${His} desperate struggles make immuring ${him} in the arcade difficult.`);
+			} else if (eventSlave.belly >= 1500) {
+				r.push(`${His} `);
+				if (eventSlave.bellyPreg >= 3000) {
+					r.push(`pregnant`);
+				} else {
+					r.push(belly);
+				}
+				r.push(` body makes it slightly difficult to fit ${him} properly into the restraints for immurement in the arcade.`);
+			} else if (eventSlave.muscles < -15) {
+				r.push(`${His} weak body makes immuring ${him} in the arcade pathetically easy.`);
+			} else {
+				r.push(`${His} thin form makes immuring ${him} in the arcade pathetically easy.`);
+			}
+			r.push(`After ${he}'s properly confined, the only sign of ${his} discomfiture is a slight movement of ${his} ${eventSlave.skin} butt as ${he} wriggles desperately against ${his} restraints.`);
+			r.push(assignJob(eventSlave, "be confined in the arcade"));
+			eventSlave.sentence = 4;
+			return r;
+		}
+	}
+};
diff --git a/src/events/RESS/review/resistantGelding.js b/src/events/RESS/review/resistantGelding.js
new file mode 100644
index 0000000000000000000000000000000000000000..d682b7f71f966e59c4261ecce58fa5bf0f6f99a5
--- /dev/null
+++ b/src/events/RESS/review/resistantGelding.js
@@ -0,0 +1,126 @@
+App.Events.RESSResistantGelding = class RESSResistantGelding extends App.Events.BaseEvent {
+	eventPrerequisites() {
+		return []; // always valid if sufficient actors can be cast successfully
+	}
+
+	actorPrerequisites() {
+		return [
+			[ // single event slave
+				s => s.fetish !== "mindbroken",
+				hasAnyArms,
+				hasAnyLegs,
+				s => s.dick > 0,
+				s => s.balls === 0,
+				s => s.genes === "XY",
+				s => s.devotion <= 50,
+				s => s.trust < -50,
+				s => s.anus > 0,
+			]
+		];
+	}
+
+	execute(node) {
+		/** @type {Array<App.Entity.SlaveState>} */
+		let [eventSlave] = this.actors.map(a => getSlave(a));
+		const {
+			He, he, his, him
+		} = getPronouns(eventSlave);
+		const {title: Master} = getEnunciation(eventSlave);
+
+		V.nextLink = "Next Week";
+
+		App.Events.drawEventArt(node, eventSlave, "no clothing");
+
+		let r = [];
+		r.push(
+			`You come across`,
+			contextualIntro(V.PC, eventSlave, "DOM"),
+			`standing in the bathroom in front of the sink, with one leg up on the counter so ${he} can inspect ${his} genitalia.`
+		);
+		if (canSee(eventSlave)) {
+			r.push(`From the feeds, it's obvious ${he}'s grieved by what ${he} sees.`);
+		} else {
+			r.push(`From the feeds, it's obvious ${he}'s grieved by what ${he} feels.`);
+		}
+		r.push(`As you watch, ${he} sobs quietly, reaching towards where ${his} scrotum used to be with a trembling hand. Apparently, ${he}'s having trouble accepting ${his} status as a gelded slut.`);
+
+		App.Events.addParagraph(node, r);
+		App.Events.addResponses(node, [
+			new App.Events.Result(`Abuse ${his} ass`, abuse),
+			new App.Events.Result(`Reassure ${him} of ${his} sexual worth`, reassure),
+			new App.Events.Result(`Comfort ${him}`, comfort)
+		]);
+
+		function abuse() {
+			r = [];
+			r.push(`${He} turns around as`);
+			if (canHear(eventSlave)) {
+				r.push(`${he} hears`);
+			}
+			r.push(`you enter the bathroom, fear and loathing on ${his} face, but you seize ${his} shoulder and spin ${his} back around without a word. You drag ${him} across the counter until ${his} face is over the sink, and turn it on. ${He} struggles in sheer incomprehension as you hold ${his} head over the filling basin with one hand and roughly grope ${his} butt with the other. When the sink is full, you tell ${him} to spread ${his} buttocks for you like a good butthole bitch. ${He} hesitates, so you push ${his} face under the surface of the water and hold it there until ${he} complies. You shove`);
+			if (V.PC.dick === 0) {
+				r.push(`a dildo`);
+			} else {
+				r.push(`your member`);
+			}
+			r.push(`up ${his} anus so harshly that ${he} spasms and reflexively tries to get away, so you push ${him} under again until ${he} stops struggling. For the next ten minutes, ${he} gets shoved under water whenever ${he} offers the slightest resistance to anal rape. Soon, ${his} tears are pattering down into the sink. The next time you decide to buttfuck ${him}, ${he}'s <span class="trust dec">compliant from sheer terror.</span>`);
+			eventSlave.trust -= 5;
+			r.push(VCheck.Anal(eventSlave, 1));
+			return r;
+		}
+
+		function reassure() {
+			r = [];
+			r.push(`${He} turns around as`);
+			if (canHear(eventSlave)) {
+				r.push(`${he} hears`);
+			}
+			r.push(`you enter the bathroom, fear and loathing on ${his} face, but is surprised by`);
+			if (canSee(eventSlave)) {
+				r.push(`your gentle expression.`);
+			} else {
+				r.push(`by how calm your steps seem.`);
+			}
+			r.push(`${He}'s more shocked still when you give ${him} a reassuring hug and kiss ${his} unresisting mouth. ${He}'s so unable to figure out what's happening that ${he} eventually gives up and relaxes into you. You gently turn ${him} around to face the mirror again, and working from the top of ${his} head, describe ${his} body in minute detail, explaining how pretty and valuable a sex slave ${he} is. When you're about to reach ${his} butt,`);
+			if (canTalk(eventSlave)) {
+				r.push(`${he} uses gestures to beg you not to assrape ${him}.`);
+			} else {
+				if (eventSlave.lips > 70) {
+					r.push(`${he} begs meekly through ${his} massive dick-sucking lips,`);
+				} else if (eventSlave.lipsPiercing+eventSlave.tonguePiercing > 2) {
+					r.push(`${he} begs meekly through ${his} mouthful of piercings,`);
+				} else {
+					r.push(`${he} begs meekly,`);
+				}
+				r.push(Spoken(eventSlave, `"${Master}, please, please don't assrape me. I don't think I can take it."`));
+			}
+			r.push(`You patiently explain that taking`);
+			if (V.PC.dick === 0) {
+				r.push(`anything you feel like inserting into ${his} backdoor`);
+			} else {
+				r.push(`your cock`);
+			}
+			r.push(`is ${his} duty, and begin to massage ${his} sphincter open with a single gentle finger. ${He} doesn't enjoy the ensuing assfuck, but ${he} doesn't truly hate it either and <span class="devotion inc">begins to hope</span> that being your butt slave won't be so painful after all.`);
+			eventSlave.devotion += 4;
+			r.push(slaveSkillIncrease('anal', eventSlave, 10));
+			r.push(VCheck.Anal(eventSlave, 1));
+			return r;
+		}
+
+		function comfort() {
+			r = [];
+			r.push(`${He} turns around as`);
+			if (canHear(eventSlave)) {
+				r.push(`${he} hears`);
+			}
+			r.push(`you enter the bathroom, fear and loathing on ${his} face, but is surprised by`);
+			if (canSee(eventSlave)) {
+				r.push(`your gentle expression.`);
+			} else {
+				r.push(`by how calm your steps seem.`);
+			}
+			r.push(`${He}'s more shocked still when you give ${him} a reassuring hug and kiss ${his} unresisting mouth. ${He}'s so unable to figure out what's happening that ${he} eventually gives up and relaxes into you. You run your hands along ${his} body and kiss ${his} deeply for a long while before reassuring ${him} of ${his} value to you. ${He} looks confused, but goes about ${his} business with dry eyes. ${He} hates you a little less, but wonders whether ${he} can get away with retaining some independence.`);
+			return r;
+		}
+	}
+};
diff --git a/src/events/RESS/review/resistantShower.js b/src/events/RESS/review/resistantShower.js
new file mode 100644
index 0000000000000000000000000000000000000000..71e987ebe7f21684cee966b45ad83f7d02591eb2
--- /dev/null
+++ b/src/events/RESS/review/resistantShower.js
@@ -0,0 +1,192 @@
+App.Events.RESSResistantShower = class RESSResistantShower extends App.Events.BaseEvent {
+	eventPrerequisites() {
+		return []; // always valid if sufficient actors can be cast successfully
+	}
+
+	actorPrerequisites() {
+		return [
+			[ // single event slave
+				s => s.fetish !== "mindbroken",
+				hasAnyArms,
+				hasAnyLegs,
+				s => s.devotion <= 20,
+				s => s.devotion >= -50,
+			]
+		];
+	}
+
+	execute(node) {
+		/** @type {Array<App.Entity.SlaveState>} */
+		let [eventSlave] = this.actors.map(a => getSlave(a));
+		const {
+			He, he, his, him, himself
+		} = getPronouns(eventSlave);
+		const {title: Master} = getEnunciation(eventSlave);
+		const belly = bellyAdjective(eventSlave);
+
+		V.nextLink = "Next Week";
+
+		App.Events.drawEventArt(node, eventSlave, "no clothing");
+
+		App.Events.addParagraph(node, [
+			`Though ${V.assistant.name} constantly monitors all your slaves, you keep an eye on the video feeds yourself. There's nothing like the personal, human touch. You notice one night that`,
+			contextualIntro(V.PC, eventSlave, "DOM"),
+			`is crouched in the bottom of the shower. Sensing something amiss, you discreetly investigate, and find that ${he}'s crying quietly under the warm water.`
+		]);
+
+		App.Events.addResponses(node, [
+			new App.Events.Result(`Enter the shower and quietly comfort ${him}`, comfort),
+			new App.Events.Result(`Talk through ${his} problems with ${him}`, talk),
+			(canDoAnal(eventSlave) || canDoVaginal(eventSlave))
+				? new App.Events.Result(`Use ${him} when ${he} gets out`, out, ((eventSlave.anus === 0 && canDoAnal(eventSlave)) || (eventSlave.vagina === 0 && canDoVaginal(eventSlave))) ? `This option will take ${his} virginity` : null)
+				: new App.Events.Result(),
+		]);
+
+		function comfort() {
+			let r = [];
+			r.push(`${He} starts with surprise`);
+			if (canSee(eventSlave)) {
+				r.push(`as you enter the shower,`);
+			} else if (canHear(eventSlave)) {
+				r.push(`as ${he} hears you enter the shower,`);
+			} else {
+				r.push(`as ${he} feels the water being disturbed by your body,`);
+			}
+			r.push(`and then`);
+			if (canSee(eventSlave)) {
+				r.push(`looks at`);
+			} else {
+				r.push(`turns to`);
+			}
+			r.push(`you in shock as you sit down beside ${him}, ignoring the water soaking your clothes. ${He} does not resist when you draw ${him} gently into your lap. ${He}'s stiff and uncomfortable as you hold ${him} gently, but ${he} eventually relaxes and allows ${his} head to rest`);
+			if (V.PC.boobs >= 300) {
+				r.push(`between your breasts.`);
+			} else {
+				r.push(`against your shoulder.`);
+			}
+			r.push(`${He}'s utterly conflicted; the hateful person who ${he} is expected to fuck is tenderly comforting ${him}. ${He} finally seems to accept the animal comfort, whatever its source, and begins to <span class="trust inc">trust</span> you to do more than just use ${him}.`);
+			eventSlave.trust += 4;
+			return r;
+		}
+
+		function talk() {
+			const frag = document.createDocumentFragment();
+			let r = [];
+			r.push(`You enter the bathroom and quietly wait until ${he}'s done. When the water shuts off, ${he} stands up absently and spins so the shower's air dry function can blow the water off ${him}. You can't help but notice`);
+			if (eventSlave.weight > 30) {
+				r.push(`a lot of motion across ${his}`);
+				if (eventSlave.weight > 190) {
+					r.push(`expansive`);
+				} else if (eventSlave.weight > 130) {
+					r.push(`fat`);
+				} else if (eventSlave.weight > 95) {
+					r.push(`thick`);
+				} else {
+					r.push(`chubby`);
+				}
+				r.push(`body when the air jets play across ${him}.`);
+			} else if (eventSlave.belly >= 5000) {
+				r.push(`how firm ${his} ${belly} belly is.`);
+			} else if (eventSlave.dick > 1) {
+				r.push(`${his} soft cock flop around as one of the air jets strikes it.`);
+			} else if (eventSlave.boobs > 800) {
+				if ((eventSlave.boobsImplant/eventSlave.boobs) >= .60) {
+					r.push(`how ${his} fake tits refuse to jiggle under the air jets.`);
+				} else {
+					r.push(`how the air jets produce a lot of delectable jiggling when they strike ${his} boobs.`);
+				}
+			} else if (eventSlave.butt > 4) {
+				r.push(`how ${he} has to spread ${his} big buttcheeks to let an air jet dry between them.`);
+			} else if (eventSlave.labia > 0) {
+				r.push(`how one of the air jets creates some motion in ${his} generous labia.`);
+			} else if (eventSlave.muscles > 5) {
+				r.push(`how the air jets make ${his} taut abs look even more impressive.`);
+			} else {
+				r.push(`${his} nipples`);
+				if (eventSlave.nipples !== "fuckable") {
+					r.push(`stiffen`);
+				} else {
+					r.push(`engorge`);
+				}
+				r.push(`under the air jets.`);
+			}
+			r.push(`As ${he} rotates,`);
+			if (canSee(eventSlave)) {
+				r.push(`${he} notices you with a start and looks concerned, but you do your best to look reassuring and beckon`);
+			} else {
+				r.push(`you gently call ${his} name. ${He} jumps at the sound of your voice and looks concerned, but you do your best to calm ${him} and gingerly coax`);
+			}
+			r.push(`${him} out of the shower.`);
+			App.Events.addParagraph(frag, r);
+
+			r = [];
+			r.push(`You ask ${him} what's troubling ${him}, and the look of concern returns. Suspecting that ${he}'s afraid of telling the truth, you gently encourage ${him} to be honest, and assure ${him} that you're simply taking an interest in ${his} well-being. ${He} still hesitates, but eventually sniffles a little and`);
+			if (!canTalk(eventSlave)) {
+				r.push(`reluctantly gestures,`);
+			} else if (SlaveStatsChecker.checkForLisp(eventSlave)) {
+				r.push(`lisps,`);
+			} else {
+				r.push(`admits,`);
+			}
+			if (eventSlave.sexualFlaw === "hates oral" && eventSlave.counter.oral > 0) {
+				r.push(Spoken(eventSlave, `"It's nothing special, ${Master}. I just h-hate getting facefucked."`));
+			} else if (eventSlave.sexualFlaw === "hates anal" && eventSlave.counter.anal > 0) {
+				r.push(Spoken(eventSlave, `"It's nothing special, ${Master}. I just h-hate getting assraped."`));
+			} else if (eventSlave.sexualFlaw === "hates penetration" && eventSlave.counter.vaginal > 0) {
+				r.push(Spoken(eventSlave, `"It's nothing special, ${Master}. I just h-hate getting fucked."`));
+			} else if (eventSlave.behavioralFlaw === "hates women") {
+				r.push(Spoken(eventSlave, `"Sorry, ${Master}. I just h-hate girls. They're gross."`));
+			} else if (eventSlave.behavioralFlaw === "hates men") {
+				r.push(Spoken(eventSlave, `"Sorry, ${Master}. I just h-hate cocks. I don't want to see another one, ever again."`));
+			} else if ((eventSlave.sexualFlaw === "idealistic") && (eventSlave.counter.oral + eventSlave.counter.anal + eventSlave.counter.vaginal + eventSlave.counter.mammary > 0)) {
+				r.push(Spoken(eventSlave, `"I feel like I'm going crazy, ${Master}. No one here seems to know that rape is wrong. Th-they just r-rape me."`));
+			} else if ((eventSlave.sexualFlaw === "shamefast")) {
+				r.push(Spoken(eventSlave, `"I want to cover myself so badly, ${Master}. I'm so embarrassed all the time. I'm so tired of being embarrassed."`));
+			} else if ((eventSlave.sexualFlaw === "repressed") && (eventSlave.counter.oral + eventSlave.counter.anal + eventSlave.counter.vaginal + eventSlave.counter.mammary > 0)) {
+				r.push(Spoken(eventSlave, `"I'm filthy, ${Master}. I've been used, and I can't ever be clean again. I'm a d-dirty, sinful whore."`));
+			} else {
+				r.push(Spoken(eventSlave, `"Sorry, ${Master}. I was just r-remembering, b-before — all this."`));
+			}
+			r.push(`You tell ${him} kindly that you understand, and that ${he}'ll be trained to address this. Then, you turn and go. ${He}'s mystified; though ${he}'s not overjoyed by the promise of correction, ${he} finds ${himself} <span class="devotion inc">less resistant</span> to following your plans.`);
+			eventSlave.devotion += 4;
+			App.Events.addParagraph(frag, r);
+			return frag;
+		}
+
+		function out() {
+			let r = [];
+			r.push(`Eventually ${he} finishes and switches the shower to dry. The airflow dries ${him} and ${he} steps out, but as ${he} does, ${he}'s seized and flung over the countertop with a slap as ${his} naked, ${eventSlave.skin}`);
+			if (eventSlave.belly >= 5000) {
+				r.push(belly);
+				if (eventSlave.bellyPreg >= 3000) {
+					r.push(`pregnant`);
+				}
+				r.push(`belly`);
+			} else {
+				r.push(`skin`);
+			}
+			r.push(`hits the surface.`);
+			const yourself = V.PC.dick === 0 ? `your vibrating strap-on` : `yourself`;
+			if (eventSlave.vagina > -1 && !canDoVaginal(eventSlave)) {
+				r.push(`With ${his} chastity belt protecting ${his} pussy, you ram ${yourself} up ${his} ass instead, drawing a pained sob.`);
+			} else if (eventSlave.vagina === -1) {
+				r.push(`You ram ${yourself} up ${his} ass, drawing a pained sob.`);
+			} else if (!canDoAnal(eventSlave)) {
+				r.push(`You ram mercilessly into ${his} cunt, forcing a few gasps out of ${him} before it sinks in that this is happening.`);
+			} else {
+				r.push(`You take ${his} silly cunt just long enough to force a few gasps out of ${him} before you pull out and ram ${yourself} up ${his} ass, drawing a pained sob.`);
+			}
+			r.push(`As ${he} takes the pounding sullenly,`);
+			if (canSee(eventSlave)) {
+				r.push(`${he} has a direct view of ${his} own eyes in the mirror, and clearly <span class="trust dec">is disturbed by what ${he} sees.</span>`);
+			} else if (canHear(eventSlave)) {
+				r.push(`${he} can hear nothing but the sound of ${his} brutal rape, and clearly <span class="trust dec">is disturbed by what ${he} hears.</span>`);
+			} else {
+				r.push(`${his} blindness and deafness mean that one of the few things ${he} can feel is ${his} own rape, which <span class="trust dec">disturbs ${him} to no end.</span>`);
+			}
+			eventSlave.trust -= 5;
+			r.push(VCheck.Both(eventSlave, 1));
+			return r;
+		}
+	}
+};
diff --git a/src/events/RESS/review/sleepingAmbivalent.js b/src/events/RESS/review/sleepingAmbivalent.js
new file mode 100644
index 0000000000000000000000000000000000000000..b1a81c27f41cdc0e577b24633e87adcd63193f34
--- /dev/null
+++ b/src/events/RESS/review/sleepingAmbivalent.js
@@ -0,0 +1,390 @@
+App.Events.RESSSleepingAmbivalent = class RESSSleepingAmbivalent extends App.Events.BaseEvent {
+	eventPrerequisites() {
+		return []; // always valid if sufficient actors can be cast successfully
+	}
+
+	actorPrerequisites() {
+		return [
+			[ // single event slave
+				s => s.fetish !== "mindbroken",
+				hasAnyArms,
+				hasAnyLegs,
+				canTalk,
+				s => s.devotion <= 20,
+				s => s.devotion > -10,
+				s => s.assignment !== Job.QUARTER,
+				s => s.rules.living === "spare",
+			]
+		];
+	}
+
+	execute(node) {
+		/** @type {Array<App.Entity.SlaveState>} */
+		let [eventSlave] = this.actors.map(a => getSlave(a));
+		const {
+			His, He, he, his, him, girl
+		} = getPronouns(eventSlave);
+		const {womanP} = getPronouns(V.PC).appendSuffix("P");
+		const {title: Master} = getEnunciation(eventSlave);
+		const belly = bellyAdjective(eventSlave);
+
+		V.nextLink = "Next Week";
+
+		App.Events.drawEventArt(node, eventSlave, "no clothing");
+
+		App.Events.addParagraph(node, [
+			`Passing through the slave dormitory at night, you run your eyes down the row of sleeping chattel. The light here is low, but it's not dark. Slaves need to be able to find the bathroom, slaves on late assignments need to find their beds, and those permitted to do so need to be able to select slaves for sex.`,
+			contextualIntro(V.PC, eventSlave, "DOM"),
+			`catches your eye. The dormitory is kept at a pleasant temperature so that the slaves, who of course sleep nude, are comfortable on their bedrolls covered by a single sheet, or nothing at all. ${He} probably went to sleep with ${his} sheet pulled up to ${his} chin, which is normal behavior for slaves who aren't yet accepting of their status as compulsory sex objects, but ${he}'s shrugged it down. Half ${his} torso is bare.`
+		]);
+		let r = [];
+		r.push(`The dim blue light plays across ${his} ${eventSlave.skin} skin.`);
+		if (eventSlave.boobs > 2000) {
+			r.push(`${His} massive boob on that side is slightly shifted by each breath.`);
+		} else if (eventSlave.boobs > 800) {
+			r.push(`${His} breast on that side rises and falls with each breath.`);
+		} else {
+			r.push(`That side of ${his} chest rises and falls with each breath.`);
+		}
+		if (eventSlave.belly >= 5000) {
+			r.push(`${His} ${belly}`);
+			if (eventSlave.bellyPreg >= 3000) {
+				r.push(`pregnant`);
+			}
+			r.push(`belly is only partially covered by the sheet, leaving most of it visible.`);
+		}
+		r.push(`${He}'s sleeping soundly, ${his} breaths coming deep and slow. Most slaves where ${he} is mentally are troubled by bad dreams, but the poor ${girl} is evidently too tired for that.`);
+
+		App.Events.addParagraph(node, r);
+		App.Events.addResponses(node, [
+			new App.Events.Result(`Grope ${his} boob`, grope),
+			(eventSlave.belly >= 5000 || eventSlave.weight > 30)
+				? new App.Events.Result(`Rub ${his} belly`, rub)
+				: new App.Events.Result(),
+			(V.PC.dick !== 0)
+				? new App.Events.Result(`Cum on ${his} face`, cum)
+				: new App.Events.Result(`Squirt on ${his} face`, squirt),
+			new App.Events.Result(`Just watch ${him} for a little while`, watch),
+		]);
+
+		function grope() {
+			r = [];
+			r.push(`${His} eyes fly open as ${he} feels someone groping ${him}.`);
+			if ((eventSlave.boobsImplant/eventSlave.boobs) >= .60) {
+				r.push(`You're mauling ${his} fake boob, squeezing it and making the skin of ${his} breast, which is already stretched rather taut by the implant, stretch a bit farther.`);
+			} else if (eventSlave.boobs > 3000) {
+				r.push(`You're hefting and massaging ${his} mass of breastflesh, playing with ${his}`);
+				if ((eventSlave.boobsImplant/eventSlave.boobs) < .60) {
+					r.push(`mostly`);
+				}
+				r.push(`natural boob, making ${his} huge soft udder bounce and jiggle.`);
+			} else if (eventSlave.lactation > 0) {
+				r.push(`You're kneading and massaging ${his} udder, and the milk begins to`);
+				if (eventSlave.nipples !== "fuckable") {
+					r.push(`bead at`);
+				} else {
+					r.push(`leak from`);
+				}
+				r.push(`the cow's nipple.`);
+			} else if (eventSlave.boobs > 300) {
+				r.push(`You've got ${his} whole tit in your hands, jiggling and squeezing the entire thing.`);
+			} else {
+				r.push(`You're massaging and squeezing ${his} flat chest.`);
+			}
+			r.push(`${His} face contorts with surprise and then outrage, but then ${he}`);
+			if (!canSee(eventSlave)) {
+				r.push(`recognizes your familiar`);
+				if (canSmell(eventSlave)) {
+					r.push(`smell`);
+				} else {
+					r.push(`touch`);
+				}
+				r.push(`and`);
+			}
+			r.push(`realizes whose hand it is that's taking liberties with ${him}.`);
+			if (eventSlave.intelligence+eventSlave.intelligenceImplant > 50) {
+				r.push(`Though ${he}'s smart,`);
+			} else if (eventSlave.intelligence+eventSlave.intelligenceImplant >= -15) {
+				r.push(`Though ${he}'s not dumb,`);
+			} else {
+				r.push(`${He}'s an idiot, and`);
+			}
+			r.push(`in ${his} drowsy state ${he} can't figure out what to do. ${He} settles for <span class="devotion inc">freezing submissively</span> and letting you do what you like. You test ${his} compliance by`);
+			switch (eventSlave.nipples) {
+				case "inverted":
+					r.push(`painfully protruding ${his} fully inverted nipple. ${He} puts up with even that, though ${he} cries a little as it pops out.`);
+					break;
+				case "partially inverted":
+					r.push(`painfully protruding ${his} partially inverted nipple. ${He} puts up with that, too, though ${he} winces as it pops out.`);
+					break;
+				case "huge":
+					r.push(`rolling ${his} huge nipple between a thumb and forefinger, hard enough to hurt. ${He} accepts the mammary abuse.`);
+					break;
+				case "fuckable":
+					r.push(`forcing your entire fist into ${his} nipple. ${He} accepts the stimulation as best ${he} can.`);
+					break;
+				default:
+					r.push(`playing with ${his} nipple, pinching it hard enough to hurt. ${He} accepts the mammary abuse.`);
+			}
+			r.push(`Satisfied, you leave ${him} to get back to sleep as best ${he} can.`);
+			eventSlave.devotion += 4;
+			if (eventSlave.lactation > 0) {
+				eventSlave.lactationDuration = 2;
+				eventSlave.boobs -= eventSlave.boobsMilk;
+				eventSlave.boobsMilk = 0;
+			}
+			return r;
+		}
+
+		function rub() {
+			r = [];
+			if (eventSlave.bellyPreg >= 5000) {
+				r.push(`${His} eyes fly open as soon as ${he} feels someone touching ${his} ${belly}, life-rounded, stomach.`);
+				if (eventSlave.weight > 10) {
+					r.push(`You're massaging and teasing ${his} huge, soft belly.`);
+				} else if (eventSlave.muscles > 5) {
+					r.push(`You're massaging and teasing ${his} taut belly and ruined abs.`);
+				} else {
+					r.push(`You're massaging and teasing ${his} taut belly.`);
+				}
+				r.push(`${His} face contorts with surprise and then outrage, but then ${he}`);
+				if (!canSee(eventSlave)) {
+					r.push(`recognizes your familiar`);
+					if (canSmell(eventSlave)) {
+						r.push(`smell`);
+					} else {
+						r.push(`touch`);
+					}
+					r.push(`and`);
+				}
+				r.push(`realizes whose hand it is that's taking liberties with ${him}.`);
+				if (eventSlave.intelligence+eventSlave.intelligenceImplant > 50) {
+					r.push(`Though ${he}'s smart,`);
+				} else if (eventSlave.intelligence+eventSlave.intelligenceImplant >= -15) {
+					r.push(`Though ${he}'s not dumb,`);
+				} else {
+					r.push(`${He}'s an idiot, and`);
+				}
+				r.push(`in ${his} drowsy state ${he} can't figure out what to do. ${He} settles for <span class="devotion inc">freezing submissively</span> and letting you do what you like. You test ${his} compliance by`);
+				if (eventSlave.weight > 10) {
+					r.push(`sinking your hands into ${his} fat to get a good feel of the life growing within.`);
+				} else {
+					r.push(`feeling for the life growing within ${him}.`);
+				}
+				if (eventSlave.weight > 30) {
+					r.push(`Though it takes some groping before you are met with a kick from ${his} unborn child.`);
+				} else if (eventSlave.pregType < 3) {
+					r.push(`It doesn't take long before you are met with a kick from ${his} unborn child.`);
+				} else {
+					r.push(`${He} is so full of children that your ministrations are met with a hail of motion.`);
+				}
+				if (eventSlave.pregSource === -1) {
+					r.push(`Smiling at how active your children are,`);
+				} else {
+					r.push(`Satisfied,`);
+				}
+			} else if (eventSlave.bellyImplant >= 5000) {
+				r.push(`${His} eyes fly open as soon as ${he} feels someone touching ${his} ${belly} stomach.`);
+				if (eventSlave.weight > 10) {
+					r.push(`You're massaging and teasing ${his} huge, soft belly.`);
+				} else if (eventSlave.muscles > 5) {
+					r.push(`You're massaging and teasing ${his} taut belly and ruined abs.`);
+				} else {
+					r.push(`You're massaging and teasing ${his} taut belly.`);
+				}
+				r.push(`${His} face contorts with surprise and then outrage, but then ${he}`);
+				if (!canSee(eventSlave)) {
+					r.push(`recognizes your familiar`);
+					if (canSmell(eventSlave)) {
+						r.push(`smell`);
+					} else {
+						r.push(`touch`);
+					}
+					r.push(`and`);
+				}
+				r.push(`realizes whose hand it is that's taking liberties with ${him}.`);
+				if (eventSlave.intelligence+eventSlave.intelligenceImplant > 50) {
+					r.push(`Though ${he}'s smart,`);
+				} else if (eventSlave.intelligence+eventSlave.intelligenceImplant >= -15) {
+					r.push(`Though ${he}'s not dumb,`);
+				} else {
+					r.push(`${He}'s an idiot, and`);
+				}
+				r.push(`in ${his} drowsy state ${he} can't figure out what to do. ${He} settles for <span class="devotion inc">freezing submissively</span> and letting you do what you like. You test ${his} compliance by`);
+				if (eventSlave.weight > 10) {
+					r.push(`sinking your hands into ${his} fat to get a good feel of the implant hidden within.`);
+				} else {
+					r.push(`feeling up the implant within ${him}.`);
+				}
+				if (eventSlave.weight > 30) {
+					r.push(`Though it takes some groping before you locate the firm sphere.`);
+				} else if (eventSlave.belly < 10000) {
+					r.push(`It doesn't take long for you to have a solid grip on the firm sphere.`);
+				} else {
+					r.push(`It's so huge it's hard to miss, but that just gives you more room to poke and prod at.`);
+				}
+				r.push(`Satisfied,`);
+			} else if (eventSlave.bellyFluid >= 5000) {
+				r.push(`${His} eyes fly open as soon as ${he} feels someone touching ${his} ${belly}, ${eventSlave.inflationType}-filled stomach.`);
+				if (eventSlave.weight > 10) {
+					r.push(`You're massaging and jiggling ${his} huge, soft belly, enjoying the sounds it makes as you move it.`);
+				} else if (eventSlave.muscles > 5) {
+					r.push(`You're massaging and jiggling ${his} taut belly and stretched abs, enjoying the sounds it makes as you move it.`);
+				} else {
+					r.push(`You're massaging and jiggling ${his} taut belly, enjoying the sounds it makes as you move it.`);
+				}
+				r.push(`${His} face contorts with surprise and then outrage, but then ${he}`);
+				if (!canSee(eventSlave)) {
+					r.push(`recognizes your familiar`);
+					if (canSmell(eventSlave)) {
+						r.push(`smell`);
+					} else {
+						r.push(`touch`);
+					}
+					r.push(`and`);
+				}
+				r.push(`realizes whose hand it is that's taking liberties with ${him}.`);
+				if (eventSlave.intelligence+eventSlave.intelligenceImplant > 50) {
+					r.push(`Though ${he}'s smart,`);
+				} else if (eventSlave.intelligence+eventSlave.intelligenceImplant >= -15) {
+					r.push(`Though ${he}'s not dumb,`);
+				} else {
+					r.push(`${He}'s an idiot, and`);
+				}
+				r.push(`in ${his} drowsy state ${he} can't figure out what to do. ${He} settles for <span class="devotion inc">freezing submissively</span> and letting you do what you like. You test ${his} compliance by`);
+				if (eventSlave.weight > 10) {
+					r.push(`sinking your hands into ${his} fat to get a good grip`);
+				} else {
+					r.push(`wrapping your hands around the sloshing globe`);
+				}
+				r.push(`and vigorously shaking. As ${his} gut's groaning from the sudden shift of its contents dies down, you gently apply pressure to the bloated organ, careful to only cause ${his} discomfort and not to disgorge ${his} contents. Satisfied,`);
+			} else {
+				r.push(`${His} eyes fly open as soon as ${he} feels someone touching ${his}`);
+				if (eventSlave.weight > 190) {
+					r.push(`expansive belly. You're massaging and jiggling ${his} obscene gut while teasing ${his} many folds and struggling to find ${his} belly button.`);
+				} else if (eventSlave.weight > 160) {
+					r.push(`massive, soft belly. You're massaging and jiggling ${his} obscene gut while teasing ${his} many folds and hidden belly button.`);
+				} else if (eventSlave.weight > 130) {
+					r.push(`huge, soft belly. You're massaging and jiggling ${his} thick gut while teasing ${his} folds and hidden belly button.`);
+				} else if (eventSlave.weight > 95) {
+					r.push(`big soft belly. You're massaging and jiggling ${his} gut while teasing ${his} folds and hidden belly button.`);
+				} else {
+					r.push(`chubby middle. You're massaging and jiggling ${his} tiny gut.`);
+				}
+				r.push(`${His} face contorts with surprise and then outrage, but then ${he}`);
+				if (!canSee(eventSlave)) {
+					r.push(`recognizes your familiar`);
+					if (canSmell(eventSlave)) {
+						r.push(`smell`);
+					} else {
+						r.push(`touch`);
+					}
+					r.push(`and`);
+				}
+				r.push(`realizes whose hand it is that's taking liberties with ${him}.`);
+				if (eventSlave.intelligence+eventSlave.intelligenceImplant > 50) {
+					r.push(`Though ${he}'s smart,`);
+				} else if (eventSlave.intelligence+eventSlave.intelligenceImplant >= -15) {
+					r.push(`Though ${he}'s not dumb,`);
+				} else {
+					r.push(`${He}'s an idiot, and`);
+				}
+				r.push(`in ${his} drowsy state ${he} can't figure out what to do. ${He} settles for <span class="devotion inc">freezing submissively</span> and letting you do what you like. You test ${his} compliance by roughly kneading ${his} pliant flesh, testing how well it can be molded into pleasurable valleys and ravines. Satisfied,`);
+			}
+			r.push(`you leave ${him} to get back to sleep as best ${he} can.`);
+			eventSlave.devotion += 4;
+			return r;
+		}
+
+		function cum() {
+			r = [];
+			r.push(`You stand over ${him}, quietly masturbating while watching ${him} sleep. Several of ${his} fellow slaves come and go as you do so, but if they're surprised by the sight, they have the presence of mind not to show it. You fancy yourself a bit of a marks ${womanP}, and you don't feel the need to bend over ${him} to score good hits. Your load comes in three main jets: the first hits ${him} on the nipple, the second tracks up ${his} sternum and throat, and the third splashes full across ${his} face as ${his} eyes fly open`);
+			if (V.PC.vagina !== -1) {
+				r.push(r.pop() + `, each of these accompanied by some less directionally perfect girlcum`);
+			}
+			r.push(r.pop() + `. ${He} sputters with surprise and then outrage, but`);
+			if (!canSee(eventSlave)) {
+				r.push(`once ${he} recognizes your`);
+				if (canTaste(eventSlave)) {
+					r.push(`taste`);
+				} else {
+					r.push(`presence`);
+				}
+				r.push(`and`);
+			} else {
+				r.push(`then ${he}`);
+			}
+			r.push(`realizes who it is standing over ${him}`);
+			if (canSee(eventSlave)) {
+				r.push(`and`);
+			} else {
+				r.push(`does ${he}`);
+			}
+			r.push(`<span class="trust dec">freezes in terror.</span>`);
+			if (eventSlave.intelligence+eventSlave.intelligenceImplant > 50) {
+				r.push(`${He}'s quick, and ${he} immediately realizes`);
+			} else if (eventSlave.intelligence+eventSlave.intelligenceImplant >= -15) {
+				r.push(`${He}'s not dumb, and ${he} quickly realizes`);
+			} else {
+				r.push(`${He} gradually manages to calculate`);
+			}
+			r.push(`that doing anything other than thanking you would be phenomenally stupid. "Thank you, ${Master}," ${he}`);
+			if (SlaveStatsChecker.checkForLisp(eventSlave)) {
+				r.push(`lisps`);
+			} else {
+				r.push(`mumbles`);
+			}
+			r.push(`blearily. You leave ${him} to <span class="devotion inc">puzzle over ${his} own submissiveness,</span> covered in your cum.`);
+			eventSlave.devotion += 4;
+			eventSlave.trust -= 2;
+			return r;
+		}
+
+		function squirt() {
+			r = [];
+			r.push(`You stand over ${him}, quietly masturbating while watching ${him} sleep. Several of ${his} fellow slaves come and go as you do so, but if they're surprised by the sight, they have the presence of mind not to show it. You're on excellent terms with your cunt, and you know just what it takes to make yourself squirt. When you feel the heat building just right, you quickly straddle ${his} face without touching ${him}, angling yourself carefully and increasing the pace of your schlicking. In no time at all, a jet of femcum splashes onto ${his} face and down across ${his} chest. ${He} sputters with surprise and then outrage, but then ${he}`);
+			if (canSee(eventSlave)) {
+				r.push(`realizes whose pussy ${he}'s staring straight into`);
+			} else {
+				r.push(`recognizes your`);
+				if (canTaste(eventSlave)) {
+					r.push(`flavor`);
+				} else {
+					r.push(`presence`);
+				}
+			}
+			r.push(`and <span class="trust dec">freezes in terror.</span>`);
+			if (eventSlave.intelligence+eventSlave.intelligenceImplant > 50) {
+				r.push(`${He}'s quick, and ${he} immediately realizes`);
+			} else if (eventSlave.intelligence+eventSlave.intelligenceImplant >= -15) {
+				r.push(`${He}'s not dumb, and ${he} quickly realizes`);
+			} else {
+				r.push(`${He} gradually manages to calculate`);
+			}
+			r.push(`that doing anything other than thanking you would be phenomenally stupid. "Thank you, ${Master}," ${he}`);
+			if (SlaveStatsChecker.checkForLisp(eventSlave)) {
+				r.push(`lisps`);
+			} else {
+				r.push(`mumbles`);
+			}
+			r.push(`blearily. You leave ${him} to <span class="devotion inc">puzzle over ${his} own submissiveness,</span> covered in your pussyjuice.`);
+			eventSlave.devotion += 4;
+			eventSlave.trust -= 2;
+			return r;
+		}
+
+		function watch() {
+			const frag = document.createDocumentFragment();
+			r = [];
+			r.push(`You stand there for a while, watching the exhausted slave sleep. It's an oddly restful sight, and the aesthetics of ${his} slumbering little movements hold your attention for a time.`);
+			if (eventSlave.preg > eventSlave.pregData.normalBirth/2) {
+				r.push(`You watch the subtle movements going on within ${his} womb as well.`);
+			}
+			r.push(`After a while, you head to your own bed. Several of ${his} fellow slaves came and went as you watched ${him}, but if they're surprised by the sight, they have the presence of mind not to show it.`);
+			App.Events.addParagraph(frag, r);
+			App.Events.addParagraph(frag, [`One of them quietly lets ${him} know about the incident the next day, though, and the overall impact on ${his} mental state is surprisingly positive. In a more normal human setting, the news that someone watched ${him} sleep last night without ${his} consent or even knowledge at the time would disturb ${him} greatly. However, it's not uncommon for slaves in the dormitory to wake up to the sounds of the occupant of the bedroll next to theirs getting fucked, and without any consent, either. Perhaps you're odd, ${he}'s obviously thinking, but <span class="mediumaquamarine">perhaps you won't rape ${him} while ${he} sleeps.</span>`]);
+			eventSlave.trust += 4;
+			return frag;
+		}
+	}
+};
diff --git a/src/events/RESS/review/soreAss.js b/src/events/RESS/review/soreAss.js
new file mode 100644
index 0000000000000000000000000000000000000000..471ef7f471a691384e7193fbddef147acf9d7cfe
--- /dev/null
+++ b/src/events/RESS/review/soreAss.js
@@ -0,0 +1,118 @@
+App.Events.RESSSoreAss = class RESSSoreAss extends App.Events.BaseEvent {
+	eventPrerequisites() {
+		return []; // always valid if sufficient actors can be cast successfully
+	}
+
+	actorPrerequisites() {
+		return [
+			[ // single event slave
+				s => s.fetish !== "mindbroken",
+				s => s.devotion <= 50,
+				s => s.minorInjury === "sore ass",
+			]
+		];
+	}
+
+	execute(node) {
+		/** @type {Array<App.Entity.SlaveState>} */
+		let [eventSlave] = this.actors.map(a => getSlave(a));
+		const {
+			His, He, he, his, him, himself
+		} = getPronouns(eventSlave);
+		const {title: Master} = getEnunciation(eventSlave);
+		const belly = bellyAdjective(eventSlave);
+
+		V.nextLink = "Next Week";
+
+		App.Events.drawEventArt(node, eventSlave, "no clothing");
+
+		let r = [];
+		r.push(
+			`One night, you see`,
+			contextualIntro(V.PC, eventSlave, "DOM")
+		);
+
+		if (!hasAnyLegs(eventSlave)) {
+			r.push(`scooting ${himself} from side to side uncomfortably,`);
+		} else if ((eventSlave.heels === 1 && shoeHeelCategory(eventSlave) === 0)) {
+			r.push(`crawling gingerly,`);
+		} else if ((shoeHeelCategory(eventSlave) > 1)) {
+			r.push(`tottering along painfully,`);
+		} else {
+			r.push(`walking a little funny,`);
+		}
+		r.push(`as though ${he} has a sore butt. You call ${him} over to inspect ${his} backdoor to see if ${he} needs care,`);
+		if (!hasAnyLegs(eventSlave)) {
+			r.push(`and set ${his} helpless body down, spreading ${his} buttocks to examine ${his} anus.`);
+		} else {
+			r.push(`and order ${him} to spread ${his} buttocks for you so you can examine ${his} anus.`);
+		}
+		r.push(`${His} asshole is fine, just a little sore from hard buttfucks. ${He} complies with you, but as you probe ${him} gently with a finger,`);
+		if (!canTalk(eventSlave) && (!hasAnyArms(eventSlave))) {
+			r.push(`${he} wriggles desperately and turns to mouth "it hurts ${getWrittenTitle(eventSlave)} please don't assrape me" at you.`);
+		} else if (!canTalk(eventSlave)) {
+			r.push(`${he} gestures desperately, telling you ${his} butt hurts and asking you not to assfuck ${him}.`);
+		} else {
+			r.push(
+				`${he} bursts out,`,
+				Spoken(eventSlave, `"${Master}, my butt is so sore! Please don't use my ass, ${Master}. Please."`)
+			);
+		}
+
+		App.Events.addParagraph(node, r);
+		App.Events.addResponses(node, [
+			new App.Events.Result(`Punish ${his} ass for insolence`, punish),
+			new App.Events.Result(`Give ${him} some care`, care),
+		]);
+
+		function punish() {
+			r = [];
+			r.push(`You inform ${him} sternly that you will ensure that ${he} is not permanently damaged, and that otherwise, ${he} is to take anal pain like a good buttslave. ${He} starts to beg and whine as you lean back in your chair and`);
+			if (V.PC.dick === 0) {
+				r.push(`hold ${him} upside down on your chest so ${he} can lick your pussy while you use a dildo on ${his} ass.`);
+			} else {
+				r.push(`set ${him} on your chest before reaching around to line your cock up with ${his} sore hole. ${He} shudders and writhes when you start pushing yourself inside.`);
+			}
+			r.push(`You use hard pinches to ${his} nipples to punish ${his} whining, forcing ${him} to take a long, painful buttfuck in silence. <span class="gold">${He} has become more afraid of you.</span>`);
+			if (eventSlave.anus < 3) {
+				r.push(`${His} week of tough anal experience has <span class="lime">permanently loosened ${his} anus.</span>`);
+				eventSlave.anus += 1;
+			}
+			eventSlave.trust -= 5;
+			r.push(VCheck.Anal(eventSlave, 1));
+			return r;
+		}
+
+		function care() {
+			r = [];
+			r.push(`${He}'s filled with anxiety as you`);
+			if (eventSlave.belly < 1500) {
+				r.push(`lay ${him} face-down on your desk,`);
+			} else {
+				r.push(`direct ${him} to lay on ${his} side on your desk`);
+				if (eventSlave.belly >= 300000) {
+					r.push(`with ${his} ${belly} belly hanging over the edge`);
+				}
+				r.push(r.pop() + `,`);
+			}
+			r.push(`but is surprised and reassured when ${he}'s penetrated not by a`);
+			if (V.PC.dick === 0) {
+				r.push(`strap-on`);
+			} else {
+				r.push(`turgid`);
+				if (V.PC.vagina !== -1) {
+					r.push(`futa`);
+				}
+				r.push(`cock`);
+			}
+			r.push(`but by a single gentle finger coated with something healing and cool. The mixed analgesic and anti-inflammatory takes the sharpness off the sore feeling, and will help get ${his} butt back into fucking shape. <span class="trust inc">${He} has become more accepting of anal slavery,</span> and <span class="health inc">${his} asshole feels better.</span>`);
+			if (eventSlave.anus > 2) {
+				r.push(`Your expert care has <span class="orange">allowed ${his} loose asspussy to recover a little of its natural shape and size.</span>`);
+				eventSlave.anus -= 1;
+			}
+			eventSlave.trust += 4;
+			eventSlave.minorInjury = 0;
+			return r;
+		}
+	}
+};
diff --git a/src/events/randomEvent.js b/src/events/randomEvent.js
index c9055aed322d7c485d3d5c0b2758c6d039a51e3c..5518bfc4952ec58a8d1b247ead4dcafff01bde85 100644
--- a/src/events/randomEvent.js
+++ b/src/events/randomEvent.js
@@ -17,6 +17,7 @@ App.Events.getIndividualEvents = function() {
 		new App.Events.RESSAmpResting(),
 		new App.Events.RESSArcadeSadist(),
 		new App.Events.RESSAssFitting(),
+		new App.Events.RESSBadDream(),
 		new App.Events.RESSBedSnuggle(),
 		new App.Events.RESSBirthday(),
 		new App.Events.RESSBondageGear(),
@@ -24,18 +25,23 @@ App.Events.getIndividualEvents = function() {
 		new App.Events.RESSCockFeederResistance(),
 		new App.Events.RESSComfortableSeat(),
 		new App.Events.RESSCoolerLockin(),
+		new App.Events.RESSCumslutWhore(),
+		new App.Events.RESSDesperatelyHorny(),
 		new App.Events.RESSDevotedAnalVirgin(),
 		new App.Events.RESSDevotedEducated(),
 		new App.Events.RESSDevotedFearfulSlave(),
 		new App.Events.RESSDevotedNympho(),
+		new App.Events.RESSDevotedOld(),
 		new App.Events.RESSDevotedShortstack(),
 		new App.Events.RESSDevotedVirgin(),
 		new App.Events.RESSDevotedWaist(),
+		new App.Events.RESSDickgirlPC(),
 		new App.Events.RESSEscapee(),
 		new App.Events.RESSForbiddenMasturbation(),
 		new App.Events.RESSFrighteningDick(),
 		new App.Events.RESSHeels(),
 		new App.Events.RESSGaggedSlave(),
+		new App.Events.RESSHormoneDysfunction(),
 		new App.Events.RESSHotPC(),
 		new App.Events.RESSImpregnationPlease(),
 		new App.Events.RESSImScared(),
@@ -44,6 +50,7 @@ App.Events.getIndividualEvents = function() {
 		new App.Events.RESSKitchenMolestation(),
 		new App.Events.RESSLanguageLesson(),
 		new App.Events.RESSLazyEvening(),
+		new App.Events.RESSLooseButtslut(),
 		new App.Events.RESSMasterfulWhore(),
 		new App.Events.RESSMeanGirls(),
 		new App.Events.RESSMillenary(),
@@ -67,7 +74,10 @@ App.Events.getIndividualEvents = function() {
 		new App.Events.RESSPermittedMasturbation(),
 		new App.Events.RESSPlimbHelp(),
 		new App.Events.RESSPlugDisobedience(),
+		new App.Events.RESSRebelliousArrogant(),
 		new App.Events.RESSRefreshmentDelivery(),
+		new App.Events.RESSResistantGelding(),
+		new App.Events.RESSResistantShower(),
 		new App.Events.RESSRestrictedSmart(),
 		new App.Events.RESSPenitent(),
 		new App.Events.RESSRetchingCum(),
@@ -77,7 +87,9 @@ App.Events.getIndividualEvents = function() {
 		new App.Events.RESSShiftDoorframe(),
 		new App.Events.RESSSlaveOnSlaveClit(),
 		new App.Events.RESSSlaveOnSlaveDick(),
+		new App.Events.RESSSleepingAmbivalent(),
 		new App.Events.RESSSolitaryDesperation(),
+		new App.Events.RESSSoreAss(),
 		new App.Events.RESSSuppositoryResistance(),
 		new App.Events.RESSSurgeryAddict(),
 		new App.Events.RESSTooThinForCumDiet(),
diff --git a/src/js/eventSelectionJS.js b/src/js/eventSelectionJS.js
index 260dbdc368fc277dd72f4e26be28894f6feabdab..ba91c31f00c6b6e3bbc786f9793cf476c4dd98c3 100644
--- a/src/js/eventSelectionJS.js
+++ b/src/js/eventSelectionJS.js
@@ -57,17 +57,6 @@ globalThis.generateRandomEventPool = function(eventSlave) {
 				}
 
 				if (eventSlave.assignment !== Job.QUARTER) {
-					if (eventSlave.rules.living === "spare") {
-						if (eventSlave.devotion <= 20) {
-							if (eventSlave.devotion > -10) {
-								V.RESSevent.push("sleeping ambivalent");
-							}
-							if (eventSlave.trust < -20) {
-								V.RESSevent.push("bad dream");
-							}
-						}
-					}
-
 					if (eventSlave.devotion <= 50) {
 						if (eventSlave.devotion >= -20) {
 							if (eventSlave.weekAcquired > 0) {
@@ -215,18 +204,6 @@ if(eventSlave.drugs === "breast injections") {
 					}
 				}
 
-				if (eventSlave.devotion > 50) {
-					if (eventSlave.trust > 20) {
-						if (eventSlave.physicalAge > 37) {
-							if (eventSlave.anus > 0) {
-								if (eventSlave.vagina > 0) {
-									V.RESSevent.push("devoted old");
-								}
-							}
-						}
-					}
-				}
-
 				if (eventSlave.fetish === "humiliation" || eventSlave.energy > 95) {
 					if (eventSlave.devotion <= 50) {
 						if (eventSlave.devotion >= -20) {
@@ -463,20 +440,6 @@ if(eventSlave.drugs === "breast injections") {
 				}
 			}
 
-			if (V.PC.dick > 0) {
-				if (V.PC.boobs >= 300) {
-					if (canSee(eventSlave)) {
-						if (eventSlave.devotion <= 50) {
-							if (eventSlave.devotion >= -20) {
-								if (((eventSlave.attrXY <= 35) && (eventSlave.attrXX > 65)) || ((eventSlave.attrXX <= 35) && (eventSlave.attrXY > 65))) {
-									V.RESSevent.push("dickgirl PC");
-								}
-							}
-						}
-					}
-				}
-			}
-
 			if (eventSlave.trust <= 20) {
 				if (eventSlave.trust >= -75) {
 					if (eventSlave.devotion <= 30) {
@@ -516,22 +479,6 @@ if(eventSlave.drugs === "breast injections") {
 				}
 			}
 
-			if (eventSlave.devotion <= 20) {
-				if (eventSlave.devotion >= -50) {
-					V.RESSevent.push("resistant shower");
-				}
-			}
-
-			if (eventSlave.rules.release.masturbation === 0 && !App.Utils.hasNonassignmentSex(eventSlave)) {
-				if (eventSlave.need) {
-					if (eventSlave.devotion >= -20) {
-						if (eventSlave.trust >= -50) {
-							V.RESSevent.push("desperately horny");
-						}
-					}
-				}
-			}
-
 			if (eventSlave.assignment !== Job.QUARTER) {
 				if (eventSlave.skill.entertainment >= 100) {
 					if (eventSlave.trust > 50) {
@@ -542,22 +489,6 @@ if(eventSlave.drugs === "breast injections") {
 				}
 			}
 
-			if (eventSlave.dick > 0) {
-				if (eventSlave.balls === 0) {
-					if (eventSlave.genes === "XY") {
-						if (eventSlave.devotion <= 50) {
-							if (eventSlave.trust < -50) {
-								if (eventSlave.anus > 0) {
-									if (canDoAnal(eventSlave)) {
-										V.RESSevent.push("resistant gelding");
-									}
-								}
-							}
-						}
-					}
-				}
-			}
-
 			if ([Job.PUBLIC, Job.WHORE].includes(eventSlave.assignment)) {
 				if (eventSlave.vagina !== 0) {
 					if (eventSlave.anus !== 0) {
@@ -638,12 +569,6 @@ if(eventSlave.drugs === "breast injections") {
 			}
 		}
 
-		if (eventSlave.minorInjury === "sore ass") {
-			if (eventSlave.devotion <= 50) {
-				V.RESSevent.push("sore ass");
-			}
-		}
-
 		if (eventSlave.sexualFlaw === "hates oral") {
 			if (V.PC.dick !== 0) {
 				if (eventSlave.devotion <= 50) {
@@ -704,22 +629,6 @@ if(eventSlave.drugs === "breast injections") {
 			}
 		}
 
-		if (eventSlave.rules.release.masturbation === 1) {
-			if (eventSlave.belly < 300000) {
-				if (eventSlave.anus > 2) {
-					if (eventSlave.fetish === "buttslut" || eventSlave.energy > 95) {
-						if (eventSlave.fetish !== "none") {
-							if (canHold(eventSlave)) {
-								if (canDoAnal(eventSlave)) {
-									V.RESSevent.push("loose buttslut");
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-
 		if (eventSlave.boobs > 1200) {
 			if (eventSlave.areolaeShape !== "circle") {
 				if (eventSlave.devotion > 50) {
@@ -728,38 +637,12 @@ if(eventSlave.drugs === "breast injections") {
 			}
 		}
 
-		if (eventSlave.assignment !== Job.QUARTER) {
-			if (eventSlave.behavioralFlaw === "arrogant") {
-				if (eventSlave.devotion < -50) {
-					if (eventSlave.trust >= -50) {
-						V.RESSevent.push("rebellious arrogant");
-					}
-				}
-			}
-		}
-
 		if (V.seePreg !== 0) {
 			if (eventSlave.bellyPreg >= 10000) {
 				V.RESSevent.push("hugely pregnant");
 			}
 		}
 
-		if (eventSlave.hormoneBalance >= 50) {
-			if (eventSlave.vagina === -1) {
-				if (eventSlave.balls >= 0) {
-					if (eventSlave.devotion > 20 || eventSlave.trust < -20) {
-						if (eventSlave.devotion <= 50) {
-							if (eventSlave.fetish !== "buttslut") {
-								if (eventSlave.rules.speech === "permissive") {
-									V.RESSevent.push("hormone dysfunction");
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-
 		if (eventSlave.vaginaPiercing > 1) {
 			if (eventSlave.nipplesPiercing > 1) {
 				if (eventSlave.clitPiercing > 1) {
@@ -774,18 +657,6 @@ if(eventSlave.drugs === "breast injections") {
 			}
 		}
 
-		if (eventSlave.fetishKnown === 1) {
-			if (eventSlave.fetish === "cumslut" || eventSlave.energy > 95) {
-				if ([Job.PUBLIC, Job.WHORE, Job.GLORYHOLE].includes(eventSlave.assignment)) {
-					if (eventSlave.devotion > 20) {
-						if (V.PC.dick !== 0) {
-							V.RESSevent.push("cumslut whore");
-						}
-					}
-				}
-			}
-		}
-
 		if (eventSlave.anus === 0) {
 			if (eventSlave.devotion < -20) {
 				if (eventSlave.trust >= -20) {
diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw
index 77f00e57e2afc3a30bec005aa7f3207f8578c641..ade5731cee2a9c3c171a9cf8e12eb5afb29d0144 100644
--- a/src/uncategorized/RESS.tw
+++ b/src/uncategorized/RESS.tw
@@ -45,7 +45,6 @@
 <<if ["age implant",
 "ara ara",
 "back stretch",
-"bad dream",
 "bonded love",
 "breast expansion blues",
 "confident tanning",
@@ -65,9 +64,6 @@
 "implant inspection",
 "mods please",
 "orchiectomy please",
-"rebellious arrogant",
-"resistant gelding",
-"resistant shower",
 "restricted profession",
 "sexy succubus",
 "shaped areolae",
@@ -75,7 +71,6 @@
 "shift sleep",
 "shower slip",
 "slave dick huge",
-"sleeping ambivalent",
 "sore shoulders",
 "spa boobs",
 "subjugation blues",
@@ -389,39 +384,6 @@ in the middle of the room with the machines all around $him. $He has <<if canDoV
 <br><br>
 The source of the many-voiced personal assistant becomes clear: probably on the incorrigible $activeSlave.slaveName's request, your sultry personal assistant is voicing each and every one of the machines. When the nymphomaniac masturbator tries to smile <<if hasAnyArms($activeSlave)>> and wave<</if>>, there's an absolute chorus of "Back to work, slut", "Smile less, suck more", "Take it, bitch", et cetera. Yet another instance of $assistant.name chuckles in your ear. "Care to join in, <<= properTitle()>>? I'm sure we can find room somewhere."
 
-<<case "sore ass">>
-
-One night, you see <<= App.UI.slaveDescriptionDialog($activeSlave)>>
-<<if (!hasAnyLegs($activeSlave))>>
-	scooting $himself from side to side uncomfortably,
-<<elseif ($activeSlave.heels == 1 && shoeHeelCategory($activeSlave) == 0)>>
-	crawling gingerly,
-<<elseif (shoeHeelCategory($activeSlave) > 1)>>
-	tottering along painfully,
-<<else>>
-	walking a little funny,
-<</if>>
-as though $he has a sore butt. You call $him over to inspect $his backdoor to see if $he needs care, <<if (!hasAnyLegs($activeSlave))>>and set $his helpless body down, spreading $his buttocks to examine $his anus.<<else>>and order $him to spread $his buttocks for you so you can examine $his anus.<</if>> $His asshole is fine, just a little sore from hard buttfucks. $He complies with you, but as you probe $him gently with a finger,
-<<if !canTalk($activeSlave) && (!hasAnyArms($activeSlave))>>
-	$he wriggles desperately and turns to mouth "it hurts <<Master>> please don't assrape me" at you.
-<<elseif !canTalk($activeSlave)>>
-	$he gestures desperately, telling you $his butt hurts and asking you not to assfuck $him.
-<<else>>
-	$he bursts out, "<<Master>>, my butt i<<s>> <<s>>o <<s>>ore! Plea<<s>>e don't u<<s>>e my a<<ss>>, <<Master>>. Plea<<s>>e."
-<</if>>
-
-<<case "resistant shower">>
-
-Though $assistant.name constantly monitors all your slaves, you keep an eye on the video feeds yourself. There's nothing like the personal, human touch. You notice one night that <<= App.UI.slaveDescriptionDialog($activeSlave)>> is crouched in the bottom of the shower. Sensing something amiss, you discreetly investigate, and find that $he's crying quietly under the warm water.
-
-<<case "resistant gelding">>
-
-<<= App.UI.slaveDescriptionDialog($activeSlave)>> is standing in the bathroom in front of the sink, with one leg up on the counter so $he can inspect $his genitalia. <<if canSee($activeSlave)>>From the feeds, it's obvious $he's grieved by what $he sees. As you watch, $he sobs quietly, reaching towards where $his scrotum used to be with a trembling hand. Apparently, $he's having trouble accepting $his status as a gelded slut<<else>>From the feeds, it's obvious $he's grieved by what $he feels. As you watch, $he sobs quietly, reaching towards where $his scrotum used to be with a trembling hand. Apparently, $he's having trouble accepting $his status as a gelded slut<</if>>.
-
-<<case "rebellious arrogant">>
-
-You have a lot of work to do with <<= App.UI.slaveDescriptionDialog($activeSlave)>>. $He compounds the usual rebellious anger at being a slave with an apparently unshakeable conviction that $he is better than you. Oddly, $he seems to maintain the idea that enslaving other people is somehow inappropriate, and that having done so has lowered you morally. This morning, $he did not appear to start $his morning chores as previously ordered. $He sleeps on a bedroll: a brief investigation discloses that $he is still in it, and has pulled the blanket up over $his head. $He refuses to acknowledge your peremptory command to get up.
-
 <<case "vocal disobedience">>
 
 One morning, despite the fact that $he is not allowed to speak without being spoken to, <<= App.UI.slaveDescriptionDialog($activeSlave)>> <<if canSee($activeSlave)>>looks you directly in the eye<<else>>faces you<</if>> and asks
@@ -449,68 +411,6 @@ One morning, despite the fact that $he is not allowed to speak without being spo
 <br><br>
 As you watch $him, it occurs to you that since $activeSlave.slaveName isn't fully devoted to you yet, there's all manner of inventive ways you could have a little fun and increase $his submission to you at the same time.
 
-<<case "cumslut whore">>
-
-Late at night, <<= App.UI.slaveDescriptionDialog($activeSlave)>> returns to the living area of the penthouse. It's the end of $his day as a working girl, and despite being obviously tired, $he's smiling with obvious sexual satiation. Every so often, $he'll get a dreamy expression and lick $his lips. $He fetishizes cum to the extent that getting to eat a <<if $showInches == 2>>mile<<else>>kilometer<</if>> of dick really satisfies $him.
-
-<<case "loose buttslut">>
-
-<<= App.UI.slaveDescriptionDialog($activeSlave)>> has a little free time this evening, so $he finds a quiet corner and engages in $his anal proclivities. Since $his asshole is so stretched out, $he sticks the base of a huge dildo to the ground and
-<<if $activeSlave.belly >= 100000>>
-	struggles to lower $his heavy, very gravid body down onto it,
-<<elseif $activeSlave.belly >= 10000>>
-	cautiously lowers $his <<if $activeSlave.bellyFluid >= 10000>><<print $activeSlave.inflationType>>-stuffed<<else>>very gravid<</if>> body on it,
-<<elseif $activeSlave.belly >= 5000>>
-	delicately lowers $his <<if $activeSlave.bellyFluid >= 5000>>bloated<<else>>gravid<</if>> body on it,
-<<else>>
-	squats on it,
-<</if>>
-moaning happily as the massive thing inches into $him. $He starts to slide up and down it <<if hasBothArms($activeSlave)>>hands-free<<else>>automatically<</if>>, so $he
-<<if canAchieveErection($activeSlave)>>
-	<<if $activeSlave.dick > 5>>
-		jacks off $his huge cock with <<if hasBothArms($activeSlave)>>both hands<<else>>$his hand<</if>>.
-	<<elseif $activeSlave.dick > 2>>
-		jacks off with <<if !hasBothArms($activeSlave)>>$his hand<<else>>one hand and <<if $activeSlave.nipples != "fuckable">>pinches<<else>>fingers<</if>> a nipple with the other<</if>>.
-	<<elseif $activeSlave.dick > 0>>
-		rubs $his little penis with <<if !hasBothArms($activeSlave)>>$his hand<<else>>one hand and <<if $activeSlave.nipples != "fuckable">>pinches<<else>>fingers<</if>> a nipple with the other<</if>>.
-	<</if>>
-<<elseif $activeSlave.dick > 5>>
-	massages $his huge, limp cock with <<if hasBothArms($activeSlave)>>both hands<<else>>$his hand<</if>>.
-<<elseif $activeSlave.dick > 2>>
-	attempts to jack off $his limp dick with <<if !hasBothArms($activeSlave)>>$his hand<<else>>one hand while <<if $activeSlave.nipples != "fuckable">>pinching<<else>>fingering<</if>> a nipple with the other<</if>>.
-<<elseif $activeSlave.dick > 0>>
-	rubs $his little penis with <<if !hasBothArms($activeSlave)>>$his hand<<else>>one hand and <<if $activeSlave.nipples != "fuckable">>pinches<<else>>fingers<</if>> a nipple with the other<</if>>.
-<<elseif $activeSlave.vagina == -1>>
-	rubs the sensitive area around $his asspussy with <<if !hasBothArms($activeSlave)>>$his hand<<else>>one hand and <<if $activeSlave.nipples != "fuckable">>pinches<<else>>fingers<</if>> a nipple with the other<</if>>.
-<<else>>
-	rubs $his clit with <<if !hasBothArms($activeSlave)>>$his hand<<else>>one hand and <<if $activeSlave.nipples != "fuckable">>pinches<<else>>fingers<</if>> a nipple with the other<</if>>.
-<</if>>
-As $he enjoys $himself, $his loose sphincter relaxes still further until it's barely gripping the dildo.
-
-<<case "hormone dysfunction">>
-
-<<= App.UI.slaveDescriptionDialog($activeSlave)>> comes to see you. You're busy with other things, so $he waits patiently even though $he's clearly very unhappy. Told to explain $himself, $he gestures at $his totally flaccid
-<<if !canTalk($activeSlave)>>
-	penis.
-<<else>>
-	<<if ($activeSlave.lips > 70)>>
-		penis and <<say>>s through $his huge lips,
-	<<elseif ($activeSlave.lipsPiercing + $activeSlave.tonguePiercing > 2)>>
-		penis and <<say>>s through $his piercings,
-	<<else>>
-		penis and <<say>>s,
-	<</if>>
-	"<<Master>>, I can't get it up."
-<</if>>
-Ever since the rules have permitted it, $activeSlave.slaveName has been a constant masturbator. If $he can help it, $he never sucks or gives up $his ass without a hand between $his legs, pumping away.
-<br><br>
-<<if !canTalk($activeSlave)>>
-	$He mimics masturbation and then traces a finger down $his cheek, as though it were a tear.
-<<else>>
-	"I can't come like thi<<s>>, <<Master>>."
-<</if>>
-It makes sense; $he's probably never masturbated without a hard dick. $He's clearly in desperate need of release, and more than a little sad the hormones $he's taking have given $him erectile dysfunction.
-
 <<case "age implant">>
 
 In the morning the penthouse is a busy bustle of female energy. Slaves get up promptly, eat, shower, dress themselves, and head out to work. They chatter if able and allowed, and draw a good deal of strength from each other. As you pass by the kitchen, you are narrowly avoided by a rush of slaves heading to the showers. They're almost bouncing, feeding off each others' youthful energy. At the back of the pack is <<= App.UI.slaveDescriptionDialog($activeSlave)>>. $He looks as young as any of them, but after they're out, $he leans against the door frame for a moment and exhales slowly.
@@ -629,20 +529,6 @@ The showers your slaves use are well vented and transparent walled so that you c
 	<</if>>
 <</if>>
 
-<<case "devoted old">>
-
-At the end of a long week, <<= App.UI.slaveDescriptionDialog($activeSlave)>> moves past your office toward bed. This is completely normal part of the arcology routine, but you notice as $he passes that $he's wearing a preoccupied, almost sad expression. You call $him over, and $he makes a visible effort to brighten up as $he comes before you and asks your pleasure. You ask $him what's the matter, and $his face falls.
-<br><br>
-"<<Master>>, I'm <<s>>o <<s>>orry you noti<<c>>ed,"
-<<if ($activeSlave.lips > 70)>>
-	$he lisps through $his dick-sucking lips.
-<<elseif ($activeSlave.lipsPiercing+$activeSlave.tonguePiercing > 2)>>
-	$he lisps through $his ridiculous piercings.
-<<else>>
-	$he <<say>>s penitently.
-<</if>>
-"I'm feeling a little <<s>>tiff and tired, <<Master>>. I wi<<sh>> I wa<<s>> a little younger <<s>>o I could <<s>>erve you better, that'<<s>> all."
-
 <<case "tendon fall">>
 
 There is a horrible crash from the bathroom. You rush in to see <<= App.UI.slaveDescriptionDialog($activeSlave)>> curled up helplessly in the bottom of the shower with the water playing over $his <<if $activeSlave.belly >= 5000>><<if $activeSlave.bellyPreg >= 3000>>gravid<<else>>rounded<</if>><<else>>altered<</if>> body. $He takes off $his heels to shower, making $him unable to stand independently. Apparently, $he lost $his grip on the handrail while trying to soap $himself, and having fallen, can't seem to reach the rail to haul $himself up again. $He pleads<<if ($activeSlave.lips > 70)>> through $his huge lips<<elseif ($activeSlave.lipsPiercing+$activeSlave.tonguePiercing > 2)>> through $his piercings<</if>>, "Help me, <<Master>>!"
@@ -875,51 +761,6 @@ $He stops and <<if canSee($activeSlave)>>stares<<else>>faces you<</if>>, struggl
 	Even $his nipples show signs of wear, having prolapsed slightly from heavy use.
 <</if>>
 
-<<case "desperately horny">>
-
-<<= App.UI.slaveDescriptionDialog($activeSlave)>> comes to see you, looking deeply unhappy and shivering occasionally.
-<<if ($activeSlave.rules.speech == "restrictive")>>
-	Since $he is not allowed to speak, $he just enters your office and stands there, unsure what to do.
-<<else>>
-	<<if !canTalk($activeSlave)>>
-		$He tries to communicate something with $his hand<<if hasBothArms($activeSlave)>>s<</if>>, but $he's so distracted $he can't manage it. $He starts to shake a little and gives up.
-	<<else>>
-		"<<Master>>, plea<<s>>e! Plea<<s>>e — I — plea<<s>>e, I need to — oh, <<Master>> —" $he <<if SlaveStatsChecker.checkForLisp($activeSlave)>>lisps frantically<<else>>babbles<</if>>. $He starts to shake a little and lapses into silence.
-	<</if>>
-<</if>>
-The reason for $his distress is obvious:
-<<if ($activeSlave.chastityPenis == 1)>>
-	$his chastity cage is mostly solid, but it has a small hole below where the tip of $his dick is held, and this is dripping precum. $He's sexually helpless, and sexually overcharged to the point where $he's dripping more precum than a usual dickgirl might ejaculate normally.
-<<elseif ($activeSlave.dick > 0) && ($activeSlave.hormoneBalance >= 100) && !canAchieveErection($activeSlave)>>
-	though the hormones are keeping it soft, $his member is dripping a stream of precum; droplets of the stuff spatter $his legs. One of $his spasms brings $his dickhead brushing against $his thigh, and the stimulation almost brings $him to orgasm.
-<<elseif ($activeSlave.dick > 0) && $activeSlave.balls > 0 && $activeSlave.ballType == "sterile" && !canAchieveErection($activeSlave)>>
-	though $he's chemically castrated, $his soft member is dripping a stream of watery precum; droplets of the stuff spatter $his legs. One of $his spasms brings $his dickhead brushing against $his thigh, and the stimulation almost brings $him to orgasm.
-<<elseif ($activeSlave.dick > 0) && ($activeSlave.balls == 0) && !canAchieveErection($activeSlave)>>
-	though $he's gelded, $his soft member is dripping a stream of watery precum; droplets of the stuff spatter $his legs. One of $his spasms brings $his dickhead brushing against $his thigh, and the stimulation almost brings $him to orgasm.
-<<elseif ($activeSlave.dick > 0) && !canAchieveErection($activeSlave)>>
-	though $he's far too large to get hard, $his engorged member is dripping a stream of watery precum; droplets of the stuff spatter the floor. One of $his spasms brushes the length of $his cock against $his thigh, and the stimulation almost brings $him to orgasm.
-<<elseif $activeSlave.dick > 4>>
-	$his gigantic member juts out painfully, scattering droplets of precum whenever $he moves. One of $his spasms brings $his dickhead brushing up against $his <<if $activeSlave.belly >= 10000 || $activeSlave.weight > 95>>_belly <<if $activeSlave.bellyPreg >= 3000>>pregnancy<<else>>belly<</if>><<else>>abdomen<</if>>, and the stimulation almost brings $him to orgasm.
-<<elseif $activeSlave.dick > 2>>
-	$his impressive member juts out painfully, scattering droplets of precum whenever $he moves. One of $his spasms brings $his dickhead brushing up against $his <<if $activeSlave.belly >= 10000 || $activeSlave.weight > 95>>_belly <<if $activeSlave.bellyPreg >= 3000>>pregnancy<<else>>belly<</if>><<else>>abdomen<</if>>, and the stimulation almost brings $him to orgasm.
-<<elseif $activeSlave.dick > 0>>
-	$his little member juts out painfully, scattering droplets of precum whenever $he moves. One of $his spasms brings $his dickhead brushing up against $his <<if $activeSlave.belly >= 10000 || $activeSlave.weight > 95>>_belly <<if $activeSlave.bellyPreg >= 3000>>pregnancy<<else>>belly<</if>><<else>>abdomen<</if>>, and the stimulation almost brings $him to orgasm.
-<<elseif ($activeSlave.chastityVagina)>>
-	female juices are leaking out from behind $his chastity belt. $His cunt desperately wants to be fucked, and is dripping natural lubricant to ease penetration by cocks that cannot reach it through its protective shield.
-<<elseif $activeSlave.clit > 3>>
-	$his dick-like clit is painfully engorged and juts out massively. The stimulation of the air on $his clit keeps $him on the brink of orgasm.
-<<elseif $activeSlave.clit > 0>>
-	$his lovely clit is painfully engorged, and $his pussy is so wet there are little rivulets of moisture running down $his inner thighs. One of $his spasms brings $his clit brushing accidentally against $his hand, and the stimulation almost brings $him to orgasm.
-<<elseif $activeSlave.labia > 0>>
-	$his lovely pussylips are painfully engorged, and $his pussy is so wet there are little rivulets of moisture running down $his inner thighs. One of $his spasms brings $his generous labia brushing against $his thighs, and the stimulation almost brings $him to orgasm.
-<<elseif $activeSlave.vagina == -1>>
-	though $he has no external genitalia to display it, $he's flushed and uncomfortable, and is unconsciously presenting $his ass, since that's $his only real avenue to climax.
-<<else>>
-	$his pussy is so wet there are little rivulets of moisture running down $his inner thighs. One of $his spasms brings $him enough stimulation that it almost brings $him to orgasm.
-<</if>>
-<br><br>
-This is the result of not getting off for several days while on the slave diet provided by the nutritional systems. The mild aphrodisiacs included in $his food increase $his sex drive, and the increased libido can become cumulative if it's not regularly addressed. It looks like $he hasn't really gotten $hers in a couple of days, and the poor $girl can likely think of nothing but that. $He's so horny $he'll do anything for release. However, $he did come to you with $his trouble rather than masturbating illicitly.
-
 <<case "restricted profession">>
 
 <<set _shoutitoutloud = $enunciate.title.toUpperCase()>>
@@ -992,65 +833,6 @@ At your <<if canSee($activeSlave)>>nod<<else>>acknowledgment<</if>>, $he
 	$He blushes prettily and <<if canSee($activeSlave)>>looks<<else>>gazes<</if>> at you hopefully.
 <</if>>
 
-<<case "dickgirl PC">>
-
-Having just enjoyed one of your slaves, you take a quick post-coital rinse in one of the showers scattered around the arcology for the purpose. Thus refreshed, you step out and come face to face with <<= App.UI.slaveDescriptionDialog($activeSlave)>>, who is going about $his assigned business. $His <<= App.Desc.eyesColor($activeSlave)>> lock with yours for a surprised moment, and then flick down submissively.
-<br><br>
-As $his gaze travels down your body towards the floor,
-<<if $activeSlave.attrXY <= 35>>
-	it lingers for a moment on your
-	<<if $PC.boobs >= 1400>>
-		enormous <<if $PC.boobsImplant > 0>>chest balloons<<else>>cow tits<</if>>
-	<<elseif $PC.boobs >= 1200>>
-		huge<<if $PC.boobsImplant > 0>>, clearly fake<<else>>, heavy<</if>> breasts
-	<<elseif $PC.boobs >= 1000>>
-		big<<if $PC.boobsImplant > 0>>, perky<</if>> breasts
-	<<elseif $PC.boobs >= 800>>
-		generous breasts
-	<<elseif $PC.boobs >= 650>>
-		handfilling breasts
-	<<elseif $PC.boobs >= 500>>
-		average breasts
-	<<elseif $PC.boobs >= 300>>
-		small breasts
-	<</if>>
-	before continuing to track downward. When it reaches your cock, still half-hard from the sex and the warm shower, $he stiffens with discomfort.
-<<else>>
-	$he averts $his eyes from your
-	<<if $PC.boobs >= 1400>>
-		enormous, bare <<if $PC.boobsImplant > 0>>chest balloons<<else>>cow tits<</if>>
-	<<elseif $PC.boobs >= 1200>>
-		huge, bare<<if $PC.boobsImplant > 0>>, clearly fake<<else>>, heavy<</if>> breasts
-	<<elseif $PC.boobs >= 1000>>
-		big, bare<<if $PC.boobsImplant > 0>>, perky<</if>> breasts
-	<<elseif $PC.boobs >= 800>>
-		generous, bare breasts
-	<<elseif $PC.boobs >= 650>>
-		handfilling, bare breasts
-	<<elseif $PC.boobs >= 500>>
-		average, bare breasts
-	<<elseif $PC.boobs >= 300>>
-		small, bare breasts
-	<</if>>
-	as best $he can, quickly looking farther down. $His gaze lingers for a moment on your cock, still half-hard from the sex and the warm shower, but $he's stiff with discomfort.
-<</if>>
-$He swallows uncomfortably, frozen in place and staring at the floor. $His eyes flick up again, stealing a glance at
-<<if $activeSlave.attrXY <= 35>>
-	your boobs and studiously avoiding your dick.
-<<else>>
-	your dick<<if $PC.balls >= 8>> and enormous testicles, while<<else>> and<</if>> studiously avoiding your boobs.
-<</if>>
-<<if !canTalk($activeSlave)>>
-	$He gestures a proper greeting, hands shaking with nervousness.
-<<else>>
-	"Um, hi, <<Master>>," $he <<say>>s nervously.
-<</if>>
-<<if $activeSlave.attrKnown != 1>>
-	<br><br>
-	Just like that, the existing mystery about $his feelings about girls and guys is @@.lightcoral;cleared up.@@
-	<<set $activeSlave.attrKnown = 1>>
-<</if>>
-
 <<case "resistant anal virgin">>
 
 <<= App.UI.slaveDescriptionDialog($activeSlave)>> has never had anything significant up $his ass. Living in $arcologies[0].name, $he can't have missed that anal sex is a part of most slaves' lives. $He <<if canSee($activeSlave)>>witnesses<<elseif canHear($activeSlave)>>hears<<else>>thinks about<</if>> sodomy several times a day, at least.
@@ -1183,14 +965,6 @@ To go by $his behavior, the likelihood that $he's actually eager to <<if $PC.dic
 
 It's Friday evening, the most socially important part of the week in $arcologies[0].name. <<= App.UI.slaveDescriptionDialog($activeSlave)>> happens to be free this evening, and your schedule is open, too. Lately, $he's been putting on a tour de force of seduction, erotic dance, and lewd entertainment whenever $he gets the chance to catch someone's eye<<if $activeSlave.belly >= 5000>>, even with $his <<if $activeSlave.bellyPreg >= 3000>>advanced pregnancy<<elseif $activeSlave.bellyImplant >= 3000>>_belly rounded belly<<else>>sloshing <<print $activeSlave.inflationType>>-filled stomach<</if>><</if>>. There are a number of events tonight you could attend with $him on your arm.
 
-<<case "sleeping ambivalent">>
-
-Passing through the slave dormitory at night, you run your eyes down the row of sleeping chattel. The light here is low, but it's not dark. Slaves need to be able to find the bathroom, slaves on late assignments need to find their beds, and those permitted to do so need to be able to select slaves for sex. <<= App.UI.slaveDescriptionDialog($activeSlave)>> catches your eye. The dormitory is kept at a pleasant temperature so that the slaves, who of course sleep nude, are comfortable on their bedrolls covered by a single sheet, or nothing at all. $He probably went to sleep with $his sheet pulled up to $his chin, which is normal behavior for slaves who aren't yet accepting of their status as compulsory sex objects, but $he's shrugged it down. Half $his torso is bare.
-<br><br>
-The dim blue light plays across $his $activeSlave.skin skin. <<if $activeSlave.boobs > 2000>>$His massive boob on that side is slightly shifted by each breath<<elseif $activeSlave.boobs > 800>>$His breast on that side rises and falls with each breath<<else>>That side of $his chest rises and falls with each breath<</if>>.
-<<if $activeSlave.belly >= 5000>> $His _belly <<if $activeSlave.bellyPreg >= 3000>>pregnant <</if>>belly is only partially covered by the sheet, leaving most of it visible.<</if>>
-$He's sleeping soundly, $his breaths coming deep and slow. Most slaves where $he is mentally are troubled by bad dreams, but the poor $girl is evidently too tired for that.
-
 <<case "sexy succubus">>
 
 You cross paths with <<= App.UI.slaveDescriptionDialog($activeSlave)>> as $he moves from the living area to $activeSlave.assignment, just starting $his day. $He's full of energy, and $his succubus outfit is delightful. $He <<if canSee($activeSlave)>>sees your glance<<else>>recognizes your whistle<</if>> and greets you with a <<if canSee($activeSlave)>>wicked glint in $his eye<<else>>wicked smirk on $his face<</if>>, bowing a bit to show off $his <<if $activeSlave.boobs > 6000>>bare, inhumanly large breasts<<elseif $activeSlave.lactation > 0>>bare udders, heavy with milk<<elseif $activeSlave.boobsImplant > 0>>naked fake tits<<elseif $activeSlave.boobs > 800>>heavy, naked breasts<<elseif $activeSlave.boobs > 300>>naked little tits<<else>>pretty chest<</if>> and then continuing towards you with a pirouette. $His tail bounces flirtily, holding the back of $his skirt up to show off <<if $activeSlave.butt > 8>>$his absurdly wide bottom<<elseif $activeSlave.analArea > 3>>the broad area of puckered skin around $his slutty asspussy<<elseif $activeSlave.buttImplant > 0>>$his butt implants<<elseif $activeSlave.butt > 5>>$his big butt<<elseif $activeSlave.anus > 1>>a hint of $his asshole, which $his cute buttocks don't quite conceal<<else>>$his cute bottom<</if>>.
@@ -1356,29 +1130,6 @@ Coming to a stop, $he <<if $activeSlave.height > 190>>bends the long, long way d
 	"I love you, <<Master>>," $he whispers.
 <</if>>
 
-<<case "bad dream">>
-
-Passing near the slave dormitory late at night, you hear a quiet cry within. This is strange; most slaves housed there are not inclined or not allowed to have sex in the middle of the night, and in any case, the noise wasn't one of pleasure. Looking in, you see a jerky movement near the door. It's <<= App.UI.slaveDescriptionDialog($activeSlave)>>, and $he's obviously having a bad dream. $He raises <<if hasBothArms($activeSlave)>>an<<else>>$his<</if>> arm to fend off some imagined danger, and in doing so, pushes the sheet down around $his waist. $He sleeps naked, like all your slaves, and the movement bares $his <<if $activeSlave.boobs > 2000>>udders<<elseif $activeSlave.boobs > 1000>>heavy breasts<<elseif $activeSlave.boobs > 400>>boobs<<else>>little tits<</if>><<if $activeSlave.belly >= 5000>> and _belly <<if $activeSlave.bellyPreg >= 3000>>pregnant <</if>>belly<</if>> to the cool night air. The low blue light outlines $his nipples as they <<if $activeSlave.nipples != "fuckable">>stiffen<<else>>swell<</if>> at the sudden change of temperature,
-<<switch $activeSlave.nipples>>
-<<case "tiny">>
-	pricking up into little buds.
-<<case "flat">>
-	becoming visible against $his areolae.
-<<case "puffy">>
-	the puffy promontories jutting even farther out.
-<<case "partially inverted">>
-	just starting to poke past their inversion.
-<<case "inverted">>
-	the twin domes formed by their inverted shapes becoming more prominent.
-<<case "huge">>
-	becoming so large they cast long shadows across $his bed.
-<<case "fuckable">>
-	the fuckable holes steadily closing and starting to poke outwards.
-<<default>>
-	becoming attractively erect.
-<</switch>>
-Still dreaming, $he clasps $his arm<<if hasBothArms($activeSlave)>>s<</if>> protectively over $his <<if $activeSlave.pregKnown == 1>>unborn child<<if $activeSlave.pregType > 1>>ren<</if>><<else>>vulnerable chest<</if>>, and rolls to one side. Halfway into a fetal position, $he turns $his head against $his pillow, murmuring "N-no — plea<<s>>e no — I'll d-do anyth-thing — no..."
-
 <<case "shower slip">>
 
 <<= App.UI.slaveDescriptionDialog($activeSlave)>> finishes $his morning shower and sleepily turns to dry off. $He slips a little on the moist bathroom floor, trips over $his own feet, and starts to stumble. $His fall is immediately arrested as $he's caught by a pair of strong<<if $PC.title == 0>> yet feminine<</if>> arms. Coming to rest against
@@ -3073,288 +2824,6 @@ $He cranes $his neck, glancing over $his shoulder to give you a pleading look.
 	<</link>><<if ($activeSlave.anus == 0 && canDoAnal($activeSlave)) || ($activeSlave.vagina == 0 && canDoVaginal($activeSlave))>> //This option will take $his virginity//<</if>>
 <</if>>
 
-<<case "sore ass">>
-
-<<link "Punish $his ass for insolence">>
-	<<replace "#result">>
-		You inform $him sternly that you will ensure that $he is not permanently damaged, and that otherwise, $he is to take anal pain like a good buttslave. $He starts to beg and whine as you lean back in your chair and <<if $PC.dick == 0>>hold $him upside down on your chest so $he can lick your pussy while you use a dildo on $his ass.<<else>>set $him on your chest before reaching around to line your cock up with $his sore hole. $He shudders and writhes when you start pushing yourself inside.<</if>> You use hard pinches to $his nipples to punish $his whining, forcing $him to take a long, painful buttfuck in silence. @@.gold;$He has become more afraid of you.@@
-		<<if ($activeSlave.anus < 3)>>$His week of tough anal experience has @@.lime;permanently loosened $his anus.@@<<set $activeSlave.anus += 1>><</if>>
-		<<set $activeSlave.trust -= 5>>
-		<<= VCheck.Anal($activeSlave, 1)>>
-	<</replace>>
-<</link>>
-<br><<link "Give $him some care">>
-	<<replace "#result">>
-		$He's filled with anxiety as you
-		<<if $activeSlave.belly < 1500>>
-			lay $him face-down on your desk,
-		<<else>>
-			direct $him to lay on $his side on your desk<<if $activeSlave.belly >= 300000>> with $his _belly belly hanging over the edge<</if>>,
-		<</if>>
-		but is surprised and reassured when $he's penetrated not by a <<if $PC.dick == 0>>strap-on<<else>>turgid<<if $PC.vagina != -1>> futa<</if>> cock<</if>> but by a single gentle finger coated with something healing and cool. The mixed analgesic and anti-inflammatory takes the sharpness off the sore feeling, and will help get $his butt back into fucking shape. @@.mediumaquamarine;$He has become more accepting of anal slavery,@@ and @@.health.inc;$his asshole feels better.@@
-		<<if ($activeSlave.anus > 2)>>Your expert care has @@.orange;allowed $his loose asspussy to recover a little of its natural shape and size.@@<<set $activeSlave.anus -= 1>><</if>>
-		<<set $activeSlave.trust += 4, $activeSlave.minorInjury = 0>>
-	<</replace>>
-<</link>>
-
-<<case "resistant shower">>
-
-<<link "Enter the shower and quietly comfort $him">>
-	<<replace "#result">>
-		$He starts with surprise <<if canSee($activeSlave)>>as you enter the shower<<elseif canHear($activeSlave)>>as $he hears you enter the shower<<else>>as $he feels the water being disturbed by your body<</if>>, and then <<if canSee($activeSlave)>>looks at<<else>>turns to<</if>> you in shock as you sit down beside $him, ignoring the water soaking your clothes. $He does not resist when you draw $him gently into your lap. $He's stiff and uncomfortable as you hold $him gently, but $he eventually relaxes and allows $his head to rest <<if ($PC.boobs >= 300)>>between your breasts<<else>>against your shoulder<</if>>. $He's utterly conflicted; the hateful person who $he is expected to fuck is tenderly comforting $him. $He finally seems to accept the animal comfort, whatever its source, and begins to @@.mediumaquamarine;trust@@ you to do more than just use $him.
-		<<set $activeSlave.trust += 4>>
-	<</replace>>
-<</link>>
-<br><<link "Talk through $his problems with $him">>
-	<<replace "#result">>
-		You enter the bathroom and quietly wait until $he's done. When the water shuts off, $he stands up absently and spins so the shower's air dry function can blow the water off $him. (You can't help but notice
-		<<if ($activeSlave.weight > 30)>>
-			a lot of motion across $his
-			<<if $activeSlave.weight > 190>>
-				expansive
-			<<elseif $activeSlave.weight > 130>>
-				fat
-			<<elseif $activeSlave.weight > 95>>
-				thick
-			<<else>>
-				chubby
-			<</if>>
-			body when the air jets play across $him.)
-		<<elseif ($activeSlave.belly >= 5000)>>
-			how firm $his _belly belly is.)
-		<<elseif ($activeSlave.dick > 1)>>
-			$his soft cock flop around as one of the air jets strikes it.)
-		<<elseif ($activeSlave.boobs > 800)>>
-			<<if ($activeSlave.boobsImplant/$activeSlave.boobs) >= .60>>
-				how $his fake tits refuse to jiggle under the air jets.)
-			<<else>>
-				how the air jets produce a lot of delectable jiggling when they strike $his boobs.)
-			<</if>>
-		<<elseif ($activeSlave.butt > 4)>>
-			how $he has to spread $his big buttcheeks to let an air jet dry between them.)
-		<<elseif ($activeSlave.labia > 0)>>
-			how one of the air jets creates some motion in $his generous labia.)
-		<<elseif ($activeSlave.muscles > 5)>>
-			how the air jets make $his taut abs look even more impressive.)
-		<<else>>
-			$his nipples <<if $activeSlave.nipples != "fuckable">>stiffen<<else>>engorge<</if>> under the air jets.)
-		<</if>>
-		As $he rotates, <<if canSee($activeSlave)>>$he notices you with a start and looks concerned, but you do your best to look reassuring and beckon<<else>>you gently call $his name. $He jumps at the sound of your voice and looks concerned, but you do your best to calm $him and gingerly coax<</if>> $him out of the shower.
-		<br><br>
-		You ask $him what's troubling $him, and the look of concern returns. Suspecting that $he's afraid of telling the truth, you gently encourage $him to be honest, and assure $him that you're simply taking an interest in $his well-being. $He still hesitates, but eventually sniffles a little and
-		<<if !canTalk($activeSlave)>>
-			reluctantly gestures,
-		<<elseif SlaveStatsChecker.checkForLisp($activeSlave)>>
-			lisps,
-		<<else>>
-			admits,
-		<</if>>
-		<<if ($activeSlave.sexualFlaw == "hates oral") && ($activeSlave.counter.oral > 0)>>
-			"It'<<s>> nothing <<s>>pe<<c>>ial, <<Master>>. I ju<<s>>t h-hate getting fa<<c>>efucked."
-		<<elseif ($activeSlave.sexualFlaw == "hates anal") && ($activeSlave.counter.anal > 0)>>
-			"It'<<s>> nothing <<s>>pe<<c>>ial, <<Master>>. I ju<<s>>t h-hate getting a<<ss>>raped."
-		<<elseif ($activeSlave.sexualFlaw == "hates penetration") && ($activeSlave.counter.anal > 0)>>
-			"It'<<s>> nothing <<s>>pe<<c>>ial, <<Master>>. I ju<<s>>t h-hate getting fucked."
-		<<elseif ($activeSlave.behavioralFlaw == "hates women")>>
-			"<<S>>orry, <<Master>>. I ju<<s>>t h-hate girl<<s>>. They're gro<<ss>>."
-		<<elseif ($activeSlave.behavioralFlaw == "hates men")>>
-			"<<S>>orry, <<Master>>. I ju<<s>>t h-hate cock<<s>>. I don't want to <<s>>ee another one, ever again."
-		<<elseif ($activeSlave.sexualFlaw == "idealistic") && ($activeSlave.counter.oral > 0 || $activeSlave.counter.anal > 0 || $activeSlave.counter.vaginal > 0 || $activeSlave.counter.mammary > 0)>>
-			"I feel like I'm going cra<<z>>y, <<Master>>. No one here <<s>>eem<<s>> to know that rape i<<s>> wrong. Th-they ju<<s>>t r-rape me."
-		<<elseif ($activeSlave.sexualFlaw == "shamefast")>>
-			"I want to cover my<<s>>elf <<s>>o badly, <<Master>>. I'm <<s>>o embarra<<ss>>ed all the time. I'm <<s>>o tired of being embarra<<ss>>ed."
-		<<elseif ($activeSlave.sexualFlaw == "repressed") && ($activeSlave.counter.oral > 0 || $activeSlave.counter.anal > 0 || $activeSlave.counter.vaginal > 0 || $activeSlave.counter.mammary > 0)>>
-			"I'm filthy, <<Master>>. I've been u<<s>>ed, and I can't ever be clean again. I'm a d-dirty, <<s>>inful whore."
-		<<else>>
-			"<<S>>orry, <<Master>>. I wa<<s>> ju<<s>>t r-remembering, b-before — all thi<<s>>."
-		<</if>>
-		You tell $him kindly that you understand, and that $he'll be trained to address this. Then, you turn and go. $He's mystified; though $he's not overjoyed by the promise of correction, $he finds $himself @@.hotpink;less resistant@@ to following your plans.
-		<<set $activeSlave.devotion += 4>>
-	<</replace>>
-<</link>>
-<<if canDoAnal($activeSlave) || canDoVaginal($activeSlave)>>
-	<br><<link "Use $him when $he gets out">>
-		<<replace "#result">>
-			Eventually $he finishes and switches the shower to dry. The airflow dries $him and $he steps out, but as $he does, $he's seized and flung over the countertop with a slap as $his naked, $activeSlave.skin <<if $activeSlave.belly >= 5000>> _belly <<if $activeSlave.bellyPreg >= 3000>>pregnant <</if>>belly<<else>>skin<</if>> hits the surface.
-			<<if $activeSlave.vagina > -1 && !canDoVaginal($activeSlave)>>
-				With $his chastity belt protecting $his pussy, you ram <<if $PC.dick == 0>>your vibrating strap-on<<else>>yourself<</if>> up $his ass instead, drawing a pained sob.
-			<<elseif $activeSlave.vagina == -1>>
-				You ram <<if $PC.dick == 0>>your vibrating strap-on<<else>>yourself<</if>> up $his ass, drawing a pained sob.
-			<<elseif !canDoAnal($activeSlave)>>
-				You ram mercilessly into $his cunt, forcing a few gasps out of $him before it sinks in that this is happening.
-			<<else>>
-				You take $his silly cunt just long enough to force a few gasps out of $him before you pull out and ram <<if $PC.dick == 0>>your vibrating strap-on<<else>>yourself<</if>> up $his ass, drawing a pained sob.
-			<</if>>
-			As $he takes the pounding sullenly, <<if canSee($activeSlave)>>$he has a direct view of $his own eyes in the mirror, and clearly @@.gold;is disturbed by what $he sees.@@<<elseif canHear($activeSlave)>>$he can hear nothing but the sound of $his brutal rape, and clearly @@.gold;is disturbed by what $he hears.@@<<else>>$his blindness and deafness mean that one of the few things $he can feel is $his own rape, which @@.gold;disturbs $him to no end.@@<</if>>
-			<<set $activeSlave.trust -= 5>>
-			<<= VCheck.Both($activeSlave, 1)>>
-		<</replace>>
-	<</link>><<if ($activeSlave.anus == 0 && canDoAnal($activeSlave)) || ($activeSlave.vagina == 0 && canDoVaginal($activeSlave))>> //This option will take $his virginity//<</if>>
-<</if>>
-
-<<case "resistant gelding">>
-
-<<link "Abuse $his ass">>
-	<<replace "#result">>
-		$He turns around as <<if canHear($activeSlave)>>$he hears <</if>>you enter the bathroom, fear and loathing on $his face, but you seize $his shoulder and spin $his back around without a word. You drag $him across the counter until $his face is over the sink, and turn it on. $He struggles in sheer incomprehension as you hold $his head over the filling basin with one hand and roughly grope $his butt with the other. When the sink is full, you tell $him to spread $his buttocks for you like a good butthole bitch. $He hesitates, so you push $his face under the surface of the water and hold it there until $he complies. You shove <<if $PC.dick == 0>>a dildo<<else>>your member<</if>> up $his anus so harshly that $he spasms and reflexively tries to get away, so you push $him under again until $he stops struggling. For the next ten minutes, $he gets shoved under water whenever $he offers the slightest resistance to anal rape. Soon, $his tears are pattering down into the sink. The next time you decide to buttfuck $him, $he's @@.gold;compliant from sheer terror.@@
-		<<set $activeSlave.trust -= 5>>
-		<<= VCheck.Anal($activeSlave, 1)>>
-	<</replace>>
-<</link>>
-<br><<link "Reassure $him of $his sexual worth">>
-	<<replace "#result">>
-		$He turns around as <<if canHear($activeSlave)>>$he hears <</if>>you enter the bathroom, fear and loathing on $his face, but is surprised by <<if canSee($activeSlave)>>your gentle expression<<else>>by how calm your steps seem<</if>>. $He's more shocked still when you give $him a reassuring hug and kiss $his unresisting mouth. $He's so unable to figure out what's happening that $he eventually gives up and relaxes into you. You gently turn $him around to face the mirror again, and working from the top of $his head, describe $his body in minute detail, explaining how pretty and valuable a sex slave $he is. When you're about to reach $his butt,
-		<<if canTalk($activeSlave)>>
-			$he uses gestures to beg you not to assrape $him.
-		<<else>>
-			<<if ($activeSlave.lips > 70)>>
-				$he begs meekly through $his massive dick-sucking lips,
-			<<elseif ($activeSlave.lipsPiercing+$activeSlave.tonguePiercing > 2)>>
-				$he begs meekly through $his mouthful of piercings,
-			<<else>>
-				$he begs meekly,
-			<</if>>
-			"<<Master>>, plea<<s>>e, plea<<s>>e don't a<<ss>>rape me. I don't think I can take it."
-		<</if>>
-		You patiently explain that taking <<if $PC.dick == 0>>anything you feel like inserting into $his backdoor<<else>>your cock<</if>> is $his duty, and begin to massage $his sphincter open with a single gentle finger. $He doesn't enjoy the ensuing assfuck, but $he doesn't truly hate it either and @@.hotpink;begins to hope@@ that being your butt slave won't be so painful after all.
-		<<set $activeSlave.devotion += 4>>
-		<<= slaveSkillIncrease('anal', $activeSlave, 10)>>
-		<<= VCheck.Anal($activeSlave, 1)>>
-	<</replace>>
-<</link>>
-<br><<link "Comfort $him">>
-	<<replace "#result">>
-		$He turns around as <<if canHear($activeSlave)>>$he hears<</if>> you enter the bathroom, fear and loathing on $his face, but is surprised by <<if canSee($activeSlave)>>your gentle expression<<else>>by how calm your steps seem<</if>>. $He's more shocked still when you give $him a reassuring hug and kiss $his unresisting mouth. $He's so unable to figure out what's happening that $he eventually gives up and relaxes into you. You run your hands along $his body and kiss $his deeply for a long while before reassuring $him of $his value to you. $He looks confused, but goes about $his business with dry eyes. $He hates you a little less, but wonders whether $he can get away with retaining some independence.
-	<</replace>>
-<</link>>
-
-<<case "rebellious arrogant">>
-
-<<link "Force $him out of bed and humiliate $him publicly">>
-	<<replace "#result">>
-		You drag $him unceremoniously out of bed and straight down into the public areas of $arcologies[0].name. $His struggles and protests grow more frantic as $he
-		<<set _textArray = []>>
-		<<if canSee($activeSlave)>>
-			<<set _textArray.push("sees the first passersby beginning to stare at the little spectacle")>>
-		<</if>>
-		<<if canHear($activeSlave)>>
-			<<set _textArray.push("begins to hear the various catcalls and other comments directed at $him")>>
-		<<else>>
-			<<set _textArray.push("feels the outdoor air on $his body")>>
-		<</if>>
-		<<if _textArray.length === 1>>
-			<<print _textArray[0] + ".">>
-		<<elseif _textArray.length === 2>>
-			<<print _textArray[0] + " and " + _textArray[1] + ".">>
-		<<elseif _textArray.length === 3>>
-			<<print _textArray[0] + ", " + _textArray[2] + " and " _textArray[3] + ".">>
-		<</if>>
-		You force $him right there, thoroughly raping the struggling $girl in public. @@.gold;$He learns the consequences of refusal,@@
-		<<if $arcologies[0].FSDegradationist !== "unset">>
-			and @@.green;your citizens certainly enjoy the public spectacle.@@
-			<<run repX(100, "event", $activeSlave)>>
-		<<else>>
-			but @@.red;your reputation has been decreased by the unseemly commotion.@@
-			<<run repX(-100, "event", $activeSlave)>>
-		<</if>>
-		<<if canDoVaginal($activeSlave) && canDoAnal($activeSlave)>>
-			<<= VCheck.Both($activeSlave, 1)>>
-		<<elseif canDoVaginal($activeSlave)>>
-			<<= VCheck.Vaginal($activeSlave, 1)>>
-		<<elseif canDoAnal($activeSlave)>>
-			<<= VCheck.Anal($activeSlave, 1)>>
-		<<else>>
-			<<run seX($activeSlave, "oral", $PC, "penetrative")>>
-		<</if>>
-		<<set $activeSlave.trust -= 5>>
-	<</replace>>
-<</link>><<if (($activeSlave.anus == 0 && canDoAnal($activeSlave)) || ($activeSlave.vagina == 0 && canDoVaginal($activeSlave)))>> //This option will take $his virginity//<</if>>
-<br><<link "Let $him stay in bed">>
-	<<replace "#result">>
-		You shrug and walk out of the room and back to your office; you've got more important things to worry about than some drowsy brat. $activeSlave.slaveName, for $his part, gets out of bed not long after you leave, but is surprised at @@.orangered;how easily $he got away with this,@@ and is wondering @@.mediumorchid;what else $he could get away with.@@
-		<<set $activeSlave.trust += 10>>
-		<<set $activeSlave.devotion -= 10>>
-	<</replace>>
-<</link>>
-<<if $seePee == 1>>
-	<br><<link "Let $him stay in bed, but move it to a public restroom">>
-		<<replace "#result">>
-			You quickly pin the blanket to the mattress, securing $him in place. You direct that a urinal in one of $arcologies[0].name's public restrooms be unbolted and replaced by the mattress, slave and all. $He's been swearing and threatening all this time, but the calumny reaches a shrieking crescendo (though muffled by the blanket) when $he feels urine beginning to soak through the blanket. After an hour or so $he's begging to be let out, @@.gold;swearing $he'll improve $his conduct.@@
-			<<set $activeSlave.trust -= 5>>
-		<</replace>>
-	<</link>>
-<</if>>
-<<if canDoAnal($activeSlave) || canDoVaginal($activeSlave)>>
-	<br><<link "Let $him stay in bed, but move it to a whorehouse">>
-		<<replace "#result">>
-			You quickly pin the blanket to the mattress, securing $him in place. You direct that $he be brought to an arcology salon that serves as a slave brothel. Once $he's there, you take a pair of scissors and cut a slit through the sheets. $He's been swearing and threatening all this time, but the calumny reaches a shrieking crescendo when $he feels a cock being shoved through the slit and between $his buttocks. Being muffled and held immobile for rape for hire @@.gold;terrifies $him@@ but @@.yellowgreen;earns some cash.@@
-			<<set $activeSlave.trust -= 5>>
-			<<if canDoVaginal($activeSlave)>>
-				<<run seX($activeSlave, "vaginal", "public", "penetrative", 5)>>
-				<<if canDoAnal($activeSlave)>>
-					<<run seX($activeSlave, "anal", "public", "penetrative", 5)>>
-					<<if $activeSlave.vagina == 0 && $activeSlave.anus == 0>>
-						After the patrons have their way with $him, @@.lime;both $his pussy and asshole have been broken in.@@ $He @@.mediumorchid;hates@@ losing $his virginities in such an undignified manner and @@.gold;fears@@ what will be taken from $him next.
-						<<set $activeSlave.trust -= 5, $activeSlave.devotion -= 5, $activeSlave.vagina++, $activeSlave.anus++>>
-					<<elseif $activeSlave.vagina == 0>>
-						After the patrons have their way with $him, @@.lime;$he's certainly no longer a virgin.@@ $He @@.mediumorchid;hates@@ losing $his virginity in such an undignified manner and @@.gold;fears@@ what will be taken from $him next.
-						<<set $activeSlave.trust -= 5, $activeSlave.devotion -= 5, $activeSlave.vagina++>>
-					<<elseif $activeSlave.anus == 0>>
-						After the patrons have their way with $him, @@.lime;$he's certainly no longer an anal virgin.@@ $He @@.mediumorchid;hates@@ losing $his anal virginity in such an undignified manner and @@.gold;fears@@ what will be taken from $him next.
-						<<set $activeSlave.trust -= 5, $activeSlave.devotion -= 5, $activeSlave.anus++>>
-					<</if>>
-					<<if canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-						<<run knockMeUp($activeSlave, 25, 2, -2)>>
-					<</if>>
-				<<else>>
-					<<if $activeSlave.vagina == 0>>
-						After the patrons have their way with $him, @@.lime;$he's certainly no longer a virgin.@@ $He @@.mediumorchid;hates@@ losing $his virginity in such an undignified manner and @@.gold;fears@@ what will be taken from $him next.
-						<<set $activeSlave.trust -= 5, $activeSlave.devotion -= 5, $activeSlave.vagina++>>
-					<</if>>
-					<<if canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-						<<run knockMeUp($activeSlave, 25, 0, -2)>>
-					<</if>>
-				<</if>>
-			<<elseif canDoAnal($activeSlave)>>
-				<<run seX($activeSlave, "anal", "public", "penetrative", 10)>>
-				<<if $activeSlave.anus == 0>>
-					After the patrons have their way with $him, @@.lime;$he's certainly no longer an anal virgin.@@ $He @@.mediumorchid;hates@@ losing $his anal virginity in such an undignified manner and @@.gold;fears@@ what will be taken from $him next.
-					<<set $activeSlave.trust -= 5, $activeSlave.devotion -= 5, $activeSlave.anus++>>
-					<<if canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-						<<run knockMeUp($activeSlave, 50, 1, -2)>>
-					<</if>>
-				<</if>>
-			<</if>>
-			<<run cashX(100, "event", $activeSlave)>>
-		<</replace>>
-	<</link>><<if ($activeSlave.anus == 0 && canDoAnal($activeSlave)) || ($activeSlave.vagina == 0 && canDoVaginal($activeSlave))>> //This option will take $his virginity//<</if>>
-<</if>>
-<<if $arcade > 0>>
-	<br><<link "Sentence $him to a month in the arcade">>
-		<<replace "#result">>
-			$activeSlave.slaveName screams and begs when $he realizes what $his punishment is, but you are obdurate.
-			<<if ($activeSlave.muscles > 30)>>
-				$His powerful form has to be sedated for immurement in the arcade.
-			<<elseif ($activeSlave.weight >= 190)>>
-				$He is so massively fat that immuring $him in the arcade is a struggle, even when $he isn't trying to.
-			<<elseif $activeSlave.belly >= 120000>>
-				$He is so enormously gravid that immuring $him in the arcade is a hassle, even though $his _belly middle limits $his ability to struggle.
-			<<elseif ($activeSlave.weight >= -10)>>
-				$His desperate struggles make immuring $him in the arcade difficult.
-			<<elseif $activeSlave.belly >= 1500>>
-				$His <<if $activeSlave.bellyPreg >= 3000>>pregnant<<else>>_belly<</if>> body makes it slightly difficult to fit $him properly into the restraints for immurement in the arcade.
-			<<elseif $activeSlave.muscles < -15>>
-				$His weak body makes immuring $him in the arcade pathetically easy.
-			<<else>>
-				$His thin form makes immuring $him in the arcade pathetically easy.
-			<</if>>
-			After $he's properly confined, the only sign of $his discomfiture is a slight movement of $his $activeSlave.skin butt as $he wriggles desperately against $his restraints.
-			<<= assignJob($activeSlave, "be confined in the arcade")>>
-			<<set $activeSlave.sentence = 4>>
-		<</replace>>
-	<</link>>
-<</if>>
-
 <<case "vocal disobedience">>
 
 <<link "Give $him a rough spanking">>
@@ -3584,224 +3053,23 @@ $He cranes $his neck, glancing over $his shoulder to give you a pleading look.
 	<</replace>>
 <</link>><<if ($activeSlave.anus == 0 && canDoAnal($activeSlave)) || ($activeSlave.vagina == 0 && canDoVaginal($activeSlave))>> //This option will take $his virginity//<</if>>
 
-<<case "cumslut whore">>
+<<case "age implant">>
 
-<<link "$He must have at least a little room left">>
+<<link "Go out clubbing to make $him feel young again">>
 	<<replace "#result">>
-		You call $activeSlave.slaveName in and ask how full $he is. $He looks confused for a moment but soon figures out what you mean.
-		<<if !canTalk($activeSlave) && (!hasAnyArms($activeSlave))>>
-			As a mute amputee $he communicates poorly,
-			<<if $activeSlave.inflationType == "cum">>
-				<<if $activeSlave.bellyFluid >= 10000>>
-					but $he sticks out $his hugely bloated cum-belly and opens wide, $his intent clear.
-				<<elseif $activeSlave.bellyFluid >= 5000>>
-					but $he wiggles around so $his cum-filled belly sloshes audibly before opening wide.
-				<<else>>
-					but $he sticks out $his cum-swollen belly and opens wide, $his intent clear.
-				<</if>>
-			<<else>>
-				but $he does manage to look hungry.
-			<</if>>
-		<<elseif !canTalk($activeSlave)>>
-			<<if $activeSlave.inflationType == "cum">>
-				<<if $activeSlave.bellyFluid >= 10000>>
-					$He strokes $his hugely bloated cum-belly, makes a sign for "never," and then makes a sign for "enough."
-				<<elseif $activeSlave.bellyFluid >= 5000>>
-					$He jiggles $his cum-filled belly lewdly, makes a sign for "need," and then makes a sign for "more."
-				<<else>>
-					$He pats $his cum-swollen belly, makes a sign for "much," and then makes a sign for "room."
-				<</if>>
-			<<else>>
-				$He gestures at $his<<if $activeSlave.belly >= 1500>> _belly<</if>> stomach, makes a sign for "full," and then makes a sign for "never."
-			<</if>>
-		<<else>>
-			<<if $activeSlave.inflationType == "cum">>
-				<<if $activeSlave.bellyFluid >= 10000>>
-					$He strokes $his hugely bloated cum-belly, "Oh <<Master>>, I've had <<s>>o much cum already today, but I can't help my<<s>>elf if you're offering me even more. I'll find <<s>>ome room in there,"
-				<<elseif $activeSlave.bellyFluid >= 5000>>
-					$He jiggles $his cum-filled belly lewdly, "Oh <<Master>>, there'<<s>> <<s>>o much already in me, but I feel <<s>>o empty <<s>>till."
-				<<else>>
-					$He pats $his cum-swollen stomach, "Oh <<Master>>, thi<<s>> little belly i<<s>> nothing, I alway<<s>> have room for more,"
-				<</if>>
-			<<else>>
-				"Oh <<Master>>, I'll never be full again,"
-			<</if>>
-			$he <<say>>s<<if $activeSlave.lips > 70>> past $his enormous lips<<elseif $activeSlave.lipsPiercing+$activeSlave.tonguePiercing > 2>> past $his mouthful of piercings<</if>>.
-		<</if>>
-		$He comes eagerly over and sucks you off with enthusiasm. As you cum, $he orgasms quickly at the <<if canTaste($activeSlave)>>taste<<else>>feeling<</if>> of the stuff hitting $his mouth<<if $PC.balls >= 10>>, even as your load keeps flowing into $his gullet<<if $PC.balls >= 30>> steadily bloated the poor $girl<</if>><</if>>.
-		<<if !canTalk($activeSlave)>>
-			$He <<if !canTaste($activeSlave)>>(rather ironically) <</if>>signs that you taste great.
+		You call out to stop $him, and $he turns obediently to listen; you tell $him to take the day off and meet you that evening for a trip to $arcologies[0].name's most fashionable nightclub. You emphasize slightly that it's a place you prefer to enjoy with a young slave, and $his eyes widen a little at the implied compliment and challenge. Right at the proper time, $he arrives in your office wearing neon $activeSlave.hColor makeup to match $his hair, and a tiny iridescent club<<= $girl>> outfit of the same color. The hem of the skirt is barely low enough to conceal $him <<if ($activeSlave.dick > 0)>>dick<<elseif $activeSlave.vagina == -1>>total lack of private parts<<else>>pussy<</if>>, and it's backless. The front is held up by a halter around $his pretty neck, and is <<if ($activeSlave.boobs > 2000)>>specially tailored to cover $his massive tits<<elseif ($activeSlave.boobs > 1000)>>strained by $his big tits<<elseif ($activeSlave.boobs > 300)>>tightly filled by $his healthy tits<<else>>tight against $his flat chest<</if>><<if $activeSlave.belly >= 1500>> and _belly <<if $activeSlave.bellyPreg >= 1500>>pregnant <</if>>belly<</if>>. $He makes a gaudy and very fashionable spectacle, and in response to your <<if canSee($activeSlave)>>look<<elseif canHear($activeSlave)>>whistle<<else>>gentle poke<</if>> $he raises <<if (!hasAnyArms($activeSlave))>>the stumps of $his arms ever so slightly<<if (hasBothArms($activeSlave))>>both arms<<else>>$his arm<</if>> over $his head<</if>> and twirls, shimmying $his body deliciously.
+		"I hope they let me into the club without checking my I.D., <<Master>>," $he jokes,
+		for which $he receives a swat on $his rear as you head out. With the full day of rest, $he is full of vigor and ready to dance. $He eagerly heads out onto the floor with you,
+		<<if ($activeSlave.skill.entertainment >= 100)>>
+			masterfully moving $his <<if $activeSlave.belly >= 1500>><<if $activeSlave.bellyPreg >= 1500>>gravid<<else>>rounded<</if>><</if>> body to the heavy beat, grabbing the attention of all the men and most of the women in $clubName.
+		<<elseif ($activeSlave.skill.entertainment > 60)>>
+			expertly moving $his <<if $activeSlave.belly >= 1500>><<if $activeSlave.bellyPreg >= 1500>>gravid<<else>>rounded<</if>><</if>> body to the heavy beat, mesmerizing $his neighbors on the floor.
+		<<elseif ($activeSlave.skill.entertainment > 30)>>
+			skillfully moving $his <<if $activeSlave.belly >= 1500>><<if $activeSlave.bellyPreg >= 1500>>gravid<<else>>rounded<</if>><</if>> body to the heavy beat, drawing a lustful gaze or two.
 		<<else>>
-			"<<Master>>, you ta<<s>>te great," $he <<if !canTaste($activeSlave)>>(rather ironically) <</if>>purrs.
+			clumsily moving <<if $activeSlave.belly >= 1500>><<if $activeSlave.bellyPreg >= 1500>>gravid<<else>>rounded<</if>><</if>> $his body to the heavy beat, attracting little notice among the press of novices.
 		<</if>>
-		@@.mediumaquamarine;$He has become more trusting@@ in your willingness to give $him what $he wants.
-		<<set $activeSlave.trust += 4>>
-		<<run seX($activeSlave, "oral", $PC, "penetrative")>>
-	<</replace>>
-<</link>>
-<br><<link "Cum in $his mouth all night">>
-	<<replace "#result">>
-		You've had a busy day, so you've been unusually remiss in fucking your slaves. Naturally, this means you'll be spending the evening wandering around your home using your living sexual appliances. $activeSlave.slaveName is instructed to follow you and assist. $He's tired, so <<if (!hasAnyArms($activeSlave))>>you bring <<if (isAmputee($activeSlave))>>$his limbless torso<<else>>$him<</if>> along as a cum receptacle. Whenever you're about to finish in another slave, you pull out and fill $his mouth instead.<<else>>you let $him tag meekly along, masturbating gently as you use other slaves or just watching lazily. But whenever you're on the point of coming, you switch to $his mouth and let $him finish you with a few sucks and pumps of $his fatigued hand<<if (hasBothArms($activeSlave))>>s<</if>>.<</if>> By the time you put the exhausted $activeSlave.slaveName to bed $he's in a haze of cum-induced pleasure. @@.hotpink;$He has become more submissive to you.@@
-		<<set $activeSlave.devotion += 4>>
-		<<run seX($activeSlave, "oral", $PC, "penetrative", 5)>>
-	<</replace>>
-<</link>>
-<<if (cumSlaves().length >= 5)>>
-	<br><<link "Give $him access to the Dairy's cockmilk">>
-		<<replace "#result">>
-			You let $him know you have a sexual accessory for $him to use. This isn't too unusual, so $he comes to your office without much anticipation. $He doesn't understand why you have an enormous sealed canister of fresh cum on your desk, but when you explain that it's $hers to play with on the job, $he starts to bounce with excitement. Not all of $his customers are interested in cum play, but quite a few are, and $he spends almost as much time cleaning up the gorgeous messes that get made as $he does making them. It's a valuable and @@.yellowgreen;profitable@@ whore who @@.hotpink;looks forward@@ to $his next customer.
-			<<set $activeSlave.devotion += 10>>
-			<<run cashX(random(500,1000), "event", $activeSlave)>>
-		<</replace>>
-	<</link>>
-<</if>>
-
-<<case "loose buttslut">>
-
-<<link "Add something to fill $him completely">>
-	<<replace "#result">>
-		$He's so occupied that $he doesn't <<if canHear($activeSlave)>>hear you<<else>>sense your presence<</if>> until you<<if $PC.dick == 0>> don a strap-on and<</if>> tip $him over face forward. With $him on $his knees, $his dildo-stuffed ass is in the air; $he's still masturbating between $his legs. After a moment's consideration, you slide two exploratory fingers in alongside the dildo. $He gasps and masturbates harder. Thus encouraged, you shove <<if $PC.dick == 0>>the strap-on<<else>>your member<</if>> in alongside the dildo. <<if $activeSlave.voice != 0>>$He screams at the surprise double anal, sobbing and begging,<<else>>$He screams noiselessly at the surprise double anal, waving $his hands in distress,<</if>> but $he doesn't try to stop you and doggedly keeps rubbing. By the time you're finished $his asshole is a gaping hole much bigger than the average pussy. @@.hotpink;$He has become more submissive to you.@@
-		<<set $activeSlave.devotion += 4>>
-		<<= VCheck.Anal($activeSlave, 1)>>
-	<</replace>>
-<</link>>
-<br><<link "Let $him use a machine">>
-	<<replace "#result">>
-		There's no reason for $him to do that in a quiet corner. You interrupt $him and bring $him into your office, setting $him up on a machine so $he can have that dildo rammed up $his ass for as long as $he likes. Your office is filled with the rhythmic sounds of a sloppy anus being pounded for a good long while.
-		<<if $assistant.personality > 0>>
-			The
-			<<switch $assistant.appearance>>
-			<<case "monstergirl">>
-				monstrous voice of your assistant's avatar can also be heard, encouraging $activeSlave.slaveName to "take my cocks, slave."
-			<<case "shemale">>
-				sultry voice of your assistant's avatar can also be heard, encouraging $activeSlave.slaveName to "take my dick, bitch."
-			<<case "amazon">>
-				aggressive voice of your assistant's avatar can also be heard, encouraging $activeSlave.slaveName to "be a warrior."
-			<<case "businesswoman">>
-				dominant voice of your assistant's avatar can also be heard, encouraging $activeSlave.slaveName to "stop struggling and be a good $girl."
-			<<case "goddess" "hypergoddess">>
-				calming voice of your assistant's avatar can also be heard, encouraging $activeSlave.slaveName to "relax and accept what you deserve, $girl."
-			<<case "loli">>
-				young, naïve voice of your assistant's avatar can also be heard, encouraging $activeSlave.slaveName to "relax, it'll get better."
-			<<case "preggololi">>
-				young voice of your assistant's avatar can also be heard, encouraging $activeSlave.slaveName to "relax, you know it'll be fun!"
-			<<case "angel">>
-				harmonious voice of your assistant's avatar can also be heard, encouraging $activeSlave.slaveName to "relax, it'll be over soon."
-			<<case "cherub">>
-				cheerful voice of your assistant's avatar can also be heard, encouraging $activeSlave.slaveName to "relax, it'll feel better if you do!"
-			<<case "incubus">>
-				forceful voice of your assistant's avatar can also be heard, encouraging $activeSlave.slaveName to "take my dick, cocksleeve, take it till you split!"
-			<<case "succubus">>
-				sultry voice of your assistant's avatar can also be heard, encouraging $activeSlave.slaveName to "enjoy the pounding while it lasts."
-			<<case "imp">>
-				mischievous voice of your assistant's avatar can also be heard, mocking $activeSlave.slaveName, "your butthole is going to be so loose after this! You'll be nothing more than a used up whore!"
-			<<case "witch">>
-				uncertain voice of your assistant's avatar can also be heard, encouraging $activeSlave.slaveName to "just relax and get it over with."
-			<<case "ERROR_1606_APPEARANCE_FILE_CORRUPT">>
-				unclear voice of your assistant's avatar can also be heard, encouraging $activeSlave.slaveName to "scream louder and let it fill your body completely."
-			<<case "schoolgirl">>
-				girly voice of your assistant's avatar can also be heard, encouraging $activeSlave.slaveName to "be quiet, or Teacher will hear us."
-			<<default>>
-				poor slave is taken to the very limit by your assistant.
-			<</switch>>
-			<<run seX($activeSlave, "anal", "assistant", "penetrative")>>
-		<<else>>
-			<<run actX($activeSlave, "anal")>>
-		<</if>>
-		By the time $he's climaxed out, $he's so tired and apathetic that $he can't bring $himself to get off it or ask for help, so $he just relaxes and enjoys the internal massage<<if $activeSlave.dick != 0>> while $his flaccid dick twitches weakly<</if>>. @@.mediumaquamarine;$He has become more trusting of you,@@ since you knew just what $he needed.
-		<<set $activeSlave.trust += 4>>
-	<</replace>>
-<</link>>
-<<if $HeadGirlID != 0 && $HeadGirlID != $activeSlave.ID>>
-	<br><<link "Call your Head Girl in for double anal">>
-		<<setLocalPronouns _S.HeadGirl 2>>
-		<<replace "#result">>
-			When _S.HeadGirl.slaveName comes into your office in response to your summons, _he2 finds $activeSlave.slaveName sitting in your lap with your <<if $PC.dick == 0>>strap-on<<else>>dick<</if>> up $his gaping butt<<if $PC.vagina != -1>><<if $PC.dick != 0>>, your bare pussy very visible at the base of your working cock<</if>><</if>>. _S.HeadGirl.slaveName's expression softens when _he2 realizes _he2's here for pleasure, not business. $activeSlave.slaveName gasps a little when $he <<if canHear($activeSlave)>>hears you tell _S.HeadGirl.slaveName to join you up $his asshole,<<else>>feels you pull apart $his asscheeks to make some room for _S.HeadGirl.slaveName,<</if>> but $he doesn't protest.
-			<<if ($activeSlave.chastityPenis == 1)>>
-				Since your poor Head Girl can't use _his2 caged cock, _he2 takes a dildo and shoves it up $activeSlave.slaveName's already-filled butt without further ado.
-			<<elseif canAchieveErection() && _S.HeadGirl.dick > 7>>
-				Even though your Head Girl is rock-hard and ready to fuck, _his2 cock is far too large to fit into even the most stretched slave's holes. Sighing, _he2 takes a dildo and shoves it up $activeSlave.slaveName's already-filled butt instead.
-			<<elseif canAchieveErection() && _S.HeadGirl.dick > 6>>
-				Your lusty Head Girl is already hard and forces _his2 oversized cock up $activeSlave.slaveName's already-filled butt while <<if $activeSlave.nipples != "fuckable">>tweaking<<else>>fingering<</if>> the moaning slave's nipples.
-			<<elseif (_S.HeadGirl.dick > 0) && (_S.HeadGirl.hormoneBalance >= 100)>>
-				Since your poor Head Girl can't get hard due to _his2 hormone therapy, _he2 dons a strap-on over _his2 flaccid penis and shoves it up $activeSlave.slaveName's already-filled butt without further ado.
-			<<elseif (_S.HeadGirl.dick > 0) && (_S.HeadGirl.balls > 0) && (_S.HeadGirl.ballType == "sterile")>>
-				Since your poor Head Girl can't get hard due to _his2 chemical castration, _he2 dons a strap-on over _his2 flaccid penis and shoves it up $activeSlave.slaveName's already-filled butt without further ado
-			<<elseif (_S.HeadGirl.dick > 0) && (_S.HeadGirl.balls == 0)>>
-				Since your poor Head Girl can't get hard due to _his2 orchiectomy, _he2 dons a strap-on over _his2 flaccid penis and shoves it up $activeSlave.slaveName's already-filled butt without further ado.
-			<<elseif !canAchieveErection(_S.HeadGirl) && _S.HeadGirl.dick > 6>>
-				Since your poor Head Girl is far too big to get hard, much to $activeSlave.slaveName's disappointment, _he2 dons a strap-on over _his2 flaccid penis and shoves it up $activeSlave.slaveName's already-filled butt without further ado.
-			<<elseif !canAchieveErection(_S.HeadGirl) && _S.HeadGirl.dick > 0>>
-				Since your poor Head Girl can't get it up for one reason or another, _he2 dons a strap-on over _his2 flaccid penis and shoves it up $activeSlave.slaveName's already-filled butt without further ado.
-			<<elseif _S.HeadGirl.dick > 0>>
-				Your lusty Head Girl is already hard and shoves _himself2 up $activeSlave.slaveName's already-filled butt while <<if $activeSlave.nipples != "fuckable">>tweaking<<else>>fingering<</if>> the writhing slave's nipples.
-			<<else>>
-				_He2 dons a strap-on and shoves it up $activeSlave.slaveName's already-filled butt without further ado.
-			<</if>>
-			The two of you jackhammer in and out of $activeSlave.slaveName's ass without mercy; the poor anal whore does $his best to relax, but two phalli at once is a lot, even for $him. $He's only allowed an anal respite when $his sphincter is really fucked out and there's little butthole fun to be had from $him any longer. $He has become @@.hotpink;more submissive to you,@@ and _S.HeadGirl.slaveName @@.hotpink;enjoyed@@ taking a break to fuck $him with you.
-			<<set $activeSlave.devotion += 4, _S.HeadGirl.devotion += 4>>
-			<<run seX($activeSlave, "anal", $PC, "penetrative")>>
-			<<run seX($activeSlave, "anal", _S.HeadGirl, "penetrative")>>
-			<<if canImpreg($activeSlave, $PC)>>
-				<<run knockMeUp($activeSlave, 5, 0, -1)>>
-			<</if>>
-			<<if canImpreg($activeSlave, _S.HeadGirl)>>
-				<<run knockMeUp($activeSlave, 5, 0, $HeadGirlID)>>
-			<</if>>
-		<</replace>>
-	<</link>>
-<</if>>
-
-<<case "hormone dysfunction">>
-
-<<link "Give $him some vasodilators so $he can get relief">>
-	<<replace "#result">>
-		You give $him a shot and send $him on $his way. Within a few minutes it gives $him a raging hard-on that lasts for hours. $He spends every spare moment masturbating furiously. Of course, this is a temporary solution, and will just make the eventual return of $his problem more disappointing. @@.mediumorchid;$He is bitterly frustrated.@@
-		<<set $activeSlave.devotion -= 5>>
-	<</replace>>
-<</link>>
-<br><<link "Sissy slave <<= $girl>>s don't need to climax to serve">>
-	<<replace "#result">>
-		You explain patiently that $he needs to stop focusing on getting off. $He's a sex slave, and what matters is that $he pleasures others. If $he doesn't climax $himself, that's unfortunate but not really significant. $He looks terribly forlorn, so to drive home the point you push $him down to the floor, give $him a rough facefuck, and send $him away with tousled hair, <<if $PC.dick == 0>>a tired tongue<<else>>a mouthful of ejaculate<</if>>, and the same limp dick as before. @@.mediumorchid;It's frustrating for $him.@@
-		<<set $activeSlave.devotion -= 2>>
-		<<if ($activeSlave.clitSetting != $activeSlave.fetish)>>
-			But, $he slowly @@.lightcoral;accepts $his new role as a submissive little sex toy.@@
-			<<set $activeSlave.fetishStrength = 65, $activeSlave.fetishKnown = 1, $activeSlave.fetishStrength = 10, $activeSlave.fetish = "submissive">>
-		<</if>>
-		<<run seX($activeSlave, "oral", $PC, "penetrative")>>
-	<</replace>>
-<</link>>
-<<if $activeSlave.prostate != 0 && canDoAnal($activeSlave)>>
-	<br><<link "Prostate stimulation ought to do the trick">>
-		<<replace "#result">>
-			You explain that $he will have to find a new way to climax to be a happy little shemale slut. As you do, you push $him against a wall and force $him up on tiptoe so that $his butt is conveniently positioned, and then ram <<if $PC.dick == 0>>a vibrating strap-on<<else>>yourself<</if>> up $his ass. $He squeals and dances against the wall on tiptoe, impaled on your <<if $PC.dick == 0>>fake cock<<else>>member<</if>>. $He doesn't climax to anal then, or the next time you assfuck $him, or the time after that; but some time later a long buttsex session ends when $he gives a little shake and a whimper and dribbles a pathetic squirt of cum from $his still-limp dick. By the end of the week @@.mediumaquamarine;$he's smiling trustingly@@ and offering you $his butt every chance $he gets.
-			<<= VCheck.Anal($activeSlave, 10)>>
-			<<set $activeSlave.trust += 4>>
-			<<if ($activeSlave.clitSetting != $activeSlave.fetish)>>
-				@@.lightcoral;$He's become a confirmed anal addict.@@
-				<<set $activeSlave.fetishStrength = 65, $activeSlave.fetishKnown = 1, $activeSlave.fetishStrength = 10, $activeSlave.fetish = "buttslut">>
-			<</if>>
-		<</replace>>
-	<</link>><<if ($activeSlave.anus == 0 && canDoAnal($activeSlave))>> //This option will take $his virginity//<</if>>
-<</if>>
-
-<<case "age implant">>
-
-<<link "Go out clubbing to make $him feel young again">>
-	<<replace "#result">>
-		You call out to stop $him, and $he turns obediently to listen; you tell $him to take the day off and meet you that evening for a trip to $arcologies[0].name's most fashionable nightclub. You emphasize slightly that it's a place you prefer to enjoy with a young slave, and $his eyes widen a little at the implied compliment and challenge. Right at the proper time, $he arrives in your office wearing neon $activeSlave.hColor makeup to match $his hair, and a tiny iridescent club<<= $girl>> outfit of the same color. The hem of the skirt is barely low enough to conceal $him <<if ($activeSlave.dick > 0)>>dick<<elseif $activeSlave.vagina == -1>>total lack of private parts<<else>>pussy<</if>>, and it's backless. The front is held up by a halter around $his pretty neck, and is <<if ($activeSlave.boobs > 2000)>>specially tailored to cover $his massive tits<<elseif ($activeSlave.boobs > 1000)>>strained by $his big tits<<elseif ($activeSlave.boobs > 300)>>tightly filled by $his healthy tits<<else>>tight against $his flat chest<</if>><<if $activeSlave.belly >= 1500>> and _belly <<if $activeSlave.bellyPreg >= 1500>>pregnant <</if>>belly<</if>>. $He makes a gaudy and very fashionable spectacle, and in response to your <<if canSee($activeSlave)>>look<<elseif canHear($activeSlave)>>whistle<<else>>gentle poke<</if>> $he raises <<if (!hasAnyArms($activeSlave))>>the stumps of $his arms ever so slightly<<if (hasBothArms($activeSlave))>>both arms<<else>>$his arm<</if>> over $his head<</if>> and twirls, shimmying $his body deliciously.
-		"I hope they let me into the club without checking my I.D., <<Master>>," $he jokes,
-		for which $he receives a swat on $his rear as you head out. With the full day of rest, $he is full of vigor and ready to dance. $He eagerly heads out onto the floor with you,
-		<<if ($activeSlave.skill.entertainment >= 100)>>
-			masterfully moving $his <<if $activeSlave.belly >= 1500>><<if $activeSlave.bellyPreg >= 1500>>gravid<<else>>rounded<</if>><</if>> body to the heavy beat, grabbing the attention of all the men and most of the women in $clubName.
-		<<elseif ($activeSlave.skill.entertainment > 60)>>
-			expertly moving $his <<if $activeSlave.belly >= 1500>><<if $activeSlave.bellyPreg >= 1500>>gravid<<else>>rounded<</if>><</if>> body to the heavy beat, mesmerizing $his neighbors on the floor.
-		<<elseif ($activeSlave.skill.entertainment > 30)>>
-			skillfully moving $his <<if $activeSlave.belly >= 1500>><<if $activeSlave.bellyPreg >= 1500>>gravid<<else>>rounded<</if>><</if>> body to the heavy beat, drawing a lustful gaze or two.
-		<<else>>
-			clumsily moving <<if $activeSlave.belly >= 1500>><<if $activeSlave.bellyPreg >= 1500>>gravid<<else>>rounded<</if>><</if>> $his body to the heavy beat, attracting little notice among the press of novices.
-		<</if>>
-		It doesn't take long for $him to back $himself into you so $he can grind; $he cranes $his neck back to plant an @@.hotpink;earnest kiss@@ on your chin.
+		It doesn't take long for $him to back $himself into you so $he can grind; $he cranes $his neck back to plant an @@.hotpink;earnest kiss@@ on your chin.
 		<<set $activeSlave.devotion += 4>>
 	<</replace>>
 <</link>>
@@ -4236,71 +3504,6 @@ $He cranes $his neck, glancing over $his shoulder to give you a pleading look.
 	<</link>><<if canDoVaginal($activeSlave) && ($activeSlave.vagina == 0)>>//This option will take $his virginity//<<elseif !canDoVaginal($activeSlave) && ($activeSlave.anus == 0)>> //This option will take $his anal virginity//<</if>>
 <</if>>
 
-<<case "devoted old">>
-
-<<if canDoAnal($activeSlave) || canDoVaginal($activeSlave)>>
-	<<link "Cheer $him up">>
-		<<replace "#result">>
-			You close in on $him, and $he starts to present $himself with the force of long habit. However, you take $him by the hand and draw $him in close, running your fingertips along $his cheekbone, looking into $his <<= App.Desc.eyesColor($activeSlave)>>. <<if canSee($activeSlave)>>$He only holds your gaze for a brief moment before blushing and looking down again,<<else>>Once $he feels your hand stop, $he quickly glances down while<</if>> muttering another apology. You raise $his chin again with a gentle hand and give $him a deep kiss. After a moment $he hugs you with almost painful
-			<<if $activeSlave.belly >= 100000>>
-				fierceness, a feat given the size of $his _belly <<if $activeSlave.bellyPreg >= 3000>>gravid <</if>>belly, where
-			<<elseif $activeSlave.belly >= 5000>>
-				fierceness, pushing $his _belly <<if $activeSlave.bellyPreg >= 3000>>gravid <</if>>belly into yours, where
-			<<else>>
-				fierceness, and
-			<</if>>
-			you can feel a heat radiating from $him. $He makes to get down on $his knees to serve you again, but instead, you
-			<<if $activeSlave.belly >= 300000>>
-				help $him up and guide
-			<<elseif $activeSlave.belly >= 5000>>
-				gently scoop $him up and carry
-			<<else>>
-				scoop $him up and carry
-			<</if>>
-			$him to bed, laying the bemused $girl down before cuddling up behind $him. The two of you make languid love, with you <<if canHear($activeSlave)>>murmuring reassuringly into $his ear, <</if>>nibbling $his neck, cupping $his breasts,<<if $activeSlave.belly >= 1500>>rubbing $his distended midriff,<</if>> and massaging $his shoulders by turns. After a lovely climax together in $his
-			<<if canDoAnal($activeSlave) && canDoVaginal($activeSlave)>>
-				pussy $he coquettishly shifts $himself to line your recovering cock up with $his ass,
-				<<set _didVaginal = 1, _didAnal = 1>>
-			<<elseif canDoVaginal($activeSlave)>>
-				pussy $he coquettishly shifts $himself to face you,
-				<<set _didVaginal = 1>>
-			<<else>>
-				ass $he coquettishly shifts $himself to face you,
-				<<set _didAnal = 1>>
-			<</if>>
-			<<if canSee($activeSlave)>>looking with @@.hotpink;adoration@@ and new @@.mediumaquamarine;confidence@@ into your eyes<<else>>gazing with @@.hotpink;adoration@@ and new @@.mediumaquamarine;confidence@@ at your face<</if>>.
-			<<set $activeSlave.devotion += 4, $activeSlave.trust += 4>>
-			<<if _didVaginal == 1 && _didAnal == 1>>
-				<<= VCheck.Both($activeSlave, 1)>>
-			<<elseif _didVaginal == 1>>
-				<<= VCheck.Vaginal($activeSlave, 1)>>
-			<<elseif _didAnal == 1>>
-				<<= VCheck.Anal($activeSlave, 1)>>
-			<</if>>
-		<</replace>>
-	<</link>>
-<</if>>
-<br><<link "Perform a health exam personally">>
-	<<replace "#result">>
-		$He gets a weekly health exam from the automated systems, which also do their best to monitor $his well-being, but $he does not protest as you take $him to the surgery and give $him a <<if $PC.skill.medicine >= 100>>professional examination. It feels good to put the old skills to use on an attractive patient<<else>>thorough examination<</if>>. There's nothing the matter other than that $he hasn't been 18 for a long time. $He looks a little sad at some of the results, but whenever $he does, you place a hand on $his cheek and give $him a kiss. $He gets the idea.
-		"I under<<s>>tand, <<Master>>. I can <<s>>till <<s>>erve you," $he <<say>>s.
-		You adjust $his diet and exercise a little, which should @@.health.inc;slightly improve@@ $his health<<if $PC.skill.medicine >= 100>>, and prescribe some new supplements that might help $him @@.health.inc;feel $his best@@ all the time<<run improveCondition($activeSlave, 10)>><</if>>. As $he gets up from the chair and makes to resume $his duties, you give $him a light swat across the buttocks. $He squeaks and turns to @@.mediumaquamarine;giggle at you,@@ giving you a broad wink and shaking $his tits a little for you.
-		<<set $activeSlave.trust += 4>>
-		<<run improveCondition($activeSlave, 10)>>
-	<</replace>>
-<</link>>
-<<if _S.HeadGirl && $HeadGirlID != $activeSlave.ID>>
-	<br><<link "Give $him an afternoon off for some quality time with your Head Girl">>
-		<<setLocalPronouns _S.HeadGirl 2>>
-		<<replace "#result">>
-			_S.HeadGirl.slaveName understands the situation immediately. _He2 gets _himself2 and $activeSlave.slaveName dressed for a nice, non-sexual 'date' in $clubName, and leads $him out by the hand with a wink over _his2 shoulder to you. Your Head Girl understands just what kind of break from sexual servitude $activeSlave.slaveName really needs. They enjoy a nice meal, take a stroll and talk as friends, and get some inconsequential but relaxing beauty treatments together. They both @@.hotpink;enjoy the relaxation,@@ and $activeSlave.slaveName @@.health.inc;feels much better@@ after the rest, too.
-			<<set $activeSlave.devotion += 4>>
-			<<run cashX(forceNeg(500), "event", $activeSlave), improveCondition($activeSlave, 10)>>
-			<<set _S.HeadGirl.devotion += 4>>
-		<</replace>>
-	<</link>> //This option will cost <<print cashFormat(500)>>//
-<</if>>
-
 <<case "tendon fall">>
 
 <<link "Help $him clean $himself">>
@@ -5338,425 +4541,16 @@ $He cranes $his neck, glancing over $his shoulder to give you a pleading look.
 					on the floor in front of you. $He tries to spread $his butt and angle $his hips like a good $girl, but you slap $his hands away and push your <<if $PC.dick == 0>>strap-on<<else>>cock<</if>> inside $him without regard for $his poor anus. $He shudders and begins to cry, and keeps crying as you ravage $his asshole. When you climax and pull out, $he continues to weep, but stumbles off to wash. When $he comes back, $he's still sniffling, but without being prompted,
 					<<if $activeSlave.belly >= 300000>>
 						@@.hotpink;$he leans over $his belly and offers you $his sore butthole again.@@
-					<<else>>
-						@@.hotpink;$he gets down on $his knees and offers you $his sore butthole again.@@
-					<</if>>
-					<<set $activeSlave.trust -= 4, $activeSlave.devotion += 5>>
-					<<= VCheck.Anal($activeSlave, 1)>>
-				<</replace>>
-			<</link>>
-		</span>
-	<</replace>>
-<</link>>
-
-<<case "desperately horny">>
-
-<<link "Touch $him enough to get $him off">>
-	<<replace "#result">>
-		You tell $him that $he deserves a reward for coming to you. $He almost bursts into tears and nods jerkily, unable to do anything else. You brush a finger across $his cheek, $his ear, $his lips; at each touch $he <<if !canTalk($activeSlave)>>breathes in sharply<<else>>gasps<</if>>. Moving around behind $him, you run a hand down $his flank to $his hip, and then around to $his<<if $activeSlave.belly >= 10000 || $activeSlave.bellyPreg >= 5000>> popped<</if>> navel, and up to cup $his breasts. Your run a thumb <<if $activeSlave.nipples != "fuckable">>over<<else>>into<</if>> each nipple, almost tipping $him over the edge. Your hands move down again,
-		<<if canDoAnal($activeSlave) && canDoVaginal($activeSlave)>>
-			spreading $his buttocks to tease $his clenched anus, and then forward across $his perineum. From there, you trace $his labia and end with a pinch of $his clit — and this is enough.
-		<<elseif canDoAnal($activeSlave)>>
-			spreading $his buttocks to tease $his clenched anus, and then forward across $his perineum — and this is enough.
-		<<elseif canDoVaginal($activeSlave)>>
-			tracing $his labia, and then forward to $his clit — and this is enough.
-		<<else>>
-			to give $his buttcheeks a rub down before teasing at $his chastity — and this is enough.
-		<</if>>
-		$He spasms, pitching forward
-		<<if $activeSlave.belly >= 300000>>
-			onto $his obscene belly.
-		<<else>>
-			and almost falling.
-		<</if>>
-		$He hurries to clean up after $himself, sobbing with relief and thanking you; $his submissiveness @@.hotpink;has increased.@@
-		<<set $activeSlave.devotion += 4>>
-	<</replace>>
-<</link>>
-<<if ($activeSlave.fetishKnown == 1) && ($activeSlave.fetish != "none")>>
-	<br><<link "Reward $him for coming to you">>
-		<<setNonlocalPronouns $seeDicks>>
-		<<replace "#result">>
-			$He almost cries with relief when you tell $him to
-			<<switch $activeSlave.fetish>>
-			<<case "submissive">>
-				lie down on your desk on $his side in the fetal position. $He clambers up hurriedly and hugs $his knees<<if $activeSlave.belly >= 10000>> as best $he can with $his _belly <<if $activeSlave.bellyPreg >= 3000>>pregnancy <</if>>in the way<</if>>, spinning $himself around on the smooth surface so $his rear is pointing right at you. You stand up and pull $him over, $his $activeSlave.skin skin sliding across the cool glass desktop, until $his
-				<<if canDoAnal($activeSlave) && canDoVaginal($activeSlave)>>
-					butt is right at the edge of the desk. You warm yourself up with a pussy fuck before shifting your attention to $his neglected asshole.
-					<<= VCheck.Both($activeSlave, 3)>>
-					When you finish, you
-				<<elseif canDoAnal($activeSlave)>>
-					butt is right at the edge of the desk.
-					<<= VCheck.Anal($activeSlave, 3)>>
-					You give it a good fuck and then
-				<<elseif canDoVaginal($activeSlave)>>
-					pussy is right at the edge of the desk.
-					<<= VCheck.Vaginal($activeSlave, 3)>>
-					You give it a good fuck and then
-				<<else>>
-					mouth is right at the edge of the desk. You give it a good fuck and then
-					<<run seX($activeSlave, "oral", $PC, "penetrative", 3)>>
-				<</if>>
-				order $him brusquely to clean up and come right back. You use $him as a nice little desktop <<if $PC.dick != 0>>cockholster<<else>>sex toy<</if>> for the rest of the day.
-			<<case "cumslut">>
-				get under your desk and <<if $PC.dick != 0>>suck a dick<<if $PC.vagina != -1>> and eat a pussy<</if>><<else>>eat pussy<</if>> while you work.
-				<<if $activeSlave.belly >= 120000>>
-					As $his _belly belly bumps into you, you sigh and swivel your chair to the side; there is no way $he'll fit under there in $his bloated state.
-				<</if>>
-				$He's so horny that $he's barely got <<if $PC.dick != 0>>your cock into $his mouth<<else>>$his lips and tongue on your cunt<</if>> before $he climaxes spontaneously, shivering and moaning nicely. You keep $him down there for a while, doing light work and orgasming occasionally as $he gently <<if $PC.dick != 0>>blows you<<if $PC.vagina != -1>> and eats you out<</if>><<else>>lavishes attention on your wet vagina<</if>>.
-				<<run seX($activeSlave, "oral", $PC, "penetrative", 3)>>
-			<<case "humiliation">>
-				run an unimportant message to a citizen across $arcologies[0].name. Naked. $He blushes with mixed embarrassment and anticipation. $He's so pent up that before taking ten steps out of your penthouse entryway and towards $his objective, the open stares $his naked, horny body is getting push $him over the edge.
-				<<if ($activeSlave.chastityPenis == 1)>>
-					As $he <<if $activeSlave.belly >= 10000>>waddles<<else>>walks<</if>> along, $his chastity cage continues to stream precum. It spatters $his legs, making $his desperation completely obvious to anyone who looks at $his<<if $activeSlave.belly >= 150000>> from behind<</if>>.
-				<<elseif canAchieveErection($activeSlave)>>
-					$His rock hard cock,
-					<<if $activeSlave.belly >= 150000>>
-						forced down by the size of $his _belly <<if $activeSlave.bellyPreg >= 3000>>pregnancy<<else>>stomach<</if>> as $he <<if $activeSlave.belly >= 10000>>waddles<<else>>walks<</if>> hurriedly along, jerks suddenly and shoots out a little squirt of cum down the underside of $his belly.
-					<<else>>
-						sticking straight forward as $he <<if $activeSlave.belly >= 10000>>waddles<<else>>walks<</if>> hurriedly along, jerks suddenly upward and shoots out a little squirt of cum<<if $activeSlave.belly >= 10000>> across the underside of $his <<if $activeSlave.bellyPreg >= 3000>>pregnant <</if>>belly<</if>>.
-					<</if>>
-					As $he stumbles forward, each step releases another squirt.
-				<<elseif ($activeSlave.dick > 0)>>
-					$His <<if $activeSlave.dick > 6>>enormous <</if>>soft cock, flopping around as $he <<if $activeSlave.belly >= 10000>>waddles<<else>>walks<</if>> hurriedly along, starts to twitch weakly and release little dribbles of cum. As $he stumbles forward, each step releases another squirt.
-				<<elseif $activeSlave.anus > 2>>
-					As $he stumbles a little with the orgasm, $his <<if canDoAnal($activeSlave)>>naked anus is easily visible from behind $him, and its lewd spasms attract attention<<else>>anus lewdly spasms under $his chastity, and $his odd motions attract attention<</if>>.
-				<<elseif canDoVaginal($activeSlave)>>
-					$He focuses $his attention on $his pussy, awkwardly stumbling along as $he tries to walk and finger $himself at the same time.
-				<<elseif canDoAnal($activeSlave)>>
-					$He focuses $his attention on $his asspussy, awkwardly stumbling along as $he tries to walk and play with $his own butt at the same time.
-				<<elseif $activeSlave.vagina > 0>>
-					$He squirts a little femcum down $his inner thighs as $he stumbles along, trailing the odor of a woman's pleasure behind $him.
-				<<else>>
-					$He focuses $his attention on $his breasts, awkwardly stumbling along as $he tries to walk and <<if $activeSlave.nipples != "fuckable">>tweak<<else>>finger<</if>> $his own nipples at the same time.
-				<</if>>
-				Passersby point and laugh, thrilling $him.
-			<<case "buttslut">>
-				sit on your lap.
-				<<if canDoAnal($activeSlave)>>
-					$He climaxes the instant your <<if $PC.dick != 0>>dickhead<<else>>strap-on<</if>> touches $his <<if $activeSlave.anus > 2>>anal gape<<else>>pucker<</if>>, but $he knows this is just the start, and $he laughs with pleasure as $his <<if $activeSlave.anus > 2>>lewd sphincter loosely squeezes<<else>>sphincter tightens against<</if>> the base of <<if $PC.dick != 0>>your cock<<else>>the strap-on<</if>>. You
-					<<if $activeSlave.belly >= 5000>>
-						spread your legs more and shove the<<if $activeSlave.bellyPreg >= 3000>>pregnant, <</if>>giggling buttslut down so $his _belly belly and chest are between your legs, lower your chair a little, and slide yourself back towards your desk to work.
-					<<else>>
-						shove the giggling buttslut down so $his chest is resting against the tops of your legs, lower your chair a little, and slide yourself back towards your desk to work.
-					<</if>>
-					$He wraps $his legs around the back of the chair and hugs your knees with $his arms, securing $himself
-					<<if $activeSlave.belly >= 100000>>
-						to you as an anal cocksleeve for as long as you feel like keeping <<if $PC.dick != 0>>your penis lodged up a compliant butthole<<else>>the happy buttslut nice and full<</if>>.
-					<<else>>
-						under the desk as an anal cocksleeve for as long as you feel like keeping <<if $PC.dick != 0>>your penis lodged up a compliant butthole<<else>>the happy buttslut trapped under there<</if>>.
-					<</if>>
-					<<= VCheck.Anal($activeSlave, 1)>>
-				<<else>>
-					$He climaxes the instant your <<if $PC.dick != 0>>dickhead<<else>>strap-on<</if>> squeezes between $his
-					<<if $activeSlave.butt < 2>>
-						flat, tight cheeks,
-					<<elseif $activeSlave.butt <= 2>>
-						cute cheeks,
-					<<elseif $activeSlave.butt <= 3>>
-						round, firm cheeks,
-					<<elseif $activeSlave.butt <= 4>>
-						curvy, enticing buttcheeks,
-					<<elseif $activeSlave.butt <= 5>>
-						huge cheeks,
-					<<elseif $activeSlave.butt <= 6>>
-						massive, alluring cheeks,
-					<<elseif $activeSlave.butt <= 7>>
-						enormous cheeks,
-					<<elseif $activeSlave.butt <= 10>>
-						gigantic, jiggly cheeks,
-					<<elseif $activeSlave.butt <= 14>>
-						inhuman, cushiony butt cheeks,
-					<<elseif $activeSlave.butt <= 20>>
-						couch-like, super jiggly ass cheeks,
-					<</if>>
-					but $he knows this is just the start, and $he laughs with pleasure as hug $his rear around <<if $PC.dick != 0>>your cock<<else>>the strap-on<</if>>. You
-					<<if $activeSlave.belly >= 5000>>
-						spread your legs more and shove the<<if $activeSlave.bellyPreg >= 3000>>pregnant, <</if>>giggling buttslut down so $his _belly belly and chest are between your legs, lower your chair a little, and slide yourself back towards your desk to work.
-					<<else>>
-						shove the giggling buttslut down so $his chest is resting against the tops of your legs, lower your chair a little, and slide yourself back towards your desk to work.
-					<</if>>
-					$He wraps $his legs around the back of the chair and hugs your knees with $his arms, securing $himself
-					<<if $activeSlave.belly >= 100000>>
-						to you as an a cockbun for as long as you feel like keeping <<if $PC.dick != 0>>your penis wrapped in a happy buttslut<<else>>the happy buttslut entertained<</if>>.
-					<<else>>
-						under the desk as a cockbun for as long as you feel like keeping the happy buttslut trapped under there.
-					<</if>>
-					under the desk as cockbun for as long as you feel like keeping the happy buttslut trapped under there.
-				<</if>>
-			<<case "boobs">>
-				lie atop your desk. You don't bother specifying that $he's to lie on $his back, since the boob slut jumps up and presents $his tits without instructions. You keep working with one hand while you idly tease and <<if $activeSlave.nipples != "fuckable">>flick<<else>>finger<</if>> the nearest <<if $activeSlave.lactation > 0>>milky <</if>> nipple with the other. $He's so horny that $he immediately experiences an immodest orgasm, $his back arching away from the cool glass desktop as $he rides its waves. $He giggles a little, and then gasps as you resume playing with $him.
-				<<run seX($activeSlave, "mammary", $PC, "penetrative")>>
-				<<if $activeSlave.lactation > 0>>
-					<<set $activeSlave.lactationDuration = 2>>
-					<<set $activeSlave.boobs -= $activeSlave.boobsMilk, $activeSlave.boobsMilk = 0>>
-				<<else>>
-					<<= induceLactation($activeSlave, 4)>>
-				<</if>>
-			<<case "pregnancy">>
-				<<if !canDoAnal($activeSlave) && !canDoVaginal($activeSlave)>>
-					join you on the couch. Since <<if ($activeSlave.vagina >= 0)>>you're saving $his pussy<<else>>this slave $girl doesn't have a pussy<</if>>, and $his tight little rosebud is off limits, your options are a bit limited. But you work with what you have, playing with $his
-					<<if isFertile($activeSlave)>>
-						<<if $activeSlave.lactation == 0>>
-							nipples and describing in whispers how pregnancy would make them drip with cream.
-						<<else>>
-							breasts and describing in whispers how big they'll swell if $he got pregnant.
-						<</if>>
-					<<elseif $activeSlave.preg > $activeSlave.pregData.normalBirth/2>>
-						<<if $activeSlave.lactation == 1>>
-							nipples and describing in whispers how nice and swollen $he is with milk.
-						<<else>>
-							breasts and describing in whispers how big $he's gotten since $he got pregnant.
-						<</if>>
-					<<elseif $activeSlave.preg > 0>>
-						<<if $activeSlave.lactation == 0>>
-							nipples and describing in whispers how $his pregnancy will soon have them drip with cream.
-						<<else>>
-							breasts and describing in whispers how $his pregnancy will soon swell them to feed $his child<<if $activeSlave.pregType > 1>>ren<</if>>.
-						<</if>>
-					<<else>>
-						<<if $activeSlave.lactation == 0>>
-							nipples and describing in whispers how they'd drip with cream if only $he could get pregnant.
-						<<else>>
-							breasts and describing in whispers how big they'd swell if only $he could get pregnant.
-						<</if>>
-					<</if>>
-					$He gasps and shudders against you.
-					<<run seX($activeSlave, "mammary", $PC, "penetrative")>>
-				<<elseif ($activeSlave.anus == 0) && ($activeSlave.vagina <= 0)>>
-					join you on the couch. Since <<if ($activeSlave.vagina == 0)>>$he's a virgin and you haven't elected to introduce $him to pussyfucking just yet<<else>>this slave $girl doesn't have a pussy<</if>>, and $his tight little rosebud is fresh and unspoiled, your options are a bit limited. But you work with what you have, playing with $his
-					<<if isFertile($activeSlave)>>
-						<<if $activeSlave.lactation == 0>>
-							nipples and describing in whispers how pregnancy would make them drip with cream.
-						<<else>>
-							breasts and describing in whispers how big they'll swell if $he got pregnant.
-						<</if>>
-					<<elseif $activeSlave.preg > $activeSlave.pregData.normalBirth/2>>
-						<<if $activeSlave.lactation == 1>>
-							nipples and describing in whispers how nice and swollen $he is with milk.
-						<<else>>
-							breasts and describing in whispers how big $he's gotten since $he got pregnant.
-						<</if>>
-					<<elseif $activeSlave.preg > 0>>
-						<<if $activeSlave.lactation == 0>>
-							nipples and describing in whispers how $his pregnancy will soon have them drip with cream.
-						<<else>>
-							breasts and describing in whispers how $his pregnancy will soon swell them to feed $his child<<if $activeSlave.pregType > 1>>ren<</if>>.
-						<</if>>
-					<<else>>
-						<<if $activeSlave.lactation == 0>>
-							nipples and describing in whispers how they'd drip with cream if only $he could get pregnant.
-						<<else>>
-							breasts and describing in whispers how big they'd swell if only $he could get pregnant.
-						<</if>>
-					<</if>>
-					$He gasps and shudders against you.
-					<<run seX($activeSlave, "mammary", $PC, "penetrative")>>
-				<<elseif $activeSlave.pregKnown == 1>>
-					join you on the couch. <<if $PC.dick != 0>>You orgasm inside $him promptly, and then tell $him you'll be leaving your seed inside $him to do its work while you have $him again.<<else>>You use a strap-on with a fluid reservoir, and you trigger it promptly, releasing a gush of warm fluid into $him. You tell $him you'll be leaving it inside $him to do its work while you have $him again.<</if>> $He gasps at the appeal of the idea and grinds $himself against you hungrily.
-					<<if !canDoVaginal($activeSlave)>>
-						<<if $activeSlave.mpreg == 1>>
-							$He's already pregnant, but that doesn't disrupt $his fantasy of being even more pregnant.
-						<<else>>
-							It's $his butt you're fucking, but that doesn't disrupt $his fantasy.
-						<</if>>
-						<<= VCheck.Anal($activeSlave, 1)>>
-					<<else>>
-						$He's already pregnant, but that doesn't disrupt $his fantasy of being even more pregnant.
-						<<= VCheck.Vaginal($activeSlave, 1)>>
-					<</if>>
-				<<else>>
-					join you on the couch. <<if $PC.dick != 0>>You orgasm inside $him promptly, and then tell $him you'll be leaving your seed inside $him to do its work while you have $him again.<<else>>You use a strap-on with a fluid reservoir, and you trigger it promptly, releasing a gush of warm fluid into $him. You tell $him you'll be leaving it inside $him to do its work while you have $him again.<</if>> $He gasps at the appeal of the idea and grinds $himself against you hungrily.
-					<<if !canDoVaginal($activeSlave)>>
-						<<if $activeSlave.mpreg == 1>>
-							$He's eager to get pregnant and intends to put $his asspussy to use.
-						<<else>>
-							It's $his butt you're fucking, but that doesn't disrupt $his fantasy.
-						<</if>>
-						<<= VCheck.Anal($activeSlave, 1)>>
-					<<else>>
-						$He's eager to get pregnant and intends to put $his pussy to use.
-						<<= VCheck.Vaginal($activeSlave, 1)>>
-					<</if>>
-				<</if>>
-			<<case "dom">>
-				wait a moment, because you know what $he needs. $He's mystified, but steels $himself and waits. Another slave appears for an inspection, and _heU discovers that _heU's to be inspected with $activeSlave.slaveName's <<if canPenetrate($activeSlave)>>cock up _hisU asshole<<else>>fingers assfucking _himU<</if>>. The dominant $activeSlave.slaveName climaxes immediately to $his use of the poor slave, rubbing <<if $activeSlave.belly >= 5000>>$his _belly <<if $activeSlave.bellyPreg >= 3000>>pregnant <</if>>belly<<else>>$himself<</if>> all over the other slave's buttocks while $he continues banging _hisU backdoor.
-				<<run seX($activeSlave, "penetrative", "slaves", "anal")>>
-			<<case "sadist">>
-				wait a moment, because you know what $he needs. $He's mystified, but steels $himself and waits. Another slave appears for a trivial punishment, and _heU discovers that _heU's to be punished by $activeSlave.slaveName's <<if canPenetrate($activeSlave)>>dick<<else>>fingers<</if>>, forced up _hisU anus. The dominant $activeSlave.slaveName climaxes quickly, but quickly recovers and keeps assraping the poor _girlU.
-				<<run seX($activeSlave, "penetrative", "slaves", "anal")>>
-			<<case "masochist">>
-				get $his ass up on your desk and
-				<<if $activeSlave.belly >= 300000>>
-					lie off the side atop $his _belly stomach.
-				<<elseif $activeSlave.belly < 1500>>
-					lie on $his side.
-				<<else>>
-					lie face-down.
-				<</if>>
-				$He <<if $activeSlave.belly >= 10000>>struggles to heft $his <<if $activeSlave.bellyPreg >= 3000>>gravid <</if>>body<<else>>clambers<</if>> up, and you let $his lie there for a while, tortured by anticipation and arousal, before giving $his nearest buttock a harsh open-handed slap. The shock and pain send $him over the edge immediately, and $he grinds forward into the desk involuntarily; the feeling of the cool desk against $his <<if ($activeSlave.dick > 0)>>dickhead<<elseif $activeSlave.vagina == -1>>crotch<<else>>mons<</if>> slams $him into a second climax, and $he sobs with overstimulation. You keep $him there for a good long while, using $him as a desktop toy that makes interesting noises when you hit it.
-			<</switch>>
-			<<if ($activeSlave.fetishStrength > 95)>>
-				Since $he's totally sure of what gets $him off, this proof you know it too makes $him @@.mediumaquamarine;trust you.@@
-				<<set $activeSlave.trust += 5>>
-			<<else>>
-				Since $he's developing $his kinks, this reinforcement of $his sexual identity @@.lightcoral;advances $his fetish.@@
-				<<set $activeSlave.fetishStrength += 4>>
-			<</if>>
-		<</replace>>
-	<</link>><<if (canDoVaginal($activeSlave) && $activeSlave.vagina == 0) || (canDoAnal($activeSlave) && $activeSlave.anus == 0)>> //This option may take $his virginity//<</if>>
-<</if>>
-<br>Let $him get off:
-<<if ($activeSlave.fetish != "cumslut") || ($activeSlave.fetishKnown != 1) || ($activeSlave.fetishStrength <= 95)>>
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;<<link "while $he sucks">>
-		<<replace "#result">>
-			You tell $him that $he deserves a way to get off for coming to tell you rather than breaking the rules. From now on, $he can come to you and ask to <<if $PC.dick == 0>>perform cunnilingus on you<<else>>blow you<<if $PC.vagina != -1>> and eat you out<</if>><</if>>, and masturbate while $he does. $He nods through $his tears and hurriedly gets to $his knees, gagging in $his clumsy eagerness, crying a little with relief as $he masturbates furiously<<if $PC.vagina != -1>><<if $PC.dick != 0>> and does $his best to simultaneously please both a cock and a cunt with only one mouth<</if>><</if>>. $He doesn't even pause after $his first orgasm; $his acceptance of sexual slavery @@.hotpink;has increased.@@
-			<<set $activeSlave.devotion += 4>>
-			<<run seX($activeSlave, "oral", $PC, "penetrative", 5)>>
-			<<if ($activeSlave.fetish == "cumslut") && ($activeSlave.fetishKnown == 1)>>
-				<<set $activeSlave.fetishStrength += 4>>
-				@@.lightcoral;$His enjoyment of <<if $PC.dick == 0>>giving head<<else>>sucking cock<</if>> has increased.@@
-			<<elseif random(1,100) > 50>>
-				<<set $activeSlave.fetishStrength = 65, $activeSlave.fetish = "cumslut", $activeSlave.fetishKnown = 1>>
-				Before $he realizes what's happening, @@.lightcoral;$he's getting aroused at the thought of <<if $PC.dick == 0>>giving head<<else>>sucking cock<</if>>.@@
-			<</if>>
-		<</replace>>
-	<</link>>
-<</if>>
-<<if ($activeSlave.fetish != "boobs") || ($activeSlave.fetishKnown != 1) || ($activeSlave.fetishStrength <= 95)>>
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;<<link "during nipple play">>
-		<<replace "#result">>
-			You tell $him that $he deserves a way to get off for coming to tell you rather than breaking the rules. From now on, $he can come to you and offer you $his breasts; $he will be allowed to masturbate while you do. $He nods through $his tears and hurriedly presents $his chest, crying a little with relief as $he feels <<if $activeSlave.nipples != "fuckable">>you nip a nipple with your teeth<<elseif $PC.dick != 0>>your dick slip into a nipple<<else>>your tongue penetrate into $his nipple<</if>>. $He masturbates furiously, not even pausing after $his first orgasm; $his acceptance of sexual slavery @@.hotpink;has increased.@@
-			<<set $activeSlave.devotion += 4>>
-			<<run seX($activeSlave, "mammary", $PC, "penetrative", 5)>>
-			<<if ($activeSlave.fetish == "boobs") && ($activeSlave.fetishKnown == 1)>>
-				<<set $activeSlave.fetishStrength += 4>>
-				@@.lightcoral;$His enjoyment of breast play has increased.@@
-			<<elseif random(1,100) > 50>>
-				<<set $activeSlave.fetishStrength = 65, $activeSlave.fetish = "boobs", $activeSlave.fetishKnown = 1>>
-				Before $he realizes what's happening, @@.lightcoral;$he's getting aroused at every brush against $his breasts.@@
-			<</if>>
-		<</replace>>
-	<</link>>
-<</if>>
-<<if (($activeSlave.fetish != "pregnancy") || ($activeSlave.fetishKnown != 1) || ($activeSlave.fetishStrength <= 95)) && canDoVaginal($activeSlave)>>
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;<<link "during insemination play">>
-		<<replace "#result">>
-			You tell $him that $he deserves a way to get off for coming to tell you rather than breaking the rules. For the rest of the week, $he can come to you and offer you $his <<if ($activeSlave.vagina > 3)>>hopelessly gaped pussy<<elseif ($activeSlave.vagina > 2)>>loose pussy<<elseif ($activeSlave.vagina > 1)>>nice pussy<<else>>tight pussy<</if>>; $he will be allowed to masturbate while you fill $him with cum. $He nods through $his tears and <<if $activeSlave.belly >= 10000>>struggles to get<<else>>hurriedly gets<</if>> up on your desk, lying on $his side and using one hand to spread $his buttocks apart while the other is poised to touch $himself. $He starts crying a little with relief as $he feels you slowly insert <<if $PC.dick == 0>>a spurting strap-on<<else>>your cock<</if>> into $his spasming cunt. $He masturbates furiously, not even pausing after $his first orgasm; $his acceptance of sexual slavery @@.hotpink;has increased.@@
-			<<= VCheck.Vaginal($activeSlave, 5)>>
-			<<set $activeSlave.devotion += 4>>
-			<<if ($activeSlave.fetish == "pregnancy") && ($activeSlave.fetishKnown == 1)>>
-				<<set $activeSlave.fetishStrength += 4>>
-				@@.lightcoral;$His enjoyment of pregnancy play has increased.@@
-			<<elseif random(1,100) > 50>>
-				<<set $activeSlave.fetishStrength = 65, $activeSlave.fetish = "pregnancy", $activeSlave.fetishKnown = 1>>
-				Before $he realizes what's happening, @@.lightcoral;$he's getting aroused at the thought of getting pregnant.@@
-			<</if>>
-		<</replace>>
-	<</link>><<if ($activeSlave.vagina == 0)>> //This option will take $his virginity//<</if>>
-<</if>>
-<<if ($activeSlave.fetish != "buttslut") || ($activeSlave.fetishKnown != 1) || ($activeSlave.fetishStrength <= 95)>>
-	<<if canDoAnal($activeSlave)>>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;<<link "while $he takes it up the ass">>
-			<<replace "#result">>
-				You tell $him that $he deserves a way to get off for coming to tell you rather than breaking the rules. For the rest of the week, $he can come to you and offer you $his <<if ($activeSlave.anus > 3)>>hopelessly gaped rectum<<elseif ($activeSlave.anus > 2)>>big slit of an asspussy<<elseif ($activeSlave.anus > 1)>>nice asspussy<<else>>tight asshole<</if>>; $he will be allowed to masturbate while you buttfuck $him. $He nods through $his tears and <<if $activeSlave.belly >= 10000>>struggles to get<<else>>hurriedly gets<</if>> up on your desk, lying on $his side and using one hand to spread $his buttocks apart while the other is poised to touch $himself. $He starts crying a little with relief as $he feels you slowly insert <<if $PC.dick == 0>>a strap-on<<else>>your cock<</if>> into $his spasming rectum. $He masturbates furiously, not even pausing after $his first orgasm; $his acceptance of sexual slavery @@.hotpink;has increased.@@
-				<<= VCheck.Anal($activeSlave, 5)>>
-				<<set $activeSlave.devotion += 4>>
-				<<if ($activeSlave.fetish == "buttslut") && ($activeSlave.fetishKnown == 1)>>
-					<<set $activeSlave.fetishStrength += 4>>
-					@@.lightcoral;$His enjoyment of anal has increased.@@
-				<<elseif random(1,100) > 50>>
-					<<set $activeSlave.fetishStrength = 65, $activeSlave.fetish = "buttslut", $activeSlave.fetishKnown = 1>>
-					Before $he realizes what's happening, @@.lightcoral;$he's getting aroused at the thought of anal sex.@@
-				<</if>>
-			<</replace>>
-		<</link>><<if ($activeSlave.anus == 0)>> //This option will take $his anal virginity//<</if>>
-	<</if>>
-<</if>>
-<<if ($activeSlave.fetish != "humiliation") || ($activeSlave.fetishKnown != 1) || ($activeSlave.fetishStrength <= 95)>>
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;<<link "in public">>
-		<<replace "#result">>
-			You tell $him that $he deserves a way to get off for coming to tell you rather than breaking the rules. For the rest of the week, $he can masturbate in public, sitting with $his legs spread for as much exposure as possible. $He nods through $his tears and sprints out of your office, dripping as $he goes. $He throws $himself to the ground outside, to the considerable amusement of passersby, spreading $his legs painfully wide. $He masturbates furiously, not even pausing after $his first orgasm; $his acceptance of sexual slavery @@.hotpink;has increased.@@
-			<<set $activeSlave.devotion += 4>>
-			<<if ($activeSlave.fetish == "humiliation") && ($activeSlave.fetishKnown == 1)>>
-				<<set $activeSlave.fetishStrength += 4>>
-				@@.lightcoral;$His enjoyment of humiliation has increased.@@
-			<<elseif random(1,100) > 50>>
-				<<set $activeSlave.fetishStrength = 65, $activeSlave.fetish = "humiliation", $activeSlave.fetishKnown = 1>>
-				Before $he realizes what's happening, @@.lightcoral;$he's starting to long for humiliation.@@
-			<</if>>
-		<</replace>>
-	<</link>>
-<</if>>
-<<if ($activeSlave.fetish != "submissive") || ($activeSlave.fetishKnown != 1) || ($activeSlave.fetishStrength <= 95)>>
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;<<link "after submitting to you">>
-		<<replace "#result">>
-			You tell $him that $he deserves a way to get off for coming to tell you rather than breaking the rules.
-			<<if canDoVaginal($activeSlave)>>
-				For the rest of the week, $he can come to you and offer you $his <<if ($activeSlave.vagina > 3)>>hopelessly loose pussy<<elseif ($activeSlave.vagina > 2)>>big slit of a pussy<<elseif ($activeSlave.vagina > 1)>>nice pussy<<else>>tight pussy<</if>>; $he will be allowed to masturbate after, but only after, you are finished with $him. $He nods through $his tears and <<if $activeSlave.belly >= 10000>>struggles to get<<else>>hurriedly gets<</if>> up on your desk, lying on $his side and using one hand to spread $his nether lips apart while the other is poised to touch $himself. $He starts crying a little with relief as $he feels you slowly insert <<if $PC.dick == 0>>a strap-on<<else>>your cock<</if>> into $his spasming vagina. You are not gentle, and despite the stimulation $he does not orgasm by the time you <<if $PC.dick == 0>>climax to the vibrations of the strap-on, and the pleasure of buttfucking a bitch<<else>>blow your load in $his ass<</if>>. $He's so eager to get off $he doesn't bother to move, and just
-				<<if $activeSlave.belly >= 1500>>
-					snakes a hand down to fondle $himself.
-				<<else>>
-					rolls onto $his face to hump $himself against $his hand, against the desk.
-				<</if>>
-				<<if $PC.dick == 0>>After the momentary pause of your climax, you<<if $PC.vagina != -1>> use a little manual stimulation of your pussy to force yourself to total hardness again and<</if>> resume thrusting<<else>>Your cum leaks out of $his used cunt and onto $his working hand<</if>>; $his acceptance of sexual slavery @@.hotpink;has increased.@@
-				<<= VCheck.Vaginal($activeSlave, 5)>>
-			<<elseif canDoAnal($activeSlave)>>
-				For the rest of the week, $he can come to you and offer you $his <<if ($activeSlave.anus > 3)>>hopelessly gaped rectum<<elseif ($activeSlave.anus > 2)>>big slit of an asspussy<<elseif ($activeSlave.anus > 1)>>nice asspussy<<else>>tight asshole<</if>>; $he will be allowed to masturbate after, but only after, you are finished with $him. $He nods through $his tears and <<if $activeSlave.belly >= 10000>>struggles to get<<else>>hurriedly gets<</if>> up on your desk, lying on $his side and using one hand to spread $his buttocks apart while the other is poised to touch $himself. $He starts crying a little with relief as $he feels you slowly insert <<if $PC.dick == 0>>a strap-on<<else>>your cock<</if>> into $his spasming rectum. You are not gentle, and despite the anal stimulation $he does not orgasm by the time you <<if $PC.dick == 0>>climax to the vibrations of the strap-on, and the pleasure of buttfucking a bitch<<else>>blow your load in $his ass<</if>>. $He's so eager to get off $he doesn't bother to move, and just
-				<<if $activeSlave.belly >= 1500>>
-					snakes a hand down to fondle $himself.
-				<<else>>
-					rolls onto $his face to hump $himself against $his hand, against the desk.
-				<</if>>
-				<<if $PC.dick == 0>>After the momentary pause of your climax, you<<if $PC.vagina != -1>> use a little manual stimulation of your pussy to force yourself to total hardness again and<</if>> resume thrusting<<else>>Your cum leaks out of $his used backdoor and onto $his working hand<</if>>; $his acceptance of sexual slavery @@.hotpink;has increased.@@
-				<<= VCheck.Anal($activeSlave, 5)>>
-			<<else>>
-				For the rest of the week, $he can come to you and politely ask to <<if $PC.dick != 0>>suck you off<<else>>eat you out<</if>>; $he will be allowed to masturbate after, but only after, you are satisfied. $He nods through $his tears and
-				<<if $activeSlave.belly >= 300000>>
-					leans over $his _belly stomach,
-				<<else>>
-					<<if $activeSlave.belly >= 10000>>
-						struggles
-					<<else>>
-						hurriedly gets
-					<</if>>
-					to $his knees,
-				<</if>>
-				where $he brings $his face to your <<if $PC.dick != 0>>erect cock<<else>>moist pussy<</if>> and $his hand to $his crotch. $He starts crying a little with relief as $he feels you slowly <<if $PC.dick == 0>>push your slit against<<else>>insert your cock into<</if>> $his mouth. You are not gentle, and by the time you <<if $PC.dick != 0>>blow your load down $his throat<<else>>splash $his face with your girlcum<</if>>, $he still hasn't reached $his climax. $He's so eager to get off $he doesn't bother to move, and just humps $himself against $his hand, against
-				<<if $activeSlave.belly >= 300000>>
-					$his belly.
-				<<else>>
-					your leg.
-				<</if>>
-				<<if $PC.dick == 0>>After the momentary pause of your climax, you<<if $PC.vagina != -1>> use a little manual stimulation of your pussy to force yourself to total hardness again and<</if>> resume thrusting<<else>>After the momentary pause of your climax, you pull $his face back to your crotch for a second round<</if>>; $his acceptance of sexual slavery @@.hotpink;has increased.@@
-				<<run seX($activeSlave, "oral", $PC, "penetrative", 5)>>
-			<</if>>
-			<<set $activeSlave.devotion += 4>>
-			<<if ($activeSlave.fetish == "submissive") && ($activeSlave.fetishKnown == 1)>>
-				<<set $activeSlave.fetishStrength += 4>>
-				@@.lightcoral;$His enjoyment of submission has increased.@@
-			<<elseif random(1,100) > 50>>
-				<<set $activeSlave.fetishStrength = 65, $activeSlave.fetish = "submissive", $activeSlave.fetishKnown = 1>>
-				Before $he realizes what's happening, @@.lightcoral;$he's getting aroused at the thought of submission.@@
-			<</if>>
-		<</replace>>
-	<</link>><<if (canDoVaginal($activeSlave) && $activeSlave.vagina == 0) || (canDoAnal($activeSlave) && $activeSlave.anus == 0)>> //This option may take $his virginity//<</if>>
-<</if>>
-<<if ($activeSlave.fetish != "masochist") || ($activeSlave.fetishKnown != 1) || ($activeSlave.fetishStrength <= 95)>>
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;<<link "while in pain">>
-		<<replace "#result">>
-			You tell $him that $he deserves a way to get off for coming to tell you rather than breaking the rules. For the rest of the week, $he can come to you and masturbate: but you will abuse $him while $he does. $He starts to cry in fear, but <<if $activeSlave.belly >= 10000>>struggles to get<<else>>hurriedly gets<</if>> up on your desk anyway. You swat $his thighs apart so $he can get a hand down there. $He hesitates desperately before touching $himself, knowing that as soon as $he does the pain will start, but $his horniness wins out. You aim a vicious flick at $his <<if ($activeSlave.nipples == "huge")>>absurd nipples<<elseif ($activeSlave.nipples != "tiny")>>big nipples<<else>>nipples<</if>> and then take a crop out of your desk, flogging $his <<if ($activeSlave.boobsImplant/$activeSlave.boobs) >= .60>>fake<<elseif ($activeSlave.boobs > 1000)>>jiggling<<else>>firm<</if>> breasts without mercy. $He finally orgasms and flees, falling over $his own feet in $his desperation; $his acceptance of sexual slavery @@.hotpink;has increased.@@
-			<<set $activeSlave.devotion += 4>>
-			<<if ($activeSlave.fetish == "masochist") && ($activeSlave.fetishKnown == 1)>>
-				<<set $activeSlave.fetishStrength += 4>>
-				@@.lightcoral;$His enjoyment of pain has increased.@@
-			<<elseif random(1,100) > 50>>
-				<<set $activeSlave.fetishStrength = 65, $activeSlave.fetish = "masochist", $activeSlave.fetishKnown = 1>>
-				Before $he realizes what's happening, @@.lightcoral;$he's getting aroused at the thought of $his <<= getWrittenTitle($activeSlave)>> beating $him.@@
-			<</if>>
-		<</replace>>
-	<</link>>
-<</if>>
+					<<else>>
+						@@.hotpink;$he gets down on $his knees and offers you $his sore butthole again.@@
+					<</if>>
+					<<set $activeSlave.trust -= 4, $activeSlave.devotion += 5>>
+					<<= VCheck.Anal($activeSlave, 1)>>
+				<</replace>>
+			<</link>>
+		</span>
+	<</replace>>
+<</link>>
 
 <<case "restricted profession">>
 
@@ -5926,372 +4720,6 @@ $He cranes $his neck, glancing over $his shoulder to give you a pleading look.
 	<</replace>>
 <</link>>
 
-<<case "dickgirl PC">>
-
-<<link "Permit $him to serve you in a way $he'll be comfortable with">>
-	<<replace "#result">>
-		The poor $girl is having trouble with
-		<<if $activeSlave.attrXY <= 35>>
-			guys, so you decide to be kind to $him and play up your feminine side. You lift $his $activeSlave.skin chin with a soft touch, and kiss $him gently on the lips, pressing your breasts full against $his
-			<<if $activeSlave.boobs > 5000>>
-				titanic udders, which are squashed between you.
-			<<elseif $activeSlave.boobs > 1000>>
-				own lovely boobs.
-			<<else>>
-				chest.
-			<</if>>
-			You keep your hips cocked back and to the side, so that your rapidly stiffening dick stays clear of $him. Taking $his hands in your own, you guide them to your
-			<<if $PC.boobs >= 1400>>
-				enormous <<if $PC.boobsImplant != 0>>chest balloons<<else>>cow tits<</if>>.
-			<<elseif $PC.boobs >= 1200>>
-				huge<<if $PC.boobsImplant != 0>>, clearly fake<<else>>, heavy<</if>> breasts.
-			<<elseif $PC.boobs >= 1000>>
-				big<<if $PC.boobsImplant != 0>>, perky<</if>> breasts.
-			<<elseif $PC.boobs >= 800>>
-				generous breasts.
-			<<elseif $PC.boobs >= 650>>
-				handfilling breasts
-			<<elseif $PC.boobs >= 500>>
-				average breasts
-			<<elseif $PC.boobs >= 300>>
-				small breasts
-			<</if>>
-			<br><br>
-			$He hesitates, clearly surprised that you're allowing $him to fondle you, but building arousal is making $him forget $his awkwardness and $he begins to play with your boobs in earnest. You direct $his fingers to your nipples, and $he obeys the nonverbal cue, devoting more attention to the <<if $PC.lactation > 0>>milky<<else>>hard<</if>>, sensitive nubs. Satisfied that $he's got the idea, you run your hands lightly down $his
-			<<if $activeSlave.weight > 190>>
-				voluminous
-			<<elseif $activeSlave.belly >= 5000>>
-				<<if $activeSlave.bellyPreg >= 3000>>
-					gravid
-				<<elseif $activeSlave.bellyImplant >= 3000>>
-					rounded
-				<<else>>
-					swollen
-				<</if>>
-			<<elseif $activeSlave.weight > 30>>
-				soft
-			<<elseif $activeSlave.muscles > 30>>
-				rock hard
-			<<elseif $activeSlave.weight > 10>>
-				plush
-			<<elseif $activeSlave.muscles > 5>>
-				toned
-			<<else>>
-				soft
-			<</if>>
-			body and give $his
-			<<if $activeSlave.butt > 15>>
-				obscene
-			<<elseif $activeSlave.butt > 10>>
-				absurd
-			<<elseif $activeSlave.butt > 6>>
-				monstrous
-			<<elseif $activeSlave.butt > 3>>
-				healthy
-			<<else>>
-				cute
-			<</if>>
-			buttocks a gentle massage.
-			<br><br>
-			$He has $his eyes closed, and is spared any indication that $he's petting and being petted by a person with a cock. $His arousal builds quickly, and so does yours. You resolve the situation by using a hand on each of you: you finish yourself off with practiced ease while giving $his
-			<<if canDoVaginal($activeSlave)>>
-				clit
-			<<elseif canAchieveErection($activeSlave) && !($activeSlave.chastityPenis)>>
-				own erection
-			<<elseif $activeSlave.dick > 6 && !canAchieveErection($activeSlave) && !($activeSlave.chastityPenis)>>
-				fat member
-			<<elseif $activeSlave.dick > 0 && !canAchieveErection($activeSlave) && !($activeSlave.chastityPenis)>>
-				soft member
-			<<elseif ($activeSlave.chastityPenis == 1)>>
-				nipples
-			<<elseif ($activeSlave.chastityVagina)>>
-				nipples
-			<<else>>
-				soft perineum
-			<</if>>
-			some manual stimulation that tips $him over the edge. $He opens $his eyes slowly, @@.hotpink;grateful@@ that you were so merciful.
-		<<elseif $activeSlave.attrXX <= 35>>
-			girls, so you decide to be kind to $him and play up your masculine side. You grab the side of $his neck with a rough grip, and pull $him downward, forcing $him to $his knees. $He goes willingly, $his field of vision filling with your rapidly hardening member.
-			<<if ($activeSlave.teeth == "removable")>>
-				$He quickly pulls $his removable teeth out, getting ready to offer you $his soft facepussy.
-			<<elseif ($activeSlave.teeth == "pointy")>>
-				$He runs $his tongue over $his frightening teeth carefully, and then opens $his jaws wide, getting ready to keep $his fangs well clear of your shaft.
-			<<elseif ($activeSlave.teeth == "fangs")>>
-				$He runs $his tongue over $his fangs carefully, and then opens $his jaws wide, getting ready to keep $his teeth well clear of your shaft.
-			<<elseif ($activeSlave.teeth == "fang")>>
-				$He gets ready to take you from an angle to avoid $his fang meeting your member.
-			<<elseif ($activeSlave.teeth == "straightening braces") || ($activeSlave.teeth == "cosmetic braces")>>
-				$He runs $his tongue over $his braces, and then opens wide, mindful of keeping $his orthodontia clear of your shaft.
-			<<elseif ($activeSlave.teeth == "gapped")>>
-				$He runs $his tongue across the gap in $his front teeth and opens wide.
-			<</if>>
-			$He takes you into $his mouth without hesitation, and keeps $his eyes closed. $He visibly concentrates all $his attention on your dick, ignoring the breasts that are starting to bounce right over $his head as you begin rocking your hips with enjoyment.
-			<br><br>
-			You run a possessive hand through $his $activeSlave.hColor hair, and let $him know what a good little cocksucker $he is. $He moans submissively in response, and the humming feels so wonderful that you order $him to do it again. Knowing that you're being nice to $him by letting $his ignore your more feminine characteristics for the moment, $he does $his best to please you, humming as best $he can and using both hands to pleasure your base and balls. You blow your load down $his throat, and $he swallows it all. $He opens $his eyes slowly, @@.mediumaquamarine;relieved@@ that you were so merciful.
-		<</if>>
-		<<set $activeSlave.trust += 4>>
-		<<run seX($activeSlave, "oral", $PC, "penetrative")>>
-	<</replace>>
-<</link>>
-<br><<link "Force $him to get off to all of you">>
-	<<replace "#result">>
-		The closeminded $girl is having trouble with
-		<<if $activeSlave.attrXY <= 35>>
-			guys, so $he gets to spend some quality time with your dick. You walk into $him, running into the surprised slave, driving $him backward into the far wall. You kiss $him, pinch $him, and grope $him roughly the whole time, pressing your breasts maliciously against $his
-			<<if $activeSlave.boobs > 5000>>
-				titanic udders, which are squashed between you.
-			<<elseif $activeSlave.boobs > 1000>>
-				own lovely boobs.
-			<<else>>
-				chest.
-			<</if>>
-			When $his
-			<<if $activeSlave.butt > 15>>
-				obscene
-			<<elseif $activeSlave.butt > 10>>
-				absurd
-			<<elseif $activeSlave.butt > 6>>
-				monstrous
-			<<elseif $activeSlave.butt > 3>>
-				healthy
-			<<else>>
-				cute
-			<</if>>
-			buttocks crash against the wall, you smash yourself against $him. $He shudders involuntarily as $he feels your stiffening dick between you<<if $activeSlave.belly >= 5000>> and $his rounded stomach<</if>>, and then again as it rapidly achieves full hardness, crushed between your warm bodies.
-			<br><br>
-			Making out with $him so insistently that $he's short of breath, you begin to hump yourself against $him, sliding your prick against $his <<if $activeSlave.belly >= 5000>>_belly <<if $activeSlave.bellyPreg >= 3000>>pregnant<<else>><</if>><</if>>belly, thighs, and
-			<<if canDoVaginal($activeSlave)>>
-				labia.
-			<<elseif canAchieveErection($activeSlave) && !($activeSlave.chastityPenis)>>
-				own dick.
-			<<elseif $activeSlave.dick > 6 && !canAchieveErection($activeSlave) && !($activeSlave.chastityPenis)>>
-				fat cock.
-			<<elseif $activeSlave.dick > 0 && !canAchieveErection($activeSlave) && !($activeSlave.chastityPenis)>>
-				limp member.
-			<<elseif ($activeSlave.chastityPenis == 1)>>
-				caged dick.
-			<<elseif ($activeSlave.chastityVagina)>>
-				chastity belt.
-			<<else>>
-				soft perineum.
-			<</if>>
-			$He shudders uncomfortably as $he realizes that $he's getting aroused, $his
-			<<if $activeSlave.vagina > -1>>
-				pussy moistening
-			<<elseif canAchieveErection($activeSlave) && !($activeSlave.chastityPenis)>>
-				dick hardening
-			<<elseif $activeSlave.dick > 6 && !canAchieveErection($activeSlave) && !($activeSlave.chastityPenis)>>
-				dick struggling to engorge
-			<<elseif $activeSlave.dick > 0 && !canAchieveErection($activeSlave) && !($activeSlave.chastityPenis)>>
-				girldick starting to ooze precum
-			<<elseif ($activeSlave.chastityPenis == 1)>>
-				chastity cage growing ever tighter
-			<<else>>
-				tiny front hole starting to ooze precum
-			<</if>>
-			from the stimulation, despite $his lack of appetite for cock.
-			<<if !canDoAnal($activeSlave) && !canDoVaginal($activeSlave)>>
-				$He knows what's coming when you push $him
-				<<if $activeSlave.belly >= 300000>>
-					over $his _belly stomach,
-				<<else>>
-					to $his knees,
-				<</if>>
-				and does $his best to relax.
-				<br><br>
-				$He screws $his eyes shut tight and $his mouth tighter as you prod at $his face with your member. Tiring of $his reluctance, you give $him a brusque order to open $his eyes and gaze upon the dick $he will soon be deepthroating. $He obeys, but unwillingly, and steadies $himself to take its length. You tell $him to do $his best to watch, and begin thrusting. $He groans from the internal fullness and sexual confusion. $He stares as best $he can at your penis, transfixed by the sight of it thrusting into $his mouth and the feeling of $his lips around its girth.
-				<br><br>
-				$He slips a hand to $his crotch, $his arousal overwhelming $his preferences. $He whimpers pathetically, seeing and feeling $himself build towards an inevitable orgasm. You manage $him skillfully, holding back to $his point of climax before shooting your cum deep inside $him. The internal sensation of heat, the tightening and twitching of your member inside $his mouth, and your obvious pleasure force $him over the edge, and $he comes so hard that $he chokes on your cock. You pull out of $him, and $he struggles to catch $his breath, the action sending a blob of $his owner's semen running down $his chin.
-				<<run seX($activeSlave, "oral", $PC, "penetrative", 7)>>
-			<<elseif $activeSlave.belly >= 10000>>
-				$He knows what's coming when you push $him
-				<<if $activeSlave.belly >= 300000>>
-					over $his _belly stomach,
-				<<else>>
-					to $his knees,
-				<</if>>
-				and does $his best to relax.
-				<br><br>
-				$He screws $his eyes shut tight as you maneuver yourself inside $his
-				<<if canDoVaginal($activeSlave)>>
-					<<if $activeSlave.vagina > 2>>
-						cavernous cunt.
-					<<elseif $activeSlave.vagina > 1>>
-						welcoming pussy.
-					<<else>>
-						tight flower.
-					<</if>>
-				<<else>>
-					<<if $activeSlave.anus > 2>>
-						unresisting asspussy.
-					<<elseif $activeSlave.anus > 1>>
-						welcoming butthole.
-					<<else>>
-						tight anus.
-					<</if>>
-				<</if>>
-				Once you're situated, you give $him a brusque order to open $his eyes and look behind $him. $He obeys, but unwillingly, bending as best $he can to see how physically close you are. $He can't see where it enters $his
-				<<if canDoVaginal($activeSlave)>>
-					womanhood,
-				<<else>>
-					bowels,
-				<</if>>
-				but $he's very aware of it. You tell $him to do $his best to watch, and begin thrusting. $He groans from the awkward position, internal fullness, and sexual confusion. Turned as much as $he can, $he stares, transfixed by the sight of you thrusting into $his body.
-				<<if canDoVaginal($activeSlave)>>
-					<<= VCheck.Vaginal($activeSlave, 7)>>
-				<<else>>
-					<<= VCheck.Anal($activeSlave, 7)>>
-				<</if>>
-				<br><br>
-				You snake a hand under $him and begin to stimulate $him manually. $He whimpers pathetically, seeing and feeling $himself build towards an inevitable orgasm. You manage $him skillfully, bringing $him to the point of climax before shooting your cum deep inside $him. The internal sensation of heat, the tightening and twitching of your member inside $him, and your obvious pleasure force $him over the edge, and $he comes so hard that $he wriggles involuntarily against you. You release $him, and $he barely manages to catch $himself from collapsing, the motion sending a blob of $his owner's semen running down $his thigh.
-			<<else>>
-				$He knows what's coming when you pin $his torso even harder and reach down to pull $his knees up to clasp you around your waist, and does $his best to relax.
-				<br><br>
-				$He screws $his eyes shut tight as you maneuver yourself inside $his
-				<<if canDoVaginal($activeSlave)>>
-					<<if $activeSlave.vagina > 2>>
-						cavernous cunt.
-					<<elseif $activeSlave.vagina > 1>>
-						welcoming pussy.
-					<<else>>
-						tight flower.
-					<</if>>
-				<<else>>
-					<<if $activeSlave.anus > 2>>
-						unresisting asspussy.
-					<<elseif $activeSlave.anus > 1>>
-						welcoming butthole.
-					<<else>>
-						tight anus.
-					<</if>>
-				<</if>>
-				Once you're confident your member is properly seated inside $him, and you won't drop $him, you give $him a brusque order to open $his eyes and look down. $He obeys, but unwillingly, bending as best $he can to look at the base of your dick where it
-				<<if canDoVaginal($activeSlave)>>
-					enters $his womanhood.
-				<<else>>
-					disappears beneath
-					<<if canAchieveErection($activeSlave) && !($activeSlave.chastityPenis)>>
-						$his own erect cock.
-					<<elseif $activeSlave.dick > 6 && !canAchieveErection($activeSlave) && !($activeSlave.chastityPenis)>>
-						$his own dangling cock.
-					<<elseif ($activeSlave.chastityPenis == 1)>>
-						$his chastity.
-					<<else>>
-						$him. $He can't see where it enters $his bowels, but $he's very aware of it.
-					<</if>>
-				<</if>>
-				You tell $him to do $his best to watch, and begin thrusting. $He groans from the awkward position, internal fullness, and sexual confusion. Bent almost in half, $he stares, transfixed by the sight of your penis delving inside $his body.
-				<<if canDoVaginal($activeSlave)>>
-					<<= VCheck.Vaginal($activeSlave, 7)>>
-				<<else>>
-					<<= VCheck.Anal($activeSlave, 7)>>
-				<</if>>
-				<br><br>
-				You push a hand between the two of you and begin to stimulate $him manually. $He whimpers pathetically, seeing and feeling $himself build towards an inevitable orgasm. You manage $him skillfully, bringing $him to the point of climax before shooting your cum deep inside $him. The internal sensation of heat, the tightening and twitching of your member inside $him, and your obvious pleasure force $him over the edge, and $he comes so hard that $he wriggles involuntarily within your grasp. You drop $him, and $he barely manages to catch $himself on shaking legs, the motion sending a blob of $his owner's semen running down $his thigh.
-			<</if>>
-			<br><br>
-			Over the week, you force $him to achieve daily orgasm as your cock pounds in and out of $him. It's difficult, blowing your load inside a compliant slave $girl every day, but you make the necessary sacrifice.
-			<<if random(1,2) == 1>>
-				After a few days, $he's @@.green;obviously reconsidering $his previous hesitations about dick.@@
-				<<set $activeSlave.attrXY += 5>>
-			<<else>>
-				$He takes it like a good slave. $His dislike for dick doesn't change, but $he gets better at @@.hotpink;suppressing $his own inclinations@@ and serving as your cum receptacle.
-				<<set $activeSlave.devotion += 4>>
-			<</if>>
-		<<elseif $activeSlave.attrXX <= 35>>
-			girls, so $he gets to spend some quality time with your feminine side. You kiss $him, teasing your tongue against $him, and press your breasts maliciously against $his
-			<<if $activeSlave.boobs > 5000>>
-				titanic udders, which are squashed between you.
-			<<elseif $activeSlave.boobs > 1000>>
-				own lovely boobs.
-			<<else>>
-				chest.
-			<</if>>
-			$He shrinks away from you involuntarily, but you stroke loving hands down $his temples, the sides of $his neck, and $his upper arms. $He shudders involuntarily, and you can almost feel $him hate $himself through your lip lock. You cock your hips back and to the side, keeping your prick well clear of $him. As far as $he can feel, you're all boobs and feminine lips.
-			<br><br>
-			<<if $activeSlave.toyHole == "dick" || ($policies.sexualOpenness == 1 && canPenetrate($activeSlave))>>
-				You walk forward, pressing $him against the far wall, and then turn yourself around, pinning $him against the wall with your butt<<if $activeSlave.belly >= 5000>>, working your way under $his _belly belly<</if>>. As $he hesitates, wondering what to do about this, you grab $his hands and place them on your
-				<<if $PC.butt >= 5>>
-					enormous, <<if $PC.buttImplant != 0>>beachball cheeks<<else>>wobbling ass<</if>>,
-				<<elseif $PC.butt >= 4>>
-					huge, <<if $PC.buttImplant != 0>>balloon of an<<else>>soft<</if>> ass,
-				<<elseif $PC.butt >= 3>>
-					big<<if $PC.buttImplant != 0>> fake<</if>> ass,
-				<<else>>
-					ass,
-				<</if>>
-				leading $him like a music teacher guiding a student's hands. When $he's groping your buttocks properly, you grind against $him for a while, grinning to yourself as you feel an unwilling erection building between your cheeks. Pleased, you lean forward and line up your <<if $PC.vagina != -1>>pussy<<else>>asshole<</if>> with $his dick head and push back into $him. You repeat until $his hips start moving on their own. You bite on your finger at the sensation of $his cock inside you and, using your other hand, begin to jerk yourself off. Except for your vigorous stroking with one hand, there's little to indicate to $him that you have a dick; it must feel as though $he is banging a beautiful woman. $He whimpers pathetically, seeing and feeling $himself build towards an inevitable orgasm. You manage $him skillfully, taking $him to the point of climax before enjoying your own orgasm. The heat of your insides, the tightening and twitching of your <<if $PC.vagina != -1>>vagina<<else>>rectum<</if>> around $his cock, and your obvious pleasure force $him over the edge, and $he comes so hard that $he nearly knocks your to the floor. You scoot forward, letting $him slip from you. $He gets a splendid sight of your still gaped <<if $PC.vagina != -1>>cunt<<else>>anus<</if>> begging for more<<if $activeSlave.balls > 0>> as a blob of $his semen drips from your body<</if>>.
-				<br><br>
-				Over the week, you require $him to repeat this sexually confusing performance daily. It's difficult, having to savor a compliant slave's penis every day, but you make the necessary sacrifice.
-				<<if canImpreg($PC, $activeSlave)>>
-					<<= knockMeUp($PC, 40, 0, $activeSlave.ID)>>
-				<</if>>
-			<<elseif $activeSlave.belly >= 150000>>
-				You walk forward, pressing $him against the far wall, and then turn yourself around, pinning $him against the wall with your butt, working your way under $his _belly belly. As $he hesitates, wondering what to do about this, you grab $his hands and place them on your
-				<<if $PC.butt >= 5>>
-					enormous, <<if $PC.buttImplant != 0>>beachball cheeks<<else>>wobbling ass<</if>>,
-				<<elseif $PC.butt >= 4>>
-					huge, <<if $PC.buttImplant != 0>>balloon of an<<else>>soft<</if>> ass,
-				<<elseif $PC.butt >= 3>>
-					big<<if $PC.buttImplant != 0>> fake<</if>> ass,
-				<<else>>
-					ass,
-				<</if>>
-				leading $him like a music teacher guiding a student's hands. When $he's groping your buttocks properly, you grind against $him for a while, grinning to yourself as you feel
-				<<if canDoVaginal($activeSlave)>>
-					an unwilling heat building low behind you. Pleased, you lean back and start to play with $his clit, using your other hand to jerk off.
-				<<elseif canAchieveErection($activeSlave) && !($activeSlave.chastityPenis)>>
-					an unwilling erection building between your cheeks. Pleased, you lean back and start to play with $his dick, using your other hand to jerk yourself off.
-				<<elseif $activeSlave.dick > 6 && !canAchieveErection($activeSlave) && !($activeSlave.chastityPenis)>>
-					the huge cock behind you start to leak onto your back. Pleased, you lean back and start to play with $his dick, using your other hand to jerk yourself off.
-				<<elseif $activeSlave.dick > 0 && !canAchieveErection($activeSlave) && !($activeSlave.chastityPenis)>>
-					the pretty girldick behind you start to leak. Pleased, you lean back and start to play with $his soft bitchclit, using your other hand to jerk yourself off.
-				<<elseif ($activeSlave.chastityPenis == 1)>>
-					an unwilling heat building low behind you. Pleased, you lean back and start to tease $his chastity cage, using your other hand to jerk off.
-				<<elseif ($activeSlave.chastityVagina)>>
-					an unwilling heat building low behind you. Pleased, you lean back and start to tease $his chastity, using your other hand to jerk off.
-				<<elseif ($activeSlave.race == "catgirl")>>
-					a demure heat building behind you. Pleased, you lean back and start to play with the soft silky fur between $his legs.
-				<<else>>
-					a demure heat building behind you. Pleased, you lean back and start to play with the soft smooth skin between $his legs.
-				<</if>>
-				Except for your vigorous stroking with one hand, there's little to indicate to $him that you have a dick. It must feel as though $he has a beautiful woman under $his middle, and is playing with $his ass while $he gets $him off manually. You complete the feeling by bucking against $him with extra enthusiasm when you climax.
-				<br><br>
-				Over the week, you require $him to repeat this sexually confusing performance daily. It's difficult, having to grind against a compliant slave every day, but you make the necessary sacrifice.
-			<<else>>
-				You walk forward, pressing $him against the far wall, and then turn yourself around, pinning $him against the wall with your butt<<if $activeSlave.belly >= 10000>> as well as you can with $his _belly <<if $activeSlave.bellyPreg >= 3000>>pregnancy<<else>>belly<</if>> pushing into you<</if>>. As $he hesitates, wondering what to do about this, you grab $his hands and place them on your tits, leading $him like a music teacher guiding a student's hands. When $he's stroking your nipples properly, you grind against $him for a while, grinning to yourself as you feel
-				<<if canDoVaginal($activeSlave)>>
-					an unwilling heat building low behind you. Pleased, you snake a hand around behind yourself and start to play with $his clit, using your other hand to jerk off.
-				<<elseif canAchieveErection($activeSlave) && !($activeSlave.chastityPenis)>>
-					an unwilling erection building behind you. Pleased, you snake a hand around behind yourself and start to play with $his dick, using your other hand to jerk yourself off.
-				<<elseif $activeSlave.dick > 6 && !canAchieveErection($activeSlave) && !($activeSlave.chastityPenis)>>
-					the huge cock behind you start to leak. Pleased, you snake a hand around behind yourself and start to play with $his dick, using your other hand to jerk yourself off.
-				<<elseif $activeSlave.dick > 0 && !canAchieveErection($activeSlave) && !($activeSlave.chastityPenis)>>
-					the pretty girldick behind you start to leak. Pleased, you snake a hand around behind yourself and start to play with $his soft bitchclit, using your other hand to jerk yourself off.
-				<<elseif ($activeSlave.chastityPenis == 1)>>
-					an unwilling heat building low behind you. Pleased, you snake a hand around behind yourself and start to tease $his chastity cage, using your other hand to jerk off.
-				<<elseif ($activeSlave.chastityVagina)>>
-					an unwilling heat building low behind you. Pleased, you snake a hand around behind yourself and start to tease $his chastity, using your other hand to jerk off.
-				<<elseif ($activeSlave.race == "catgirl")>>
-					a demure heat building behind you. Pleased, you snake a hand around behind yourself and start to play with the soft silky fur between $his legs.
-				<<else>>
-					a demure heat building behind you. Pleased, you snake a hand around behind yourself and start to play with the soft smooth skin between $his legs.
-				<</if>>
-				Except for your vigorous stroking with one hand, there's little to indicate to $him that you have a dick. It must feel as though $he has a beautiful woman in $his arm<<if hasBothArms($activeSlave)>>s<</if>>, and is playing with $his boobs while $he gets $him off manually. You complete the feeling by craning around to rain nibbles and kisses on $his $activeSlave.faceShape face.
-				<br><br>
-				Over the week, you require $him to repeat this sexually confusing performance daily. It's difficult, having one of your slaves detailed to stimulate your nipples every day, but you make the necessary sacrifice.
-			<</if>>
-			<<if random(1,2) == 1>>
-				After a few days, $he's @@.green;obviously reconsidering $his previous hesitations about tits and ass.@@
-				<<set $activeSlave.attrXX += 5>>
-			<<else>>
-				$He serves your feminine body like a good slave. $His dislike for sex with girls doesn't change, but $he gets better at @@.hotpink;suppressing $his own inclinations@@ and serving as your plaything.
-				<<set $activeSlave.devotion += 4>>
-			<</if>>
-		<</if>>
-	<</replace>>
-<</link>><<if canDoVaginal($activeSlave) && ($activeSlave.vagina == 0) && $activeSlave.attrXY <= 35>>//This option will take $his virginity//<<elseif !canDoVaginal($activeSlave) && canDoAnal($activeSlave) && ($activeSlave.anus == 0) && $activeSlave.attrXY <= 35>> //This option will take $his anal virginity//<</if>>
-
 <<case "resistant anal virgin">>
 
 <<link "Let $him earn continued anal virginity">>
@@ -7441,208 +5869,6 @@ $He cranes $his neck, glancing over $his shoulder to give you a pleading look.
 	$His @@.hotpink;devotion to you@@ and @@.mediumaquamarine;trust in you@@ have increased.
 <</link>><<if canDoVaginal($activeSlave) && ($activeSlave.vagina == 0)>>//This option will take $his virginity//<<elseif !canDoVaginal($activeSlave) && ($activeSlave.anus == 0)>> //This option will take $his anal virginity//<</if>>
 
-<<case "sleeping ambivalent">>
-
-<<link "Grope $his boob">>
-	<<replace "#result">>
-		$His eyes fly open as $he feels someone groping $him.
-		<<if ($activeSlave.boobsImplant/$activeSlave.boobs) >= .60>>
-			You're mauling $his fake boob, squeezing it and making the skin of $his breast, which is already stretched rather taut by the implant, stretch a bit farther.
-		<<elseif $activeSlave.boobs > 3000>>
-			You're hefting and massaging $his mass of breastflesh, playing with $his <<if ($activeSlave.boobsImplant/$activeSlave.boobs) < .60>>mostly <</if>>natural boob, making $his huge soft udder bounce and jiggle.
-		<<elseif $activeSlave.lactation > 0>>
-			You're kneading and massaging $his udder, and the milk begins to <<if $activeSlave.nipples != "fuckable">>bead at<<else>>leak from<</if>> the cow's nipple.
-		<<elseif $activeSlave.boobs > 300>>
-			You've got $his whole tit in your hands, jiggling and squeezing the entire thing.
-		<<else>>
-			You're massaging and squeezing $his flat chest.
-		<</if>>
-		$His face contorts with surprise and then outrage, but then $he <<if !canSee($activeSlave)>>recognizes your familiar <<if canSmell($activeSlave)>>smell<<else>>touch<</if>> and <</if>>realizes whose hand it is that's taking liberties with $him.
-		<<if $activeSlave.intelligence+$activeSlave.intelligenceImplant > 50>>
-			Though $he's smart,
-		<<elseif $activeSlave.intelligence+$activeSlave.intelligenceImplant >= -15>>
-			Though $he's not dumb,
-		<<else>>
-			$He's an idiot, and
-		<</if>>
-		in $his drowsy state $he can't figure out what to do. $He settles for @@.hotpink;freezing submissively@@ and letting you do what you like. You test $his compliance by
-		<<switch $activeSlave.nipples>>
-		<<case "inverted">>
-			painfully protruding $his fully inverted nipple. $He puts up with even that, though $he cries a little as it pops out.
-		<<case "partially inverted">>
-			painfully protruding $his partially inverted nipple. $He puts up with that, too, though $he winces as it pops out.
-		<<case "huge">>
-			rolling $his huge nipple between a thumb and forefinger, hard enough to hurt. $He accepts the mammary abuse.
-		<<case "fuckable">>
-			forcing your entire fist into $his nipple. $He accepts the stimulation as best $he can.
-		<<default>>
-			playing with $his nipple, pinching it hard enough to hurt. $He accepts the mammary abuse.
-		<</switch>>
-		Satisfied, you leave $him to get back to sleep as best $he can.
-		<<set $activeSlave.devotion += 4>>
-		<<if $activeSlave.lactation > 0>>
-			<<set $activeSlave.lactationDuration = 2>>
-			<<set $activeSlave.boobs -= $activeSlave.boobsMilk, $activeSlave.boobsMilk = 0>>
-		<</if>>
-	<</replace>>
-<</link>>
-<<if $activeSlave.belly >= 5000 || $activeSlave.weight > 30>>
-	<br><<link "Rub $his belly">>
-		<<replace "#result">>
-			<<if $activeSlave.bellyPreg >= 5000>>
-				$His eyes fly open as soon as $he feels someone touching $his _belly, life-rounded, stomach.
-				<<if $activeSlave.weight > 10>>
-					You're massaging and teasing $his huge, soft belly.
-				<<elseif $activeSlave.muscles > 5>>
-					You're massaging and teasing $his taut belly and ruined abs.
-				<<else>>
-					You're massaging and teasing $his taut belly.
-				<</if>>
-				$His face contorts with surprise and then outrage, but then $he <<if !canSee($activeSlave)>>recognizes your familiar <<if canSmell($activeSlave)>>smell<<else>>touch<</if>> and <</if>>realizes whose hand it is that's taking liberties with $him.
-				<<if $activeSlave.intelligence+$activeSlave.intelligenceImplant > 50>>
-					Though $he's smart,
-				<<elseif $activeSlave.intelligence+$activeSlave.intelligenceImplant >= -15>>
-					Though $he's not dumb,
-				<<else>>
-					$He's an idiot, and
-				<</if>>
-				in $his drowsy state $he can't figure out what to do. $He settles for @@.hotpink;freezing submissively@@ and letting you do what you like. You test $his compliance by
-				<<if $activeSlave.weight > 10>>
-					sinking your hands into $his fat to get a good feel of the life growing within.
-				<<else>>
-					feeling for the life growing within $him.
-				<</if>>
-				<<if $activeSlave.weight > 30>>
-					Though it takes some groping before you are met with a kick from $his unborn child.
-				<<elseif $activeSlave.pregType < 3>>
-					It doesn't take long before you are met with a kick from $his unborn child.
-				<<else>>
-					$He is so full of children that your ministrations are met with a hail of motion.
-				<</if>>
-				<<if $activeSlave.pregSource == -1>>Smiling at how active your children are<<else>>Satisfied<</if>>,
-			<<elseif $activeSlave.bellyImplant >= 5000>>
-				$His eyes fly open as soon as $he feels someone touching $his _belly stomach.
-				<<if $activeSlave.weight > 10>>
-					You're massaging and teasing $his huge, soft belly.
-				<<elseif $activeSlave.muscles > 5>>
-					You're massaging and teasing $his taut belly and ruined abs.
-				<<else>>
-					You're massaging and teasing $his taut belly.
-				<</if>>
-				$His face contorts with surprise and then outrage, but then $he <<if !canSee($activeSlave)>>recognizes your familiar <<if canSmell($activeSlave)>>smell<<else>>touch<</if>> and <</if>>realizes whose hand it is that's taking liberties with $him.
-				<<if $activeSlave.intelligence+$activeSlave.intelligenceImplant > 50>>
-					Though $he's smart,
-				<<elseif $activeSlave.intelligence+$activeSlave.intelligenceImplant >= -15>>
-					Though $he's not dumb,
-				<<else>>
-					$He's an idiot, and
-				<</if>>
-				in $his drowsy state $he can't figure out what to do. $He settles for @@.hotpink;freezing submissively@@ and letting you do what you like. You test $his compliance by
-				<<if $activeSlave.weight > 10>>
-					sinking your hands into $his fat to get a good feel of the implant hidden within.
-				<<else>>
-					feeling up the implant within $him.
-				<</if>>
-				<<if $activeSlave.weight > 30>>
-					Though it takes some groping before you locate the firm sphere.
-				<<elseif $activeSlave.belly < 10000>>
-					It doesn't take long for you to have a solid grip on the firm sphere.
-				<<else>>
-					It's so huge it's hard to miss, but that just gives you more room to poke and prod at.
-				<</if>>
-				Satisfied,
-			<<elseif $activeSlave.bellyFluid >= 5000>>
-				$His eyes fly open as soon as $he feels someone touching $his _belly, <<print $activeSlave.inflationType>>-filled stomach.
-				<<if $activeSlave.weight > 10>>
-					You're massaging and jiggling $his huge, soft belly, enjoying the sounds it makes as you move it.
-				<<elseif $activeSlave.muscles > 5>>
-					You're massaging and jiggling $his taut belly and stretched abs, enjoying the sounds it makes as you move it.
-				<<else>>
-					You're massaging and jiggling $his taut belly, enjoying the sounds it makes as you move it.
-				<</if>>
-				$His face contorts with surprise and then outrage, but then $he <<if !canSee($activeSlave)>>recognizes your familiar <<if canSmell($activeSlave)>>smell<<else>>touch<</if>> and <</if>>realizes whose hand it is that's taking liberties with $him.
-				<<if $activeSlave.intelligence+$activeSlave.intelligenceImplant > 50>>
-					Though $he's smart,
-				<<elseif $activeSlave.intelligence+$activeSlave.intelligenceImplant >= -15>>
-					Though $he's not dumb,
-				<<else>>
-					$He's an idiot, and
-				<</if>>
-				in $his drowsy state $he can't figure out what to do. $He settles for @@.hotpink;freezing submissively@@ and letting you do what you like. You test $his compliance by
-				<<if $activeSlave.weight > 10>>
-					sinking your hands into $his fat to get a good grip
-				<<else>>
-					wrapping your hands around the sloshing globe
-				<</if>>
-				and vigorously shaking. As $his gut's groaning from the sudden shift of its contents dies down, you gently apply pressure to the bloated organ, careful to only cause $his discomfort and not to disgorge $his contents. Satisfied,
-			<<else>>
-				$His eyes fly open as soon as $he feels someone touching $his
-				<<if $activeSlave.weight > 190>>
-					expansive belly. You're massaging and jiggling $his obscene gut while teasing $his many folds and struggling to find $his belly button.
-				<<elseif $activeSlave.weight > 160>>
-					massive, soft belly. You're massaging and jiggling $his obscene gut while teasing $his many folds and hidden belly button.
-				<<elseif $activeSlave.weight > 130>>
-					huge, soft belly. You're massaging and jiggling $his thick gut while teasing $his folds and hidden belly button.
-				<<elseif $activeSlave.weight > 95>>
-					big soft belly. You're massaging and jiggling $his gut while teasing $his folds and hidden belly button.
-				<<else>>
-					chubby middle. You're massaging and jiggling $his tiny gut.
-				<</if>>
-				$His face contorts with surprise and then outrage, but then $he <<if !canSee($activeSlave)>>recognizes your familiar <<if canSmell($activeSlave)>>smell<<else>>touch<</if>> and <</if>>realizes whose hand it is that's taking liberties with $him.
-				<<if $activeSlave.intelligence+$activeSlave.intelligenceImplant > 50>>
-					Though $he's smart,
-				<<elseif $activeSlave.intelligence+$activeSlave.intelligenceImplant >= -15>>
-					Though $he's not dumb,
-				<<else>>
-					$He's an idiot, and
-				<</if>>
-				in $his drowsy state $he can't figure out what to do. $He settles for @@.hotpink;freezing submissively@@ and letting you do what you like. You test $his compliance by roughly kneading $his pliant flesh, testing how well it can be molded into pleasurable valleys and ravines. Satisfied,
-			<</if>>
-			you leave $him to get back to sleep as best $he can.
-			<<set $activeSlave.devotion += 4>>
-		<</replace>>
-	<</link>>
-<</if>>
-<<if $PC.dick != 0>>
-	<br><<link "Cum on $his face">>
-		<<replace "#result">>
-			You stand over $him, quietly masturbating while watching $him sleep. Several of $his fellow slaves come and go as you do so, but if they're surprised by the sight, they have the presence of mind not to show it. You fancy yourself a bit of a marks<<= _womanP>>, and you don't feel the need to bend over $him to score good hits. Your load comes in three main jets: the first hits $him on the nipple, the second tracks up $his sternum and throat, and the third splashes full across $his face as $his eyes fly open<<if $PC.vagina != -1>>, each of these accompanied by some less directionally perfect girlcum<</if>>. $He sputters with surprise and then outrage, but <<if !canSee($activeSlave)>>once $he recognizes your <<if canTaste($activeSlave)>>taste<<else>>presence<</if>> and<<else>>then $he<</if>> realizes who it is standing over $him <<if canSee($activeSlave)>>and<<else>>does $he<</if>> @@.gold;freezes in terror.@@
-			<<if $activeSlave.intelligence+$activeSlave.intelligenceImplant > 50>>
-				$He's quick, and $he immediately realizes
-			<<elseif $activeSlave.intelligence+$activeSlave.intelligenceImplant >= -15>>
-				$He's not dumb, and $he quickly realizes
-			<<else>>
-				$He gradually manages to calculate
-			<</if>>
-			that doing anything other than thanking you would be phenomenally stupid. "Thank you, <<Master>>," $he <<if SlaveStatsChecker.checkForLisp($activeSlave)>>lisps<<else>>mumbles<</if>> blearily. You leave $him to @@.hotpink;puzzle over $his own submissiveness,@@ covered in your cum.
-			<<set $activeSlave.devotion += 4, $activeSlave.trust -= 2>>
-		<</replace>>
-	<</link>>
-<<else>>
-	<br><<link "Squirt on $his face">>
-		<<replace "#result">>
-			You stand over $him, quietly masturbating while watching $him sleep. Several of $his fellow slaves come and go as you do so, but if they're surprised by the sight, they have the presence of mind not to show it. You're on excellent terms with your cunt, and you know just what it takes to make yourself squirt. When you feel the heat building just right, you quickly straddle $his face without touching $him, angling yourself carefully and increasing the pace of your schlicking. In no time at all, a jet of femcum splashes onto $his face and down across $his chest. $He sputters with surprise and then outrage, but then $he <<if canSee($activeSlave)>>realizes whose pussy $he's staring straight into<<else>>recognizes your <<if canTaste($activeSlave)>>flavor<<else>>presence<</if>><</if>> and @@.gold;freezes in terror.@@
-			<<if $activeSlave.intelligence+$activeSlave.intelligenceImplant > 50>>
-				$He's quick, and $he immediately realizes
-			<<elseif $activeSlave.intelligence+$activeSlave.intelligenceImplant >= -15>>
-				$He's not dumb, and $he quickly realizes
-			<<else>>
-				$He gradually manages to calculate
-			<</if>>
-			that doing anything other than thanking you would be phenomenally stupid. "Thank you, <<Master>>," $he <<if SlaveStatsChecker.checkForLisp($activeSlave)>>lisps<<else>>mumbles<</if>> blearily. You leave $him to @@.hotpink;puzzle over $his own submissiveness,@@ covered in your pussyjuice.
-			<<set $activeSlave.devotion += 4, $activeSlave.trust -= 2>>
-		<</replace>>
-	<</link>>
-<</if>>
-<br><<link "Just watch $him for a little while">>
-	<<replace "#result">>
-		You stand there for a while, watching the exhausted slave sleep. It's an oddly restful sight, and the aesthetics of $his slumbering little movements hold your attention for a time.<<if $activeSlave.preg > $activeSlave.pregData.normalBirth/2>> You watch the subtle movements going on within $his womb as well.<</if>> After a while, you head to your own bed. Several of $his fellow slaves came and went as you watched $him, but if they're surprised by the sight, they have the presence of mind not to show it.
-		<br><br>
-		One of them quietly lets $him know about the incident the next day, though, and the overall impact on $his mental state is surprisingly positive. In a more normal human setting, the news that someone watched $him sleep last night without $his consent or even knowledge at the time would disturb $him greatly. However, it's not uncommon for slaves in the dormitory to wake up to the sounds of the occupant of the bedroll next to theirs getting fucked, and without any consent, either. Perhaps you're odd, $he's obviously thinking, but @@.mediumaquamarine;perhaps you won't rape $him while $he sleeps.@@
-		<<set $activeSlave.trust += 4>>
-	<</replace>>
-<</link>>
-
 <<case "sexy succubus">>
 
 <<link "Let $him eat">>
@@ -8222,63 +6448,6 @@ $He cranes $his neck, glancing over $his shoulder to give you a pleading look.
 	<</replace>>
 <</link>>
 
-<<case "bad dream">>
-
-/* TODO: add a positive variant */
-
-<<link "Let $him be">>
-	<<replace "#result">>
-		It may be for the best to not disturb $his unpeaceful slumber, you decide. Admiring the attractive view for just a moment longer, you turn back and head to your own bed. The next morning, it appears as though $activeSlave.slaveName doesn't even remember this nightmare.
-	<</replace>>
-<</link>>
-<br><<link "Hug $him">>
-	<<replace "#result">>
-		You reach out to hug $him, but as soon as your hand touches $his shoulder, $he writhes instinctively away. <<if canSee($activeSlave)>>$His eyes fly open, searching frantically for $his assailant. Seeing that it's you, $he screams and scrabbles away even harder. After making it a few feet, $he collects $his wits enough to bring $himself to a stop and stop screaming, though $he continues to sob, staring at you in terror<<else>>$He gropes frantically for $his assailant, before making contact with you. $He screams and scrabbles away, only stopping when $he collides with the nearest solid object. <<if canHear($activeSlave)>>Only after several call outs that it is you does $he stop screaming, though $he continues to sob, listening to your every breath in terror<<else>>After screaming $himself hoarse, $he realizes that $his assault has abruptly ended, and gently feels around $his surroundings with a shaking hand to discover $himself back in $his room<</if>><</if>>. $He remains frozen in place as you slowly advance on $him and give $him a light embrace. $His tears gradually stop, but $he does not relax, <<if canSee($activeSlave)>>remaining dumbly stiff<<else>>continuing to quake in fear<</if>> within your arms. Eventually you let $him go, and $he crawls pathetically back under $his sheet, still weeping softly. It seems $he is @@.gold;more afraid of you@@ than ever, and if you thought that a simple hug could win $him over, you were wrong.
-		<<if canSee($activeSlave)>>
-			<<set $activeSlave.trust -= 4>>
-		<<elseif canHear($activeSlave)>>
-			<<set $activeSlave.trust -= 5>>
-		<<else>>
-			<<set $activeSlave.trust -= 6>>
-		<</if>>
-	<</replace>>
-<</link>>
-<<if canDoAnal($activeSlave) || canDoVaginal($activeSlave)>>
-	<br><<link "Rape $him">>
-		<<replace "#result">>
-			You snatch the sheet off $him, shove $his uppermost shoulder down so $his face is smashed into the pillow, and bring your knees down between $his legs, spreading them to force $hers apart. You use the hand that isn't controlling $his torso to locate $his
-			<<if canDoVaginal($activeSlave)>>
-				<<if $activeSlave.vagina > 2>>
-					amusingly loose cunt
-				<<elseif $activeSlave.vagina > 1>>
-					large womanhood
-				<<elseif $activeSlave.vagina > 0>>
-					tight pussy
-				<<else>>
-					poor virgin pussy
-				<</if>>
-			<<else>>
-				<<if $activeSlave.anus > 2>>
-					amusingly broad asshole
-				<<elseif $activeSlave.anus > 1>>
-					big butthole
-				<<elseif $activeSlave.anus > 0>>
-					tight rosebud
-				<<else>>
-					poor virgin anus
-				<</if>>
-			<</if>>
-			in the dark as $he begins to @@.gold;struggle and scream.@@ $He comes fully awake when $he feels your rough fingers searching for and then finding $his
-			<<if ($activeSlave.vagina >= 0) && canDoVaginal($activeSlave)>>vagina<<else>>crinkled hole<</if>>, and $his noise increases to the point where it becomes annoying. You stuff $his face into the pillow and take $him mercilessly, using the pillow to cut off $his breath whenever $he struggles too much, until oncoming suffocation forces $him to go still and take it like a good little bitch.
-			<br><br>
-			@@.mediumorchid;Sometimes dreams do come true.@@
-			<br><br>
-			<<= VCheck.Simple($activeSlave, 1)>>
-			<<set $activeSlave.trust -= 4, $activeSlave.devotion -= 4>>
-		<</replace>>
-	<</link>><<if (($activeSlave.vagina == 0) && canDoVaginal($activeSlave)) || (($activeSlave.anus == 0) && canDoAnal($activeSlave))>> //This option will take $his virginity//<</if>>
-<</if>>
-
 <<case "shower slip">>
 
 <<link "Carry $him to where $he needs to go">>