diff --git a/src/events/RETS/reInterslaveBegging.js b/src/events/RETS/reInterslaveBegging.js
index 83e75f7b873c87e6a77f14ca7f63783e74653024..efe243b8fbd7eeb43b3a5cc92d9d7be251997512 100644
--- a/src/events/RETS/reInterslaveBegging.js
+++ b/src/events/RETS/reInterslaveBegging.js
@@ -10,12 +10,13 @@ App.Events.RETSInterslaveBegging = class RETSInterslaveBegging extends App.Event
 			[ // event slave /domslave
 				s => s.fetish !== "mindbroken",
 				hasAnyArms,
-				hasAnyLegs,
+				canStand,
 				canTalk,
 				canHear,
+				canSee,
 				s => s.devotion > 20,
 				s => s.energy > 40,
-				s => s.anus > 0,
+				s => ((canDoVaginal(s) && s.vagina !== 0) || (canDoAnal(s) && s.anus !== 0)),
 				canPenetrate,
 				canSee,
 				s => s.rules.release.slaves === 1,
@@ -24,6 +25,7 @@ App.Events.RETSInterslaveBegging = class RETSInterslaveBegging extends App.Event
 				s => s.fetish !== "mindbroken",
 				canWalk,
 				canTalk,
+				canHear,
 				isSlaveAvailable,
 				s => s.devotion > 20,
 				s => s.energy > 40,
@@ -49,7 +51,7 @@ App.Events.RETSInterslaveBegging = class RETSInterslaveBegging extends App.Event
 		V.nextLink = "Next Week";
 
 		App.Events.drawEventArt(node, [eventSlave, subSlave], "no clothing");
-		const vaginal = canDoVaginal(subSlave);
+		const vaginal = canDoVaginal(subSlave) && subSlave.vagina > 0;
 
 		let t = [];
 
@@ -124,12 +126,7 @@ App.Events.RETSInterslaveBegging = class RETSInterslaveBegging extends App.Event
 		if (areRelated(eventSlave, subSlave)) {
 			t.push(`the unmatched perversion of having ${his2} own ${relativeTerm(subSlave, eventSlave)} beg ${him2} for sex.`);
 		} else if (eventSlave.assignment === Job.HEADGIRL) {
-			if (canHear(subSlave)) {
-				t.push(`listening to`);
-			} else {
-				t.push(`having`);
-			}
-			t.push(`the Head Girl beg to be allowed to put ${his} cock inside ${him2}. Usually, it's ${eventSlave.slaveName} giving the orders.`);
+			t.push(`listening to the Head Girl beg to be allowed to put ${his} cock inside ${him2}. Usually, it's ${eventSlave.slaveName} giving the orders.`);
 		} else if (eventSlave.fetishKnown && (eventSlave.fetish === "dom" || eventSlave.fetish === "sadist")) {
 			t.push(`having a dominant ${SlaveTitle(eventSlave)} like ${eventSlave.slaveName} beg ${him2} for sex.`);
 		} else if (eventSlave.face > 40) {
@@ -299,7 +296,13 @@ App.Events.RETSInterslaveBegging = class RETSInterslaveBegging extends App.Event
 			t = [];
 
 			t.push(`You resolve to give the poor slave what ${he}'s asking for: ${subSlave.slaveName}${!vaginal ? "'s ass." : "."}`);
-			t.push(`Your slaves might have the right to refuse each other, but they have to obey you. You clear your throat, getting both slaves' attention, and then fix your gaze on ${subSlave.slaveName}. You tilt your head ever so slightly in ${eventSlave.slaveName}'s direction. That's all that's necessary.`);
+			t.push(`Your slaves might have the right to refuse each other, but they have to obey you. You clear your throat, getting both slaves' attention, and then fix your gaze on ${subSlave.slaveName}.`);
+			if (canSee(subSlave)) {
+				t.push(`You tilt your head ever so slightly`);
+			} else {
+				t.push(`You make a subtle, yet clearly sexual sound`);
+			}
+			t.push(`in ${eventSlave.slaveName}'s direction. That's all that's necessary.`);
 			t.push(Spoken(subSlave, `"Yes, ${getWrittenTitle(subSlave)}!"`));
 			t.push(`says ${subSlave.slaveName} obediently, and`);
 			if (vaginal) {
@@ -548,13 +551,7 @@ App.Events.RETSInterslaveBegging = class RETSInterslaveBegging extends App.Event
 			t = [];
 
 			const domBelly = bellyAdjective(eventSlave);
-			t.push(`You brush past ${eventSlave.slaveName} without a word. ${Spoken(eventSlave, `"Um, ${getWrittenTitle(eventSlave)},"`)} ${he} starts to greet you, and then loses track of the greeting as ${he}`);
-			if (canSee(eventSlave)) {
-				t.push(`sees`);
-			} else {
-				t.push(`notices`);
-			}
-			t.push(`what you're doing. You stride forward, grab ${subSlave.slaveName} by ${his2}`);
+			t.push(`You brush past ${eventSlave.slaveName} without a word. ${Spoken(eventSlave, `"Um, ${getWrittenTitle(eventSlave)},"`)} ${he} starts to greet you, and then loses track of the greeting as ${he} sees what you're doing. You stride forward, grab ${subSlave.slaveName} by ${his2}`);
 			if (subSlave.hips > 2) {
 				t.push(`door-jamming hips`);
 			} else if (subSlave.belly >= 100000) {
@@ -621,10 +618,13 @@ App.Events.RETSInterslaveBegging = class RETSInterslaveBegging extends App.Event
 				t.push(`instrument`);
 			}
 			t.push(`sliding in and out of ${him2}, in and out of ${him2}. You plunder ${him2} without restraint, bending to plant dominant kisses on ${him2} panting mouth while you fuck ${him2}, and then straightening up again to grab and maul ${his2}`);
-			if (subSlave.boobsImplant > 0) {
+			if (subSlave.boobsImplant / subSlave.boobs >= .60) {
 				t.push(`fake tits`);
 			} else {
-				t.push(`${subSlave.boobShape} boobs`);
+				if (subSlave.boobShape !== "normal") {
+					t.push(`${subSlave.boobShape}`);
+				}
+				t.push(`boobs`);
 			}
 			t.push(`with both hands.`);
 			if (V.PC.dick) {
@@ -672,7 +672,7 @@ App.Events.RETSInterslaveBegging = class RETSInterslaveBegging extends App.Event
 			} else {
 				t.push(`a strap-on`);
 			}
-			if (canDoVaginal(eventSlave)) {
+			if (canDoVaginal(eventSlave) && eventSlave.vagina > 0) {
 				t.push(`fucking ${him}.`);
 			} else {
 				t.push(`up ${his} ass.`);
@@ -680,7 +680,7 @@ App.Events.RETSInterslaveBegging = class RETSInterslaveBegging extends App.Event
 			App.Events.addParagraph(frag, t);
 			t = [];
 
-			t.push(`${eventSlave.slaveName} is familiar with your libido, but even so, ${he}'s impressed. ${He}'s also in dire need of relief, and at this point, ${he}'s so horny that the prospect of any sex is attractive, even if it isn't the kind of sex ${he} was originally planning. So ${he} hops up eagerly enough and opens ${his} legs for you, ${his} erect member`);
+			t.push(`${eventSlave.slaveName} is familiar with your libido, but even so, ${he}'s impressed. ${He}'s also in dire need of relief, and at this point, ${he}'s so horny that the prospect of any sex is attractive, even if it isn't the kind of sex ${he} was originally planning. So ${he} hops up eagerly enough and opens  ${hasBothLegs(eventSlave) ? `${his} legs` : `${himself}`} for you, ${his} erect member`);
 			if (eventSlave.belly >= 10000) {
 				t.push(`uncomfortably trapped by ${his}`);
 				if (eventSlave.bellyPreg >= 8000) {
@@ -692,7 +692,7 @@ App.Events.RETSInterslaveBegging = class RETSInterslaveBegging extends App.Event
 				t.push(`sticking out forgotten`);
 			}
 			t.push(`as ${he}`);
-			if (canDoVaginal(eventSlave)) {
+			if (canDoVaginal(eventSlave) && eventSlave.vagina > 0) {
 				t.push(`spreads ${his} pussy.`);
 			} else {
 				t.push(`offers you ${his} asshole.`);
@@ -706,7 +706,7 @@ App.Events.RETSInterslaveBegging = class RETSInterslaveBegging extends App.Event
 			t.push(`and since you've just climaxed recently, it's a while before you orgasm again. ${eventSlave.slaveName} cums long before you, spattering ${himself} messily, moaning ${Spoken(eventSlave, `"Oh, ${getWrittenTitle(eventSlave)}, yes, oh fuck yes, my ${canDoVaginal(eventSlave) ? "pussy, my fucking pussy" : "ass, my fucking asshole"}"`)}`);
 			t.push(`so <span class="hotpink">whorishly</span> that there's no indication ${he} was ever even considering fucking anyone.`);
 			eventSlave.devotion += 3;
-			if (canDoVaginal(eventSlave)) {
+			if (canDoVaginal(eventSlave) && eventSlave.vagina > 0) {
 				seX(eventSlave, "vaginal", V.PC, "penetrative");
 				if (canImpreg(eventSlave, V.PC)) {
 					t.push(knockMeUp(eventSlave, 5, 0, -1, true));