From 9421a374144bc2bbc5d814d697a913312d9b0e33 Mon Sep 17 00:00:00 2001
From: kopareigns <kopareigns@gmail.com>
Date: Sun, 26 Jul 2020 11:10:17 -0400
Subject: [PATCH] Simple Assault to JS

---
 src/events/RETS/reSimpleAssault.js         | 239 +++++++++++++++++++++
 src/events/randomEvent.js                  |   1 +
 src/js/eventSelectionJS.js                 |  10 -
 src/uncategorized/RETS.tw                  | 139 +-----------
 src/uncategorized/nextWeek.tw              |   2 +-
 src/uncategorized/randomIndividualEvent.tw |  13 +-
 6 files changed, 243 insertions(+), 161 deletions(-)
 create mode 100644 src/events/RETS/reSimpleAssault.js

diff --git a/src/events/RETS/reSimpleAssault.js b/src/events/RETS/reSimpleAssault.js
new file mode 100644
index 00000000000..c266226a2b7
--- /dev/null
+++ b/src/events/RETS/reSimpleAssault.js
@@ -0,0 +1,239 @@
+App.Events.RETSSimpleAssault = class RETSSimpleAssault extends App.Events.BaseEvent {
+	eventPrerequisites() {
+		return [
+			() => V.universalRulesConsent === 0
+		];
+	}
+
+	actorPrerequisites() {
+		return [
+			[ // event slave
+				s => s.fetish !== "mindbroken",
+				hasAnyArms,
+				canWalk,
+				canTalk,
+				canPenetrate,
+				s => s.devotion > 50
+			],
+			[ // and her sub
+				s => s.fetish !== "mindbroken",
+				canWalk,
+				canTalk,
+				isSlaveAvailable,
+				s => (canDoAnal(s) && s.anus !== 0) || (canDoVaginal(s) && s.vagina !== 0),
+				s => s.devotion < 20,
+				s => s.belly < 2000,
+				s => s.skill.combat === 0,
+				s => s.muscles <= 30
+			]
+		];
+	}
+
+	execute(node) {
+		/** @type {Array<App.Entity.SlaveState>} */
+		let [domSlave, subSlave] = this.actors.map(a => getSlave(a));
+		const {
+			He, he, his, him, himself
+		} = getPronouns(domSlave);
+		const {
+			He2, he2, His2, his2, him2
+		} = getPronouns(subSlave).appendSuffix("2");
+		const {say, title: Master} = getEnunciation(domSlave);
+		const {title: Master2} = getEnunciation(subSlave);
+		const desc = SlaveTitle(domSlave);
+
+		/** @type {App.Entity.PlayerState} */
+		let PC = V.PC;
+
+		const vaginal = subSlave.vagina !== 0 && canDoVaginal(subSlave);
+
+		V.nextLink = "Next Week";
+
+		App.Events.drawEventArt(node, [domSlave, subSlave], ["no clothing", subSlave.clothes]);
+
+		let t = [];
+
+		t.push(`You round a corner and almost trip over`);
+		t.push(App.UI.DOM.combineNodes(App.UI.DOM.slaveDescriptionDialog(domSlave), "."));
+		t.push(`${He}'s on top of another slave, humping away; ${his}`);
+		if (domSlave.butt > 8) {
+			t.push(`monstrous, naked ass jiggles lewdly`);
+		} else if (domSlave.anus > 2) {
+			t.push(`loose asspussy winks lewdly`);
+		} else if (domSlave.muscles > 30) {
+			t.push(`heavily muscled butt flexes powerfully`);
+		} else if (domSlave.butt > 3) {
+			t.push(`big butt pumps energetically`);
+		} else {
+			t.push(`nice little butt flexes cutely`);
+		}
+		t.push(`as ${he} thrusts. You can't see much of the slave ${vaginal ? `lying on ${his2} back` : "face-down"} underneath ${domSlave.slaveName}, but you recognize ${him2} as `);
+		t.push(App.UI.DOM.slaveDescriptionDialog(subSlave));
+		t.push(`by ${his2} sobbing. ${He2}'s struggling a little, but ${domSlave.slaveName} has ${him2} pinned to the floor by ${his2} wrists, and ${domSlave.slaveName} is quickly raping the resistance out of the ${SlaveTitle(subSlave)}.`);
+		App.Events.addParagraph(node, t);
+		t = [];
+
+		t.push(`${domSlave.slaveName} senses your presence above and behind ${him}, and twists ${his} ${domSlave.hColor} head around to ${canSee(domSlave) ? `see who it is. ${He} sees that it's you` : `discern who it is. ${He} realizes that it's you`}, and greets you cheerfully. "${Spoken(domSlave, `Hi, ${Master}`)}," ${he} trills.`);
+		if (domSlave.fetishKnown && domSlave.fetish === "sadist") {
+			t.push(`"${Spoken(domSlave, `This is so awesome`)}," the sadistic ${desc} gushes. "${Spoken(domSlave, `The crying, the struggling. Thank you for letting us do this`)}."`);
+		} else if (domSlave.fetishKnown && domSlave.fetish === "dom") {
+			t.push(`"${Spoken(domSlave, `The crying almost makes me feel bad, but fucking a bitch feels so, so good`)}," the dominant ${desc} admits conversationally.`);
+		} else if (domSlave.fetishKnown && domSlave.fetish === "pregnancy" && vaginal && canImpreg(subSlave, domSlave)) {
+			t.push(`"${Spoken(domSlave, `I couldn't help myself`)}," the ${desc} admits. "${Spoken(domSlave, `${He2}'d look so pretty with a pregnant belly and I just couldn't resist giving ${him2} one. ${He2} tried to say ${he2} didn't want to be a mother, so...`)}"`);
+		} else if (domSlave.energy > 95) {
+			t.push(`"${Spoken(domSlave, `I can't help myself`)}," the nymphomaniac ${desc} admits breathlessly. "${Spoken(domSlave, `Thank you for letting me take what I need from the other girls`)}."`);
+		} else if (domSlave.energy > 60) {
+			t.push(`"${Spoken(domSlave, `I couldn't help myself`)}," the ${desc} admits. "${Spoken(domSlave, `I was really, really horny and ${he2} was just, um, there. And ${he2} tried to say no`)}."`);
+		} else {
+			t.push(`"${Spoken(domSlave, `I know it's not like me`)}," the ${desc} admits. "${Spoken(domSlave, `But I asked ${him2}, like, mostly joking, and ${he2} tried to say no`)}."`);
+		}
+		App.Events.addParagraph(node, t);
+		t = [];
+
+		t.push(`${subSlave.slaveName} ${vaginal ? `looks out from under ${domSlave.slaveName}` : `turns ${his2} head`} and ${canSee(subSlave) ? "looks at" : "faces"} you too. "${Spoken(subSlave, `${Master2}, please`)}," ${he2} begs. "${Spoken(subSlave, `P-please, make ${him} s-stop — mhhh —`)}" ${domSlave.slaveName} shuts ${him2} up by ${vaginal ? `kissing ${his2} unwilling mouth` : `shoving ${his2} face back against the floor`}. Once ${he} has ${subSlave.slaveName} back under control, ${domSlave.slaveName} slows ${his} thrusting, reaches around behind ${himself}, and ${domSlave.vagina !== 0 && canDoVaginal(domSlave) ? `spreads ${his} futa pussy for you` : `pulls one asscheek aside to offer you ${his} anus. To make the offer extra clear, ${he} starts winking it lewdly`}.`);
+		App.Events.addParagraph(node, t);
+		t = [];
+
+		t.push(`"${Spoken(domSlave, `Please fuck me while I rape ${him2}, ${Master}`)}," ${domSlave.slaveName} ${say}s in a mockery of ${subSlave.slaveName}'s `);
+		if (subSlave.voice > 2) {
+			t.push(`high-pitched whining.`);
+		} else if (subSlave.voice > 1) {
+			t.push(`begging.`);
+		} else {
+			t.push(`deep-voiced begging.`);
+		}
+		t.push(`"${Spoken(domSlave, `Ooh, or, please, ${Master}, may I flip ${him2} over? I'd love to feel ${PC.dick ? `your cock inside ${him2} alongside mine` : `that strap-on you use inside ${him2} alongside my cock`}`)}!"`);
+		App.Events.addParagraph(node, t);
+		t = [];
+
+		t.push(`"${Spoken(subSlave, `Please, no`)}," sobs ${subSlave.slaveName}.`);
+		App.Events.addParagraph(node, t);
+		t = [];
+
+		App.Events.addResponses(node, [
+			new App.Events.Result("Slide in behind", behind),
+			new App.Events.Result("Slide in alongside", alongside),
+			new App.Events.Result("Put a stop to it", stop)
+		]);
+
+		function behind() {
+			t = [];
+
+			t.push(`You order ${domSlave.slaveName} to go back to what ${he} was doing. ${He}'s a little disappointed you're not joining in, but ${he} obeys, pounding the crying ${subSlave.slaveName} without mercy. Then ${domSlave.slaveName} feels the head of ${PC.dick ? "your dick" : "a strap-on"} brush ${his} butt. "Ooh!" ${he} squeals, <span class="hotpink">pleased ${he} was wrong after all.</span> "${Spoken(domSlave, `Yes, thank you, ${Master}! Fuck me! Fuck me while I rape ${him2}!`)}" Underneath ${him}, ${subSlave.slaveName} cries harder, even though ${domSlave.slaveName} has to stop ${his} thrusting for a moment to let you inside. In fact, you reflect as you hammer ${domSlave.slaveName}'s`);
+			if (domSlave.vagina != 0 && canDoVaginal(domSlave)) {
+				if (domSlave.vagina > 2) {
+					t.push(`roomy`);
+				} else if (domSlave.vagina > 1) {
+					t.push(`delectable`);
+				} else {
+					t.push(`tight little`);
+				}
+				t.push(`cunt,`);
+			} else {
+				if (domSlave.anus > 2) {
+					t.push(`gaping`);
+				} else if (domSlave.anus > 1) {
+					t.push(`relaxed`);
+				} else {
+					t.push(`poor little`);
+				}
+				t.push(`asspussy,`);
+			}
+			t.push(`it's a little strange that ${subSlave.slaveName} <span class="gold">seems to think this is worse</span> than just being raped by ${domSlave.slaveName}. After all, having your ${PC.dick ? "turgid cock" : "formidable strap-on"} sliding energetically in and out of ${his} ${domSlave.vagina !== 0 && canDoVaginal(domSlave) ? "womanhood" : "rectum"} is cramping ${domSlave.slaveName}'s style a bit. Maybe it's that ${subSlave.slaveName} is a little squashed under there.`);
+
+			domSlave.devotion += 4;
+			subSlave.trust -= 4;
+			if (domSlave.vagina !== 0 && canDoVaginal(domSlave)) {
+				seX(domSlave, "vaginal", PC, "penetrative");
+				if (canImpreg(domSlave, PC)) {
+					t.push(knockMeUp(domSlave, 5, 0, -1, 1));
+				}
+			} else {
+				seX(domSlave, "anal", PC, "penetrative");
+				if (canImpreg(domSlave, PC)) {
+					t.push(knockMeUp(domSlave, 5, 1, -1, 1));
+				}
+			}
+			if (vaginal) {
+				seX(subSlave, "vaginal", domSlave, "penetrative");
+				if (canPenetrate(domSlave) && canImpreg(subSlave, domSlave)) {
+					t.push(knockMeUp(subSlave, 5, 0, domSlave.ID, 1));
+				}
+			} else {
+				seX(subSlave, "anal", domSlave, "penetrative");
+				if (canPenetrate(domSlave) && canImpreg(subSlave, domSlave)) {
+					t.push(knockMeUp(subSlave, 5, 1, domSlave.ID, 1));
+				}
+			}
+			return t;
+		}
+
+		function alongside() {
+			const fit = vaginal ? subSlave.vagina > 2 : subSlave.anus > 2;
+			t = [];
+
+			t.push(`You order ${domSlave.slaveName} to flip ${subSlave.slaveName} over and let you in too. Just as you expected, ${domSlave.slaveName} responds with a vicious giggle, and ${subSlave.slaveName} cries even harder. "${Spoken(subSlave, `Please!`)}" ${he2} screams. "${Spoken(subSlave, `${Master2}, it'll hurt! Please don't!`)}"`);
+			if (fit) {
+				t.push(`It's not clear what ${he2}'s so worked up about. ${His2} cavernous ${vaginal ? "cunt" : "asshole"} should be able to take two dicks without trouble.`);
+			} else {
+				if (domSlave.dick < 5) {
+					t.push(`It's not clear what ${he2}'s so worked up about. ${PC.dick ? "You're quite large" : "You use a big strap-on"}, but ${domSlave.slaveName}'s penis is reasonably sized. It's not like ${subSlave.slaveName}'s ${vaginal ? "cunt" : "asshole"} is going to be permanently damaged or anything.`);
+				} else {
+					t.push(`${He2}'s right to be concerned. ${PC.dick ? "You're quite large" : "You use a big strap-on"}, and ${domSlave.slaveName}'s penis is huge too. ${subSlave.slaveName}'s ${vaginal ? "cunt" : "asshole"} is in serious peril.`);
+				}
+			}
+			t.push(`${domSlave.slaveName} pulls out, sits ${his} bare butt down on the floor, and hauls a struggling ${subSlave.slaveName} onto ${his} lap, shoving ${his} stiff prick back where it belongs. Then ${domSlave.slaveName} hauls ${subSlave.slaveName}'s legs back, offering you ${his2} already-occupied hole. ${subSlave.vagina !== 0 && vaginal ? `${subSlave.slaveName} has another hole, and ${he2} tearfully begs you to use it, but in vain.` : ""}`);
+			t.push(`You jam yourself inside, enjoying ${subSlave.slaveName}'s ${!fit ? `wriggling and the extreme tightness of ${his2} overfilled insides. ${He2} spasms with pain as you force your way inside ${him2}` : "wriggling"}. ${domSlave.slaveName} can't thrust much from where ${he} is, and serves mostly to tighten ${subSlave.slaveName} for you, but ${he} ${canSee(domSlave) ? "stares into your eyes lovingly" : "lovingly smiles at you"}. Playing such an equal sexual role with you definitely <span class="mediumaquamarine">builds ${his} trust</span> in ${his} role. For ${his2} part, ${subSlave.slaveName} is <span class="gold">thoroughly degraded,</span> ${fit ? "but physically unhurt." : `and <span class="orange">stretched out.</span>`}`);
+
+			domSlave.trust += 4;
+			subSlave.trust -= 4;
+			if (vaginal) {
+				seX(subSlave, "vaginal", domSlave, "penetrative");
+				if (canImpreg(domSlave, PC)) {
+					t.push(knockMeUp(domSlave, 5, 0, -1, 1));
+				}
+				if (canPenetrate(domSlave) && canImpreg(subSlave, domSlave)) {
+					t.push(knockMeUp(subSlave, 5, 0, domSlave.ID, 1));
+				}
+			} else {
+				seX(subSlave, "anal", domSlave, "penetrative");
+				if (canImpreg(domSlave, PC)) {
+					t.push(knockMeUp(domSlave, 5, 1, -1, 1));
+				}
+				if (canPenetrate(domSlave) && canImpreg(subSlave, domSlave)) {
+					t.push(knockMeUp(subSlave, 5, 1, domSlave.ID, 1));
+				}
+			}
+			if (!fit) {
+				if (vaginal) {
+					subSlave.vagina++;
+				} else {
+					subSlave.anus++;
+				}
+			}
+			return t;
+		}
+
+		function stop() {
+			t = [];
+
+			t.push(`You order ${domSlave.slaveName} to stop raping ${subSlave.slaveName}.
+			"${Spoken(domSlave, `Yes, ${Master}`)}," ${he} ${say}s automatically, and gets up, pulling ${his} dick out of ${subSlave.slaveName}'s poor ${vaginal ? "pussy" : "asshole"}. ${domSlave.slaveName} doesn't understand, and ${his} prick softens quickly with ${his} confusion. ${He} thought ${he} didn't need consent to fuck other slaves, and ${he} <span class="gold">doubts ${himself}.</span>`);
+			App.Events.addParagraph(node, t);
+			t = [];
+
+			t.push(`${subSlave.slaveName} gets to ${his2} feet too, using a hand to massage ${his2} outraged hole. "${Spoken(subSlave, `Thank you, ${Master2}, thank you`)}," ${he2} repeats over and over, <span class="mediumaquamarine">weeping with relief.</span>`);
+			App.Events.addParagraph(node, t);
+			t = [];
+
+			domSlave.trust -= 4;
+			subSlave.trust += 4;
+			if (vaginal) {
+				seX(subSlave, "vaginal", domSlave, "penetrative");
+			} else {
+				seX(subSlave, "anal", domSlave, "penetrative");
+			}
+			return t;
+		}
+	}
+};
diff --git a/src/events/randomEvent.js b/src/events/randomEvent.js
index 7badfb5f5cc..4abe703618c 100644
--- a/src/events/randomEvent.js
+++ b/src/events/randomEvent.js
@@ -41,6 +41,7 @@ App.Events.getIndividualEvents = function() {
 		new App.Events.RECIOrientation(),
 
 		new App.Events.RETSSiblingTussle(),
+		new App.Events.RETSSimpleAssault(),
 	];
 };
 
diff --git a/src/js/eventSelectionJS.js b/src/js/eventSelectionJS.js
index d972693b3ab..8c0aa23ef98 100644
--- a/src/js/eventSelectionJS.js
+++ b/src/js/eventSelectionJS.js
@@ -393,11 +393,6 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) {
 						if (V.REIfYouEnjoyItSubIDs.length > 0) {
 							V.RETSevent.push("if you enjoy it");
 						}
-						if (V.RESimpleAssaultIDs.length > 0) {
-							if (canPenetrate(eventSlave)) {
-								V.RETSevent.push("simple assault");
-							}
-						}
 					}
 				}
 
@@ -1712,11 +1707,6 @@ globalThis.generateRandomEventPoolServant = function(eventSlave) {
 						if (V.REIfYouEnjoyItSubIDs.length > 0) {
 							V.RETSevent.push("if you enjoy it");
 						}
-						if (V.RESimpleAssaultIDs.length > 0) {
-							if (canPenetrate(eventSlave)) {
-								V.RETSevent.push("simple assault");
-							}
-						}
 					}
 				}
 
