From 913fc9629a227031459c7eb1b50e4e6756e2f111 Mon Sep 17 00:00:00 2001
From: lowercasedonkey <lowercasedonkey@gmail.com>
Date: Sat, 8 May 2021 14:08:24 -0400
Subject: [PATCH 1/5] start

---
 src/npc/interaction/fVagina.js | 1262 ++++++++++++++++++++++++++++++++
 src/npc/interaction/fVagina.tw |  557 --------------
 2 files changed, 1262 insertions(+), 557 deletions(-)
 create mode 100644 src/npc/interaction/fVagina.js
 delete mode 100644 src/npc/interaction/fVagina.tw

diff --git a/src/npc/interaction/fVagina.js b/src/npc/interaction/fVagina.js
new file mode 100644
index 00000000000..7c357d59fc4
--- /dev/null
+++ b/src/npc/interaction/fVagina.js
@@ -0,0 +1,1262 @@
+/**
+ *
+ * @param {App.Entity.SlaveState} slave
+ * @returns {DocumentFragment}
+ */
+App.Interact.fVagina = function(slave) {
+	const node = new DocumentFragment();
+	let r = [];
+
+	const {
+		He, His,
+		he, his, him, himself, girl
+	} = getPronouns(slave);
+
+	addPartner(slave, -1);
+
+	r.push(`You call ${him} over so you can`);
+	if (slave.vagina >= 10) {
+		r.push(`tickle ${his} cavernous hole.`);
+	} else if (slave.vagina > 3) {
+		r.push(`use ${his} gaping vagina.`);
+	} else if (slave.vagina === 3) {
+		r.push(`fuck ${his} loose cunt.`);
+	} else if (slave.vagina === 2) {
+		r.push(`fuck ${his} whorish cunt.`);
+	} else if (slave.vagina === 1) {
+		r.push(`fuck ${his} tight cunt.`);
+	} else if (slave.vagina === 0) {
+		r.push(`take ${his} virginity.`);
+	}
+
+	if (slave.vaginaTat === "tribal patterns") {
+		r.push(`The tattoos on ${his} abdomen certainly drawn attention there.`);
+	} else if (slave.vaginaTat === "scenes") {
+		r.push(`The tattoos on ${his} abdomen nicely illustrate what you mean to do to ${him}.`);
+	} else if (slave.vaginaTat === "degradation") {
+		r.push(`The tattoos on ${his} abdomen ask you to, after all.`);
+	} else if (slave.vaginaTat === "lewd crest") {
+		r.push(`The crest on ${his} abdomen screams debauchery and implores you to use ${him}.`);
+	}
+
+	if (slave.devotion <= 20) {
+		if (slave.clit === 1 && slave.foreskin) {
+			r.push(`${His} big clit peeks out from under its hood.`);
+		} else if (slave.clit === 2) {
+			r.push(`${His} huge clit is impossible to miss.`);
+		} else if (slave.clit > 2) {
+			r.push(`${His} pseudophallus-sized clit is soft.`);
+		}
+		if (slave.labia === 1) {
+			r.push(`${His} lovely petals are quite inviting.`);
+		} else if (slave.labia === 2) {
+			r.push(`${His} prominent petals are inviting.`);
+		} else if (slave.labia > 2) {
+			r.push(`${His} labia are so large they present a slight obstacle to entry.`);
+		}
+		if (slave.vaginaLube > 1) {
+			r.push(`${He} may not want it, but that doesn't stop ${his} pussy from getting nice and wet for you.`);
+		}
+	} else {
+		if (slave.clit === 1 && slave.foreskin) {
+			r.push(`${His} big, hard clit peeks out from under its hood.`);
+		} else if (slave.clit === 2) {
+			r.push(`${His} huge, stiff clit is impossible to miss.`);
+		} else if (slave.clit > 2) {
+			r.push(`${His} pseudophallus-sized clit is engorged with arousal.`);
+		}
+		if (slave.labia === 1) {
+			r.push(`${His} lovely petals are moist with arousal.`);
+		} else if (slave.labia === 2) {
+			r.push(`${His} prominent petals bear a sheen of arousal.`);
+		} else if (slave.labia > 2) {
+			r.push(`${His} huge labia are almost dripping with arousal.`);
+		}
+		if (slave.vaginaLube > 1) {
+			r.push(`A steady stream of lube leaks from ${his} pussy in preparation to receive you.`);
+		}
+	}
+
+	if (slave.vaginaPiercing > 1) {
+		if (slave.vagina !== -1) {
+			r.push(`${His} pierced lips and clit have ${him} nice and wet.`);
+		}
+		if (slave.dick !== 0) {
+			r.push(`Metal glints all up and down ${his} cock.`);
+		}
+	} else if (slave.vaginaPiercing === 1) {
+		if (slave.vagina !== -1) {
+			r.push(`${His} pierced clit has ${him} nice and moist.`);
+		}
+		if (slave.dick !== 0) {
+			r.push(`Metal glints at the head of ${his} cock.`);
+		}
+	}
+	let fPosition;
+	let fSpeed;
+	if (V.PC.pregMood === 2 && V.PC.preg >= 28) {
+		fPosition = either(50, 50, 50, 90);
+		fSpeed = 90;
+	} else if (V.PC.pregMood === 1 && V.PC.preg >= 28) {
+		fPosition = random(1, 40);
+		fSpeed = 10;
+	} else if (V.PC.belly >= 3000) {
+		fPosition = random(1, 80);
+		fSpeed = random(1, 75);
+	} else {
+		fPosition = random(1, 100);
+		fSpeed = random(1, 100);
+	}
+
+	if (canMove(slave) && slave.fetish !== "mindbroken") {
+		r.push(`You decide to fuck ${him}`);
+		if (fPosition <= 20) {
+			r.push(`in the missionary position.`);
+			if (slave.bellyPreg >= 600000) {
+				r.push(`A position that will be a challenge due to ${his} immense pregnancy.`);
+			} else if (slave.belly >= 600000) {
+				r.push(`A position that will be a challenge due to ${his} immense stomach.`);
+			} else if (slave.bellyPreg >= 300000) {
+				r.push(`A position that will be difficult due to ${his} massive pregnancy.`);
+			} else if (slave.belly >= 300000) {
+				r.push(`A position that will be difficult due to ${his} massive stomach.`);
+			} else if (slave.belly+V.PC.belly >= 20000 && slave.belly >= 1500 && V.PC.belly >= 1500) {
+				r.push(`A position that will be difficult with the combined size of your rounded middles.`);
+			}
+			r.push(`You tell ${him} to lie down on the couch next to your desk.`);
+		} else if (fPosition <= 40) {
+			r.push(`in the cowgirl position. You lie on the couch beside your desk and tell ${him} to straddle you, facing towards you.`);
+			if (slave.bellyPreg >= 600000) {
+				r.push(`A position that will smother you with ${his} immense pregnancy.`);
+			} else if (slave.belly >= 600000) {
+				r.push(`A position that will smother you with ${his} immense stomach.`);
+			} else if (slave.bellyPreg >= 300000) {
+				r.push(`A position that will allow you to tease ${his} massive pregnancy as you fuck ${him}.`);
+			} else if (slave.belly >= 300000) {
+				r.push(`A position that will allow you to tease ${his} massive belly as you fuck ${him}.`);
+			} else if (slave.belly+V.PC.belly >= 20000 && slave.belly >= 1500 && V.PC.belly >= 1500) {
+				r.push(`A position that will be awkward with the combined size of your rounded middles.`);
+			}
+		} else if (fPosition <= 60) {
+			r.push(`doggy-style. You tell ${him} to get on the couch beside your desk on ${his}`);
+			if (hasAnyArms(slave)) {
+				r.push(hasBothArms(slave) ? `hands` : `hand`);
+				if (hasAnyLegs(slave)) {
+					r.push(`and`);
+				}
+			}
+			if (hasAnyLegs(slave)) {
+				r.push(hasBothLegs(slave) ? `knees` : `knee`);
+			}
+			r.push(r.pop() + `.`);
+			if (slave.bellyPreg >= 600000) {
+				r.push(`As ${he} struggles to fit on the couch, you tell ${him} to just lean over ${his} immense pregnancy instead.`);
+			} else if (slave.belly >= 600000) {
+				r.push(`As ${he} struggles to fit on the couch, you tell ${him} to just lean over ${his} immense belly instead.`);
+			} else if (slave.bellyPreg >= 300000) {
+				r.push(`A position that leaves ${his} rear high in the air thanks to ${his} massive pregnancy.`);
+			} else if (slave.belly >= 300000) {
+				r.push(`A position that leaves ${his} rear high in the air thanks to ${his} massive stomach.`);
+			}
+			if (V.PC.belly >= 5000) {
+				r.push(`${His} back will make a good rest for your gravid middle.`);
+			}
+		} else if (fPosition <= 80) {
+			r.push(`in the reverse cowgirl position. You lie on the couch beside your desk and tell ${him} to straddle you facing away from you.`);
+			if (slave.bellyPreg >= 600000) {
+				r.push(`A position that will much more comfortable for ${his} immense pregnancy and won't crush you under its mass.`);
+			} else if (slave.belly >= 600000) {
+				r.push(`A position that will much more comfortable for ${his} immense belly and won't crush you under its mass.`);
+			} else if (slave.bellyPreg >= 300000) {
+				r.push(`A position that will much more comfortable for ${his} massive pregnancy.`);
+			} else if (slave.belly >= 300000) {
+				r.push(`A position that will much more comfortable for ${his} massive belly.`);
+			}
+		} else {
+			r.push(`in the wheelbarrow position. You tell ${him} to get on the couch beside your desk, stand next to ${him} and lift ${his} legs up into the air.`);
+			if (slave.bellyPreg >= 600000) {
+				r.push(`${His} pregnancy is so immense it reaches the floor even as you hold ${him} saving you the trouble of bearing its weight.`);
+			} else if (slave.belly >= 600000) {
+				r.push(`${His} belly is so immense it reaches the floor even as you hold ${him} saving you the trouble of bearing its weight.`);
+			} else if (slave.bellyPreg >= 300000) {
+				r.push(`You hope you don't strain something supporting ${his} massive pregnancy.`);
+			} else if (slave.belly >= 300000) {
+				r.push(`You hope you don't strain something supporting ${his} massive belly.`);
+			}
+		}
+	}
+
+	if (slave.vagina === 0 && canDoVaginal(slave)) {
+		if (slave.fetish === "mindbroken") {
+			r.push(`${He} accepts your orders dumbly and presents ${his} virgin pussy for defloration${(V.PC.dick === 0) ? `, watching without real interest as you don a strap-on` : ``}. Since ${he} is mindbroken, <span class="virginity loss">losing ${his} virginity</span> has no impact on any part of ${him} other than ${his} vagina.`);
+		} else if (slave.devotion > 20) {
+			r.push(`${He} accepts your orders without comment and presents ${his} virgin pussy for defloration${(V.PC.dick === 0) ? `, watching with some small trepidation as you don a strap-on` : ``}. You gently ease into ${his} pussy before gradually increasing the intensity of your thrusts into ${him}. Before long, ${he}'s moaning loudly as you pound away. Since ${he} is already well broken, this new connection with ${his} ${getWrittenTitle(slave)} <span class="devotion inc">increases ${his} devotion to you.</span> <span class="virginity loss">${His} pussy has been broken in.</span> ${He} looks forward to having ${his} pussy fucked by you again.`);
+			slave.devotion += 10;
+		} else if (slave.devotion >= -20) {
+			r.push(`${He} is clearly unhappy at losing ${his} pearl of great price to you; this probably isn't what ${he} imagined ${his} first real sex would be like.`);
+			if (V.PC.dick === 0) {
+				r.push(`${His} lower lip quivers with trepidation as ${he} watches you don a strap-on and maneuver to fuck ${his} virgin hole.`);
+			}
+			r.push(`You gently ease into ${his} pussy before gradually increasing the intensity of your thrusts into ${him}. Before long, ${he}'s moaning as you pound away. Nevertheless, this new connection with ${his} ${getWrittenTitle(slave)} <span class="devotion inc">increases ${his} devotion to you.</span> <span class="virginity loss">${His} pussy has been broken in,</span> and ${he} is <span class="trust dec">fearful</span> that sex will continue to be painful.`);
+			slave.devotion += 4;
+			slave.trust -= 4;
+		} else {
+			r.push(`As you anticipated, ${he} refuses to give you ${his} virginity. And as you expected, ${he} is unable to resist you. ${He} cries as`);
+			if (V.PC.dick === 0) {
+				r.push(`your strap-on`);
+			} else {
+				r.push(`your cock`);
+			}
+			r.push(`opens ${his} fresh, tight hole. You force your way into ${his} pussy and continue thrusting into ${him}. ${He} sobs and cries with horror as you pound away. The rape <span class="devotion.dec">decreases ${his} devotion to you.</span> <span class="virginity loss">${His} pussy has been broken in,</span> and ${he} <span class="trust dec">fears further abuse.</span>`);
+			slave.devotion -= 4;
+			slave.trust -= 4;
+		}
+		slave.vagina++;
+	} else if (slave.fetish === "mindbroken") {
+		r.push(`Since ${his} mind is gone, ${he}'s yours to use as a human sex doll. You throw ${him} over the couch and amuse yourself with ${him} for a while; ${his} body retains its instinctual responses, at least. You finish inside ${him} and leave your toy for one of your other slaves to clean and maintain.`);
+	} else if (isAmputee(slave)) {
+		r.push(`Since ${he}'s a quadruple amputee, ${he}'s yours to use as a human sex toy. You set ${him}`);
+		if (V.PC.dick !== 0) {
+			if (slave.belly >= 300000) {
+				r.push(`atop ${his} massive stomach and`);
+				if (fSpeed > 75) {
+					r.push(`fuck ${him} hard and fast,`);
+				} else if (fSpeed > 50) {
+					r.push(`fuck ${him} firmly and vigorously,`);
+				} else if (fSpeed > 25) {
+					r.push(`fuck ${him} steadily and controlled,`);
+				} else {
+					r.push(`fuck ${him} slowly and tenderly,`);
+				}
+				r.push(`managing ${him} with your arms as you go.`);
+			} else {
+				r.push(`atop your cock and slide ${him} up and down,`);
+				if (fSpeed > 75) {
+					r.push(`hard and fast,`);
+				} else if (fSpeed > 50) {
+					r.push(`firmly and vigorously,`);
+				} else if (fSpeed > 25) {
+					r.push(`steadily and controlled,`);
+				} else {
+					r.push(`slowly and tenderly,`);
+				}
+				r.push(`managing ${him} with your arms.`);
+			}
+			if (slave.dick > 0) {
+				if (slave.chastityPenis === 1) {
+					r.push(`${His} dick chastity keeps ${his} useless bitchclit out of the way.`);
+				} else if (!canAchieveErection(slave)) {
+					r.push(`As you use ${him} as a helpless cock jacket, ${his}`);
+					if (slave.dick < 7) {
+						r.push(`flaccid dick flops around, ignored.`);
+					} else {
+						r.push(`massive dick flops against you, no longer able to get hard.`);
+					}
+				} else {
+					r.push(`As you use ${him} as a helpless cock jacket, your pounding keeps ${his} prick stiff.`);
+				}
+			}
+			r.push(`You finish inside ${him} and leave your toy for one of your other slaves to clean and maintain.`);
+		} else {
+			r.push(`on the couch and straddle ${his} hips, bringing your already-wet pussy`);
+			if (fSpeed > 75) {
+				r.push(`hard against ${him}. You grind powerfully`);
+			} else if (fSpeed > 50) {
+				r.push(`firmly against ${him}. You grind vigorously`);
+			} else if (fSpeed > 25) {
+				r.push(`against ${him}. You grind steadily`);
+			} else {
+				r.push(`softly against ${him}. You grind gently`);
+			}
+			r.push(`against ${his} helpless body, using ${him} as a living sybian until ${his} warmth and movement brings you to orgasm.`);
+		}
+	} else if (tooBigBelly(slave)) {
+		r.push(`You tell ${him} to get situated on the couch, face-down. This position pins ${him} down by the massive weight of ${his} belly, pushing ${his} face in amongst the cushions and keeping ${his} crotch in the ideal position to penetrate. ${His} belly serves as an anchor, allowing you to take ${him} doggy style without any real contribution from ${him}. The position muffles ${his} reaction entirely, other than the rhythmic jiggling of ${his} bulging belly as it sticks out from either side of ${his} torso as you`);
+		if (fSpeed > 75) {
+			r.push(`pound ${him} hard and fast.`);
+		} else if (fSpeed > 50) {
+			r.push(`pound ${him} firmly and vigorously.`);
+		} else if (fSpeed > 25) {
+			r.push(`fuck ${him} steadily.`);
+		} else {
+			r.push(`fuck ${him} slowly and tenderly.`);
+		}
+	} else if (tooBigBreasts(slave)) {
+		r.push(`You tell ${him} to get situated on the couch, face-down. This position pins ${him} down by the massive weight of ${his} tits, pushing ${his} face in amongst the cushions. ${His} tits serve as an anchor, allowing you to take ${him} doggy style without any real contribution from ${him}. The position muffles ${his} reaction entirely, other than the rhythmic jiggling of the breastflesh that sticks out to either side of ${his} torso as you`);
+		if (fSpeed > 75) {
+			r.push(`pound ${him} hard and fast.`);
+		} else if (fSpeed > 50) {
+			r.push(`pound ${him} firmly and vigorously.`);
+		} else if (fSpeed > 25) {
+			r.push(`fuck ${him} steadily.`);
+		} else {
+			r.push(`fuck ${him} slowly and tenderly.`);
+		}
+	} else if (tooBigButt(slave)) {
+		r.push(`You tell ${him} to get situated on the couch, face-up. This position pins ${him} down by the massive weight of ${his} rear, causing ${him} to sink into the cushions. ${His} ass serves as an anchor, allowing you to take ${him} in the missionary position without any real contribution from ${him}. This lets you clearly see ${his} reaction, as well as the rhythmic jiggling of the buttflesh that sticks out to either side of ${his} hips as you`);
+		if (fSpeed > 75) {
+			r.push(`pound ${him} hard and fast.`);
+		} else if (fSpeed > 50) {
+			r.push(`pound ${him} firmly and vigorously.`);
+		} else if (fSpeed > 25) {
+			r.push(`fuck ${him} steadily.`);
+		} else {
+			r.push(`fuck ${him} slowly and tenderly.`);
+		}
+	} else if (tooBigBalls(slave)) {
+		r.push(`You tell ${him} to get situated on the couch, doggy style. This position pins ${him} down by the massive weight of ${his} balls. ${His} testicles serve as an anchor, allowing you to take ${him} doggy style without any real concern of getting struck by ${his} massive nuts. The position keeps ${his} balls completely still where they rest on the couch, so you don't have to worry about them getting in the way as you`);
+		if (fSpeed > 75) {
+			r.push(`pound ${him} hard and fast.`);
+		} else if (fSpeed > 50) {
+			r.push(`pound ${him} firmly and vigorously.`);
+		} else if (fSpeed > 25) {
+			r.push(`fuck ${him} steadily.`);
+		} else {
+			r.push(`fuck ${him} slowly and tenderly.`);
+		}
+	} else if (slave.fetish === "submissive" && slave.fetishStrength > 60 && slave.fetishKnown === 1 && V.PC.dick !== 0) {
+		r.push(`${He} comes over, smiling a little submissive smile, and spreads ${himself} for you. You take ${him} on the couch next to your desk after ${he} gets into position.`);
+		if (fPosition <= 20) { // missionary
+			if (slave.bellyPreg >= 600000) {
+				if (V.PC.belly >= 5000) {
+					r.push(`You have to heft ${his} gravid body up and slip under ${his} expansive middle to position yourself for penetration. With your own baby bump in the way, it's a complicated maneuver, but once you manage to get in, you rest your head against ${his} bulging belly and feel the movements within as you thrust`);
+					if (fSpeed > 75) {
+						r.push(`hard and fast`);
+					} else if (fSpeed > 50) {
+						r.push(`firmly and vigorously`);
+					} else if (fSpeed > 25) {
+						r.push(`steadily`);
+					} else {
+						r.push(`slowly and tenderly`);
+					}
+					r.push(`into ${him};`);
+				} else {
+					r.push(`You have to heft ${his} gravid body up and slip under ${his} expansive middle to position yourself for penetration. But once you are seated, you rest your head against ${his} bulging belly and feel the movements within as you thrust`);
+					if (fSpeed > 75) {
+						r.push(`hard and fast`);
+					} else if (fSpeed > 50) {
+						r.push(`firmly and vigorously`);
+					} else if (fSpeed > 25) {
+						r.push(`steadily`);
+					} else {
+						r.push(`slowly and tenderly`);
+					}
+					r.push(`into ${him};`);
+				}
+			} else if (slave.belly >= 600000) {
+				if (V.PC.belly >= 5000) {
+					r.push(`You have to heft ${his} weighty body up and slip under ${his} expansive middle to position yourself for penetration. With your own gravid swell in the way, it's a complicated maneuver, but once you manage to get in, you rest your head against ${his} immense belly and feel the force of your`);
+					if (fSpeed > 75) {
+						r.push(`fast, hard`);
+					} else if (fSpeed > 50) {
+						r.push(`vigorous, firm`);
+					} else if (fSpeed > 25) {
+						r.push(`steady`);
+					} else {
+						r.push(`slow, tender`);
+					}
+					r.push(`thrusts running through ${him};`);
+				} else {
+					r.push(`You have to heft ${his} weighty body up and slip under ${his} expansive middle to position yourself for penetration. But once you are seated, you rest your head against ${his} immense belly and feel the force of your`);
+					if (fSpeed > 75) {
+						r.push(`fast, hard`);
+					} else if (fSpeed > 50) {
+						r.push(`vigorous, firm`);
+					} else if (fSpeed > 25) {
+						r.push(`steady`);
+					} else {
+						r.push(`slow, tender`);
+					}
+					r.push(`thrusts running through ${him};`);
+				}
+			} else if (slave.bellyPreg >= 300000) {
+				r.push(`You have to heft ${his} gravid body up to position yourself for penetration. But once you are mounted, you rest your head against ${his} bulging belly and feel the movements within as you thrust`);
+				if (fSpeed > 75) {
+					r.push(`hard and fast`);
+				} else if (fSpeed > 50) {
+					r.push(`firmly and vigorously`);
+				} else if (fSpeed > 25) {
+					r.push(`steadily`);
+				} else {
+					r.push(`slowly and tenderly`);
+				}
+				r.push(`into ${him};`);
+			} else if (slave.belly >= 300000) {
+				r.push(`You have to heft ${his} weighty body up to position yourself for penetration. But once you are mounted, you rest your head against ${his} massive stomach and feel the force of your`);
+				if (fSpeed > 75) {
+					r.push(`fast, hard`);
+				} else if (fSpeed > 50) {
+					r.push(`vigorous, firm`);
+				} else if (fSpeed > 25) {
+					r.push(`steady`);
+				} else {
+					r.push(`slow, tender`);
+				}
+				r.push(`thrusts running through ${him};`);
+			} else {
+				r.push(`${He} hugs ${his} torso to you and`);
+				if (slave.belly+V.PC.belly >= 20000 && slave.belly >= 1500 && V.PC.belly >= 1500) {
+					r.push(`your bellies bulge lewdly against each other;`);
+				} else if (slave.belly >= 5000) {
+					r.push(`pushes ${his} belly against your stomach;`);
+				} else if (V.PC.belly >= 5000) {
+					r.push(`pushes your belly into ${his} stomach;`);
+				} else if (V.PC.boobs >= 1400) {
+					r.push(`${his} breasts press against your own enormous,`);
+					if (V.PC.boobsImplant/V.PC.boobs >= .60) {
+						r.push(`hard`);
+					} else {
+						r.push(`soft`);
+					}
+					r.push(`breasts;`);
+				} else if (V.PC.boobs >= 1200) {
+					r.push(`${his} breasts press against your own huge,`);
+					if (V.PC.boobsImplant/V.PC.boobs >= .60) {
+						r.push(`firm`);
+					} else {
+						r.push(`soft`);
+					}
+					r.push(`breasts;`);
+				} else if (V.PC.boobs >= 1000) {
+					r.push(`${his} breasts press against your own big${(V.PC.boobsImplant/V.PC.boobs >= .60) ? `, perky` : ``} breasts;`);
+				} else if (V.PC.boobs >= 800) {
+					r.push(`${his} breasts press against your own generous breasts;`);
+				} else if (V.PC.boobs >= 650) {
+					r.push(`${his} breasts press against your own breasts;`);
+				} else if (V.PC.boobs >= 500) {
+					r.push(`${his} breasts press against your own average breasts;`);
+				} else if (V.PC.boobs >= 300) {
+					r.push(`${his} breasts press against your own small breasts;`);
+				} else if (V.PC.title === 0) {
+					r.push(`${his} breasts press against your flat breasts;`);
+				} else {
+					r.push(`${his} breasts press against your chest;`);
+				}
+			}
+		} else if (fPosition <= 40) { // cowgirl
+			if (slave.bellyPreg >= 600000) {
+				r.push(`You wrap your arms around ${his} boundless pregnancy as you thrust`);
+				if (fSpeed > 75) {
+					r.push(`hard and fast`);
+				} else if (fSpeed > 50) {
+					r.push(`firmly and vigorously`);
+				} else if (fSpeed > 25) {
+					r.push(`steadily`);
+				} else {
+					r.push(`slowly and tenderly`);
+				}
+				r.push(`into ${him} and enjoy the feeling of so much movement squirming against your face;`);
+			} else if (slave.belly >= 600000) {
+				r.push(`You wrap your arms around ${his} boundless stomach as you thrust`);
+				if (fSpeed > 75) {
+					r.push(`hard and fast`);
+				} else if (fSpeed > 50) {
+					r.push(`firmly and vigorously`);
+				} else if (fSpeed > 25) {
+					r.push(`steadily`);
+				} else {
+					r.push(`slowly and tenderly`);
+				}
+				r.push(`into ${him} and enjoy the feeling of your every move running through ${his} belly;`);
+			} else if (slave.bellyPreg >= 300000) {
+				r.push(`${He} does ${his} best to not suffocate you with ${his} massive belly or knock you out with it as you thrust`);
+				if (fSpeed > 75) {
+					r.push(`hard and fast`);
+				} else if (fSpeed > 50) {
+					r.push(`firmly and vigorously`);
+				} else if (fSpeed > 25) {
+					r.push(`steadily`);
+				} else {
+					r.push(`slowly and tenderly`);
+				}
+				r.push(`into ${him}. You get a face full of pregnancy with each downward motion;`);
+			} else if (slave.belly >= 300000) {
+				r.push(`${He} does ${his} best to not suffocate you with ${his} massive belly or knock you out with it as you thrust`);
+				if (fSpeed > 75) {
+					r.push(`hard and fast`);
+				} else if (fSpeed > 50) {
+					r.push(`firmly and vigorously`);
+				} else if (fSpeed > 25) {
+					r.push(`steadily`);
+				} else {
+					r.push(`slowly and tenderly`);
+				}
+				r.push(`into ${him}. You get a face full of implant with each downward motion;`);
+			} else {
+				r.push(`${He}`);
+				if (hasAnyArms(slave)) {
+					r.push(`puts ${his} hand`);
+					if (hasBothArms(slave)) {
+						r.push(`s`);
+					}
+					r.push(`on your chest and`);
+				}
+				r.push(`leans forward as you continue to thrust`);
+				if (fSpeed > 75) {
+					r.push(`hard`);
+				} else if (fSpeed > 50) {
+					r.push(`vigorously`);
+				} else if (fSpeed > 25) {
+					r.push(`steadily`);
+				} else {
+					r.push(`tenderly`);
+				}
+				r.push(`upwards;`);
+			}
+		} else if (fPosition <= 60) { // doggy-style
+			if (slave.bellyPreg >= 300000) {
+				r.push(`${He} arches ${his} back as you continue to pound ${him}`);
+				if (fSpeed > 75) {
+					r.push(`hard and fast,`);
+				} else if (fSpeed > 50) {
+					r.push(`firmly and vigorously,`);
+				} else if (fSpeed > 25) {
+					r.push(`steadily,`);
+				} else {
+					r.push(`slowly and tenderly,`);
+				}
+				r.push(`${his} occupants enjoying the attention. As you rest your weight on ${him}, you run your hands along ${his} distended sides;`);
+			} else if (slave.belly >= 300000) {
+				r.push(`${He} arches ${his} back as you continue to pound ${him}`);
+				if (fSpeed > 75) {
+					r.push(`hard and fast,`);
+				} else if (fSpeed > 50) {
+					r.push(`firmly and vigorously,`);
+				} else if (fSpeed > 25) {
+					r.push(`steadily,`);
+				} else {
+					r.push(`slowly and tenderly,`);
+				}
+				r.push(`${his} belly jiggling just slightly with each thrust. As you rest your weight on ${him}, you run your hands along ${his} distended sides;`);
+			} else {
+				r.push(`${He} arches ${his} back as you continue to pound ${him}`);
+				if (fSpeed > 75) {
+					r.push(`hard and fast`);
+				} else if (fSpeed > 50) {
+					r.push(`firmly and vigorously`);
+				} else if (fSpeed > 25) {
+					r.push(`steadily`);
+				} else {
+					r.push(`slowly and tenderly`);
+				}
+			}
+		} else if (fPosition <= 80) { // reverse cowgirl
+			if (slave.bellyPreg >= 300000) {
+				r.push(`You may have to spread your legs extra wide to accommodate ${his} impressive baby bump, but the angle and pressure it puts on you feels amazing. ${He}`);
+				if (hasAnyArms(slave)) {
+					r.push(`puts ${his} hand`);
+					if (hasBothArms(slave)) {
+						r.push(`s`);
+					}
+					r.push(`on your chest and`);
+				}
+				r.push(`starts to lean back as you continue to thrust`);
+				if (fSpeed > 75) {
+					r.push(`hard and fast`);
+				} else if (fSpeed > 50) {
+					r.push(`firmly and vigorously`);
+				} else if (fSpeed > 25) {
+					r.push(`steadily`);
+				} else {
+					r.push(`slowly and tenderly`);
+				}
+				r.push(`upwards, in return you caress ${his} distended sides;`);
+			} else if (slave.belly >= 300000) {
+				r.push(`You may have to spread your legs extra wide to accommodate ${his} impressive belly, but the angle and pressure it puts on you feels amazing. ${He}`);
+				if (hasAnyArms(slave)) {
+					r.push(`puts ${his} hand`);
+					if (hasBothArms(slave)) {
+						r.push(`s`);
+					}
+					r.push(`on your chest and`);
+				}
+				r.push(`starts to lean back as you continue to thrust`);
+				if (fSpeed > 75) {
+					r.push(`hard and fast`);
+				} else if (fSpeed > 50) {
+					r.push(`firmly and vigorously`);
+				} else if (fSpeed > 25) {
+					r.push(`steadily`);
+				} else {
+					r.push(`slowly and tenderly`);
+				}
+				r.push(`upwards, in return you caress ${his} distended sides;`);
+			} else {
+				r.push(`${He}`);
+				if (hasAnyArms(slave)) {
+					r.push(`puts ${his} hand`);
+					if (hasBothArms(slave)) {
+						r.push(`s`);
+					}
+					r.push(`on your chest and`);
+				}
+				r.push(`starts to lean back as you continue to thrust`);
+				if (fSpeed > 75) {
+					r.push(`hard and fast`);
+				} else if (fSpeed > 50) {
+					r.push(`firmly and vigorously`);
+				} else if (fSpeed > 25) {
+					r.push(`steadily`);
+				} else {
+					r.push(`slowly and tenderly`);
+				}
+				r.push(`upwards;`);
+			}
+		} else { // wheelbarrow
+			if (slave.belly >= 600000) {
+				r.push(`With all ${his} weight handled, you can keep`);
+				if (fSpeed > 75) {
+					r.push(`furiously`);
+				} else if (fSpeed > 50) {
+					r.push(`vigorously`);
+				} else if (fSpeed > 25) {
+					r.push(`steadily`);
+				} else {
+					r.push(`slowly and tenderly`);
+				}
+				r.push(`pounding without your arms getting tired;`);
+			} else if (slave.bellyPreg >= 300000) {
+				r.push(`Before long both of your strength begins to wane, causing ${his} belly to touch the floor. With some of the weight off of the both of you, you keep on`);
+				if (fSpeed > 75) {
+					r.push(`furiously`);
+				} else if (fSpeed > 50) {
+					r.push(`vigorously`);
+				} else if (fSpeed > 25) {
+					r.push(`steadily`);
+				} else {
+					r.push(`slowly and tenderly`);
+				}
+				r.push(`pounding;`);
+			} else if (slave.belly >= 300000) {
+				r.push(`Before long both of your strength begins to wane, causing ${his} belly to touch the floor. With some of the weight off of the both of you, you keep on`);
+				if (fSpeed > 75) {
+					r.push(`furiously`);
+				} else if (fSpeed > 50) {
+					r.push(`vigorously`);
+				} else if (fSpeed > 25) {
+					r.push(`steadily`);
+				} else {
+					r.push(`slowly and tenderly`);
+				}
+				r.push(`pounding;`);
+			} else {
+				r.push(`${He} begins to tire as you keep`);
+				if (fSpeed > 75) {
+					r.push(`furiously`);
+				} else if (fSpeed > 50) {
+					r.push(`vigorously`);
+				} else if (fSpeed > 25) {
+					r.push(`steadily`);
+				} else {
+					r.push(`slowly and tenderly`);
+				}
+				r.push(`pounding;`);
+			}
+		}
+		r.push(`you can feel`);
+		if (slave.bellyPreg >= 300000) {
+			r.push(`${his} child`);
+			if (slave.pregType > 0) {
+				r.push(`ren`);
+			}
+			r.push(`begin to squirm in reaction to their mother's lust.`);
+		} else {
+			r.push(`${his} heart beating hard.`);
+		}
+		r.push(`As the sex reaches its climax, ${he} begs you to cum inside ${his} unworthy body.`);
+		if (slave.dick !== 0 && canAchieveErection(slave)) {
+			if (slave.chastityPenis === 1) {
+				r.push(`${He} does ${his} submissive best to stay completely soft within ${his} dick chastity.`);
+			} else {
+				r.push(`As a submissive ${he} spares no attention for ${his} own orgasm, so ${his} rock hard erection swings untended.`);
+			}
+		} else if (slave.chastityPenis === 1) {
+			r.push(`${His} cock is forgotten inside its chastity cage as you take what you want from ${him}.`);
+		} else if (slave.dick !== 0) {
+			r.push(`As a submissive ${he} spares no attention for ${his} own orgasm, so ${his} flaccid cock swings untended.`);
+		}
+		if (V.PC.vagina !== -1) {
+			r.push(`When you finally climax, you pull out and press your wet cunt against ${his} mouth, letting ${his} lavish attention on you that brings you to another quick orgasm.`);
+			slave.counter.oral += 1;
+			V.oralTotal += 1;
+		}
+	} else if (slave.devotion < -20) {
+		r.push(`${He} tries to refuse, so you`);
+		if (V.PC.dick !== 0) {
+			r.push(`bend the disobedient slave over your desk and take ${him} hard from behind. ${His} breasts`);
+			if (slave.dick !== 0) {
+				r.push(`and cock`);
+			}
+			r.push(`slide back and forth across the desk. You give ${his} buttocks some nice hard swats as you pound ${him}. ${He} grunts and moans but knows better than to try to get away.`);
+			if (slave.dick !== 0 && canAchieveErection(slave)) {
+				r.push(`Despite ${his} unwillingness to be raped, the stimulation`);
+				if (slave.chastityPenis) {
+					r.push(`starts to give ${him} an erection, which ${his} dick chastity makes horribly uncomfortable. ${He} bucks with the pain, ${his} hole spasming delightfully.`);
+				} else {
+					r.push(`gives ${him} an erection. ${He}'s mortified that ${he} would get hard while being raped.`);
+				}
+			} else if (slave.chastityPenis === 1) {
+				r.push(`${His} dick chastity keeps ${his} bitch cock hidden away while you use ${his} whore hole.`);
+			} else if (slave.dick !== 0) {
+				r.push(`${His} flaccid dick is ground into the back of the couch as you rape ${him}.`);
+			}
+			if (V.PC.vagina !== -1) {
+				r.push(`After your first orgasm, you pull out and grind your pussy against ${his} face for another, enjoying the stimulation of ${his} muffled crying.`);
+				slave.counter.oral += 1;
+				V.oralTotal += 1;
+			}
+		} else {
+			r.push(`stand and seize ${him}, shoving ${him} down to sit in your chair. You jump atop ${his} hips, pinning ${him} down into the chair with your legs and pressing your pussy hard against ${his} groin. ${He} struggles and whimpers, but you give ${him} a hard warning slap to the cheek and kiss ${his} unwilling mouth, forcing your tongue past ${his} lips as you grind against ${him}.`);
+		}
+	} else if (slave.devotion <= 20) {
+		if (V.PC.dick !== 0) {
+			r.push(`${He} obeys, lying on the couch next to your desk`);
+			if (hasAnyLegs(slave)) {
+				r.push(`with ${his} ${hasBothLegs(slave) ? `legs spread` : `leg moved aside`}`);
+			}
+			r.push(r.pop() + `.`);
+			r.push(`You kneel on the ground and enter ${him}${hasAnyLegs(slave) ? `, a hand on` : ``}`);
+			if (hasAnyLegs(slave)) {
+				if (hasBothLegs(slave)) {
+					r.push(`each of ${his} legs`);
+				} else {
+					r.push(`${his} leg`);
+				}
+				r.push(`to give you a good grip`);
+			}
+			r.push(r.pop() + `.`);
+			if (fSpeed > 75) {
+				r.push(`The pounding is hard and fast,`);
+			} else if (fSpeed > 50) {
+				r.push(`You pound ${him} firmly and vigorously,`);
+			} else if (fSpeed > 25) {
+				r.push(`You fuck ${him} steadily and controlled,`);
+			} else {
+				r.push(`You fuck ${him} slowly and tenderly,`);
+			}
+			r.push(`and ${he} gasps and`);
+			if (fSpeed > 50) {
+				r.push(`whines.`);
+			} else {
+				r.push(`moans.`);
+			}
+			r.push(`You reach a hand down to maul ${his} breasts.`);
+			if (slave.dick !== 0 && canAchieveErection(slave)) {
+				if (slave.chastityPenis === 1) {
+					r.push(`${He} enjoys ${himself}, even though ${his} dick chastity keeps ${him} soft by making the beginnings of erection very uncomfortable.`);
+				} else {
+					r.push(`${He} bites ${his} lip and moans as ${he} climaxes. You fill ${his} squeezing fuckhole with your cum. ${He} already dribbled ${his} own weak load all over ${his} stomach.`);
+				}
+			} else if (slave.chastityPenis === 1) {
+				r.push(`${He} bites ${his} lip and moans as ${he} climaxes. You fill ${his} squeezing fuckhole with your cum. Precum has been dribbling out of ${his} dick chastity for some time, apparently the best ${his} soft bitchclit can manage.`);
+			} else if (slave.dick !== 0) {
+				r.push(`${He} bites ${his} lip and moans as ${he} climaxes. You fill ${his} squeezing fuckhole with your cum. ${He} already blew ${his} own load all over ${his} stomach despite ${his} inability to get hard.`);
+			}
+			if (V.PC.vagina !== -1) {
+				r.push(`You got so wet fucking ${him} that when you climax, you stand up and let ${him} clean your pussy with ${his} mouth. The oral attention brings you to a quick aftershock orgasm.`);
+				slave.counter.oral += 1;
+				V.oralTotal += 1;
+			}
+		} else {
+			r.push(`You pat the tops of your thighs, and ${he} obediently comes over to sit atop them, wrapping ${his} legs around you. Your hands reach around ${him} and seize ${his} buttocks, drawing ${him} in even closer so that the warmth between ${his} legs is pressed hard against your pussy. ${He} grinds dutifully against you, only pausing for a moment when ${he} finds your insistent tongue probing past ${his} lips.`);
+		}
+	} else {
+		if (V.PC.dick !== 0) {
+			r.push(`${He} skips over smiling and gives you a quick kiss. You take ${him} on the couch next to your desk after ${he} gets into position.`);
+			if (fPosition <= 20) { // missionary
+				if (slave.bellyPreg >= 600000) {
+					if (V.PC.belly >= 5000) {
+						r.push(`You have to heft ${his} gravid body up and slip under ${his} expansive middle to position yourself for penetration. With your own baby bump in the way, it's a complicated maneuver, but once you manage to get in, you rest your head against ${his} bulging belly and feel the movements within as you thrust`);
+						if (fSpeed > 75) {
+							r.push(`hard and fast`);
+						} else if (fSpeed > 50) {
+							r.push(`firmly and vigorously`);
+						} else if (fSpeed > 25) {
+							r.push(`steadily`);
+						} else {
+							r.push(`slowly and tenderly`);
+						}
+						r.push(`into ${him};`);
+					} else {
+						r.push(`You have to heft ${his} gravid body up and slip under ${his} expansive middle to position yourself for penetration. But once you are seated, you rest your head against ${his} bulging belly and feel the movements within as you thrust`);
+						if (fSpeed > 75) {
+							r.push(`hard and fast`);
+						} else if (fSpeed > 50) {
+							r.push(`firmly and vigorously`);
+						} else if (fSpeed > 25) {
+							r.push(`steadily`);
+						} else {
+							r.push(`slowly and tenderly`);
+						}
+						r.push(`into ${him};`);
+					}
+				} else if (slave.belly >= 600000) {
+					if (V.PC.belly >= 5000) {
+						r.push(`You have to heft ${his} weighty body up and slip under ${his} expansive middle to position yourself for penetration. With your own gravid swell in the way, it's a complicated maneuver, but once you manage to get in, you rest your head against ${his} immense belly and feel the force of your`);
+						if (fSpeed > 75) {
+							r.push(`fast, hard`);
+						} else if (fSpeed > 50) {
+							r.push(`vigorous, firm`);
+						} else if (fSpeed > 25) {
+							r.push(`steady`);
+						} else {
+							r.push(`slow, tender`);
+						}
+						r.push(`thrusts running through ${him};`);
+					} else {
+						r.push(`You have to heft ${his} weighty body up and slip under ${his} expansive middle to position yourself for penetration. But once you are seated, you rest your head against ${his} immense belly and feel the force of your`);
+						if (fSpeed > 75) {
+							r.push(`fast, hard`);
+						} else if (fSpeed > 50) {
+							r.push(`vigorous, firm`);
+						} else if (fSpeed > 25) {
+							r.push(`steady`);
+						} else {
+							r.push(`slow, tender`);
+						}
+						r.push(`thrusts running through ${him};`);
+					}
+				} else if (slave.bellyPreg >= 300000) {
+					r.push(`You have to heft ${his} gravid body up to position yourself for penetration. But once you are mounted, you rest your head against ${his} bulging belly and feel the movements within as you thrust`);
+					if (fSpeed > 75) {
+						r.push(`hard and fast`);
+					} else if (fSpeed > 50) {
+						r.push(`firmly and vigorously`);
+					} else if (fSpeed > 25) {
+						r.push(`steadily`);
+					} else {
+						r.push(`slowly and tenderly`);
+					}
+					r.push(`into ${him};`);
+				} else if (slave.belly >= 300000) {
+					r.push(`You have to heft ${his} weighty body up to position yourself for penetration. But once you are mounted, you rest your head against ${his} massive stomach and feel the force of your`);
+					if (fSpeed > 75) {
+						r.push(`fast, hard`);
+					} else if (fSpeed > 50) {
+						r.push(`vigorous, firm`);
+					} else if (fSpeed > 25) {
+						r.push(`steady`);
+					} else {
+						r.push(`slow, tender`);
+					}
+					r.push(`thrusts running through ${him};`);
+				} else {
+					r.push(`${He} hugs ${his} torso to you and`);
+					if (slave.belly+V.PC.belly >= 20000 && slave.belly >= 1500 && V.PC.belly >= 1500) {
+						r.push(`your bellies bulge lewdly against each other;`);
+					} else if (slave.belly >= 5000) {
+						r.push(`pushes ${his} belly against your stomach;`);
+					} else if (V.PC.belly >= 5000) {
+						r.push(`pushes your belly into ${his} stomach;`);
+					} else if (V.PC.boobs >= 1400) {
+						r.push(`${his} breasts press against your own enormous,`);
+						if (V.PC.boobsImplant/V.PC.boobs >= .60) {
+							r.push(`hard`);
+						} else {
+							r.push(`soft`);
+						}
+						r.push(`breasts;`);
+					} else if (V.PC.boobs >= 1200) {
+						r.push(`${his} breasts press against your own huge,`);
+						if (V.PC.boobsImplant/V.PC.boobs >= .60) {
+							r.push(`firm`);
+						} else {
+							r.push(`soft`);
+						}
+						r.push(`breasts;`);
+					} else if (V.PC.boobs >= 1000) {
+						r.push(`${his} breasts press against your own big${(V.PC.boobsImplant/V.PC.boobs >= .60) ? `, perky` : ``} breasts;`);
+					} else if (V.PC.boobs >= 800) {
+						r.push(`${his} breasts press against your own generous breasts;`);
+					} else if (V.PC.boobs >= 650) {
+						r.push(`${his} breasts press against your own breasts;`);
+					} else if (V.PC.boobs >= 500) {
+						r.push(`${his} breasts press against your own average breasts;`);
+					} else if (V.PC.boobs >= 300) {
+						r.push(`${his} breasts press against your own small breasts;`);
+					} else if (V.PC.title === 0) {
+						r.push(`${his} breasts press against your flat breasts;`);
+					} else {
+						r.push(`${his} breasts press against your chest;`);
+					}
+				}
+			} else if (fPosition <= 40) { // cowgirl
+				if (slave.bellyPreg >= 600000) {
+					r.push(`You wrap your arms around ${his} boundless pregnancy as you thrust`);
+					if (fSpeed > 75) {
+						r.push(`hard and fast`);
+					} else if (fSpeed > 50) {
+						r.push(`firmly and vigorously`);
+					} else if (fSpeed > 25) {
+						r.push(`steadily`);
+					} else {
+						r.push(`slowly and tenderly`);
+					}
+					r.push(`into ${him} and enjoy the feeling of so much movement squirming against your face;`);
+				} else if (slave.belly >= 600000) {
+					r.push(`You wrap your arms around ${his} boundless stomach as you thrust`);
+					if (fSpeed > 75) {
+						r.push(`hard and fast`);
+					} else if (fSpeed > 50) {
+						r.push(`firmly and vigorously`);
+					} else if (fSpeed > 25) {
+						r.push(`steadily`);
+					} else {
+						r.push(`slowly and tenderly`);
+					}
+					r.push(`into ${him} and enjoy the feeling of your every move running through ${his} belly;`);
+				} else if (slave.bellyPreg >= 300000) {
+					r.push(`${He} does ${his} best to not suffocate you with ${his} massive belly or knock you out with it as you thrust`);
+					if (fSpeed > 75) {
+						r.push(`hard and fast`);
+					} else if (fSpeed > 50) {
+						r.push(`firmly and vigorously`);
+					} else if (fSpeed > 25) {
+						r.push(`steadily`);
+					} else {
+						r.push(`slowly and tenderly`);
+					}
+					r.push(`into ${him}. You get a face full of pregnancy with each downward motion;`);
+				} else if (slave.belly >= 300000) {
+					r.push(`${He} does ${his} best to not suffocate you with ${his} massive belly or knock you out with it as you thrust`);
+					if (fSpeed > 75) {
+						r.push(`hard and fast`);
+					} else if (fSpeed > 50) {
+						r.push(`firmly and vigorously`);
+					} else if (fSpeed > 25) {
+						r.push(`steadily`);
+					} else {
+						r.push(`slowly and tenderly`);
+					}
+					r.push(`into ${him}. You get a face full of implant with each downward motion;`);
+				} else {
+					r.push(`${He}`);
+					if (hasAnyArms(slave)) {
+						r.push(`puts ${his} hand`);
+						if (hasBothArms(slave)) {
+							r.push(`s`);
+						}
+						r.push(`on your chest and`);
+					}
+					r.push(`leans forward as you continue to thrust`);
+					if (fSpeed > 75) {
+						r.push(`hard`);
+					} else if (fSpeed > 50) {
+						r.push(`vigorously`);
+					} else if (fSpeed > 25) {
+						r.push(`steadily`);
+					} else {
+						r.push(`tenderly`);
+					}
+					r.push(`upwards;`);
+				}
+			} else if (fPosition <= 60) { // doggy-style
+				if (slave.bellyPreg >= 300000) {
+					r.push(`${He} arches ${his} back as you continue to pound ${him}`);
+					if (fSpeed > 75) {
+						r.push(`hard and fast,`);
+					} else if (fSpeed > 50) {
+						r.push(`firmly and vigorously,`);
+					} else if (fSpeed > 25) {
+						r.push(`steadily,`);
+					} else {
+						r.push(`slowly and tenderly,`);
+					}
+					r.push(`${his} occupants enjoying the attention. As you rest your weight on ${him}, you run your hands along ${his} distended sides;`);
+				} else if (slave.belly >= 300000) {
+					r.push(`${He} arches ${his} back as you continue to pound ${him}`);
+					if (fSpeed > 75) {
+						r.push(`hard and fast,`);
+					} else if (fSpeed > 50) {
+						r.push(`firmly and vigorously,`);
+					} else if (fSpeed > 25) {
+						r.push(`steadily,`);
+					} else {
+						r.push(`slowly and tenderly,`);
+					}
+					r.push(`${his} belly jiggling just slightly with each thrust. As you rest your weight on ${him}, you run your hands along ${his} distended sides;`);
+				} else {
+					r.push(`${He} arches ${his} back as you continue to pound ${him}`);
+					if (fSpeed > 75) {
+						r.push(`hard and fast`);
+					} else if (fSpeed > 50) {
+						r.push(`firmly and vigorously`);
+					} else if (fSpeed > 25) {
+						r.push(`steadily`);
+					} else {
+						r.push(`slowly and tenderly`);
+					}
+				}
+			} else if (fPosition <= 80) { // reverse cowgirl
+				if (slave.bellyPreg >= 300000) {
+					r.push(`You may have to spread your legs extra wide to accommodate ${his} impressive baby bump, but the angle and pressure it puts on you feels amazing. ${He}`);
+					if (hasAnyArms(slave)) {
+						r.push(`puts ${his} hand`);
+						if (hasBothArms(slave)) {
+							r.push(`s`);
+						}
+						r.push(`on your chest and`);
+					}
+					r.push(`starts to lean back as you continue to thrust`);
+					if (fSpeed > 75) {
+						r.push(`hard and fast`);
+					} else if (fSpeed > 50) {
+						r.push(`firmly and vigorously`);
+					} else if (fSpeed > 25) {
+						r.push(`steadily`);
+					} else {
+						r.push(`slowly and tenderly`);
+					}
+					r.push(`upwards, in return you caress ${his} distended sides;`);
+				} else if (slave.belly >= 300000) {
+					r.push(`You may have to spread your legs extra wide to accommodate ${his} impressive belly, but the angle and pressure it puts on you feels amazing. ${He}`);
+					if (hasAnyArms(slave)) {
+						r.push(`puts ${his} hand`);
+						if (hasBothArms(slave)) {
+							r.push(`s`);
+						}
+						r.push(`on your chest and`);
+					}
+					r.push(`starts to lean back as you continue to thrust`);
+					if (fSpeed > 75) {
+						r.push(`hard and fast`);
+					} else if (fSpeed > 50) {
+						r.push(`firmly and vigorously`);
+					} else if (fSpeed > 25) {
+						r.push(`steadily`);
+					} else {
+						r.push(`slowly and tenderly`);
+					}
+					r.push(`upwards, in return you caress ${his} distended sides;`);
+				} else {
+					r.push(`${He}`);
+					if (hasAnyArms(slave)) {
+						r.push(`puts ${his} hand`);
+						if (hasBothArms(slave)) {
+							r.push(`s`);
+						}
+						r.push(`on your chest and`);
+					}
+					r.push(`starts to lean back as you continue to thrust`);
+					if (fSpeed > 75) {
+						r.push(`hard and fast`);
+					} else if (fSpeed > 50) {
+						r.push(`firmly and vigorously`);
+					} else if (fSpeed > 25) {
+						r.push(`steadily`);
+					} else {
+						r.push(`slowly and tenderly`);
+					}
+					r.push(`upwards;`);
+				}
+			} else { // wheelbarrow
+				if (slave.belly >= 600000) {
+					r.push(`With all ${his} weight handled, you can keep`);
+					if (fSpeed > 75) {
+						r.push(`furiously`);
+					} else if (fSpeed > 50) {
+						r.push(`vigorously`);
+					} else if (fSpeed > 25) {
+						r.push(`steadily`);
+					} else {
+						r.push(`slowly and tenderly`);
+					}
+					r.push(`pounding without your arms getting tired;`);
+				} else if (slave.bellyPreg >= 300000) {
+					r.push(`Before long both of your strength begins to wane, causing ${his} belly to touch the floor. With some of the weight off of the both of you, you keep on`);
+					if (fSpeed > 75) {
+						r.push(`furiously`);
+					} else if (fSpeed > 50) {
+						r.push(`vigorously`);
+					} else if (fSpeed > 25) {
+						r.push(`steadily`);
+					} else {
+						r.push(`slowly and tenderly`);
+					}
+					r.push(`pounding;`);
+				} else if (slave.belly >= 300000) {
+					r.push(`Before long both of your strength begins to wane, causing ${his} belly to touch the floor. With some of the weight off of the both of you, you keep on`);
+					if (fSpeed > 75) {
+						r.push(`furiously`);
+					} else if (fSpeed > 50) {
+						r.push(`vigorously`);
+					} else if (fSpeed > 25) {
+						r.push(`steadily`);
+					} else {
+						r.push(`slowly and tenderly`);
+					}
+					r.push(`pounding;`);
+				} else {
+					r.push(`${He} begins to tire as you keep`);
+					if (fSpeed > 75) {
+						r.push(`furiously`);
+					} else if (fSpeed > 50) {
+						r.push(`vigorously`);
+					} else if (fSpeed > 25) {
+						r.push(`steadily`);
+					} else {
+						r.push(`slowly and tenderly`);
+					}
+					r.push(`pounding;`);
+				}
+			}
+			r.push(`you can feel`);
+			if (slave.bellyPreg >= 300000) {
+				r.push(`${his} child`);
+				if (slave.pregType > 0) {
+					r.push(`ren`);
+				}
+				r.push(`begin to squirm in reaction to their mother's lust.`);
+			} else {
+				r.push(`${his} heart beating hard.`);
+			}
+			if (fPosition <= 40 && slave.belly+V.PC.belly < 20000) {
+				r.push(`As the sex reaches its climax, ${his} kisses grow urgent and passionate.`);
+			}
+			if (slave.dick !== 0 && canAchieveErection(slave)) {
+				if (slave.chastityPenis === 1) {
+					r.push(`${He} enjoys ${himself}, even though ${his} dick chastity keeps ${him} soft by making the beginnings of erection very uncomfortable.`);
+				} else {
+					r.push(`When you orgasm together, ${his} erect cock squirts cum up towards ${his} tits while your cock fills ${him} with cum.`);
+				}
+			} else if (slave.chastityPenis === 1) {
+				r.push(`${He} bites ${his} lip and moans as ${he} climaxes. You fill ${his} squeezing fuckhole with your cum. Precum has been dribbling out of ${his} dick chastity for some time, apparently the best ${his} soft bitchclit can manage.`);
+			} else if (slave.dick !== 0) {
+				r.push(`When you orgasm together, ${his} limp, neglected cock dribbles weakly while your cock fills ${him} with cum.`);
+			} else if (slave.clit > 2) {
+				r.push(`As you fuck ${him}, ${he} plays with ${his} huge clit. It's so large it almost looks like ${he}'s jacking off a cock.`);
+			}
+			if (V.PC.vagina !== -1) {
+				r.push(`You got so wet fucking ${him} that when you climax, you stand up; ${he} knows what that means, and hurries to eat you out. The oral attention brings you to a quick aftershock orgasm.`);
+				slave.counter.oral += 1;
+				V.oralTotal += 1;
+			}
+		} else {
+			r.push(`You pat the tops of your thighs, and ${he} skips over smiling and gives you a quick kiss. Without breaking the lip lock, ${he} sits down, wrapping ${his} legs around you. Your hands reach around ${him} and seize ${his} buttocks, drawing ${him} in even closer so that the warmth between ${his} legs is pressed hard against your pussy, and you can play with ${his} asshole. ${He} grinds enthusiastically against you, moaning into your mouth with pleasure.`);
+		}
+	}
+
+	r.push(VCheck.Vaginal(slave, 1));
+
+	if (slave.bellyPreg >= 1500) {
+		r.push(`The poor slave's belly gets in the way, but the added perversion of fucking a pregnant hole makes the inconvenience worthwhile.`);
+	} else if (slave.bellyImplant >= 1500) {
+		r.push(`The poor slave's implant filled belly gets in the way, but the added perversion of fucking a ${girl} with such a round stomach makes the inconvenience worthwhile.`);
+	} else if (slave.bellyFluid >= 1500) {
+		r.push(`The poor slave's sloshing belly gets in the way, but the added perversion of seeing it jiggle makes the inconvenience worthwhile.`);
+	}
+
+	if (random(1, 100) > (100 + slave.devotion)) {
+		if (slave.fetish !== "pregnancy" && slave.energy <= 95 && slave.sexualFlaw !== "hates penetration") {
+			r.push(`Being taken by force has given ${him} a <span class="flaw.gain">hatred of penetration.</span>`);
+			slave.sexualFlaw = "hates penetration";
+		}
+	} else if (random(1, 100) > (110 - slave.devotion)) {
+		if (slave.fetish === "none" && slave.energy <= 95 && slave.sexualFlaw !== "hates penetration" && slave.ovaries === 1 || slave.mpreg === 1) {
+			r.push(`Enjoying sex with you seems to have <span class="fetish.gain">encouraged ${his} biological clock.</span>`);
+			slave.fetish = "pregnancy";
+			slave.fetishKnown = 1;
+			slave.fetishStrength = 10;
+		}
+	}
+
+	if (V.PC.dick !== 0) {
+		if (slave.cervixImplant === 1 || slave.cervixImplant === 3) {
+			slave.bellyImplant += random(10, 20);
+		}
+
+		if (slave.vagina === 3) {
+			r.push(`Cum drips out of ${his} fucked-out hole.`);
+		} else if (slave.vagina === 2) {
+			r.push(`Cum drips out of ${his} stretched vagina.`);
+		} else if (slave.vagina === 1) {
+			r.push(`${His} still-tight vagina keeps your load inside ${him}.`);
+		} else if (slave.vagina < 0) {
+			r.push(`Cum drips out of ${his} girly ass.`);
+		} else {
+			r.push(`Your cum slides right out of ${his} gaping hole.`);
+		}
+
+		if (canMove(slave) && V.postSexCleanUp > 0) {
+			r.push(`${He} uses`);
+			if (slave.vagina > 0) {
+				r.push(`a quick douche to clean ${his}`);
+				if (slave.vagina < 2) {
+					r.push(`tight`);
+				} else if (slave.vagina > 3) {
+					r.push(`loose`);
+				}
+				r.push(`pussy,`);
+			} else {
+				r.push(`an enema to clean ${his}`);
+				if (slave.anus < 2) {
+					r.push(`tight`);
+				} else if (slave.anus < 3) {
+					r.push(`used`);
+				} else {
+					r.push(`gaping`);
+				}
+				r.push(`butthole,`);
+			}
+			switch (slave.assignment) {
+				case "work in the brothel":
+					r.push(`just like ${he} does between each customer.`);
+					break;
+				case "serve in the club":
+					r.push(`just like ${he} does in the club.`);
+					break;
+				case "work in the dairy":
+					r.push(`to avoid besmirching the nice clean dairy.`);
+					break;
+				case "work as a farmhand":
+					r.push(`to avoid tainting the food in ${V.farmyardName}.`);
+					break;
+				case "work as a servant":
+					r.push(`mostly to keep everything ${he} has to clean from getting any dirtier.`);
+					break;
+				case "work as a nanny":
+					r.push(`before hurrying to continue taking care of the children in ${V.nurseryName}.`);
+					break;
+				case "whore":
+					r.push(`before returning to offering it for sale.`);
+					break;
+				case "serve the public":
+					r.push(`before returning to offering it for free.`);
+					break;
+				case "rest":
+					r.push(`before crawling back into bed.`);
+					break;
+				case "get milked":
+					if (slave.lactation > 0) {
+						r.push(`before going to get ${his} uncomfortably milk-filled tits drained.`);
+					} else {
+						r.push(`and then rests until ${his} balls are ready to be drained again.`);
+					}
+					break;
+				case "be a servant":
+					r.push(`since ${his} chores didn't perform themselves while you used ${his} fuckhole.`);
+					break;
+				case "please you":
+					r.push(`before returning to await your next use of ${his} fuckhole, as though nothing had happened.`);
+					break;
+				case "be a subordinate slave":
+					r.push(`though it's only a matter of time before another slave decides to play with ${his} fuckhole.`);
+					break;
+				case "be your Head Girl":
+					r.push(`worried that ${his} charges got up to trouble while ${he} enjoyed ${his} ${getWrittenTitle(slave)}'s use.`);
+					break;
+				case "guard you":
+					r.push(`so ${he} can be fresh and ready for more sexual use even as ${he} guards your person.`);
+					break;
+				case "train slaves":
+					r.push(`before ${he} returns to teaching ${his} classes.`);
+					break;
+				default:
+					r.push(`before ${he} returns to ${slave.assignment}.`);
+			}
+		}
+	}
+	App.Events.addParagraph(node, r);
+	return node;
+};
+
diff --git a/src/npc/interaction/fVagina.tw b/src/npc/interaction/fVagina.tw
deleted file mode 100644
index ce7f8a76e85..00000000000
--- a/src/npc/interaction/fVagina.tw
+++ /dev/null
@@ -1,557 +0,0 @@
-:: FVagina [nobr no-history]
-
-<<run App.Utils.setLocalPronouns(getSlave($AS))>>
-<<run addPartner(getSlave($AS), -1)>>
-
-You call $him over so you can
-<<if (getSlave($AS).vagina >= 10)>>
-	tickle $his cavernous hole.
-<<elseif (getSlave($AS).vagina > 3)>>
-	use $his gaping vagina.
-<<elseif (getSlave($AS).vagina == 3)>>
-	fuck $his loose cunt.
-<<elseif (getSlave($AS).vagina == 2)>>
-	fuck $his whorish cunt.
-<<elseif (getSlave($AS).vagina == 1)>>
-	fuck $his tight cunt.
-<<elseif (getSlave($AS).vagina == 0)>>
-	take $his virginity.
-<</if>>
-
-<<if (getSlave($AS).vaginaTat == "tribal patterns")>>
-	The tattoos on $his abdomen certainly drawn attention there.
-<<elseif (getSlave($AS).vaginaTat == "scenes")>>
-	The tattoos on $his abdomen nicely illustrate what you mean to do to $him.
-<<elseif (getSlave($AS).vaginaTat == "degradation")>>
-	The tattoos on $his abdomen ask you to, after all.
-<<elseif (getSlave($AS).vaginaTat == "lewd crest")>>
-	The crest on $his abdomen screams debauchery and implores you to use $him.
-<</if>>
-
-<<if getSlave($AS).devotion <= 20>>
-	<<if getSlave($AS).clit == 1 && getSlave($AS).foreskin>>
-		$His big clit peeks out from under its hood.
-	<<elseif getSlave($AS).clit == 2>>
-		$His huge clit is impossible to miss.
-	<<elseif getSlave($AS).clit > 2>>
-		$His pseudophallus-sized clit is soft.
-	<</if>>
-	<<if getSlave($AS).labia == 1>>
-		$His lovely petals are quite inviting.
-	<<elseif getSlave($AS).labia == 2>>
-		$His prominent petals are inviting.
-	<<elseif getSlave($AS).labia > 2>>
-		$His labia are so large they present a slight obstacle to entry.
-	<</if>>
-	<<if getSlave($AS).vaginaLube > 1>>
-		$He may not want it, but that doesn't stop $his pussy from getting nice and wet for you.
-	<</if>>
-<<else>>
-	<<if getSlave($AS).clit == 1 && getSlave($AS).foreskin>>
-		$His big, hard clit peeks out from under its hood.
-	<<elseif getSlave($AS).clit == 2>>
-		$His huge, stiff clit is impossible to miss.
-	<<elseif getSlave($AS).clit > 2>>
-		$His pseudophallus-sized clit is engorged with arousal.
-	<</if>>
-	<<if getSlave($AS).labia == 1>>
-		$His lovely petals are moist with arousal.
-	<<elseif getSlave($AS).labia == 2>>
-		$His prominent petals bear a sheen of arousal.
-	<<elseif getSlave($AS).labia > 2>>
-		$His huge labia are almost dripping with arousal.
-	<</if>>
-	<<if getSlave($AS).vaginaLube > 1>>
-		A steady stream of lube leaks from $his pussy in preparation to receive you.
-	<</if>>
-<</if>>
-
-<<if (getSlave($AS).vaginaPiercing > 1)>>
-	<<if (getSlave($AS).vagina != -1)>>
-		$His pierced lips and clit have $him nice and wet.
-	<</if>>
-	<<if (getSlave($AS).dick != 0)>>
-		Metal glints all up and down $his cock.
-	<</if>>
-<<elseif (getSlave($AS).vaginaPiercing == 1)>>
-	<<if (getSlave($AS).vagina != -1)>>
-		$His pierced clit has $him nice and moist.
-	<</if>>
-	<<if (getSlave($AS).dick != 0)>>
-		Metal glints at the head of $his cock.
-	<</if>>
-<</if>>
-
-<<if $PC.pregMood == 2 && $PC.preg >= 28>>
-	<<set _fPosition = either(50,50,50,90)>>
-	<<set _fSpeed = 90>>
-<<elseif $PC.pregMood == 1 && $PC.preg >= 28>>
-	<<set _fPosition = random(1,40)>>
-	<<set _fSpeed = 10>>
-<<elseif $PC.belly >= 3000>>
-	<<set _fPosition = random(1,80)>>
-	<<set _fSpeed = random(1,75)>>
-<<else>>
-	<<set _fPosition = random(1,100)>>
-	<<set _fSpeed = random(1,100)>>
-<</if>>
-
-<<if canMove(getSlave($AS)) && getSlave($AS).fetish != "mindbroken">>
-	You decide to fuck $him
-	<<if (_fPosition <= 20)>>
-		in the missionary position.
-		<<if getSlave($AS).bellyPreg >= 600000>>
-			A position that will be a challenge due to $his immense pregnancy.
-		<<elseif getSlave($AS).belly >= 600000>>
-			A position that will be a challenge due to $his immense stomach.
-		<<elseif getSlave($AS).bellyPreg >= 300000>>
-			A position that will be difficult due to $his massive pregnancy.
-		<<elseif getSlave($AS).belly >= 300000>>
-			A position that will be difficult due to $his massive stomach.
-		<<elseif getSlave($AS).belly+$PC.belly >= 20000 && getSlave($AS).belly >= 1500 && $PC.belly >= 1500>>
-			A position that will be difficult with the combined size of your rounded middles.
-		<</if>>
-		You tell $him to lie down on the couch next to your desk.
-	<<elseif (_fPosition <= 40)>>
-		in the cowgirl position. You lie on the couch beside your desk and tell $him to straddle you, facing towards you.
-		<<if getSlave($AS).bellyPreg >= 600000>>
-			A position that will smother you with $his immense pregnancy.
-		<<elseif getSlave($AS).belly >= 600000>>
-			A position that will smother you with $his immense stomach.
-		<<elseif getSlave($AS).bellyPreg >= 300000>>
-			A position that will allow you to tease $his massive pregnancy as you fuck $him.
-		<<elseif getSlave($AS).belly >= 300000>>
-			A position that will allow you to tease $his massive belly as you fuck $him.
-		<<elseif getSlave($AS).belly+$PC.belly >= 20000 && getSlave($AS).belly >= 1500 && $PC.belly >= 1500>>
-			A position that will be awkward with the combined size of your rounded middles.
-		<</if>>
-	<<elseif (_fPosition <= 60)>>
-		doggy-style. You tell $him to get on the couch beside your desk on $his <<if hasAnyArms(getSlave($AS))>>hand<<if hasBothArms(getSlave($AS))>>s<</if>><<if hasAnyLegs(getSlave($AS))>> and <</if>><</if>><<if hasAnyLegs(getSlave($AS))>>knee<<if hasBothLegs(getSlave($AS))>>s<</if>><</if>>.
-		<<if getSlave($AS).bellyPreg >= 600000>>
-			As $he struggles to fit on the couch, you tell $him to just lean over $his immense pregnancy instead.
-		<<elseif getSlave($AS).belly >= 600000>>
-			As $he struggles to fit on the couch, you tell $him to just lean over $his immense belly instead.
-		<<elseif getSlave($AS).bellyPreg >= 300000>>
-			A position that leaves $his rear high in the air thanks to $his massive pregnancy.
-		<<elseif getSlave($AS).belly >= 300000>>
-			A position that leaves $his rear high in the air thanks to $his massive stomach.
-		<</if>>
-		<<if $PC.belly >= 5000>>
-			$His back will make a good rest for your gravid middle.
-		<</if>>
-	<<elseif (_fPosition <= 80)>>
-		in the reverse cowgirl position. You lie on the couch beside your desk and tell $him to straddle you facing away from you.
-		<<if getSlave($AS).bellyPreg >= 600000>>
-			A position that will much more comfortable for $his immense pregnancy and won't crush you under its mass.
-		<<elseif getSlave($AS).belly >= 600000>>
-			A position that will much more comfortable for $his immense belly and won't crush you under its mass.
-		<<elseif getSlave($AS).bellyPreg >= 300000>>
-			A position that will much more comfortable for $his massive pregnancy.
-		<<elseif getSlave($AS).belly >= 300000>>
-			A position that will much more comfortable for $his massive belly.
-		<</if>>
-	<<else>>
-		in the wheelbarrow position. You tell $him to get on the couch beside your desk, stand next to $him and lift $his legs up into the air.
-		<<if getSlave($AS).bellyPreg >= 600000>>
-			$His pregnancy is so immense it reaches the floor even as you hold $him saving you the trouble of bearing its weight.
-		<<elseif getSlave($AS).belly >= 600000>>
-			$His belly is so immense it reaches the floor even as you hold $him saving you the trouble of bearing its weight.
-		<<elseif getSlave($AS).bellyPreg >= 300000>>
-			You hope you don't strain something supporting $his massive pregnancy.
-		<<elseif getSlave($AS).belly >= 300000>>
-			You hope you don't strain something supporting $his massive belly.
-		<</if>>
-	<</if>>
-<</if>>
-
-<<if (getSlave($AS).vagina == 0) && canDoVaginal(getSlave($AS))>>
-	<<if (getSlave($AS).fetish == "mindbroken")>>
-		$He accepts your orders dumbly and presents $his virgin pussy for defloration<<if ($PC.dick == 0)>>, watching without real interest as you don a strap-on<</if>>. Since $he is mindbroken, <span class="virginity loss">losing $his virginity</span> has no impact on any part of $him other than $his vagina.
-	<<elseif (getSlave($AS).devotion > 20)>>
-		$He accepts your orders without comment and presents $his virgin pussy for defloration<<if ($PC.dick == 0)>>, watching with some small trepidation as you don a strap-on<</if>>. You gently ease into $his pussy before gradually increasing the intensity of your thrusts into $him. Before long, $he's moaning loudly as you pound away. Since $he is already well broken, this new connection with $his <<= getWrittenTitle(getSlave($AS))>> <span class="devotion inc">increases $his devotion to you.</span> <span class="virginity loss">$His pussy has been broken in.</span> $He looks forward to having $his pussy fucked by you again.
-		<<set getSlave($AS).devotion += 10>>
-	<<elseif (getSlave($AS).devotion >= -20)>>
-		$He is clearly unhappy at losing $his pearl of great price to you; this probably isn't what $he imagined $his first real sex would be like.<<if ($PC.dick == 0)>>$His lower lip quivers with trepidation as $he watches you don a strap-on and maneuver to fuck $his virgin hole.<</if>> You gently ease into $his pussy before gradually increasing the intensity of your thrusts into $him. Before long, $he's moaning as you pound away. Nevertheless, this new connection with $his <<= getWrittenTitle(getSlave($AS))>> <span class="devotion inc">increases $his devotion to you.</span> <span class="virginity loss">$His pussy has been broken in,</span> and $he is <span class="trust dec">fearful</span> that sex will continue to be painful.
-		<<set getSlave($AS).devotion += 4, getSlave($AS).trust -= 4>>
-	<<else>>
-		As you anticipated, $he refuses to give you $his virginity. And as you expected, $he is unable to resist you. $He cries as <<if ($PC.dick == 0)>>your strap-on<<else>>your cock<</if>> opens $his fresh, tight hole. You force your way into $his pussy and continue thrusting into $him. $He sobs and cries with horror as you pound away. The rape @@.devotion.dec;decreases $his devotion to you.@@ <span class="virginity loss">$His pussy has been broken in,</span> and $he <span class="trust dec">fears further abuse.</span>
-		<<set getSlave($AS).devotion -= 4, getSlave($AS).trust -= 4>>
-	<</if>>
-	<<set getSlave($AS).vagina++>>
-<<elseif (getSlave($AS).fetish == "mindbroken")>>
-	Since $his mind is gone, $he's yours to use as a human sex doll. You throw $him over the couch and amuse yourself with $him for a while; $his body retains its instinctual responses, at least. You finish inside $him and leave your toy for one of your other slaves to clean and maintain.
-<<elseif isAmputee(getSlave($AS))>>
-	Since $he's a quadruple amputee, $he's yours to use as a human sex toy. You set $him
-	<<if ($PC.dick != 0)>>
-		<<if getSlave($AS).belly >= 300000>>
-			atop $his massive stomach and <<if _fSpeed > 75>>fuck $him hard and fast<<elseif _fSpeed > 50>>fuck $him firmly and vigorously<<elseif _fSpeed > 25>>fuck $him steadily and controlled<<else>>fuck $him slowly and tenderly<</if>>, managing $him with your arms as you go.
-		<<else>>
-			atop your cock and slide $him up and down<<if _fSpeed > 75>>, hard and fast<<elseif _fSpeed > 50>>, firmly and vigorously<<elseif _fSpeed > 25>>, steadily and controlled<<else>>, slowly and tenderly<</if>>, managing $him with your arms.
-		<</if>>
-		<<if getSlave($AS).dick > 0>>
-			<<if getSlave($AS).chastityPenis == 1>>
-				$His dick chastity keeps $his useless bitchclit out of the way.
-			<<elseif !canAchieveErection(getSlave($AS))>>
-				As you use $him as a helpless cock jacket, $his
-				<<if getSlave($AS).dick < 7>>
-					flaccid dick flops around, ignored.
-				<<else>>
-					massive dick flops against you, no longer able to get hard.
-				<</if>>
-			<<else>>
-				As you use $him as a helpless cock jacket, your pounding keeps $his prick stiff.
-			<</if>>
-		<</if>>
-		You finish inside $him and leave your toy for one of your other slaves to clean and maintain.
-	<<else>>
-		on the couch and straddle $his hips, bringing your already-wet pussy <<if _fSpeed > 75>>hard against $him. You grind powerfully<<elseif _fSpeed > 50>>firmly against $him. You grind vigorously<<elseif _fSpeed > 25>>against $him. You grind steadily<<else>>softly against $him. You grind gently<</if>> against $his helpless body, using $him as a living sybian until $his warmth and movement brings you to orgasm.
-	<</if>>
-<<elseif tooBigBelly(getSlave($AS))>>
-	You tell $him to get situated on the couch, face-down. This position pins $him down by the massive weight of $his belly, pushing $his face in amongst the cushions and keeping $his crotch in the ideal position to penetrate. $His belly serves as an anchor, allowing you to take $him doggy style without any real contribution from $him. The position muffles $his reaction entirely, other than the rhythmic jiggling of $his bulging belly as it sticks out from either side of $his torso as you <<if _fSpeed > 75>>pound $him hard and fast<<elseif _fSpeed > 50>>pound $him firmly and vigorously<<elseif _fSpeed > 25>>fuck $him steadily<<else>>fuck $him slowly and tenderly<</if>>.
-<<elseif tooBigBreasts(getSlave($AS))>>
-	You tell $him to get situated on the couch, face-down. This position pins $him down by the massive weight of $his tits, pushing $his face in amongst the cushions. $His tits serve as an anchor, allowing you to take $him doggy style without any real contribution from $him. The position muffles $his reaction entirely, other than the rhythmic jiggling of the breastflesh that sticks out to either side of $his torso as you <<if _fSpeed > 75>>pound $him hard and fast<<elseif _fSpeed > 50>>pound $him firmly and vigorously<<elseif _fSpeed > 25>>fuck $him steadily<<else>>fuck $him slowly and tenderly<</if>>.
-<<elseif tooBigButt(getSlave($AS))>>
-	You tell $him to get situated on the couch, face-up. This position pins $him down by the massive weight of $his rear, causing $him to sink into the cushions. $His ass serves as an anchor, allowing you to take $him in the missionary position without any real contribution from $him. This lets you clearly see $his reaction, as well as the rhythmic jiggling of the buttflesh that sticks out to either side of $his hips as you <<if _fSpeed > 75>>pound $him hard and fast<<elseif _fSpeed > 50>>pound $him firmly and vigorously<<elseif _fSpeed > 25>>fuck $him steadily<<else>>fuck $him slowly and tenderly<</if>>.
-<<elseif tooBigBalls(getSlave($AS))>>
-	You tell $him to get situated on the couch, doggy style. This position pins $him down by the massive weight of $his balls. $His testicles serve as an anchor, allowing you to take $him doggy style without any real concern of getting struck by $his massive nuts. The position keeps $his balls completely still where they rest on the couch, so you don't have to worry about them getting in the way as you <<if _fSpeed > 75>>pound $him hard and fast<<elseif _fSpeed > 50>>pound $him firmly and vigorously<<elseif _fSpeed > 25>>fuck $him steadily<<else>>fuck $him slowly and tenderly<</if>>.
-<<elseif (getSlave($AS).fetish == "submissive") && (getSlave($AS).fetishStrength > 60) && (getSlave($AS).fetishKnown == 1) && ($PC.dick != 0)>>
-	$He comes over, smiling a little submissive smile, and spreads $himself for you. You take $him on the couch next to your desk after $he gets into position.
-	<<if (_fPosition <= 20)>> /* missionary */
-		<<if getSlave($AS).bellyPreg >= 600000>>
-			<<if $PC.belly >= 5000>>
-				You have to heft $his gravid body up and slip under $his expansive middle to position yourself for penetration. With your own baby bump in the way, it's a complicated maneuver, but once you manage to get in, you rest your head against $his bulging belly and feel the movements within as you thrust <<if _fSpeed > 75>>hard and fast<<elseif _fSpeed > 50>>firmly and vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>> into $him;
-			<<else>>
-				You have to heft $his gravid body up and slip under $his expansive middle to position yourself for penetration. But once you are seated, you rest your head against $his bulging belly and feel the movements within as you thrust <<if _fSpeed > 75>>hard and fast<<elseif _fSpeed > 50>>firmly and vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>> into $him;
-			<</if>>
-		<<elseif getSlave($AS).belly >= 600000>>
-			<<if $PC.belly >= 5000>>
-				You have to heft $his weighty body up and slip under $his expansive middle to position yourself for penetration. With your own gravid swell in the way, it's a complicated maneuver, but once you manage to get in, you rest your head against $his immense belly and feel the force of your <<if _fSpeed > 75>>fast, hard<<elseif _fSpeed > 50>>vigorous, firm<<elseif _fSpeed > 25>>steady<<else>>slow, tender<</if>> thrusts running through $him;
-			<<else>>
-				You have to heft $his weighty body up and slip under $his expansive middle to position yourself for penetration. But once you are seated, you rest your head against $his immense belly and feel the force of your <<if _fSpeed > 75>>fast, hard<<elseif _fSpeed > 50>>vigorous, firm<<elseif _fSpeed > 25>>steady<<else>>slow, tender<</if>> thrusts running through $him;
-			<</if>>
-		<<elseif getSlave($AS).bellyPreg >= 300000>>
-			You have to heft $his gravid body up to position yourself for penetration. But once you are mounted, you rest your head against $his bulging belly and feel the movements within as you thrust <<if _fSpeed > 75>>hard and fast<<elseif _fSpeed > 50>>firmly and vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>> into $him;
-		<<elseif getSlave($AS).belly >= 300000>>
-			You have to heft $his weighty body up to position yourself for penetration. But once you are mounted, you rest your head against $his massive stomach and feel the force of your <<if _fSpeed > 75>>fast, hard<<elseif _fSpeed > 50>>vigorous, firm<<elseif _fSpeed > 25>>steady<<else>>slow, tender<</if>> thrusts running through $him;
-		<<else>>
-			$He hugs $his torso to you and
-			<<if getSlave($AS).belly+$PC.belly >= 20000 && getSlave($AS).belly >= 1500 && $PC.belly >= 1500>>
-				your bellies bulge lewdly against each other;
-			<<elseif getSlave($AS).belly >= 5000>>
-				pushes $his belly against your stomach;
-			<<elseif $PC.belly >= 5000>>
-				pushes your belly into $his stomach;
-			<<elseif $PC.boobs >= 1400>>
-				$his breasts press against your own enormous<<if $PC.boobsImplant/$PC.boobs >= .60>>, hard<<else>>, soft<</if>> breasts;
-			<<elseif $PC.boobs >= 1200>>
-				$his breasts press against your own huge<<if $PC.boobsImplant/$PC.boobs >= .60>>, firm<<else>>, soft<</if>> breasts;
-			<<elseif $PC.boobs >= 1000>>
-				$his breasts press against your own big<<if $PC.boobsImplant/$PC.boobs >= .60>>, perky<</if>> breasts;
-			<<elseif $PC.boobs >= 800>>
-				$his breasts press against your own generous breasts;
-			<<elseif $PC.boobs >= 650>>
-				$his breasts press against your own breasts;
-			<<elseif $PC.boobs >= 500>>
-				$his breasts press against your own average breasts;
-			<<elseif $PC.boobs >= 300>>
-				$his breasts press against your own small breasts;
-			<<elseif $PC.title == 0>>
-				$his breasts press against your flat breasts;
-			<<else>>
-				$his breasts press against your chest;
-			<</if>>
-		<</if>>
-	<<elseif (_fPosition <= 40)>> /* cowgirl */
-		<<if getSlave($AS).bellyPreg >= 600000>>
-			You wrap your arms around $his boundless pregnancy as you thrust <<if _fSpeed > 75>>hard and fast<<elseif _fSpeed > 50>>firmly and vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>> into $him and enjoy the feeling of so much movement squirming against your face;
-		<<elseif getSlave($AS).belly >= 600000>>
-			You wrap your arms around $his boundless stomach as you thrust <<if _fSpeed > 75>>hard and fast<<elseif _fSpeed > 50>>firmly and vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>> into $him and enjoy the feeling of your every move running through $his belly;
-		<<elseif getSlave($AS).bellyPreg >= 300000>>
-			$He does $his best to not suffocate you with $his massive belly or knock you out with it as you thrust <<if _fSpeed > 75>>hard and fast<<elseif _fSpeed > 50>>firmly and vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>> into $him. You get a face full of pregnancy with each downward motion;
-		<<elseif getSlave($AS).belly >= 300000>>
-			$He does $his best to not suffocate you with $his massive belly or knock you out with it as you thrust <<if _fSpeed > 75>>hard and fast<<elseif _fSpeed > 50>>firmly and vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>> into $him. You get a face full of implant with each downward motion;
-		<<else>>
-			$He <<if hasAnyArms(getSlave($AS))>>puts $his hand<<if hasBothArms(getSlave($AS))>>s<</if>> on your chest and <</if>>leans forward as you continue to thrust <<if _fSpeed > 75>>hard<<elseif _fSpeed > 50>>vigorously<<elseif _fSpeed > 25>>steadily<<else>>tenderly<</if>> upwards;
-		<</if>>
-	<<elseif (_fPosition <= 60)>> /* doggy-style */
-		<<if getSlave($AS).bellyPreg >= 300000>>
-			$He arches $his back as you continue to pound $him <<if _fSpeed > 75>>hard and fast<<elseif _fSpeed > 50>>firmly and vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>>, $his occupants enjoying the attention. As you rest your weight on $him, you run your hands along $his distended sides;
-		<<elseif getSlave($AS).belly >= 300000>>
-			$He arches $his back as you continue to pound $him <<if _fSpeed > 75>>hard and fast<<elseif _fSpeed > 50>>firmly and vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>>, $his belly jiggling just slightly with each thrust. As you rest your weight on $him, you run your hands along $his distended sides;
-		<<else>>
-			$He arches $his back as you continue to pound $him <<if _fSpeed > 75>>hard and fast<<elseif _fSpeed > 50>>firmly and vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>>;
-		<</if>>
-	<<elseif (_fPosition <= 80)>> /* reverse cowgirl */
-		<<if getSlave($AS).bellyPreg >= 300000>>
-			You may have to spread your legs extra wide to accommodate $his impressive baby bump, but the angle and pressure it puts on you feels amazing. $He <<if hasAnyArms(getSlave($AS))>>puts $his hand<<if hasBothArms(getSlave($AS))>>s<</if>> on your chest and <</if>>starts to lean back as you continue to thrust <<if _fSpeed > 75>>hard and fast<<elseif _fSpeed > 50>>firmly and vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>> upwards, in return you caress $his distended sides;
-		<<elseif getSlave($AS).belly >= 300000>>
-			You may have to spread your legs extra wide to accommodate $his impressive belly, but the angle and pressure it puts on you feels amazing. $He <<if hasAnyArms(getSlave($AS))>>puts $his hand<<if hasBothArms(getSlave($AS))>>s<</if>> on your chest and <</if>>starts to lean back as you continue to thrust <<if _fSpeed > 75>>hard and fast<<elseif _fSpeed > 50>>firmly and vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>> upwards, in return you caress $his distended sides;
-		<<else>>
-			$He <<if hasAnyArms(getSlave($AS))>>puts $his hand<<if hasBothArms(getSlave($AS))>>s<</if>> on your chest and <</if>>starts to lean back as you continue to thrust <<if _fSpeed > 75>>hard and fast<<elseif _fSpeed > 50>>firmly and vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>> upwards;
-		<</if>>
-	<<else>> /* wheelbarrow */
-		<<if getSlave($AS).belly >= 600000>>
-			With all $his weight handled, you can keep <<if _fSpeed > 75>>furiously<<elseif _fSpeed > 50>>vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>> pounding without your arms getting tired;
-		<<elseif getSlave($AS).bellyPreg >= 300000>>
-			Before long both of your strength begins to wane, causing $his belly to touch the floor. With some of the weight off of the both of you, you keep on <<if _fSpeed > 75>>furiously<<elseif _fSpeed > 50>>vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>> pounding;
-		<<elseif getSlave($AS).belly >= 300000>>
-			Before long both of your strength begins to wane, causing $his belly to touch the floor. With some of the weight off of the both of you, you keep on <<if _fSpeed > 75>>furiously<<elseif _fSpeed > 50>>vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>> pounding;
-		<<else>>
-			$He begins to tire as you keep <<if _fSpeed > 75>>furiously<<elseif _fSpeed > 50>>vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>> pounding;
-		<</if>>
-	<</if>>
-	you can feel <<if getSlave($AS).bellyPreg >= 300000>>$his child<<if getSlave($AS).pregType > 0>>ren<</if>> begin to squirm in reaction to their mother's lust<<else>>$his heart beating hard<</if>>. As the sex reaches its climax, $he begs you to cum inside $his unworthy body.
-	<<if (getSlave($AS).dick != 0) && canAchieveErection(getSlave($AS))>>
-		<<if getSlave($AS).chastityPenis == 1>>
-			$He does $his submissive best to stay completely soft within $his dick chastity.
-		<<else>>
-			As a submissive $he spares no attention for $his own orgasm, so $his rock hard erection swings untended.
-		<</if>>
-	<<elseif (getSlave($AS).chastityPenis == 1)>>
-		$His cock is forgotten inside its chastity cage as you take what you want from $him.
-	<<elseif (getSlave($AS).dick != 0)>>
-		As a submissive $he spares no attention for $his own orgasm, so $his flaccid cock swings untended.
-	<</if>>
-	<<if $PC.vagina != -1>>
-		When you finally climax, you pull out and press your wet cunt against $his mouth, letting $his lavish attention on you that brings you to another quick orgasm.
-		<<set getSlave($AS).counter.oral += 1>>
-		<<set $oralTotal += 1>>
-	<</if>>
-<<elseif getSlave($AS).devotion < -20>>
-	$He tries to refuse, so you
-	<<if ($PC.dick != 0)>>
-		bend the disobedient slave over your desk and take $him hard from behind. $His breasts <<if (getSlave($AS).dick != 0)>>and cock <</if>>slide back and forth across the desk. You give $his buttocks some nice hard swats as you pound $him. $He grunts and moans but knows better than to try to get away.
-		<<if (getSlave($AS).dick != 0) && canAchieveErection(getSlave($AS))>>
-			Despite $his unwillingness to be raped, the stimulation
-			<<if getSlave($AS).chastityPenis>>
-				starts to give $him an erection, which $his dick chastity makes horribly uncomfortable. $He bucks with the pain, $his hole spasming delightfully.
-			<<else>>
-				gives $him an erection. $He's mortified that $he would get hard while being raped.
-			<</if>>
-		<<elseif (getSlave($AS).chastityPenis == 1)>>
-			$His dick chastity keeps $his bitch cock hidden away while you use $his whore hole.
-		<<elseif (getSlave($AS).dick != 0)>>
-			$His flaccid dick is ground into the back of the couch as you rape $him.
-		<</if>>
-		<<if $PC.vagina != -1>>
-			After your first orgasm, you pull out and grind your pussy against $his face for another, enjoying the stimulation of $his muffled crying.
-			<<set getSlave($AS).counter.oral += 1>>
-			<<set $oralTotal += 1>>
-		<</if>>
-	<<else>>
-		stand and seize $him, shoving $him down to sit in your chair. You jump atop $his hips, pinning $him down into the chair with your legs and pressing your pussy hard against $his groin. $He struggles and whimpers, but you give $him a hard warning slap to the cheek and kiss $his unwilling mouth, forcing your tongue past $his lips as you grind against $him.
-	<</if>>
-<<elseif getSlave($AS).devotion <= 20>>
-	<<if ($PC.dick != 0)>>
-		$He obeys, lying on the couch next to your desk<<if hasAnyLegs(getSlave($AS))>> with $his leg<<if hasBothLegs(getSlave($AS))>>s spread<<else>> moved aside<</if>><</if>>. You kneel on the ground and enter $him<<if hasAnyLegs(getSlave($AS))>>, a hand on <<if hasBothLegs(getSlave($AS))>>each of $his legs<<else>>$his leg<</if>> to give you a good grip<</if>>. <<if _fSpeed > 75>>The pounding is hard and fast<<elseif _fSpeed > 50>>You pound $him firmly and vigorously<<elseif _fSpeed > 25>>You fuck $him steadily and controlled<<else>>You fuck $him slowly and tenderly<</if>>, and $he gasps and <<if _fSpeed > 50>>whines<<else>>moans<</if>>. You reach a hand down to maul $his breasts.
-		<<if (getSlave($AS).dick != 0) && canAchieveErection(getSlave($AS))>>
-			<<if (getSlave($AS).chastityPenis == 1)>>
-				$He enjoys $himself, even though $his dick chastity keeps $him soft by making the beginnings of erection very uncomfortable.
-			<<else>>
-				$He bites $his lip and moans as $he climaxes. You fill $his squeezing fuckhole with your cum. $He already dribbled $his own weak load all over $his stomach.
-			<</if>>
-		<<elseif (getSlave($AS).chastityPenis == 1)>>
-			$He bites $his lip and moans as $he climaxes. You fill $his squeezing fuckhole with your cum. Precum has been dribbling out of $his dick chastity for some time, apparently the best $his soft bitchclit can manage.
-		<<elseif (getSlave($AS).dick != 0)>>
-			$He bites $his lip and moans as $he climaxes. You fill $his squeezing fuckhole with your cum. $He already blew $his own load all over $his stomach despite $his inability to get hard.
-		<</if>>
-		<<if $PC.vagina != -1>>
-			You got so wet fucking $him that when you climax, you stand up and let $him clean your pussy with $his mouth. The oral attention brings you to a quick aftershock orgasm.
-			<<set getSlave($AS).counter.oral += 1>>
-			<<set $oralTotal += 1>>
-		<</if>>
-	<<else>>
-		You pat the tops of your thighs, and $he obediently comes over to sit atop them, wrapping $his legs around you. Your hands reach around $him and seize $his buttocks, drawing $him in even closer so that the warmth between $his legs is pressed hard against your pussy. $He grinds dutifully against you, only pausing for a moment when $he finds your insistent tongue probing past $his lips.
-	<</if>>
-<<else>>
-	<<if ($PC.dick != 0)>>
-		$He skips over smiling and gives you a quick kiss. You take $him on the couch next to your desk after $he gets into position.
-		<<if (_fPosition <= 20)>> /* missionary */
-			<<if getSlave($AS).bellyPreg >= 600000>>
-				<<if $PC.belly >= 5000>>
-					You have to heft $his gravid body up and slip under $his expansive middle to position yourself for penetration. With your own baby bump in the way, it's a complicated maneuver, but once you manage to get in, you rest your head against $his bulging belly and feel the movements within as you thrust <<if _fSpeed > 75>>hard and fast<<elseif _fSpeed > 50>>firmly and vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>> into $him;
-				<<else>>
-					You have to heft $his gravid body up and slip under $his expansive middle to position yourself for penetration. But once you are seated, you rest your head against $his bulging belly and feel the movements within as you thrust <<if _fSpeed > 75>>hard and fast<<elseif _fSpeed > 50>>firmly and vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>> into $him;
-				<</if>>
-			<<elseif getSlave($AS).belly >= 600000>>
-				<<if $PC.belly >= 5000>>
-					You have to heft $his weighty body up and slip under $his expansive middle to position yourself for penetration. With your own gravid swell in the way, it's a complicated maneuver, but once you manage to get in, you rest your head against $his immense belly and feel the force of your <<if _fSpeed > 75>>fast, hard<<elseif _fSpeed > 50>>vigorous, firm<<elseif _fSpeed > 25>>steady<<else>>slow, tender<</if>> thrusts running through $him;
-				<<else>>
-					You have to heft $his weighty body up and slip under $his expansive middle to position yourself for penetration. But once you are seated, you rest your head against $his immense belly and feel the force of your <<if _fSpeed > 75>>fast, hard<<elseif _fSpeed > 50>>vigorous, firm<<elseif _fSpeed > 25>>steady<<else>>slow, tender<</if>> thrusts running through $him;
-				<</if>>
-			<<elseif getSlave($AS).bellyPreg >= 300000>>
-				You have to heft $his gravid body up to position yourself for penetration. But once you are mounted, you rest your head against $his bulging belly and feel the movements within as you thrust <<if _fSpeed > 75>>hard and fast<<elseif _fSpeed > 50>>firmly and vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>> into $him;
-			<<elseif getSlave($AS).belly >= 300000>>
-				You have to heft $his weighty body up to position yourself for penetration. But once you are mounted, you rest your head against $his massive stomach and feel the force of your <<if _fSpeed > 75>>fast, hard<<elseif _fSpeed > 50>>vigorous, firm<<elseif _fSpeed > 25>>steady<<else>>slow, tender<</if>> thrusts running through $him;
-			<<else>>
-				$He hugs $his torso to you and
-				<<if getSlave($AS).belly+$PC.belly >= 20000 && getSlave($AS).belly >= 1500 && $PC.belly >= 1500>>
-					your bellies bulge lewdly against each other;
-				<<elseif getSlave($AS).belly >= 5000>>
-					pushes $his belly against your stomach;
-				<<elseif $PC.belly >= 5000>>
-					pushes your belly into $his stomach;
-				<<elseif $PC.boobs >= 1400>>
-					$his breasts press against your own enormous<<if $PC.boobsImplant/$PC.boobs >= .60>>, hard<<else>>, soft<</if>> breasts;
-				<<elseif $PC.boobs >= 1200>>
-					$his breasts press against your own huge<<if $PC.boobsImplant/$PC.boobs >= .60>>, firm<<else>>, soft<</if>> breasts;
-				<<elseif $PC.boobs >= 1000>>
-					$his breasts press against your own big<<if $PC.boobsImplant/$PC.boobs >= .60>>, perky<</if>> breasts;
-				<<elseif $PC.boobs >= 800>>
-					$his breasts press against your own generous breasts;
-				<<elseif $PC.boobs >= 650>>
-					$his breasts press against your own breasts;
-				<<elseif $PC.boobs >= 500>>
-					$his breasts press against your own average breasts;
-				<<elseif $PC.boobs >= 300>>
-					$his breasts press against your own small breasts;
-				<<elseif $PC.title == 0>>
-					$his breasts press against your flat breasts;
-				<<else>>
-					$his breasts press against your chest;
-				<</if>>
-			<</if>>
-		<<elseif (_fPosition <= 40)>> /* cowgirl */
-			<<if getSlave($AS).bellyPreg >= 600000>>
-				You wrap your arms around $his boundless pregnancy as you thrust <<if _fSpeed > 75>>hard and fast<<elseif _fSpeed > 50>>firmly and vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>> into $him and enjoy the feeling of so much movement squirming against your face;
-			<<elseif getSlave($AS).belly >= 600000>>
-				You wrap your arms around $his boundless stomach as you thrust <<if _fSpeed > 75>>hard and fast<<elseif _fSpeed > 50>>firmly and vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>> into $him and enjoy the feeling of your every move running through $his belly;
-			<<elseif getSlave($AS).bellyPreg >= 300000>>
-				$He does $his best to not suffocate you with $his massive belly or knock you out with it as you thrust <<if _fSpeed > 75>>hard and fast<<elseif _fSpeed > 50>>firmly and vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>> into $him. You get a face full of pregnancy with each downward motion;
-			<<elseif getSlave($AS).belly >= 300000>>
-				$He does $his best to not suffocate you with $his massive belly or knock you out with it as you thrust <<if _fSpeed > 75>>hard and fast<<elseif _fSpeed > 50>>firmly and vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>> into $him. You get a face full of implant with each downward motion;
-			<<else>>
-				$He <<if hasAnyArms(getSlave($AS))>>puts $his hand<<if hasBothArms(getSlave($AS))>>s<</if>> on your chest and <</if>>leans forward as you continue to thrust <<if _fSpeed > 75>>hard<<elseif _fSpeed > 50>>vigorously<<elseif _fSpeed > 25>>steadily<<else>>tenderly<</if>> upwards;
-			<</if>>
-		<<elseif (_fPosition <= 60)>> /* doggy-style */
-			<<if getSlave($AS).bellyPreg >= 300000>>
-				$He arches $his back as you continue to pound $him <<if _fSpeed > 75>>hard and fast<<elseif _fSpeed > 50>>firmly and vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>>, $his occupants enjoying the attention. As you rest your weight on $him, you run your hands along $his distended sides;
-			<<elseif getSlave($AS).belly >= 300000>>
-				$He arches $his back as you continue to pound $him <<if _fSpeed > 75>>hard and fast<<elseif _fSpeed > 50>>firmly and vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>>, $his belly jiggling just slightly with each thrust. As you rest your weight on $him, you run your hands along $his distended sides;
-			<<else>>
-				$He arches $his back as you continue to pound $him <<if _fSpeed > 75>>hard and fast<<elseif _fSpeed > 50>>firmly and vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>>;
-			<</if>>
-		<<elseif (_fPosition <= 80)>> /* reverse cowgirl */
-			<<if getSlave($AS).bellyPreg >= 300000>>
-				You may have to spread your legs extra wide to accommodate $his impressive baby bump, but the angle and pressure it puts on you feels amazing. $He <<if hasAnyArms(getSlave($AS))>>puts $his hand<<if hasBothArms(getSlave($AS))>>s<</if>> on your chest and <</if>>starts to lean back as you continue to thrust <<if _fSpeed > 75>>hard and fast<<elseif _fSpeed > 50>>firmly and vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>> upwards, in return you caress $his distended sides;
-			<<elseif getSlave($AS).belly >= 300000>>
-				You may have to spread your legs extra wide to accommodate $his impressive belly, but the angle and pressure it puts on you feels amazing. $He <<if hasAnyArms(getSlave($AS))>>puts $his hand<<if hasBothArms(getSlave($AS))>>s<</if>> on your chest and <</if>>starts to lean back as you continue to thrust <<if _fSpeed > 75>>hard and fast<<elseif _fSpeed > 50>>firmly and vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>> upwards, in return you caress $his distended sides;
-			<<else>>
-				$He <<if hasAnyArms(getSlave($AS))>>puts $his hand<<if hasBothArms(getSlave($AS))>>s<</if>> on your chest and <</if>>starts to lean back as you continue to thrust <<if _fSpeed > 75>>hard and fast<<elseif _fSpeed > 50>>firmly and vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>> upwards;
-			<</if>>
-		<<else>> /* wheelbarrow */
-			<<if getSlave($AS).belly >= 600000>>
-				With all $his weight handled, you can keep <<if _fSpeed > 75>>furiously<<elseif _fSpeed > 50>>vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>> pounding without your arms getting tired;
-			<<elseif getSlave($AS).bellyPreg >= 300000>>
-				Before long both of your strength begins to wane, causing $his belly to touch the floor. With some of the weight off of the both of you, you keep on <<if _fSpeed > 75>>furiously<<elseif _fSpeed > 50>>vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>> pounding;
-			<<elseif getSlave($AS).belly >= 300000>>
-				Before long both of your strength begins to wane, causing $his belly to touch the floor. With some of the weight off of the both of you, you keep on <<if _fSpeed > 75>>furiously<<elseif _fSpeed > 50>>vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>> pounding;
-			<<else>>
-				$He begins to tire as you keep <<if _fSpeed > 75>>furiously<<elseif _fSpeed > 50>>vigorously<<elseif _fSpeed > 25>>steadily<<else>>slowly and tenderly<</if>> pounding;
-			<</if>>
-		<</if>>
-		you can feel <<if getSlave($AS).bellyPreg >= 300000>>$his child<<if getSlave($AS).pregType > 0>>ren<</if>> begin to squirm in reaction to their mother's lust<<else>>$his heart beating hard<</if>>.
-		<<if (_fPosition <= 40) && getSlave($AS).belly+$PC.belly < 20000>> As the sex reaches its climax, $his kisses grow urgent and passionate. <</if>>
-		<<if (getSlave($AS).dick != 0) && canAchieveErection(getSlave($AS))>>
-			<<if (getSlave($AS).chastityPenis == 1)>>
-				$He enjoys $himself, even though $his dick chastity keeps $him soft by making the beginnings of erection very uncomfortable.
-			<<else>>
-				When you orgasm together, $his erect cock squirts cum up towards $his tits while your cock fills $him with cum.
-			<</if>>
-		<<elseif (getSlave($AS).chastityPenis == 1)>>
-			$He bites $his lip and moans as $he climaxes. You fill $his squeezing fuckhole with your cum. Precum has been dribbling out of $his dick chastity for some time, apparently the best $his soft bitchclit can manage.
-		<<elseif (getSlave($AS).dick != 0)>>
-			When you orgasm together, $his limp, neglected cock dribbles weakly while your cock fills $him with cum.
-		<<elseif (getSlave($AS).clit > 2)>>
-			As you fuck $him, $he plays with $his huge clit. It's so large it almost looks like $he's jacking off a cock.
-		<</if>>
-		<<if $PC.vagina != -1>>
-			You got so wet fucking $him that when you climax, you stand up; $he knows what that means, and hurries to eat you out. The oral attention brings you to a quick aftershock orgasm.
-			<<set getSlave($AS).counter.oral += 1>>
-			<<set $oralTotal += 1>>
-		<</if>>
-	<<else>>
-		You pat the tops of your thighs, and $he skips over smiling and gives you a quick kiss. Without breaking the lip lock, $he sits down, wrapping $his legs around you. Your hands reach around $him and seize $his buttocks, drawing $him in even closer so that the warmth between $his legs is pressed hard against your pussy, and you can play with $his asshole. $He grinds enthusiastically against you, moaning into your mouth with pleasure.
-	<</if>>
-<</if>>
-
-<<= VCheck.Vaginal(getSlave($AS), 1)>>
-
-<<if (getSlave($AS).bellyPreg >= 1500)>>
-	The poor slave's belly gets in the way, but the added perversion of fucking a pregnant hole makes the inconvenience worthwhile.
-<<elseif (getSlave($AS).bellyImplant >= 1500)>>
-	The poor slave's implant filled belly gets in the way, but the added perversion of fucking a $girl with such a round stomach makes the inconvenience worthwhile.
-<<elseif (getSlave($AS).bellyFluid >= 1500)>>
-	The poor slave's sloshing belly gets in the way, but the added perversion of seeing it jiggle makes the inconvenience worthwhile.
-<</if>>
-
-<<if (random(1,100) > (100 + getSlave($AS).devotion))>>
-	<<if (getSlave($AS).fetish != "pregnancy") && (getSlave($AS).energy <= 95) && (getSlave($AS).sexualFlaw != "hates penetration")>>
-		Being taken by force has given $him a @@.flaw.gain;hatred of penetration.@@
-		<<set getSlave($AS).sexualFlaw = "hates penetration">>
-	<</if>>
-<<elseif (random(1,100) > (110 - getSlave($AS).devotion))>>
-	<<if (getSlave($AS).fetish == "none") && (getSlave($AS).energy <= 95) && (getSlave($AS).sexualFlaw != "hates penetration") && (getSlave($AS).ovaries == 1 || getSlave($AS).mpreg == 1)>>
-		Enjoying sex with you seems to have @@.fetish.gain;encouraged $his biological clock.@@
-		<<set getSlave($AS).fetish = "pregnancy", getSlave($AS).fetishKnown = 1, getSlave($AS).fetishStrength = 10>>
-	<</if>>
-<</if>>
-
-<<if ($PC.dick != 0)>>
-
-	<<if getSlave($AS).cervixImplant == 1 || getSlave($AS).cervixImplant == 3>>
-		<<set getSlave($AS).bellyImplant += random(10,20)>>
-	<</if>>
-
-	<<if (getSlave($AS).vagina == 3)>>
-		Cum drips out of $his fucked-out hole.
-	<<elseif (getSlave($AS).vagina == 2)>>
-		Cum drips out of $his stretched vagina.
-	<<elseif (getSlave($AS).vagina == 1)>>
-		$His still-tight vagina keeps your load inside $him.
-	<<elseif (getSlave($AS).vagina < 0)>>
-		Cum drips out of $his girly ass.
-	<<else>>
-		Your cum slides right out of $his gaping hole.
-	<</if>>
-
-	<<if canMove(getSlave($AS)) && $postSexCleanUp > 0>>
-		$He uses <<if getSlave($AS).vagina > 0>>a quick douche to clean $his <<if getSlave($AS).vagina < 2>>tight<<elseif getSlave($AS).vagina > 3>>loose<</if>> pussy<<else>>an enema to clean $his <<if getSlave($AS).anus < 2>>tight<<elseif getSlave($AS).anus < 3>>used<<else>>gaping<</if>> butthole<</if>>,
-		<<switch getSlave($AS).assignment>>
-		<<case "work in the brothel">>
-			just like $he does between each customer.
-		<<case "serve in the club">>
-			just like $he does in the club.
-		<<case "work in the dairy">>
-			to avoid besmirching the nice clean dairy.
-		<<case "work as a farmhand">>
-			to avoid tainting the food in $farmyardName.
-		<<case "work as a servant">>
-			mostly to keep everything $he has to clean from getting any dirtier.
-		<<case "work as a nanny">>
-			before hurrying to continue taking care of the children in $nurseryName.
-		<<case "whore">>
-			before returning to offering it for sale.
-		<<case "serve the public">>
-			before returning to offering it for free.
-		<<case "rest">>
-			before crawling back into bed.
-		<<case "get milked">>
-			<<if getSlave($AS).lactation > 0>>before going to get $his uncomfortably milk-filled tits drained<<else>>and then rests until $his balls are ready to be drained again<</if>>.
-		<<case "be a servant">>
-			since $his chores didn't perform themselves while you used $his fuckhole.
-		<<case "please you">>
-			before returning to await your next use of $his fuckhole, as though nothing had happened.
-		<<case "be a subordinate slave">>
-			though it's only a matter of time before another slave decides to play with $his fuckhole.
-		<<case "be your Head Girl">>
-			worried that $his charges got up to trouble while $he enjoyed $his <<= getWrittenTitle(getSlave($AS))>>'s use.
-		<<case "guard you">>
-			so $he can be fresh and ready for more sexual use even as $he guards your person.
-		<<case "train slaves">>
-			before $he returns to teaching $his classes.
-		<<default>>
-			before $he returns to <<= getSlave($AS).assignment>>.
-		<</switch>>
-	<</if>>
-<</if>>
-- 
GitLab


