diff --git a/src/events/RESS/devotedEducated.js b/src/events/RESS/devotedEducated.js
new file mode 100644
index 0000000000000000000000000000000000000000..c0d29a4b056abb48605556db0fd587876399dec8
--- /dev/null
+++ b/src/events/RESS/devotedEducated.js
@@ -0,0 +1,150 @@
+App.Events.RESSDevotedEducated = class RESSDevotedEducated extends App.Events.BaseEvent {
+	eventPrerequisites() {
+		return [];
+	}
+
+	actorPrerequisites() {
+		return [
+			[ // single event slave
+				s => s.fetish !== "mindbroken",
+				hasAnyArms,
+				hasAnyLegs,
+				canTalk,
+				s => s.devotion > 50,
+				s => s.intelligence + s.intelligenceImplant > 50,
+				s => s.intelligenceImplant >= 15,
+				s => s.accent < 4
+			]
+		];
+	}
+
+	execute(node) {
+		/** @type {Array<App.Entity.SlaveState>} */
+		let [eventSlave] = this.actors.map(a => getSlave(a));
+		const {
+			He, he, his, him, himself
+		} = getPronouns(eventSlave);
+		const {say, title: Master} = getEnunciation(eventSlave);
+		const desc = SlaveTitle(eventSlave);
+
+		/** @type {App.Entity.PlayerState} */
+		let PC = V.PC;
+
+		V.nextLink = "Next Week";
+
+		App.Events.drawEventArt(node, eventSlave, "no clothing");
+
+		let t = [];
+
+		t.push(App.UI.DOM.slaveDescriptionDialog(eventSlave));
+		t.push(`comes before you for a routine inspection. The ${desc} is a well-educated and obedient slave. Though ${he} performs ${his} duties devotedly and to the best of ${his} abilities, slave life is not particularly conducive to straining an individual's brainpower. You happen to run into ${eventSlave.slaveName} in the hallways of the penthouse, where ${he} takes the opportunity to wordlessly signal ${he} wishes to gain your attention.`);
+		if (canTalk(eventSlave)) {
+			t.push(`"${Master}," ${he} ${say}s. "${Spoken(eventSlave, `I really enjoy my role as your slave, but I just don't feel like my new life stimulates me.`)}" ${He} blushes prettily at ${his} choice of words before continuing, "${Spoken(eventSlave, `Stimulate my mind, I mean.`)}"`);
+		} else {
+			t.push(`${He} uses gestures to beg your pardon and explains that while ${he} enjoys life as your slave, ${he} doesn't feel like ${his} new role in your arcology allows ${him} to stimulate ${his} mind as often as it does ${his} body.`);
+		}
+		App.Events.addParagraph(node, t);
+		t = [];
+
+		App.Events.addResponses(node, [
+			new App.Events.Result(`Have a conversation with ${him}`, conversation),
+			canDoAnal(eventSlave) || canDoVaginal(eventSlave)
+				? new App.Events.Result(`Stimulate ${his} mind and body`, stimulate, virginityCheck())
+				: new App.Events.Result(),
+			V.arcologies[0].FSDegradationist !== "unset"
+				? new App.Events.Result(`A public blowbang will show ${him} what a Degradationist arcology thinks about 'educated' slaves`, blowbang)
+				: new App.Events.Result(),
+			V.arcologies[0].FSPaternalist !== "unset"
+				? new App.Events.Result(`Allow ${him} to audit some advanced classes at Paternalist slave schools`, schooling)
+				: new App.Events.Result()
+		]);
+
+		function conversation() {
+			t = [];
+
+			t.push(`You linger in the hallway a while with ${eventSlave.slaveName} and enjoy a brief but verbose discussion. It's clear ${he} hasn't had the chance to engage in any meaningful conversations in a while, so ${he} relishes the opportunity energetically.`);
+			App.Events.addParagraph(node, t);
+			t = [];
+			
+			t.push(`Though the two of you only touch upon a handful of sophisticated topics, by the time you leave ${him} to tend to other matters, ${eventSlave.slaveName} is beaming happily as ${he} continues on to ${his} duties for the day. ${He} <span class="mediumaquamarine">trusts you more</span> for taking the time to engage with ${him} intellectually.`);
+			App.Events.addParagraph(node, t);
+			t = [];
+			
+			eventSlave.trust += 4;
+			return t;
+		}
+
+		function stimulate() {
+			t = [];
+
+			t.push(`You find a comfortable seat to sit on ${PC.dick === 0 ? "and don a strap-on" : ""} as ${he} seats ${his}`);
+			if (eventSlave.butt < 2) {
+				t.push(`narrow`);
+			} else if (eventSlave.butt < 5) {
+				t.push(`average`);
+			} else if (eventSlave.butt < 8) {
+				t.push(`plump`);
+			} else if (eventSlave.butt < 12) {
+				t.push(`impressive`);
+			} else {
+				t.push(`mind-blowing`);
+			}
+			t.push(`ass on your ${PC.dick === 0 ? "strap-on" : "dick"} and rides you. While your cock plumbs the depths of ${his} ${canDoVaginal(eventSlave) ? "pussy" : "butt"}, the two of you engage in a casual debate over a number of topics of sophistry.`);
+			App.Events.addParagraph(node, t);
+			t = [];
+		
+			t.push(`At the crux of one of ${his} concluding arguments, the intense pleasure from the prolonged ${canDoVaginal(eventSlave) ? "fucking" : "buttfucking"} pushes ${him} over the edge into orgasm, robbing the thrust of ${his} defense of any gravitas it once had. ${He} doesn't seem to mind however, choosing to instead wrap up ${his} remarks by <span class="hotpink">blowing you a kiss.</span>`);
+			if (canDoVaginal(eventSlave)) {
+				t.push(VCheck.Vaginal(1, eventSlave));
+			} else {
+				t.push(VCheck.Anal(1, eventSlave));
+			}
+			App.Events.addParagraph(node, t);
+			t = [];
+
+			eventSlave.devotion += 4;
+			return t;
+		}
+
+		function blowbang() {
+			t = [];
+
+			t.push(`You tell ${him} ${he}'ll get fucked in the mouth until ${he} either gets over the idea of being special for ${his} education or until all ${his} learning is fucked out of ${his} head. You drag the protesting ${eventSlave.slaveName} out into a public plaza, restrain ${him} in stocks so that ${his} mouth is available, and inform the gathering crowd of citizens that this particular slave thinks ${himself} more than a fuckhole because of some fancy 'education'.`);
+			App.Events.addParagraph(node, t);
+			t = [];
+
+			t.push(`When you return later in the evening, it becomes abundantly clear that your citizenry taught ${eventSlave.slaveName} a harsh lesson about a slave's place in ${V.arcologies[0].name}. ${eventSlave.slaveName} has certainly <span class="green">learned to keep any pretentious thoughts about ${his} education in ${his} head.</span> ${He} did, however, <span class="red">have quite a rough time</span> sucking all those dicks${eventSlave.skill.oral <= 30 ? `, though ${he} did learn about sucking dick, so ${he} can't claim enslavement isn't educational. ${SkillIncrease.Oral(eventSlave, 10)}` : "."} And last of all, you and ${eventSlave.slaveName} did make <span class="green">quite a good impression</span> today, though for widely differing reasons.`);
+			App.Events.addParagraph(node, t);
+			t = [];
+
+			seX(eventSlave, "oral", "public", "penetrative", jsRandom(65,80));
+			repX(500, "event", eventSlave);
+			healthDamage(eventSlave, 10);
+			return t;
+		}
+
+		function schooling() {
+			t = [];
+
+			t.push(`You tell ${him} to take the day off for a trip to audit classes at ${V.arcologies[0].name}'s most renowned Paternalist slave schools. ${eventSlave.slaveName} is shocked into a reverie by your words before running to wrap ${his} arms around you in a tight hug. When ${he} eventually untangles ${himself} from you, ${he} races off to get ready for ${his} day of intellectualism while you direct ${V.assistant.name} to make the necessary arrangements.`);
+			App.Events.addParagraph(node, t);
+			t = [];
+
+			t.push(`When ${eventSlave.slaveName} returns, ${he} looks exhausted but happier than you've ever seen ${him}. It seems ${he} benefited greatly from ${V.arcologies[0].name}'s Paternalist institutions, and has grown to <span class="mediumaquamarine">trust you more</span> while also <span class="hotpink">deepening ${his} acceptance of slavery.</span>`);
+			App.Events.addParagraph(node, t);
+			t = [];
+
+			eventSlave.trust += 4;
+			eventSlave.devotion += 4;
+			return t;
+		}
+
+		function virginityCheck() {
+			if (canDoVaginal(eventSlave) && eventSlave.vagina === 0) {
+				return `This option will take ${his} virginity`;
+			} else if (canDoAnal(eventSlave) && eventSlave.anus === 0) {
+				return `This option will take ${his} anal virginity`;
+			}
+		}
+	}
+};
diff --git a/src/events/randomEvent.js b/src/events/randomEvent.js
index e16948561bfe80909c18603d7388afc622144c9c..12d890f2640097045c5fa4af012ed466234ec799 100644
--- a/src/events/randomEvent.js
+++ b/src/events/randomEvent.js
@@ -14,6 +14,7 @@ App.Events.getIndividualEvents = function() {
 		new App.Events.RESSCockFeederResistance(),
 		new App.Events.RESSComfortableSeat(),
 		new App.Events.RESSDevotedAnalVirgin(),
+		new App.Events.RESSDevotedEducated(),
 		new App.Events.RESSDevotedVirgin(),
 		new App.Events.RESSDevotedWaist(),
 		new App.Events.RESSEscapee(),
diff --git a/src/js/eventSelectionJS.js b/src/js/eventSelectionJS.js
index e059b20a78c1f3e6706a49afe9e05bfd0ddd8199..70aafb0a01a7b922c4e0cd35e7b481b196e490ae 100644
--- a/src/js/eventSelectionJS.js
+++ b/src/js/eventSelectionJS.js
@@ -48,16 +48,6 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) {
 					}
 				}
 