diff --git a/src/uncategorized/RETS.tw b/src/uncategorized/RETS.tw
index 5e14e9a203b..e3391e5b081 100644
--- a/src/uncategorized/RETS.tw
+++ b/src/uncategorized/RETS.tw
@@ -115,13 +115,6 @@
 
 <<set $subSlave = $slaves[$slaveIndices[$eventSlave.relationshipTarget]]>>
 
-<<case "simple assault">>
-
-<<if Array.isArray($RESimpleAssaultIDs)>>
-	<<set $RESimpleAssaultIDs = $RESimpleAssaultIDs.random()>>
-	<<set $subSlave = $slaves[$slaveIndices[$RESimpleAssaultIDs]]>>
-<</if>>
-
 <<case "cockmilk interception">>
 
 <<if Array.isArray($RECockmilkInterceptionIDs)>>
@@ -166,7 +159,7 @@
 	<<case "anal cowgirl" "boob collision" "cockmilk interception" "if you enjoy it" "incestuous nursing" "interslave begging" "repressed anal virgin" "shower force" "taste test" "top exhaustion">>
 		<<set $activeSlave.clothes = "no clothing">>
 		<<set $subSlave.clothes = "no clothing">>
-	<<case "date please" "simple assault">>
+	<<case "date please">>
 		<<set $activeSlave.clothes = "no clothing">>
 	<<case "sadistic description">>
 		<<set $subSlave.clothes = "no clothing">>