From c73255e5b3c3369f5a00141c64fd0e5d342caf37 Mon Sep 17 00:00:00 2001
From: lowercasedonkey <lowercasedonkey@gmail.com>
Date: Sat, 8 May 2021 14:10:51 -0400
Subject: [PATCH 2/5] fixes

---
 src/npc/interaction/fVagina.js | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/src/npc/interaction/fVagina.js b/src/npc/interaction/fVagina.js
index 7c357d59fc4..4f5fe9f8449 100644
--- a/src/npc/interaction/fVagina.js
+++ b/src/npc/interaction/fVagina.js
@@ -207,7 +207,7 @@ App.Interact.fVagina = function(slave) {
 			} else {
 				r.push(`your cock`);
 			}
-			r.push(`opens ${his} fresh, tight hole. You force your way into ${his} pussy and continue thrusting into ${him}. ${He} sobs and cries with horror as you pound away. The rape <span class="devotion.dec">decreases ${his} devotion to you.</span> <span class="virginity loss">${His} pussy has been broken in,</span> and ${he} <span class="trust dec">fears further abuse.</span>`);
+			r.push(`opens ${his} fresh, tight hole. You force your way into ${his} pussy and continue thrusting into ${him}. ${He} sobs and cries with horror as you pound away. The rape <span class="devotion dec">decreases ${his} devotion to you.</span> <span class="virginity loss">${His} pussy has been broken in,</span> and ${he} <span class="trust dec">fears further abuse.</span>`);
 			slave.devotion -= 4;
 			slave.trust -= 4;
 		}
