From 25b97645aca1092963a6e8661a4c136ab4b3e6df Mon Sep 17 00:00:00 2001
From: Pregmodder <pregmodder@gmail.com>
Date: Mon, 18 May 2020 04:03:39 -0400
Subject: [PATCH] saServeYourOtherSlaves.js

---
 src/endWeek/saServeYourOtherSlaves.js | 214 ++++++++++++++++++++++++--
 1 file changed, 205 insertions(+), 9 deletions(-)

diff --git a/src/endWeek/saServeYourOtherSlaves.js b/src/endWeek/saServeYourOtherSlaves.js
index 8460fe37812..7b7991c4adb 100644
--- a/src/endWeek/saServeYourOtherSlaves.js
+++ b/src/endWeek/saServeYourOtherSlaves.js
@@ -351,6 +351,8 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 					r.push(`so ${he2} can ride that ${subRace} dick with ${his2} ${domRace} butt. <span class="hotpink">${domName} enjoys a week of constant butt loving.</span>`);
 				}
 				penetrativeUse = jsRandom(9, 12);
+				slave.counter.penetrative += penetrativeUse;
+				V.penetrativeTotal += penetrativeUse;
 				domSlave.counter.anal += penetrativeUse;
 				V.analTotal += penetrativeUse;
 				if (canImpreg(domSlave, slave)) {
@@ -370,6 +372,8 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 				oralUse = jsRandom(9, 12);
 				domSlave.counter.anal += oralUse;
 				V.analTotal += oralUse;
+				slave.counter.oral += oralUse;
+				V.oralTotal += oralUse;
 			} else {
 				if (slave.devotion < -20) {
 					r.push(`Since ${domName} loves ${his2} rear, ${subName} finds ${himself} forced to`);
@@ -466,6 +470,8 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 						V.oralTotal += penetrativeUse;
 					}
 				}
