diff --git a/src/events/RESS/hotPC.js b/src/events/RESS/hotPC.js
index ae3b365f08ebe5e857a6adaae31fd97e51e28cbe..80f7a79de9edb7d6241261d79b5245947601a759 100644
--- a/src/events/RESS/hotPC.js
+++ b/src/events/RESS/hotPC.js
@@ -22,9 +22,8 @@ App.Events.RESSHotPC = class RESSHotPC extends App.Events.BaseEvent {
 	}
 
 	execute(node) {
-		/** @type {App.Entity.SlaveState} */
-		let eventSlave;
-		[eventSlave] = this.actors.map(a => getSlave(a));
+		/** @type {Array<App.Entity.SlaveState>} */
+		let [eventSlave] = this.actors.map(a => getSlave(a));
 		const {
 			He, he, His, his, hers, him, himself, girl
 		} = getPronouns(eventSlave);
diff --git a/src/events/RESS/lazyEvening.js b/src/events/RESS/lazyEvening.js
index 4244b247d1f32070905ab9006a96dffa6542248a..a42275fe155be39d3ba6a96209d4ab91c4acf249 100644
--- a/src/events/RESS/lazyEvening.js
+++ b/src/events/RESS/lazyEvening.js
@@ -16,6 +16,7 @@ App.Events.RESSLazyEvening = class RESSLazyEvening extends App.Events.BaseEvent
 	}
 
 	execute(node) {
+		/** @type {Array<App.Entity.SlaveState>} */
 		let [eventSlave] = this.actors.map(a => getSlave(a));
 		const {
 			He, he, His, his, hers, him, himself, girl, woman
@@ -24,16 +25,16 @@ App.Events.RESSLazyEvening = class RESSLazyEvening extends App.Events.BaseEvent
 
 		V.nextLink = "Next Week";
 
-		function getSceneClothes(slave) {
-			if (getLimbCount(slave, 102) > 2) {
+		function getSceneClothes(eventSlave) {
+			if (getLimbCount(eventSlave, 102) > 2) {
 				return "an oversized t-shirt";
-			} else if (slave.boobs > 4000) {
+			} else if (eventSlave.boobs > 4000) {
 				return "an oversized t-shirt"; /* loose pajama top */
-			} else if (slave.intelligence+slave.intelligenceImplant > 50) {
+			} else if (eventSlave.intelligence+eventSlave.intelligenceImplant > 50) {
 				return "a halter top dress";
-			} else if (slave.muscles > 30) {
+			} else if (eventSlave.muscles > 30) {
 				if (isItemAccessible.entry("sport shorts", "clothing")) {
-					if (slave.boobs >= 650) {
+					if (eventSlave.boobs >= 650) {
 						return "sport shorts and a sports bra";
 					} else {
 						return "sport shorts";
@@ -41,7 +42,7 @@ App.Events.RESSLazyEvening = class RESSLazyEvening extends App.Events.BaseEvent
 				} else {
 					return "spats and a tank top";
 				}
-			} else if (slave.energy > 95) {
+			} else if (eventSlave.energy > 95) {
 				return null; // no change of clothes
 			} else {
 				return "conservative clothing";
@@ -218,7 +219,7 @@ App.Events.RESSLazyEvening = class RESSLazyEvening extends App.Events.BaseEvent
 				t.push(`little ${girl}`);
 			}
 			t.push(`cuddled up beside you to idly while away the hours`);
-			if (eventSlave.bellyPreg >= 1500 && eventSlave.pregSource === -1){
+			if (eventSlave.bellyPreg >= 1500 && eventSlave.pregSource === -1) {
 				t.push(t.pop() + ",");
 				t.push(`especially when ${he} is ${eventSlave.belly >= 300000 ? `so massively swollen with your children` : `heavy with your child${eventSlave.pregType > 1 ? "ren" : ""}`}`);
 			}
diff --git a/src/events/RESS/moistPussy.js b/src/events/RESS/moistPussy.js
index dada74e0c7e57fca3635143b3e3d48d6fd626a5f..31816ae2a5e79b5a2dee1e2aaa4990eaa410292c 100644
--- a/src/events/RESS/moistPussy.js
+++ b/src/events/RESS/moistPussy.js
@@ -16,9 +16,8 @@ App.Events.RESSMoistPussy = class RESSMoistPussy extends App.Events.BaseEvent {
 	}
 
 	execute(node) {
-		/** @type {App.Entity.SlaveState}*/
-		let eventSlave;
-		[eventSlave] = this.actors.map(a => getSlave(a));
+		/** @type {Array<App.Entity.SlaveState>} */
+		let [eventSlave] = this.actors.map(a => getSlave(a));
 		const {
 			He, he, His, his, hers, him, himself, girl
 		} = getPronouns(eventSlave);
diff --git a/src/events/RESS/muscles.js b/src/events/RESS/muscles.js
index 94beaf29d8ce5f790d269f61e4755f7efeb82e75..2018b586d27fab90b249b82e7a8bb4cc62761d2b 100644
--- a/src/events/RESS/muscles.js
+++ b/src/events/RESS/muscles.js
@@ -16,6 +16,7 @@ App.Events.RESSMuscles = class RESSMuscles extends App.Events.BaseEvent {
 	}
 
 	execute(node) {
+		/** @type {Array<App.Entity.SlaveState>} */
 		let [eventSlave] = this.actors.map(a => getSlave(a));
 		const {
 			He, he, His, his, hers, him, himself, girl
diff --git a/src/events/RESS/waistlineWoes.js b/src/events/RESS/waistlineWoes.js
index 9cec258f2d138bcfb90c16d9744acdb127801b65..9ba7c846a3614bc397af3a5bd5650f7753980e6b 100644
--- a/src/events/RESS/waistlineWoes.js
+++ b/src/events/RESS/waistlineWoes.js
@@ -18,6 +18,7 @@ App.Events.RESSWaistlineWoes = class RESSWaistlineWoes extends App.Events.BaseEv
 	}
 
 	execute(node) {
+		/** @type {Array<App.Entity.SlaveState>} */
 		let [eventSlave] = this.actors.map(a => getSlave(a));
 		const {
 			He, he, His, his, hers, him, himself, girl
@@ -35,33 +36,28 @@ App.Events.RESSWaistlineWoes = class RESSWaistlineWoes extends App.Events.BaseEv
 
 		t = [];
 		if (canTalk(eventSlave)) {
-			t.push(`"${Master}," $he mumbles,`);
-			t.push(`"${Spoken(eventSlave,
-				"am I looking a little heavier?"
-			)}`);
+			t.push(`"${Master}," ${he} mumbles,`);
+			t.push(Spoken(eventSlave, `"am I looking a little heavier?"`));
 		} else {
-			t.push(`$He gestures at $his middle and`);
+			t.push(`${He} gestures at ${his} middle and`);
 		}
 		/* WIP specific clothing stuff, right now clothed slaves are not final so don't worry about how little sense it makes */
 		switch (eventSlave.clothes) {
-		case "clothes":
-			if (canTalk(eventSlave)) {
-				t.push(`${Spoken(eventSlave,
-					"This ${eventSlave.clothes} feels tight around my middle, I feel like it fit last week..."
-				)}"`);
-				t.push(`${He}`);
-			}
-			t.push(`adjusts ${his} clothing, clearly uncomfortable.`);
-			break;
-		default:
-			if (canTalk(eventSlave)) {
-				t.push(`${Spoken(eventSlave,
-					"I feel like I wasn't this soft last week..."
-				)}" ${He}`);
-			}
-			t.push(`pinches ${his} belly, clearly grabbing hold of more of ${himself} than ${he} wants to.`);
+			case "clothes":
+				if (canTalk(eventSlave)) {
+					t.push(Spoken(eventSlave, `"This ${eventSlave.clothes} feels tight around my middle, I feel like it fit last week..."`));
+					t.push(He);
+				}
+				t.push(`adjusts ${his} clothing, clearly uncomfortable.`);
+				break;
+			default:
+				if (canTalk(eventSlave)) {
+					t.push(Spoken(eventSlave, `"I feel like I wasn't this soft last week..."`));
+					t.push(He);
+				}
+				t.push(`pinches ${his} belly, clearly grabbing hold of more of ${himself} than ${he} wants to.`);
 		}
-		t.push(`The ${V.desc} is`);
+		t.push(`The ${SlaveTitle(eventSlave)} is`);
 		if (eventSlave.diet === "fattening") {
 			t.push(`purposefully being fattened up, so it really shouldn't come as a surprise to ${him}.`);
 		} else if (eventSlave.behavioralFlaw === "gluttonous") {
@@ -71,6 +67,7 @@ App.Events.RESSWaistlineWoes = class RESSWaistlineWoes extends App.Events.BaseEv
 		} else {
 			t.push(`certainly a little chubby, so perhaps this is a good time to get a handle on things.`);
 		}
+		App.Events.addParagraph(node, t);
 
 		App.Events.addResponses(node, [
 			new App.Events.Result(`Yes`, uFatGirl),
@@ -101,9 +98,7 @@ App.Events.RESSWaistlineWoes = class RESSWaistlineWoes extends App.Events.BaseEv
 			let t = [];
 			if ((eventSlave.diet === "fattening" || eventSlave.dietMilk > 0) && eventSlave.intelligence + eventSlave.intelligenceImplant > 15) {
 				if (canTalk(eventSlave)) {
-					t.push(`"${Spoken(eventSlave,
-						`So the diet is working well, ${Master}? That's good, I suppose. I'm just a bit shocked at how honest you were; people usually try to dodge that question or outright lie.`
-					)}"`);
+					t.push(Spoken(eventSlave, `"So the diet is working well, ${Master}? That's good, I suppose. I'm just a bit shocked at how honest you were; people usually try to dodge that question or outright lie."`));
 				} else {
 					t.push(`${He} smiles before explaining ${he} knows you want ${him} plumper and that ${he} accepts it, but is surprised by your honesty to such a question.`);
 				}
@@ -112,9 +107,7 @@ App.Events.RESSWaistlineWoes = class RESSWaistlineWoes extends App.Events.BaseEv
 			} else if (eventSlave.behavioralFlaw === "gluttonous") {
 				if (canTalk(eventSlave)) {
 					t.push(`${His} eyes begin to water as ${he} struggles not to sob.`);
-					t.push(`"${Spoken(eventSlave,
-						"But... I can't help it, why would you say that?"
-					)}"`);
+					t.push(Spoken(eventSlave, `"But... I can't help it, why would you say that?"`));
 					t.push(`${He} breaks done completely and hastily flees your sight, likely to the cafeteria, jiggling in all the wrong places.`);
 				} else {
 					t.push(`${His} eyes begin to water as ${he} struggles not to sob, but ${he} quickly loses composure and hastily flees your gaze, likely to the cafeteria.`);
@@ -125,9 +118,8 @@ App.Events.RESSWaistlineWoes = class RESSWaistlineWoes extends App.Events.BaseEv
 				eventSlave.weight += 5;
 			} else if (eventSlave.behavioralFlaw === "anorexic") {
 				if (canTalk(eventSlave)) {
-					t.push(`"${Spoken(eventSlave,
-						`I'm so disgusting, ${Master}, I'm glad you see it too. I was so certain you'd lie to me... Sorry to have wasted your time.`
-					)}" ${He}`);
+					t.push(Spoken(eventSlave, `"I'm so disgusting, ${Master}, I'm glad you see it too. I was so certain you'd lie to me... Sorry to have wasted your time."`));
+					t.push(He);
 				} else {
 					t.push(`${His} face lightens at your ${canHear(eventSlave) ? "words" : "affirmation"}. It seems you told ${him} just what ${he} wanted to hear${!canHear(eventSlave) ? ", so to speak" : ""}. ${He} gives ${his} thanks and`);
 				}
@@ -136,9 +128,7 @@ App.Events.RESSWaistlineWoes = class RESSWaistlineWoes extends App.Events.BaseEv
 			} else {
 				if (canTalk(eventSlave)) {
 					t.push(`${His} eyes begin to water as ${he} struggles not to sob.`);
-					t.push(`"${Spoken(eventSlave,
-						"But... But... I'm not... Why would you say that?"
-					)}"`);
+					t.push(Spoken(eventSlave, `"But... But... I'm not... Why would you say that?"`));
 					t.push(`${He} breaks done completely and hastily flees your sight, jiggling in all the wrong places.`);
 				} else {
 					t.push(`${His} eyes begin to water as ${he} struggles not to sob, but ${he} quickly loses composure and hastily flees your gaze.`);
@@ -154,9 +144,7 @@ App.Events.RESSWaistlineWoes = class RESSWaistlineWoes extends App.Events.BaseEv
 			let t = [];
 			if ((eventSlave.diet === "fattening" || eventSlave.dietMilk > 0) && eventSlave.intelligence + eventSlave.intelligenceImplant > 15) {
 				if (canTalk(eventSlave)) {
-					t.push(`"${Spoken(eventSlave,
-						`I know you want me to gain weight, ${Master}, so you don't need to spare my feelings. It's a nice gesture, though.`
-					)}"`);
+					t.push(Spoken(eventSlave, `"I know you want me to gain weight, ${Master}, so you don't need to spare my feelings. It's a nice gesture, though."`));
 				} else {
 					t.push(`${He} frowns before explaining ${he} knows you want ${him} plumper and that ${he} accepts it, but does appreciate the thought.`);
 				}
@@ -164,9 +152,7 @@ App.Events.RESSWaistlineWoes = class RESSWaistlineWoes extends App.Events.BaseEv
 				eventSlave.devotion++;
 			} else if (eventSlave.behavioralFlaw === "gluttonous") {
 				if (canTalk(eventSlave)) {
-					t.push(`"${Spoken(eventSlave,
-						`It's okay ${Master}, you don't have to lie to me. I know this is my fault, but thank you for trying to cheer me up.`
-					)}"`);
+					t.push(Spoken(eventSlave, `"It's okay ${Master}, you don't have to lie to me. I know this is my fault, but thank you for trying to cheer me up."`));
 				} else {
 					t.push(`${He} frowns before explaining ${he} has only ${himself} to blame for ${his} weight, but does appreciate the thought.`);
 				}
@@ -174,9 +160,7 @@ App.Events.RESSWaistlineWoes = class RESSWaistlineWoes extends App.Events.BaseEv
 				eventSlave.devotion++;
 			} else if (eventSlave.behavioralFlaw === "anorexic") {
 				if (canTalk(eventSlave)) {
-					t.push(`"${Spoken(eventSlave,
-						`Don't lie to me, ${Master}! You really think I don't know I'm a bloated hog!?`
-					)}"`);
+					t.push(Spoken(eventSlave, `"Don't lie to me, ${Master}! You really think I don't know I'm a bloated hog!?"`));
 				} else {
 					t.push(`${His} face contorts into a vicious glare; it seems you choose the wrong thing to say.`);
 				}
@@ -294,14 +278,14 @@ App.Events.RESSWaistlineWoes = class RESSWaistlineWoes extends App.Events.BaseEv
 				} else {
 					t.push(`pace.`);
 				}
-				t.push(VCheck.Vaginal());
+				t.push(VCheck.Vaginal(1, eventSlave));
 			} else {
 				if (eventSlave.anus === 0) {
 					t.push(`pace, despite having been a <span class="lime">virgin</span> moments before.`);
 				} else {
 					t.push(`pace.`);
 				}
-				t.push(VCheck.Anal());
+				t.push(VCheck.Anal(1, eventSlave));
 			}
 			App.Events.addParagraph(node, t);
 
@@ -425,7 +409,7 @@ App.Events.RESSWaistlineWoes = class RESSWaistlineWoes extends App.Events.BaseEv
 				t.push(`That's all ${he} needed to ${canHear(eventSlave) ? "hear" : "know"}. <span class="devotion inc">All's well and good</span> if ${WrittenMaster(eventSlave)} says so.`);
 				eventSlave.devotion += 3;
 			} else {
-				t.push(`${He} nods in acceptance and silently heads on ${his} way; ${his} thoughts on your indifference <span class="trust dec">written across ${his} face.</span>`);
+				t.push(`${He} nods in acceptance and silently heads on ${his} way; ${his} thoughts on your indifference is <span class="trust dec">written across ${his} face.</span>`);
 				eventSlave.trust -= 5;
 			}
 			return t;
diff --git a/src/js/assayJS.js b/src/js/assayJS.js
index 3149ecdccb8edbe5b7ea41ab0da07aab9b694b91..dbd606c788fbfd32f5d3f8584e0071efe12a79e0 100644
--- a/src/js/assayJS.js
+++ b/src/js/assayJS.js
@@ -626,6 +626,7 @@ globalThis.Enunciate = function(slave) {
 };
 
 /**
+ * Returns speech with lisp if slave lisps
  * @param {App.Entity.SlaveState} slave
  * @returns {string}
  */
diff --git a/src/js/generateNewSlaveJS.js b/src/js/generateNewSlaveJS.js
index 771e5d1f0cc442039d38a54025c47bf27670c08d..b4edeee454d4380630fdee476a66bcade7beaf44 100644
--- a/src/js/generateNewSlaveJS.js
+++ b/src/js/generateNewSlaveJS.js
@@ -24,6 +24,7 @@ globalThis.GenerateNewSlave = (function() {
 
 	let chance;
 	let x = {};
+	/** @type {App.Entity.SlaveState} */
 	let slave;
 	/**
 	 * @returns {App.Entity.SlaveState}