-				if (eventSlave.intelligence + eventSlave.intelligenceImplant > 50) {
-					if (eventSlave.devotion > 50) {
-						if (eventSlave.intelligenceImplant >= 15) {
-							if (eventSlave.accent < 4) {
-								V.RESSevent.push("devoted educated slave");
-							}
-						}
-					}
-				}
-
 				if (eventSlave.skill.entertainment >= 60 || ["a ballerina", "a camgirl", "a camwhore", "a cheerleader", "a classical dancer", "a dancer", "a house DJ", "a party girl", "an aspiring pop star", "an exotic dancer", "an idol"].includes(eventSlave.career)) {
 					if (canHear(eventSlave)) {
 						if (eventSlave.health.condition > 40) {
diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw
index 7e438078456e097621ff1e2fd4b3f17e67f9368f..31515f9addf0e69912602a96fc8f86d84ce8666d 100644
--- a/src/uncategorized/RESS.tw
+++ b/src/uncategorized/RESS.tw
@@ -44,7 +44,7 @@
 <<set _clothesTemp = $activeSlave.clothes>>
 <<switch $RESSevent>>
 /*Some events start with the slave naked (any event that starts with the daily inspection, for example). Here we switch their clothing just for the image to load, then switch it back quickly so the player's choice is not messed up.*/
-<<case "age implant" "ara ara" "back stretch" "bad dream" "bed snuggle" "bondage gear" "bonded love" "breast expansion blues" "confident tanning" "devoted educated slave" "devoted exhibition" "devoted lotion" "desperate null" "devoted nympho" "devoted shortstack" "extreme aphrodisiacs" "fearful balls" "fucktoy tribbing" "gaped asshole" "happy dance" "heavy piercing" "huge naturals" "huge tits" "hugely pregnant" "ignorant horny" "implant inspection" "kitchen molestation" "language lesson" "mindbroken morning" "modest clothes" "mods please" "old PC age difference" "orchiectomy please" "PA flirting" "penitent" "permitted masturbation" "plimb help" "rebellious arrogant" "resistant gelding" "resistant shower" "resting amp" "restricted profession" "restricted smart" "sexy succubus" "shaped areolae" "shift masturbation" "shift sleep" "shower slip" "slave clit on slave" "slave dick huge" "slave dick on slave" "sleeping ambivalent" "sore shoulders" "spa boobs" "subjugation blues" "tendon fall" "terrified inspection" "tittymonster inspection" "torpedo squeeze" "transition anxiety" "trusting HG" "unhappy virgin" "used whore" "vocal disobedience" "young PC age difference">>
+<<case "age implant" "ara ara" "back stretch" "bad dream" "bed snuggle" "bondage gear" "bonded love" "breast expansion blues" "confident tanning" "devoted exhibition" "devoted lotion" "desperate null" "devoted nympho" "devoted shortstack" "extreme aphrodisiacs" "fearful balls" "fucktoy tribbing" "gaped asshole" "happy dance" "heavy piercing" "huge naturals" "huge tits" "hugely pregnant" "ignorant horny" "implant inspection" "kitchen molestation" "language lesson" "mindbroken morning" "modest clothes" "mods please" "old PC age difference" "orchiectomy please" "PA flirting" "penitent" "permitted masturbation" "plimb help" "rebellious arrogant" "resistant gelding" "resistant shower" "resting amp" "restricted profession" "restricted smart" "sexy succubus" "shaped areolae" "shift masturbation" "shift sleep" "shower slip" "slave clit on slave" "slave dick huge" "slave dick on slave" "sleeping ambivalent" "sore shoulders" "spa boobs" "subjugation blues" "tendon fall" "terrified inspection" "tittymonster inspection" "torpedo squeeze" "transition anxiety" "trusting HG" "unhappy virgin" "used whore" "vocal disobedience" "young PC age difference">>
 	<<set $activeSlave.clothes = "no clothing">>
 <<case "whore rebellious">>
 	/* this scene states they are wearing "thick, durable latex with temperature regulation and anchor points for restraint" no matter what they are assigned to wear. */
@@ -3448,15 +3448,6 @@ As another long week draws to a close, <<= App.UI.slaveDescriptionDialog($active
 <</if>>
 
 
-<<case "devoted educated slave">>
-
-<<= App.UI.slaveDescriptionDialog($activeSlave)>> comes before you for a routine inspection. The $desc is a well-educated and obedient slave. Though $he performs $his duties devotedly and to the best of $his abilities, slave life is not particularly conducive to straining an individual's brainpower. You happen to run into $activeSlave.slaveName in the hallways of the penthouse, where $he takes the opportunity to wordlessly signal $he wishes to gain your attention.
-<<if !canTalk($activeSlave)>>
-	$He uses gestures to beg your pardon and explains that while $he enjoys life as your slave, $he doesn't feel like $his new role in your arcology allows $him to stimulate $his mind as often as it does $his body.
-<<else>>
-	"<<Master>>," $he <<say>>s. "I really enjoy my role a<<s>> your <<s>>lave, but I ju<<s>>t don't feel like my new life <<s>>timulate<<s>> me." $He blushes prettily at $his choice of words before continuing, "<<S>>timulate my mind, I mean."
-<</if>>
-
 <<case "nice guys">>
 
 One afternoon, $assistant.name informs you $he that $he has a non-urgent matter that you might be interested in overseeing personally.
@@ -16874,76 +16865,6 @@ brought in to you. This time <<= App.UI.slaveDescriptionDialog($activeSlave)>> h
 	<</link>> //This option will render $activeSlave.slaveName pregnant//<<if canDoVaginal($activeSlave) && ($activeSlave.vagina == 0)>> //and take $his virginity//<<elseif !canDoVaginal($activeSlave) && ($activeSlave.anus == 0)>> //and take $his anal virginity//<</if>>
 <</if>>
 
-<<case "devoted educated slave">>
-
-<<link "Have a conversation with $him">>
-	<<replace "#result">>
-		You linger in the hallway a while with $activeSlave.slaveName and enjoy a brief but verbose discussion. It's clear $he hasn't had the chance to engage in any meaningful conversations in a while, so $he relishes the opportunity energetically.
-		<br><br>
-		Though the two of you only touch upon a handful of sophisticated topics, by the time you leave $him to tend to other matters, $activeSlave.slaveName is beaming happily as $he continues on to $his duties for the day. $He @@.mediumaquamarine;trusts you more@@ for taking the time to engage with $him intellectually.
-		<<set $activeSlave.trust += 4>>
-	<</replace>>
-<</link>>
-<<if canDoAnal($activeSlave) || canDoVaginal($activeSlave)>>
-	<br><<link "Stimulate $his mind and body">>
-		<<replace "#result">>
-			You find a comfortable seat to sit on <<if $PC.dick == 0>>,don a strap-on,<</if>>as $he seats $his
-			<<if $activeSlave.butt < 2>>
-				narrow
-			<<elseif $activeSlave.butt < 5>>
-				average
-			<<elseif $activeSlave.butt < 8>>
-				plump
-			<<elseif $activeSlave.butt < 12>>
-				impressive
-			<<else>>
-				mind-blowing
-			<</if>>
-			ass on your <<if $PC.dick == 0>>strap-on<<else>>dick<</if>> and rides you. While your cock plumbs the depths of $his
-			<<if canDoVaginal($activeSlave)>>
-				pussy,
-			<<else>>
-				butt,
-			<</if>>
-			the two of you engage in a casual debate over a number of topics of sophistry.
-			<br><br>
-			At the crux of one of $his concluding arguments, the intense pleasure from the prolonged
-			<<if canDoVaginal($activeSlave)>>
-				fucking
-			<<else>>
-				buttfucking
-			<</if>>
-			pushes $him over the edge into orgasm, robbing the thrust of $his defense of any gravitas it once had. $He doesn't seem to mind however, choosing to instead wrap up $his remarks by @@.hotpink;blowing you a kiss.@@
-			<<set $activeSlave.devotion += 4>>
-			<<if canDoVaginal($activeSlave)>>
-				<<= VCheck.Vaginal()>>
-			<<else>>
-				<<= VCheck.Anal()>>
-			<</if>>
-		<</replace>>
-	<</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>>
-<<if $arcologies[0].FSDegradationist !== "unset">>
-	<br><<link "A public blowbang will show $him what a Degradationist arcology thinks about 'educated' slaves">>
-		<<replace "#result">>
-			You tell $him $he'll get fucked in the mouth until $he either gets over the idea of being special for $his education or until all $his learning is fucked out of $his head. You drag the protesting $activeSlave.slaveName out into a public plaza, restrain $him in stocks so that $his mouth is available, and inform the gathering crowd of citizens that this particular slave thinks $himself more than a fuckhole because of some fancy 'education'.
-			<br><br>
-			When you return later in the evening, it becomes abundantly clear that your citizenry taught $activeSlave.slaveName a harsh lesson about a slave's place in $arcologies[0].name. $activeSlave.slaveName has certainly @@.green;learned to keep any pretentious thoughts about $his education in $his head.@@ $He did, however, @@.red;have quite a rough time@@ sucking all those dicks<<if $activeSlave.skill.oral <= 30>>, though $he did learn about sucking dick, so $he can't claim enslavement isn't educational.<<= SkillIncrease.Oral($activeSlave, 10)>><<else>>.<</if>> And last of all, you and $activeSlave.slaveName did make @@.green;quite a good impression@@ today, though for widely differing reasons.
-			<<run seX($activeSlave, "oral", "public", "penetrative", random(65,80))>>
-			<<run repX(500, "event", $activeSlave), healthDamage($activeSlave, 10)>>
-		<</replace>>
-	<</link>>
-<<elseif $arcologies[0].FSPaternalist !== "unset">>
-	<br><<link "Allow $him to audit some advanced classes at Paternalist slave schools">>
-		<<replace "#result">>
-			You tell $him to take the day off for a trip to audit classes at $arcologies[0].name's most renowned Paternalist slave schools. $activeSlave.slaveName is shocked into a reverie by your words before running to wrap $his arms around you in a tight hug. When $he eventually untangles $himself from you, $he races off to get ready for $his day of intellectualism while you direct $assistant.name to make the necessary arrangements.
-			<br><br>
-			When $activeSlave.slaveName returns, $he looks exhausted but happier than you've ever seen $him. It seems $he benefited greatly from $arcologies[0].name's Paternalist institutions, and has grown to @@.mediumaquamarine;trust you more@@ while also @@.hotpink;deepening $his acceptance of slavery.@@
-			<<set $activeSlave.trust += 4, $activeSlave.devotion += 4>>
-		<</replace>>
-	<</link>>
-<</if>>
-
 <<case "nice guys">>
 
 <<link "Let the boys be">>