From f61c56e15e09bbbd8f949e9fbc4a17e0975d6194 Mon Sep 17 00:00:00 2001
From: Pregmodder <pregmodder@gmail.com>
Date: Tue, 25 May 2021 23:20:21 -0400
Subject: [PATCH] cleanup impregnationPlease.js

---
 src/events/RESS/impregnationPlease.js | 87 ++++++++++++++++++++-------
 1 file changed, 64 insertions(+), 23 deletions(-)

diff --git a/src/events/RESS/impregnationPlease.js b/src/events/RESS/impregnationPlease.js
index f843244da80..25029528aab 100644
--- a/src/events/RESS/impregnationPlease.js
+++ b/src/events/RESS/impregnationPlease.js
@@ -15,7 +15,7 @@ App.Events.RESSImpregnationPlease = class RESSImpregnationPlease extends App.Eve
 				s => s.vagina !== 0,
 				s => s.anus > 0,
 				hasAnyArms,
-				hasAnyLegs,
+				canWalk,
 				isFertile,
 				s => s.eggType === "human",
 				s => s.fetishKnown === 1,
@@ -39,6 +39,8 @@ App.Events.RESSImpregnationPlease = class RESSImpregnationPlease extends App.Eve
 		const isPregnantAndSuperfetation = (eventSlave.geneticQuirks.superfetation === 2 && eventSlave.pregKnown === 1);
 
 		let r = [];