+				slave.counter.penetrative += oralUse;
+				V.penetrativeTotal += oralUse;
 			} else if (slave.clit > 2) {
 				if (isAmputee(slave)) {
 					r.push(`${domName} finds ${himself2} pinned by the weight of ${subName}'s limbless body and ${his} quickly hardening ${subRace} clit being pushed eagerly into ${his2} ${domRace} mouth. Afterward, ${domName} lavishes kisses on ${his2} satisfactory top for ${his} efforts.`);
@@ -476,6 +482,8 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 				penetrativeUse = jsRandom(9, 12);
 				domSlave.counter.oral += penetrativeUse;
 				V.oralTotal += penetrativeUse;
+				slave.counter.penetrative += penetrativeUse;
+				V.penetrativeTotal += penetrativeUse;
 			} else {
 				if (isAmputee(slave)) {
 					if (canDoVaginal(domSlave)) {
@@ -483,11 +491,15 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 						oralUse = jsRandom(9, 12);
 						domSlave.counter.vaginal += oralUse;
 						V.vaginalTotal += oralUse;
+						slave.counter.vaginal += penetrativeUse;
+						V.vaginalTotal += penetrativeUse;
 					} else if (!(domSlave.chastityPenis) && domSlave.dick > 0) {
 						r.push(`${domName} finds ${himself2} under the weight of ${subName}'s limbless body with the tight embrace of ${subRace} lips around ${his2} ${domRace} cock. Afterward, ${domName} lavishes kisses on ${his2} satisfactory top for ${his} efforts. ${domName} <span class="hotpink">enjoys a week of constant submission,</span> and even though ${he}'s technically being used, ${subName} <span class="hotpink">doesn't mind</span> being expected to torment a willing dick.`);
 						oralUse = jsRandom(9, 12);
 						domSlave.counter.penetrative += oralUse;
 						V.penetrativeTotal += oralUse;
+						slave.counter.oral += penetrativeUse;
+						V.oralTotal += penetrativeUse;
 					} else {
 						r.push(`${domName} finds ${himself2} under the weight of ${subName}'s limbless body and`);
 						if (domSlave.boobs >= 300) {
@@ -499,6 +511,8 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 						oralUse = jsRandom(9, 12);
 						domSlave.counter.mammary += oralUse;
 						V.mammaryTotal += oralUse;
+						slave.counter.oral += penetrativeUse;
+						V.oralTotal += penetrativeUse;
 					}
 				} else {
 					if (canDoVaginal(domSlave) && domSlave.vagina !== 0) {
@@ -579,7 +593,7 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 				penetrativeUse = jsRandom(9, 12);
 				domSlave.counter.mammary += penetrativeUse;
 				V.mammaryTotal += penetrativeUse;
-				domSlave.counter.penetrative += penetrativeUse;
+				slave.counter.penetrative += penetrativeUse;
 				V.penetrativeTotal += penetrativeUse;
 			} else if (domSlave.lactation > 0) {
 				if (slave.devotion < -20) {
@@ -591,7 +605,7 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 				}
 			} else {
 				if (slave.devotion < -20) {
-					r.push(`Since ${domName} loves having ${his2} breasts attended to, ${subName} finds ${himself} forced to `);
+					r.push(`Since ${domName} loves having ${his2} breasts attended to, ${subName} finds ${himself} forced to`);
 					if (!hasAnyArms(slave)) {
 						r.push(`nuzzle and suck.`);
 					} else {
@@ -756,6 +770,11 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 						r.push(`But alas, ${subName}'s dispenser has nothing to give ${domName}, so ${his2} efforts are in vain — and in a way, ${he2} prefers it that way.`);
 					}
 				}
+				penetrativeUse = 7;
+				domSlave.counter.oral += penetrativeUse;
+				V.oralTotal += penetrativeUse;
+				slave.counter.penetrative += penetrativeUse;
+				V.penetrativeTotal += penetrativeUse;
 			} else if (slave.scrotum > 0) {
 				r.push(`while ${his}`);
 				if (slave.balls === 0) {
@@ -792,13 +811,24 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 						r.push(`adding a mix of semen into ${domName}'s meal — which ${he2} wastes no time in lapping up.`);
 					}
 				}
+				fuckCount = 7;
+				domSlave.counter.oral += fuckCount;
+				V.oralTotal += fuckCount;
 			} else if (canDoVaginal(slave)) {
 				r.push(`while ${his} pussy is being invaded by drops of slave food and the tongue pursuing them.`);
 				if (slave.clit > 2) {
 					r.push(`${subName} practically throws ${his} cup when ${domName} sucks the entire length of ${his} clit into ${his2} mouth.`);
 				}
+				fuckCount = 7;
+				domSlave.counter.oral += fuckCount;
+				V.oralTotal += fuckCount;
+				slave.counter.penetrative += fuckCount;
+				V.vaginalTotal += fuckCount;
 			} else {
 				r.push(`with an eager tongue roaming ${his} thighs, pubic mound, and taint trying to lap up the slave food before it slips away.`);
+				fuckCount = 7;
+				domSlave.counter.oral += fuckCount;
+				V.oralTotal += fuckCount;
 			}
 			r.push(`The lewdness eminating from beneath the table is not lost on the other diners, <span class="hotpink">much to ${domName}'s enjoyment.</span>`);
 		} else if (domSlave.fetishKnown === 1 && domSlave.fetishStrength > 60 && domSlave.fetish === "masochist" && hasAnyLimbs(slave)) {
@@ -821,13 +851,179 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 			}
 		} else if (domSlave.fetishKnown === 1 && domSlave.fetishStrength > 60 && domSlave.fetish === "pregnancy") {
 			if (canImpreg(slave, domSlave)) {
-				// wip
+				r.push(`${domName} loves pregnancy, and the first indication ${subName} gets of what ${he}'s in for this week is when ${domName}`);
+				if (hasAnyArms(domSlave)) {
+					r.push(`pushes ${him} down,`);
+				} else if (hasBothLegs(slave)) {
+					r.push(`bends ${him} over,`);
+				}
+				r.push(`mounts ${his} fertile ${slave.mpreg > 0 ? "ass" : ""}pussy and lets loose the first of many loads. ${subName} spends the week being thoroughly bred until ${domName}'s potent sperm <span class="hotpink">achieves ${his2} goal,</span> and then a bit more for good measure.`);
+				r.push(`${knockMeUp(slave, 100, 2, domSlave.ID)}`);
+				fuckCount = jsRandom(10, 16);
+				if (slave.mpreg > 0) {
+					analUse = fuckCount;
+					domSlave.counter.penetrative += fuckCount;
+					V.penetrativeTotal += fuckCount;
+					slave.counter.anal += fuckCount;
+					V.analTotal += fuckCount;
+				} else {
+					vaginalUse = fuckCount;
+					domSlave.counter.penetrative += fuckCount;
+					V.penetrativeTotal += fuckCount;
+					slave.counter.vaginal += fuckCount;
+					V.vaginalTotal += fuckCount;
+				}
 			} else if (domslave.pregKnown === 1 || slave.belly > 10000 || slave.bellyPreg >= 1500) {
-				// wip
+				if (domSlave.pregKnown === 1) {
+					if (slave.devotion < -20) {
+						r.push(`Since ${domName} is pregnant, ${subName} finds ${himself} forced to`);
+						if (!hasAnyArms(slave)) {
+							r.push(`nuzzle and lick`);
+						} else {
+							r.push(`massage, rub, and even tongue`);
+						}
+						r.push(`${his2} ${bellyAdjective(domSlave)} middle. ${He} spends the week trying to avoid contact with ${domName}'s ${domRace} belly with ${his} ${subRace}`);
+						if (!hasAnyArms(slave)) {
+							r.push(`face,`);
+						} else {
+							r.push(`${hands},`);
+						}
+						r.push(`but ${domName} insists. <span class="hotpink">${domName} enjoys being able to force ${subName} to attend to ${his2} gravidity.</span>`);
+					} else if (slave.devotion <= 50) {
+						r.push(`Since ${domName} is pregnant, ${subName} finds ${himself}`);
+						if (!hasAnyArms(slave)) {
+							r.push(`nuzzling and licking`);
+						} else {
+							r.push(`massaging, rubbing, and even licking`);
+						}
+						r.push(`${his2} ${bellyAdjective(domSlave)} middle. ${He} spends the week obediently servicing ${domName}'s ${domRace} belly with ${his} ${subRace}`);
+						if (!hasAnyArms(slave)) {
+							r.push(`face,`);
+						} else {
+							r.push(`${hands},`);
+						}
+						r.push(`to ${domName}'s languorous pleasure. <span class="hotpink">${domName} enjoys having ${subName} to attend to ${his2} gravidity.</span>`);
+					} else {
+						r.push(`Since ${domName} is pregnant, ${subName} pampers ${his2} ${bellyAdjective(domSlave)} middle shamelessly. ${He} spends the week devotedly massaging ${domName}'s ${domRace} middle with ${his} ${subRace}`);
+						if (!hasAnyArms(slave)) {
+							r.push(`face,`);
+						} else {
+							r.push(`${hands},`);
+						}
+						r.push(`lovingly teasing ${his2} ${domName.belly > 10000 ? "popped" : ""} navel, and staving off stretch marks with lotions and`);
+						if (!hasAnyArms(slave)) {
+							r.push(`oils (as best ${he} can without hands).`);
+						} else {
+							r.push(`oils.`);
+						}
+						r.push(`They sleep together so that ${subName} can`);
+						if (!hasAnyArms(slave)) {
+							r.push(`snuggle against ${his2} stomach`);
+						} else {
+							r.push(`clutch ${his2} stomach`);
+						}
+						r.push(`as ${he} goes to sleep, which sometimes results in less sleep for both as the fondling continues long into the night. <span class="hotpink">${domName} enjoys having ${subName} to attend to ${his2} gravidity.</span>`);
+					}
+				} else {
+					r.push(`Since ${domName} loves pregnant ${girl}s, and ${subName} just so happens to be a pregnant ${girl}, ${domName} spends the week fucking ${him}.`);
+					if (slave.devotion < -20) {
+						r.push(`${domName}'s ${domRace} body atop ${subName}'s swollen ${subRace} form is a frequent sight as ${domName} takes ${his2} pleasure. <span class="hotpink">${domName} enjoys being able to use ${subName} and ${his} ${bellyAdjective(slave)} belly.</span>`);
+					} else if (slave.devotion <= 50) {
+						r.push(`${domName}'s ${domRace} body atop ${subName}'s compliant swollen ${subRace} form is a frequent sight as ${domName} takes ${his2} pleasure. <span class="hotpink">${domName} enjoys being able to use ${subName} and ${his} ${bellyAdjective(slave)} belly.</span>`);
+					} else {
+						r.push(`${domName}'s ${domRace} body against ${subName}'s enthusiastic ${subRace} ${bellyAdjective(slave)} belly is a frequent sight as the two of them share pleasure. <span class="hotpink">${domName} enjoys having a pregnant plaything.</span>`);
+					}
+					if (canPenetrate(domSlave)) {
+						fuckCount = jsRandom(15, 25);
+						r.push(`${SimpleSexAct.Slaves(slave, domSlave, fuckCount)}`);
+					} else if (canPenetrate(slave) && ((canDoVaginal(domSlave) && domSlave.vagina > 0) || (canDoAnal(domSlave) && domSlave.anus > 0))) {
+						/* yes, that means she rides her */
+						penetrativeUse = jsRandom(15, 25);
+						r.push(`${SimpleSexAct.Slaves(domSlave, slave, fuckCount)}`);
+					} else {
+						fuckCount = jsRandom(15, 25);
+					}
+				}
 			} else if (canImpreg(domSlave, slave)) {
-				// wip
+				r.push(`${domName} loves pregnancy, and the first indication ${subName} gets of what ${he}'s in for this week is when ${domName}`);
+				if (hasAnyLimbs(domSlave)) {
+					r.push(`pushes ${him} down`);
+				} else {
+					r.push(`has ${him} get in position`);
+				}
+				if (canPenetrate(slave)) {
+					r.push(`and mounts ${his} rigid dick`);
+				} else {
+					r.push(`and begins to work ${him} to orgasm.`);
+				}
+				r.push(`${domName} spends the week extracting loads from ${subName} until ${his} potent sperm <span class="hotpink">slakes the burning need in ${his2} loins.</span>`);
+				r.push(`${knockMeUp(domSlave, 100, 2, slave.ID)}`);
+				fuckCount = jsRandom(10, 16);
+				penetrativeUse = fuckCount;
+				slave.counter.penetrative += fuckCount;
+				V.penetrativeTotal += fuckCount;
+				if (domSlave.mpreg > 0) {
+					domSlave.counter.anal += fuckCount;
+					V.analTotal += fuckCount;
+				} else {
+					domSlave.counter.vaginal += fuckCount;
+					V.vaginalTotal += fuckCount;
+				}
 			} else {
-				// wip
+				r.push(`${domName} adores pregnancy, and the first indication ${subName} gets of what ${he}'s in for this week is when ${domName}`);
+				if (canWalk(domSlave)) {
+					if (domName.mpreg > 0 || domName.ovaries > 0) {
+						r.push(`pushes a full-term belly into ${subName}'s back and`);
+					}
+				} else {
+					r.push(`shows up pretending to be pregnant and`);
+				}
+				if (hasAnyArms(domSlave)) {
+					r.push(`hands ${him}`);
+					if (isItemAccessible.entry("a small empathy belly", "bellyAccessory")) {
+						r.push(`an enormous empathy belly`);
+					} else {
+						r.push(`a support band and big pillow`);
+					}
+					if (domName.mpreg > 0 || domName.ovaries > 0) {
+						r.push(`of ${his} own.`);
+					} else {
+						r.push(`to wear.`);
+					}
+				} else {
+					r.push(`instructs ${him} to pretend to be pregnant using`);
+					if (isItemAccessible.entry("a small empathy belly", "bellyAccessory")) {
+						r.push(`an enormous empathy belly`);
+					} else {
+						r.push(`a support band and big pillow`);
+					}
+					if (domName.mpreg > 0 || domName.ovaries > 0) {
+						r.push(`like ${he2} is.`);
+					} else {
+						r.push(`over ${his} middle.`);
+					}
+				}
+				if (slave.weight >= 130) {
+					r.push(`${subName} is too fat for ${domName}'s plan, so it's settled that ${he}'ll just pretend instead.`);
+				}
+				r.push(`Once ${he} is suitably 'knocked up', the fun begins; ${subName} spends the week getting awkwardly fucked.`);
+				if (slave.devotion < -20) {
+					r.push(`${domName}'s ${domRace} body struggling with ${subName}'s resisting ${subRace} form is a frequent sight as ${domName} takes ${his2} pleasure. <span class="hotpink">${domName} enjoys being able to use ${subName},</span> even if ${he2} has to pretend a little.`);
+				} else if (slave.devotion <= 50) {
+					r.push(`${domName}'s ${domRace} body balancing on ${subName}'s compliant ${subRace} form is a frequent sight as ${domName} takes ${his2} pleasure. <span class="hotpink">${domName} enjoys being able to use ${subName},</span> even if ${he2} has to pretend a little.`);
+				} else {
+					r.push(`${domName}'s ${domRace} body intertwined with ${subName}'s enthusiastic ${subRace} form is a frequent sight as the two of them share pleasure. <span class="hotpink">${domName} enjoys spending time with a partner willing to indulge ${his2} fantasies.</span>`);
+				}
+				if (canPenetrate(domSlave)) {
+					fuckCount = jsRandom(15, 25);
+					r.push(`${SimpleSexAct.Slaves(slave, domSlave, fuckCount)}`);
+				} else if (canPenetrate(slave) && ((canDoVaginal(domSlave) && domSlave.vagina > 0) || (canDoAnal(domSlave) && domSlave.anus > 0))) {
+					/* yes, that means she rides her */
+					penetrativeUse = jsRandom(15, 25);
+					r.push(`${SimpleSexAct.Slaves(domSlave, slave, fuckCount)}`);
+				} else {
+					fuckCount = jsRandom(15, 25);
+				}
 			}
 		} else if (domSlave.energy > 95) {
 			if (slave.devotion < -20) {
@@ -842,10 +1038,10 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 				r.push(`${SimpleSexAct.Slaves(slave, domSlave, fuckCount)}`);
 			} else if (canPenetrate(slave) && ((canDoVaginal(domSlave) && domSlave.vagina > 0) || (canDoAnal(domSlave) && domSlave.anus > 0))) {
 				/* yes, that means she rides her */
-				fuckCount = jsRandom(15, 25);
+				penetrativeUse = jsRandom(15, 25);
 				r.push(`${SimpleSexAct.Slaves(domSlave, slave, fuckCount)}`);
 			} else {
-				oralUse = jsRandom(15, 25);
+				fuckCount = jsRandom(15, 25);
 			}
 		} else if (domSlave.dick > 0 && canPenetrate(domSlave)) {
 			if (slave.devotion < -20) {
@@ -887,7 +1083,7 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 				fuckCount = jsRandom(9, 12);
 				r.push(`${SimpleSexAct.Slaves(slave, domSlave, fuckCount)}`);
 			} else {
-				oralUse = jsRandom(9, 12);
+				fuckCount = jsRandom(9, 12);
 			}
 		} else if (slave.dick > 0 && hasAnyArms(domSlave) && domSlave.attrXY > 85) {
 			if (canPenetrate(slave)) {
-- 
GitLab