@@ -738,41 +731,6 @@ Being the <<if $activeSlave.relationship > 4>>$wife<<else>>lover<</if>> of a lus
 
 Mere moments after you absorb this arresting scene, $subSlave.slaveName thrusts <<if canPenetrate($subSlave)>>_his2 cock<<else>>the strap-on<</if>> all the way inside $activeSlave.slaveName's <<if _notVirgin == 1>>ass<<else>>womanhood<</if>> and shudders, <<if canPenetrate($subSlave)>>filling it with _his2 cum<<else>>orgasming<</if>>. Then _he2 collapses, utterly spent. $activeSlave.slaveName <<if canPenetrate($subSlave)>>gasps at the sensation of the ejaculate shooting into $his body<<else>>smiles a little wider as $he feels $subSlave.slaveName's muscles tense with climax<</if>>, and then grunts a little as $subSlave.slaveName lies down on top of $him.<<if $subSlave.boobs > 5000>> The enormous weight of $his lover's boobs squashes $him.<</if>><<if $subSlave.belly >= 5000>> _His2 _belly <<if $subSlave.bellyPreg >= 3000>>pregnancy<<else>>belly<</if>> pushing into the small of $his back.<</if>> After a few seconds, $he wiggles $his hips a little as a wordless question. The sensation <<if canPenetrate($subSlave)>>against $subSlave.slaveName's softening, overstimulated member<<else>>is transmitted through the phallus and its harness to $subSlave.slaveName's overstimulated clit, and this<</if>> makes the exhausted slave on top quiver, eliciting a giggle from the slave underneath _him2. "I love you, $subSlave.slaveName," $he whispers, and receives a mumbled "I love you too" in breathy response, right next to $his ear.
 