+		r.push(`Taken by a mood,`);
+		r.push(contextualIntro(V.PC, eventSlave, "DOM"));
 		r.push(App.UI.DOM.slaveDescriptionDialog(eventSlave)); // TODO: Integrate contextualIntro somewhere
 		if (isPregnantAndSuperfetation) {
 			if (eventSlave.belly >= 750000) {
@@ -136,7 +138,7 @@ App.Events.RESSImpregnationPlease = class RESSImpregnationPlease extends App.Eve
 				} else {
 					r.push(`on ${his} face.`);
 				}
-				r.push(`${He} sits down on the couch and scoots down so ${his} butt is right at the edge of the couch. ${He} then spreads ${his} legs and uses one hand to spread ${his}`);
+				r.push(`${He} sits down on the couch and scoots down so ${his} butt is right at the edge of the couch. ${He} then spreads ${his} legs and uses ${hasBothArms(eventSlave) ? "one" : `${his}`} hand to spread ${his}`);
 				if (eventSlave.mpreg === 1) {
 					r.push(`asshole`);
 				} else {
@@ -146,7 +148,9 @@ App.Events.RESSImpregnationPlease = class RESSImpregnationPlease extends App.Eve
 			}
 			if (!canTalk(eventSlave)) {
 				r.push(`${He} pantomimes pregnancy with`);
-				if (eventSlave.belly < 10000) {
+				if (!hasbothArms(eventSlave)) {
+					r.push(`${his}`);
+				} else if (eventSlave.belly < 10000) {
 					r.push(`${his} other`);
 				} else {
 					r.push(`one`);
@@ -175,7 +179,7 @@ App.Events.RESSImpregnationPlease = class RESSImpregnationPlease extends App.Eve
 			} else {
 				r.push(`on ${his} face.`);
 			}
-			r.push(`${He} sits down on the couch and scoots down so ${his} butt is right at the edge of the couch. ${He} then spreads ${his} legs and uses one hand to spread ${his}`);
+			r.push(`${He} sits down on the couch and scoots down so ${his} butt is right at the edge of the couch. ${He} then spreads ${his} legs and uses ${hasBothArms(eventSlave) ? "one" : `${his}`} hand to spread ${his}`);
 			if (eventSlave.mpreg === 1) {
 				r.push(`asshole`);
 			} else {
@@ -186,7 +190,13 @@ App.Events.RESSImpregnationPlease = class RESSImpregnationPlease extends App.Eve
 			r = [];
 
 			if (!canTalk(eventSlave)) {
-				r.push(`${He} pantomimes pregnancy with ${his} other hand, lewdly gesturing to ask you to cum inside ${his} fertile`);
+				r.push(`${He}`);
+				if (hasBothArms(eventSlave)) {
+					r.push(`pantomimes pregnancy with ${his} other hand,`);
+				} else {
+					r.push(`shifts to pantomiming pregnancy with ${his} hand,`);
+				}
+				r.push(`lewdly gesturing to ask you to cum inside ${his} fertile`);
 				if (eventSlave.mpreg === 1) {
 					r.push(`ass`);
 				}
@@ -260,15 +270,17 @@ App.Events.RESSImpregnationPlease = class RESSImpregnationPlease extends App.Eve
 			r.push(`to let you know ${he}'s not in pain or anguish, blinking away ${his} happy tears.`);
 			if (isFaceUp) {
 				r.push(`${He} reaches up to hug ${himself} close to you,`);
-				if (eventSlave.belly >= 5000) {
+				if (eventSlave.bellyPreg >= 5000) {
 					r.push(`but the gravid swell of ${his} current pregnancy thwarts ${his} efforts as you take ${him}.`);
-				} else if ((eventSlave.boobs < 600) && eventSlave.belly < 5000) {
-					r.push(`and ${his} modest breasts let ${him} snuggle close to you, face-to-face, as you take ${him}.`);
-				} else if (eventSlave.belly >= 5000 && eventSlave.boobs < 600) { // FIXME: Impossible branch. Check for slave.inflationType instead?
+				} else if (eventSlave.belly >= 5000 && eventSlave.boobs < 600) {
 					r.push(`${his} big ${eventSlave.inflationType} stuffed belly pushing against you as you take ${him}.`);
+				} else if (V.PC.belly >= 5000) {
+					r.push(`but the best ${he} can do is press ${himself} against your bulging middle.`);
+				} else if (eventSlave.boobs < 600 && eventSlave.belly < 5000) {
+					r.push(`and ${his} modest breasts let ${him} snuggle close to you, face-to-face, as you take ${him}.`);
 				} else if (eventSlave.boobs < 10000) {
 					r.push(`and ${his} big tits`);
-					if (eventSlave.belly >= 2000) {
+					if (eventSlave.bellyFluid >= 2000) {
 						r.push(`and ${eventSlave.inflationType} stuffed belly`);
 					}
 					r.push(`form a soft cushion between you as you take ${him}.`);
@@ -324,7 +336,15 @@ App.Events.RESSImpregnationPlease = class RESSImpregnationPlease extends App.Eve
 			} else {
 				r.push(`buttslut.`);
 			}
-			r.push(`${He} visibly resolves to do ${his} anal best. You recline on the couch and ${he} squats over you, one leg on the floor and the other bent up on the cushion, with one hand on the back of the couch and the other rubbing ${his} pussy. ${He}`);
+			r.push(`${He} visibly resolves to do ${his} anal best. You recline on the couch and ${he} squats over you, one leg on the floor and the other bent up on the cushion, with`);
+			if (isPregnantAndSuperfetation && isFaceUp && eventSlave.belly >= 5000) {
+				r.push(`${his} ${belly} belly pressing against you.`);
+			} else if (hasBothArms(eventSlave)) {
+				r.push(`one hand on the back of the couch and the other rubbing ${his} pussy.`);
+			} else {
+				r.push(`${his} hand on the back of the couch.`);
+			}
+			r.push(`${He}`);
 			if (eventSlave.anus === 1) {
 				r.push(`winces in pain as ${he} lowers ${his} tight`);
 			} else if (eventSlave.anus === 2) {
@@ -360,6 +380,9 @@ App.Events.RESSImpregnationPlease = class RESSImpregnationPlease extends App.Eve
 				} else {
 					r.push(`seed fill ${his} cramped womb and start to backflow.`);
 				}
+				if (eventSlave.belly >= 30000) {
+					r.push(`You barely managed to keep your grip on ${him} as ${his} middle ballooned between you.`);
+				}
 			} else if (V.PC.balls >= 14) {
 				r.push(`seed pumping into ${him} until ${his} womb is stuffed with cum.`);
 			} else if (V.PC.balls >= 9) {
@@ -392,7 +415,11 @@ App.Events.RESSImpregnationPlease = class RESSImpregnationPlease extends App.Eve
 			} else {
 				r.push(`fucked-out`);
 			}
-			r.push(`cunt. ${His} happy tears turn to a ragged gasp of surprise and pain when you slide your dickhead down to ${his}`);
+			r.push(`cunt. ${His} happy tears turn to a ragged gasp of surprise and pain when you`);
+			if (eventSlave.chastityAnus) {
+				r.push(`undo ${his} anal chastity,`);
+			}
+			r.push(`slide your dickhead down to ${his}`);
 			if (eventSlave.anus === 1) {
 				r.push(`painfully inexperienced`);
 			} else if (eventSlave.anus === 2) {
@@ -402,7 +429,7 @@ App.Events.RESSImpregnationPlease = class RESSImpregnationPlease extends App.Eve
 			}
 			r.push(`ass and shove it up there instead. ${He} knows better than to protest, but the expression on ${his} face is a wonderful mix of submission, anguish and disappointment as ${he} takes the anal fuck. To stop ${his} fugue of disappointment you give ${him} a light slap on the cheek to get ${his} attention, and then instruct ${him} that it's not ${his} place`);
 			if (isPregnantAndSuperfetation) {
-				r.push(`to decide how pregnant he gets to be.`);
+				r.push(`to decide how pregnant ${he} gets to be.`);
 			} else {
 				r.push(`to plan ${his} pregnancies.`);
 			}
@@ -422,13 +449,28 @@ App.Events.RESSImpregnationPlease = class RESSImpregnationPlease extends App.Eve
 
 		function back() {
 			r = [];
-			r.push(`You tell ${him} that impregnation will be ${his} reward if ${he}'s a good little buttslut. ${He} visibly resolves to do ${his} anal best. You recline on the couch and ${he} squats over you, one leg on the floor and the other bent up on the cushion, with one hand on the back of the couch and the other`);
-			if (eventSlave.nipples !== "fuckable") {
-				r.push(`pinching`);
+			r.push(`You tell ${him} that impregnation will be ${his} reward if ${he}'s a good little`);
+			if (eventSlave.chastityVagina || eventSlave.chastityAnus) {
+				r.push(`buttslut as you undo ${his} chastity.`);
 			} else {
-				r.push(`fingering`);
+				r.push(`buttslut.`);
 			}
-			r.push(`a nipple. ${He}`);
+			r.push(`${He} visibly resolves to do ${his} anal best. You recline on the couch and ${he} squats over you, one leg on the floor and the other bent up on the cushion, with`);
+			if (isPregnantAndSuperfetation && isFaceUp && eventSlave.belly >= 5000) {
+				r.push(`${his} ${belly} belly pressing against you.`);
+			} else if (hasBothArms(eventSlave)) {
+				r.push(`one hand on the back of the couch and the other`);
+				if (eventSlave.nipples !== "fuckable") {
+					r.push(`pinching`);
+				} else {
+					r.push(`fingering`);
+				}
+				r.push(`a nipple.`);
+			} else {
+				r.push(`${his} hand on the back of the couch.`);
+			}
+
+			r.push(`${He}`);
 			if (eventSlave.anus === 1) {
 				r.push(`winces in pain as ${he} lowers ${his} tight`);
 			} else if (eventSlave.anus === 2) {
@@ -481,12 +523,11 @@ App.Events.RESSImpregnationPlease = class RESSImpregnationPlease extends App.Eve
 
 		function dairy() {
 			r = [];
-			r.push(`You tell ${him} ${he}'ll be having everyone's children. ${He} looks puzzled until you put ${him} on the`);
-			if (hasBothLegs(eventSlave)) {
-				r.push(`couch, legs spread,`);
-			} else {
-				r.push(`couch`);
+			r.push(`You tell ${him} ${he}'ll be having everyone's children. ${He} looks puzzled until you put ${him} on the couch, legs spread`);
+			if ((eventSlave.mpreg === 1 && eventSlave.chastityAnal) || eventSlave.chastityVaginal) {
+				r.push(`and chastity removed`);
 			}
+			r.push(r.pop() + `,`);
 			r.push(`and produce a large, soft injector full of fresh cum. At this ${he} giggles and thanks you; ${he} rapturously rubs ${his} belly belly as you gently push the injector home. For the rest of the week, ${he} appears in your office morning and night, receiving the seed of every slave you're currently having cockmilked. ${He} goes about ${his} other business with a <span class="devotion inc">deeply pleased</span> expression on ${his} face. Whenever ${he} has a spare moment ${he} steals down to the Dairy to hug the slaves there or otherwise show them a little affection.`);
 			eventSlave.devotion += 10;
 			const cumSlaves = V.slaves.filter(function(s) { return (s.assignment === Job.MILKED || s.assignment === Job.DAIRY) && s.balls > 0 && s.ballType === "human"; });
-- 
GitLab