@@ -677,8 +677,7 @@ App.Interact.fVagina = function(slave) {
 		}
 		if (V.PC.vagina !== -1) {
 			r.push(`When you finally climax, you pull out and press your wet cunt against ${his} mouth, letting ${his} lavish attention on you that brings you to another quick orgasm.`);
-			slave.counter.oral += 1;
-			V.oralTotal += 1;
+			seX(slave, "oral", V.PC, "penetrative");
 		}
 	} else if (slave.devotion < -20) {
 		r.push(`${He} tries to refuse, so you`);
@@ -702,8 +701,7 @@ App.Interact.fVagina = function(slave) {
 			}
 			if (V.PC.vagina !== -1) {
 				r.push(`After your first orgasm, you pull out and grind your pussy against ${his} face for another, enjoying the stimulation of ${his} muffled crying.`);
-				slave.counter.oral += 1;
-				V.oralTotal += 1;
+				seX(slave, "oral", V.PC, "penetrative");
 			}
 		} else {
 			r.push(`stand and seize ${him}, shoving ${him} down to sit in your chair. You jump atop ${his} hips, pinning ${him} down into the chair with your legs and pressing your pussy hard against ${his} groin. ${He} struggles and whimpers, but you give ${him} a hard warning slap to the cheek and kiss ${his} unwilling mouth, forcing your tongue past ${his} lips as you grind against ${him}.`);
@@ -754,8 +752,7 @@ App.Interact.fVagina = function(slave) {
 			}
 			if (V.PC.vagina !== -1) {
 				r.push(`You got so wet fucking ${him} that when you climax, you stand up and let ${him} clean your pussy with ${his} mouth. The oral attention brings you to a quick aftershock orgasm.`);
-				slave.counter.oral += 1;
-				V.oralTotal += 1;
+				seX(slave, "oral", V.PC, "penetrative");
 			}
 		} else {
 			r.push(`You pat the tops of your thighs, and ${he} obediently comes over to sit atop them, wrapping ${his} legs around you. Your hands reach around ${him} and seize ${his} buttocks, drawing ${him} in even closer so that the warmth between ${his} legs is pressed hard against your pussy. ${He} grinds dutifully against you, only pausing for a moment when ${he} finds your insistent tongue probing past ${his} lips.`);
@@ -1128,8 +1125,7 @@ App.Interact.fVagina = function(slave) {
 			}
 			if (V.PC.vagina !== -1) {
 				r.push(`You got so wet fucking ${him} that when you climax, you stand up; ${he} knows what that means, and hurries to eat you out. The oral attention brings you to a quick aftershock orgasm.`);
-				slave.counter.oral += 1;
-				V.oralTotal += 1;
+				seX(slave, "oral", V.PC, "penetrative");
 			}
 		} else {
 			r.push(`You pat the tops of your thighs, and ${he} skips over smiling and gives you a quick kiss. Without breaking the lip lock, ${he} sits down, wrapping ${his} legs around you. Your hands reach around ${him} and seize ${his} buttocks, drawing ${him} in even closer so that the warmth between ${his} legs is pressed hard against your pussy, and you can play with ${his} asshole. ${He} grinds enthusiastically against you, moaning into your mouth with pleasure.`);
@@ -1148,12 +1144,12 @@ App.Interact.fVagina = function(slave) {
 
 	if (random(1, 100) > (100 + slave.devotion)) {
 		if (slave.fetish !== "pregnancy" && slave.energy <= 95 && slave.sexualFlaw !== "hates penetration") {
-			r.push(`Being taken by force has given ${him} a <span class="flaw.gain">hatred of penetration.</span>`);
+			r.push(`Being taken by force has given ${him} a <span class="flaw gain">hatred of penetration.</span>`);
 			slave.sexualFlaw = "hates penetration";
 		}
 	} else if (random(1, 100) > (110 - slave.devotion)) {
 		if (slave.fetish === "none" && slave.energy <= 95 && slave.sexualFlaw !== "hates penetration" && slave.ovaries === 1 || slave.mpreg === 1) {
-			r.push(`Enjoying sex with you seems to have <span class="fetish.gain">encouraged ${his} biological clock.</span>`);
+			r.push(`Enjoying sex with you seems to have <span class="fetish gain">encouraged ${his} biological clock.</span>`);
 			slave.fetish = "pregnancy";
 			slave.fetishKnown = 1;
 			slave.fetishStrength = 10;
-- 
GitLab


From 21b7bf4a6a350c2fdebdb946981f7cca5cd6a9fd Mon Sep 17 00:00:00 2001
From: lowercasedonkey <lowercasedonkey@gmail.com>
Date: Sat, 8 May 2021 14:16:21 -0400
Subject: [PATCH 3/5] apply

---
 src/005-passages/interactPassages.js | 6 ++++++
 src/interaction/siWork.js            | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/005-passages/interactPassages.js b/src/005-passages/interactPassages.js
index 80ac1c83834..9807d59d717 100644
--- a/src/005-passages/interactPassages.js
+++ b/src/005-passages/interactPassages.js
@@ -162,3 +162,9 @@ new App.DomPassage("Aztec Slave Sacrifice Life",
 		return App.UI.SlaveInteract.aztecSlaveSacrificeLife();
 	}
 );
+
+new App.DomPassage("FVagina",
+	() => {
+		return App.Interact.fVagina(getSlave(V.AS));
+	}
+);
diff --git a/src/interaction/siWork.js b/src/interaction/siWork.js
index 1290dc81ffb..2c65b612f73 100644
--- a/src/interaction/siWork.js
+++ b/src/interaction/siWork.js
@@ -319,7 +319,7 @@ App.UI.SlaveInteract.work = function(slave, refresh) {
 		if (slave.fuckdoll === 0) {
 			if (slave.vagina > -1) {
 				if (canDoVaginal(slave)) {
-					sexOptions.push({text: `Fuck ${him}`, scene: `FVagina`});
+					sexOptions.push({text: `Fuck ${him}`, scene: App.Interact.fVagina(slave)});
 					if (canDoAnal(slave)) {
 						sexOptions.push({text: `Use ${his} holes`, scene: `FButt`});
 					}
-- 
GitLab


From 3273246d10b1c8406c19260583c56bb3bb395b75 Mon Sep 17 00:00:00 2001
From: lowercasedonkey <lowercasedonkey@gmail.com>
Date: Sat, 8 May 2021 14:35:51 -0400
Subject: [PATCH 4/5] fix

---
 src/005-passages/interactPassages.js |  2 +-
 src/interaction/main/walkPast.js     | 16 ++++++++++------
 src/js/main.js                       |  4 ++--
 src/uncategorized/walkPastList.tw    |  2 +-
 4 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/src/005-passages/interactPassages.js b/src/005-passages/interactPassages.js
index 9807d59d717..b8f864b8a9b 100644
--- a/src/005-passages/interactPassages.js
+++ b/src/005-passages/interactPassages.js
@@ -163,7 +163,7 @@ new App.DomPassage("Aztec Slave Sacrifice Life",
 	}
 );
 
-new App.DomPassage("FVagina",
+new App.DomPassage("fVagina",
 	() => {
 		return App.Interact.fVagina(getSlave(V.AS));
 	}
diff --git a/src/interaction/main/walkPast.js b/src/interaction/main/walkPast.js
index a33af50bc6e..929b1bae708 100644
--- a/src/interaction/main/walkPast.js
+++ b/src/interaction/main/walkPast.js
@@ -58,7 +58,7 @@ globalThis.walkPast = (function() {
 				case "FAnus":
 					output += anusWatch(activeSlave);
 					break;
-				case "FVagina":
+				case "fVagina":
 					if (activeSlave.belly < 150000) {
 						if (activeSlave.vagina >= 0) {
 							output += `<br><span class="note">Vagina scene available:</span> ${vaginaWatch(activeSlave)}`;
@@ -110,13 +110,17 @@ globalThis.walkPast = (function() {
 		let links = [];
 		const executeWalkpast = (passage) => {
 			V.AS = activeSlave.ID; // TODO: remove me once all the F* passages don't need activeSlave anymore
-			$(`#walkpast-${activeSlave.ID}`).empty().append(App.UI.DOM.renderPassage(passage));
+			if (App.Interact.hasOwnProperty(passage)) {
+				$(`#walkpast-${activeSlave.ID}`).empty().append(App.Interact[passage](activeSlave));
+			} else {
+				$(`#walkpast-${activeSlave.ID}`).empty().append(App.UI.DOM.renderPassage(passage));
+			}
 		};
 		if (activeSlave.fuckdoll === 0) {
 			if (target === "FButt" && activeSlave.chastityAnus) {
 				output += ` If you wish to have anal intercourse with ${him} you must order ${him} to remove ${his} chastity belt.`;
 				links.push(App.UI.DOM.link(`Grope ${his} rear instead`, executeWalkpast, "FondleButt"));
-			} else if (target === "FVagina" && activeSlave.chastityVagina) {
+			} else if (target === "fVagina" && activeSlave.chastityVagina) {
 				output += ` If you wish to have vanilla intercourse with ${him} you must order ${him} to remove ${his} chastity belt.`;
 			} else if (flag > 100) {
 				links.push(App.UI.DOM.link(`Summon them both`, (partner, relation, target) => {
@@ -137,7 +141,7 @@ globalThis.walkPast = (function() {
 			}
 		} else {
 			switch (target) {
-				case "FVagina":
+				case "fVagina":
 					links.push(App.UI.DOM.link(`Fuck ${him}`, executeWalkpast, "FFuckdollVaginal"));
 					break;
 				case "FButt":
@@ -2864,7 +2868,7 @@ globalThis.walkPast = (function() {
 			He, His
 		} = getPronouns(slave);
 
-		target = "FVagina";
+		target = "fVagina";
 
 		// Desc belly if large enough
 		t += ` `;
@@ -7755,7 +7759,7 @@ globalThis.walkPast = (function() {
 			He, His
 		} = getPronouns(slave);
 
-		target = "FVagina";
+		target = "fVagina";
 		// Desc dick and vag
 		t += App.Desc.crotch(slave);
 		t += ` `;
diff --git a/src/js/main.js b/src/js/main.js
index 3dea83aaadf..4279559fcd1 100644
--- a/src/js/main.js
+++ b/src/js/main.js
@@ -36,7 +36,7 @@ App.MainView.useFucktoy = function(slave) {
 			" | ", App.UI.DOM.passageLink("Play with " + his + " tits", "FBoobs", setEnvironment));
 
 		if (canDoVaginal(slave)) {
-			optionDiv.append(" | ", App.UI.DOM.passageLink(`Fuck ${him}`, "FVagina", setEnvironment));
+			optionDiv.append(" | ", App.UI.DOM.passageLink(`Fuck ${him}`, "fVagina", setEnvironment));
 			if (canDoAnal(slave)) {
 				optionDiv.append(" | ", App.UI.DOM.passageLink(`Use ${his} holes`, "FButt", setEnvironment));
 			}
@@ -94,7 +94,7 @@ App.MainView.useGuard = function() {
 	);
 
 	if (canDoVaginal(guard)) {
-		optionDiv.append(" | ", App.UI.DOM.passageLink(`Fuck ${him}`, "FVagina", setEnvironment));
+		optionDiv.append(" | ", App.UI.DOM.passageLink(`Fuck ${him}`, "fVagina", setEnvironment));
 		if (canDoAnal(guard)) {
 			optionDiv.append(" | ", App.UI.DOM.passageLink(`Use ${his} holes`, "FButt", setEnvironment));
 		}
diff --git a/src/uncategorized/walkPastList.tw b/src/uncategorized/walkPastList.tw
index fece903eb53..4da6acc065a 100644
--- a/src/uncategorized/walkPastList.tw
+++ b/src/uncategorized/walkPastList.tw
@@ -30,7 +30,7 @@
 <</link>> |
 <<link "Vagina">>
 	<<replace "#wplist">>
-	<<includeDOM walkPastAll("FVagina")>>
+	<<includeDOM walkPastAll("fVagina")>>
 	<</replace>>
 <</link>> //or ass if they lack one//<br>
 <<link "Dick">>
-- 
GitLab


From f87cdf66b35f56c5c1a0cfb196793a6e1c33957e Mon Sep 17 00:00:00 2001
From: lowercasedonkey <lowercasedonkey@gmail.com>
Date: Sat, 8 May 2021 14:44:03 -0400
Subject: [PATCH 5/5] remove passage wrapper

---
 src/005-passages/interactPassages.js | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/src/005-passages/interactPassages.js b/src/005-passages/interactPassages.js
index b8f864b8a9b..80ac1c83834 100644
--- a/src/005-passages/interactPassages.js
+++ b/src/005-passages/interactPassages.js
@@ -162,9 +162,3 @@ new App.DomPassage("Aztec Slave Sacrifice Life",
 		return App.UI.SlaveInteract.aztecSlaveSacrificeLife();
 	}
 );
-
-new App.DomPassage("fVagina",
-	() => {
-		return App.Interact.fVagina(getSlave(V.AS));
-	}
-);
-- 
GitLab