-<<case "simple assault">>
-
-<<set _vaginal = 0>>
-<<if $subSlave.vagina != 0 && canDoVaginal($subSlave)>>
-	<<set _vaginal = 1>>
-	<<run seX($subSlave, "vaginal", $activeSlave, "penetrative")>>
-<<else>>
-	<<run seX($subSlave, "anal", $activeSlave, "penetrative")>>
-<</if>>
-You round a corner and almost trip over <<= App.UI.slaveDescriptionDialog($activeSlave)>>. $He's on top of another slave, humping away; $his <<if $activeSlave.butt > 8>>monstrous, naked ass jiggles lewdly<<elseif $activeSlave.anus > 2>>loose asspussy winks lewdly<<elseif $activeSlave.muscles > 30>>heavily muscled butt flexes powerfully<<elseif $activeSlave.butt > 3>>big butt pumps energetically<<else>>nice little butt flexes cutely<</if>> as $he thrusts. You can't see much of the slave <<if _vaginal>>lying on _his2 back<<else>>face-down<</if>> underneath $activeSlave.slaveName, but you recognize _him2 as <<= App.UI.slaveDescriptionDialog($subSlave)>> by _his2 sobbing. _He2's struggling a little, but $activeSlave.slaveName has _him2 pinned to the floor by _his2 wrists, and $activeSlave.slaveName is quickly raping the resistance out of the <<print SlaveTitle($subSlave)>>.
-<br><br>
-$activeSlave.slaveName senses your presence above and behind $him, and twists $his $activeSlave.hColor head around to <<if canSee($activeSlave)>>see who it is. $He sees that it's you<<else>>discern who it is. $He realizes that it's you<</if>>, and greets you cheerfully. "Hi, <<Master>>," $he trills.
-<<if $activeSlave.fetishKnown && $activeSlave.fetish == "sadist">>
-	"Thi<<s>> i<<s>> <<s>>o awe<<s>>ome," the sadistic $desc gushes. "The crying, the <<s>>truggling. Thank you for letting u<<s>> do thi<<s>>."
-<<elseif $activeSlave.fetishKnown && $activeSlave.fetish == "dom">>
-	"The crying almo<<s>>t make<<s>> me feel bad, but fucking a bitch feel<<s>> <<s>>o, <<s>>o good," the dominant $desc admits conversationally.
-<<elseif $activeSlave.fetishKnown && $activeSlave.fetish == "pregnancy" && _vaginal == 1 && canImpreg($subSlave, $activeSlave)>>
-	"I couldn't help my<<s>>elf," the $desc admits. "<<He 2>>'d look <<s>>o pretty with a pregnant belly and I ju<<s>>t couldn't re<<s>>i<<s>>t giving _him2 one. <<He 2>> tried to <<s>>ay <<he 2>> didn't want to be a mother, <<s>>o..."
-<<elseif $activeSlave.energy > 95>>
-	"I can't help my<<s>>elf," the nymphomaniac $desc admits breathlessly. "Thank you for letting me take what I need from the other girl<<s>>."
-<<elseif $activeSlave.energy > 60>>
-	"I couldn't help my<<s>>elf," the $desc admits. "I wa<<s>> really, really horny and <<he 2>> was ju<<s>>t, um, there. And <<he 2>> tried to <<s>>ay no."
-<<else>>
-	"I know it'<<s>> not like me," the $desc admits. "But I a<<s>>ked _him2, like, mo<<s>>tly joking, and <<he 2>> tried to <<s>>ay no."
-<</if>>
-<br><br>
-<<run Enunciate($subSlave)>>
-$subSlave.slaveName <<if _vaginal>>looks out from under $activeSlave.slaveName<<else>>turns _his2 head<</if>> and <<if canSee($subSlave)>>looks at<<else>>faces<</if>> you too. "<<Master $subSlave>>, plea<<s>>e," _he2 begs. "P-plea<<s>>e, make $him <<s>>-<<s>>top — mhhh —" $activeSlave.slaveName shuts _him2 up by <<if _vaginal>>kissing _his2 unwilling mouth<<else>>shoving _his2 face back against the floor<</if>>. Once $he has $subSlave.slaveName back under control, $activeSlave.slaveName slows $his thrusting, reaches around behind $himself, and <<if $activeSlave.vagina != 0 && canDoVaginal($activeSlave)>>spreads $his futa pussy for you.<<else>>pulls one asscheek aside to offer you $his anus. To make the offer extra clear, $he starts winking it lewdly.<</if>>
-<br><br>
-<<run Enunciate($activeSlave)>>
-"Plea<<s>>e fuck me while I rape _him2, <<Master>>," $activeSlave.slaveName <<say>>s in a mockery of $subSlave.slaveName's <<if $subSlave.voice > 2>>high-pitched whining<<elseif $subSlave.voice > 1>>begging<<else>>deep-voiced begging<</if>>. "Ooh, or, plea<<s>>e, <<Master>>, may I flip _him2 over? I'd love to feel <<if $PC.dick>>your cock in<<s>>ide _him2 along<<s>>ide mine<<else>>that <<s>>trap-on you u<<s>>e in<<s>>ide _him2 along<<s>>ide my cock<</if>>!"
-<br><br>
-<<run Enunciate($subSlave)>>
-"Plea<<s>>e, no," sobs $subSlave.slaveName.
-
 <<case "cockmilk interception">>
 
 <<run seX($subSlave, "oral", $activeSlave, "oral")>>
