From 33c4e491325d9abf83aa7393c581b38fc4edf4cd Mon Sep 17 00:00:00 2001
From: Pregmodder <pregmodder@gmail.com>
Date: Thu, 23 Jul 2020 21:07:57 -0400
Subject: [PATCH] Event fixes

---
 src/events/RESS/comfortableSeat.js   |  2 +-
 src/events/RESS/devotedAnalVirgin.js |  4 ++--
 src/events/RESS/devotedVirgin.js     |  4 ++--
 src/events/RESS/devotedWaist.js      |  2 +-
 src/events/RESS/obedientAddict.js    |  4 ++--
 src/events/RESS/obedientGirlish.js   | 12 +++++++-----
 6 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/src/events/RESS/comfortableSeat.js b/src/events/RESS/comfortableSeat.js
index 30c0302d1dd..45615ac0a35 100644
--- a/src/events/RESS/comfortableSeat.js
+++ b/src/events/RESS/comfortableSeat.js
@@ -10,8 +10,8 @@ App.Events.RESSComfortableSeat = class RESSComfortableSeat extends App.Events.Ba
 		return [
 			[ // single event slave
 				s => s.fetish !== "mindbroken",
+				canStand,
 				hasAnyArms,
-				hasAnyLegs,
 				canSee,
 				s => s.trust > 20,
 				s => s.devotion > 20,
diff --git a/src/events/RESS/devotedAnalVirgin.js b/src/events/RESS/devotedAnalVirgin.js
index 64c9569e149..8fccd5f98e5 100644
--- a/src/events/RESS/devotedAnalVirgin.js
+++ b/src/events/RESS/devotedAnalVirgin.js
@@ -130,7 +130,7 @@ App.Events.RESSDevotedAnalVirgin = class RESSDevotedAnalVirgin extends App.Event
 			eventSlave.trust += 3;
 			eventSlave.anus = 1;
 			seX(eventSlave, "anal", PC, "penetrative");
-			if (PC.dick !== 0 && eventSlave.eggType === "human" && canGetPregnant(eventSlave)) {
+			if (canImpreg(eventSlave, PC)) {
 				knockMeUp(eventSlave, 15, 1, -1);
 			}
 			return t;
@@ -151,7 +151,7 @@ App.Events.RESSDevotedAnalVirgin = class RESSDevotedAnalVirgin extends App.Event
 			eventSlave.trust -= 5;
 			eventSlave.anus = 1;
 			seX(eventSlave, "anal", PC, "penetrative");
-			if (PC.dick !== 0 && eventSlave.eggType === "human" && canGetPregnant(eventSlave)) {
+			if (canImpreg(eventSlave, PC)) {
 				knockMeUp(eventSlave, 15, 1, -1);
 			}
 			return t;
diff --git a/src/events/RESS/devotedVirgin.js b/src/events/RESS/devotedVirgin.js
index 0cbbaa40943..a049462f365 100644
--- a/src/events/RESS/devotedVirgin.js
+++ b/src/events/RESS/devotedVirgin.js
@@ -106,7 +106,7 @@ App.Events.RESSDevotedVirgin = class RESSDevotedVirgin extends App.Events.BaseEv
 			eventSlave.trust += 3;
 			eventSlave.vagina = 1;
 			seX(eventSlave, "vaginal", PC, "penetrative");
-			if (PC.dick !== 0 && eventSlave.eggType === "human" && canGetPregnant(eventSlave)) {
+			if (canImpreg(eventSlave, PC)) {
 				knockMeUp(eventSlave, 15, 0, -1);
 			}
 			return t;
@@ -127,7 +127,7 @@ App.Events.RESSDevotedVirgin = class RESSDevotedVirgin extends App.Events.BaseEv
 			eventSlave.trust -= 5;
 			eventSlave.vagina = 1;
 			seX(eventSlave, "vaginal", PC, "penetrative");
-			if (PC.dick !== 0 && eventSlave.eggType === "human" && canGetPregnant(eventSlave)) {
+			if (canImpreg(eventSlave, PC)) {
 				knockMeUp(eventSlave, 15, 0, -1);
 			}
 			return t;
diff --git a/src/events/RESS/devotedWaist.js b/src/events/RESS/devotedWaist.js
index 4e96b24b540..edec0c8a839 100644
--- a/src/events/RESS/devotedWaist.js
+++ b/src/events/RESS/devotedWaist.js
@@ -8,7 +8,7 @@ App.Events.RESSDevotedWaist = class RESSDevotedWaist extends App.Events.BaseEven
 			[ // single event slave
 				s => s.fetish !== "mindbroken",
 				hasAnyArms,
-				hasAnyLegs,
+				canStand,
 				s => s.waist < - 95,
 				s => s.weight <= 95,
 				s => s.trust >= -20,
diff --git a/src/events/RESS/obedientAddict.js b/src/events/RESS/obedientAddict.js
index 0a5eb25c999..d660ef44cb7 100644
--- a/src/events/RESS/obedientAddict.js
+++ b/src/events/RESS/obedientAddict.js
@@ -24,7 +24,7 @@ App.Events.RESSObedientAddict = class RESSObedientAddict extends App.Events.Base
 		const {
 			He, he, His, his, him, girl
 		} = getPronouns(eventSlave);
-		const {S, title: Master} = getEnunciation(eventSlave);
+		const {title: Master} = getEnunciation(eventSlave);
 
 		/** @type {App.Entity.PlayerState} */
 		let PC = V.PC;
@@ -38,7 +38,7 @@ App.Events.RESSObedientAddict = class RESSObedientAddict extends App.Events.Base
 		t.push(App.UI.DOM.slaveDescriptionDialog(eventSlave));
 		t.push(`takes ${his} aphrodisiacs in pill form, with ${his} food. They're dispensed alongside ${his} nutrition in the kitchen. You happen to be passing by when ${he}'s being issued ${his} drugs, and you see ${him} ${canSee(eventSlave) ? "staring" : "gazing"} thoughtfully at the insignificant-looking little pill, just holding it in ${his} hand and considering it for a long time. When ${he} realizes you're watching, ${he} turns to you and you realize ${his} eyes are moist.`);
 		if (canTalk(eventSlave)) {
-			t.push(`${He} ${SlaveStatsChecker.checkForLisp(eventSlave) ? "lisps through huge, quivering lips" : "mutters"}, "${Master}, ${Spoken(eventSlave, "I hate this shit. I come and come and come but it's just physical. I haven't felt close to anyone ever since I've been on these fucking aphrodisiacs.")}" ${He} shrugs bitterly. "${S}till crave them though."`);
+			t.push(`${He} ${SlaveStatsChecker.checkForLisp(eventSlave) ? "lisps through huge, quivering lips" : "mutters"}, "${Master}, ${Spoken(eventSlave, "I hate this shit. I come and come and come but it's just physical. I haven't felt close to anyone ever since I've been on these fucking aphrodisiacs.")}" ${He} shrugs bitterly. ${Spoken(eventSlave, "Still crave them though.")}`);
 		} else {
 			t.push(`${He} uses trembling gestures to pour out dissatisfaction with life as an aphrodisiac addict. ${He} is emotionally unsatisfied with the mechanical orgasms ${he} gets on the drugs, but craves them intensely.`);
 		}
diff --git a/src/events/RESS/obedientGirlish.js b/src/events/RESS/obedientGirlish.js
index 92fee807b32..67e148be597 100644
--- a/src/events/RESS/obedientGirlish.js
+++ b/src/events/RESS/obedientGirlish.js
@@ -49,9 +49,9 @@ App.Events.RESSObedientGirlish = class RESSObedientGirlish extends App.Events.Ba
 			t.push("is nice and slim,");
 		}
 		t.push(`with a trim chest, narrow hips and not much of an ass to speak of. Despite the myriad ways a Free Cities slaveowner can give his property tits and asses, you've held off for now, keeping ${him} lithe.`);
-		if (hasAnyLegs(eventSlave)) {
+		if (canMove(eventSlave)) {
 			if (hasAnyArms(eventSlave)) {
-				t.push(`${He} comes before you for a routine nude inspection, obediently standing before your desk with ${his} ${hasBothArms(eventSlave) ? "hands crossed" : "hand placed"}`);
+				t.push(`${He} comes before you for a routine nude inspection, obediently ${canStand(eventSlave) ? "standing" : "kneeling"} before your desk with ${his} ${hasBothArms(eventSlave) ? "hands crossed" : "hand placed"}`);
 				if (eventSlave.belly >= 30000) {
 					t.push(`atop ${his} ${belly} stomach.`);
 				} else if (eventSlave.belly >= 1500) {
@@ -60,10 +60,12 @@ App.Events.RESSObedientGirlish = class RESSObedientGirlish extends App.Events.Ba
 					t.push(`over ${his} flat stomach.`);
 				}
 			} else {
-				t.push(`${He} comes before you for a routine nude inspection, obediently standing before your desk.`);
+				t.push(`${He} comes before you for a routine nude inspection, obediently ${canStand(eventSlave) ? "standing" : "kneeling"} before your desk.`);
 			}
-		} else {
+		} else if (!hasAnyLegs(eventSlave)) {
 			t.push(`Another slave strips ${him} and leaves ${his} naked torso on your desk for a routine inspection.`);
+		} else {
+			t.push(`Another slave helps ${him} in, aids in undressing ${him}, and leaves ${him} for your routine inspection.`);
 		}
 		t.push(`A perfectly devoted slave might display ${himself}, and a rebellious one might try to cover ${himself}: ${he}'s neither. `);
 		if (eventSlave.dick > 0) {
@@ -86,7 +88,7 @@ App.Events.RESSObedientGirlish = class RESSObedientGirlish extends App.Events.Ba
 		function dress() {
 			t = [];
 
-			t.push(`You let ${eventSlave.slaveName} don a nice dress and take ${him} out. ${He}'s a little suspicious at first but when you reach the first balcony on your lazy route around the huge building the sun on ${his} face and the gentle breeze around ${his} ears convince ${him} there's no trick. ${He} watches you shyly as you lead ${him} around, soaking in the sights and relaxing. Though you still speak as ${his} ${WrittenMaster(eventSlave)}, you chat about goings on around the arcology, and you buy ${him} a fresh fruit from a vendor. The unexpected show of care and compassion has ${him} quite agog. By the time you take ${him} out onto another parklike balcony and fuck ${him} on a bench,`);
+			t.push(`You let ${eventSlave.slaveName} don a nice dress and take ${him} out ${!canWalk(eventSlave) ? "in a wheelchair" : ""}. ${He}'s a little suspicious at first but when you reach the first balcony on your lazy route around the huge building the sun on ${his} face and the gentle breeze around ${his} ears convince ${him} there's no trick. ${He} watches you shyly as you lead ${him} around, soaking in the sights and relaxing. Though you still speak as ${his} ${WrittenMaster(eventSlave)}, you chat about goings on around the arcology, and you buy ${him} a fresh fruit from a vendor. The unexpected show of care and compassion has ${him} quite agog. By the time you take ${him} out onto another parklike balcony and fuck ${him} on a bench,`);
 			if (eventSlave.dick > 0 && eventSlave.chastityPenis === 1 && eventSlave.chastityAnus === 1) {
 				t.push(`${his} combined chastity cage and anal chastity belt makes ${him} move awkwardly.`);
 			} else if (eventSlave.dick > 0 && eventSlave.chastityPenis === 1) {
-- 
GitLab