@@ -1760,101 +1718,6 @@ $he adds impishly. <<if canHear($subSlave)>>Hearing this<<else>>Realizing your p
 	<</replace>>
 <</link>>
 
-<<case "simple assault">>
-
-<<link "Slide in behind">>
-	<<replace "#result">>
-	You order $activeSlave.slaveName to go back to what $he was doing. $He's a little disappointed you're not joining in, but $he obeys, pounding the crying $subSlave.slaveName without mercy. Then $activeSlave.slaveName feels the head of <<if $PC.dick>>your dick<<else>>a strap-on<</if>> brush $his butt.
-	<<run Enunciate($activeSlave)>>
-	"Ooh!" $he squeals, @@.hotpink;pleased $he was wrong after all.@@ "Ye<<s>>, thank you, <<Master>>! Fuck me! Fuck me while I rape _him2!" Underneath $him, $subSlave.slaveName cries harder, even though $activeSlave.slaveName has to stop $his thrusting for a moment to let you inside. In fact, you reflect as you hammer $activeSlave.slaveName's <<if $activeSlave.vagina != 0 && canDoVaginal($activeSlave)>><<if $activeSlave.vagina > 2>>roomy<<elseif $activeSlave.vagina > 1>>delectable<<else>>tight little<</if>> cunt<<else>><<if $activeSlave.anus > 2>>gaping<<elseif $activeSlave.anus > 1>>relaxed<<else>>poor little<</if>> asspussy<</if>>, it's a little strange that $subSlave.slaveName @@.gold;seems to think this is worse@@ than just being raped by $activeSlave.slaveName. After all, having your <<if $PC.dick>>turgid cock<<else>>formidable strap-on<</if>> sliding energetically in and out of $his <<if $activeSlave.vagina != 0 && canDoVaginal($activeSlave)>>womanhood<<else>>rectum<</if>> is cramping $activeSlave.slaveName's style a bit. Maybe it's that $subSlave.slaveName is a little squashed under there.
-	<<set $activeSlave.devotion += 4>>
-	<<if $activeSlave.vagina != 0 && canDoVaginal($activeSlave)>>
-		<<run seX($activeSlave, "vaginal", $PC, "penetrative")>>
-		<<if canImpreg($activeSlave, $PC)>>
-			<<= knockMeUp($activeSlave, 5, 0, -1, 1)>>
-		<</if>>
-	<<else>>
-		<<run seX($activeSlave, "anal", $PC, "penetrative")>>
-		<<if canImpreg($activeSlave, $PC)>>
-			<<= knockMeUp($activeSlave, 5, 1, -1, 1)>>
-		<</if>>
-	<</if>>
-	<<set $subSlave.trust -= 4>>
-	<<if _vaginal>>
-		<<run seX($subSlave, "vaginal", $activeSlave, "penetrative")>>
-		<<if canPenetrate($activeSlave) && canImpreg($subSlave, $activeSlave)>>
-			<<= knockMeUp($subSlave, 5, 0, $activeSlave.ID, 1)>>
-		<</if>>
-	<<else>>
-		<<run seX($subSlave, "anal", $activeSlave, "penetrative")>>
-		<<if canPenetrate($activeSlave) && canImpreg($subSlave, $activeSlave)>>
-			<<= knockMeUp($subSlave, 5, 1, $activeSlave.ID, 1)>>
-		<</if>>
-	<</if>>
-	<<set $slaves[$slaveIndices[$subSlave.ID]] = $subSlave>>
-	<</replace>>
-<</link>>
-<br><<link "Slide in alongside">>
-	<<replace "#result">>
-	You order $activeSlave.slaveName to flip $subSlave.slaveName over and let you in too. Just as you expected, $activeSlave.slaveName responds with a vicious giggle, and $subSlave.slaveName cries even harder.
-	<<run Enunciate($subSlave)>>
-	"Plea<<s>>e!" _he2 screams. "<<Master $subSlave>>, it'll hurt! Plea<<s>>e don't!"
-	<<set _fit = 0>>
-	<<if _vaginal>><<if $subSlave.vagina > 2>><<set _fit = 1>><</if>><<else>><<if $subSlave.anus > 2>><<set _fit = 1>><</if>><</if>>
-	<<if _fit>>
-		It's not clear what _he2's so worked up about. _His2 cavernous <<if _vaginal>>cunt<<else>>asshole<</if>> should be able to take two dicks without trouble.
-	<<else>>
-		<<if $activeSlave.dick < 5>>
-			It's not clear what _he2's so worked up about. <<if $PC.dick>>You're quite large<<else>>You use a big strap-on<</if>>, but $activeSlave.slaveName's penis is reasonably sized. It's not like $subSlave.slaveName's <<if _vaginal>>cunt<<else>>asshole<</if>> is going to be permanently damaged or anything.
-		<<else>>
-			_He2's right to be concerned. <<if $PC.dick>>You're quite large<<else>>You use a big strap-on<</if>>, and $activeSlave.slaveName's penis is huge too. $subSlave.slaveName's <<if _vaginal>>cunt<<else>>asshole<</if>> is in serious peril.
-		<</if>>
-	<</if>>
-	$activeSlave.slaveName pulls out, sits $his bare butt down on the floor, and hauls a struggling $subSlave.slaveName onto $his lap, shoving $his stiff prick back where it belongs. Then $activeSlave.slaveName hauls $subSlave.slaveName's legs back, offering you _his2 already-occupied hole.
-	<<if $subSlave.vagina != 0 && _vaginal == 0>>$subSlave.slaveName has another hole, and _he2 tearfully begs you to use it, but in vain.<</if>>
-	You jam yourself inside, enjoying $subSlave.slaveName's wriggling<<if !_fit>> and the extreme tightness of _his2 overfilled insides. _He2 spasms with pain as you force your way inside _him2<</if>>. $activeSlave.slaveName can't thrust much from where $he is, and serves mostly to tighten $subSlave.slaveName for you, but $he <<if canSee($activeSlave)>>stares into your eyes lovingly<<else>>lovingly smiles at you<</if>>. Playing such an equal sexual role with you definitely @@.mediumaquamarine;builds $his trust@@ in $his role. For _his2 part, $subSlave.slaveName is @@.gold;thoroughly degraded,@@ <<if _fit>>but physically unhurt.<<else>>and @@.orange;stretched out.@@<</if>>
-	<<set $activeSlave.trust += 4>>
-	<<set $subSlave.trust -= 4>>
-	<<if _vaginal>>
-		<<run seX($subSlave, "vaginal", $activeSlave, "penetrative")>>
-		<<if canImpreg($activeSlave, $PC)>>
-			<<= knockMeUp($activeSlave, 5, 0, -1, 1)>>
-		<</if>>
-		<<if canPenetrate($activeSlave) && canImpreg($subSlave, $activeSlave)>>
-			<<= knockMeUp($subSlave, 5, 0, $activeSlave.ID, 1)>>
-		<</if>>
-	<<else>>
-		<<run seX($subSlave, "anal", $activeSlave, "penetrative")>>
-		<<if canImpreg($activeSlave, $PC)>>
-			<<= knockMeUp($activeSlave, 5, 1, -1, 1)>>
-		<</if>>
-		<<if canPenetrate($activeSlave) && canImpreg($subSlave, $activeSlave)>>
-			<<= knockMeUp($subSlave, 5, 1, $activeSlave.ID, 1)>>
-		<</if>>
-	<</if>>
-	<<if !_fit>><<if _vaginal>><<set $subSlave.vagina++>><<else>><<set $subSlave.anus++>><</if>><</if>>
-	<<set $slaves[$slaveIndices[$subSlave.ID]] = $subSlave>>
-	<</replace>>
-<</link>>
-<br><<link "Put a stop to it">>
-	<<replace "#result">>
-	You order $activeSlave.slaveName to stop raping $subSlave.slaveName.
-	<<run Enunciate($activeSlave)>>
-	"Ye<<s>>, <<Master>>," $he <<say>>s automatically, and gets up, pulling $his dick out of $subSlave.slaveName's poor <<if _vaginal>>pussy<<else>>asshole<</if>>. $activeSlave.slaveName doesn't understand, and $his prick softens quickly with $his confusion. $He thought $he didn't need consent to fuck other slaves, and $he @@.gold;doubts $himself.@@
-	<br><br>
-	<<run Enunciate($subSlave)>>
-	$subSlave.slaveName gets to _his2 feet too, using a hand to massage _his2 outraged hole. "Thank you, <<Master $subSlave>>, thank you," _he2 repeats over and over, @@.mediumaquamarine;weeping with relief.@@
-	<<set $activeSlave.trust -= 4>>
-	<<set $subSlave.trust += 4>>
-	<<if _vaginal>>
-		<<run seX($subSlave, "vaginal", $activeSlave, "penetrative")>>
-	<<else>>
-		<<run seX($subSlave, "anal", $activeSlave, "penetrative")>>
-	<</if>>
-	<<set $slaves[$slaveIndices[$subSlave.ID]] = $subSlave>>
-	<</replace>>
-<</link>>
-
 <<case "cockmilk interception">>
 
 <<link "Step in for the stimulator">>
diff --git a/src/uncategorized/nextWeek.tw b/src/uncategorized/nextWeek.tw
index cab88b126ba..d5f85cffb7c 100644
--- a/src/uncategorized/nextWeek.tw
+++ b/src/uncategorized/nextWeek.tw
@@ -339,7 +339,7 @@
 <<set $boobsID = -1, $boobsInterestTargetID = -1, $buttslutID = -1, $buttslutInterestTargetID = -1, $cumslutID = -1, $cumslutInterestTargetID = -1, $humiliationID = -1, $humiliationInterestTargetID = -1, $sadistID = -1, $sadistInterestTargetID = -1, $masochistID = -1, $masochistInterestTargetID = -1, $domID = -1, $dominantInterestTargetID = -1, $subID = -1, $submissiveInterestTargetID = -1, $shelterGirlID = -1>>
 
 /% Other arrays %/
-<<set $events = [], $RESSevent = [], $RESSTRevent = [], $RETSevent = [], $RECIevent = [], $RecETSevent = [], $REFIevent = [], $REFSevent = [], $PESSevent = [], $PETSevent = [], $FSAcquisitionEvents = [], $FSNonconformistEvents = [], $REAnalCowgirlSubIDs = [], $REButtholeCheckinIDs = [], $recruit = [], $RETasteTestSubIDs = [], $rebelSlaves = [], $REBoobCollisionSubIDs = [], $REIfYouEnjoyItSubIDs = [], $RESadisticDescriptionSubIDs = [], $REShowerForceSubIDs = [], $RESimpleAssaultIDs = [], $RECockmilkInterceptionIDs = [], $REInterslaveBeggingIDs = [], $bedSlaves = [], $eligibleSlaves = []>>
+<<set $events = [], $RESSevent = [], $RESSTRevent = [], $RETSevent = [], $RECIevent = [], $RecETSevent = [], $REFIevent = [], $REFSevent = [], $PESSevent = [], $PETSevent = [], $FSAcquisitionEvents = [], $FSNonconformistEvents = [], $REAnalCowgirlSubIDs = [], $REButtholeCheckinIDs = [], $recruit = [], $RETasteTestSubIDs = [], $rebelSlaves = [], $REBoobCollisionSubIDs = [], $REIfYouEnjoyItSubIDs = [], $RESadisticDescriptionSubIDs = [], $REShowerForceSubIDs = [], $RECockmilkInterceptionIDs = [], $REInterslaveBeggingIDs = [], $bedSlaves = [], $eligibleSlaves = []>>
 
 /% Slave Objects using 0 instead of null. Second most memory eaten up. %/
 <<set $activeSlave = 0, $eventSlave = 0, $subSlave = 0, $milkTap = 0, $relation = 0, $relative = 0, $relative2 = 0>>
diff --git a/src/uncategorized/randomIndividualEvent.tw b/src/uncategorized/randomIndividualEvent.tw
index 67596866e79..cbe9fa27a51 100644
--- a/src/uncategorized/randomIndividualEvent.tw
+++ b/src/uncategorized/randomIndividualEvent.tw
@@ -28,7 +28,7 @@
 
 	/* SUB CHECKS */
 
-	<<set $REAnalCowgirlSubIDs = [], $RETasteTestSubIDs = [], $RESimpleAssaultIDs = [], $REInterslaveBeggingIDs = [], $RECockmilkInterceptionIDs = [], $REShowerForceSubIDs = [], $RESadisticDescriptionSubIDs = [], $REIfYouEnjoyItSubIDs = [], $REBoobCollisionSubIDs = [], $RERepressedAnalVirginSubIDs = []>>
+	<<set $REAnalCowgirlSubIDs = [], $RETasteTestSubIDs = [], $REInterslaveBeggingIDs = [], $RECockmilkInterceptionIDs = [], $REShowerForceSubIDs = [], $RESadisticDescriptionSubIDs = [], $REIfYouEnjoyItSubIDs = [], $REBoobCollisionSubIDs = [], $RERepressedAnalVirginSubIDs = []>>
 
 	<<for $i = 0; $i < $slaves.length; $i++>>
 		<<if $slaves[$i].fetish != "mindbroken">>
@@ -44,17 +44,6 @@
 									<<set $RESadisticDescriptionSubIDs.push($slaves[$i].ID)>>
 								<</if>>
 							<</if>>
-							<<if $slaves[$i].anus != 0 && canDoAnal($slaves[$i])>>
-								<<if $slaves[$i].vagina != 0 && canDoVaginal($slaves[$i])>>
-									<<if $slaves[$i].belly < 2000>>
-										<<if $slaves[$i].skill.combat == 0>>
-											<<if $slaves[$i].muscles <= 30>>
-												<<set $RESimpleAssaultIDs.push($slaves[$i].ID)>>
-											<</if>>
-										<</if>>
-									<</if>>
-								<</if>>
-							<</if>>
 						<<else>>
 							<<if $slaves[$i].boobs > 3000>>
 								<<set $REBoobCollisionSubIDs.push($slaves[$i].ID)>>
-- 
GitLab