diff --git a/CHANGELOG.md b/CHANGELOG.md
index b2a39c87bee1308e03151a887385a67b3e05c8ba..0ca6911c7dd387c08687cf9485e27aef8516b08c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,9 +7,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
 ## Unreleased
 
 * added a number of animal tail/ear/limb prosthetics
+* expanded highlights and other hair accents
 * piercings overhauled
 * added better support for custom piercings
 * added a REFS event for Roman Revivalism
+* added twilight theme
+* fixes
 
 ## 0.10.7.1-4.0.0-alpha.10 - 2021-09-12
 
diff --git a/src/data/backwardsCompatibility/datatypeCleanup.js b/src/data/backwardsCompatibility/datatypeCleanup.js
index 2a9b789da728963540704971a6232ee1c2a6d386..fec83997cdbd5759e0a05cc982d79076d9eb964a 100644
--- a/src/data/backwardsCompatibility/datatypeCleanup.js
+++ b/src/data/backwardsCompatibility/datatypeCleanup.js
@@ -1232,9 +1232,9 @@ globalThis.PCDatatypeCleanup = (function PCDatatypeCleanup() {
 		} else {
 			PC.actualAge = Math.clamp(+PC.actualAge, 10, Infinity) || 35;
 		}
-		PC.physicalAge = Math.clamp(+PC.physicalAge, 14, 80) || PC.actualAge;
-		PC.visualAge = Math.clamp(+PC.visualAge, 14, 80) || PC.actualAge;
-		PC.ovaryAge = Math.clamp(+PC.ovaryAge, 14, 80) || PC.physicalAge;
+		PC.physicalAge = Math.clamp(+PC.physicalAge, 10, Infinity) || PC.actualAge;
+		PC.visualAge = Math.clamp(+PC.visualAge, 10, Infinity) || PC.actualAge;
+		PC.ovaryAge = Math.clamp(+PC.ovaryAge, 10, Infinity) || PC.physicalAge;
 		if (V.playerAging !== 0) {
 			V.playerAging = Math.clamp(+V.playerAging, 0, 2) || 2;
 		}
diff --git a/src/events/intro/pcAppearance.js b/src/events/intro/pcAppearance.js
index b336a1531745a7538909aee07ffc09297cff494b..07206f540ecaa094af3377bc5e6e9acaa6f3e551 100644
--- a/src/events/intro/pcAppearance.js
+++ b/src/events/intro/pcAppearance.js
@@ -228,10 +228,10 @@ App.UI.Player.appearance = function(options, summary = false) {
 			["Large", 4, () => V.PC.scrotum = 5],
 		]);
 		if (V.PC.physicalAge > 13) {
-			option.addValue("Massive", 5, () => V.PC.scrotum = 5);
+			option.addValue("Huge", 5, () => V.PC.scrotum = 5);
 		}
 		if (V.PC.physicalAge > 18) {
-			option.addValue("Huge", 6, () => V.PC.scrotum = 6);
+			option.addValue("Massive", 6, () => V.PC.scrotum = 6);
 		}
 		option.addComment("Small balls may be located internally.");
 		if (V.PC.balls <= 2) {
@@ -277,7 +277,7 @@ App.UI.Player.syncAgeBasedParameters = function() {
 	V.PC.physicalAge = V.PC.actualAge;
 	V.PC.visualAge = V.PC.actualAge;
 	V.PC.ovaryAge = V.PC.actualAge;
-	V.PC.height = Height.random(V.PC, {limitMult: [2, 4]});
+	V.PC.height = Height.random(V.PC, {limitMult: [1, 2]});
 	if (V.PC.genes === "XY") {
 		if (V.PC.physicalAge <= 13) {
 			V.PC.hips = -2;
diff --git a/src/player/desc/pLongBelly.js b/src/player/desc/pLongBelly.js
new file mode 100644
index 0000000000000000000000000000000000000000..e24b58d234b0490cf5655250de6ea49f4cda3e2b
--- /dev/null
+++ b/src/player/desc/pLongBelly.js
@@ -0,0 +1,1591 @@
+App.Desc.Player.belly = function(PC = V.PC) {
+	const r = [];
+	const {girlP, loliP} = getPronouns(PC).appendSuffix("P");
+
+	const isBellyFluidLargest = (PC.bellyFluid >= PC.bellyPreg && PC.bellyFluid >= PC.bellyImplant);
+
+	function stackedInflation() {
+		const r = [];
+
+		if (PC.bellyFluid >= 1500) {
+			if (PC.belly >= 10000 || (PC.belly >= 5000 && PC.bellyImplant > 0)) {
+				if (PC.inflationMethod === 2) {
+					r.push(`There is a distinct curve to your upper belly, thanks to your ${PC.inflationType}-filled stomach.`);
+				} else {
+					r.push(`Your stomach bulges a little larger thanks to all the ${PC.inflationType} forced up your rear.`);
+				}
+			} else if (PC.belly >= 5000) {
+				if (PC.inflationMethod === 2) {
+					r.push(`You have a bit of a double belly, since your stomach is filled with ${PC.inflationType} and resting heavily on your womb.`);
+				} else {
+					r.push(`Your stomach bulges a little larger thanks to all the ${PC.inflationType} forced up your rear.`);
+				}
+			}
+		}
+
+		return r.join(" ");
+	}
+
+	function flesh() {
+		const r = [];
+		let bellySagType = PC.bellySagPreg > 1 ? "your recent pregnancy" : "being overfilled";
+
+		if (PC.belly >= 1000000) {
+			if (PC.bellyPreg > 0) {
+				if (PC.belly > (PC.pregAdaptation * 1000)) {
+					r.push(`<span class="red">a belly so large and full of life that words fail you.</span>`);
+				} else {
+					r.push(`your record breaking pregnancy.`);
+				}
+				if (PC.physicalAge <= 12) {
+					r.push(`You have been reduced to nothing more than`);
+					if (PC.belly > (PC.pregAdaptation * 1000)) {
+						r.push(`a breaking womb with a ${loliP} attached. It's a constant struggle to not be lost under the squirming mass of infants that consume every available space inside you.`);
+					} else {
+						r.push(`an overstuffed womb with a ${loliP} attached. It's a constant struggle to not be lost under the squirming mass of infants that fill your body.`);
+					}
+				} else {
+					r.push(`You have been reduced to nothing more than`);
+					if (PC.belly > (PC.pregAdaptation * 1000)) {
+						r.push(`a breaking womb with a ${girlP} attached.`);
+					} else {
+						r.push(`an overstuffed womb with a ${girlP} attached.`);
+					}
+					r.push(`You are physically unable to keep your`);
+					if (PC.belly > (PC.pregAdaptation * 1000)) {
+						r.push(`straining`);
+					}
+					r.push(`belly off the ground.`);
+				}
+				if (PC.belly > (PC.pregAdaptation * 1000)) {
+					r.push(`Your stomach has taken up a rather bruised tone; you likely don't have much time left.`);
+				}
+				if (PC.preg >= PC.pregData.normalBirth * .90) {
+					if (PC.belly > (PC.pregAdaptation * 1000)) {
+						r.push(`Forunately, you can feel the weight of many children beginning to crowd around the exit; you'll be in the throes of labor for days, but it's better than the alternative.`);
+					}
+				} else if (PC.belly > (PC.pregAdaptation * 1000)) {
+					if (PC.preg < PC.pregData.normalBirth / 1.33) {
+						r.push(`Even more damning, you aren't even close to full term. It will take a miracle to complete this pregnancy intact.`);
+					}
+				} else {
+					r.push(`You can not deny how freakish it is that your body has become so twisted around fecundity that this obscne pregnancy is perfectly reasonable to it. Apparently your role in life is to make babies, and lots of them.`);
+					if (PC.preg < PC.pregData.normalBirth / 1.33) {
+						r.push(`Worse still, you aren't even close to full term. It is a bit worrying to think about just how far your body is going to go for the sake of reproduction.`);
+					}
+				}
+				if (PC.geneMods.rapidCellGrowth === 1) {
+					r.push(`While it is phyically impossible to check every angle of your lumpy entirety, there's not a single stretch mark marring what skin you can see. It's unthinkable that a ${girlP} of your size could have such flawless skin, but then again, you do have special properties.`);
+				} else if (PC.belly <= (PC.pregAdaptation * 1000)) {
+					r.push(`It's disturbing that your body has become so adapted to pregnancy that it has stretched to such a degree as to accommodate this many babies without a single stretch mark.`);
+				} else {
+					r.push(`There's a slight sheen from all the cream you go through to stave off stretch marks and increase its plasticity across its expanse. Your skin is so tight that they're beginning to become worryingly wide.`);
+				}
+			} else {
+				if (PC.belly > (PC.pregAdaptation * 1000)) {
+					r.push(`<span class="red">a belly stretched beyond any recommended limit.</span>`);
+				} else {
+					r.push(`a belly inflated into the depths of insanity.`);
+				}
+				if (PC.physicalAge <= 12) {
+					r.push(`You have been reduced to nothing more than an obscene over-filled implant with a ${loliP} attached. It's a straining mass that`);
+					if (PC.belly > (PC.pregAdaptation * 1000)) {
+						r.push(`threatens to burst out of your body`);
+					} else {
+						r.push(`completely fills your body`);
+					}
+					r.push(`and makes life a struggle to not be crushed beneath its weight.`);
+				} else {
+					r.push(`You have been reduced to nothing more than an obscene over-filled implant with a ${girlP} attached. You are physically unable to keep your`);
+					if (PC.belly > (PC.pregAdaptation * 1000)) {
+						r.push(`straining`);
+					}
+					r.push(`belly off the ground, which certainly makes life complicated.`);
+				}
+				if (PC.weight > 190) {
+					r.push(`Your massively fat belly is stretched to its limit, so much so your folds have been pulled flat and your softness, firm.The implant takes up so much room in your body that it can be clearly seen through your skin.`);
+				} else {
+					r.push(`The implant filling your body takes up so much room that it can be clearly seen through your skin.`);
+				}
+				r.push(`It is so full, not one motion can be seen in its contents nor can one push their hand into it.`);
+				if (PC.belly <= (PC.pregAdaptation * 1000)) {
+					r.push(`Unbelievably, your body has become so twisted around fecundity that it isn't even bothered by this extreme gravidity; while your implant may be beyond its limits, you most certainly aren't.`);
+				} else {
+					r.push(`It's a wonder that both you and the implant have managed to hold together this long.`);
+				}
+			}
+			r.push(stackedInflation());
+			if (canMove(PC)) {
+				r.push(`As laughable as it is, your only means of seeing your various sides is to pivot around your boundless middle as lifting it is out of the question. Even getting into a position to do this is an uphill battle.`);
+			} else {
+				r.push(`It's impossible to roll into a position where you can see anything other than your boundless middle. Half because it is you now, and half because you literally can't move it.`);
+			}
+		} else if (PC.belly >= 750000) {
+			if (PC.bellyPreg > 0) {
+				if (PC.belly > (PC.pregAdaptation * 1000)) {
+					r.push(`<span class="red">a belly filled to bursting with life.</span>`);
+				} else {
+					r.push(`your obscenely immense baby bump.`);
+				}
+				if (PC.physicalAge <= 12) {
+					r.push(`You have been reduced to nothing more than`);
+					if (PC.belly > (PC.pregAdaptation * 1000)) {
+						r.push(`a breaking womb with a ${loliP} attached. It's a constant struggle to not be lost under the squirming mass of infants that threaten to burst you.`);
+					} else {
+						r.push(`an overstuffed womb with a ${loliP} attached. It's a constant struggle to not be lost under the squirming mass of infants that fill your body.`);
+					}
+				} else if (PC.height < 150) {
+					r.push(`You have been reduced to nothing more than`);
+					if (PC.belly > (PC.pregAdaptation * 1000)) {
+						r.push(`a breaking womb with a ${girlP} attached. It's a constant struggle to not be crushed under the squirming mass of infants that threaten to burst you.`);
+					} else {
+						r.push(`an overstuffed womb with a ${girlP} attached. It's a constant struggle to not be crushed under the squirming mass of infants that fill your body.`);
+					}
+				} else if (PC.muscles > 90) {
+					r.push(`Your muscular body`);
+					if (PC.belly > (PC.pregAdaptation * 1000)) {
+						r.push(`barely manages to contain`);
+					} else {
+						r.push(`perfectly handles`);
+					}
+					r.push(`your monolithic pregnancy, though it doesn't mean you can really function with it.`);
+				} else if (PC.height >= 185) {
+					r.push(`You're tall enough that you can keep your ${(PC.belly > (PC.pregAdaptation * 1000)) ? "straining" : "life brimming"} belly from touching the ground,`);
+					if (PC.belly > (PC.pregAdaptation * 1000)) {
+						r.push(`but of course it's really bad idea to do so unless you wanted to explode like a baby-filled water balloon.`);
+					} else {
+						r.push(`but of course it's really bad idea to do so unless you want to encourage a hailstorm of kicks from your unborn babies.`);
+					}
+				} else {
+					r.push(`You have been reduced to nothing more than`);
+					if (PC.belly > (PC.pregAdaptation * 1000)) {
+						r.push(`a breaking womb with a ${girlP} attached.`);
+					} else {
+						r.push(`an overstuffed womb with a ${girlP} attached.`);
+					}
+					r.push(`You are physically unable to keep your`);
+					if (PC.belly > (PC.pregAdaptation * 1000)) {
+						r.push(`straining`);
+					}
+					r.push(`belly off the ground.`);
+				}
+				if (PC.weight > 190) {
+					r.push(`Your massively fat belly is stretched to its limit, so much so your folds have been pulled flat and your softness, firm. You are so gravid, the grotesque figures of the infants forced against your uterine walls by their siblings are clearly visible through your taut skin. Your womb is so cramped, they can barely squirm at all under the pressure and it is a medical wonder that you have managed to become this pregnant.`);
+				} else {
+					r.push(`You are so gravid, the grotesque figures of the infants forced against your uterine walls by their siblings are clearly visible through your taut skin. Your womb is so cramped, they can barely squirm at all under the pressure and it is a medical wonder that you have managed to become this pregnant.`);
+				}
+				if (PC.belly > (PC.pregAdaptation * 1000)) {
+					r.push(`Your stomach has taken up a rather bruised tone; you likely don't have much time left.`);
+				}
+				if (PC.preg >= PC.pregData.normalBirth * .90) {
+					if (PC.belly > (PC.pregAdaptation * 1000)) {
+						r.push(`Forunately, you can feel the weight of your children beginning to crowd around the exit; you'll soon be giving birth for hours, but it's better than the alternative.`);
+					}
+				} else if (PC.belly > (PC.pregAdaptation * 1000)) {
+					if (PC.preg < PC.pregData.normalBirth / 1.33) {
+						r.push(`Even more damning, you aren't even close to full term. It will take a miracle to complete this pregnancy intact.`);
+					}
+				} else {
+					r.push(`You can not deny how freakish it is that your body has become so twisted around fecundity that this absurd pregnancy is perfectly reasonable to it.`);
+					if (PC.preg < PC.pregData.normalBirth / 1.33) {
+						r.push(`Worse still, you aren't even close to full term. It is a bit worrying to think about just how large and full you will get by the end of this.`);
+					}
+				}
+				if (PC.geneMods.rapidCellGrowth === 1) {
+					r.push(`While it is phyically impossible to check every angle of your lumpy entirety, there's not a single stretch mark marring what skin you can see. It's unthinkable that a ${girlP} of your size could have such flawless skin, but then again, you do have special properties.`);
+				} else if (PC.belly <= (PC.pregAdaptation * 1000)) {
+					r.push(`It's disturbing that your body has become so adapted to pregnancy that it has stretched to such a degree as to accommodate this many babies without a single stretch mark.`);
+				} else {
+					r.push(`There's a slight sheen from all the cream you go through to stave off stretch marks and increase its plasticity across its expanse. Your skin is so tight that they're beginning to become worryingly wide.`);
+				}
+			} else {
+				if (PC.belly > (PC.pregAdaptation * 1000)) {
+					r.push(`<span class="red">a belly stretched to its limit.</span>`);
+				} else {
+					r.push(`a belly inflated past any semblance of sanity.`);
+				}
+				if (PC.physicalAge <= 12) {
+					r.push(`You have been reduced to nothing more than a ready-to-rupture implant with a ${loliP} attached. It's a straining mass that`);
+					if (PC.belly > (PC.pregAdaptation * 1000)) {
+						r.push(`threatens to burst out of your body`);
+					} else {
+						r.push(`completely fills your body`);
+					}
+					r.push(`and makes life a struggle to not be crushed beneath its weight.`);
+				} else if (PC.height < 150) {
+					r.push(`You have been reduced to nothing more than a ready-to-rupture implant with a ${girlP} attached. It's a straining mass that`);
+					if (PC.belly > (PC.pregAdaptation * 1000)) {
+						r.push(`threatens to burst out of your body`);
+					} else {
+						r.push(`completely fills your body`);
+					}
+					r.push(`and makes life a struggle to not be crushed beneath its weight.`);
+				} else if (PC.muscles > 90) {
+					r.push(`Your muscular body`);
+					if (PC.belly > (PC.pregAdaptation * 1000)) {
+						r.push(`barely manages to contain`);
+					} else {
+						r.push(`perfectly handles`);
+					}
+					r.push(`your monolithic implant, though it doesn't mean you can really function with it.`);
+				} else if (PC.height >= 185) {
+					r.push(`You're tall enough that you can keep your ${(PC.belly > (PC.pregAdaptation * 1000)) ? "straining" : "monolithic"} belly from touching the ground, but of course it's really bad idea to do so unless you wanted to pop your implant.`);
+				} else {
+					r.push(`You have been reduced to nothing more than a ready-to-rupture implant with a ${girlP} attached. You are physically unable to keep your`);
+					if (PC.belly > (PC.pregAdaptation * 1000)) {
+						r.push(`straining`);
+					}
+					r.push(`belly off the ground.`);
+				}
+				if (PC.weight > 190) {
+					r.push(`Your massively fat belly is stretched to its limit, so much so your folds have been pulled flat and your softness, firm. The implant takes up so much room in your body that it can be clearly seen through your skin.`);
+				} else {
+					r.push(`The implant filling your body takes up so much room that it can be clearly seen through your skin.`);
+				}
+				r.push(`It is so full, not one motion can be seen in its contents nor can one push their hand into it.`);
+				if (PC.belly <= (PC.pregAdaptation * 1000)) {
+					r.push(`Your body has become so twisted around fecundity that it isn't even bothered by your extreme gravidity; while your implant may be at its limit, you most certainly aren't.`);
+				} else {
+					r.push(`It's a wonder that both you and the implant have managed to hold together this long.`);
+				}
+			}
+			r.push(stackedInflation());
+			if (canMove(PC)) {
+				r.push(`As laughable as it is, your only means of seeing your various sides is to pivot around your boundless middle rather than try to reposition it to get a better look at yourself.`);
+				if (PC.bellyPreg > 0) {
+					if (PC.belly > (PC.pregAdaptation * 1000)) {
+						r.push(`Not that you really want to try, since every kick inside you feels like a dagger to the gut and it's never just one.`);
+					} else {
+						r.push(`Not that you really want to try, since nobody wants to be the bottom of baby mountain and you really don't have the patience nor energy for them to sort it out themselves.`);
+					}
+				}
+			} else {
+				r.push(`It's impossible to really roll into a position where you can see anything other than your boundless middle.`);
+				if (PC.belly > (PC.pregAdaptation * 1000)) {
+					r.push(`Not that you really want to try, since you feel like the slightest jostle might cause you to blow.`);
+				} else if (PC.bellyPreg > 0) {
+					r.push(`Not that you really want to try, since any disturbance to the balance of power in your womb is liable to start a war that you really don't have the patience for.`);
+				}
+			}
+		} else if (PC.belly >= 600000) {
+			if (PC.bellyPreg > 0) {
+				r.push(`your <span class="orange">titanic, frankly obscene, baby bump.</span>`);
+				if (PC.physicalAge <= 12) {
+					r.push(`You have been reduced to nothing more than an overfilled womb with a ${loliP} attached. Every move you make needs to be calculated in order to not be crushed under your own quivering mass.`);
+				} else if (PC.height < 150) {
+					r.push(`You have been reduced to nothing more than an overfilled womb with a ${girlP} attached. Every move you make needs to be calculated in order to not be crushed under your own quivering mass.`);
+				} else if (PC.muscles >= 75) {
+					r.push(`You're strong enough that you can pretend to lead some semblance of a normal life with such a overfilled womb weighing you down. The charade can only go on for so long before reality grounds you again.`);
+				} else if (PC.height >= 185) {
+					r.push(`You're tall enough that you can keep your overfull womb from touching the ground, but of course it's only temporary and the sheer weight of it quickly reminds you of why this is a bad idea.`);
+				} else {
+					r.push(`You have been reduced to nothing more than an overfilled womb with a ${girlP} attached. While it is possible for you to heft your quivering belly off the floor, the sudden impact of its inevitable return is too much of a risk to your unborn.`);
+				}
+				if (PC.weight > 190) {
+					r.push(`Your massively fat belly is stretched to its limit, so much so your folds have been pulled flat and your softness, firm. Despite being so taut,`);
+				} else {
+					r.push(`Despite being stretched taut,`);
+				}
+				r.push(`your belly is visibly bulging and squirming from all the babies writhing inside you. Your uterus is packed so full that it's run out of space and can't stretch any more, forcing your babies up against its walls;`);
+				if (PC.belly > (PC.pregAdaptation * 1000)) {
+					r.push(`<span class="red">there is a real risk of it failing should you grow much larger.</span>`);
+				} else {
+					r.push(`your body seems perfectly fine with this development, however.`);
+				}
+				if (PC.preg < PC.pregData.normalBirth / 1.33) {
+					r.push(`Given how far along, and very much at capacity, you are, you've clearly gotten yourself so knocked up to a potentially life threatening degree.`);
+				} else if (PC.preg >= PC.pregData.normalBirth * .90) {
+					r.push(`It's impossible to tell without closer examination, but your belly has dropped; you can see and feel the concentration of bulges crowding around the exit. You'll have to keep your schedule clear for when the birthing starts, since you're going to be at it for quite a while.`);
+				}
+				if (PC.geneMods.rapidCellGrowth === 1) {
+					r.push(`While it is phyically impossible to check every angle of your entirety, there's not a single stretch mark marring what skin you can see. It's unthinkable that a ${girlP} of your size could have such flawless skin, but then again, you do have special properties.`);
+				} else if (PC.belly <= (PC.pregAdaptation * 1000)) {
+					r.push(`It's a little unnerving that your body has become so adapted to pregnancy that it has stretched to such a degree as to accommodate this many babies without a single stretch mark.`);
+				} else {
+					r.push(`There's a slight sheen from all the cream you go through to stave off stretch marks and increase its plasticity across its expanse. Your skin is so tight that they're beginning to become worryingly wide.`);
+				}
+			} else {
+				if (PC.belly > (PC.pregAdaptation * 1000)) {
+					r.push(`<span class="red">a belly ready to pop.</span>`);
+				} else {
+					r.push(`a balloon of a belly that looks ready to pop.`);
+				}
+				if (PC.physicalAge <= 12) {
+					r.push(`You have been reduced to nothing more than a greatly overfilled implant with a ${loliP} attached. Every move you make needs to be calculated in order to not be crushed under your own taut mass.`);
+				} else if (PC.height < 150) {
+					r.push(`You have been reduced to nothing more than a greatly overfilled implant with a ${girlP} attached. Every move you make needs to be calculated in order to not be crushed under your own taut mass.`);
+				} else if (PC.muscles >= 75) {
+					r.push(`You're strong enough that you can pretend to lead some semblance of a normal life with such a titanic belly weighing you down. The charade can only go on for so long before reality grounds you again.`);
+				} else if (PC.height >= 185) {
+					r.push(`You're tall enough that you can keep your titanic belly from touching the ground, but of course it's only temporary and the sheer weight of it quickly reminds you of why this is a bad idea.`);
+				} else {
+					r.push(`You have been reduced to nothing more than a greatly overfilled implant with a ${girlP} attached. While it is possible for you to heft your titanic belly off the floor, the sudden impact of its inevitable return is too much to bear.`);
+				}
+				if (PC.weight > 190) {
+					r.push(`Your massively fat belly is stretched to its limit, so much so your folds have been pulled flat and your softness, firm. The implant takes up so much room in your body that it can be clearly seen through your skin. It is so full, not one motion can be seen in its contents.`);
+				} else {
+					r.push(`The implant filling your body takes up so much room that it can be clearly seen through your skin. It is so full, not one motion can be seen in its contents.`);
+				}
+				if (PC.belly > (PC.pregAdaptation * 1000)) {
+					r.push(`Both it and you are at your respective limits, having it filled any larger may see both of you rupturing.`);
+				} else {
+					r.push(`While it may be at risk of rupturing, you yourself sure aren't. It's obscene that your body can support such an absurd mass inside itself without issue, but here you are.`);
+				}
+			}
+			r.push(stackedInflation());
+			if (canMove(PC)) {
+				r.push(`As laughable as it is, it is now easier to pivot around your boundless middle than try to reposition it to get a better look at yourself.`);
+				if (PC.bellyPreg > 0) {
+					if (PC.belly > (PC.pregAdaptation * 1000)) {
+						r.push(`Not that you really want to try, since every kick inside you feels like a punch to the gut and it's never just one.`);
+					} else {
+						r.push(`Not that you really want to try, since nobody wants to be the bottom of baby mountain and you really don't have the patience nor energy for them to sort it out themselves.`);
+					}
+				}
+			} else {
+				r.push(`It's practically impossible to roll into a position where you can see anything other than your boundless middle.`);
+				if (PC.belly > (PC.pregAdaptation * 1000)) {
+					r.push(`Not that you really want to try, since you feel like you could explode just from taking too deep of a breath.`);
+				} else if (PC.bellyPreg > 0) {
+					r.push(`Not that you really want to try, since any disturbance to the balance of power in your womb is liable to start a war that you really don't have the patience for.`);
+				}
+			}
+		} else if (PC.belly >= 450000) {
+			if (PC.bellyPreg > 0) {
+				r.push(`your <span class="orange">absolutely immense baby bump.</span>`);
+				if (PC.physicalAge <= 12) {
+					r.push(`Your youthful figure is grotesquely bloated by your pregnancy. It's impossible to keep your gigantic belly off the floor and there is a very serious risk of you being pinned beneath its crushing weight.`);
+				} else if (PC.height >= 185) {
+					r.push(`You're tall enough that you can keep your gigantic pregnancy from touching the ground; it's a considerable effort that your back, nor children, approve of, though.`);
+				} else if (PC.height < 150) {
+					r.push(`Your petite figure is utterly dwarfed by your pregnancy. It's impossible to keep your gigantic belly off the floor and there is a very serious risk of you being pinned beneath its crushing weight.`);
+				} else if (PC.muscles > 30) {
+					r.push(`You're strong enough that you can pretend to lead some semblance of a normal life with such a gigantic pregnancy weighing you down.`);
+				} else {
+					r.push(`Your body is dwarfed by your pregnancy. While it is possible for you to keep your gigantic belly off the floor, it isn't worth the risk of throwing out your back to do so. The ornery kicking doesn't do you any favors either.`);
+				}
+				if (PC.weight > 190) {
+					r.push(`Your massively fat belly is stretched to its limit, so much so your folds have been pulled flat. Your expansive middle is covered in an ever thinning layer of fat, save for the bulging upper portion where the fat is thinnest. In that, rather large, area, you can just make out shapes of the many babies filling your body.`);
+				} else {
+					r.push(`You are so full that you are beginning to run out of room. You can certainly feel them bulging the surface of your pregnancy, but more concerning is the fact that you are capable of seeing their faint outlines as well.`);
+				}
+				if (PC.preg < PC.pregData.normalBirth / 1.33) {
+					r.push(`Given how far along you are, you've pretty clearly managed to get yourself knocked up with an obscene, and very concerning, number of children.`);
+				} else if (PC.preg >= PC.pregData.normalBirth * .90) {
+					r.push(`It's hard to tell from the front, but your belly has dropped; you can see and feel the concentration of bulges beginning to crowd the exit. You'll have to keep your schedule clear for when the birthing starts, since you're going to be at it for quite a while.`);
+				}
+				if (PC.geneMods.rapidCellGrowth === 1) {
+					r.push(`While it is phyically impossible to check every angle of your entirety, there's not a single stretch mark marring what skin you can see. It's unthinkable that a ${girlP} of your size could have such flawless skin, but then again, you do have special properties.`);
+				} else if (PC.belly <= (PC.pregAdaptation * 1000)) {
+					r.push(`It's a little unnerving that your body has become so adapted to pregnancy that it has stretched to accomodate so many babies with nary a stretch mark.`);
+				} else {
+					r.push(`There's a slight sheen from all the cream you go through to stave off stretch marks across its expanse. Your skin is so tight that they can't be stopped at this point; better hope they are reversible afterwards.`);
+				}
+			} else {
+				r.push(`what <span class="orange">appears to be an immense massive baby bump.</span>`);
+				if (PC.physicalAge <= 12) {
+					r.push(`Your youthful figure is grotesquely bloated by your overfilled implant. It's impossible to keep the gigantic orb off the floor and there is a very serious risk of you being pinned beneath its crushing weight.`);
+				} else if (PC.height >= 185) {
+					r.push(`You're tall enough that you can keep your gigantic belly from touching the ground; it's a considerable effort that your back doesn't approve of, though.`);
+				} else if (PC.height < 150) {
+					r.push(`Your petite figure is utterly dwarfed by your overfilled implant. It's impossible to keep the gigantic orb off the floor and there is a very serious risk of you being pinned beneath its crushing weight.`);
+				} else if (PC.muscles > 30) {
+					r.push(`You're strong enough that you can pretend to lead some semblance of a normal life with such a gigantic belly weighing you down.`);
+				} else {
+					r.push(`Your body is dwarfed by your overfilled implant. While it is possible for you to keep your gigantic belly off the floor, it isn't worth the risk of throwing out your back to do so.`);
+				}
+				if (PC.weight > 190) {
+					r.push(`Your massively fat belly is stretched to its limit, so much so your folds have been pulled flat. Your expansive middle is covered in an ever thinning layer of fat, save for the bulging upper portion where the fat is thinnest. In that, rather large, area, you can just make out the protruding form of the implant distending your stomach.`);
+				} else {
+					r.push(`The implant takes up so much of your body that you can almost clearly see it beneath your skin.`);
+				}
+			}
+			r.push(stackedInflation());
+			if (canMove(PC)) {
+				r.push(`Not only is it impossible to see around your bulbous middle in the mirror, but it juts out so far that it is pressing against the cold surface despite your efforts to avoid being too close to it.`);
+				if (PC.bellyPreg > 0) {
+					r.push(`Of course, this set your brood off, so now your ${(PC.belly > (PC.pregAdaptation * 1000)) ? "sore" : ""} stomach is squirming about, making it difficult to get a good look at anything on its surface.`);
+				}
+			} else {
+				r.push(`It's near impossible to roll into a position where you can see anything other than your boundless middle.`);
+				if (PC.bellyPreg > 0) {
+					r.push(`Not that you really want to try, since moving too fast tends to rile your brood up and it takes them far too long to settle back down.`);
+				}
+			}
+		} else if (PC.belly >= 300000) {
+			if (PC.bellyPreg > 0) {
+				r.push(`your <span class="orange">abnormally massive baby bump.</span> It utterly dwarfs any normal pregnancy`);
+				if (PC.physicalAge <= 12) {
+					r.push(`and, in fact, your body as well. Since you are now more belly than ${girlP}, you are practically helpless and fully dependant on your slaves.`);
+				} else if (PC.height >= 185) {
+					r.push(r.pop() + `, but your tall frame makes living with it at least possible.`);
+				} else if (PC.height < 150) {
+					r.push(`and, in fact, your body as well. Since you are now more belly than ${girlP}, it is a real struggle to find any sort of position where your gravid mound isn't resting on the floor.`);
+				} else if (PC.muscles > 30) {
+					r.push(r.pop() + `, but your fit body allows you to at least physically support it.`);
+				} else {
+					r.push(`and, in fact, your body as well. Since you are now more belly than ${girlP}, it is a constant battle against letting your gravid mound reach the floor or risking being unable to lift it back up.`);
+				}
+				if (PC.weight > 190) {
+					r.push(`Your massively fat belly is stretched considerably, pulling your folds nearly flat from the strain. Your pregnancy is covered in a thick layer of fat, save for the bulging upper portion where the fat is thinner.`);
+				}
+				if (PC.preg < PC.pregData.normalBirth / 1.33) {
+					r.push(`Given how far along you are, you've pretty clearly managed to get yourself knocked up with an obscene, and slightly concerning, number of children.`);
+				} else if (PC.preg >= PC.pregData.normalBirth * .90) {
+					r.push(`It's hard to tell, but your belly has dropped; it won't be long now until it's time to start giving birth.`);
+				}
+				if (PC.geneMods.rapidCellGrowth === 1) {
+					r.push(`It might take effort to check your entirety, but there's not a single stretch mark marring your skin. It's really quite impressive for a ${girlP} of your size.`);
+				} else if (PC.belly <= (PC.pregAdaptation * 1000)) {
+					r.push(`Between the creams and your natural proclivity for pregnancy, there's not a single stretch mark marring your vast expanse of skin. If you had any peers, they might be jealous.`);
+				} else {
+					r.push(`There's a slight sheen from all the cream you go through to stave off stretch marks across its expanse. You're so big and stretched that they are beginning to become prominent anyway, despite your efforts.`);
+				}
+			} else {
+				r.push(`what <span class="orange">appears to be an absurdly massive baby bump.</span> It dwarfs any normal pregnancy`);
+				if (PC.physicalAge <= 12) {
+					r.push(`and, in fact, your body as well. Since you are now more belly than ${girlP}, you are practically helpless and fully dependant on your slaves.`);
+				} else if (PC.height >= 185) {
+					r.push(r.pop() + `, but your tall frame makes living with it possible.`);
+				} else if (PC.height < 150) {
+					r.push(`and, in fact, your body as well. Since you are now more belly than ${girlP}, it is a real struggle to find any sort of position where your swollen midsection isn't resting on the floor.`);
+				} else if (PC.muscles > 30) {
+					r.push(r.pop() + `, but your fit body allows you to at least physically support it.`);
+				} else {
+					r.push(`and, in fact, your body as well. Since you are now more belly than ${girlP}, it is a constant battle against letting your swollen midsection reach the floor or risking being unable to lift it back up.`);
+				}
+				if (PC.weight > 190) {
+					r.push(`Your massively fat belly is stretched considerably, pulling your folds nearly flat from the strain. Your expansive middle is covered in a thick layer of fat, save for the bulging upper portion where the fat is thinner.`);
+				}
+			}
+			r.push(stackedInflation());
+			if (canMove(PC)) {
+				r.push(`Not only is it impossible to see around your bulbous middle in the mirror, but it juts out so far that it is pressing against the cold surface despite your efforts to avoid being too close to it.`);
+			} else {
+				r.push(`It's near impossible to roll into a position where you can see anything other than your boundless middle.`);
+			}
+		} else if (PC.belly >= 150000) {
+			if (PC.bellyPreg > 0) {
+				r.push(`your <span class="orange">abnormally massive baby bump.</span> It protrudes further from you than any typical pregnancy ever should`);
+				if (PC.physicalAge <= 12) {
+					r.push(`and renders you barely capable of functioning under its sheer mass.`);
+				} else if (PC.height >= 185) {
+					r.push(r.pop() + `, but your tall frame makes living with it a bit more feasible.`);
+				} else if (PC.height < 150) {
+					r.push(`and practically cripples you between its size and weight.`);
+				} else {
+					r.push(`and is incredibly unwieldy to work with.`);
+				}
+				if (PC.weight > 190) {
+					r.push(`Your massively fat belly is stretched considerably, pulling your folds nearly flat from the strain. Your pregnancy is covered in a thick layer of fat, save for the bulging upper portion where the fat is thinner.`);
+				}
+				if (PC.geneMods.rapidCellGrowth === 1) {
+					r.push(`It might take effort to check your entirety, but there's not a single stretch mark marring your skin. It's really quite impressive for a ${girlP} of your size.`);
+				} else if (PC.belly <= (PC.pregAdaptation * 1000)) {
+					r.push(`Between the creams and your natural proclivity for pregnancy, there's not a single stretch mark marring your vast expanse of skin. If you had any peers, they might be jealous.`);
+				} else {
+					r.push(`There's a slight sheen from all the cream you go through to stave off stretch marks across its expanse. It's a losing prospect now that you're so big and your skin so stretched, however, but you've managed to keep them minimal.`);
+				}
+				if (PC.preg < PC.pregData.normalBirth / 1.33) {
+					r.push(`Given how far along you are, you've pretty clearly managed to get yourself knocked up with an obscene number of children.`);
+				} else if (PC.preg > PC.pregData.normalBirth * 1.05) {
+					if (PC.pregType === 1) {
+						r.push(`Your womb is laden with one single, utterly massive child. You can feel just how big and heavy it is from the amount of discomfort it puts on your body. At least you won't have to give birth to it, seeing as it is a physical impossibility.`);
+					} else if (PC.pregType === 2) {
+						r.push(`Your womb is laden with a pair of utterly massive children. You can feel just how big and heavy they are from the amount of discomfort they put on your body. At least you won't have to give birth to either of them, seeing as it is a physical impossibility.`);
+					} else if (PC.pregType === 3) {
+						r.push(`Your womb is laden with a trio of utterly massive children. You can feel just how big and heavy they are from the amount of discomfort they put on your body. At least you won't have to give birth to any of them, seeing as it is a physical impossibility.`);
+					} else if (PC.pregType === 4) {
+						r.push(`Your womb is laden with a quartet of utterly massive children. You can feel just how big and heavy they are from the amount of discomfort they put on your body. At least you won't have to give birth to any of them, seeing as it is a physical impossibility.`);
+					} else if (PC.pregType === 5) {
+						r.push(`Your womb is laden with a quintet of utterly massive children. You can feel just how big and heavy they are from the amount of discomfort they put on your body. At least you won't have to give birth to any of them, seeing as it is a physical impossibility.`);
+						r.push(`${His} womb contains a quintet of massive unborn children. They have grown so large that ${he} will never be able to birth them.`);
+					} else if (PC.pregType === 6) {
+						r.push(`Your womb is laden with a sextet of utterly massive children. You can feel just how big and heavy they are from the amount of discomfort they put on your body. At least you won't have to give birth to any of them, seeing as it is a physical impossibility.`);
+					} else if (PC.pregType === 7) {
+						r.push(`Your womb is laden with a septet of utterly massive children. You can feel just how big and heavy they are from the amount of discomfort they put on your body. At least you won't have to give birth to any of them, seeing as it is a physical impossibility.`);
+					} else if (PC.pregType === 8) {
+						r.push(`Your womb is laden with a octet of oversized babies. They're heavy and situated uncomfortably inside you; there is no way you can give birth to such a monster, let alone push out another seven after it.`);
+					}
+				} else if (PC.preg >= PC.pregData.normalBirth * .90) {
+					r.push(`Your stomach is hanging lower than it used to; it won't be long now until it's time to start giving birth.`);
+				}
+			} else {
+				r.push(`what <span class="orange">appears to be an abnormally massive baby bump.</span> It protrudes further from you than any typical pregnancy would`);
+				if (PC.physicalAge <= 12) {
+					r.push(`and renders you barely capable of functioning under its sheer mass.`);
+				} else if (PC.height >= 185) {
+					r.push(r.pop() + `, but your tall frame makes living with it a bit more feasible.`);
+				} else if (PC.height < 150) {
+					r.push(`and practically cripples you between its size and weight.`);
+				} else {
+					r.push(`and is incredibly unwieldy to work with.`);
+				}
+				if (PC.weight > 190) {
+					r.push(`Your massively fat belly is stretched considerably, pulling your folds nearly flat from the strain. Your expansive middle is covered in a thick layer of fat, save for the bulging upper portion where the fat is thinner.`);
+				}
+			}
+			r.push(stackedInflation());
+			r.push(`The region around your popped navel is now strictly off-limits to you, having moved completely out of your reach. Of course, that's where the itch you just can't scratch always is.`);
+		} else if (PC.belly >= 120000) {
+			if (PC.bellyPreg > 0) {
+				r.push(`the <span class="orange">massive swell of your very gravid belly`);
+				if (PC.physicalAge <= 12) {
+					r.push(r.pop() + `;</span> it's like having an entire second torso bulging out from your middle.`);
+				} else if (PC.weight > 190) {
+					r.push(r.pop() + `;</span> it's absolutely enormous with all the fat piled on it.`);
+				} else if (PC.height >= 185) {
+					r.push(r.pop() + `;</span> it juts out far ahead of you, but you're tall enough to steer it adequately.`);
+				} else if (PC.height < 150) {
+					r.push(r.pop() + `;</span> it's a stark contrast compared to your poor little frame.`);
+				} else {
+					r.push(r.pop() + `;</span> it juts out far ahead of you and is always in your way.`);
+				}
+				if (PC.preg < 40) {
+					r.push(`Given how fast you're growing, you might have quite a few more mouths to feed than anticipated.`);
+				} else if (PC.preg < 42) {
+					r.push(`You feel like a blimp; your <span class="orange">full-term octuplets</span> make your life as arcology owner extremely difficult.`);
+				} else if (PC.pregType === 1) {
+					r.push(`Your womb is laden with one single, utterly massive child. You can feel just how big and heavy it is from the amount of discomfort it puts on your body. At least you won't have to give birth to it, seeing as it is a physical impossibility.`);
+				} else if (PC.pregType === 2) {
+					r.push(`Your womb is laden with a pair of utterly massive children. You can feel just how big and heavy they are from the amount of discomfort they put on your body. At least you won't have to give birth to either of them, seeing as it is a physical impossibility.`);
+				} else if (PC.pregType === 3) {
+					if (WombGetFetalSizeSum(PC) < 105000) {
+						if (PC.skill.medicine >= 45 || V.pregnancyMonitoringUpgrade === 1) {
+							r.push(`It's a miracle your water hasn't broken yet, given that your womb contains more amniotic fluid than baby at this point. To be this size and only having triplets.`);
+						} else {
+							r.push(`You hope your triplets are enjoying their swim in the pool you feel like was forced up into you.`);
+						}
+					} else {
+						r.push(`Your womb is laden with a trio of utterly massive children. You can feel just how big and heavy they are from the amount of discomfort they put on your body. At least you won't have to give birth to any of them, seeing as it is a physical impossibility.`);
+					}
+				} else if (PC.pregType === 4) {
+					r.push(`Your womb is laden with a quartet of utterly massive children. You can feel just how big and heavy they are from the amount of discomfort they put on your body. At least you won't have to give birth to any of them, seeing as it is a physical impossibility.`);
+				} else if (PC.pregType === 5) {
+					r.push(`Your womb is laden with a quintet of massive children. They're heavy and rest uncomfortably inside you; there is no way you can give birth to such a monster, let alone five of them.`);
+				} else if (PC.pregType === 6) {
+					r.push(`Your womb is laden with a sextet of oversized babies. They're heavy and situated uncomfortably inside you; there is no way you can give birth to such a monster, let alone push out another five after it.`);
+				} else if (PC.pregType === 7) {
+					r.push(`Your womb is laden with a septet of oversized babies. They're heavy and situated uncomfortably inside you; there is no way you can give birth to such a monster, let alone push out another six after it.`);
+				}
+				if (PC.geneMods.rapidCellGrowth === 1) {
+					r.push(`It might take effort to check your entirety, but there's not a single stretch mark marring your skin. It's really quite impressive for a ${girlP} of your size.`);
+				} else if (PC.belly <= (PC.pregAdaptation * 1000)) {
+					r.push(`Between the creams and your natural proclivity for pregnancy, there's not a single stretch mark marring your vast expanse of skin. If you had any peers, they might be jealous.`);
+				} else {
+					r.push(`There's a slight sheen from all the cream you go through to stave off stretch marks across its expanse. It's a losing prospect now that you're so big and your skin so stretched, however, but you've managed to keep them minimal.`);
+				}
+			} else {
+				r.push(`what <span class="orange">appears to be a massive baby bump laden with full-term octuplets`);
+				if (PC.physicalAge <= 12) {
+					r.push(r.pop() + `;</span> it's like having an entire second torso bulging out from your middle.`);
+				} else if (PC.weight > 190) {
+					r.push(r.pop() + `;</span> it's absolutely enormous with all the fat piled on it.`);
+				} else if (PC.height >= 185) {
+					r.push(r.pop() + `;</span> it juts out far ahead of you, but you're tall enough to steer it well enough.`);
+				} else if (PC.height < 150) {
+					r.push(r.pop() + `;</span> it's a stark contrast compared to your poor little frame.`);
+				} else {
+					r.push(r.pop() + `;</span> it juts out far ahead of you and is always in your way.`);
+				}
+			}
+			r.push(stackedInflation());
+			r.push(`It's so big you can't reach your popped navel without the risk of straining something.`);
+		} else if (PC.belly >= 105000) {
+			if (PC.bellyPreg > 0) {
+				r.push(`the <span class="orange">enormous swell of your gravid belly`);
+				if (PC.weight > 190) {
+					r.push(r.pop() + `.</span> Given how massively fat you are, the firmness at the top of your gut is the only obvious sign that you're pregnant.`);
+				} else if (PC.physicalAge <= 12) {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that lewdly dominates your poor little frame.`);
+				} else if (PC.height < 150) {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that dominates your poor little frame.`);
+				} else {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that dominates your frame.`);
+				}
+				if (PC.preg < 40) {
+					r.push(`Given how fast you're growing, there's clearly more than seven crammed in there.`);
+				} else if (PC.preg < 42) {
+					if (PC.pregType === 3) {
+						if (PC.skill.medicine >= 45 || V.pregnancyMonitoringUpgrade === 1) {
+							r.push(`It's a miracle your water hasn't broken yet, given that your womb contains more amniotic fluid than baby at this point. To be this size and only having triplets.`);
+						} else {
+							r.push(`You hope your triplets are enjoying their swim in the pool you feel like was forced up into you.`);
+						}
+					} else {
+						r.push(`You feel absolutely massive; your <span class="orange">full-term septuplets</span> make your life as arcology owner very difficult.`);
+					}
+				} else if (PC.pregType === 1) {
+					r.push(`Your womb is laden with one single, utterly massive child. You can feel just how big and heavy it is from the amount of discomfort it puts on your body. At least you won't have to give birth to it, seeing as it is a physical impossibility.`);
+				} else if (PC.pregType === 2) {
+					r.push(`Your womb is laden with a pair of utterly massive children. You can feel just how big and heavy they are from the amount of discomfort they put on your body. At least you won't have to give birth to either of them, seeing as it is a physical impossibility.`);
+				} else if (PC.pregType === 3) {
+					if (WombGetFetalSizeSum(PC) < 105000) {
+						if (PC.skill.medicine >= 45 || V.pregnancyMonitoringUpgrade === 1) {
+							r.push(`It's a miracle your water hasn't broken yet; your triplets are surrounded by so much amniotic fluid that the slightest bump could unleash a flood.`);
+						} else {
+							r.push(`You feel like an overfilled water bed. You're certain that there are a pair of babies swimming around in you, but you've blown up like a ${girlP} having quads.`);
+						}
+					} else {
+						r.push(`Your womb is laden with a trio of utterly massive children. You can feel just how big and heavy they are from the amount of discomfort they put on your body. At least you won't have to give birth to any of them, seeing as it is a physical impossibility.`);
+					}
+				} else if (PC.pregType === 4) {
+					r.push(`Your womb is laden with a quartet of massive children. They're heavy and rest uncomfortably inside you; there is no way you can give birth to such a monster, let alone four of them.`);
+				} else if (PC.pregType === 5) {
+					r.push(`Your womb is laden with a quintet of oversized babies. They're heavy and situated uncomfortably inside you; there is no way you can give birth to such a monster, let alone push out another four after it.`);
+				} else if (PC.pregType === 6) {
+					r.push(`Your womb is laden with a sextet of oversized babies. They're heavy and situated uncomfortably inside you; there is no way you can give birth to such a monster, let alone push out another five after it.`);
+				}
+				if (PC.geneMods.rapidCellGrowth === 1) {
+					r.push(`It might take effort to check your entirety, but there's not a single stretch mark marring your skin.`);
+				} else if (PC.belly <= (PC.pregAdaptation * 1000)) {
+					r.push(`Between the creams and your natural proclivity for pregnancy, there's not a single stretch mark marring your vast expanse of skin.`);
+				} else {
+					r.push(`There's a slight sheen from all the cream you go through to stave off stretch marks across its expanse.`);
+				}
+			} else {
+				r.push(`what <span class="orange">appears to be a baby bump laden with full-term septuplets`);
+				if (PC.weight > 190) {
+					r.push(r.pop() + `.</span> Given how massively fat you are, the firmness at the top of your gut and the weight in its sway are the only obvious signs that somethings bulging it outwards.`);
+				} else if (PC.physicalAge <= 12) {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that lewdly dominates your poor little frame.`);
+				} else if (PC.height < 150) {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that dominates your poor little frame.`);
+				} else {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that dominates your frame.`);
+				}
+			}
+			r.push(stackedInflation());
+			r.push(`You're pretty certain there are places on your body you can no longer reach; it's good to have slaves.`);
+		} else if (PC.belly >= 90000) {
+			if (PC.bellyPreg > 0) {
+				r.push(`the <span class="orange">enormous swell of your gravid belly`);
+				if (PC.weight > 190) {
+					r.push(r.pop() + `.</span> Given how massively fat you are, the firmness at the top of your gut is the only obvious sign that you're pregnant.`);
+				} else if (PC.physicalAge <= 12) {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that lewdly dominates your poor little frame.`);
+				} else if (PC.height < 150) {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that dominates your poor little frame.`);
+				} else {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that dominates your frame.`);
+				}
+				if (PC.preg < 40) {
+					r.push(`Given how fast you're growing, there's clearly more than six crammed in there.`);
+				} else if (PC.preg < 42) {
+					r.push(`You feel absolutely massive; your <span class="orange">full-term sextuplets</span> make your life as arcology owner very difficult.`);
+				} else if (PC.pregType === 1) {
+					r.push(`Your womb is laden with one single, utterly massive child. You can feel just how big and heavy it is from the amount of discomfort it puts on your body. At least you won't have to give birth to it, seeing as it is a physical impossibility.`);
+				} else if (PC.pregType === 2) {
+					r.push(`Your womb is laden with a pair of utterly massive children. You can feel just how big and heavy they are from the amount of discomfort they put on your body. At least you won't have to give birth to either of them, seeing as it is a physical impossibility.`);
+				} else if (PC.pregType === 3) {
+					r.push(`Your womb is laden with a trio of massive children. They're heavy and rest uncomfortably inside you; there is no way you can give birth to such a monster, let alone three of them.`);
+				} else if (PC.pregType === 4) {
+					r.push(`Your womb is laden with a quartet of massive children. They're heavy and situated uncomfortably inside you; there is no way you can give birth to such a monster, let alone push out another three after it.`);
+				} else if (PC.pregType === 5) {
+					r.push(`Your womb is laden with a quintet of oversized babies. They're heavy and situated uncomfortably inside you; there is no way you can give birth to such a monster, let alone push out another four after it.`);
+				}
+				if (PC.geneMods.rapidCellGrowth === 1) {
+					r.push(`It might take effort to check your entirety, but there's not a single stretch mark marring your skin.`);
+				} else if (PC.belly <= (PC.pregAdaptation * 1000)) {
+					r.push(`Between the creams and your natural proclivity for pregnancy, there's not a single stretch mark marring your vast expanse of skin.`);
+				} else {
+					r.push(`There's a slight sheen from all the cream you go through to stave off stretch marks across its expanse.`);
+				}
+			} else {
+				r.push(`what <span class="orange">appears to be a baby bump laden with full-term sextuplets`);
+				if (PC.weight > 190) {
+					r.push(r.pop() + `.</span> Given how massively fat you are, the firmness at the top of your gut and the weight in its sway are the only obvious signs that somethings bulging it outwards.`);
+				} else if (PC.physicalAge <= 12) {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that lewdly dominates your poor little frame.`);
+				} else if (PC.height < 150) {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that dominates your poor little frame.`);
+				} else {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that dominates your frame.`);
+				}
+			}
+			r.push(stackedInflation());
+			r.push(`You're pretty certain there are places on your body you can no longer reach; it's good to have slaves.`);
+		} else if (PC.belly >= 75000) {
+			if (PC.bellyPreg > 0) {
+				r.push(`the <span class="orange">enormous swell of your gravid belly`);
+				if (PC.weight > 190) {
+					r.push(r.pop() + `.</span> Given how massively fat you are, the firmness at the top of your gut is the only obvious sign that you're pregnant.`);
+				} else if (PC.physicalAge <= 12) {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that lewdly dominates your poor little frame.`);
+				} else if (PC.height < 150) {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that dominates your poor little frame.`);
+				} else {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that dominates your frame.`);
+				}
+				if (PC.preg < 40) {
+					if (PC.pregType === 3) {
+						if (PC.skill.medicine >= 45 || V.pregnancyMonitoringUpgrade === 1) {
+							r.push(`It's a miracle your water hasn't broken yet; your triplets are surrounded by so much amniotic fluid that the slightest bump could unleash a flood.`);
+						} else {
+							r.push(`You feel like an overfilled water bed. You're certain that there are a pair of babies swimming around in you, but you've blown up like a ${girlP} having quads.`);
+						}
+					} else {
+						r.push(`Given how fast you're growing, there's clearly more than five crammed in there.`);
+					}
+				} else if (PC.preg < 42) {
+					if (PC.pregType === 3) {
+						if (PC.skill.medicine >= 45 || V.pregnancyMonitoringUpgrade === 1) {
+							r.push(`It's a miracle your water hasn't broken yet; your triplets are surrounded by so much amniotic fluid that the slightest bump could unleash a flood.`);
+						} else {
+							r.push(`You feel like a water balloon on the brink of bursting. You're certain that there are a trio of babies in you, but you've swollen up like a ${girlP} having quads.`);
+						}
+					} else {
+						r.push(`You feel absolutely massive; your <span class="orange">full-term quintuplets</span> make your life as arcology owner very difficult.`);
+					}
+				} else if (PC.pregType === 1) {
+					r.push(`Your womb is laden with one single, utterly massive child. You can feel just how big and heavy it is from the amount of discomfort it puts on your body. At least you won't have to give birth to it, seeing as it is a physical impossibility.`);
+				} else if (PC.pregType === 2) {
+					r.push(`Your womb is laden with a pair of utterly massive children. They're painfully heavy and rest uncomfortably inside you; there is no way such a monster would ever fit through you without tearing you asunder, but at least it would clear the way for its sibling.`);
+				} else if (PC.pregType === 3) {
+					r.push(`Your womb is laden with a trio of massive children. They're heavy and rest uncomfortably inside you; there is no way you can give birth to such a monster, let alone three of them.`);
+				} else if (PC.pregType === 4) {
+					r.push(`Your womb is laden with a quartet of oversized babies. They're heavy and situated uncomfortably inside you; there is no way you can give birth to such a monster, let alone push out another three after it.`);
+				}
+				if (PC.geneMods.rapidCellGrowth === 1) {
+					r.push(`It might take effort to check your entirety, but there's not a single stretch mark marring your skin.`);
+				} else if (PC.belly <= (PC.pregAdaptation * 1000)) {
+					r.push(`Between the creams and your natural proclivity for pregnancy, there's not a single stretch mark marring your vast expanse of skin.`);
+				} else {
+					r.push(`There's a slight sheen from all the cream you go through to stave off stretch marks across its expanse.`);
+				}
+			} else {
+				r.push(`what <span class="orange">appears to be a baby bump laden with full-term quintuplets`);
+				if (PC.weight > 190) {
+					r.push(r.pop() + `.</span> Given how massively fat you are, the firmness at the top of your gut and the weight in its sway are the only obvious signs that somethings bulging it outwards.`);
+				} else if (PC.physicalAge <= 12) {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that lewdly dominates your poor little frame.`);
+				} else if (PC.height < 150) {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that dominates your poor little frame.`);
+				} else {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that dominates your frame.`);
+				}
+			}
+			r.push(stackedInflation());
+			r.push(`It's beginning to be quite the challange to reach all of it.`);
+		} else if (PC.belly >= 60000) {
+			if (PC.bellyPreg > 0) {
+				r.push(`the <span class="orange">enormous swell of your gravid belly`);
+				if (PC.weight > 190) {
+					r.push(r.pop() + `.</span> Given how massively fat you are, the firmness at the top of your gut is the only obvious sign that you're pregnant.`);
+				} else if (PC.physicalAge <= 12) {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that lewdly dominates your poor little frame.`);
+				} else if (PC.height < 150) {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that dominates your poor little frame.`);
+				} else {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that dominates your frame.`);
+				}
+				if (PC.preg < 40) {
+					if (PC.pregType === 3) {
+						if (PC.skill.medicine >= 45 || V.pregnancyMonitoringUpgrade === 1) {
+							r.push(`Your womb is grossly inflated with excess amniotic fluid, masking that you're only having triplets.`);
+						} else {
+							r.push(`Your belly feels weird and kind of squishy, like it's more fluid than baby or something. You're pretty sure you're having triplets, so something else is going on.`);
+						}
+					} else {
+						r.push(`Given how fast you're growing, there's clearly more than four packed in there.`);
+					}
+				} else if (PC.preg < 42) {
+					if (PC.pregType === 2) {
+						if (PC.skill.medicine >= 45 || V.pregnancyMonitoringUpgrade === 1) {
+							r.push(`It's a miracle your water hasn't broken yet; your twins are surrounded by so much amniotic fluid that the slightest bump could unleash a flood.`);
+						} else {
+							r.push(`You feel like an overfilled water bed. You're certain that there are a pair of babies swimming around in you, but you've blown up like a ${girlP} having quads.`);
+						}
+					} else if (PC.pregType === 3) {
+						if (PC.skill.medicine >= 45 || V.pregnancyMonitoringUpgrade === 1) {
+							r.push(`It's a miracle your water hasn't broken yet; your triplets are surrounded by so much amniotic fluid that the slightest bump could unleash a flood.`);
+						} else {
+							r.push(`You feel like a water balloon on the brink of bursting. You're certain that there are a trio of babies in you, but you've swollen up like a ${girlP} having quads.`);
+						}
+					} else {
+						r.push(`You feel absolutely massive; your <span class="orange">full-term quadruplets</span> make your life as arcology owner very difficult.`);
+					}
+				} else if (PC.pregType === 1) {
+					r.push(`Your womb is laden with one single, utterly massive child. It's painfully heavy and rests uncomfortably inside you; there is no way such a monster would ever fit through you without tearing you asunder.`);
+				} else if (PC.pregType === 2) {
+					r.push(`Your womb is laden with a pair of massive children. They're heavy and rest uncomfortably inside you; there is no way you can give birth to such a monster, let alone two of them.`);
+				} else if (PC.pregType === 3) {
+					r.push(`Your womb is laden with a trio of oversized babies. They're heavy and situated uncomfortably inside you; there is no way you can give birth to such a monster, let alone push out another two after it.`);
+				}
+			} else {
+				r.push(`what <span class="orange">appears to be a baby bump laden with full-term quadruplets`);
+				if (PC.weight > 190) {
+					r.push(r.pop() + `.</span> Given how massively fat you are, the firmness at the top of your gut and the weight in its sway are the only obvious signs that somethings bulging it outwards.`);
+				} else if (PC.physicalAge <= 12) {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that lewdly dominates your poor little frame.`);
+				} else if (PC.height < 150) {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that dominates your poor little frame.`);
+				} else {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that dominates your frame.`);
+				}
+			}
+			r.push(stackedInflation());
+			r.push(`It's a good thing the mirror is as wide as it is; you'd have trouble viewing all of yourself otherwise.`);
+		} else if (PC.belly >= 45000) {
+			if (PC.bellyPreg > 0) {
+				r.push(`the <span class="orange">enormous swell of your gravid belly`);
+				if (PC.weight > 190) {
+					r.push(r.pop() + `.</span> Given how massively fat you are, the firmness at the top of your gut is the only obvious sign that you're pregnant.`);
+				} else if (PC.physicalAge <= 12) {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that lewdly dominates your poor little frame.`);
+				} else if (PC.height < 150) {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that dominates your poor little frame.`);
+				} else {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that dominates your frame.`);
+				}
+				if (PC.preg < 40) {
+					if (PC.pregType === 3) {
+						if (PC.skill.medicine >= 45 || V.pregnancyMonitoringUpgrade === 1) {
+							r.push(`Your womb is grossly inflated with excess amniotic fluid, masking that you're only having triplets.`);
+						} else {
+							r.push(`Your belly feels weird and kind of squishy, like it's more fluid than baby or something. You're pretty sure you're having triplets, so something else is going on.`);
+						}
+					} else {
+						r.push(`Given how fast you're growing, there's clearly more than three packed in there.`);
+					}
+				} else if (PC.preg < 42) {
+					if (PC.pregType === 2) {
+						if (PC.skill.medicine >= 45 || V.pregnancyMonitoringUpgrade === 1) {
+							r.push(`It's a miracle your water hasn't broken yet; your twins are surrounded by so much amniotic fluid that the slightest bump could unleash a flood.`);
+						} else {
+							r.push(`You feel like a water balloon on the brink of bursting. You're certain that there are a pair of babies in you, but you've swollen up like a ${girlP} having triplets.`);
+						}
+					} else {
+						r.push(`You feel absolutely massive; your <span class="orange">full-term triplets</span> make your life as arcology owner very difficult.`);
+					}
+				} else if (PC.pregType === 1) {
+					r.push(`Your womb is laden with one single, massive child. It's very heavy and rests uncomfortably inside you; there is no way you can give birth to such a monster.`);
+				} else if (PC.pregType === 2) {
+					r.push(`Your womb is laden with a pair of massive children. They're heavy and situated uncomfortably inside you; there is no way you can give birth to such a monster, let alone two of them.`);
+				}
+			} else {
+				r.push(`what <span class="orange">appears to be a baby bump laden with full-term triplets`);
+				if (PC.weight > 190) {
+					r.push(r.pop() + `.</span> Given how massively fat you are, the firmness at the top of your gut is the only obvious sign that somethings bulging it outwards.`);
+				} else if (PC.physicalAge <= 12) {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that lewdly dominates your poor little frame.`);
+				} else if (PC.height < 150) {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that dominates your poor little frame.`);
+				} else {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that dominates your frame.`);
+				}
+			}
+			r.push(stackedInflation());
+			r.push(`It's a good thing the mirror is as wide as it is; you'd have trouble viewing all of yourself otherwise.`);
+		} else if (PC.belly >= 30000) {
+			if (PC.bellyPreg > 0) {
+				r.push(`the <span class="orange">enormous swell of your gravid belly`);
+				if (PC.weight > 190) {
+					r.push(r.pop() + `.</span> Given how massively fat you are, the firmness at the top of your gut is the only obvious sign that you're pregnant.`);
+				} else if (PC.physicalAge <= 12) {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that lewdly dominates your poor little frame.`);
+				} else if (PC.height < 150) {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that dominates your poor little frame.`);
+				} else {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that dominates your frame.`);
+				}
+				if (PC.preg < 40) {
+					r.push(`Given how fast you're growing, there's clearly more than two in there.`);
+				} else if (PC.preg < 42) {
+					if (PC.pregType === 1) {
+						if (PC.skill.medicine >= 45 || V.pregnancyMonitoringUpgrade === 1) {
+							r.push(`While you may look ready to pop out twins at a moment's notice, there's really only one in there; the rest of your womb is filled with an obscene amount of amniotic fluid.`);
+						} else {
+							r.push(`You feel like a water balloon on the brink of bursting. You look like you're about to bring twins into the world, but you're pretty sure there's only one inside you.`);
+						}
+					} else {
+						r.push(`You feel absolutely massive; your <span class="orange">full-term twins</span> make your life as arcology owner very difficult.`);
+					}
+				} else if (PC.pregType === 1) {
+					if (WombGetFetalSizeSum(PC) < 30000) {
+						if (PC.skill.medicine >= 45 || V.pregnancyMonitoringUpgrade === 1) {
+							r.push(`You feel like you're about to pop, literally; there is so much amniotic fluid around your child that your water could break at any moment.`);
+						} else {
+							r.push(`You feel like a water balloon on the brink of bursting. You're certain that there is a baby in you, even though your dam is about to burst and flood everything around you.`);
+						}
+					} else {
+						r.push(`Your womb is laden with one single, massive child. It's heavy and rests uncomfortably inside you; there is no way you can give birth to such a monster.`);
+					}
+				}
+			} else {
+				r.push(`what <span class="orange">appears to be a baby bump laden with full-term twins`);
+				if (PC.weight > 190) {
+					r.push(r.pop() + `.</span> Given how massively fat you are, the firmness at the top of your gut is the only obvious sign that somethings amiss.`);
+				} else if (PC.physicalAge <= 12) {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that lewdly dominates your poor little frame.`);
+				} else if (PC.height < 150) {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that dominates your poor little frame.`);
+				} else {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that dominates your frame.`);
+				}
+			}
+			r.push(stackedInflation());
+			r.push(`You have to shift back and forth to get a good look at the entire thing.`);
+		} else if (PC.belly >= 15000) {
+			if (PC.bellyPreg > 0) {
+				r.push(`the <span class="orange">enormous swell of your gravid belly`);
+				if (PC.weight > 190) {
+					r.push(r.pop() + `.</span> Given how massively fat you are, the firmness at the top of your gut is the only obvious sign that you're pregnant.`);
+				} else if (PC.physicalAge <= 12) {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that lewdly dominates your poor little frame.`);
+				} else if (PC.height < 150) {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that dominates your poor little frame.`);
+				} else {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that dominates your frame.`);
+				}
+				if (PC.preg < 33) {
+					if (WombGetFetalSizeSum(PC) < 15000 && PC.pregType === 1) {
+						if (PC.skill.medicine >= 45 || V.pregnancyMonitoringUpgrade === 1) {
+							r.push(`While you may look ready to drop at any moment, there's only one in there; the rest of your womb is filled with an abnormal amount of amniotic fluid.`);
+						} else {
+							r.push(`Your belly feels weird and kind of squishy, like it's more fluid than baby or something. You're pretty sure you're only having one, despite how fast you're growing.`);
+						}
+					} else {
+						r.push(`Given how fast you're growing, there's clearly more than one in there.`);
+					}
+				} else {
+					r.push(`You feel absolutely massive; your <span class="orange">full-term belly</span> makes your life as arcology owner very difficult.`);
+				}
+			} else {
+				r.push(`what <span class="orange">appears to be a full-term baby bump`);
+				if (PC.weight > 190) {
+					r.push(r.pop() + `.</span> Given how massively fat you are, the firmness at the top of your gut is the only obvious sign that somethings amiss.`);
+				} else if (PC.physicalAge <= 12) {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that lewdly dominates your poor little frame.`);
+				} else if (PC.height < 150) {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that dominates your poor little frame.`);
+				} else {
+					r.push(r.pop() + `;</span> it's a drum-taut bulge that dominates your frame.`);
+				}
+			}
+			r.push(stackedInflation());
+			r.push(`You have to shift back and forth a little to get a good look at the entire thing.`);
+		} else if (PC.belly >= 10000) { // player inflation stops here (for now at least)
+			if (isBellyFluidLargest) {
+				r.push(`a <span class="orange">full tank of ${PC.inflationType}.</span>`);
+				if (PC.weight > 160) {
+					r.push(`Given how fat you are, it's hard to tell you're stuffed to the brim with it.`);
+				} else if (PC.physicalAge <= 12) {
+					r.push(`Such a massive, drum-taut belly just dominates your poor little frame.`);
+				} else if (PC.height < 150) {
+					r.push(`Such a massive, drum-taut belly just dominates your tiny frame.`);
+				} else {
+					r.push(`Such a massive, drum-taut belly is hard to look away from, especially with the noises coming out of it.`);
+				}
+			} else if (PC.bellyPreg > 0) {
+				r.push(`a <span class="orange">hugely pregnant belly</span>`);
+				if (PC.weight > 130) {
+					r.push(`coated in a think layer of fat. Only when touched can you feel the telltale firmness of the baby-filled womb hidden beneath.`);
+				} else if (PC.physicalAge <= 12) {
+					r.push(`that lewdly dominates your poor little frame.`);
+				} else if (PC.height < 150) {
+					r.push(`that dominates your tiny frame.`);
+				} else {
+					r.push(`that dominates your frame.`);
+				}
+				if (PC.preg < 20) {
+					r.push(`Given how massive you've blown up in just a few months, it makes sense to be worried about just how large you're going to get.`);
+				} else if (PC.preg < 30) {
+					r.push(`Given how fast you're growing, there's clearly more than one in there.`);
+				}
+				r.push(stackedInflation());
+				if (PC.belly >= 12000) {
+					r.push(`You can barely wrap your arm${hasBothArms(PC) ? "s" : ""} around it, and when you do, your popped navel reminds you of the bun${PC.pregType ? "s" : ""} in your oven.`);
+				} else {
+					r.push(`Finding clothing that properly fits is becoming a weekly ordeal.`);
+				}
+			} else {
+				r.push(`what <span class="orange">appears to be a huge baby bump</span>`);
+				if (PC.weight > 130) {
+					r.push(`coated in a think layer of fat. Only when touched can you feel the telltale firmness of the implant hidden beneath.`);
+				} else if (PC.physicalAge <= 12) {
+					r.push(`that lewdly dominates your poor little frame.`);
+				} else if (PC.height < 150) {
+					r.push(`that dominates your tiny frame.`);
+				} else {
+					r.push(`that dominates your frame.`);
+				}
+				r.push(stackedInflation());
+				if (PC.belly >= 12000) {
+					r.push(`You can barely wrap your arm${hasBothArms(PC) ? "s" : ""} around it, and when you do, your popped navel reminds you of just how much you've altered your body.`);
+				} else {
+					r.push(`Finding clothing that properly fits your implant is becoming a weekly ordeal.`);
+				}
+			}
+		} else if (PC.belly >= 7000) {
+			if (isBellyFluidLargest) {
+				r.push(`a belly thoroughly stuffed with ${PC.inflationType}`);
+				if (PC.weight > 130) {
+					r.push(r.pop() + `.</span> Given how fat you are, it's hard to tell the difference.`);
+				} else if (PC.physicalAge <= 12) {
+					r.push(r.pop() + `;</span> it's eye-catching on your little frame and tends to get in your way.`);
+				} else if (PC.height < 150) {
+					r.push(r.pop() + `;</span> it's eye-catching on your tiny frame and tends to get in your way.`);
+				} else {
+					r.push(r.pop() + `.</span>`);
+				}
+			} else if (PC.bellyPreg > 0) {
+				r.push(`a <span class="orange">belly rounded with child`);
+				if (PC.weight > 130) {
+					r.push(r.pop() + `.</span> Given how fat you are, it can be hard to tell that at a glance.`);
+				} else if (PC.physicalAge <= 12) {
+					r.push(r.pop() + `;</span> it's eye-catching on your little frame and starting to complicate day-to-day affairs.`);
+				} else if (PC.height < 150) {
+					r.push(r.pop() + `;</span> it's eye-catching on your tiny frame and starting to complicate day-to-day affairs.`);
+				} else {
+					r.push(`</span> that is starting to complicate day-to-day affairs.`);
+				}
+				r.push(stackedInflation());
+			} else {
+				r.push(`a <span class="orange">pregnant-looking belly`);
+				if (PC.weight > 130) {
+					r.push(r.pop() + `.</span> Given how fat you are, it just looks like a huge gut to most people.`);
+				} else if (PC.physicalAge <= 12) {
+					r.push(r.pop() + `;</span> it's eye-catching on your little frame and starting to complicate day-to-day affairs.`);
+				} else if (PC.height < 150) {
+					r.push(r.pop() + `;</span> it's eye-catching on your tiny frame and starting to complicate day-to-day affairs.`);
+				} else {
+					r.push(`</span> that is starting to complicate day-to-day affairs.`);
+				}
+				r.push(stackedInflation());
+			}
+		} else if (PC.belly >= 5000) {
+			if (isBellyFluidLargest) {
+				r.push(`a belly stuffed with ${PC.inflationType}`);
+				if (PC.weight > 130) {
+					r.push(r.pop() + `.</span> Given how fat you are, it's hard to tell the difference.`);
+				} else if (PC.physicalAge <= 12) {
+					r.push(r.pop() + `;</span> it's eye-catching on your little frame and tends to get in your way.`);
+				} else if (PC.height < 150) {
+					r.push(r.pop() + `;</span> it's eye-catching on your tiny frame and tends to get in your way.`);
+				} else {
+					r.push(r.pop() + `.</span>`);
+				}
+			} else if (PC.bellyPreg > 0) {
+				r.push(`a <span class="orange">belly rounded with child`);
+				if (PC.weight > 130) {
+					r.push(r.pop() + `.</span> Given how fat you are, it can be hard to tell that at a glance.`);
+				} else if (PC.physicalAge <= 12) {
+					r.push(r.pop() + `;</span> it's eye-catching on your little frame and starting to get in your way during sex and business.`);
+				} else if (PC.height < 150) {
+					r.push(r.pop() + `;</span> it's eye-catching on your tiny frame and starting to get in your way during sex and business.`);
+				} else {
+					r.push(`</span> that is starting to get in your way during sex and business.`);
+				}
+				r.push(stackedInflation());
+			} else {
+				r.push(`a <span class="orange">pregnant-looking belly`);
+				if (PC.weight > 130) {
+					r.push(r.pop() + `.</span> Given how fat you are, it just looks like a huge gut to most people.`);
+				} else if (PC.physicalAge <= 12) {
+					r.push(r.pop() + `;</span> it's eye-catching on your little frame and gets in your way during sex and business.`);
+				} else if (PC.height < 150) {
+					r.push(r.pop() + `;</span> it's eye-catching on your tiny frame and gets in your way during sex and business.`);
+				} else {
+					r.push(`</span> that gets in your way during sex and business.`);
+				}
+				r.push(stackedInflation());
+			}
+		} else if (PC.belly >= 1500) {
+			if (isBellyFluidLargest) {
+				r.push(`your <span class="orange">belly is visibly swollen with ${PC.inflationType}`);
+				if (PC.bellySag > Math.trunc(PC.belly / 100)) {
+					r.push(r.pop() + `,</span> but it is so catastrophically stretched out that it's hard to tell under all the loose skin.`);
+				} else {
+					if (PC.weight > 95) {
+						r.push(r.pop() + `,</span> but it's covered in so much fat that it's not obvious.`);
+					} else if (PC.physicalAge <= 12) {
+						r.push(`;</span> it looks positively huge on your youthful frame.`);
+					} else if (PC.height < 150) {
+						r.push(`;</span> it looks positively huge on your tiny frame.`);
+					} else if (PC.weight < -10) {
+						r.push(`;</span> it juts out obviously from your thin form.`);
+					} else {
+						r.push(r.pop() + `,</span> taking on a distinct curvature.`);
+					}
+				}
+			} else if (PC.bellyPreg > 0) {
+				r.push(`<span class="orange">a visible baby bump`);
+				if (PC.bellySag > Math.trunc(PC.belly / 100)) {
+					r.push(r.pop() + `,</span> but it is so catastrophically stretched out that it's hard to tell under all the loose skin.`);
+				} else {
+					if (PC.weight > 95) {
+						r.push(r.pop() + `,</span> but it's covered in so much fat that it's not obvious.`);
+					} else if (PC.physicalAge <= 12) {
+						r.push(`</span> that stands out on your youthful frame.`);
+					} else if (PC.height < 150) {
+						r.push(`</span> that stands out on your tiny frame.`);
+					} else if (PC.weight < -10) {
+						r.push(`</span> juts out obviously from your thin form.`);
+					} else {
+						r.push(r.pop() + `;</span> it's gotten large enough that there's no hiding it.`);
+					}
+				}
+			} else {
+				r.push(`your <span class="orange">fake baby bump`);
+				if (PC.bellySag > Math.trunc(PC.belly / 100)) {
+					r.push(r.pop() + `,</span> but it is so catastrophically stretched out that it's hard to tell under all the loose skin.`);
+				} else {
+					if (PC.weight > 95) {
+						r.push(r.pop() + `;</span> it's not obvious covered in so much fat, though.`);
+					} else if (PC.physicalAge <= 12) {
+						r.push(`</span> juts out obviously from your youthful frame.`);
+					} else if (PC.height < 150) {
+						r.push(`</span> juts out obviously from your tiny frame.`);
+					} else if (PC.weight < -10) {
+						r.push(`</span> juts out obviously from your thin form.`);
+					} else {
+						r.push(r.pop() + `;</span> it's big enough that there's no hiding it.`);
+					}
+				}
+			}
+			if (PC.bellySag > 0) {
+				r.push(`Your stomach is less saggy now that it ${(PC.bellyPreg > 0) ? "has" : "is"} filled out so much.`);
+			}
+		} else if (PC.belly >= 500) {
+			if (isBellyFluidLargest) {
+				r.push(`your <span class="orange">belly is very bloated with ${PC.inflationType}`);
+			} else if (PC.bellyPreg > 0) {
+				r.push(`your <span class="orange">belly is rounded by your early pregnancy`);
+			} else {
+				r.push(`your <span class="orange">belly is rounded out by your implant`);
+			}
+			if (PC.bellySag > Math.trunc(PC.belly / 100)) {
+				r.push(r.pop() + `,</span> but it's difficult to tell with how stretched out it is.`);
+			} else {
+				if (PC.weight > 95) {
+					r.push(r.pop() + `,</span> but it's covered in so much fat that it's near impossible to tell.`);
+				} else if (PC.physicalAge <= 12) {
+					r.push(`;</span> it's abundantly clear on your youthful frame.`);
+				} else if (PC.weight < -10) {
+					r.push(`;</span> it's very obvious on your thin frame.`);
+				} else {
+					r.push(r.pop() + `,</span> but it's not very obvious.`);
+				}
+				if (PC.bellySag > 0) {
+					r.push(`Your stomach is less saggy now that it has filled out some.`);
+				}
+			}
+		} else if (PC.belly >= 250) {
+			if (isBellyFluidLargest) {
+				r.push(`your <span class="orange">belly is bloated with ${PC.inflationType}`);
+			} else if (PC.bellyPreg > 0) {
+				r.push(`your <span class="orange">lower belly is beggining to stick out`);
+			} else {
+				r.push(`your <span class="orange">lower belly is sticking out`);
+			}
+			if (PC.bellySag > Math.trunc(PC.belly / 100)) {
+				r.push(r.pop() + `,</span> but it's near impossible to tell with how stretched out it is.`);
+				if (PC.bellyPreg > 0) {
+					r.push(`You're still definitely pregnant, despite that.`);
+				}
+			} else {
+				if (PC.weight > 95) {
+					r.push(r.pop() + `,</span> but it's covered in so much fat that it's near impossible to tell.`);
+				} else if (PC.physicalAge <= 12) {
+					r.push(`;</span> it's abundantly clear on your youthful frame.`);
+				} else if (PC.weight < -10) {
+					r.push(`;</span> it's very obvious on your thin frame.`);
+				} else {
+					r.push(r.pop() + `,</span> but it's not very obvious.`);
+				}
+				if (PC.bellyPreg > 0) {
+					r.push(`You're definitely pregnant.`);
+				}
+				if (PC.bellySag > 0) {
+					r.push(`Your stomach is less saggy now that it has filled out some.`);
+				}
+			}
+		} else if (PC.belly >= 100) {
+			r.push(`your <span class="orange">belly is a little`);
+			if (isBellyFluidLargest) {
+				r.push(`bloated with ${PC.inflationType}`);
+			} else if (PC.bellyPreg > 0) {
+				r.push(`swollen`);
+			} else {
+				r.push(`bloated`);
+			}
+			if (PC.bellySag > Math.trunc(PC.belly / 100)) {
+				r.push(r.pop() + `,</span> but it's near impossible to tell with how stretched out it is.`);
+				if (PC.bellyPreg > 0) {
+					r.push(`In addition to this development, you've also missed your period, so odds are you're pregnant.`);
+				}
+			} else {
+				if (PC.weight > 95) {
+					r.push(r.pop() + `,</span> but it's covered in so much fat that it's near impossible to tell.`);
+				} else if (PC.physicalAge <= 12) {
+					r.push(`</span> and abundantly clear on your youthful frame.`);
+				} else if (PC.weight < -10) {
+					r.push(`</span> and very obvious on your thin frame.`);
+				} else {
+					r.push(r.pop() + `,</span> but not very obvious.`);
+				}
+				if (PC.bellyPreg > 0) {
+					r.push(`Since, in addition to this development, you've also missed your period, odds are you're pregnant.`);
+				}
+				if (PC.bellySag > 0) {
+					r.push(`Your stomach is less saggy now that it has filled out some.`);
+				}
+			}
+		} else if (PC.bellySagPreg > 20) {
+			r.push(`your`);
+			if (PC.geneMods.rapidCellGrowth !== 1) {
+				r.push(`stretch mark streaked`);
+			} else {
+				r.push(`overstretched`);
+			}
+			r.push(`stomach sags down to your knees after being distended for so long by so many children.`);
+		} else if (PC.bellySag > 20) {
+			r.push(`your`);
+			if (PC.geneMods.rapidCellGrowth !== 1) {
+				r.push(`stretch mark streaked`);
+			} else {
+				r.push(`overstretched`);
+			}
+			r.push(`stomach sags down to your knees after being stretched too much for too long.`);
+		} else if (PC.weight > 190) {
+			if (PC.muscles > 95) {
+				r.push(`your massive abs are lost in an overwhelming sea of flab; you're so massively fat that your navel has also gone missing deep in one of your folds. Multiple thick rolls run along your belly's sides around to your flabby back.`);
+			} else if (PC.muscles > 30) {
+				r.push(`your abs are lost in an overwhelming sea of flab; you're so massively fat that your navel has also gone missing deep in one of your folds. Multiple thick rolls run along your belly's sides around to your flabby back.`);
+			} else {
+				r.push(`a tremendous amount of your weight billows outwards; you're so massively fat that your navel is lost deep in one of your folds. Multiple thick rolls run along your belly's sides around to your flabby back.`);
+			}
+			if (PC.bellySag >= 1) {
+				r.push(`Your immensely fat belly sags`);
+				if (PC.bellySag >= 10) {
+					r.push(`considerably`);
+				}
+				r.push(`after ${bellySagType}, but most won't be able to tell since it has always sagged under its crushing weight and massive size.`);
+			}
+		} else if (PC.weight > 160) {
+			if (PC.muscles > 95) {
+				r.push(`your massive abs are shrouded by an extra thick layer of fat; you're so hugely obese that your navel is buried deep in one of your folds. It is just one of several thick rolls that run along your belly's sides around to your flabby back.`);
+			} else if (PC.muscles > 30) {
+				r.push(`your abs are hidden behind you massive, soft stomach; you're so hugely fat that your navel is buried deep in one of your folds. It is just one of several thick rolls that run along your belly's sides around to your flabby back.`);
+			} else {
+				r.push(`a huge amount of your weight billows outwards; you're so hugely fat that your navel is buried deep in one of your folds. It is just one of several thick rolls that run along your belly's sides around to your flabby back.`);
+			}
+			if (PC.bellySag >= 1) {
+				r.push(`Your hugely fat belly is sagging`);
+				if (PC.bellySag >= 10) {
+					r.push(`considerably`);
+				}
+				r.push(`after ${bellySagType}, but most won't be able to tell since it always hangs low due to its size and weight.`);
+			}
+		} else if (PC.weight > 130) {
+			if (PC.muscles > 95) {
+				r.push(`your massive abs are shrouded by a thick layer of fat. In fact, you're so fat that your navel is buried in a fold of your belly that runs from it around to your back.`);
+			} else if (PC.muscles > 30) {
+				r.push(`your abs are hidden behind a huge soft stomach; you're so fat that a thick fold runs from your back to your navel.`);
+			} else {
+				r.push(`most of your weight can be found; you're so fat that a thick fold runs from your back to your navel.`);
+			}
+			if (PC.bellySag >= 1) {
+				r.push(`Your big fat belly is sagging`);
+				if (PC.bellySag >= 10) {
+					r.push(`considerably`);
+				}
+				r.push(`after ${bellySagType}.`);
+			}
+		} else if (PC.weight > 95) {
+			if (PC.muscles > 95) {
+				r.push(`your massive abs are shrouded by a thick layer of fat. In fact, you're so fat that your navel disappeared into your folds as well.`);
+			} else if (PC.muscles > 30) {
+				r.push(`your abs are hidden behind a big soft stomach; you're so fat that your navel has disappeared into your belly fold.`);
+			} else {
+				r.push(`most of your weight can be found; you're so fat that your navel has disappeared into your belly fold.`);
+			}
+			if (PC.bellySag >= 1) {
+				r.push(`Your fat belly is sagging`);
+				if (PC.bellySag >= 10) {
+					r.push(`considerably`);
+				}
+				r.push(`after ${bellySagType}.`);
+			}
+		} else if (PC.weight > 30) {
+			if (PC.muscles > 30) {
+				r.push(`a well-padded belly, but you're ripped enough that your abs are still ${PC.muscles > 95 ? "clearly" : "subtly"} visible.`);
+			} else if (PC.muscles > 5) {
+				r.push(`a chubby and soft belly; you've got abs in there somewhere, though.`);
+			} else {
+				r.push(`a chubby and soft belly.`);
+			}
+			if (PC.bellySag >= 1) {
+				if (PC.muscles > 30) {
+					r.push(`They've`);
+				} else {
+					r.push(`It's`);
+				}
+				if (PC.bellySag >= 10) {
+					r.push(`been completely ruined from ${bellySagType}.`);
+				} else if (PC.bellySag >= 5) {
+					r.push(`been completely stretched out from ${bellySagType}.`);
+				} else {
+					r.push(`been a little stretched out by ${bellySagType}, however.`);
+				}
+			}
+		} else if (PC.weight > 10) {
+			if (PC.muscles > 30) {
+				r.push(`ripped abs that are still visible beneath your layer of belly fat.`);
+			} else if (PC.muscles > 5) {
+				r.push(`a fit but soft middle; your toned abs blend into belly fat.`);
+			} else {
+				r.push(`a pleasantly soft belly.`);
+			}
+			if (PC.bellySag >= 1) {
+				if (PC.muscles > 5) {
+					r.push(`They've`);
+				} else {
+					r.push(`It's`);
+				}
+				if (PC.bellySag >= 10) {
+					r.push(`been completely ruined from ${bellySagType}.`);
+				} else if (PC.bellySag >= 5) {
+					r.push(`been completely stretched out from ${bellySagType}.`);
+				} else {
+					r.push(`been a little stretched out by ${bellySagType}, however.`);
+				}
+			}
+		} else if (PC.weight >= -10) {
+			if (PC.muscles > 30) {
+				r.push(`rippling abs, each well-defined under the skin of your midsection.`);
+			} else if (PC.muscles > 5) {
+				r.push(`a nicely toned midsection.`);
+			} else {
+				r.push(`a flat belly with just a hint of softness to it.`);
+			}
+			if (PC.bellySag >= 1) {
+				if (PC.bellySag >= 10) {
+					r.push(`Well, you did; your belly has been completely ruined by ${bellySagType}.`);
+				} else if (PC.bellySag >= 5) {
+					r.push(`Well, you did; it's been completely stretched out from ${bellySagType}.`);
+				} else if (PC.bellySag >= 2) {
+					r.push(`It's still loose from ${bellySagType}, however.`);
+				} else {
+					r.push(`It's a bit loose still from ${bellySagType}, however.`);
+				}
+			}
+		} else if (PC.weight >= -30) {
+			if (PC.muscles > 30) {
+				if (PC.bellySag >= 1) {
+					r.push(`your chiseled abs are distorted and stretched from ${bellySagType}.`);
+				} else {
+					r.push(`you have chiseled abs clearly visible under the skin of your thin midsection.`);
+				}
+			} else if (PC.muscles > 5) {
+				if (PC.bellySag >= 10) {
+					r.push(`your once toned belly sags considerably from ${bellySagType}.`);
+				} else if (PC.bellySag >= 5) {
+					r.push(`your once toned belly is saggy from ${bellySagType}.`);
+				} else if (PC.bellySag >= 2) {
+					r.push(`a trim, if slightly bloated from ${bellySagType}, belly.`);
+				} else if (PC.bellySag >= 1) {
+					r.push(`a toned, if slightly swollen from ${bellySagType}, belly.`);
+				} else {
+					r.push(`a toned midsection.`);
+				}
+			} else {
+				if (PC.bellySag >= 10) {
+					r.push(`your once trim belly sags considerably from ${bellySagType}.`);
+				} else if (PC.bellySag >= 5) {
+					r.push(`your trim belly is saggy from ${bellySagType}.`);
+				} else if (PC.bellySag >= 2) {
+					r.push(`a trim, if slightly bloated from ${bellySagType}, belly.`);
+				} else if (PC.bellySag >= 1) {
+					r.push(`a trim, if slightly swollen from ${bellySagType}, belly.`);
+				} else {
+					r.push(`a trim midsection, without any hint of belly or musculature.`);
+				}
+			}
+		} else {
+			if (PC.muscles > 5) {
+				if (PC.bellySag >= 10) {
+					r.push(`a once trim belly that sags considerably from ${PC.bellySagPreg > 1 ? "your recent pregnancy" : "overstretching"}. As for your abs, they've seen better days.`);
+				} else if (PC.bellySag >= 5) {
+					r.push(`your trim belly and its abs are stretched and saggy from ${bellySagType}.`);
+				} else if (PC.bellySag >= 2) {
+					r.push(`your trim belly and its abs are a little stretched out from ${bellySagType}.`);
+				} else if (PC.bellySag >= 1) {
+					r.push(`your trim belly and its abs are a little swollen from ${bellySagType}.`);
+				} else {
+					r.push(`clear cut abs stretched over a trim belly.`);
+				}
+			} else {
+				if (PC.bellySag >= 10) {
+					r.push(`a once trim belly that sags considerably from ${bellySagType}.`);
+				} else if (PC.bellySag >= 5) {
+					r.push(`a trim belly still saggy from ${bellySagType}.`);
+				} else if (PC.bellySag >= 2) {
+					r.push(`a trim, if slightly bloated from ${bellySagType}, belly.`);
+				} else if (PC.bellySag >= 1) {
+					r.push(`a trim, if slightly swollen from ${bellySagType}, belly.`);
+				} else {
+					r.push(`a trim, if slightly concave, belly.`);
+				}
+			}
+		}
+		return r.join(" ");
+	}
+
+	function bellyAccessibility() {
+		const r = [];
+
+		if (PC.belly >= 300000) {
+			if (V.pregAccessibility === 1) {
+				r.push(`Fortunately, you've had the penthouse remodeled to support ${girlP}s with such motherly figures, so fitting through the doors, using furniture and reaching things isn't a concern.`);
+			} else {
+				r.push(`Even worse, the penthouse was not designed to handle ${girlP}s with a figure as motherly as yours; you crowd the halls, get stuck in doors and on furniture, and can never reach anything without your belly bumping into something.`);
+			}
+		}
+
+		return r.join(" ");
+	}
+
+	function weight() {
+		const r = [];
+		const isBellyHeavy =
+				(PC.belly >= 400000 + (PC.muscles * 2000) && PC.physicalAge >= 18) ||
+				(PC.belly >= 300000 + (PC.muscles * 1000) && PC.physicalAge >= 13) ||
+				(PC.belly >= 200000 + (PC.muscles * 800) && PC.physicalAge <= 12);
+		const isBellyInWay =
+			(PC.belly >= 60000) ||
+			(PC.belly >= 60000 / (1 + Math.pow(Math.E, -0.4 * (PC.physicalAge - 14)))) ||
+			(PC.belly >= Math.max(10000, ((12500 / 19) * PC.height) - (1172500 / 19)));
+
+		if ((PC.physicalAge <= 12 && PC.belly >= 300000) ||
+			(PC.physicalAge < 18 && PC.belly >= 600000) ||
+			(PC.physicalAge >= 18 && PC.belly >= 1000000)) {
+			if (PC.bellyPreg > 0) {
+				r.push(`You've grown so large and heavy that`);
+			} else {
+				r.push(`You're so bulbous and heavy that`);
+			}
+			r.push(`you can no longer realistically move yourself are now confined to your bedroom.`);
+			if (PC.bellyPreg > 0) {
+				r.push(`You'll never be lonely though, not with all the lives pinning you down.`);
+			} else {
+				r.push(`It's so wide that even lying down is uncomfortable wihout a mountain of pillows to support your body with.`);
+			}
+		} else if (isBellyHeavy) {
+			r.push(`You're so bulbous and heavy that it makes it getting around a challange.`);
+			if (canWalk(PC)) {
+				r.push(`Once you manage to get to your feet you're still capable of walking in an exaggerated waddle with a heavily arched back; whatever it takes to keep balance and support your crippling weight.`);
+			} else if (PC.belly >= 750000) {
+				r.push(`It's not surprising really, given your sheer mass and straining wheelchair.`);
+			} else {
+				r.push(`It's not surprising really, given your condition.`);
+			}
+			r.push(bellyAccessibility());
+		} else if (isBellyInWay) {
+			r.push(`Your legs and back get a serious workout from having to waddle around all day, but the biggest nuisance is just how much your belly is in the way of everything you do.`);
+			r.push(bellyAccessibility());
+		}
+
+		return r.join(" ");
+	}
+
+	function mpreg() {
+		const r = [];
+		if (PC.mpreg === 1 && PC.belly < 100 && PC.weight < 10 && PC.bellySag === 0) {
+			r.push(`Your abdomen has a subtle curve to it, right where your special womb rests.`);
+		}
+		return r.join(" ");
+	}
+
+	function thoughts() {
+		const r = [];
+		if (PC.belly >= 750000) {
+			r.push(`You run your hand${hasBothArms(PC) ? "s" : ""} across as much of your belly as you can,`);
+			if (PC.bellyPreg > 0) {
+				r.push(`paying special attention to each and every child you caress. You like to think they're enjoying the attention as the squirm beneath your ministrations.`);
+			} else {
+				r.push(`savoring the tingling sensations that only an implant of this size can supply you.`);
+			}
+		} else if (PC.belly >= 600000) {
+			r.push(`You caress your belly as best you can,`);
+			if (PC.bellyPreg > 0) {
+				r.push(`enjoying the bodies of your children psuhing back against you.`);
+			} else {
+				r.push(`shuddering with overwhelming lust over just how far you've taken this.`);
+			}
+		} else if (PC.belly >= 450000) {
+			r.push(`You caress your belly as best you can,`);
+			if (PC.bellyPreg > 0) {
+				r.push(`enjoying the sensations of life pushing back against you.`);
+			} else {
+				r.push(`shuddering with lust over just how far you've taken this.`);
+			}
+		} else if (PC.belly >= 300000) {
+			if (PC.bellyPreg > 0) {
+				r.push(`You caress your belly for a moment, enjoying the sensations of life inside you.`);
+			} else {
+				r.push(`You shudder with lust over the situation this belly has put you in.`);
+			}
+		} else if (PC.belly >= 120000) {
+			r.push(`You can barely get up without a helping hand,`);
+			if (PC.bellyPreg > 0) {
+				r.push(`but doing so just riles up your children. You give your belly a pat for good measure, only encouraging your ${pregNumberName(PC.pregType, 2)} to squirm in excitement.`);
+			} else {
+				r.push(`but you wouldn't still have this belly if you didn't find that arousing, would you?`);
+			}
+		} else if (PC.belly >= 105000 && canStand(PC)) {
+			r.push(`You have trouble standing up and sitting down, with the former an exhausting endeavor.`);
+		} else if (PC.belly >= 90000 && canWalk(PC)) {
+			r.push(`Even the shortest waddle is exhausting, and your ankles ache just thinking about the stairs.`);
+		} else if (PC.belly >= 75000) {
+			r.push(`You feel full at all times,`);
+			if (PC.bellyPreg > 0) {
+				r.push(`something your children love to remind you of as they kick away without a care.`);
+			} else {
+				r.push(`likely from the pressure being applied to your internal organs from the implant.`);
+			}
+		} else if (PC.belly >= 30000) {
+			r.push(`Finding clothing that fits properly while suiting a ${womanP} of your status is becoming tiring, though not as much as the tailoring bills.`);
+		} else if (PC.belly >= 1500 && isBellyFluidLargest) {
+			r.push(`You pat your middle, eliciting an unhappy groan as your body does its best to digest everything you've forced into it.`);
+		} else if (PC.weight > 95) {
+			r.push(`The way you jiggle as you look yourself over is quite hypnotic.`);
+			if (PC.weight > 130) {
+				r.push(`You pat your middle as it starts to growl; your appetite is proportionate to your waistline these days.`);
+			}
+		}
+		if ((PC.dick > 0 || PC.genes === "XY") && PC.prostate > 0 && PC.preg > 0 && PC.preg > PC.pregData.normalBirth * .75) { // Do this here for dicks and males, otherwise do it in the special vagina description
+			r.push(`Not only is your bladder under constant pressure from your advanced pregnancy, but your prostate is too. Between that and your baby's movements, you find it difficult to not be in a state of constant arousal.`);
+		}
+		if (onBedRest(PC)) {
+			if ((PC.bellyPreg >= PC.pregAdaptation * 2200) || (PC.womb.find((ft) => ft.genetics.geneticQuirks.polyhydramnios === 2 && ft.age >= 20))) {
+				r.push(`You are undergoing a <span class="red">very high risk pregnancy,</span> so to avoid giving birth prematurely, you have been placed on medical bed rest.`);
+			} else if (PC.preg > PC.pregData.normalBirth / 1.05) {
+				r.push(`You're far enough along at this point that it's in your best interest to stay in the nest and wait things out instead of risking going to labor at an inopportune time.`);
+			}
+			if (PC.bellyPreg > PC.pregAdaptation * 1000 && PC.bellyPreg < PC.pregAdaptation * 2200) {
+				r.push(`You are undergoing a <span class="red">high risk pregnancy,</span> so taking things easy is probably a good idea.`);
+			}
+		}
+		return r.join(" ");
+	}
+
+	r.push(
+		flesh(),
+		mpreg(),
+		weight(),
+		thoughts()
+	);
+
+
+	/* translate between pregnancy and dick descriptions
+	if (PC.preg > 0) {
+		if (PC.belly < 100) {
+			r.push(`Your <span class="red">period hasn't happened in some time;</span> you might be pregnant.`);
+		}
+	}
+	*/
+
+	return r.join(" ");
+};
diff --git a/src/player/desc/pLongBody.js b/src/player/desc/pLongBody.js
new file mode 100644
index 0000000000000000000000000000000000000000..90f33d7930b356f8de23c49cdad590fb2d20fd0b
--- /dev/null
+++ b/src/player/desc/pLongBody.js
@@ -0,0 +1,293 @@
+App.Desc.Player.body = function(PC) {
+	const r = [];
+
+	const averageHeight = Height.mean(PC);
+
+	r.push(
+		age(),
+		height(),
+		`and`,
+		weight(),
+		muscles(),
+		overweight(),
+		shoulders(),
+		limbs(),
+		heightImplant()
+	);
+
+	return r.join(" ");
+
+	function age() {
+		const r = [];
+		let ageDifference = '';
+
+		if (PC.actualAge >= 65) {
+			if (PC.visualAge > PC.actualAge) {
+				ageDifference = `You've taken measures to <span class="lime">look an older ${PC.visualAge},</span> though perhaps it might be time to undo it.`;
+			} else if (PC.visualAge < PC.actualAge) {
+				ageDifference = `You've taken measures to <span class="lime">look a younger ${PC.visualAge}.</span> If only your body agreed with your looks.`;
+			}
+			r.push(`You're <span class="orange">${PC.actualAge}</span> and definitely feeling it.`, ageDifference);
+		} else if (PC.actualAge >= 50) {
+			if (PC.visualAge > PC.actualAge) {
+				ageDifference = `You've taken measures to <span class="lime">look an older ${PC.visualAge}.</span>`;
+			} else if (PC.visualAge < PC.actualAge) {
+				ageDifference = `You've taken measures to <span class="lime">look a younger ${PC.visualAge}.</span>`;
+			}
+			r.push(`You're <span class="orange">${PC.actualAge}</span> and starting to feel it.`, ageDifference);
+		} else if (PC.actualAge >= 35) {
+			if (PC.visualAge > PC.actualAge) {
+				ageDifference = `You've taken measures to <span class="lime">look an older ${PC.visualAge}</span> and reap the respect that comes with it.`;
+			} else if (PC.visualAge < PC.actualAge) {
+				ageDifference = `You've taken measures to <span class="lime">look a younger ${PC.visualAge},</span> recapturing your youth.`;
+			}
+			r.push(`You're <span class="orange">${PC.actualAge}</span> and strong.`, ageDifference);
+		} else if (PC.actualAge >= 18) {
+			if (PC.visualAge > PC.actualAge) {
+				ageDifference = `You've taken measures to <span class="lime">look an older ${PC.visualAge}</span> and reap the respect that comes with it.`;
+			} else if (PC.visualAge < PC.actualAge) {
+				ageDifference = `You've taken measures to <span class="lime">look a younger ${PC.visualAge},</span> ${PC.visualAge < V.minimumSlaveAge ? "even though society may find your looks uncomfortable" : "since it's never too early to preserve your youth"}.`;
+			}
+			r.push(`You're <span class="orange">${PC.actualAge}</span> and full of vigor.`, ageDifference);
+		} else if (PC.actualAge >= V.minimumSlaveAge) {
+			if (PC.visualAge > PC.actualAge) {
+				ageDifference = `You've taken measures to <span class="lime">look an older ${PC.visualAge},</span> though it can only do so much given your physique.`;
+			} else if (PC.visualAge < PC.actualAge) {
+				ageDifference = `You've taken measures to <span class="lime">look a younger ${PC.visualAge},</span> ${PC.visualAge < V.minimumSlaveAge ? "even though society may find your looks uncomfortable" : "since it's never too early to preserve your youth"}.`;
+			}
+			r.push(`You're <span class="orange">${PC.actualAge}</span> and full of vigor.`, ageDifference);
+		} else {
+			if (PC.visualAge > PC.actualAge) {
+				ageDifference = `You've taken measures to <span class="lime">look an older ${PC.visualAge},</span> ${PC.visualAge >= V.minimumSlaveAge ? "which may be upsetting to potential partners when they discover how old you are" : "though it can only do so much given your physique"}.`;
+			} else if (PC.visualAge < PC.actualAge) {
+				ageDifference = `You've taken measures to <span class="lime">look a younger ${PC.visualAge},</span> which will likely be disturbing to any partners you might take.`;
+			}
+			r.push(`You're <span class="orange">${PC.actualAge}</span> and full of vigor, if still underage by society's standards.`, ageDifference);
+		}
+		if (V.playerAging) {
+			r.push(`Your birthday is ${PC.birthWeek === 51 ? `next week` : `in ${52 - PC.birthWeek} weeks`}.`);
+		}
+		return r.join(" ");
+	}
+
+	function height() {
+		const r = [];
+		const age = PC.physicalAge < 16 ? ` for your age` : ``;
+
+		r.push(`You're`);
+		if (PC.height <= (averageHeight + 5) && PC.height >= (averageHeight - 5)) {
+			r.push(`an average height${age}`);
+		} else if (PC.height < (averageHeight - 15)) {
+			r.push(`petite${age}`);
+		} else if (PC.height < (averageHeight - 5)) {
+			r.push(`short${age}`);
+		} else if (PC.height > (averageHeight + 15)) {
+			r.push(`very tall${age}`);
+		} else if (PC.height > (averageHeight + 5)) {
+			r.push(`tall${age}`);
+		}
+		if (V.showHeightCMs === 1) {
+			r.push(`at ${heightToEitherUnit(PC.height)},`);
+		}
+		return r.join(" ");
+	}
+
+	function weight() {
+		const r = [];
+
+		if (PC.weight > 190) {
+			r.push(`<span class="red">extremely obese.</span>`);
+		} else if (PC.weight > 160) {
+			if (V.arcologies[0].FSHedonisticDecadence !== "unset") {
+				r.push(`attractively heavyset, though it may be getting to be a bit much.`);
+			} else {
+				r.push(`<span class="red">have let yourself go; you are much too overweight.</span>`);
+			}
+		} else if (PC.weight > 130) {
+			if (V.arcologies[0].FSHedonisticDecadence !== "unset") {
+				r.push(`coated in thick layers of pleasantly soft flesh.`);
+			} else {
+				r.push(`very fat.`);
+			}
+		} else if (PC.weight > 95) {
+			if (V.arcologies[0].FSHedonisticDecadence !== "unset") {
+				r.push(`coated in a layer of pleasantly soft flesh.`);
+			} else if (PC.hips > 1) {
+				r.push(`extremely curvy, if a bit on the heavy side, given the way your excess fat rests on your hips.`);
+			} else {
+				r.push(`carrying a lot of extra fat.`);
+			}
+		} else if (PC.weight > 30) {
+			if (PC.hips > 1) {
+				r.push(`quite curvy, given the way your fat rests on your hips.`);
+			} else {
+				r.push(`rather chubby.`);
+			}
+		} else if (PC.weight > 10) {
+			r.push(`a little soft around the middle.`);
+		} else if (PC.weight >= -10) {
+			r.push(`a healthy weight.`);
+		} else if (PC.weight >= -30) {
+			r.push(`pleasingly thin.`);
+		} else if (PC.weight >= -95) {
+			if (PC.hips > 1) {
+				r.push(`very thin, though your wide hips give you a very alluring thigh gap.`);
+			} else if (PC.hips < -1) {
+				r.push(`very thin, but your trim hips give you a model's build.`);
+			} else {
+				r.push(`rail thin.`);
+			}
+		} else {
+			r.push(`<span class="red">dangerously underweight.</span>`);
+		}
+
+		return r.join(" ");
+	}
+
+	function muscles() {
+		const r = [];
+
+		if (PC.muscles > 95) {
+			if (PC.weight > 95) {
+				r.push(`Beneath that layer of fat, you are <span class="pink">extremely muscular,</span> though it's hard to tell at a glance.`);
+			} else {
+				r.push(`You are <span class="pink">extremely muscular,</span> with defined pecs, powerful glutes, and massive traps.`);
+			}
+		} else if (PC.muscles > 50) {
+			if (PC.weight > 95) {
+				r.push(`Beneath that layer of fat, you are <span class="pink">quite muscular,</span> though it's hard to tell.`);
+			} else {
+				r.push(`You are <span class="pink">quite muscular,</span> with ripped abs, strong shoulders, and defined lats.`);
+			}
+		} else if (PC.muscles > 30) {
+			if (PC.weight > 95) {
+				r.push(`Beneath that layer of fat, you are <span class="pink">well built,</span> with strong muscles.`);
+			} else {
+				r.push(`You are <span class="pink">well built,</span> with defined abs and strong, shapely muscles.`);
+			}
+		} else if (PC.muscles > 5) {
+			if (PC.weight > 30) {
+				r.push(`Beneath that layer of fat, you are <span class="pink">well built,</span> with toned muscles.`);
+			} else {
+				r.push(`You are <span class="pink">toned,</span> with just-visible musculature.`);
+			}
+		} else if (PC.muscles > -6) {
+			r.push(`You lack any clear musculature, so bulking up a little would probably be a good move.`);
+		} else if (PC.muscles > -31) {
+			r.push(`You are <span class="red">rather weak,</span> with barely any muscles; a risk given your profession`);
+		} else if (PC.muscles > -96) {
+			r.push(`You are <span class="red">very weak</span> and struggle with day-to-day tasks; a serious risk given your profession.`);
+		} else {
+			r.push(`You are <span class="red">physically frail</span> and have difficulty lifting things, yourself included.`);
+		}
+		if (PC.muscles > 95 && PC.height <= (averageHeight + 10)) {
+			r.push(`Your body is a bit too small to handle such impressive gains, limiting your flexibility.`);
+		}
+
+		return r.join(" ");
+	}
+
+	function overweight() {
+		const r = [];
+
+		if (tooFatSlave(PC)) {
+			r.push(`You've become so large you can no longer support your own weight and are bedbound by it.`);
+		} else if ((PC.weight > (170 + (PC.muscles / 5)) && PC.physicalAge >= 18) ||
+			(PC.weight > (110 + (PC.muscles / 20)) && PC.physicalAge <= 3) ||
+			(PC.weight > (140 + (PC.muscles / 15)) && PC.physicalAge <= 12) ||
+			(PC.weight > (165 + (PC.muscles / 10)) && PC.physicalAge < 18)) {
+			r.push(`You are so fat that it makes it moving around difficult.`);
+			if (canWalk(PC)) {
+				if (PC.muscles > 95) {
+					r.push(`However, you're so powerfully built that you can do it with effort, though you're out of breath just standing here.`);
+				} else if (PC.muscles > 30) {
+					r.push(`You're strong enough to get to your feet, but given you're currently leaning against a chair to take some of the load off, that may not be for much longer.`);
+				} else  {
+					r.push(`It takes a lot to get on your feet, so you try to avoid that if possible.`);
+				}
+			}
+		} else if (PC.weight >= 130 || (PC.weight >= 95 + ((PC.physicalAge - 9) * 5))) {
+			r.push(`You sufficiently fat enough to find that you can't do everything you used to be able to and that even little actions take more effort than they should.`);
+		}
+		return r.join(" ");
+	}
+
+	function shoulders() {
+		const r = [];
+
+		if (PC.shoulders < -1) {
+			r.push(`Your shoulders and chest are very narrow and feminine.`);
+		} else if (PC.shoulders < 0) {
+			r.push(`You have a narrow chest and shoulders, giving you a feminine appearance.`);
+		} else if (PC.shoulders > 1) {
+			r.push(`You have broad, manly shoulders.`);
+		} else if (PC.shoulders > 0) {
+			r.push(`You have fairly broad shoulders, giving you a masculine appearance.`);
+		}
+
+		return r.join(" ");
+	}
+
+	// move this stuff?
+	function limbs() {
+		const r = [];
+
+		if (hasAnyProstheticLimbs(PC) || !hasBothArms(PC) || !hasBothLegs(PC)) {
+			if (!hasBothArms(PC)) {
+				if (!hasAnyArms(PC)) {
+					r.push(`You have no arms. <span class="red">This is a problem that needs to be addressed at once.</span> You can't run an arcology like this.`);
+				} else if (hasAnyProstheticArms(PC)) {
+					r.push(`You only have a ${!PC.arm.right ? "left" : "right"} arm, and a prosthetic one at that. It beats not having any.`);
+					// expand this
+				} else {
+					r.push(`You only have your ${!PC.arm.right ? "left" : "right"} arm. It's not enough to stop you, but it is inconvient.`);
+				}
+			} else if (hasAnyProstheticArms(PC)) {
+				if (hasBothProstheticArms(PC)) {
+					r.push(`Both your arms are artificial.`);
+					// expand this
+				} else {
+					r.push(`Your ${getLeftArmID(PC) > 1 ? "left" : "right"} arm is artificial.`);
+					// expand this
+				}
+			}
+			if (!hasBothLegs(PC)) {
+				if (!hasAnyLegs(PC)) {
+					r.push(`You have no legs. It's not the end of the world, but it does limit what you can do.`);
+				} else if (hasAnyProstheticLegs(PC)) {
+					r.push(`You only have a ${!PC.leg.right ? "left" : "right"} leg, and a prosthetic one at that. The reason you've chosen to only have one is yours and yours alone.`);
+					// expand this
+				} else {
+					r.push(`You only have your ${!PC.leg.right ? "left" : "right"} leg. It doesn't help much on its own, but you have make do with what you've got.`);
+				}
+			} else if (hasAnyProstheticLegs(PC)) {
+				if (hasBothProstheticLegs(PC)) {
+					r.push(`Both your legs are artificial.`);
+					// expand this
+				} else {
+					r.push(`Your ${getLeftLegID(PC) > 1 ? "left" : "right"} leg is artificial.`);
+					// expand this
+				}
+			}
+		}
+		return r.join(" ");
+	}
+
+	function heightImplant() {
+		const r = [];
+
+		if (hasAnyLimbs(PC)) {
+			if (PC.heightImplant > 1) {
+				r.push(`The proportion of your limbs are wrong; a given with the artificial lengthening you've undergone.`);
+			} else if (PC.heightImplant > 0) {
+				r.push(`The proportion of your limbs seem off, since you've had them artificially lengthened.`);
+			} else if (PC.heightImplant < -1) {
+				r.push(`The proportion of your limbs are wrong; a given with the artificial shortening you've undergone.`);
+			} else if (PC.heightImplant < 0) {
+				r.push(`The proportion of your limbs seem off, since you've had them artificially shortened.`);
+			}
+		}
+
+		return r.join(" ");
+	}
+};
diff --git a/src/player/desc/pLongBoobs.js b/src/player/desc/pLongBoobs.js
new file mode 100644
index 0000000000000000000000000000000000000000..43eabae5a644399a43e403f7df054154274d59b8
--- /dev/null
+++ b/src/player/desc/pLongBoobs.js
@@ -0,0 +1,587 @@
+App.Desc.Player.boobs = function(PC = V.PC) {
+	const r = [];
+
+	const implantRatio = PC.boobsImplant / PC.boobs;
+	const nipColor = nippleColor(PC);
+	const {girlP} = getPronouns(PC).appendSuffix("P");
+
+	function boobShape() {
+		switch (PC.boobShape) {
+			case "perky":
+				if (PC.boobs >= 12000) {
+					r.push(`It's hard to tell at this size, but from the right angle, you can still see their perkiness in how they rest against you.`);
+				} else if (PC.boobs >= 5000) {
+					r.push(`Their natural perkiness has helped them resist their enormous size.`);
+				} else if (PC.boobs >= 2500) {
+					r.push(`They remain perky, even at their substantial size, defying gravity as they rest heavily against your chest and each other.`);
+				} else if (PC.boobs >= 1000) {
+					r.push(`They're perky, despite their large size, and your nipples point slightly upward.`);
+				} else if (PC.boobs >= 500) {
+					r.push(`They're full and perky, with your nipples pointing upward.`);
+				} else {
+					r.push(`They are nice and perky, with your nipples pointing upward.`);
+				}
+				break;
+			case "downward-facing":
+				if (PC.boobs > 12000) {
+					r.push(`Naturally downward-facing, they are so big that your nipples always point directly down. They've become huge pendulums of soft flesh, since gravity pulls most of their mass past your crotch.`);
+				} else if (PC.boobs > 5000) {
+					r.push(`They're huge pillows of soft flesh, distorted by gravity and where they rest against your stomach and each other. Naturally downward-facing, they are so big that your nipples point directly down.`);
+				} else if (PC.boobs > 2500) {
+					r.push(`They're orbs of soft flesh, resting heavily against your stomach and each other. Since they are naturally downward-facing, most of their mass rests low.`);
+				} else if (PC.boobs > 1000) {
+					r.push(`They're not attractively shaped, with your nipples pointing downward more strongly than they should be.`);
+				} else if (PC.boobs > 500) {
+					r.push(`They're not attractively shaped, with your nipples pointing down.`);
+				} else {
+					r.push(`They're not attractively shaped, with your nipples pointing down dispite your size.`);
+				}
+				break;
+			case "torpedo-shaped":
+				if (PC.boobs > 12000) {
+					r.push(`They are naturally torpedo-shaped, which you can tell by the way they are sticking out more than a`);
+					if (V.showInches === 2) {
+						r.push(`yard`);
+					} else {
+						r.push(`meter`);
+					}
+					r.push(`in front of you.`);
+				} else if (PC.boobs > 5000) {
+					r.push(`They're huge promontories of soft flesh and their natural torpedo shape remains to a certain extent. Your breasts reach an incredibly long way out from your chest and sway lewdly with your slightest motion.`);
+				} else if (PC.boobs > 2500) {
+					r.push(`They're orbs of soft flesh, resting heavily against your chest and each other. Their natural torpedo shape is distorted by their weight, but they still project out quite a distance in front of you.`);
+				} else if (PC.boobs > 1000) {
+					r.push(`They're strongly torpedo-shaped despite their large size, projecting a long way from your chest. They sway lewdly with your movements.`);
+				} else if (PC.boobs > 500) {
+					r.push(`They're strongly torpedo-shaped, projecting a long way from your chest. They sway cutely with your movements.`);
+				} else {
+					r.push(`They're strongly torpedo-shaped despite their small size, projecting some way from your chest.`);
+				}
+				break;
+			case "wide-set":
+				if (PC.boobs > 12000) {
+					r.push(`They are naturally wide-set, which can be seen in the way they stick out more than a`);
+					if (V.showInches === 2) {
+						r.push(`yard`);
+					} else {
+						r.push(`meter`);
+					}
+					r.push(`to either side of your body.`);
+					if (PC.belly >= 5000) {
+						r.push(`Your belly protrudes lewdly between them.`);
+					}
+				} else if (PC.boobs > 5000) {
+					r.push(`They're huge pillows of soft flesh whose natural wide-set shape`);
+					if (PC.belly >= 5000) {
+						r.push(`forces them to extend massively from your sides when parted by your belly.`);
+					} else {
+						r.push(`somehow keeps them from touching despite their mass.`);
+					}
+				} else if (PC.boobs > 2500) {
+					r.push(`They're orbs of soft flesh whose natural wide-set shape`);
+					if (PC.belly >= 5000) {
+						r.push(`causes them to rest to either side of your belly.`);
+					} else {
+						r.push(`obscures your upper arm${hasBothArms(PC) ? "s" : ""}. They rest without natural cleavage despite their size.`);
+					}
+				} else if (PC.boobs > 1000) {
+					r.push(`They're wide-set, with their weight pointing each nipple away from your sternum.`);
+				} else if (PC.boobs > 500) {
+					r.push(`They're wide-set, with each nipple pointing away from your sternum.`);
+				} else {
+					r.push(`They're wide-set, with each nipple pointing somewhat sideways.`);
+				}
+				break;
+			case "saggy":
+				if (PC.boobs > 12000) {
+					r.push(`They're vast armfuls of soft flesh that sag past your crotch. Your nipples are placed on their bottoms, pointed at the ground by the heavy mass of breastflesh above them.`);
+				} else if (PC.boobs > 5000) {
+					r.push(`They're huge pillows of soft flesh that sag past your navel. Your nipples are placed on their bottoms, pointed at the ground by the heavy mass of breastflesh above them.`);
+				} else if (PC.boobs > 2500) {
+					r.push(`They're orbs of soft flesh that sag almost to your navel. Your nipples are placed on their bottoms, pointed at the ground by the weight of breast above them.`);
+				} else if (PC.boobs > 1000) {
+					r.push(`They're heavy and saggy, pointing your nipples at the ground.`);
+				} else if (PC.boobs > 500) {
+					r.push(`They're not attractively shaped, with your nipples pointing down.`);
+				} else {
+					r.push(`They're rather deflated, with your nipples pointing down despite your size.`);
+				}
+				break;
+			default:
+				if (PC.boobs > 12000) {
+					r.push(`They're vast armfuls of soft flesh, distorted by gravity and happy to swallow up anything that pushes against them.`);
+				} else if (PC.boobs > 5000) {
+					r.push(`They're huge pillows of soft flesh, distorted by gravity and where they rest against your stomach and each other.`);
+				} else if (PC.boobs > 2500) {
+					r.push(`They're orbs of soft flesh, resting heavily against your chest and each other.`);
+				} else if (PC.boobs > 1000) {
+					r.push(`They're soft and round, resting heavily against your chest and each other.`);
+				} else if (PC.boobs > 500) {
+					r.push(`They're nice and soft and rest naturally against your chest.`);
+				} else {
+					r.push(`They're nicely rounded and rest naturally.`);
+				}
+		}
+		return r.join(" ");
+	}
+
+	function boobSpheres() {
+		const r = [];
+		if (PC.boobs >= 12000) {
+			r.push(`They're sore orbs of flesh stetched taut over ridiculous implants that weigh heavily upon anything they rest on. They barely register as a part of your body, but rather as oversized accessories hung mercilessly on your chest.`);
+		} else if (PC.boobs >= 6000) {
+			r.push(`They're huge orbs of stretched flesh, resting heavily against your stomach and each other, and extremely obvious implants. Since you have so little actual breast tissue surrounding them, it looks like you have a pair of beachballs stuck to your chest.`);
+		} else if (PC.boobs >= 4000) {
+			r.push(`They're firm orbs of stretched flesh, resting heavily against your chest and each other, and extremely obvious implants. Since you have so little actual breast tissue surrounding them, it looks like you have a pair of overinflated balloons stuck to your chest.`);
+		} else if (PC.boobs >= 2000) {
+			r.push(`They're unnaturally, round, hard to the touch, and extremely obvious implants. Since you have so little actual breast tissue surrounding them, it looks like you have a pair of balloons stuck to your chest.`);
+		} else if (PC.boobs >= 1000) {
+			r.push(`They're unnaturally round, hang heavily from your chest, and quite clearly implants. Since you have so little actual breast tissue surrounding them, it looks like you have a pair of literal melons stuck to your chest.`);
+		} else {
+			r.push(`They're unnaturally round and contain so little actual breast tissue that they appear attached to your chest instead of part of it.`);
+		}
+		return r.join(" ");
+	}
+
+	function boobVolume() {
+		const r = [];
+		if (PC.boobs >= 300) {
+			r.push(`They are about ${num(PC.boobs)} CCs each`);
+			if (PC.boobShape === "spherical") {
+				r.push(`and consist primarily of your ${num(PC.boobsImplant)} CC ${PC.boobsImplantType === "normal" ? "breast" : `${PC.boobsImplantType}`} implants.`);
+			} else {
+				if (PC.boobsImplant > 0) {
+					r.push(r.pop() + `, including your ${num(PC.boobsImplant)} CC ${PC.boobsImplantType === "normal" ? "breast" : `${PC.boobsImplantType}`} implants`);
+				}
+				r.push(r.pop() + `.`);
+			}
+		}
+		return r.join(" ");
+	}
+
+	function boobFreckles() {
+		const r = [];
+		if (PC.markings === "freckles") {
+			if (PC.boobs >= 400) {
+				r.push(`The tops of your breasts and your cleavage are lightly freckled.`);
+			} else {
+				r.push(`Your chest is covered in a light spray of freckles.`);
+			}
+		} else if (PC.markings === "heavily freckled") {
+			if (PC.boobs >= 2000) {
+				r.push(`Your breasts are covered in freckles, but they're so big that the freckles are spaced widely across the breadth of each boob.`);
+			} else if (PC.boobs >= 400) {
+				r.push(`Your breasts are covered in freckles, which are particularly dense in the cleft between them.`);
+			} else {
+				r.push(`Your chest is covered in dense freckles.`);
+			}
+		}
+		return r.join(" ");
+	}
+
+	function nipples() {
+		const r = [];
+
+		if (PC.aphrodisiacs > 0 || PC.inflationType === "aphrodisiac" || PC.energy > 95 || PC.need > 0) {
+			switch (PC.nipples) {
+				case "tiny":
+					r.push(`You have stiff little nubs ${areolae()}.`);
+					break;
+				case "flat":
+					r.push(`You have stiff little bumps ${areolae()}`);
+					break;
+				case "puffy":
+					r.push(`You have puffy and erect nipples, ${areolae()}`);
+					break;
+				case "partially inverted":
+				case "inverted":
+					r.push(`Your nipples are stiffly erect and ${areolae()}. They'd be inverted if you weren't so horny right now.`);
+					break;
+				case "huge":
+					if (PC.boobs - PC.boobsImplant > 7500) {
+						r.push(`Your nipples are in proportion with your breasts: they're stiffly erect and`);
+						if (PC.height < 160 && hasAnyArms(PC)) {
+							r.push(`almost as large as your fist${hasBothArms(PC) ? "s" : ""}.`);
+						} else {
+							r.push(`large enough to be jerked off.`);
+						}
+						r.push(`The sensetive protrusions are`);
+					} else {
+						r.push(`Your nipples are enormously erect and`);
+					}
+					r.push(`areolae()`);
+					break;
+				case "fuckable":
+					r.push(`Your nipples are swollen shut and ${areolae()}`);
+					break;
+				default:
+					r.push(`Your nipples are stiffly erect and ${areolae()}`);
+			}
+		} else {
+			switch (PC.nipples) {
+				case "tiny":
+					if (PC.title !== 1 || PC.boobs >= 300 || PC.areolae !== 0) { // Don't talk about male nipples.
+						r.push(`You have tiny little nubs`);
+						r.push(areolae());
+					}
+					break;
+				case "flat":
+					if (PC.piercing.nipple.weight !== 0) {
+						r.push(`Your nipples have been pulled flat from the constant tug of your oversized implants. They are held back by piercings and`);
+					} else {
+						r.push(`Your nipples have been pulled flat from the constant tug of your oversized implants. What little is recognizable is`);
+					}
+					r.push(areolae());
+					break;
+				case "puffy":
+					r.push(`You have puffy nipples with a swell of soft flesh around each,`);
+					r.push(areolae());
+					break;
+				case "partially inverted":
+					if (PC.piercing.nipple.weight !== 0) {
+						r.push(`You have partially inverted nipples, currently held out by your piercings,`);
+					} else {
+						r.push(`Your nipples are partially inverted and blend in with the front of your breasts. What can be seen is`);
+					}
+					r.push(areolae());
+					break;
+				case "inverted":
+					if (PC.piercing.nipple.weight !== 0) {
+						r.push(`Your nipples are completely inverted, or would be if they weren't pierced. The extracted nubs are`);
+					} else {
+						r.push(`Your nipples are completely inverted: they have been swallowed up by the surrounding breastflesh. The area is`);
+					}
+					r.push(areolae());
+					break;
+				case "huge":
+					if (PC.boobs - PC.boobsImplant > 7500) {
+						r.push(`Your nipples are in proportion with your breasts: they've grown`);
+						if (PC.height < 160 && hasAnyArms(PC)) {
+							r.push(`almost as large as your fist${hasBothArms(PC) ? "s" : ""}.`);
+						} else {
+							r.push(`large enough to be jerked off.`);
+						}
+					} else if (hasAnyArms(PC)) {
+						r.push(`Your nipples are the size of the last joint of your thumb${hasBothArms(PC) ? "s" : ""} when erect.`);
+					} else {
+						r.push(`Your nipples are of significant size.`);
+					}
+					r.push(`The jutting protrusions are`);
+					r.push(areolae());
+					break;
+				case "fuckable":
+					r.push(`You have a pair of deep holes where your nipples should be. What they are for is completely obvious. The penetrable slits are`);
+					r.push(areolae());
+					break;
+				default:
+					if (PC.title !== 1 || PC.boobs >= 300 || PC.areolae !== 0) {
+						r.push(`You have normal nipples`);
+						r.push(areolae());
+					}
+			}
+			
+		}
+		return r.join(" ");
+	}
+
+	function areolae() {
+		const r = [];
+		switch (PC.areolae) {
+			case 1:
+				r.push(`surrounded by large, lovely circles of ${nipColor} skin.`);
+				break;
+			case 2:
+				r.push(`surrounded by unusually wide, eye-catching circles of ${nipColor} skin.`);
+				break;
+			case 3:
+				r.push(`surrounded by unnaturally broad ${nipColor} areolae that cover much of the ${PC.boobShape === "saggy" || PC.boobShape === "downward-facing" ? 'bottom' : 'front'} of your breasts.`);
+				break;
+			case 4:
+				r.push(`surrounded by unnaturally huge ${nipColor} areolae that almost entirely cover the ${PC.boobShape === "saggy" || PC.boobShape === "downward-facing" ? 'bottom' : 'front'} of your breasts.`);
+				break;
+			default:
+				r.push(`surrounded by a minimal ${nipColor} areolae.`);
+		}
+		if (PC.areolaeShape === "heart") {
+			r.push(`Your areolae have been reshaped into hearts.`);
+		} else if (PC.areolaeShape === "star") {
+			r.push(`Your areolae have been reshaped into stars.`);
+		} else if (PC.areolaeShape !== "circle") {
+			r.push(`Your areolae are ${PC.areolaeShape}-shaped.`);
+		}
+		return r.join(" ");
+	}
+
+	function lactation() {
+		const r = [];
+
+		if (PC.lactation === 1) {
+			if (PC.boobs >= 12000) {
+				r.push(`Your breasts feel full and tender; this is likely a side effect of your lactation.`);
+			} else if (PC.boobs >= 5000) {
+				r.push(`Your breasts are tender and feel a little swollen; this is likely a side effect of your lactation.`);
+			} else if (PC.boobs >= 2500) {
+				r.push(`Your breasts feel even more enormous lately; this is likely a side effect of your lactation.`);
+			} else if (PC.boobs >= 1000) {
+				r.push(`Your breasts feel even more huge lately; this is likely a side effect of your lactation.`);
+			} else if (PC.boobs >= 500) {
+				r.push(`Your breasts feel bigger lately; likely a side effect of your lactation.`);
+			} else if (PC.boobs >= 300) {
+				r.push(`Your breasts feel a bit bigger lately; this is likely a side effect of your lactation.`);
+			} else {
+				if (PC.title === 1) {
+					r.push(`Your chest feels swollen; the beads of milk forming on your nipples tells you why.`);
+				} else {
+					r.push(`Your nipples cap a pair of painfully swollen bumps; milk beads from them at the slightest provocation.`);
+				}
+			}
+			if (PC.lactationAdaptation > 10) {
+				r.push(`As if on demand, your milk starts to dribble down your tits.`);
+				if (PC.lactationAdaptation > 50) {
+					r.push(`Your body is so well-adapted to milk production that this is a regular affair now.`);
+				} else {
+					r.push(`Your body has become accustomed to milk production.`);
+				}
+			}
+		} else if (PC.lactation > 1) {
+			if (PC.boobs >= 12000) {
+				r.push(`Your breasts feel bloated and tender; the trickle of milk running from your nipples tells you it's time to drain them again.`);
+			} else if (PC.boobs >= 300) {
+				r.push(`Your breasts are painfully engorged; the trickle of milk running from your nipples tells you it's time to drain them again.`);
+			} else if (PC.title === 1) {
+				r.push(`Your chest is painfully bloated; the trickle of milk running from your nipples tells you it's time to drain them again.`);
+			} else {
+				r.push(`Your nipples cap a pair of painfully swollen bumps; milk constantly trickles from them unless you regularly milk yourself.`);
+			}
+			if (PC.lactationAdaptation > 10) {
+				if (PC.lactationAdaptation > 50) {
+					r.push(`Your body is so well-adapted to milk production that this only results in fleeting relief.`);
+				} else {
+					r.push(`Your body has become accustomed to milk production that this is become annoyingly frequent.`);
+				}
+			}
+		}
+
+		return r.join(" ");
+	}
+
+	function boobAccessibility() {
+		const r = [];
+		if (PC.boobs >= 25000) {
+			if (V.boobAccessibility === 1) {
+				r.push(`On the bright side, you've had the penthouse remodeled for ${girlP}s with such substantial bosoms already, so fitting through doors and using furniture isn't a concern.`);
+			} else {
+				r.push(`Even worse, the penthouse was not designed to handle ${girlP}s with bosoms as substantial as yours; you crowd whichever halls or doors you use and find an uncomfortable number of objects poking and proding your tits.`);
+			}
+		}
+		return r.join(" ");
+	}
+
+	function weight(sizeLimit, bodySize, dwarfSize) {
+		const r = [];
+
+		if ((PC.physicalAge <= 12 && PC.boobs > 100000 + (PC.muscles * 50)) ||
+			(PC.physicalAge < 18 && PC.boobs > 250000 + (PC.muscles * 100)) ||
+			(PC.physicalAge >= 18 && PC.boobs > 500000 + (PC.muscles * 200))) {
+			r.push(`Your tits are so enormous you've lost the ability to lift them and are now stuck in bed. You'll never be without pillows, however.`);
+		} else if (PC.boobs > sizeLimit) {
+			r.push(`Your tits are so heavy that it makes moving around difficult.`);
+			if (canWalk(PC)) {
+				if (PC.muscles > 95) {
+					r.push(`However, you're so powerfully built that you can comfortably stand up straight, though you definitely feel it in the morning.`);
+				} else if (PC.muscles > 30) {
+					r.push(`Your back is strong enough to support their weight, but you frequently catch yourself slouching under their weight, so you may be nearing your limit.`);
+				} else  {
+					r.push(`It takes a lot of effort to keep upright with them, so you're most comfortable letting them rest on something when you have the chance.`);
+				}
+			} else if (PC.boobs >= dwarfSize) {
+				r.push(`It's not surprising really, given they are each bigger than you are.`);
+			} else if (PC.boobs >= bodySize) {
+				r.push(`It's not surprising, given they are each as big as you are.`);
+			} else {
+				r.push(`It's not surprising, given you're about half boob.`);
+			}
+			r.push(boobAccessibility());
+		} else if (PC.boobs > 5000) {
+			r.push(`Your back gets a serious workout from having to lug your tits around, but the biggest nuisance is just how much they get in the way of your day to day activities.`);
+			r.push(boobAccessibility());
+		}
+		return r.join(" ");
+	}
+
+	const oversizedImplants = PC.boobShape === "spherical" ? boobSpheres() : `They're mostly implant, and it shows; with so little natural breast tissue to support them, they look like a pair of balloons attached to your chest.`;
+	const obviousImplants = `They are kind of rounded and much too perky for their size to pass as real.`;
+
+	// improve this block!
+	// block unfinished for now!
+	if (PC.boobs >= 90000) {
+		r.push(`you have a <span class="orange">pair of door-jamming breasts.</span>`);
+	} else if (PC.boobs >= 70000) {
+		r.push(`you have a <span class="orange">pair of door-crowding breasts.</span>`);
+	} else if (PC.boobs >= 55000) {
+		r.push(`you have a <span class="orange">pair of lap filling breasts.</span>`);
+	} else if (PC.boobs >= 40000) {
+		r.push(`you have a <span class="orange">pair of beachball-sized breasts.</span>`);
+	} else if (PC.boobs >= 25000) {
+		r.push(`you have a <span class="orange">pair of figure dominating breasts.</span>`);
+	} else if (PC.boobs >= 15000) {
+		r.push(`you have a <span class="orange">pair of arm filling breasts.</span>`);
+	} else if (PC.boobs >= 10000) {
+		r.push(`you have a <span class="orange">pair of obscenely massive breasts.</span>`);
+	} else if (PC.boobs >= 9000) {
+		r.push(`you have a <span class="orange">pair of unbelievable ZZZ-cup breasts.</span>`);
+	} else if (PC.boobs >= 8500) {
+		r.push(`you have a <span class="orange">pair of unbelievable ZZ-cup breasts.</span>`);
+	} else if (PC.boobs >= 8000) {
+		r.push(`you have a <span class="orange">pair of mind-blowing Z-cup breasts.</span>`);
+	} else if (PC.boobs >= 7500) {
+		r.push(`you have a <span class="orange">pair of mind-blowing Y-cup breasts.</span>`);
+	} else if (PC.boobs >= 7000) {
+		r.push(`you have a <span class="orange">pair of spectacular X-cup breasts.</span>`);
+	} else if (PC.boobs >= 6500) {
+		r.push(`you have a <span class="orange">pair of spectacular V-cup breasts.</span>`);
+	} else if (PC.boobs >= 5500) {
+		r.push(`you have a <span class="orange">pair of attention-grabbing U-cup breasts.</span>`);
+	} else if (PC.boobs >= 5100) {
+		r.push(`you have a <span class="orange">pair of unmissable T-cup breasts.</span>`);
+	} else if (PC.boobs >= 4700) {
+		r.push(`you have a <span class="orange">pair of astounding S-cup breasts.</span>`);
+	} else if (PC.boobs >= 4300) {
+		r.push(`you have a <span class="orange">pair of unreal R-cup breasts.</span>`);
+	} else if (PC.boobs >= 3950) {
+		r.push(`you have a <span class="orange">pair of shocking Q-cup breasts.</span>`);
+	} else if (PC.boobs >= 3600) {
+		r.push(`you have a <span class="orange">pair of disproportionate P-cup breasts.</span>`);
+	} else if (PC.boobs >= 3250) {
+		r.push(`you have a <span class="orange">pair of awe-inspiring O-cup breasts.</span>`);
+	} else if (PC.boobs >= 2900) {
+		r.push(`you have a <span class="orange">pair of tremendous N-cup breasts.</span>`);
+	} else if (PC.boobs >= 2600) {
+		r.push(`you have a <span class="orange">pair of magnificent M-cup breasts.</span>`);
+	} else if (PC.boobs >= 2300) {
+		r.push(`you have a <span class="orange">pair of stupendous L-cup breasts.</span>`);
+	} else if (PC.boobs >= 2050) {
+		r.push(`you have a <span class="orange">pair of titanic K-cup breasts.</span>`);
+	} else if (PC.boobs >= 1800) {
+		r.push(`you have a <span class="orange">pair of enormous J-cup breasts.</span>`);
+	} else if (PC.boobs >= 1600) {
+		r.push(`you have a <span class="orange">pair of massive I-cup breasts.</span>`);
+	} else if (PC.boobs >= 1400) {
+		r.push(`you have a <span class="orange">pair of huge H-cup breasts.</span>`);
+		if (implantRatio >= 0.75) {
+			r.push(oversizedImplants);
+		} else if (implantRatio >= 0.50) {
+			r.push(obviousImplants);
+		} else {
+			r.push(boobShape());
+			r.push(`They refuse to come to a rest once they get moving.`);
+		}
+		r.push(boobVolume());
+	} else if (PC.boobs >= 1200) {
+		r.push(`you have a <span class="orange">pair of huge G-cup breasts.</span>`);
+		if (implantRatio >= 0.75) {
+			r.push(oversizedImplants);
+		} else if (implantRatio >= 0.50) {
+			r.push(obviousImplants);
+		} else {
+			r.push(boobShape());
+			r.push(`They tend bounce everywhere when you fuck your slaves.`);
+		}
+		r.push(boobVolume());
+	} else if (PC.boobs >= 1000) {
+		r.push(`you have a <span class="orange">pair of hefty F-cup breasts.</span>`);
+		if (implantRatio >= 0.75) {
+			r.push(oversizedImplants);
+		} else if (implantRatio >= 0.50) {
+			r.push(`They're not obviously implants, though the way they move when you fuck a slave pins them as such.`);
+		} else {
+			r.push(boobShape());
+			r.push(`They bounce lewdly as you fuck your slaves.`);
+		}
+		r.push(boobVolume());
+	} else if (PC.boobs >= 800) {
+		r.push(`you have a <span class="orange">healthy pair of DD-cup breasts.</span>`);
+		if (implantRatio >= 0.75) {
+			r.push(`They're mostly implant, and it shows.`);
+		} else if (implantRatio >= 0.50) {
+			r.push(`Your implants are well done, so it's not too obvious they're fake.`);
+		} else if (implantRatio >= 0.25) {
+			r.push(boobShape());
+			r.push(`They jiggle with a pleasant bounce when in motion, though they defy gravity a bit too much their size.`);
+		} else {
+			r.push(boobShape());
+			r.push(`They jiggle pleasantly with your every move.`);
+		}
+		r.push(boobVolume());
+	} else if (PC.boobs >= 650) {
+		r.push(`you have a <span class="orange">healthy pair of D-cup breasts.</span>`);
+		if (implantRatio >= 0.75) {
+			r.push(`They're mostly implant, but done well, so it's only obvious when they don't move with you.`);
+		} else if (implantRatio >= 0.50) {
+			r.push(`They're a bit too firm to look real and don't bounce at all when you fuck your slaves.`);
+		} else if (implantRatio >= 0.25) {
+			r.push(boobShape());
+			r.push(`They bounce pleasantly when in motion, though they rest a little too high for their size.`);
+		} else {
+			r.push(boobShape());
+			r.push(`They bounce pleasantly as you fuck your slaves.`);
+		}
+		r.push(boobVolume());
+	} else if (PC.boobs >= 500) {
+		r.push(`you have a <span class="orange">pair of C-cup breasts.</span>`);
+		if (implantRatio >= 0.75) {
+			r.push(`They're mostly implant, but done well, so it's only obvious when they don't move with you.`);
+		} else if (implantRatio >= 0.50) {
+			r.push(`They're a bit too firm to look real and don't bounce at all when you fuck your slaves.`);
+		} else if (implantRatio >= 0.25) {
+			r.push(`They're kind of round due to your implants and don't bounce at all when you fuck your slaves.`);
+		} else {
+			r.push(boobShape());
+			r.push(`They bounce a little when you fuck your slaves.`);
+		}
+		r.push(boobVolume());
+	} else if (PC.boobs >= 400) {
+		r.push(`you have a <span class="orange">pair of B-cup breasts.</span>`);
+		if (implantRatio >= 0.75) {
+			r.push(`They're mostly implant, and given their size, that's pretty obvious.`);
+		} else if (implantRatio >= 0.50) {
+			r.push(`They're perky, but a bit too firm to look real and don't bounce at all when you fuck your slaves.`);
+		} else if (implantRatio >= 0.25) {
+			r.push(`They're kind of round due to your implants and don't bounce at all when you fuck your slaves.`);
+		} else {
+			r.push(boobShape());
+			r.push(`They have the slightest litle bounce when you fuck your slaves.`);
+		}
+		r.push(boobVolume());
+	} else if (PC.boobs >= 300) {
+		r.push(`you have a <span class="orange">tiny pair of A-cup breasts.</span>`);
+		if (implantRatio >= 0.75) {
+			r.push(`It's pretty obvious that you're flat and choose to stuff what little boob you had full of implant.`);
+		} else if (implantRatio >= 0.50) {
+			r.push(`They're perky, but a bit too firm to look real.`);
+		} else if (implantRatio >= 0.25) {
+			r.push(`They're kind of round due to your implants, but that's not surprising given their size.`);
+		} else {
+			r.push(boobShape());
+		}
+		r.push(boobVolume());
+	} else if (PC.title === 1) {
+		r.push(`you have a <span class="orange">masculine chest.</span>`);
+	} else {
+		r.push(`<span class="orange">you're flat.</span> You have nothing in the breast department.`);
+	}
+	r.push(
+		boobFreckles(),
+		nipples()
+	);
+	if (PC.physicalAge <= 12) {
+		r.push(weight(8000, 20000, 100000));
+	} else if (PC.physicalAge < 18) {
+		r.push(weight(15000, 30000, 250000));
+	} else { // PC.physicalAge >= 18
+		r.push(weight(25000, 40000, 500000));
+	}
+	r.push(lactation());
+
+	return r.join(" ");
+};
diff --git a/src/player/desc/pLongButt.js b/src/player/desc/pLongButt.js
new file mode 100644
index 0000000000000000000000000000000000000000..e232b530bf50fad177d7ff375c924aada632f83f
--- /dev/null
+++ b/src/player/desc/pLongButt.js
@@ -0,0 +1,411 @@
+App.Desc.Player.butt = function(PC = V.PC) {
+	const r = [];
+	const implantRatio = PC.buttImplant / PC.butt;
+	const implantType = PC.buttImplantType !== "normal" ?  PC.buttImplantType : "";
+
+	function hips() {
+		const r = [];
+
+		r.push(`<span class="orange">`);
+		if (PC.hips === -2) {
+			r.push(`narrow`);
+		} else if (PC.hips === -1) {
+			r.push(`trim`);
+		} else if (PC.hips === 0) {
+			r.push(`ample`);
+		} else if (PC.hips === 1) {
+			r.push(`broad`);
+		} else if (PC.hips === 2) {
+			r.push(`child-bearing`);
+		} else if (PC.hips === 3) {
+			r.push(`brood-supporting`);
+		}
+		r.push(`hips</span>`);
+		return r.join(" ");
+	}
+
+	function butt() {
+		const r = [];
+		const tinyImplants = implantRatio > 0 ? `A fraction of its size is from your ${implantType} implants, but they make up such a proportionally small percentage of its mass that they are unnoticeable outside of a thorough groping.` : "";
+
+		r.push(`<span class="orange">`);
+		if (PC.butt === 0) {
+			r.push(`flat ass.</span>`);
+		} else if (PC.butt <= 1) {
+			r.push(`slim rear`);
+			if (implantRatio >= 0.90) {
+				r.push(`</span> that's quite clearly a pair of ${implantType} implants.`);
+			} else if (implantRatio >= 0.75) {
+				r.push(r.pop() + `;</span> it juts out farther than an ass of its size rightfully should, the consequence of having a pair of big ${implantType} implants crammed into it.`);
+			} else if (implantRatio >= 0.50) {
+				r.push(r.pop() + `;</span> anyone that feels it can tell it's filled out with ${implantType} implants, but at a glance you can't tell otherwise.`);
+			} else if (implantRatio >= 0.25) {
+				r.push(r.pop() + `;</span> it's already quite pert, so your small ${implantType} implants make it look a little fake when in motion.`);
+			} else {
+				r.push(r.pop() + `.</span>`);
+			}
+		} else if (PC.butt <= 2) {
+			r.push(`small rear`);
+			if (implantRatio >= 0.90) {
+				r.push(`</span> that's quite clearly a pair of big ${implantType} implants.`);
+			} else if (implantRatio >= 0.75) {
+				r.push(r.pop() + `;</span> it juts out farther than an ass of its size rightfully should, the consequence of having a pair of big ${implantType} implants crammed into it.`);
+			} else if (implantRatio >= 0.50) {
+				r.push(r.pop() + `;</span> anyone that feels it can tell it's filled out with ${implantType} implants, but at a glance you can't tell otherwise.`);
+			} else if (implantRatio >= 0.25) {
+				r.push(r.pop() + `;</span> it's already quite pert, so your ${implantType} implants make it look a little fake when in motion.`);
+			} else {
+				r.push(r.pop() + `.</span>`);
+				r.push(tinyImplants);
+			}
+		} else if (PC.butt <= 3) {
+			r.push(`sexy, but normal, butt`);
+			if (implantRatio >= 0.90) {
+				r.push(`</span> that's quite clearly a pair of big ${implantType} implants.`);
+			} else if (implantRatio >= 0.75) {
+				r.push(r.pop() + `;</span> it juts out farther than an ass of its size should, the consequence of having a pair of big ${implantType} implants crammed into it.`);
+			} else if (implantRatio >= 0.50) {
+				r.push(r.pop() + `;</span> anyone that feels it can tell it's filled out with ${implantType} implants, but at a glance you can't tell otherwise.`);
+			} else if (implantRatio >= 0.25) {
+				r.push(r.pop() + `;</span> it's firmer than it should be, so your ${implantType} implants make it look fake when in motion.`);
+			} else {
+				r.push(r.pop() + `.</span>`);
+				r.push(tinyImplants);
+			}
+		} else if (PC.butt <= 4) {
+			r.push(`large butt`);
+			if (implantRatio >= 0.90) {
+				r.push(`</span> that's quite clearly a pair of ${PC.buttImplantType === "string" ? "engorged" : "big"} ${implantType} implants. No matter your position, it always looks artificially enticing.`);
+			} else if (implantRatio >= 0.75) {
+				r.push(r.pop() + `;</span> with your big ${implantType} implants, it juts out curvaceously no matter what pose you take.`);
+			} else if (implantRatio >= 0.50) {
+				r.push(r.pop() + `;</span> anyone that feels it can tell it's filled out with ${implantType} implants, but its not obvious otherwise.`);
+			} else if (implantRatio >= 0.25) {
+				r.push(r.pop() + `;</span> it's firmer than it should be, but it's hard to notice at a glance.`);
+			} else {
+				r.push(r.pop() + `.</span> It jiggles a little when you walk.`);
+				r.push(tinyImplants);
+			}
+		} else if (PC.butt <= 5) {
+			r.push(`huge butt`);
+			if (implantRatio >= 0.90) {
+				r.push(`</span> that's quite clearly a pair of ${PC.buttImplantType === "string" ? "engorged" : "big"} ${implantType} implants. No matter your position, it always looks artificially enticing.`);
+			} else if (implantRatio >= 0.75) {
+				r.push(r.pop() + `;</span> with your ${PC.buttImplantType === "string" ? "engorged" : "big"} ${implantType} implants, it juts out, firm and curvaceous, no matter what pose you take.`);
+			} else if (implantRatio >= 0.50) {
+				r.push(r.pop() + `;</span> with how firm and round it is, your ${implantType} implants are pretty obvious.`);
+			} else if (implantRatio >= 0.25) {
+				r.push(r.pop() + `;</span> it's firmer and more shapely than it should be, but your ${implantType} implants are pretty hard to notice under all the soft flesh.`);
+			} else {
+				r.push(r.pop() + `.</span> It jiggles a lot as you move.`);
+				r.push(tinyImplants);
+			}
+		} else if (PC.butt <= 6) {
+			r.push(`enormous butt`);
+			if (implantRatio >= 0.90) {
+				r.push(`</span> that's quite clearly a pair of ${PC.buttImplantType === "string" ? "engorged" : "big"} ${implantType} implants. No matter your position, it always looks artificially enticing, and there is no denying how alluring it looks filling out your clothing.`);
+			} else if (implantRatio >= 0.75) {
+				r.push(r.pop() + `;</span> with your ${PC.buttImplantType === "string" ? "engorged" : "big"} ${implantType} implants, it juts out, firm and curvaceous, no matter what pose you take, and fills your clothing out nicely.`);
+			} else if (implantRatio >= 0.50) {
+				r.push(r.pop() + `;</span> with how round and curvaceous it is, it's pretty obvious there's a pair of ${PC.buttImplantType === "string" ? "engorged" : "big"} ${implantType} implants buried beneath that soft flesh. Your clothing is filled out nicely by its size.`);
+			} else if (implantRatio >= 0.25) {
+				r.push(r.pop() + `;</span> it's far more shapely than an ass of its mass should be thanks to your ${implantType} implants. It jiggles attractively as you move and fills your clothing out nicely.`);
+			} else {
+				r.push(r.pop() + `.</span> It is always wobbling for some reason or another and really fills out your clothing.`);
+				r.push(tinyImplants);
+			}
+		} else if (PC.butt <= 7) {
+			r.push(`gigantic ass`);
+			if (implantRatio >= 0.90) {
+				r.push(`</span> that's quite clearly a pair of ${PC.buttImplantType === "string" ? "engorged" : "big"} ${implantType} implants. No matter your position, it always looks artificially enticing, and there is no denying how alluring it looks so tighly wrapped up in your clothing. If only you could still squeeze into spaces slightly narrower than yourself, however.`);
+			} else if (implantRatio >= 0.75) {
+				r.push(r.pop() + `;</span> with your ${PC.buttImplantType === "string" ? "engorged" : "big"} ${implantType} implants, it juts out, firm and curvaceous, no matter what pose you take. It's near impossible to properly fit into your clothing and a challenge to squeeze into anything narrower than yourself.`);
+			} else if (implantRatio >= 0.50) {
+				r.push(r.pop() + `;</span> with how firm and curvaceous it is, it's pretty obvious there's a pair of ${PC.buttImplantType === "string" ? "engorged" : "big"} ${implantType} implants buried beneath that softly jiggling flesh. It's near impossible to properly fit into your clothing and attempting to force it into a tight chair more often than not results in the chair following you when you stand up.`);
+			} else if (implantRatio >= 0.25) {
+				r.push(r.pop() + `;</span> it's a litle more shapely than an ass of its mass should be thanks to your ${implantType} implants. It wobbles hypnotically as you move, is near impossible to properly fit into your clothing, and carries a risk of getting stuck in chairs.`);
+			} else {
+				r.push(r.pop() + `;</span> every motion sends ripples through its ample mass, it's near impossible to properly fit into your clothing, and you risk enveloping whatever you sit on.`);
+				r.push(tinyImplants);
+			}
+		} else if (PC.butt <= 10) {
+			r.push(`immense rear end`);
+			if (implantRatio >= 0.90) {
+				r.push(`</span> that's quite obviously a pair of ${PC.buttImplantType === "string" ? "engorged" : "oversized"} ${implantType} implants. No matter your position, it looks like someone shoved a pair of beachballs in your buttcheeks. Getting dressed, and having you clothing survive is has become a challange, while fitting into spaces narrower than yourself a dream.`);
+			} else if (implantRatio >= 0.75) {
+				r.push(r.pop() + `;</span> with your ${PC.buttImplantType === "string" ? "engorged" : "oversized"} ${implantType} implants, it juts out, artificially enticing, no matter your position. You clothing is in constant risk of tearing from its sheer size, and the notion of squeezing between anything narrower than yourself has been reduced to a dream.`);
+			} else if (implantRatio >= 0.50) {
+				r.push(r.pop() + `;</span> with how firm and curvaceous it is, it's pretty obvious there's a pair of ${PC.buttImplantType === "string" ? "engorged" : "oversized"} ${implantType} implants buried beneath that abundant flesh. It's impossible to properly fit into your clothing without spilling out or overflowing it, and a challange to squeeze through anything narrower than yourself.`);
+			} else if (implantRatio >= 0.25) {
+				r.push(r.pop() + `;</span> it's a litle more shapely than an ass of its sheer size should be thanks to your ${implantType} implants. It wobbles hypnotically when in motion, overflows or spills out of all your clothing, and practically consumes anything you sit on.`);
+			} else {
+				r.push(r.pop() + `.</span> It wobbles hypnotically when in motion, overflows or spills out of all your clothing, and practically consumes anything you sit on.`);
+				r.push(tinyImplants);
+			}
+		} else if (PC.butt <= 14) {
+			r.push(`inhumanly large rear`);
+			if (implantRatio >= 0.90) {
+				r.push(`</span> that's quite obviously a pair of ${PC.buttImplantType === "string" ? "engorged" : "oversized"} ${implantType} implants. No matter your position, it looks like someone shoved a pair of overinflated beachballs in your buttcheeks. You require custom clothing and can't fit anywhere narrower than yourself, but there is no denying its enticing sway when you move.`);
+			} else if (implantRatio >= 0.75) {
+				r.push(r.pop() + `;</span> with your ${PC.buttImplantType === "string" ? "engorged" : "oversized"} ${implantType} implants, it explodes outwards, artificially enticing, no matter your position. It sways hypnotically with your movements, requires custom clothing, and prevents you from squeezing into places narrower than yourself.`);
+			} else if (implantRatio >= 0.50) {
+				r.push(r.pop() + `;</span> it's surprisingly curvaceous for its size, so it's pretty obvious that there's a pair of ${PC.buttImplantType === "string" ? "engorged" : "oversized"} ${implantType} implants buried somewhere within. It jiggles hypnotically when in motion, requires custom clothing, and prevents you from squeezing into places narrower than yourself.`);
+			} else if (implantRatio >= 0.25) {
+				r.push(r.pop() + `;</span> it's a litle more shapely than an ass of its sheer size should be thanks to your ${implantType} implants, but nobody can really tell. It wobbles hypnotically when in motion, requires custom clothing, and threatens to consume anything you sit on.`);
+			} else {
+				r.push(r.pop() + `.</span> It wobbles hypnotically when in motion, requires custom clothing, and threatens to consume anything you sit on.`);
+				r.push(tinyImplants);
+			}
+		} else {
+			r.push(`obscenely massive butt`);
+			if (implantRatio >= 0.90) {
+				r.push(`</span> that's quite obviously a pair of ${PC.buttImplantType === "string" ? "engorged" : "oversized"} ${implantType} implants. No matter your position, it looks like someone shoved a pair of ready-to-pop weather balloons in your buttcheeks. Since there is so little flesh surrounding them, they tightly follow your every move, making every motion an erotic one to any onlookers. Getting places, using furniture, and even wearing clothes are a struggle with it, but you wouldn't put up with it if you didn't like it.`);
+			} else if (implantRatio >= 0.75) {
+				r.push(r.pop() + `;</span> with your ${PC.buttImplantType === "string" ? "engorged" : "oversized"} ${implantType} implants, it explodes outwards, artificially enticing, no matter your position. Despite its size and weight, it still moves with you instead of staying at rest, giving your every motion an erotic sway. Getting places, using furniture, and even wearing clothes are a struggle with it, but you wouldn't put up with it if you didn't like it.`);
+			} else if (implantRatio >= 0.50) {
+				r.push(r.pop() + `;</span> it's surprisingly pert for its size, so the logical conclusion is that there's a pair of ${PC.buttImplantType === "string" ? "engorged" : "oversized"} ${implantType} implants supporting it from somewhere within. It's so expansive and heavy, motion doesn't translate well into it, leaving it rather inert no matter how you shift around it.`);
+				if (canWalk(PC)) {
+					r.push(`When walking, however, it jiggles and sways hypnotically with your every step.`);
+				}
+				r.push(`Getting places, using furniture, and even wearing clothes are a struggle with it, but you wouldn't put up with it if you didn't like it.`);
+			} else {
+				r.push(r.pop() + `.</span> It's so expansive and heavy, motion doesn't translate well into it, leaving it rather inert no matter how you shift around it.`);
+				if (canWalk(PC)) {
+					r.push(`When walking, however, it wobbles and sways hypnotically with your every step.`);
+				}
+				r.push(`Getting places, using furniture, and even wearing clothes are a struggle with it, but you wouldn't put up with it if you didn't like it.`);
+				r.push(tinyImplants);
+			}
+		}
+		return r.join(" ");
+	}
+
+	function proportion() {
+		if (
+			(PC.hips === -2 && PC.butt > 2) ||
+			(PC.hips === -1 && PC.butt > 4) ||
+			(PC.hips === 0 && PC.butt > 6) ||
+			(PC.hips === 1 && PC.butt > 8) ||
+			(PC.hips === 2 && PC.butt > 15)
+		) {
+			return `Your butt is disproportionately large for your hips and extends past them, allowing it to be seen on you from any angle.`;
+		} else if (
+			(PC.hips === 0 && PC.butt < 2) ||
+			(PC.hips === 1 && PC.butt < 3) ||
+			(PC.hips === 2 && PC.butt < 4) ||
+			(PC.hips === 3 && PC.butt < 9)
+		) {
+			return `Your butt is disproportionately small for your hips, giving you an unbalanced, flattish figure when viewed from behind.`;
+		}
+	}
+
+	function buttAccessibility() {
+		const r = [];
+		if (PC.butt > 15) {
+			if (V.buttAccessibility === 1) {
+				r.push(`It's a good thing you've had the penthouse remodeled for ${girlP}s with such ponderous bottoms already, so you can at least live comfortably at home.`);
+			} else {
+				r.push(`Even worse, the penthouse was not designed to handle ${girlP}s with bottoms as ponderous as yours; the narrow halls and doors give unbroken slaves an easy means to elude you.`);
+			}
+		}
+		return r.join(" ");
+	}
+
+	function weight() {
+		const r = [];
+
+		if (PC.physicalAge <= 12 && PC.butt > 14) {
+			r.push(`Your ass weighs so much you can no longer drag it off your bed. It makes a comfy cushion, at least.`);
+		} else if ((PC.physicalAge <= 12 && PC.butt >= 12) || (PC.physicalAge > 12 && PC.butt > 17)) {
+			r.push(`Your ass is so unwieldy and heavy that it makes moving around difficult.`);
+			if (canWalk(PC)) {
+				if (PC.muscles > 95) {
+					if (hasBothProstheticLegs(PC)) {
+						r.push(`Your prosthetic legs are sturdy enough to allow you to stand and walk normally, though it is definitely taking a toll on their anchor points.`);
+					} else {
+						r.push(`Your legs are so powerfully built that you can stand and walk normally, though it is definitely taking a toll on your knees.`);
+					}
+				} else if (PC.muscles > 30) {
+					r.push(`Your legs are strong enough to support its weight, but it's still much more confortable to remain seated; it's either time to work your quads harder or consider a reduction.`);
+				} else  {
+					r.push(`It takes a lot of effort to not be forced into a sitting position with it, so you're most comfortable just letting it rest on something when you have the chance.`);
+				}
+			} else {
+				r.push(`But that's too be expected since you require an extra-wide wheelchair to get anywhere.`);
+			}
+			r.push(buttAccessibility());
+		} else if (PC.butt > 6 && canWalk(PC)) {
+			r.push(`Your ass is heavy enough to`);
+			if (hasBothProstheticLegs(PC)) {
+				r.push(`strain your limbs' anchor points,`);
+			} else {
+				r.push(`give your legs a serious workout,`);
+			}
+			r.push(`but the biggest nuisance is just how bulbous and awkwardly shaped it is.`);
+			r.push(buttAccessibility());
+		}
+		return r.join(" ");
+	}
+
+	function anus() {
+		const r = [];
+		let skinDesc;
+		if (skinToneLevel(PC.skin) < 13) {
+			skinDesc = "pink";
+		} else if (PC.anusTat === "bleached") {
+			skinDesc = PC.skin;
+		} else if (skinToneLevel(PC.skin) > 19) {
+			skinDesc = "dark";
+		} else {
+			skinDesc = "darker";
+		}
+		let hands = hasBothArms(PC) ? "hands" : "hand";
+		let analSkinDesc = either("crinkled", "puckered", "puffy");
+		let hasHair = ((PC.pubicHStyle === "bushy" || PC.pubicHStyle === "very bushy") && (PC.pubertyXX > 0 || PC.pubertyXY > 0));
+		let analArea = PC.analArea - PC.anus;
+
+		if (PC.anus === 0) {
+			r.push(`a <span class="lime">pristine, ${hasHair ? "but slightly hairy" : "untouched"} anus.</span>`);
+		} else if (PC.anus === 1) {
+			r.push(`a <span class="orange">tight`);
+			if (analArea > 3) {
+				r.push(`anus</span> surrounded by a massive oval of ${analSkinDesc} ${skinDesc} skin that runs from your tailbone all the way down to the`);
+				if (PC.vagina > -1) {
+					r.push(`bottom of your pussy.`);
+				} else {
+					r.push(`base of your cock.`);
+				}
+			} else if (analArea > 2) {
+				r.push(`anus</span> surrounded by an oval of ${analSkinDesc} ${skinDesc} skin that fills your entire buttcrack.`);
+			} else if (analArea > 1) {
+				r.push(`anus</span> surrounded by a big ring of ${analSkinDesc} ${skinDesc} skin.`);
+			} else if (analArea > 0) {
+				r.push(`anus</span> surrounded by a ring of ${skinDesc} skin.`);
+			} else {
+				r.push(`anus.</span>`);
+			}
+		} else if (PC.anus === 2) {
+			r.push(`a <span class="orange">relaxed, experienced`);
+			if (analArea > 2) {
+				r.push(`anus</span> surrounded by a massive oval of ${analSkinDesc} ${skinDesc} skin that runs from your tailbone all the way down to the`);
+				if (PC.vagina > -1) {
+					r.push(`bottom of your pussy.`);
+				} else {
+					r.push(`base of your cock.`);
+				}
+			} else if (analArea > 1) {
+				r.push(`anus</span> surrounded by an oval of ${analSkinDesc} ${skinDesc} skin that fills your entire buttcrack.`);
+			} else if (analArea > 0) {
+				r.push(`anus</span> surrounded by a big ring of ${analSkinDesc} ${skinDesc} skin.`);
+			} else {
+				r.push(`anus.</span>`);
+			}
+		} else if (PC.anus === 3) {
+			r.push(`a <span class="orange">loose, broken-in`);
+			if (analArea > 1) {
+				r.push(`anus</span> surrounded by a massive oval of ${analSkinDesc} ${skinDesc} skin that runs from your tailbone all the way down to the`);
+				if (PC.vagina > -1) {
+					r.push(`bottom of your pussy.`);
+				} else {
+					r.push(`base of your cock.`);
+				}
+			} else if (analArea > 0) {
+				r.push(`anus</span> surrounded by an oval of ${analSkinDesc} ${skinDesc} skin that fills your entire buttcrack.`);
+			} else {
+				r.push(`anus.</span>`);
+			}
+		} else {
+			r.push(`a <span class="orange">gaping`);
+			if (analArea > 0) {
+				r.push(`anus</span> surrounded by a massive oval of ${analSkinDesc} ${skinDesc} skin that runs from your tailbone all the way down to the`);
+				if (PC.vagina > -1) {
+					r.push(`bottom of your pussy.`);
+				} else {
+					r.push(`base of your cock.`);
+				}
+			} else {
+				r.push(`anus.</span>`);
+			}
+		}
+		if (hasHair && PC.anus !== 0) {
+			r.push(`It's surrounded by a fair amount of ${PC.pubicHColor} pubic hair.`);
+		}
+		if (PC.cervixImplant >= 2) {
+			r.push(`You have a special pump in your anal cavity that converts fluids to inert filler for your abdominal implant. While it is intended to make anal sex more interesting, it has the unfortunate side-effect of requiring you to be on a special diet to prevent complications.`);
+		}
+		if (hasAnyArms(PC) && PC.mpreg === 1) {
+			if (PC.belly >= 5000) {
+				if (PC.bellyPreg >= 2000) {
+					r.push(`You run your ${hands} across your pregnancy; it's pretty obvious that you have a womb, but what`);
+				} else {
+					r.push(`You run your ${hands} across your belly, coming to a stop over your womb. What`);
+				}
+			} else if (PC.weight > 30) {
+				r.push(`You sink a hand into your soft middle, bringing it to rest over your womb. What`);
+			} else {
+				r.push(`You rest your hand over your womb. What`);
+			}
+			r.push(`makes this organ so special is that it is connected to your anus.`);
+			if (PC.cervixImplant < 2) {
+				r.push(`This does require you to be on a special diet , however, to avoid complications.`);
+			}
+			if (PC.wombImplant === "restraint") {
+				r.push(`It's also reinforced to better support large`);
+				if (PC.belly >= 400000) {
+					r.push(`pregnancies, like yours, but lately it has begun to feel restrictive, almost as if it is strangling your womb.`);
+				} else if (PC.bellyPreg >= 150000) {
+					r.push(`pregnancies like yours.`);
+				} else {
+					r.push(`pregnancies.`);
+				}
+			}
+			if (PC.ovaImplant !== 0) {
+				if (PC.wombImplant === "restraint") {
+					r.push(`You ovaries are modified as well;`);
+				} else {
+					r.push(`In addition, your ovaries have been modified;`);
+				}
+				switch (PC.ovaImplant) {
+					case "fertility":
+						r.push(`a pair of implants have been attached to them in order increase the number of eggs released during ovulation.`);
+						break;
+					case "sympathy":
+						r.push(`a pair of linked implants have been attached to them so that when one releases an egg the other does so as well.`);
+						break;
+					case "asexual":
+						r.push(`one has been replaced with a fabricated sperm sack designed to automatically fertilize any eggs you release.`);
+						if (PC.geneticQuirks.superfetation === 2 && (PC.preg > 10 || PC.counter.birthsTotal > 0)) {
+							r.push(`This can be a bit of a nuisance, given your penchant for superfetation, as it keeps you in a state of perpetual pregnancy.`);
+						}
+						if (isFertile(PC)) {
+							r.push(`You've been experiencing frequent spontaneous orgasms lately, which means it won't be long until you impregnate yourself${PC.counter.birthSelf > 0 ? " again" : ""}.`);
+						}
+						break;
+				}
+			}
+		}
+
+		return r.join(" ");
+	}
+
+	function freckles() {
+		if (V.PC.markings === "freckles") {
+			return `Your lower back is covered in a light speckling of freckles alongside your upper butt.`;
+		} else if (V.PC.markings === "heavily freckled") {
+			return `Your freckles are particularly dense across your lower back and upper butt.`;
+		}
+	}
+
+	r.push(
+		hips(),
+		`and around back into your`,
+		butt(),
+		proportion(),
+		weight(),
+		freckles(),
+		`Nestled between your cheeks, you have`,
+		anus()
+	);
+
+	return r.join(" ");
+};
diff --git a/src/player/desc/pLongCrotch.js b/src/player/desc/pLongCrotch.js
new file mode 100644
index 0000000000000000000000000000000000000000..ce00c8befbe23b1f0a263508f698ad005b42c3ab
--- /dev/null
+++ b/src/player/desc/pLongCrotch.js
@@ -0,0 +1,1292 @@
+App.Desc.Player.crotch = function(PC = V.PC) {
+	const r = [];
+	const {girlP} = getPronouns(PC).appendSuffix('P');
+	const legs = hasBothLegs(PC) ? "legs" : "leg";
+	const hands = hasBothArms(PC) ? "hands" : "hand";
+	const isAroused = ((PC.prostate > 0 && PC.preg > 0 && PC.preg > PC.pregData.normalBirth * .75) || (PC.preg > 0 && PC.preg > PC.pregData.normalBirth * .66 && PC.pregMood === 2) || (PC.need > 0) || (PC.energy > 95) || (PC.aphrodisiacs > 0) || (PC.inflationType === "aphrodisiac") || (PC.drugs === "priapism agents"));
+	const isVirile = (PC.balls > 0 && PC.pubertyXY === 1 && PC.vasectomy === 0 && PC.ballType !== "sterile");
+	const cumTotal = (cumAmount(PC) / 70) || 0;
+	const foreskinRatio = (PC.foreskin - PC.dick);
+	const bigBelly = (PC.belly >= 100000 || PC.weight > 130);
+	let useConjunction = false;
+
+	function pubicMound() {
+		const r = [];
+		const pubertyAge = Math.min(PC.pubertyAgeXX, PC.pubertyAgeXY);
+
+		if ((PC.physicalAge < pubertyAge - 2 || ["bald", "hairless", "waxed"].includes(PC.pubicHStyle)) && (PC.prostate <= 1 || PC.belly >= 5000)) {
+			r.push(`You have`);
+		} else {
+			r.push(`Beneath`);
+			if (PC.prostate > 2 && PC.belly < 5000) {
+				r.push(`the swell of your massive prostate`);
+			} else if (PC.prostate > 1 && PC.belly < 5000) {
+				r.push(`your bulging prostate`);
+			}
+			if (PC.prostate > 1) {
+				r.push(`and`);
+			}
+			if (PC.physicalAge >= pubertyAge - 2 && !["bald", "hairless", "waxed"].includes(PC.pubicHStyle)) {
+				if (PC.physicalAge < pubertyAge - 1) {
+					r.push(`your wispy pubic hair`);
+				} else if (PC.physicalAge < pubertyAge) {
+					r.push(`your small patch of ${PC.pubicHColor} pubic hair`);
+				} else if (PC.pubicHStyle === "in a strip") {
+					r.push(`your strip of ${PC.pubicHColor} pubic hair`);
+				} else if (PC.pubicHStyle === "neat") {
+					r.push(`your trimmed patch of ${PC.pubicHColor} pubic hair`);
+				} else if (PC.pubicHStyle === "bushy" || PC.pubicHStyle === "bushy in the front and neat in the rear") {
+					r.push(`your ${PC.pubicHColor} bush`);
+				} else if (PC.pubicHStyle === "very bushy") {
+					r.push(`your snail trial and adjacent forest of ${PC.pubicHColor} pubic hair`);
+				}
+			}
+			r.push(r.pop() + `, you have`);
+		}
+
+		return r.join(" ");
+	}
+
+	function penis() {
+		const r = [];
+
+		r.push(`<span class="orange">`);
+		if (PC.dick > 10) {
+			r.push(`a mind-shattering penis,</span> fat, heavy, and enormous`);
+			if (V.showDickCMs === 1) {
+				r.push(r.pop() + `, that extends ${dickToEitherUnit(PC.dick)} from your body`);
+			}
+			if (V.seeCircumcision === 1 && PC.foreskin > 0) {
+				r.push(r.pop() + `.`);
+				r.push(foreskinDesc());
+			}
+		} else if (PC.dick === 10) {
+			if (isAroused && canAchieveErection(PC)) {
+				r.push(`a completely overwhelming erection`);
+				if (V.showDickCMs === 1) {
+					r.push(r.pop() + `,</span> a staggering ${dickToEitherUnit(PC.dick)} long,`);
+				} else {
+					r.push(`</span>`);
+				}
+				r.push(`that would likely spell the death of anyone you forced it into`);
+				if (V.seeCircumcision === 1 && PC.foreskin > 0) {
+					r.push(r.pop() + `.`);
+					r.push(foreskinErectDesc());
+				} else if (bigBelly) {
+					r.push(r.pop() + `.</span>`);
+				}
+			} else {
+				r.push(`an awe-inspiring penis,</span> dwarfing any normal cock on earth`);
+				if (V.showDickCMs === 1) {
+					r.push(r.pop() + `, that hangs a good ${dickToEitherUnit(PC.dick)} from your body`);
+				}
+				if (V.seeCircumcision === 1 && PC.foreskin > 0) {
+					r.push(r.pop() + `.`);
+					r.push(foreskinDesc());
+				}
+			}
+		} else if (PC.dick === 9) {
+			if (isAroused && canAchieveErection(PC)) {
+				r.push(`a truly monstrous erection`);
+				if (V.showDickCMs === 1) {
+					r.push(r.pop() + `,</span> ${dickToEitherUnit(PC.dick)} long,`);
+				} else {
+					r.push(`</span>`);
+				}
+				r.push(`that would split any hole you attempted to force it into`);
+				if (V.seeCircumcision === 1 && PC.foreskin > 0) {
+					r.push(r.pop() + `.`);
+					r.push(foreskinErectDesc());
+				} else if (bigBelly) {
+					r.push(r.pop() + `.</span>`);
+				}
+			} else {
+				r.push(`a monster of a penis,</span> more a work of art than a tool`);
+				if (V.showDickCMs === 1) {
+					r.push(r.pop() + `, that dangles around ${dickToEitherUnit(PC.dick)} from your body`);
+				}
+				if (V.seeCircumcision === 1 && PC.foreskin > 0) {
+					r.push(r.pop() + `.`);
+					r.push(foreskinDesc());
+				}
+			}
+		} else if (PC.dick === 8) {
+			if (isAroused && canAchieveErection(PC)) {
+				r.push(`a truly horrifying erection`);
+				if (V.showDickCMs === 1) {
+					r.push(r.pop() + `,</span> ${dickToEitherUnit(PC.dick)} long,`);
+				} else {
+					r.push(`</span>`);
+				}
+				r.push(`that has grown so large it can no longer fit in a slave without force`);
+				if (V.seeCircumcision === 1 && PC.foreskin > 0) {
+					r.push(r.pop() + `.`);
+					r.push(foreskinErectDesc());
+				} else if (bigBelly) {
+					r.push(r.pop() + `.</span>`);
+				}
+			} else {
+				r.push(`a truly imposing penis,</span> the obvious product of modern growth hormones`);
+				if (V.showDickCMs === 1) {
+					r.push(r.pop() + `, that swells to about ${dickToEitherUnit(PC.dick)} long when as hard as it can get,`);
+				}
+				if (V.seeCircumcision === 1 && PC.foreskin > 0) {
+					r.push(r.pop() + `.`);
+					r.push(foreskinDesc());
+				}
+			}
+		} else if (PC.dick === 7) {
+			if (isAroused && canAchieveErection(PC)) {
+				r.push(`a frighteningly massive erection,</span> larger than any natural dick`);
+				if (V.showDickCMs === 1) {
+					r.push(`at ${dickToEitherUnit(PC.dick)} long`);
+				}
+				if (V.seeCircumcision === 1 && PC.foreskin > 0) {
+					r.push(r.pop() + `.`);
+					r.push(foreskinErectDesc());
+				} else if (bigBelly) {
+					r.push(r.pop() + `.</span>`);
+				}
+			} else {
+				r.push(`a massive penis,</span> larger than any natural dick`);
+				if (V.showDickCMs === 1) {
+					r.push(r.pop() + `, that stands around ${dickToEitherUnit(PC.dick)} long when as hard as it can get,`);
+				}
+				if (V.seeCircumcision === 1 && PC.foreskin > 0) {
+					r.push(r.pop() + `.`);
+					r.push(foreskinDesc());
+				}
+			}
+		} else if (PC.dick === 6) {
+			if (isAroused && canAchieveErection(PC)) {
+				r.push(`an enormous, intimidating erection,</span> one among the world's largest dicks`);
+				if (V.showDickCMs === 1) {
+					r.push(`at ${dickToEitherUnit(PC.dick)} long`);
+				}
+				if (V.seeCircumcision === 1 && PC.foreskin > 0) {
+					r.push(r.pop() + `.`);
+					r.push(foreskinErectDesc());
+				} else if (bigBelly) {
+					r.push(r.pop() + `.</span>`);
+				}
+			} else {
+				r.push(`an enormous penis,</span> one among the world's largest dicks`);
+				if (V.showDickCMs === 1) {
+					r.push(r.pop() + `,`);
+					if (canAchieveErection(PC)) {
+						r.push(`around ${dickToEitherUnit(PC.dick)} long when erect`);
+					} else {
+						r.push(`that would stand around ${dickToEitherUnit(PC.dick)} long if you could get an erection`);
+					}
+				}
+				if (V.seeCircumcision === 1 && PC.foreskin > 0) {
+					r.push(r.pop() + `.`);
+					r.push(foreskinDesc());
+				}
+			}
+		} else if (PC.dick === 5) {
+			if (isAroused && canAchieveErection(PC)) {
+				r.push(`a huge, throbbing erection`);
+				if (V.showDickCMs === 1) {
+					r.push(r.pop() + `,</span> over ${dickToEitherUnit(PC.dick)} long`);
+				}
+				if (V.seeCircumcision === 1 && PC.foreskin > 0) {
+					r.push(r.pop() + `.</span>`);
+					r.push(foreskinErectDesc());
+				} else if (bigBelly) {
+					r.push(r.pop() + `.</span>`);
+				}
+			} else {
+				r.push(`a huge, dangling penis`);
+				if (V.showDickCMs === 1) {
+					r.push(r.pop() + `,</span>`);
+					if (canAchieveErection(PC)) {
+						r.push(`more than ${dickToEitherUnit(PC.dick)} long when erect`);
+					} else {
+						r.push(`that would stand around ${dickToEitherUnit(PC.dick)} long if you could get an erection`);
+					}
+				}
+				if (V.seeCircumcision === 1 && PC.foreskin > 0) {
+					r.push(r.pop() + `.</span>`);
+					r.push(foreskinDesc());
+				}
+			}
+		} else if (PC.dick === 4) {
+			if (isAroused && canAchieveErection(PC)) {
+				r.push(`an above average erection`);
+				if (V.showDickCMs === 1) {
+					r.push(r.pop() + `,</span> about ${dickToEitherUnit(PC.dick)} long`);
+				}
+				if (V.seeCircumcision === 1 && PC.foreskin > 0) {
+					r.push(r.pop() + `.</span>`);
+					r.push(foreskinErectDesc());
+				} else if (bigBelly) {
+					r.push(r.pop() + `.</span>`);
+				}
+			} else {
+				r.push(`an above average penis`);
+				if (V.showDickCMs === 1) {
+					r.push(r.pop() + `,</span>`);
+					if (canAchieveErection(PC)) {
+						r.push(`about ${dickToEitherUnit(PC.dick)} long when erect`);
+					} else {
+						r.push(`which would be around ${dickToEitherUnit(PC.dick)} long if you could get an erection`);
+					}
+				}
+				if (V.seeCircumcision === 1 && PC.foreskin > 0) {
+					r.push(r.pop() + `.</span>`);
+					r.push(foreskinDesc());
+				}
+			}
+		} else if (PC.dick === 3) {
+			if (isAroused && canAchieveErection(PC)) {
+				r.push(`an average-sized erection`);
+				if (V.showDickCMs === 1) {
+					r.push(r.pop() + `,</span> about ${dickToEitherUnit(PC.dick)} long`);
+				}
+				if (V.seeCircumcision === 1 && PC.foreskin > 0) {
+					r.push(r.pop() + `.</span>`);
+					r.push(foreskinErectDesc());
+				} else if (bigBelly) {
+					r.push(r.pop() + `.</span>`);
+				}
+			} else {
+				r.push(`an average-sized penis`);
+				if (V.showDickCMs === 1) {
+					r.push(r.pop() + `,</span>`);
+					if (canAchieveErection(PC)) {
+						r.push(`about ${dickToEitherUnit(PC.dick)} long when erect`);
+					} else {
+						r.push(`which would be around ${dickToEitherUnit(PC.dick)} long if you could get an erection`);
+					}
+				}
+				if (V.seeCircumcision === 1 && PC.foreskin > 0) {
+					r.push(r.pop() + `.</span>`);
+					r.push(foreskinDesc());
+				}
+			}
+		} else if (PC.dick === 2) {
+			if (isAroused && canAchieveErection(PC)) {
+				if ((PC.height <= Height.mean(PC) + 15) && PC.visualAge <= 13) {
+					r.push(`a cute little erection`);
+				} else {
+					r.push(`an embarrassingly small erection`);
+				}
+				if (V.showDickCMs === 1) {
+					r.push(r.pop() + `,</span> only ${dickToEitherUnit(PC.dick)} long`);
+				}
+				if (V.seeCircumcision === 1 && PC.foreskin > 0) {
+					if (V.showDickCMs === 0) {
+						r.push(`</span>`);
+					}
+					if (foreskinRatio > 1) {
+						r.push(`buried deep in your foreskin.`);
+					} else if (foreskinRatio === 1) {
+						r.push(`hidden away by your foreskin.`);
+					} else if (foreskinRatio === -1) {
+						r.push(`that looks a little bigger than it really is due to how tight your foreskin is around it.`);
+					} else {
+						r.push(`just barely able to leave your foreskin.`);
+					}
+				} else {
+					r.push(r.pop() + `.</span>`);
+				}
+			} else {
+				if ((PC.height <= Height.mean(PC) + 15) && PC.visualAge <= 13) {
+					r.push(`a cute little penis,</span>`);
+				} else {
+					r.push(`a small penis,</span>`);
+				}
+				if (V.showDickCMs === 1) {
+					if (canAchieveErection(PC)) {
+						r.push(`only ${dickToEitherUnit(PC.dick)} long when erect, and`);
+					} else {
+						r.push(`which would only be about ${dickToEitherUnit(PC.dick)} long if you could get hard, and`);
+					}
+				}
+				if ((PC.height <= Height.mean(PC) + 15) && PC.visualAge <= 13) {
+					r.push(`fitting for a non-threatening young ${girlP} like you.`);
+				} else {
+					r.push(`little enough to be a source of embarrassment to you.`);
+				}
+				if (V.seeCircumcision === 1 && PC.foreskin > 0) {
+					if (foreskinRatio > 1) {
+						r.push(`Your foreskin is far too large for it, and droops lamely off your cockhead.`);
+					} else if (foreskinRatio === 1) {
+						r.push(`Your foreskin is a bit too large for it, making it look smaller than it really is.`);
+					} else if (foreskinRatio === -1) {
+						r.push(`It completely fills your foreskin, so getting hard is slightly uncomfortable.`);
+					} else {
+						r.push(`It rests comfortably wrapped up in your foreskin.`);
+					}
+				}
+			}
+		} else if (PC.dick === 1) {
+			if (isAroused && canAchieveErection(PC)) {
+				r.push(`a completely humiliating little erection`);
+				if (V.showDickCMs === 1) {
+					r.push(r.pop() + `,</span> only ${dickToEitherUnit(PC.dick)} long,`);
+				}
+				if (V.seeCircumcision === 1 && PC.foreskin > 0) {
+					if (V.showDickCMs === 0) {
+						r.push(`</span>`);
+					}
+					if (foreskinRatio > 1) {
+						r.push(`thoroughly hidden by your excessive foreskin.`);
+					} else if (foreskinRatio === 1) {
+						r.push(`that's too small to even leave your foreskin.`);
+					} else {
+						r.push(`that shyly peeks out from your foreskin.`);
+					}
+				}
+			} else {
+				r.push(`a humiliating little micropenis`);
+				if (V.showDickCMs === 1) {
+					if (canAchieveErection(PC)) {
+						r.push(r.pop() + `,</span> only ${dickToEitherUnit(PC.dick)} long when hard,`);
+					} else {
+						r.push(r.pop() + `,</span> which would only be about ${dickToEitherUnit(PC.dick)} long when if it could get hard,`);
+					}
+				}
+				if (V.seeCircumcision === 1 && PC.foreskin > 0) {
+					if (V.showDickCMs === 0) {
+						r.push(`</span>`);
+					}
+					if (foreskinRatio > 1) {
+						r.push(`completely swallowed up by your excessive foreskin.`);
+					} else if (foreskinRatio === 1) {
+						r.push(`swallowed up by your foreskin.`);
+					} else {
+						r.push(`situated snuggly in your foreskin.`);
+					}
+				}
+			}
+		}
+		if (isAroused && canAchieveErection(PC) && PC.dick > 2 && bigBelly) {
+			r.push(pushingBelly());
+			r.push(dickWeight());
+		} else if (PC.dick >= 10) {
+			r.push(dickWeight());
+		} else if (V.seeCircumcision === 0 || PC.foreskin === 0) { // skipping foreskin stuff, go straight into balls.
+			if (V.showDickCMs === 1 && PC.dick > 2) {
+				r.push(r.pop() + `,`);
+			}
+			r.push(`</span> and`);
+			useConjunction = true;
+		} else if (PC.scrotum === 0 && PC.vagina === -1) {
+			r.push(r.pop() + `.`);
+		}
+		return r.join(" ");
+	}
+
+	function foreskinErectDesc() {
+		const r = [];
+
+		if (V.seeCircumcision === 1 && PC.foreskin > 0) {
+			if (foreskinRatio > 1) {
+				r.push(`Your foreskin is much too large for your dick and your erection can't retract it at all; it needs to be pulled back to properly have sex.`);
+			} else if (foreskinRatio === 1) {
+				r.push(`Your foreskin is too large for your dick, so your erection can't fully retract it.`);
+			} else if (foreskinRatio === -1) {
+				r.push(`Your foreskin is uncomfortably stretched by your erection.`);
+			} else if (foreskinRatio < -1) {
+				r.push(`Your foreskin is stretched thin by your erection, making arousal rather unpleasant.`);
+			} else {
+				r.push(`You're uncut, so your foreskin is completely retracted at the moment.`);
+			}
+		}
+		return r.join(" ");
+	}
+
+	function foreskinDesc() {
+		const r = [];
+
+		if (V.seeCircumcision === 1 && PC.foreskin > 0) {
+			if (foreskinRatio > 1) {
+				r.push(`Your foreskin is far too large for it, with the excess skin drooping lamely off your cockhead.`);
+			} else if (foreskinRatio === 1) {
+				r.push(`Your foreskin is too large for it, with the excess skin making the tip of your dick look shriveled.`);
+			} else if (foreskinRatio === -1) {
+				r.push(`It is too large for your foreskin, leaving it uncomfortably tight around your cock.`);
+			} else if (foreskinRatio < -1) {
+				r.push(`It is much too large for your foreskin, with the part of your dickhead peeking out of the uncomfortably stretched skin an angry color from being squeezed so hard.`);
+			} else {
+				r.push(`It rests comfortably wrapped up in your foreskin.`);
+			}
+		}
+		return r.join(" ");
+	}
+
+	function pushingBelly() {
+		const r = [];
+
+		if (PC.belly >= 100000) {
+			r.push(`Your belly is so large it pushes against your erection, forcing it down and making it difficult to properly mount a girl.`);
+		} else {
+			r.push(`Your gut is so huge and soft, your erection is forced to push a fold into it, inadvertantly making you give yourself a bellyjob.`);
+		}
+
+		return r.join(" ");
+	}
+
+	function dickWeight() {
+		const r = [];
+		const dickLength = PC.dick * 6;
+
+		if (
+			(PC.dick >= 45 + (PC.muscles * 0.3) && PC.physicalAge <= 12) ||
+			(PC.dick >= 68 + (PC.muscles * 0.4))
+		) {
+			r.push(`Your cock is a monolith of soft flesh and weighty enough that you can no longer realistically carry it without assistance.`);
+			if (canStand(PC)) {
+				r.push(`You could drag it along behind you, but that would be painful, at the very least.`);
+			}
+		} else if (PC.dick >= 30) {
+			r.push(`Your cock is so massive that it is difficult to live with. That's not really surprising, seeing as you have to`);
+			if (canWalk(PC)) {
+				if (dickLength > PC.height + 10) {
+					r.push(`carry it over your shoulder, with most of its weight on your back.`);
+				} else if (dickLength >= PC.height - 10) {
+					r.push(`carry it slung over your shoulder.`);
+				} else if (dickLength >= PC.height / 2) {
+					r.push(`hug it in order to walk anywhere with it.`);
+				} else {
+					r.push(`awkwardly hold it to keep its head from dragging along the ground.`);
+				}
+			} else {
+				r.push(`given that it's`);
+				if (dickLength > PC.height + 10) {
+					r.push(`longer than you are tall.`);
+				} else if (dickLength >= PC.height - 10) {
+					r.push(`about as long as you are tall.`);
+				} else if (dickLength >= PC.height / 2) {
+					r.push(`about about half your height.`);
+				} else {
+					r.push(`easily larger than your leg.`);
+				}
+			}
+		} else if (PC.dick >= 20) { // 120cm ~4ft
+			r.push(`Your cock is so massive that it is always in your way. Anything that involves it quickly turns into a logistical mess as you try to figure out just how to wrangle the unruly thing.`);
+		} else if (PC.dick >= 10) { // 60cm ~2ft
+			r.push(`Your cock is large enough to be a bit of a nuisance in your day-to-day affairs, and that's not counting the troubles with usability.`);
+		}
+		r.push(dickAccessibility());
+
+		return r.join(" ");
+	}
+
+	function dickAccessibility() {
+		const r = [];
+
+		if (V.dickAccessibility === 1) {
+			r.push(`It's a good thing you've had the penthouse remodeled for ${girlP}s with enormous dongs, now at least you can relieve yourself without worry.`);
+		} else {
+			r.push(`Even worse, the penthouse was not designed to handle ${girlP}s with dongs as extensive as yours; it's best not to think about the troubles you have when nature calls.`);
+		}
+
+		return r.join(" ");
+	}
+
+	function balls() {
+		const r = [];
+		const ballSize = (V.showDickCMs === 1 ? ` about ${ballsToEitherUnit(PC.balls)} long,` : "");
+
+		if (!useConjunction) {
+			if (PC.dick > 0) {
+				r.push(`Complementing it, you have`);
+			} else {
+				r.push(`You have`);
+			}
+		}
+		r.push(`a pair of<span class="orange">`);
+		if (PC.balls >= 30) {
+			r.push(`inhumanly monstrous, hypertrophied balls`);
+		} else if (PC.balls >= 14) {
+			r.push(`inhumanly enormous, heavy balls`);
+		} else if (PC.balls >= 10) {
+			r.push(`inhumanly large balls`);
+		} else if (PC.balls === 9) {
+			r.push(`titanic balls`);
+		} else if (PC.balls === 8) {
+			r.push(`gigantic balls`);
+		} else if (PC.balls === 7) {
+			r.push(`monstrous balls`);
+		} else if (PC.balls === 6) {
+			r.push(`enormous balls`);
+		} else if (PC.balls === 5) {
+			r.push(`huge balls`);
+		} else if (PC.balls === 4) {
+			r.push(`big, uneventful balls`);
+		} else if (PC.balls === 3) {
+			r.push(`normal, uneventful balls`);
+		} else if (PC.balls === 2) {
+			r.push(`rather small balls`);
+		} else if (PC.balls === 1) {
+			r.push(`tiny balls</span> so small they have retracted up into your abdomen.`);
+		}
+		if (PC.balls > 1) {
+			if (PC.dick === 0) {
+				r.push(r.pop() + `,</span>${ballSize} but lack a dick to go with them, leaving only a little hole at their base.`);
+			} else if (V.showDickCMs === 1 && PC.balls > 1) {
+				r.push(r.pop() + `,</span> about ${ballsToEitherUnit(PC.balls)} long.`);
+			} else {
+				r.push(r.pop() + `.</span>`);
+			}
+		}
+		r.push(
+			ballThoughts(),
+			scrotumDesc()
+		);
+		if (!isVirile) {
+			if (PC.vasectomy === 1) {
+				r.push(`You're had a vasectomy`);
+				if (PC.pubertyXY !== 1) {
+					r.push(`to avoid the risk of your first virile load leading to fatherhood.`);
+				} else {
+					r.push(`to avoid fathering any unwanted children.`);
+				}
+			} else if (PC.ballType === "sterile") {
+				r.push(`Your balls are sterile and useless, so your ejaculate lacks any potency.`);
+			} else if (PC.pubertyXY !== 1) {
+				r.push(`While you do produce ejaculate, your immature testicles do not add any sperm to it.`);
+			}
+		} else if (V.geneticMappingUpgrade >= 1 && PC.genes === "XY" && V.seeDicksAffectsPregnancy === 0) {
+			r.push(`Analysis of your sperm shows that you have a ${PC.spermY}% chance of fathering a son.`);
+		}
+		return r.join(" ");
+	}
+
+	function ballThoughts() {
+		const r = [];
+
+		if (PC.balls >= 150) {
+			r.push(`That you can't think of anything to liken them to is testament to just how far`);
+			if (V.PC.ballsImplant > 0) {
+				r.push(`the combination of growth hormones and gel injections have`);
+			} else {
+				r.push(`your relentless use of growth hormones has`);
+			}
+			r.push(`forced them to grow;`);
+			if (V.ballsAccessibility === 1) {
+				r.push(`they'd complicate your life if your penthouse hadn't already been redesigned with oversized balls in mind, allowing you to focus on the joys of having oversized nuts, like`);
+			} else {
+				r.push(`even one is enough to make life complicated in a world designed around normal body proportions, and you're packing two of them in your sack. At least there's a certain pleasure to be derived from`);
+			}
+			if (cumTotal >= 1) {
+				r.push(`feeling a slave's belly steadily swell from all the cum you're pumping into them.`);
+			} else {
+				r.push(`watching a new slave panic when you lumber in and mount them for the first time, terrified of just how much cum is about to be pumped into their body.`);
+			}
+		} else if (PC.balls >= 50) {
+			r.push(`They're about the size of ${PC.balls >= 100 ? "large" : ""} beachballs thanks to`);
+			if (V.PC.ballsImplant > 0) {
+				r.push(`a combination of growth hormones and gel injections;`);
+			} else {
+				r.push(`your relentless use of growth hormones;`);
+			}
+			r.push(`it's impossible to find a position where they aren't in the way`);
+			if (hasAnyLegs(PC)) {
+				r.push(`of your ${legs},`);
+			} else {
+				r.push(`when you have to be moved,`);
+			}
+			r.push(`your clothing has to be custom tailored around them, and it's hard to not just be the "${girlP} with the balls", but there's a certain pleasure in`);
+			if (cumTotal >= 1) {
+				r.push(`feeling a slave's belly steadily swell from all the cum you're pumping into them.`);
+			} else {
+				r.push(`watching a new slave panic when you're about to cum.`);
+			}
+			r.push(`They make life far more interesting despite the inconveniences.`);
+		} else if (PC.balls >= 30) {
+			r.push(`They're about the size of watermelons thanks to`);
+			if (V.PC.ballsImplant > 0) {
+				r.push(`a combination of growth hormones and gel injections;`);
+			} else {
+				r.push(`your relentless use of growth hormones;`);
+			}
+			r.push(`it's impossible to sit normally, it's difficult to find clothing to accommodate them, and they are completely obvious to anyone that even glances at you, but`);
+			if (cumTotal >= 1) {
+				r.push(`every slave you fuck gets a distended belly from all the cum you pump into them.`);
+			} else {
+				r.push(`there's a certain pleasure in watching a new slave panic when you're about to cum.`);
+			}
+			r.push(`It's undeniable that they make life more interesting.`);
+		} else if (PC.balls >= 14) {
+			r.push(`It feels like you have two melons hanging from your crotch; it's difficult to sit, clothing no longer fits properly and they are completely obvious to anyone that looks at you, but every slave you fuck gets a distinct slap with each thrust. It's undeniable that they make life more interesting.`);
+		} else if (PC.balls >= 9) {
+			r.push(`They're roughly the size of softballs and pretty heavy, but they make sex and your day-to-day affairs interesting.`);
+		} else if (PC.balls >= 5) {
+			r.push(`You can certainly feel them as you move about.`);
+		}
+		if (
+			(PC.balls >= 60 + (PC.muscles * 0.5) && PC.physicalAge <= 12) ||
+			(PC.balls >= 90 + (PC.muscles * 0.7))
+		) {
+			r.push(`Unfortunatly, they've become so ponderous that you have to cart them along when you want to move anywere; they effectively act as a pair of anchors otherwise.`);
+		}
+		return r.join(" ");
+	}
+
+	function scrotumDesc() {
+		const r = [];
+		const scrotalFullness = (PC.scrotum - PC.balls);
+
+		if (PC.balls > 90) {
+			if (scrotalFullness < -1) {
+				r.push(`Your poor scrotum is agonizingly overfilled and stretched thin. It constantly aches and you really don't wish to tear your sack by accident.`);
+			} else if (scrotalFullness === -1) {
+				r.push(`Your scrotum is agonizingly overfilled and stretched taut. Even the slightest brush against them is unpleasant.`);
+			} else if (scrotalFullness === 0) {
+				r.push(`Your comfortable scrotum allows them to hang massively from your crotch.`);
+			} else {
+				r.push(`Your scrotum is so loose and your testicles so fat and heavy that they`);
+				if (hasBothLegs(PC)) {
+					r.push(`drag along the floor if not supported.`);
+				} else {
+					r.push(`hang far from your torso.`);
+				}
+			}
+		} else if (PC.balls >= 20) {
+			if (scrotalFullness < -1) {
+				r.push(`Your scrotum is agonizingly overfilled and stretched taut. Even the slightest brush against them is unpleasant.`);
+			} else if (scrotalFullness === -1) {
+				r.push(`Your scrotum is painfully overfilled by them, rendering every little vein in it visible. Touching them is unpleasant, to say the least.`);
+			} else if (scrotalFullness === 0) {
+				r.push(`Your comfortable scrotum allows them to hang massively from your crotch.`);
+			} else {
+				r.push(`Your scrotum is quite loose and your testicles fat and heavy; they hang`);
+				if (hasBothLegs(PC)) {
+					r.push(`past your knees.`);
+				} else {
+					r.push(`some distance from your torso.`);
+				}
+			}
+		} else if (PC.balls > 5) {
+			if (scrotalFullness < -1) {
+				r.push(`Your scrotum is painfully overfilled by them, rendering every little vein in it visible. Touching them is unpleasant, to say the least.`);
+			} else if (scrotalFullness === -1) {
+				r.push(`They're held close to your body by a tight scrotum that permits them little movement.`);
+			} else if (scrotalFullness === 0) {
+				r.push(`Your comfortable scrotum allows them to hang massively from your crotch.`);
+			} else {
+				r.push(`Your scrotum is quite loose, so your testicles dangle`);
+				if (hasBothLegs(PC)) {
+					r.push(`between your knees if allowed.`);
+				} else {
+					r.push(`some distance from your torso.`);
+				}
+			}
+		} else if (PC.balls > 3) {
+			if (scrotalFullness < -1) {
+				r.push(`They're too big for your undersized scrotum, which is stretched uncomfortably tight over each testicle.`);
+			} else if (scrotalFullness === -1) {
+				r.push(`They're held close to your body by a tight scrotum that permits them little movement.`);
+			} else if (scrotalFullness === 0) {
+				r.push(`They rest comfortably`);
+				if (hasBothLegs(PC)) {
+					r.push(`between your ${legs}, right where they should be.`);
+				} else {
+					r.push(`beneath your torso, right where they should be.`);
+				}
+			} else {
+				r.push(`Your scrotum is quite loose, so your testicles hang low`);
+				if (hasBothLegs(PC)) {
+					r.push(`between your ${legs}.`);
+				} else {
+					r.push(`from your torso.`);
+				}
+			}
+		} else if (PC.balls > 1) {
+			if (scrotalFullness < 0) {
+				r.push(`They're held tightly by a very minimal scrotum that reduces them to a soft little bump.`);
+			} else if (scrotalFullness === 0) {
+				r.push(`They rest comfortably in a soft little pouch-like scrotum.`);
+			} else {
+				r.push(`They look normal due to your loose scrotum, but trying to find them in it can at times be difficult.`);
+			}
+		} else {
+			if (scrotalFullness === 0) {
+				r.push(`Even your scrotum is barely there, having shriveled to nothing more than a soft little patch of skin.`);
+			} else {
+				r.push(`All that's left is a soft, shriveled little scrotum.`);
+			}
+		}
+		return r.join(" ");
+	}
+
+	function internalBalls() {
+		const r = [];
+
+		if (!useConjunction) {
+			r.push(`While it may appear you lack balls, you actually have`);
+		}
+		r.push(`<span class="orange">a pair of`);
+		if (PC.balls === 1) {
+			r.push(`tiny`);
+		} else if (PC.balls > 2) {
+			r.push(`large`);
+		}
+		if (!useConjunction) {
+			r.push(`testicles</span> hidden up in your body.`);
+		} else {
+			r.push(`internal testicles.</span>`);
+		}
+		if (!isVirile) {
+			if (PC.vasectomy === 1) {
+				r.push(`They're not connected to anything at the moment, but you can always get your vasectomy reversed if you wanted.`);
+			} else if (PC.ballType === "sterile") {
+				r.push(`They're sterile and useless, but still exist at least.`);
+			} else if (PC.pubertyXY !== 1) {
+				r.push(`They're immature, so you don't actually produce any sperm yet.`);
+			}
+		} else if (V.geneticMappingUpgrade >= 1 && PC.genes === "XY" && V.seeDicksAffectsPregnancy === 0) {
+			r.push(`Analysis of your sperm shows that you have a ${PC.spermY}% chance of fathering a son.`);
+		}
+
+		return r.join(" ");
+	}
+
+	function vagina() {
+		const r = [];
+		// Make sure that .trueVirgin is cleared if ANYTHING ever restores virginity!
+
+		if (PC.vagina === 0) {
+			r.push(`<span class="lime">a virgin pussy</span>`);
+		} else if (PC.vagina === 1) {
+			r.push(`<span class="orange">a tight vagina</span>`);
+		} else if (PC.vagina === 2) {
+			r.push(`<span class="orange">a reasonably tight vagina</span>`);
+		} else if (PC.vagina === 3) {
+			r.push(`<span class="orange">a rather loose vagina</span>`);
+		} else if (PC.vagina === 4) {
+			r.push(`<span class="red">a very loose vagina</span>`);
+		} else if (PC.vagina >= 10) {
+			r.push(`<span class="red">an utterly ruined hole that was once a vagina,</span>`);
+		} else if (PC.vagina >= 5) {
+			r.push(`<span class="red">an embarrassingly loose, permanantly gaped, vagina</span>`);
+		}
+		if (PC.labia === 0) {
+			r.push(`with cute`);
+		} else if (PC.labia === 1) {
+			r.push(`with big puffy`);
+		} else if (PC.labia === 2) {
+			r.push(`with huge`);
+		} else {
+			r.push(`with huge dangling`);
+		}
+		if (V.seeRace === 1) {
+			if (PC.race === "white") {
+				r.push(`pink pussylips.`);
+			} else if (PC.race === "asian") {
+				r.push(`dark ${PC.race} pussylips.`);
+			} else if (PC.race === "middle eastern") {
+				r.push(`dark ${PC.race} pussylips.`);
+			} else if (PC.race === "latina") {
+				r.push(`dark ${PC.race} pussylips.`);
+			} else if (PC.race === "black") {
+				r.push(`dark ${PC.race} pussylips.`);
+			} else {
+				r.push(`${PC.skin} pussylips.`);
+			}
+		} else {
+			r.push(`${PC.skin} pussylips.`);
+		}
+
+		r.push(vaginaThoughts());
+
+		if (PC.cervixImplant === 3) {
+			r.push(`The pump system also replaces your cervix, allowing vaginal sex to steadily swell your belly by a less conventional method.`);
+		} else if (PC.cervixImplant === 1) {
+			r.push(`You have a special pump replacing your cervix that converts fluids to inert filler for your abdominal implant, allowing vaginal sex to steadily swell your belly in a less conventional method.`);
+		}
+		if (PC.vaginalLube === 0) {
+			if (isAroused) {
+				r.push(`Even though you're in the mood right now, you're dry as a bone;`);
+				if (PC.vagina > 0) {
+					r.push(`you'd need to lube up if you wanted to be penetrated without pain.`);
+				} else if (PC.trueVirgin) {
+					r.push(`you can't imagine sex like this being pleasant.`);
+				} else {
+					r.push(`extra measures would need to be taken before giving up your virginity if it is to be worthwhile.`);
+				}
+			} else {
+				r.push(`You don't get wet at all, even when aroused,`);
+				if (PC.vagina > 0) {
+					r.push(`so penetration is unpleasant at best.`);
+				} else if (PC.trueVirgin) {
+					r.push(`so sex doesn't seem like it would be that fun for you.`);
+				} else {
+					r.push(`so you really don't see yourself giving up your virginity any time soon.`);
+				}
+			}
+		} else if (PC.vaginalLube === 1) { // only handles arousal, everything else is considered normal and not worth mentioning
+			if (isAroused) {
+				r.push(`It's dripping wet and begging to be touched.`);
+			}
+		} else {
+			if (isAroused) {
+				if (!canMove(PC)) {
+					r.push(`You and your bedding`);
+					if (canSmell(PC)) {
+						r.push(`reek of pussy juices`);
+					} else {
+						r.push(`are soaked with pussy juice`);
+					}
+					r.push(`and with good reason; you naturally produce excess femcum and your arousal has turned that production into a biblical flood.`);
+				} else {
+					if (canSmell(PC)) {
+						r.push(`You reek of female arousal from the flood of femcum flowing down your ${legs};`);
+					} else {
+						r.push(`A puddle of femcum has pooled on the ground beneath you;`);
+					}
+					r.push(`you naturally produce excess lubricant and getting hot and bothered has only exacerbated the situation.`);
+				}
+			} else {
+				r.push(`Despite not being aroused, you're already quite wet. You naturally produce excessive female lubricant, so much so that it gets out of hand when you're turned on. When you're horny, everybody in the room will know whether you want them to or not.`);
+			}
+		}
+		if (PC.dick === 0) {
+			r.push(urethralFluids());
+		}
+
+		return r.join(" ");
+	}
+
+	function vaginaThoughts() {
+		const r = [];
+
+		if (PC.newVag === 1) {
+			r.push(`Your pussy has been surgically reconstructed; you shouldn't be able to stretch it out again.`);
+		} else if (PC.vagina === 0) {
+			if (PC.counter.birthsTotal > 0 || PC.bellyPreg >= 1500) {
+				if (PC.trueVirgin) {
+					r.push(`Pretty impressive considering you're also a mother${PC.bellyPreg >= 1500 ? "-to-be" : ""}.`);
+				} else {
+					r.push(`Some may doubt its validity given that you're a mother${PC.bellyPreg >= 1500 ? "-to-be" : ""}.`);
+				}
+			}
+		} else if (PC.bodySwap > 0) {
+			if (PC.vagina < 2) {
+				r.push(`${PC.origBodyOwner} took good care of your new body, at least.`);
+			}
+		} else if (PC.counter.birthsTotal >= 100) {
+			if (PC.vagina >= 5) {
+				r.push(`What can you say? You've had a <em>few</em> kids.`);
+			} else {
+				r.push(`It's really quite impressive that you've retained any tightness at all after having as many kids as you have.`);
+			}
+		} else if (PC.counter.birthsTotal >= 10) {
+			if (PC.vagina >= 4) {
+				r.push(`It's to be expected when you've had as many children as you have.`);
+			} else {
+				r.push(`It's quite the miracle that it has managed to weather as many births as it has.`);
+			}
+		} else if (isPCCareerInCategory("escort") && PC.vagina >= 3 && PC.trueVirgin === 0) {
+			r.push(`Years of whoring will do that to a ${girlP}.`);
+		} else if (isPCCareerInCategory("servant") && PC.vagina >= 3 && PC.trueVirgin === 0) {
+			r.push(`Your Master fucked you several times a day; he`);
+			if (PC.counter.birthMaster > 0) {
+				r.push(`and his child${V.PC.counter.birthMaster > 1 ? "ren" : ""} have`);
+			}
+			r.push(`wreaked havoc upon your pussy.`);
+		} else if (PC.counter.birthsTotal > 2 && PC.vagina >= 3) {
+			r.push(`It's a bit stretched from your several children.`);
+		} else if (PC.counter.birthsTotal > 0 && PC.vagina.isBetween(1, 5)) {
+			r.push(`It's gone through childbirth well enough.`);
+		} else if (PC.vagina >= 2) {
+			r.push(`You may have had ${PC.vagina >= 4 ? "a little too much" : "some"} fun in bed.`);
+		} else if (PC.vagina >= 1) {
+			r.push(`You've made sure to take care of yourself.`);
+		}
+
+		return r.join(" ");
+	}
+
+	function clit() {
+		const r = [];
+
+		if (PC.scrotum > 0 && PC.balls > 1) {
+			r.push(`It merges seamlessly into the base of your`);
+			if (PC.dick > 0) {
+				r.push(`scrotum, whith the base of your cock extending from where your clitoris would be.`);
+			} else {
+				r.push(`scrotum.`);
+			}
+		} else if (PC.dick > 0) {
+			r.push(`Since you have a penis, you lack a clit; your vagina merges seamlessly into its base, with it extending from where your clitoris would be.`);
+		} else if (PC.scrotum > 0 && PC.balls > 0) {
+			r.push(`It merges seamlessly into your miniscule scrotum, creating a bit of confusion over what all parts you have.`);
+		} else { // This can certainly be improved.
+			if (PC.foreskin === 0) {
+				if (PC.clit === 0) {
+					r.push(`You have an average clit, ${isAroused ? "stiff with lust and" : "left"} exposed by your lack of hood.`);
+				} else if (PC.clit === 1) {
+					r.push(`You have a large${isAroused ? ", visibly hard" : ""} clit, made even more prominent by your lack of hood.`);
+				} else if (PC.clit === 2) {
+					if (isAroused) {
+						r.push(`You have a huge, visibly erect clit left exposed by your lack of hood. It throbs just being in the open air; wearing clothing in this state is torturous.`);
+					} else {
+						r.push(`You have a huge clit, left exposed by your lack of hood. It's difficult to not find yourself overstimulated by simple things like clothing brushing against it.`);
+					}
+				} else if (PC.clit === 3) {
+					if (isAroused) {
+						r.push(`You have an enormous, proudly erect clit.`);
+					} else {
+						r.push(`You have an enormous clit, almost a pseudophallus.`);
+					}
+					r.push(`It's lost a little sensitivity from its size, so it's a bit more manageable to live with.`);
+				} else if (PC.clit === 4) {
+					r.push(`Your clit is large enough to rival the average penis`);
+					if (isAroused) {
+						r.push(`and, right now, is erect like one too. It's not as hard as a real erection, but you can still use it like one.`);
+					} else {
+						r.push(`and capable of becoming erect enough to allow penetration. A feat quite stimulating.`);
+					}
+				} else {
+					r.push(`Your clit is massive, larger than the average penis`);
+					if (isAroused) {
+						r.push(`and, right now, semi-erect. The lack of erectile tissue means it can never become fully erect, but that won't stop you from putting it to good use.`);
+					} else {
+						r.push(`and capable of becoming erect enough to allow penetration. It can't get as hard as a dick, since it lacks erectile tissue, but the feeling is unimaginable.`);
+					}
+				}
+			} else if (PC.foreskin === 1) {
+				if (PC.clit === 0) {
+					r.push(`You have an average clit, ${isAroused ? "stiff with lust and" : ""} hidden by its hood.`);
+				} else if (PC.clit === 1) {
+					r.push(`You have a large${isAroused ? ", visibly hard" : ""} clit. Your clitoral hood is stretched thin trying to cover it.`);
+				} else if (PC.clit === 2) {
+					if (isAroused) {
+						r.push(`You have a huge, visibly erect clit.`);
+					} else {
+						r.push(`You have a huge clit.`);
+					}
+					r.push(`Your hood is too small to cover it completely, and a large portion of your clitoris is always exposed.`);
+				} else if (PC.clit === 3) {
+					if (isAroused) {
+						r.push(`You have an enormous, proudly erect clit.`);
+					} else {
+						r.push(`You have an enormous clit, almost a pseudophallus.`);
+					}
+					r.push(`Your hood can no longer contain it and has slid back, leaving your clitoris always exposed.`);
+				} else if (PC.clit === 4) {
+					r.push(`Your clit is large enough to rival the average penis`);
+					if (isAroused) {
+						r.push(`and, right now, is erect like one too. It's not as hard as a real erection, but you can still use it like one.`);
+					} else {
+						r.push(`and capable of becoming erect enough to allow penetration. A feat quite stimulating.`);
+					}
+					r.push(`Your hood can no longer contain it and has slid back, leaving your clitoris always exposed.`);
+				} else {
+					r.push(`Your clit is massive, larger than the average penis`);
+					if (isAroused) {
+						r.push(`and, right now, semi-erect. The lack of erectile tissue means it can never become fully erect, but that won't stop you from putting it to good use.`);
+					} else {
+						r.push(`and capable of becoming erect enough to allow penetration. It can't get as hard as a dick, since it lacks erectile tissue, but the feeling is unimaginable.`);
+					}
+					r.push(`Your hood can no longer contain it and has slid back, leaving your clitoris always exposed.`);
+				}
+			} else if (PC.foreskin === 2) {
+				if (PC.clit === 0) {
+					r.push(`You have an average clit, ${isAroused ? "stiff with lust but" : ""} covered by a large hood that makes stimulating it difficult.`);
+				} else if (PC.clit === 1) {
+					r.push(`You have a large${isAroused ? ", visibly hard" : ""} clit covered by a hood.`);
+				} else if (PC.clit === 2) {
+					if (isAroused) {
+						r.push(`You have a huge, visibly erect clit.`);
+					} else {
+						r.push(`You have a huge clit.`);
+					}
+					r.push(`Your clitoral hood is stretched thin trying to cover it.`);
+				} else if (PC.clit === 3) {
+					if (isAroused) {
+						r.push(`You have an enormous, proudly erect clit.`);
+					} else {
+						r.push(`You have an enormous clit, almost a pseudophallus.`);
+					}
+					r.push(`Your hood is too small to cover it completely, and a large portion of your clitoris is always exposed.`);
+				} else if (PC.clit === 4) {
+					r.push(`Your clit is large enough to rival the average penis`);
+					if (isAroused) {
+						r.push(`and, right now, is erect like one too. It's not as hard as a real erection, but you can still use it like one.`);
+					} else {
+						r.push(`and capable of becoming erect enough to allow penetration. A feat quite stimulating.`);
+					}
+					r.push(`Your hood can no longer contain it and has slid back, leaving your clitoris always exposed.`);
+				} else {
+					r.push(`Your clit is massive, larger than the average penis`);
+					if (isAroused) {
+						r.push(`and, right now, semi-erect. The lack of erectile tissue means it can never become fully erect, but that won't stop you from putting it to good use.`);
+					} else {
+						r.push(`and capable of becoming erect enough to allow penetration. It can't get as hard as a dick, since it lacks erectile tissue, but the feeling is unimaginable.`);
+					}
+					r.push(`Your hood can no longer contain it and has slid back, leaving your clitoris always exposed.`);
+				}
+			} else if (PC.foreskin === 3) {
+				if (PC.clit === 0) {
+					r.push(`You have an average clit, ${isAroused ? "stiff with lust but" : ""} covered by a large, thick hood that makes stimulating it difficult.`);
+				} else if (PC.clit === 1) {
+					r.push(`You have a large${isAroused ? ", visibly hard" : ""} clit covered by a thick hood that makes stimulating it difficult.`);
+				} else if (PC.clit === 2) {
+					if (isAroused) {
+						r.push(`You have a huge, visibly erect`);
+					} else {
+						r.push(`You have a huge`);
+					}
+					r.push(`clit completely covered by a large hood.`);
+				} else if (PC.clit === 3) {
+					if (isAroused) {
+						r.push(`You have an enormous, proudly erect clit.`);
+					} else {
+						r.push(`You have an enormous clit, almost a pseudophallus.`);
+					}
+					r.push(`A large hood covers all but the tip of your it${isAroused ? ", even in its current state" : ""}.`);
+				} else if (PC.clit === 4) {
+					r.push(`Your clit is large enough to rival the average penis`);
+					if (isAroused) {
+						r.push(`and, right now, is erect like one too. It's not as hard as a real erection, but you can still use it like one.`);
+					} else {
+						r.push(`and capable of becoming erect enough to allow penetration. A feat quite stimulating.`);
+					}
+					r.push(`Even your large hood can't cover it completely, leaving over half of it exposed.`);
+				} else {
+					r.push(`Your clit is massive, larger than the average penis`);
+					if (isAroused) {
+						r.push(`and, right now, semi-erect. The lack of erectile tissue means it can never become fully erect, but that won't stop you from putting it to good use.`);
+					} else {
+						r.push(`and capable of becoming erect enough to allow penetration. It can't get as hard as a dick, since it lacks erectile tissue, but the feeling is unimaginable.`);
+					}
+					r.push(`Your large hood can't contain it and has slid back, leaving your clitoris always exposed.`);
+				}
+			} else {
+				if (PC.clit === 0) {
+					r.push(`You have an average clit, ${isAroused ? "stiff with lust but" : ""} covered by a large, thick hood that makes stimulating it difficult.`);
+				} else if (PC.clit === 1) {
+					r.push(`You have a large${isAroused ? ", visibly hard" : ""} clit covered by a thick hood that makes stimulating it difficult.`);
+				} else if (PC.clit === 2) {
+					if (isAroused) {
+						r.push(`You have a huge, visibly erect clit.`);
+					} else {
+						r.push(`You have a huge clit.`);
+					}
+					r.push(`However, the large, thick hood covering it makes any stimulation difficult.`);
+				} else if (PC.clit === 3) {
+					if (isAroused) {
+						r.push(`You have an enormous, proudly erect clit.`);
+					} else {
+						r.push(`You have an enormous clit, almost a pseudophallus.`);
+					}
+					r.push(`Matching its size is the thick hood covering it.`);
+				} else if (PC.clit === 4) {
+					r.push(`Your clit is large enough to rival the average penis`);
+					if (isAroused) {
+						r.push(`and, right now, is erect like one too. It's not as hard as a real erection, but you can still use it like one.`);
+					} else {
+						r.push(`and capable of becoming erect enough to allow penetration. A feat quite stimulating.`);
+					}
+					r.push(`The large hood covering over half of it only adds to its penis-like appearance.`);
+				} else {
+					r.push(`Your clit is massive, larger than the average penis`);
+					if (isAroused) {
+						r.push(`and, right now, semi-erect. The lack of erectile tissue means it can never become fully erect, but that won't stop you from putting it to good use.`);
+					} else {
+						r.push(`and capable of becoming erect enough to allow penetration. It can't get as hard as a dick, since it lacks erectile tissue, but the feeling is unimaginable.`);
+					}
+					r.push(`Even your large hood can't cover it completely, leaving over half of it exposed.`);
+				}
+			}
+		}
+
+		return r.join(" ");
+	}
+
+	function surgicalNull() {
+		const r = [];
+
+		r.push(`absolutely nothing; <span class="orange">you're a surgical null.</span>`);
+		r.push(urethralFluids());
+
+		return r.join(" ");
+	}
+
+	function urethralFluids() {
+		const r = [];
+		const ballSize = (
+			PC.balls > 2 ? "cramped" :
+				PC.balls === 1 ? "tiny" :
+					""
+		);
+
+		// arousal
+		if (isAroused && PC.prostate > 0) {
+			if (PC.dick > 0) {
+				if (foreskinRatio <= 0) {
+					if (canAchieveErection(PC)) {
+						r.push(`A string of precum is dangling from the tip of your erection.`);
+					} else if (PC.dick >= 30) {
+						r.push(`A trail of precum follows the tip of your dick as you pull it around.`);
+					} else {
+						r.push(`A string of precum is dangling from the tip of your flaccid penis.`);
+					}
+				} else {
+					r.push(`You can feel your precum smearing around the inside of your excessive foreskin.`);
+				}
+			} else if (PC.vagina >= 0 && PC.scrotum === 0) {
+				r.push(`A stream of precum is flowing out your urethra and`);
+				if (PC.vaginaLube > 0) {
+					r.push(`mixing into your pussy juices.`);
+				} else {
+					r.push(`providing a little moisture to your pussy, however.`);
+				}
+			} else {
+				r.push(`A bead of precum is pooling at the entrance to your urethra.`);
+			}
+		}
+		// squirting
+		if (PC.dick === 0 && (PC.prostate > 0 || PC.balls > 0)) {
+			if (PC.vagina === -1 || PC.scrotum > 0) {
+				r.push(`This hole is normally almost invisible, so it's`);
+				if (PC.prostate > 2 || cumTotal >= 1) {
+					r.push(`absolutely shocking to new partners when you climax and fire a massive cumshot out of it.`);
+				} else if (PC.balls > 0 && isVirile) {
+					r.push(`quite surprising to new partners when you climax and shoot cum out of it.`);
+				} else if (PC.prostate > 0) {
+					r.push(`quite surprising to new partners when you climax and squirt from it.`);
+				}
+			} else {
+				r.push(`Since you have`);
+				if (PC.prostate > 0 && PC.balls > 0) {
+					r.push(`a functional prostate gland attached to your urethra and <span class="orange">a pair of ${ballSize} internal testicles</span> to go with it, you`);
+					if (PC.prostate > 2 || cumTotal >= 1) {
+						r.push(`soak yourself and your surroundings with ${isVirile ? "semen and " : ""}sexual fluids every time you cum.`);
+					} else {
+						r.push(`squirt copious amounts of fluid ${isVirile ? "and semen " : ""}with each orgasm.`);
+					}
+				} else if (PC.balls > 0) {
+					if (cumTotal >= 1) {
+						r.push(`<span class="orange">an overproductive pair of ${ballSize} internal testicles</span> hooked up to your urethra, you release a flood of ${isVirile ? "semen" : "ejaculate"} every time you cum.`);
+					} else {
+						r.push(`<span class="orange">a pair of ${ballSize} internal testicles</span> hooked up to your urethra, you squirt a little ${isVirile ? "semen" : "ejaculate"} with each orgasm.`);
+					}
+				} else if (PC.prostate > 0) {
+					r.push(`a functional prostate gland attached to your urethra, you`);
+					if (PC.prostate > 2) {
+						r.push(`soak yourself and your surroundings with sexual fluids any time you cum.`);
+					} else {
+						r.push(`squirt copiously when you orgasm.`);
+					}
+				}
+			}
+			if ((PC.dick === 0 || PC.genes !== "XY") && PC.prostate > 0 && PC.preg > 0 && PC.preg > PC.pregData.normalBirth * .75) {
+				r.push(`Your prostate is under constant pressure from your advanced pregnancy, forcing frequent bouts of extreme arousal on you.`);
+			}
+			if (PC.balls > 0) {
+				if (!isVirile) {
+					r.push(`This fluid isn't virile`);
+					if (PC.vasectomy === 1) {
+						r.push(`since you've had a vesectomy.`);
+					} else if (PC.ballType === "sterile") {
+						r.push(`since you are sterile.`);
+					} else if (PC.pubertyXY !== 1) {
+						r.push(`yet, but will be someday.`);
+					}
+				} else if (V.geneticMappingUpgrade >= 1 && PC.genes === "XY" && V.seeDicksAffectsPregnancy === 0) {
+					r.push(`Analysis of the sperm mixed into this fluid reveals that you have a ${PC.spermY}% chance of fathering a son.`);
+				}
+			}
+		}
+
+		return r.join(" ");
+	}
+
+	r.push(pubicMound());
+	if (PC.dick === 0 && PC.vagina === -1 && PC.scrotum === 0) {
+		r.push(surgicalNull());
+	}
+	if (PC.dick > 0) {
+		r.push(penis());
+	}
+	if (PC.scrotum > 0) {
+		r.push(balls());
+	} else if (PC.dick > 0 && PC.balls > 0) { //  && PC.vagina === -1 internal balls + dick
+		r.push(internalBalls());
+	} else if (PC.dick > 0 && PC.vagina === -1) {
+		if (!useConjunction) {
+			r.push(`You completely lack testicles.`);
+		} else {
+			r.push(`no testicles.`);
+		}
+	}
+	if (PC.dick > 0 || PC.scrotum > 0) {
+		r.push(urethralFluids());
+		if (PC.vagina >= 0) {
+			r.push(`Tucked away beneath`);
+			if (PC.dick > 0 && PC.scrotum > 0) {
+				r.push(`them, you have`);
+			} else if (PC.dick > 0 && PC.balls > 0) {
+				r.push(`your shaft, you have`);
+			} else {
+				r.push(`it, you have`);
+			}
+		}
+	}
+	if (PC.vagina >= 0) {
+		r.push(vagina());
+		r.push(clit());
+	}
+
+	if (hasAnyArms(PC) && PC.ovaries === 1) {
+		if (PC.belly >= 5000) {
+			if (PC.bellyPreg >= 2000) {
+				r.push(`You run your ${hands} across your obvious womb;`);
+			} else {
+				r.push(`You run your ${hands} across your belly, coming to a stop over your womb;`);
+			}
+		} else if (PC.weight > 30) {
+			r.push(`You sink a hand into your soft middle, bringing it to rest over your womb;`);
+		} else {
+			r.push(`You rest your hand over your womb;`);
+		}
+		if (PC.wombImplant === "restraint") {
+			r.push(`it's a relatively normal <span class="pink">female reproductive tract</span> that has been reinforced to better support large`);
+			if (PC.belly >= 400000) {
+				r.push(`pregnancies, like yours, but lately it has begun to feel restrictive, almost as if it is strangling your womb.`);
+			} else if (PC.bellyPreg >= 150000) {
+				r.push(`pregnancies like yours.`);
+			} else {
+				r.push(`pregnancies.`);
+			}
+		} else {
+			r.push(`you have a ${PC.ovaImplant !== 0 && PC.vagina >= 0 ? "relatively" : ""} normal <span class="pink">female reproductive tract.</span>`);
+		}
+		if (PC.vagina === -1) {
+			r.push(`You lack a vagina, which means you can only bear children surgically.`);
+		}
+		if (PC.ovaImplant !== 0) {
+			if (PC.wombImplant === "restraint") {
+				r.push(`You ovaries are modified as well;`);
+			} else {
+				r.push(`Your ovaries are modified;`);
+			}
+			switch (PC.ovaImplant) {
+				case "fertility":
+					r.push(`a pair of implants are attached that increase the number of eggs released during ovulation.`);
+					break;
+				case "sympathy":
+					r.push(`a pair of linked implants are attached to them so that when one releases an egg the other does as well.`);
+					break;
+				case "asexual":
+					r.push(`one of them has been replaced with a fabricated sperm sack designed to automatically fertilize any eggs you release.`);
+					if (PC.geneticQuirks.superfetation === 2 && (PC.preg > 10 || PC.counter.birthsTotal > 0)) {
+						r.push(`This can be a bit of a nuisance, given your penchant for superfetation, as it keeps you in a state of perpetual pregnancy.`);
+					}
+					if (isFertile(PC)) {
+						r.push(`You've been experiencing frequent spontaneous orgasms lately, which means it won't be long until you impregnate yourself${PC.counter.birthSelf > 0 ? " again" : ""}.`);
+					}
+					break;
+			}
+		}
+	}
+
+	return r.join(" ");
+};
diff --git a/src/player/desc/pLongDescription.js b/src/player/desc/pLongDescription.js
new file mode 100644
index 0000000000000000000000000000000000000000..6c3a966038d52fe3390429413786a1127c70ec78
--- /dev/null
+++ b/src/player/desc/pLongDescription.js
@@ -0,0 +1,59 @@
+App.Desc.Player.longDescription = function(PC = V.PC) {
+	let r = [];
+	const el = new DocumentFragment();
+
+	let freckled = '';
+	if (PC.markings === "freckles") {
+		freckled = ` freckled`;
+	} else if (PC.markings === "heavily freckled") {
+		freckled = ` heavily freckled`;
+	}
+
+	r.push(`You take yourself in in a full length mirror. You are ${addA(PC.race)} ${PC.dick && PC.vagina !== -1 ? `futanari` : PC.dick ? `man` : `woman`} with${freckled} ${PC.skin} skin,`);
+
+	r.push(App.Desc.Player.face(PC));
+	App.Events.addParagraph(el, r);
+	r = [];
+
+	if (canStand(PC)) {
+		r.push(`You take a step back to focus more on your overall self.`);
+	}
+	r.push(App.Desc.Player.body(PC));
+	App.Events.addParagraph(el, r);
+	r = [];
+	r.push(
+		`Looking down`,
+		App.Desc.Player.boobs()
+	);
+	r.push(
+		`And past ${PC.boobs >= 300 ? "them" : "that"},`,
+		App.Desc.Player.belly(),
+	);
+	App.Events.addParagraph(el, r);
+	r = [];
+	if (PC.belly >= 100000) {
+		r.push(`You're a bit too wide now to see it from the front, but you have`);
+	} else {
+		r.push(`As for your sides, you have`);
+	}
+	r.push(App.Desc.Player.waist());
+	r.push(`It flows into your`);
+	r.push(App.Desc.Player.butt());
+	App.Events.addParagraph(el, r);
+	r = [];
+	if (!canMove(PC)) {
+		r.push(`You roll over to get a better view of your crotch.`);
+	} else if (PC.belly >= 100000 || PC.weight > 160) {
+		r.push(`You shift your weight and make use of some angled mirrors to see your crotch beneath your belly.`);
+	} else if (PC.dick === 0 && PC.vagina === -1) {
+		r.push(`You turn your attention to your nether reqion.`);
+	} else if (PC.dick > 0) {
+		r.push(`You turn your attention to your most valuable asset, your crotch.`);
+	} else {
+		r.push(`You turn your attention to your special place.`);
+	}
+	r.push(App.Desc.Player.crotch());
+
+	App.Events.addParagraph(el, r);
+	return el;
+};
diff --git a/src/player/desc/pLongFace.js b/src/player/desc/pLongFace.js
new file mode 100644
index 0000000000000000000000000000000000000000..b2c4e52346399ff106c6698a0f54753b03ee3f04
--- /dev/null
+++ b/src/player/desc/pLongFace.js
@@ -0,0 +1,234 @@
+App.Desc.Player.face = function(PC) {
+	const r = [];
+
+	let hairLength = '';
+
+	const heightVhLength = PC.hLength / PC.height;
+	if (heightVhLength > 0.9) {
+		hairLength = `floor-length`;
+	} else if (heightVhLength > 0.8) {
+		hairLength = `calf-length`;
+	} else if (heightVhLength > 0.7) {
+		hairLength = `knee-length`;
+	} else if (heightVhLength >= 0.6) {
+		hairLength = `thigh-length`;
+	} else if (heightVhLength >= 0.4) {
+		hairLength = `ass-length`;
+	} else if (heightVhLength >= 0.2) {
+		hairLength = `long`;
+	} else if (heightVhLength >= 15) {
+		hairLength = `shoulder-length`;
+	} else {
+		hairLength = `short`;
+	}
+
+	if (PC.hStyle.includes("bald") || PC.bald === 1) {
+		r.push(`no hair`);
+	} else {
+		r.push(`${hairLength} ${PC.hColor} hair,`);
+	}
+	// hStyle here?
+	r.push(`${App.Desc.eyesColor(PC)}, and`);
+	switch (PC.faceShape) {
+		case "masculine":
+			if (PC.face < -95) {
+				r.push(`a hideously ugly, but still containing a hint of masculinity, face.`);
+			} else if (PC.face < -40) {
+				r.push(`an ugly, yet masculine, face.`);
+			} else if (PC.face < -10) {
+				r.push(`an unattractive, but still masculine face.`);
+			} else if (PC.face <= 10) {
+				r.push(`an average masculine face.`);
+			} else if (PC.face <= 40) {
+				r.push(`an attractive masculine face.`);
+			} else if (PC.face <= 95) {
+				r.push(`a very handsome face.`);
+			} else {
+				r.push(`a face nothing short of the pinnacle of masculine handsomeness.`);
+			}
+			break;
+		case "androgynous":
+			if (PC.face < -95) {
+				r.push(`a disturbingly androgynous face that others struggle to look at.`);
+			} else if (PC.face < -40) {
+				r.push(`an ugly and androgynous face that pleases no one.`);
+			} else if (PC.face < -10) {
+				r.push(`a strangely androgynous, and rather unattractive, face.`);
+			} else if (PC.face <= 10) {
+				r.push(`a strangely androgynous face.`);
+			} else if (PC.face <= 40) {
+				r.push(`an androgynous, yet attractive, face.`);
+			} else if (PC.face <= 95) {
+				r.push(`a lovely androgynous face with subtle intricacies that capture the eye.`);
+			} else {
+				r.push(`a face so gorgeously androgynous that you induce sexual confusion in those that look upon you.`);
+			}
+			break;
+		case "cute":
+			if (PC.face < -95) {
+				r.push(`a very ugly, yet somehow cute face.`);
+			} else if (PC.face < -40) {
+				r.push(`ugly, but cute, face.`);
+			} else if (PC.face < -10) {
+				r.push(`an uattractive, yet appealingly cute, face.`);
+			} else if (PC.face <= 10) {
+				r.push(`an average, but charmingly cute, face.`);
+			} else if (PC.face <= 40) {
+				r.push(`an attractive and appealingly cute face.`);
+			} else if (PC.face <= 95) {
+				r.push(`a beautiful, yet disarmingly cute, face.`);
+			} else {
+				r.push(`an impossibly perfect combination of beauty and cuteness capable of softening anyone's heart.`);
+			}
+			break;
+		case "sensual":
+			if (PC.face < -95) {
+				r.push(`a very ugly, yet naturally slutty, face.`);
+			} else if (PC.face < -40) {
+				r.push(`an ugly face that's just lewd enough to not warrant a bag.`);
+			} else if (PC.face < -10) {
+				r.push(`an unattractive, yet charming, face.`);
+			} else if (PC.face <= 10) {
+				r.push(`an average, yet sensual, face.`);
+			} else if (PC.face <= 40) {
+				r.push(`an attractive, sensual face.`);
+			} else if (PC.face <= 95) {
+				r.push(`a beautiful, sensual face that brings sex to mind.`);
+			} else {
+				r.push(`a flawless, unbelievably sensual face that`);
+				// gender overhaul stuff
+				if (PC.title === 1) {
+					r.push(`makes women swoon.`);
+				} else {
+					r.push(`that wraps men around your little finger.`);
+				}
+			}
+			break;
+		case "exotic":
+			if (PC.face < -95) {
+				r.push(`a face so hideous and unusual you can't look away.`);
+			} else if (PC.face < -40) {
+				r.push(`an ugly and unusual face.`);
+			} else if (PC.face < -10) {
+				r.push(`a distinctively unattractive face.`);
+			} else if (PC.face <= 10) {
+				r.push(`an average, but interesting, face.`);
+			} else if (PC.face <= 40) {
+				r.push(`an attractively exotic face that's interesting to look at.`);
+			} else if (PC.face <= 95) {
+				r.push(`a beautifuly exotic face that catches the eye and keeps its gaze.`);
+			} else {
+				r.push(`a perfect, exoticly shaped face that robs anyone that gazes upon it of their ability to look away.`);
+			}
+			break;
+		default:
+			if (PC.face < -95) {
+				r.push(`a very ugly face.`);
+			} else if (PC.face < -40) {
+				r.push(`a rather ugly face.`);
+			} else if (PC.face < -10) {
+				r.push(`an unattractive face.`);
+			} else if (PC.face <= 10) {
+				r.push(`a rather average face.`);
+			} else if (PC.face <= 40) {
+				r.push(`a somewhat attractive face.`);
+			} else if (PC.face <= 95) {
+				r.push(`a quite beautiful face.`);
+			} else {
+				r.push(`a perfect face.`);
+			}
+	}
+	if (PC.weight > 190) {
+		r.push(`It's really quite fat and has ample excess chins piling up beneath it.`);
+	} else if (PC.weight > 160) {
+		r.push(`It's rather plump, and you're developing another extra chin beneath the first one.`);
+	} else if (PC.weight > 130) {
+		r.push(`It's a little chubby and sporting an obvious second chin.`);
+	} else if (PC.weight > 97) {
+		r.push(`It's pleasantly soft, though you've the start of a second chin.`);
+	}
+	if (PC.faceImplant > 5) {
+		r.push(`You've`);
+		if (PC.faceImplant > 95) {
+			r.push(`had so much cosmetic surgery that yout face is located at the bottom of the uncanny`);
+			if (PC.face < -10) {
+				r.push(`valley in addition to its ugliness.`);
+			} else if (PC.face <= 10) {
+				r.push(`valley; the only thing really distinctive about it.`);
+			} else {
+				r.push(`valley, its attractiveness notwithstanding.`);
+			}
+		} else if (PC.faceImplant > 60) {
+			r.push(`obviously gotten a lot of facial cosmetic surgery.`);
+		} else if (PC.faceImplant > 30) {
+			r.push(`noticeably received facial cosmetic surgery.`);
+		} else {
+			r.push(`had some facial cosmetic surgery, though it's subtle.`);
+		}
+	}
+
+	if (PC.earShape === "damaged") {
+		r.push(`Your ears have been severely damaged and have a torn, tattered appearance.`);
+	}
+	if (PC.hears === -1) {
+		r.push(`You wear a subtle hearing aid to help mitigate your poor hearing.`);
+	}
+
+	if (!PC.lips.isBetween(10, 21) || PC.lipsImplant > 0) {
+		r.push(`You have`);
+		if (PC.lips <= 10) {
+			r.push(`thin, unattractive lips.`);
+		} else if (PC.lips <= 20) {
+			r.push(`normal lips.`);
+		} else if (PC.lips <= 40) {
+			r.push(`full lips.`);
+		} else if (PC.lips <= 70) {
+			r.push(`plump, beestung lips.`);
+		} else if (PC.lips <= 95) {
+			r.push(`huge, clearly unnatural lips.`);
+		} else {
+			r.push(`a facepussy: your lips are so huge that you can't completely close them.`);
+		}
+	}
+	if (V.showImplantEffects === 1) {
+		if (V.arcologies[0].FSTransformationFetishist !== "unset") {
+			if (PC.lipsImplant > 0) {
+				r.push(`They are about ${Math.floor((PC.lipsImplant / PC.lips) * 100)}% implant.`);
+			}
+		}
+	}
+	if (PC.teeth !== "normal") {
+		if (PC.teeth === "crooked") {
+			r.push(`You have crooked teeth and should really consider seeing an orthodontist.`);
+		} else if (PC.teeth === "straightening braces" || PC.teeth === "cosmetic braces") {
+			r.push(`You have braces, and now that you are looking at them, can't keep running your tongue across them.`);
+		} else if (PC.teeth === "gapped") {
+			r.push(`You have a prominent gap between your front teeth that affects your speech.`);
+		} else if (PC.teeth === "removable") {
+			r.push(`You have high-quality dentures instead of teeth.`);
+		} else if (PC.teeth === "pointy") {
+			r.push(`Your teeth have been replaced with realistic implants that mimic the dentition of a carnivore.`);
+		} else if (PC.teeth === "fangs") {
+			r.push(`Your upper canine teeth have been replaced with realistic implants that mimic fangs.`);
+		} else if (PC.teeth === "fang") {
+			r.push(`One of your upper canine teeth has been replaced with realistic implant shaped like a fang.`);
+		} else if (PC.teeth === "baby") {
+			r.push(`You still have your baby teeth.`);
+		} else if (PC.teeth === "mixed") {
+			r.push(`One of your teeth is loose and going to fall out soon.`);
+		}
+	}
+	if (PC.markings === "beauty mark") {
+		r.push(`A pretty distinct beauty mark gives your face some memorability.`);
+	}
+	if (anyVisionEquals(PC, 1) && PC.eyewear === "corrective glasses") {
+		r.push(`You've chosen to forego contact lenses and instead use a pair of stylish glasses to correct your poor vision.`);
+	}
+	if (PC.smells === -1) {
+		r.push(`It's not obvious, but you no longer have a sense of smell${PC.tastes === -1 ? " or taste" : ""}.`);
+	} else if (PC.tastes === -1) {
+		r.push(`It's not obvious, but you no longer have a sense of taste.`);
+	}
+
+	return r.join(" ");
+};
diff --git a/src/player/desc/pLongWaist.js b/src/player/desc/pLongWaist.js
new file mode 100644
index 0000000000000000000000000000000000000000..a7476ff9a1dd98f8e3b4dd259f5dc4ed6e8b2087
--- /dev/null
+++ b/src/player/desc/pLongWaist.js
@@ -0,0 +1,429 @@
+App.Desc.Player.waist = function(PC = V.PC) {
+	const r = [];
+	const {girlP, womanP} = getPronouns(PC).appendSuffix("P");
+	const belly = bellyAdjective(PC);
+	const lewdly = (PC.physicalAge > 12) ? "lewdly" : "vulgarly"; // avoids overuse of lewdly
+	const womanly = PC.physicalAge <= 20 ? "girlish" : "womanly";
+	const manly = PC.physicalAge <= 20 ? "boyish" : "manly";
+	const overCapacity = (PC.belly > PC.pregAdaptation * 1000);
+
+	// This needs to use perceivedGender() in the future
+	if (PC.title === 1) { // male
+		if (PC.waist > 95) {
+			r.push(`a <span class="pink">wide, ${manly} waist,</span> befitting your masculinity,`);
+			if (PC.weight > 30) {
+				r.push(`that seems to be where most of your weight is settling.`);
+			} else if (PC.weight < -30) {
+				r.push(`even though you're very thin.`);
+			} else {
+				r.push(r.pop() + `.`);
+			}
+			r.push(wideWaistBelly(300000));
+		} else if (PC.waist > 40) {
+			r.push(`a <span class="pink">broad, ${manly} waist</span>`);
+			if (PC.weight > 30) {
+				r.push(`that looks wider than it is thanks to your weight.`);
+			} else if (PC.weight < -30) {
+				r.push(`despite your thin figure.`);
+			} else {
+				r.push(`that suits your masculinity.`);
+			}
+			r.push(wideWaistBelly(150000));
+		} else if (PC.waist > 10) {
+			r.push(`a <span class="pink">${manly} waist</span>`);
+			if (PC.weight > 30) {
+				r.push(`that gives you a truly masculine figure with your extra padding.`);
+			} else if (PC.weight < -30) {
+				r.push(`at risk of becoming ${womanly} due to your low weight.`);
+			} else {
+				r.push(r.pop() + `.`);
+			}
+			r.push(normalWaistBelly());
+		} else if (PC.waist >= -10) {
+			r.push(`an androgynous waist`);
+			if (PC.weight > 30) {
+				r.push(`that looks at least a little ${manly} padded out by your weight.`);
+			} else if (PC.weight < -30) {
+				r.push(`that makes you look a little ${womanly} since you're so thin.`);
+			} else {
+				r.push(r.pop() + `.`);
+			}
+			r.push(normalWaistBelly());
+		} else if (PC.waist >= -40) {
+			r.push(`an <span class="red">unbecoming, feminine waist</span>`);
+			if (PC.weight > 30) {
+				r.push(`that gives you a ${womanly} figure despite your extra padding.`);
+			} else if (PC.weight < -30) {
+				r.push(`that accentuates just how thin and ${womanly} you are.`);
+			} else {
+				r.push(r.pop() + `.`);
+			}
+			r.push(normalWaistBelly());
+		} else if (PC.waist >= -95) {
+			r.push(`an <span class="red">ill-fitting, waspish waist</span> that gives you an uncomfortably ${womanly}`);
+			if (PC.weight > 30) {
+				r.push(`figure that's padded out by your extra weight.`);
+			} else if (PC.weight < -30) {
+				r.push(`figure that accentuates just how thin you are.`);
+			} else {
+				r.push(`figure.`);
+			}
+			if (PC.belly >= 5000) {
+				r.push(`In fact, you're so gravid,`);
+				if (PC.belly >= 450000) {
+					r.push(narrowWaistLargeBelly());
+				} else if (PC.belly >= 80000) {
+					r.push(`your ${belly} belly is ${lewdly} visible from behind.`);
+				} else if (PC.belly >= 5000) {
+					r.push(`anyone behind you can see the edges of your ${belly} belly peeking around your sides.`);
+				}
+			}
+		} else {
+			r.push(`an <span class="red">absurdly narrow, and frankly disturbing, waist</span> that gives you a cartoonishly ${womanly}`);
+			if (slave.weight > 30) {
+				r.push(`figure made even more ludicrous by your extra weight.`);
+			} else if (slave.weight < -30) {
+				r.push(`figure made even more ludicrous by how thin you are is.`);
+			} else {
+				r.push(`figure.`);
+			}
+			if (PC.belly >= 2000) {
+				r.push(`In fact, you're so gravid,`);
+				if (PC.belly >= 450000) {
+					r.push(narrowWaistLargeBelly());
+				} else if (PC.belly >= 15000) {
+					r.push(`your ${belly} belly is very visible from behind.`);
+				} else if (PC.belly >= 5000) {
+					r.push(`your ${belly} belly is ${lewdly} visible from behind.`);
+				} else if (PC.belly >= 2000) {
+					r.push(`anyone behind you can see the edges of your ${belly} belly peeking around your sides.`);
+				}
+			}
+		}
+	} else if (PC.title === 0) { // female
+		if (PC.waist > 95) {
+			r.push(`a badly <span class="red">masculine waist,</span> which truly ruins your`);
+			if (PC.weight > 30) {
+				r.push(`figure and makes you look fatter than you actually are.`);
+			} else if (PC.weight < -30) {
+				r.push(`figure despite your thinness.`);
+			} else {
+				r.push(`feminine figure.`);
+			}
+			r.push(wideWaistBelly(300000));
+		} else if (PC.waist > 40) {
+			r.push(`a <span class="red">broad waist</span> that makes you look`);
+			if (PC.weight > 30) {
+				r.push(`mannish and fatter than you really are.`);
+			} else if (PC.weight < -30) {
+				r.push(`mannish despite your lithe figure.`);
+			} else {
+				r.push(`rather mannish.`);
+			}
+			r.push(wideWaistBelly(150000));
+		} else if (PC.waist > 10) {
+			r.push(`an <span class="red">unattractive waist</span> that marrs your womanly`);
+			if (PC.weight > 30) {
+				r.push(`figure and accentuates your weight.`);
+			} else if (PC.weight < -30) {
+				r.push(`figure despite your thinness.`);
+			} else {
+				r.push(`figure.`);
+			}
+			r.push(normalWaistBelly());
+		} else if (PC.waist >= -10) {
+			r.push(`an average waist for a`);
+			if (PC.physicalAge <= 25) {
+				r.push(`${girlP}`);
+			} else {
+				r.push(`${womanP}`);
+			}
+			r.push(`your age`);
+			if (PC.weight > 30) {
+				r.push(r.pop() + `, though you look a little thicker than you really are due to your weight.`);
+			} else if (PC.weight < -30) {
+				r.push(r.pop() + `, though it appears narrower than it really is since you're so thin.`);
+			} else {
+				r.push(r.pop() + `.`);
+			}
+			r.push(normalWaistBelly());
+		} else if (PC.waist >= -40) {
+			r.push(`a lovely <span class="pink">feminine waist</span>`);
+			if (PC.weight > 30) {
+				r.push(`that gives you a ${womanly} figure despite your extra padding.`);
+			} else if (PC.weight < -30) {
+				r.push(`that accentuates just how thin you are.`);
+			} else {
+				r.push(r.pop() + `.`);
+			}
+			r.push(normalWaistBelly());
+		} else if (PC.waist >= -95) {
+			r.push(`a <span class="pink">wasp waist</span> that gives you an alluring hourglass`);
+			if (PC.weight > 30) {
+				r.push(`figure that's padded out by your extra weight.`);
+			} else if (PC.weight < -30) {
+				r.push(`figure that accentuates just how thin you are.`);
+			} else {
+				r.push(`figure.`);
+			}
+			if (PC.belly >= 5000) {
+				r.push(`In fact, you're so gravid,`);
+				if (PC.belly >= 450000) {
+					r.push(narrowWaistLargeBelly());
+				} else if (PC.belly >= 80000) {
+					r.push(`your ${belly} belly is ${lewdly} visible from behind.`);
+				} else if (PC.belly >= 5000) {
+					r.push(`anyone behind you can see the edges of your ${belly} belly peeking around your sides.`);
+				}
+			}
+		} else {
+			r.push(`an <span class="pink">absurdly narrow waist</span> that gives you a cartoonishly hourglass`);
+			if (slave.weight > 30) {
+				r.push(`figure made even more ludicrous by your extra weight.`);
+			} else if (slave.weight < -30) {
+				r.push(`figure made even more ludicrous by how thin you are is.`);
+			} else {
+				r.push(`figure.`);
+			}
+			if (PC.belly >= 2000) {
+				r.push(`In fact, you're so gravid,`);
+				if (PC.belly >= 450000) {
+					r.push(narrowWaistLargeBelly());
+				} else if (PC.belly >= 15000) {
+					r.push(`your ${belly} belly is very visible from behind.`);
+				} else if (PC.belly >= 5000) {
+					r.push(`your ${belly} belly is ${lewdly} visible from behind.`);
+				} else if (PC.belly >= 2000) {
+					r.push(`anyone behind you can see the edges of your ${belly} belly peeking around your sides.`);
+				}
+			}
+		}
+	} else { // androgynous (not supported yet)
+		if (PC.waist > 95) {
+			r.push(`a badly <span class="red">masculine waist,</span> which truly ruins your`);
+			if (PC.weight > 30) {
+				r.push(`figure and makes you look fatter than you actually are.`);
+			} else if (PC.weight < -30) {
+				r.push(`figure despite your thinness.`);
+			} else {
+				r.push(`androgynous figure.`);
+			}
+			r.push(wideWaistBelly(300000));
+		} else if (PC.waist > 40) {
+			r.push(`a <span class="red">broad waist</span> that makes you look`);
+			if (PC.weight > 30) {
+				r.push(`mannish and fatter than you really are.`);
+			} else if (PC.weight < -30) {
+				r.push(`mannish despite your lithe figure.`);
+			} else {
+				r.push(`rather mannish.`);
+			}
+			r.push(wideWaistBelly(150000));
+		} else if (PC.waist > 10) {
+			r.push(`a <span class="orange">${manly} waist</span> that marrs your androgynous`);
+			if (PC.weight > 30) {
+				r.push(`figure and accentuates your weight.`);
+			} else if (PC.weight < -30) {
+				r.push(`figure despite your thinness.`);
+			} else {
+				r.push(`figure.`);
+			}
+			r.push(normalWaistBelly());
+		} else if (PC.waist >= -10) {
+			r.push(`an <span class="pink">androgynous waist</span>`);
+			if (PC.weight > 30) {
+				r.push(`padded with a layer of soft flesh.`);
+			} else if (PC.weight < -30) {
+				r.push(`that accentuates just how thin you are.`);
+			} else {
+				r.push(r.pop() + `.`);
+			}
+			r.push(normalWaistBelly());
+		} else if (PC.waist >= -40) {
+			r.push(`a lovely <span class="orange">feminine waist</span>`);
+			if (PC.weight > 30) {
+				r.push(`that gives you a ${womanly} figure with your extra padding.`);
+			} else if (PC.weight < -30) {
+				r.push(`that accentuates just how thin you are.`);
+			} else {
+				r.push(r.pop() + `.`);
+			}
+			r.push(normalWaistBelly());
+		} else if (PC.waist >= -95) {
+			r.push(`a <span class="red">wasp waist</span> that gives you an overly ${womanly}`);
+			if (PC.weight > 30) {
+				r.push(`figure that's padded out by your extra weight.`);
+			} else if (PC.weight < -30) {
+				r.push(`figure that accentuates just how thin you are.`);
+			} else {
+				r.push(`figure.`);
+			}
+			if (PC.belly >= 5000) {
+				r.push(`In fact, you're so gravid,`);
+				if (PC.belly >= 450000) {
+					r.push(narrowWaistLargeBelly());
+				} else if (PC.belly >= 80000) {
+					r.push(`your ${belly} belly is ${lewdly} visible from behind.`);
+				} else if (PC.belly >= 5000) {
+					r.push(`anyone behind you can see the edges of your ${belly} belly peeking around your sides.`);
+				}
+			}
+		} else {
+			r.push(`an <span class="red">absurdly narrow waist</span> that gives you a cartoonishly ${womanly}`);
+			if (slave.weight > 30) {
+				r.push(`figure made even more ludicrous by your extra weight.`);
+			} else if (slave.weight < -30) {
+				r.push(`figure made even more ludicrous by how thin you are is.`);
+			} else {
+				r.push(`figure.`);
+			}
+			if (PC.belly >= 2000) {
+				r.push(`In fact, you're so gravid,`);
+				if (PC.belly >= 450000) {
+					r.push(narrowWaistLargeBelly());
+				} else if (PC.belly >= 15000) {
+					r.push(`your ${belly} belly is very visible from behind.`);
+				} else if (PC.belly >= 5000) {
+					r.push(`your ${belly} belly is ${lewdly} visible from behind.`);
+				} else if (PC.belly >= 2000) {
+					r.push(`anyone behind you can see the edges of your ${belly} belly peeking around your sides.`);
+				}
+			}
+		}
+	}
+
+	function wideWaistBelly(thresh) {
+		const r = [];
+
+		if (PC.belly >= thresh) {
+			r.push(`In fact, you're so gravid,`);
+			if (PC.belly >= 750000) {
+				if (overCapacity) {
+					r.push(`your original waistline is barely visible from behind; your ${belly} belly horribly distends it as it fills your body.`);
+				} else {
+					r.push(`your ${belly} belly is very visible from behind.`);
+					r.push(pregAdaptedWaist());
+				}
+			} else if (PC.belly >= 600000) {
+				if (overCapacity) {
+					r.push(`your original waistline is only visible from behind; your ${belly} belly ${lewdly} distorts it as it bulges past your sides.`);
+				} else {
+					r.push(`your ${belly} belly is clearly visible from behind.`);
+					r.push(pregAdaptedWaist());
+				}
+			} else if (PC.belly >= 450000) {
+				if (overCapacity) {
+					r.push(`your original waistline is only visible from behind; your ${belly} belly ${lewdly} distorts it as it extends past your sides.`);
+				} else {
+					r.push(`your ${belly} belly is visible from behind.`);
+					r.push(pregAdaptedWaist());
+				}
+			} else {
+				r.push(`your ${belly} belly is ${lewdly} still visible from behind.`);
+			}
+		}
+		return r;
+	}
+
+	function normalWaistBelly() {
+		const r = [];
+
+		if (PC.belly >= 10000) {
+			r.push(`In fact, you're so gravid,`);
+			if (PC.belly >= 750000) {
+				if (overCapacity) {
+					r.push(`your original waistline is barely visible from behind; your ${belly} belly horribly distends it as it fills your body.`);
+				} else {
+					r.push(`your ${belly} belly is very visible from behind.`);
+					r.push(pregAdaptedWaist());
+				}
+			} else if (PC.belly >= 600000) {
+				if (overCapacity) {
+					r.push(`your original waistline is only visible from behind; your ${belly} belly ${lewdly} distorts it as it bulges past your sides.`);
+				} else {
+					r.push(`your ${belly} belly is clearly visible from behind.`);
+					r.push(pregAdaptedWaist());
+				}
+			} else if (PC.belly >= 450000) {
+				if (overCapacity) {
+					r.push(`your original waistline is only visible from behind; your ${belly} belly ${lewdly} distorts it as it extends past your sides.`);
+				} else {
+					r.push(`your ${belly} belly is visible from behind.`);
+					r.push(pregAdaptedWaist());
+				}
+			} else if (PC.belly >= 200000) {
+				r.push(`your ${belly} belly is ${lewdly} still visible from behind.`);
+			} else {
+				r.push(`anyone behind you can see the edges of your ${belly} belly peeking around your sides.`);
+			}
+		}
+		return r;
+	}
+
+	function narrowWaistLargeBelly() {
+		const r = [];
+
+		if (PC.belly >= 750000) {
+			if (overCapacity) {
+				r.push(`your original waistline is only visible from behind; your ${belly} belly grotesquely distends it as it bulges around your narrow waist and continues on for`);
+				if (PC.belly >= 1000000) {
+					r.push(`quite the distance`);
+				} else {
+					r.push(`over half a`);
+					if (V.showInches === 2) {
+						r.push(`yard`);
+					} else {
+						r.push(`meter`);
+					}
+				}
+				r.push(`farther from your sides.`);
+			} else {
+				if (PC.belly >= 1000000) {
+					r.push(`a truly absurd amount`);
+				} else {
+					r.push(`over half a`);
+					if (V.showInches === 2) {
+						r.push(`yard`);
+					} else {
+						r.push(`meter`);
+					}
+				}
+				r.push(`of belly is visible to either side of your narrow back.`);
+				r.push(pregAdaptedWaist());
+			}
+		} else if (PC.belly >= 600000) {
+			if (overCapacity) {
+				r.push(`your original waistline is only visible from behind; your ${belly} belly ${lewdly} distorts it as it bulges past your narrow waist, continuing on for nearly half a`);
+				if (V.showInches === 2) {
+					r.push(`yard`);
+				} else {
+					r.push(`meter`);
+				}
+				r.push(`in both directions.`);
+			} else {
+				r.push(`nearly half a`);
+				if (V.showInches === 2) {
+					r.push(`yard`);
+				} else {
+					r.push(`meter`);
+				}
+				r.push(`of your ${belly} belly's sides are visible aroudn your narrow waist.`);
+				r.push(pregAdaptedWaist());
+			}
+		} else {
+			if (overCapacity) {
+				r.push(`your original waistline is only visible from behind; your ${belly} belly ${lewdly} distorts it as it extends past your sides.`);
+			} else {
+				r.push(`your ${belly} belly is very visible from behind.`);
+				r.push(pregAdaptedWaist());
+			}
+		}
+		return r;
+	}
+
+	function pregAdaptedWaist() {
+		return `Fortunately, your body is so ${lewdly} adapted to being pregnant that it rests forward enough to preserve the shape of your waistline.`;
+	}
+
+	return r.join(" ");
+};
diff --git a/src/player/desc/playerBelly.js b/src/player/desc/playerBelly.js
deleted file mode 100644
index 3986048c461525ca94cd69b96b8c4a7c463e4ee6..0000000000000000000000000000000000000000
--- a/src/player/desc/playerBelly.js
+++ /dev/null
@@ -1,575 +0,0 @@
-App.Desc.Player.belly = function() {
-	const r = [];
-	const children = V.PC.pregType > 1 ? "children" : "child";
-	const fertRefresh = V.PC.refreshment.includes("fertility") ? 1 : 0;
-	let adjust;
-	const {girlP} = getPronouns(V.PC).appendSuffix("P");
-
-	if (passage() === "Manage Personal Affairs") {
-		if (V.PC.preg > 0) {
-			if (V.PC.belly >= 120000) {
-				r.push(`<span class="red">Your belly is coated with stretch marks and is taut as a drum; you don't know how much more your poor womb can endure.</span> You can barely even leave your bed without a helping hand. Kicks can almost constantly be seen dotting its surface. You give it a pat for good measure, only encouraging your ${pregNumberName(V.PC.pregType, 2)}`);
-				r.push(`to squirm in excitement.`);
-				if (V.PC.dick !== 0) {
-					r.push(`You watch as your dick hardens from the prostate stimulation; you steady yourself for the coming orgasm.`);
-				}
-			} else if (V.PC.belly >= 105000) {
-				r.push(`You have trouble getting up and sitting down. Even standing while supporting your <span class="orange">massive belly</span> has become an exhausting endeavor.`);
-			} else if (V.PC.belly >= 90000) {
-				r.push(`You can <span class="orange">barely reach around your gravid mass</span> any longer. Even the shortest waddle is exhausting.`);
-			} else if (V.PC.belly >= 75000) {
-				r.push(`Your <span class="orange">belly is starting to become worrying;</span> you feel over-filled at all times, and your children like to remind you just how full you are.`);
-			} else if (V.PC.belly >= 60000) {
-				r.push(`You're <span class="orange">definitely having multiples;</span> there is no denying it at this point. All you can do is try to relax and keep trying to stave off the stretch marks.`);
-			} else if (V.PC.belly >= 45000) {
-				r.push(`You both look and feel enormous; your <span class="orange">belly juts out so much now.</span> You've grown so much you now have trouble viewing yourself in mirror.`);
-			} else if (V.PC.belly >= 30000) {
-				r.push(`Whenever you have the chance, you prefer to stay naked instead of stretching out your clothing with your <span class="orange">giant pregnant belly.</span>`);
-			} else if (V.PC.belly >= 14000) {
-				r.push(`You're <span class="orange">so gravid</span> you have trouble seeing the entirety of your huge belly.`);
-			} else if (V.PC.belly >= 12000) {
-				r.push(`You can barely wrap your arms around your <span class="orange">huge pregnant belly,</span> and when you do, your popped navel reminds you of the`);
-				if (V.PC.pregType > 1) {
-					r.push(`buns`);
-				} else {
-					r.push(`bun`);
-				}
-				r.push(`in your oven.`);
-			} else if (V.PC.belly >= 10000) {
-				r.push(`Your <span class="orange">pregnancy has gotten quite huge;</span> none of your clothes fit it right.`);
-			} else if (V.PC.belly >= 7000) {
-				r.push(`Your <span class="orange">pregnant belly juts out annoyingly far;</span> just getting dressed is a pain now.`);
-			} else if (V.PC.belly >= 5000) {
-				r.push(`Your <span class="orange">belly has gotten quite large with child;</span> it is beginning to get the way of sex and business.`);
-			} else if (V.PC.belly >= 1500) {
-				r.push(`Your <span class="orange">belly is now large enough that there is no hiding it.</span>`);
-			} else if (V.PC.belly >= 500) {
-				r.push(`Your <span class="orange">belly is rounded by your early pregnancy.</span>`);
-			} else if (V.PC.belly >= 250) {
-				r.push(`Your <span class="orange">lower belly is beginning to stick out;</span> you're definitely pregnant.`);
-			} else if (V.PC.belly >= 100) {
-				r.push(`Your <span class="orange">belly is slightly swollen;</span> combined with your missed period, odds are you're pregnant.`);
-			} else if (V.PC.belly < 100) {
-				r.push(`Your <span class="red">period hasn't happened in some time;</span> you might be pregnant.`);
-			}
-			if (V.PC.preg >= 41) {
-				r.push(`You don't know why you even bother getting out of bed; you are <span class="orange">overdue and ready to drop</span> at any time, making your life as arcology owner very difficult. You try to relax and enjoy your slaves, but you can only manage so much in this state.`);
-			} else if (V.PC.preg >= 39) {
-				r.push(`You feel absolutely massive; your <span class="orange">full-term belly</span> makes your life as arcology owner very difficult.`);
-			}
-		} else if (V.PC.belly >= 1500) {
-			r.push(`Your belly is still very distended from your recent pregnancy.`);
-		} else if (V.PC.belly >= 500) {
-			r.push(`Your belly is still distended from your recent pregnancy.`);
-		} else if (V.PC.belly >= 250) {
-			r.push(`Your belly is still bloated from your recent pregnancy`);
-		} else if (V.PC.belly >= 100) {
-			r.push(`Your belly is still slightly swollen after your recent pregnancy.`);
-		}
-	} else if (passage() === "Economics") {
-		if (V.PC.career === "servant") {
-			if (V.PC.preg > 0) {
-				if (V.PC.belly >= 120000) {
-					r.push(`You don't know how much more you can take. You feel so full and your children never calm down. You swear they take shifts tormenting your poor bladder. Even worse, your pregnancy juts out over a`);
-					if (V.showInches === 2) {
-						r.push(`half-yard`);
-					} else {
-						r.push(`half-meter`);
-					}
-					r.push(`from your front and has soundly defeated the seams of your`);
-					if (V.PC.dick !== 0) {
-						r.push(`dress. Occasionally one of the bottoms manages to land a series of hits to your prostate, not that you mind as much, save for when they keep at it and you can't restrain your orgasm.`);
-					} else {
-						r.push(`dress.`);
-					}
-				} else if (V.PC.belly >= 105000) {
-					r.push(`You can barely function any more. You're so big and heavy that even the simplest of actions requires both intense effort and thought just to get it done. Your frumpy dress is also at its limit, and much to your annoyance, your children will not stay still enough to let you fix it.`);
-				} else if (V.PC.belly >= 90000) {
-					r.push(`You may have a`);
-					if (fertRefresh === 1) {
-						r.push(`problem, but then again, you did take all those fertility drugs, so you can't really say you didn't want it.`);
-					} else {
-						r.push(`problem. You took fertility drugs, but you shouldn't be getting this big.`);
-					}
-					r.push(`Judging by how far along you are, you must be carrying ${pregNumberName(V.PC.pregType, 2)}. Your Master always said he wanted a big family; too bad he isn't here to see this. Your dress is also starting to get tight, but it's far less of a concern at this point.`);
-				} else if (V.PC.belly >= 75000) {
-					r.push(`Your belly is starting to become worrying. You're positively gigantic and quite tired. Though on the plus side, your dress is rather form fitting now.`);
-				} else if (V.PC.belly >= 60000) {
-					r.push(`Your new outfit is handling your enormous belly quite well, though it does nothing to hide your size. Everyone can tell you'll be having lots of babies.`);
-				} else if (V.PC.belly >= 45000) {
-					r.push(`You both look and feel enormous, your belly juts out so much now. You found a rather frumpy looking maid outfit in a shop; it's not the most attractive thing, but it'll hold nearly any belly.`);
-				} else if (V.PC.belly >= 30000) {
-					r.push(`You feel absolutely gigantic; you look like you're full-term with`);
-					if (V.PC.pregType === 2) {
-						r.push(`twins (which you are).`);
-					} else {
-						r.push(`twins.`);
-					}
-					r.push(`Your restitched dress is once more at its limit.`);
-				} else if (V.PC.belly >= 15000) {
-					r.push(`You've taken the time to let out your own dress so that you can look proper even with a belly as big as any full-term woman's.`);
-				} else if (V.PC.belly >= 14000) {
-					r.push(`Your dress is at its capacity; any bigger and you'd risk tearing it at the seams, though your late Master did make sure his ${girlP}s were well dressed even when they were fully rounded with his child.`);
-				} else if (V.PC.belly >= 12000) {
-					r.push(`You keep bumping into things with your huge belly; you're used to it though,`);
-					if (V.PC.counter.birthMaster >= 2) {
-						r.push(`your first pregnancy was a twinner!`);
-					} else {
-						r.push(`your late Master liked to keep a big fake belly around your middle.`);
-					}
-				} else if (V.PC.belly >= 10000) {
-					r.push(`Your huge pregnant belly is tiring to carry around, but you're well versed in moving about with a rounded middle.`);
-				} else if (V.PC.belly >= 7000) {
-					r.push(`You've stopped bothering to tie your apron behind you, allowing your dress the freedom to stretch with your growing ${children}.`);
-				} else if (V.PC.belly >= 5000) {
-					r.push(`Your maid's outfit is rounded out by your baby-filled belly; not only is it obvious, but it is slowing you down in your day to day affairs.`);
-				} else if (V.PC.belly >= 3000) {
-					r.push(`You're starting to get pretty big; you feel like all eyes are centered on your baby-filled middle.`);
-				} else if (V.PC.belly >= 1500) {
-					r.push(`Your belly is now large enough that there is no hiding it. After you've let out your apron, your dress fits nicely again.`);
-				} else if (V.PC.belly >= 500) {
-					r.push(`Your dress tightly clings to your early pregnancy, though it, your apron, and your previous experience hide it well.`);
-				} else if (V.PC.belly >= 250) {
-					r.push(`Your apron holds your dress tightly to your bloated middle.`);
-				} else if (V.PC.belly >= 100) {
-					r.push(`Your dress and apron feel tight around your middle.`);
-				}
-				if (V.PC.preg >= 41) {
-					r.push(`Your`);
-					if (V.PC.pregType > 1) {
-						r.push(`babies are`);
-					} else {
-						r.push(`baby is`);
-					}
-					r.push(`overdue and your Master isn't here anymore to comfort your exhausted body. You try your best,`);
-					if (V.PC.pregSource === -3) {
-						r.push(`drawing strength from the knowledge that you carry your late Master's legacy within you.`);
-					} else {
-						r.push(`but deep down you are saddened that your`);
-						if (V.PC.pregType > 1) {
-							r.push(`children aren't`);
-						} else {
-							r.push(`child isn't`);
-						}
-						r.push(`his.`);
-					}
-					if (V.PC.pregMood === 1) {
-						r.push(`However, thanks to all your mothering, your slaves are more than happy to do everything they can for you.`);
-					} else if (V.PC.pregMood === 2) {
-						if (V.seeDicks !== 0) {
-							r.push(`Your slaves, those with dicks especially,`);
-						} else {
-							r.push(`Your slaves`);
-						}
-						r.push(`are terrified of being seen by you, knowing full well that they will be bearing the full weight of your body as you try to fill the hole left by your late Master.`);
-					}
-				} else if (V.PC.preg >= 39) {
-					r.push(`Every action you take is exhausting, and even though your slaves are more than capable of serving your every desire, you refuse to slow down with your duties.`);
-					if (V.PC.pregMood === 1) {
-						r.push(`Though you definitely appreciate their aid.`);
-					} else if (V.PC.pregMood === 2) {
-						r.push(`Your hormones practically rule you, leading you to demand your slaves to be prepared to pleasure you at a moments notice. Your needy cunt hungers for dick and you don't care`);
-						if (V.seeDicks !== 0) {
-							r.push(`what it is attached to`);
-						} else {
-							r.push(`if it's made of plastic`);
-						}
-						r.push(`right now.`);
-					}
-				} else if (V.PC.preg >= 36) {
-					r.push(`Your`);
-					if (V.PC.pregType > 1) {
-						r.push(`children happily kick`);
-					} else {
-						r.push(`child happily kicks`);
-					}
-					r.push(`away inside your womb, and each time a small bump appears on the outside of your dress.`);
-					if (V.PC.pregMood === 1) {
-						r.push(`While hormones may have you demanding and needy, you do everything you can to treat your slaves as if they were your own children.`);
-					} else if (V.PC.pregMood === 2) {
-						r.push(`You know it's unbecoming for an arcology owner, but your former Master loved to fuck you while you`);
-						if (V.PC.counter.birthMaster > 0) {
-							r.push(`were pregnant with his`);
-							if (V.PC.counter.birthMaster > 1) {
-								r.push(`children`);
-							} else {
-								r.push(`child`);
-							}
-						} else {
-							r.push(`wore a big fake belly`);
-						}
-						r.push(`and your body misses his touch.`);
-					}
-				} else if (V.PC.preg >= 32) {
-					if (V.PC.pregMood === 1) {
-						r.push(`You can't help but enjoy having a slave suckle from you while you relax with them in your lap.`);
-					} else if (V.PC.pregMood === 2) {
-						r.push(`You know how to have sex while pregnant, and as such, so will your slaves.`);
-					}
-				} else if (V.PC.preg >= 28) {
-					if (V.PC.pregMood === 1) {
-						r.push(`You catch yourself babying your slaves from time to time.`);
-					} else if (V.PC.pregMood === 2) {
-						r.push(`Your sex drive has become unquenchable as of late.`);
-					}
-				} else if (V.PC.preg === 22) {
-					r.push(`Something startling happened this week; while enjoying a slave, your belly button popped out!`);
-				} else if (V.PC.preg === 8 && V.PC.pregSource > 0) {
-					const babyDaddy = findFather(V.PC.pregSource);
-					if (babyDaddy) {
-						babyDaddy.counter.PCKnockedUp++;
-					}
-					if (V.slaveIndices[V.PC.pregSource]) {
-						const {him} = getPronouns(babyDaddy);
-						r.push(`Rumors spread among your slaves that your middle is swollen with ${babyDaddy.slaveName}'s child. They're not wrong, though`);
-						if (babyDaddy.devotion > 20) {
-							r.push(`${babyDaddy.slaveName} is broken enough to not try and use it against you. In fact, it might even draw ${him} closer to you.`);
-						} else {
-							r.push(`you'd have liked it to have kept that from ${babyDaddy.slaveName}, lest the rebellious bitch use it to remain defiant.`);
-						}
-					}
-				}
-			}
-		} else if (V.PC.career === "escort") {
-			if (V.PC.preg > 0) {
-				if (V.PC.belly >= 120000) {
-					r.push(`You don't know how much more you can take. You feel so full and your children never calm down. You swear they take shifts tormenting your poor bladder. Even worse, your pregnancy juts out over a`);
-					if (V.showInches === 2) {
-						r.push(`half-yard`);
-					} else {
-						r.push(`half-meter`);
-					}
-					r.push(`from your front and has seized control as your dominant aspect.`);
-					if (V.PC.dick !== 0) {
-						r.push(`Occasionally one of the bottoms manages to land a series of hits to your prostate, not that you mind as much. It's good for business when you orgasm lewdly and cum your bottoms.`);
-					}
-				} else if (V.PC.belly >= 105000) {
-					r.push(`You can barely function any more. You're so big and heavy that even the simplest of actions requires both intense effort and thought just to get it done. None of your poses work with your gravid body either, and you're practically popping out of your skimpiest outfit.`);
-				} else if (V.PC.belly >= 90000) {
-					if (fertRefresh === 1) {
-						r.push(`You may have a problem, but then again, you did take all those fertility drugs, so you can't really say you didn't want it.`);
-					} else {
-						r.push(`You may have a problem. You know you took fertility drugs, but you weren't supposed to get this big!`);
-					}
-					r.push(`Feeling yourself up, you'd fancy a guess that there are about`);
-					if (V.PC.skill.medicine >= 45) {
-						if (V.PC.pregType === 8) {
-							r.push(`eight babies`);
-						} else if (V.PC.pregType === 7) {
-							r.push(`seven babies`);
-						} else {
-							r.push(`six babies`);
-						}
-					} else {
-						if (V.PC.pregType === 8) {
-							r.push(`a dozen babies`);
-						} else if (V.PC.pregType === 7) {
-							r.push(`ten babies`);
-						} else {
-							r.push(`eight babies`);
-						}
-					}
-					r.push(`in your belly.`);
-				} else if (V.PC.belly >= 75000) {
-					r.push(`Your belly is starting to become worrying to you. You're positively gigantic and quite tired of it.`);
-					if (V.arcologies[0].FSRepopulationFocus !== "unset") {
-						r.push(`The last thing on peoples' minds these days is fucking you too.`);
-					}
-				} else if (V.PC.belly >= 60000) {
-					r.push(`You feel sexy with such a huge belly, but it sure is tiring. Everyone can also tell you'll be having lots of babies — a boon to business, since everyone knows you ride bareback.`);
-				} else if (V.PC.belly >= 45000) {
-					r.push(`You both look and feel enormous, your belly juts out so much now. Your strategy worked! Eyes always end up locked onto you or your pregnancy, but they quickly return to your milky breasts.`);
-				} else if (V.PC.belly >= 30000) {
-					r.push(`You feel absolutely gigantic; you look like you're full-term with`);
-					if (V.PC.pregType === 2) {
-						r.push(`twins (which you are).`);
-					} else {
-						r.push(`twins.`);
-					}
-					r.push(`You find the skimpiest outfit you can to complement your size; if people won't notice your other assets, then they might as well not notice your outfit either.`);
-				} else if (V.PC.belly >= 14000) {
-					r.push(`You don't even bother to try to be slutty anymore; your full-term globe of a belly just steals all the attention away from your other assets.`);
-				} else if (V.PC.belly >= 12000) {
-					r.push(`Your huge pregnant belly hides your crotch.`);
-				} else if (V.PC.belly >= 10000) {
-					r.push(`Your huge pregnant belly is tiring to carry around and is beginning to draw attention away from your other features.`);
-				} else if (V.PC.belly >= 7000) {
-					r.push(`You've switched to even skimpier clothing to show off your big pregnant belly.`);
-				} else if (V.PC.belly >= 5000) {
-					r.push(`Your outfit is only enhanced by your baby-filled belly, mostly because it adds to your slutty appearance. Though it is definitely impacting your business.`);
-				} else if (V.PC.belly >= 3000) {
-					r.push(`Your slutty bottoms are beginning to get hidden by your rounded middle.`);
-				} else if (V.PC.belly >= 1500) {
-					r.push(`Your slutty bottoms sexily hug your swollen middle.`);
-				} else if (V.PC.belly >= 500) {
-					r.push(`Your exposed midriff bulges out enough to give away your growing pregnancy.`);
-				} else if (V.PC.belly >= 250) {
-					r.push(`Your exposed midriff is noticeably bloated.`);
-				} else if (V.PC.belly >= 100) {
-					r.push(`When you look down, you can't help but notice your belly sticking out a little.`);
-				}
-				if (V.PC.preg >= 41) {
-					r.push(`You can barely pull yourself and your overdue ${children} out of bed; every action is a chore, you keep bumping things, and your ${children} just won't calm down.`);
-					if (V.PC.pregMood === 1) {
-						r.push(`However, thanks to all your tenderness, your slaves are more than happy to do everything they can for you.`);
-					} else if (V.PC.pregMood === 2) {
-						if (V.seeDicks !== 0) {
-							r.push(`Your slaves, those with dicks especially,`);
-						} else {
-							r.push(`Your slaves`);
-						}
-						r.push(`are terrified of being seen by you, knowing full well that they will be bearing the full weight of your body as you satisfy your desires.`);
-					}
-				} else if (V.PC.preg >= 39) {
-					r.push(`Every action you take is exhausting, though your slaves are more than capable of serving your every whim.`);
-					if (V.PC.pregMood === 1) {
-						r.push(`Even in the final stages of pregnancy, you make sure the slaves attending you are treated as if the were your favorite clients.`);
-					} else if (V.PC.pregMood === 2) {
-						r.push(`Your hormones practically rule you, leading you to demand your slaves to be prepared to pleasure you at a moment's notice. Your needy cunt hungers for dick and you don't care`);
-						if (V.seeDicks !== 0) {
-							r.push(`what it is attached to`);
-						} else {
-							r.push(`if it's made of plastic`);
-						}
-						r.push(`right now.`);
-					}
-				} else if (V.PC.preg >= 36) {
-					r.push(`Every kick from your eager ${children} threatens to dislodge your breasts from your struggling top.`);
-					if (V.PC.pregMood === 1) {
-						r.push(`While you may be demanding and needy, you do everything you can to treat them as if they were a virgin client.`);
-					} else if (V.PC.pregMood === 2) {
-						r.push(`You know it's unbecoming for an arcology owner, but you need a dick in you even more than usual.`);
-					}
-				} else if (V.PC.preg >= 32) {
-					if (V.PC.pregMood === 1) {
-						r.push(`You can't help but enjoy having a slave, or client, suckle from you while you relax with them in your lap.`);
-					} else if (V.PC.pregMood === 2) {
-						r.push(`You don't let your pregnancy get in the way when it comes to sex; you make sure your slaves, and clients, learn just how much you know about sex.`);
-					}
-				} else if (V.PC.preg >= 28) {
-					if (V.PC.pregMood === 1) {
-						r.push(`You catch yourself playfully teasing your slaves from time to time.`);
-					} else if (V.PC.pregMood === 2) {
-						r.push(`Your sex drive has become unquenchable as of late.`);
-					}
-				} else if (V.PC.preg === 22) {
-					r.push(`Something startling happened this week; while enjoying a slave, your belly button popped out!`);
-				} else if (V.PC.preg === 8 && V.PC.pregSource > 0) {
-					const babyDaddy = findFather(V.PC.pregSource);
-					if (babyDaddy) {
-						babyDaddy.counter.PCKnockedUp++;
-					}
-					if (V.slaveIndices[V.PC.pregSource]) {
-						const {him} = getPronouns(babyDaddy);
-						r.push(`Rumors spread among your slaves that your middle is swollen with ${babyDaddy.slaveName}'s child. They're not wrong, though`);
-						if (babyDaddy.devotion > 20) {
-							r.push(`${babyDaddy.slaveName} is broken enough to not try and use it against you. In fact, it might even draw ${him} closer to you.`);
-						} else {
-							r.push(`you'd have liked it to have kept that from ${babyDaddy.slaveName}, lest the rebellious bitch use it to remain defiant.`);
-						}
-					}
-				}
-			}
-		} else {
-			if (V.PC.preg > 0) {
-				if (V.PC.belly >= 120000) {
-					r.push(`You don't know how much more you can take. You feel so full and your children never calm down. You swear they take shifts tormenting your poor bladder. Even worse, your pregnancy juts out over a`);
-					if (V.showInches === 2) {
-						r.push(`half-yard`);
-					} else {
-						r.push(`half-meter`);
-					}
-					r.push(`from your front and has soundly defeated your maternity suit.`);
-					if (V.PC.dick !== 0) {
-						r.push(`Occasionally one of the bottoms manages to land a series of hits to your prostate, not that you mind as much, save for when they keep at it and you a can't restrain your orgasm. The last thing you want to do in a meeting is spontaneously orgasm and cum your in clothes.`);
-					}
-				} else if (V.PC.belly >= 105000) {
-					r.push(`You can barely function any more. You're so big and heavy that even the simplest of actions requires both intense effort and thought just to get it done. Your suit buttons keep popping, and much to your annoyance, your ${children} will not stay still enough to let you redo them.`);
-				} else if (V.PC.belly >= 90000) {
-					if (fertRefresh === 1) {
-						r.push(`You may have a problem, but then again, you did take all those fertility drugs, so you can't really say you didn't want it.`);
-					} else {
-						r.push(`You may have a problem. You took fertility drugs, but you shouldn't be getting this big.`);
-					}
-					r.push(`Judging by how far along you are, you must be carrying ${pregNumberName(V.PC.pregType, 2)}. Your suit is also starting to get tight, but it's far less of a concern at this point.`);
-				} else if (V.PC.belly >= 75000) {
-					r.push(`Your belly is starting to become worrying. You're positively gigantic and quite tired. As an added stress, your maternity suit highlights your pregnancy.`);
-				} else if (V.PC.belly >= 60000) {
-					r.push(`Your new outfit is handling your enormous belly quite well, though it does nothing to hide your size. Everyone can tell you'll be having lots of babies and judges you accordingly.`);
-				} else if (V.PC.belly >= 45000) {
-					r.push(`You both look and feel enormous, your belly juts out so much now. Your tailor finally managed to get you a bigger maternity suit, one with extra give in the middle, but you feel it draws attention right to your gravidity.`);
-				} else if (V.PC.belly >= 30000) {
-					r.push(`You feel absolutely gigantic; you look like you're full-term with`);
-					if (V.PC.pregType === 2) {
-						r.push(`twins (which you are).`);
-					} else {
-						r.push(`twins.`);
-					}
-					r.push(`Having such a big belly in such poor attire weighs heavily under the public's eye.`);
-				} else if (V.PC.belly >= 15000) {
-					r.push(`You don't even bother to try to cover your full-term sized pregnancy, opting to just let it hang out of your old clothing. Every action you take is exhausting; though your slaves are more than capable of serving your every desire.`);
-				} else if (V.PC.belly >= 12000) {
-					r.push(`Your huge pregnant belly strains the buttons on your maternity suit.`);
-				} else if (V.PC.belly >= 10000) {
-					r.push(`Your huge pregnant belly is tiring to carry around and is beginning to stretch out your new clothes.`);
-				} else if (V.PC.belly >= 7000) {
-					r.push(`You've switched to using what can only be called formal maternity wear to cover your pregnant belly.`);
-				} else if (V.PC.belly >= 5000) {
-					r.push(`You can barely cover your baby-filled belly; not only is it obvious, but it is getting in the way of your business.`);
-				} else if (V.PC.belly >= 3000) {
-					r.push(`You're starting to get pretty big; you feel like everyone just focuses on your gravidity now.`);
-				} else if (V.PC.belly >= 1500) {
-					r.push(`Your belly is now large enough that there is no hiding it. Your top strains to cover it.`);
-				} else if (V.PC.belly >= 500) {
-					r.push(`Your top tightly clings to your early pregnancy, though you manage to conceal it well enough.`);
-				} else if (V.PC.belly >= 250) {
-					r.push(`Your top tightly clings to your bloated middle.`);
-				} else if (V.PC.belly >= 100) {
-					r.push(`Your top feels oddly tight around your middle.`);
-				}
-				if (V.PC.preg >= 41) {
-					r.push(`You can barely pull yourself and your overdue ${children} out of bed; every action is a chore, you keep bumping into things, and your ${children} just won't calm down.`);
-					if (V.PC.pregMood === 1) {
-						r.push(`However, thanks to all your mothering, your slaves are more than happy to do everything they can for you.`);
-					} else if (V.PC.pregMood === 2) {
-						if (V.seeDicks !== 0) {
-							r.push(`Your slaves, those with dicks especially,`);
-						} else {
-							r.push(`Your slaves`);
-						}
-						r.push(`are terrified of being seen by you, knowing full well that they will be bearing the full weight of your body as you satisfy your desires.`);
-					}
-				} else if (V.PC.preg >= 39) {
-					if (V.PC.pregMood === 1) {
-						r.push(`Even in the final stages of pregnancy, you make sure the slaves attending you are treated as if they were your own children.`);
-					} else if (V.PC.pregMood === 2) {
-						r.push(`Your hormones practically rule you, leading you to demand your slaves to be prepared to pleasure you at a moment's notice. Your needy cunt hungers for dick and you don't care`);
-						if (V.seeDicks !== 0) {
-							r.push(`what it is attached to`);
-						} else {
-							r.push(`if it's made of plastic`);
-						}
-						r.push(`right now.`);
-					}
-				} else if (V.PC.preg >= 36) {
-					r.push(`Every kick from your eager ${children} threatens to send your buttons flying.`);
-					if (V.PC.pregMood === 1) {
-						r.push(`While you may be demanding and needy, you do everything you can to treat them as if they were your own children.`);
-					} else if (V.PC.pregMood === 2) {
-						r.push(`You know it's unbecoming for an arcology owner, but you need a dick in you and you don't care from where.`);
-					}
-				} else if (V.PC.preg >= 32) {
-					if (V.PC.pregMood === 1) {
-						r.push(`You can't help but enjoy having a slave suckle from you while you relax with them in your lap.`);
-					} else if (V.PC.pregMood === 2) {
-						r.push(`You don't let your pregnancy get in the way when it comes to sex; you make sure your slaves learn new positions to accommodate your bulk.`);
-					}
-				} else if (V.PC.preg >= 28) {
-					if (V.PC.pregMood === 1) {
-						r.push(`You catch yourself babying your slaves from time to time.`);
-					} else if (V.PC.pregMood === 2) {
-						r.push(`Your sex drive has become unquenchable as of late.`);
-					}
-				} else if (V.PC.preg === 22) {
-					r.push(`Something startling happened this week; while enjoying a slave, your belly button popped out!`);
-				} else if (V.PC.preg === 8 && V.PC.pregSource > 0) {
-					const babyDaddy = findFather(V.PC.pregSource);
-					if (babyDaddy) {
-						babyDaddy.counter.PCKnockedUp++;
-					}
-					if (V.slaveIndices[V.PC.pregSource]) {
-						const {him} = getPronouns(babyDaddy);
-						r.push(`Rumors spread among your slaves that your middle is swollen with ${babyDaddy.slaveName}'s child. They're not wrong, though`);
-						if (babyDaddy.devotion > 20) {
-							r.push(`${babyDaddy.slaveName} is broken enough to not try and use it against you. In fact, it might even draw ${him} closer to you.`);
-						} else {
-							r.push(`you'd have liked it to have kept that from ${babyDaddy.slaveName}, lest the rebellious bitch use it to remain defiant.`);
-						}
-					}
-				}
-			}
-		}
-	} else if (passage() === "Analyze PC Pregnancy") {
-		if (V.PC.belly >= 120000) {
-			r.push(`You shudder at the cool touch of the sensor running along the curve of your sensitive pregnancy. While you've devised a way to scan the distant peak of your navel and the depths of your underbelly, you failed to take into account just how excited your`);
-			if (V.PC.pregType > 1) {
-				r.push(`children`);
-			} else {
-				r.push(`child`);
-			}
-			r.push(`would get over the attention. Every pass is a battle against your kicking brood.`);
-		} else if (V.PC.belly >= 90000) {
-			r.push(`You shudder at the cool touch of the sensor running along the curve of your pregnancy. It takes some stretching, but you can just barely scan yourself without assistance. If you grow much larger, you'll have to call in help for those places that elude your reach.`);
-		} else if (V.PC.belly >= 45000) {
-			r.push(`You shudder at the cool touch of the sensor running along the curve of your pregnancy. It's quite a tiring endeavor to scan the entire thing, given just how far it extends from your body.`);
-		} else if (V.PC.belly >= 14000) {
-			r.push(`You shudder at the cool touch of the sensor running along the curve of your pregnancy. It takes some effort to scan the entire thing, given how large it has grown.`);
-		} else if (V.PC.belly >= 5000) {
-			r.push(`You shudder at the cool touch of the sensor running along the curve of your pregnancy.`);
-		} else if (V.PC.belly >= 1500) {
-			r.push(`You shudder at the cool touch of the sensor running along the curve of your growing pregnancy.`);
-		} else if (V.PC.belly >= 500) {
-			r.push(`You shudder at the cool touch of the sensor running along the curve of your early pregnancy.`);
-		} else if (V.PC.belly >= 100) {
-			r.push(`You shudder at the cool touch of the sensor against the slight swell of your lower belly.`);
-		} else if (V.PC.belly < 100) {
-			r.push(`You shudder slightly at the cool touch of the sensor against your skin.`);
-		}
-	} else {
-		if (V.PC.preg > 0) {
-			if (V.PC.belly >= 120000) {
-				r.push(`Your belly is coated with stretch marks and is taut as a drum; you don't know how much more your poor womb can endure. Kicks can almost constantly be seen dotting its surface. You give it a pat for good measure, only encouraging your ${pregNumberName(V.PC.pregType, 2)}`);
-				r.push(`to squirm in excitement.`);
-				if (V.PC.dick !== 0) {
-					r.push(`As your dick hardens under the prostate stimulation, you call for a slave to receive the incoming load.`);
-				}
-			} else if (V.PC.belly >= 105000) {
-				r.push(`Getting out of your chair is practically a dream at this point. It takes far too much effort to do it on your own and is a little embarrassing to ask help with.`);
-			} else if (V.PC.belly >= 90000) {
-				r.push(`You can barely reach around your gravid mass any longer. You've also had to reinforce your chair under your growing weight.`);
-			} else if (V.PC.belly >= 75000) {
-				r.push(`Your belly is starting to become worrying; you feel over-filled at all times and your children like to remind you just how stuffed you are.`);
-			} else if (V.PC.belly >= 60000) {
-				r.push(`You're definitely having multiples; there is no denying it at this point. All you can do is try to relax and keep trying to stave off the stretch marks.`);
-			} else if (V.PC.belly >= 45000) {
-				r.push(`You both look and feel enormous; your belly juts out so much now. You stand no chance of sitting at your desk normally and have taken to angling you chair and belly to the side instead.`);
-			} else if (V.PC.belly >= 30000) {
-				r.push(`Your chair has taken to creaking ominously whenever you shift your pregnant bulk while you've taken to keeping your belly uncovered to give it room.`);
-			} else if (V.PC.belly >= 14000) {
-				r.push(`You can barely fit before your desk anymore and have had to take measures to accommodate your gravidity.`);
-			} else if (V.PC.belly >= 12000) {
-				r.push(`You can barely wrap your arms around your huge pregnant belly, and when you do, your popped navel reminds you just how full you are.`);
-			} else if (V.PC.belly >= 10000) {
-				r.push(`Your pregnancy has gotten quite huge; none of your clothes fit it right.`);
-			} else if (V.PC.belly >= 7000) {
-				r.push(`Your pregnant belly juts out annoyingly far; just getting dressed is a pain now.`);
-			} else if (V.PC.belly >= 5000) {
-				r.push(`Your belly has gotten quite large with child; it is beginning to get the way of sex and business.`);
-			} else if (V.PC.belly >= 1500) {
-				r.push(`Your belly is now large enough that there is no hiding it.`);
-			} else if (V.PC.belly >= 500) {
-				r.push(`Your belly is rounded by your early pregnancy.`);
-			} else if (V.PC.belly >= 250) {
-				r.push(`Your lower belly is beginning to stick out; you're definitely pregnant.`);
-			} else if (V.PC.belly >= 100) {
-				r.push(`Your belly is slightly swollen; combined with your missed period, odds are you're pregnant.`);
-			} else if (V.PC.belly < 100) {
-				r.push(`Your period hasn't happened in some time; you might be pregnant.`);
-			}
-			if (V.PC.preg >= 41) {
-				r.push(`You don't know why you even bother getting out of bed; you are overdue and ready to drop at many time, making your life as arcology owner very difficult. You try to relax and enjoy your slaves, but you can only manage so much in this state.`);
-			} else if (V.PC.preg >= 39) {
-				r.push(`You feel absolutely massive; your full-term belly makes your life as arcology owner very difficult. You try your best to not wander too far from your penthouse, not with labor and birth so close.`);
-			}
-		} else if (V.PC.belly >= 1500) {
-			r.push(`Your belly is still very distended from your recent pregnancy.`);
-		} else if (V.PC.belly >= 500) {
-			r.push(`Your belly is still distended from your recent pregnancy.`);
-		} else if (V.PC.belly >= 250) {
-			r.push(`Your belly is still bloated from your recent pregnancy`);
-		} else if (V.PC.belly >= 100) {
-			r.push(`Your belly is still slightly swollen after your recent pregnancy.`);
-		}
-	}
-	return r.join(" ");
-};
diff --git a/src/player/desc/playerBoobs.js b/src/player/desc/playerBoobs.js
deleted file mode 100644
index 5b047d39a9fec064b97b674fd9af341e73aae213..0000000000000000000000000000000000000000
--- a/src/player/desc/playerBoobs.js
+++ /dev/null
@@ -1,339 +0,0 @@
-App.Desc.Player.boobs = function() {
-	const r = [];
-	let frag;
-
-	if (passage() === "Manage Personal Affairs") {
-		if (V.PC.boobs >= 1400) {
-			r.push(`you have a <span class="orange">pair of H-cup breasts.</span>`);
-			if (V.PC.boobsImplant > 0) {
-				r.push(`They are big, round, and obviously implants. They barely move when you fuck your slaves.`);
-			} else {
-				r.push(`They are all natural, heavy, and a bit saggy though they have some perk to them. Once they get going, it's hard to make them stop.`);
-			}
-			if (V.PC.lactation > 0) {
-				r.push(`Your breasts feel even more enormous lately; this is likely a side effect of your lactation.`);
-			}
-			if (V.PC.markings === "freckles") {
-				r.push(`The tops of your breasts and your cleavage are lightly freckled.`);
-			} else if (V.PC.markings === "heavily freckled") {
-				r.push(`They are covered in freckles, which are particularly dense in the cleft between them.`);
-			}
-		} else if (V.PC.boobs >= 1200) {
-			r.push(`you have a <span class="orange">pair of G-cup breasts.</span>`);
-			if (V.PC.boobsImplant > 0) {
-				r.push(`They are kind of rounded and much too perky for their size to pass as real. They have a bit of bounce to them as you fuck a slave.`);
-			} else {
-				r.push(`They are all natural and a little heavy. The bounce everywhere when you fuck your slaves.`);
-			}
-			if (V.PC.lactation > 0) {
-				r.push(`Your breasts feel even more huge lately; this is likely a side effect of your lactation.`);
-			}
-			if (V.PC.markings === "freckles") {
-				r.push(`The tops of your breasts and your cleavage are lightly freckled.`);
-			} else if (V.PC.markings === "heavily freckled") {
-				r.push(`They are covered in freckles, which are particularly dense in the cleft between them.`);
-			}
-		} else if (V.PC.boobs >= 1000) {
-			r.push(`you have a <span class="orange">pair of F-cup breasts.</span>`);
-			if (V.PC.boobsImplant > 0) {
-				r.push(`They are nice, perky and not obviously implants. Though the way they move when you fuck a slave pins them as such.`);
-			} else {
-				r.push(`They are nice and perky, despite their size. They bounce lewdly as you fuck your slaves.`);
-			}
-			if (V.PC.lactation > 0) {
-				r.push(`Your breasts feel bigger lately; this is likely a side effect of your lactation.`);
-			}
-			if (V.PC.markings === "freckles") {
-				r.push(`The tops of your breasts and your cleavage are lightly freckled.`);
-			} else if (V.PC.markings === "heavily freckled") {
-				r.push(`They are covered in freckles, which are particularly dense in the cleft between them.`);
-			}
-		} else if (V.PC.boobs >= 800) {
-			r.push(`you have a <span class="orange">healthy pair of DD-cup breasts.</span> They are nice, perky and jiggle pleasantly with your every move.`);
-			if (V.PC.lactation > 0) {
-				r.push(`Your breasts feel fuller lately; this is likely a side effect of your lactation.`);
-			}
-			if (V.PC.markings === "freckles") {
-				r.push(`The tops of your breasts and your cleavage are lightly freckled.`);
-			} else if (V.PC.markings === "heavily freckled") {
-				r.push(`They are covered in freckles, which are particularly dense in the cleft between them.`);
-			}
-		} else if (V.PC.boobs >= 650) {
-			r.push(`you have a <span class="orange">pair of D-cup breasts.</span> They are nice, perky and bounce pleasantly as you fuck your slaves.`);
-			if (V.PC.lactation > 0) {
-				r.push(`Your breasts feel bigger lately; this is likely a side effect of your lactation.`);
-			}
-			if (V.PC.markings === "freckles") {
-				r.push(`The tops of your breasts and your cleavage are lightly freckled.`);
-			} else if (V.PC.markings === "heavily freckled") {
-				r.push(`They are covered in freckles, which are particularly dense in the cleft between them.`);
-			}
-		} else if (V.PC.boobs >= 500) {
-			r.push(`you have a <span class="orange">pair of C-cup breasts.</span> They are nice and perky, with just a little bounce when you fuck your slaves.`);
-			if (V.PC.lactation > 0) {
-				r.push(`Your breasts feel bigger lately; likely a side effect of your lactation.`);
-			}
-			if (V.PC.markings === "freckles") {
-				r.push(`The tops of your breasts and your cleavage are lightly freckled.`);
-			} else if (V.PC.markings === "heavily freckled") {
-				r.push(`They are covered in freckles, which are particularly dense in the cleft between them.`);
-			}
-		} else if (V.PC.boobs >= 400) {
-			r.push(`you have a <span class="orange">pair of B-cup breasts.</span> They are nice and perky, with almost no bounce when you fuck your slaves.`);
-			if (V.PC.lactation > 0) {
-				r.push(`Your breasts feel bigger lately; this is likely a side effect of your lactation.`);
-			}
-			if (V.PC.markings === "freckles") {
-				r.push(`The tops of your breasts and your cleavage are lightly freckled.`);
-			} else if (V.PC.markings === "heavily freckled") {
-				r.push(`They are covered in freckles, which are particularly dense in the cleft between them.`);
-			}
-		} else if (V.PC.boobs >= 300) {
-			r.push(`you have a <span class="orange">tiny pair of A-cup breasts.</span> They are nice and perky, but that's about it.`);
-			if (V.PC.lactation > 0) {
-				r.push(`They feel a bit bigger lately; this is likely a side effect of your lactation.`);
-			}
-			if (V.PC.markings === "freckles") {
-				r.push(`Your chest is covered in a light spray of freckles.`);
-			} else if (V.PC.markings === "heavily freckled") {
-				r.push(`Your chest is covered in dense freckles.`);
-			}
-		} else if (V.PC.title === 1) {
-			r.push(`you have a <span class="orange">masculine chest.</span>`);
-			if (V.PC.lactation > 0) {
-				r.push(`Your chest feels swollen; the beads of milk forming on your nipples tells you why.`);
-			}
-			if (V.PC.markings === "freckles") {
-				r.push(`Your chest is covered in a light spray of freckles.`);
-			} else if (V.PC.markings === "heavily freckled") {
-				r.push(`Your chest is covered in dense freckles.`);
-			}
-		} else {
-			r.push(`<span class="orange">you're flat.</span> You have nothing in the breast department.`);
-			if (V.PC.lactation > 0) {
-				r.push(`Your nipples cap a pair of painfully swollen bumps; milk beads from them at the slightest provocation.`);
-			}
-			if (V.PC.markings === "freckles") {
-				r.push(`Your chest is covered in a light spray of freckles.`);
-			} else if (V.PC.markings === "heavily freckled") {
-				r.push(`Your chest is covered in dense freckles.`);
-			}
-		}
-	} else if (passage() === "Economics") {
-		if (V.PC.career === "servant") {
-			if (V.PC.boobs >= 1400) {
-				r.push(`You've gotten your dress let out to accommodate your huge bust.`);
-			} else if (V.PC.boobs >= 1200) {
-				r.push(`Your dress bulges with your big breasts.`);
-			} else if (V.PC.boobs >= 1000) {
-				r.push(`Your dress feels tight around your breasts.`);
-			}
-		} else if (V.PC.career === "escort") {
-			if (V.PC.boobs >= 1400) {
-				r.push(`Your top strains as it struggles to cover your nipples, letting your`);
-				if (V.PC.markings === "freckles") {
-					r.push(`huge, freckled`);
-				} else if (V.PC.markings === "heavily freckled") {
-					r.push(`huge, densely freckled`);
-				} else {
-					r.push(`huge`);
-				}
-				r.push(`bust bulge lewdly around it.`);
-			} else if (V.PC.boobs >= 1200) {
-				r.push(`Your top can barely contain your `);
-				if (V.PC.markings === "freckles") {
-					r.push(`big, freckled`);
-				} else if (V.PC.markings === "heavily freckled") {
-					r.push(`big, heavily freckled`);
-				} else {
-					r.push(`big`);
-				}
-				r.push(`breasts, leaving you looking sluttier than ever.`);
-			} else if (V.PC.boobs >= 1000) {
-				r.push(`Your breasts spill over your slutty`);
-				if (V.PC.markings === "freckles") {
-					r.push(`top, showing off your freckled cleavage.`);
-				} else if (V.PC.markings === "heavily freckled") {
-					r.push(`top, freckle packed cleavage.`);
-				} else {
-					r.push(`top.`);
-				}
-			}
-		} else {
-			if (V.PC.boobs >= 1400) {
-				r.push(`You've gotten your top retailored to fit your huge bust.`);
-			} else if (V.PC.boobs >= 1200) {
-				r.push(`Your top strains against your big`);
-				if (V.PC.markings === "freckles") {
-					r.push(`breasts, revealing a peak of freckled cleavage.`);
-				} else if (V.PC.markings === "heavily freckled") {
-					r.push(`breasts, revealing a peak of densely freckled cleavage.`);
-				} else {
-					r.push(`breasts.`);
-				}
-			} else if (V.PC.boobs >= 1000) {
-				r.push(`Your top feels tight around your breasts.`);
-			}
-		}
-	} else {
-		if (V.PC.boobs >= 1400) {
-			r.push(`Your breasts are`);
-			if (V.PC.markings === "freckles") {
-				r.push(`enormous with light freckling on the tops and in your cleavage.`);
-			} else if (V.PC.markings === "heavily freckled") {
-				r.push(`enormous and covered in freckles, which are particularly dense in the cleft between them.`);
-			} else {
-				r.push(`enormous.`);
-			}
-			if (V.PC.boobsImplant > 0) {
-				r.push(`They are big, round, and obviously implants. They insist on maintaining their shape no matter how you move.`);
-			} else {
-				r.push(`They are all natural, heavy, and a bit saggy though they retain some perk. Every single move you make sends ripples through your cleavage. You catch yourself watching them move in the mirror every so often.`);
-			}
-			if (V.PC.lactation > 0) {
-				r.push(`Your breasts feel even more enormous lately; this is likely a side effect of your lactation, though you could do without the wet spots forming over your nipples.`);
-			}
-		} else if (V.PC.boobs >= 1200) {
-			r.push(`Your breasts are`);
-			if (V.PC.markings === "freckles") {
-				r.push(`huge with light freckling on the tops and in your cleavage.`);
-			} else if (V.PC.markings === "heavily freckled") {
-				r.push(`huge and covered in freckles, which are particularly dense in the cleft between them.`);
-			} else {
-				r.push(`huge.`);
-			}
-			if (V.PC.boobsImplant > 0) {
-				r.push(`They are unnaturally perky for their size. When you shake them, they barely move.`);
-			} else {
-				r.push(`They are all natural and a little heavy. They bounce lewdly when you shake them and take a little too long to calm down.`);
-			}
-			if (V.PC.lactation > 0) {
-				r.push(`Your breasts feel even more huge lately; this is this is likely a side effect of your lactation, though you could do without the wet spots forming over your nipples.`);
-			}
-		} else if (V.PC.boobs >= 1000) {
-			r.push(`Your breasts are pretty`);
-			if (V.PC.markings === "freckles") {
-				r.push(`big with light freckling on the tops and in your cleavage.`);
-			} else if (V.PC.markings === "heavily freckled") {
-				r.push(`big and covered in freckles, which are particularly dense in the cleft between them.`);
-			} else {
-				r.push(`big.`);
-			}
-			if (V.PC.boobsImplant > 0) {
-				r.push(`They are nice, perky and not obviously implants. They jiggle only slightly when you shake them though.`);
-			} else {
-				r.push(`They are nice and perky, despite their size. They bounce lewdly when you shake them.`);
-			}
-			if (V.PC.lactation > 0) {
-				r.push(`Your breasts feel bigger lately; this is likely a side effect of your lactation, though you could do without the wet spots forming over your nipples.`);
-			}
-		} else if (V.PC.boobs >= 800) {
-			r.push(`Your breasts are on the larger side of`);
-			if (V.PC.lactation > 0) {
-				r.push(`things, though you could do without the wet spots forming over your nipples.`);
-			} else {
-				r.push(`things.`);
-			}
-			if (V.PC.markings === "freckles") {
-				r.push(`The tops of your breasts and your cleavage are lightly freckled.`);
-			} else if (V.PC.markings === "heavily freckled") {
-				r.push(`They are covered in freckles, which are particularly dense in the cleft between them.`);
-			}
-		} else if (V.PC.boobs >= 650) {
-			r.push(`Your breasts are certainly`);
-			if (V.PC.markings === "freckles") {
-				r.push(`eye-catching with light freckling on the tops and in your cleavage.`);
-			} else if (V.PC.markings === "heavily freckled") {
-				r.push(`eye-catching and covered in freckles, which are particularly dense in the cleft between them.`);
-			} else {
-				r.push(`eye-catching.`);
-			}
-			r.push(`They are nice and perky, with just the right amount of bounce when you shake them.`);
-			if (V.PC.lactation > 0) {
-				r.push(`Your breasts feel bigger lately; this is likely a side effect of your lactation, though you could do without the wet spots forming over your nipples.`);
-			}
-		} else if (V.PC.boobs >= 500) {
-			r.push(`Your breasts are fairly average, at least to old world`);
-			if (V.PC.markings === "freckles") {
-				r.push(`standards, with light freckling on the tops and in your cleavage.`);
-			} else if (V.PC.markings === "heavily freckled") {
-				r.push(`standards, and covered in freckles, which are particularly dense in the cleft between them.`);
-			} else {
-				r.push(`standards.`);
-			}
-			r.push(`They are very perky, but aren't big enough to have a nice bounce when you shake them.`);
-			if (V.PC.lactation > 0) {
-				r.push(`Your breasts feel bigger lately; this is likely a side effect of your lactation, though you could do without the wet spots forming over your nipples.`);
-			}
-		} else if (V.PC.boobs >= 400) {
-			r.push(`Your breasts are considered small by most`);
-			if (V.PC.markings === "freckles") {
-				r.push(`standards, with light freckling on the tops and in your cleavage.`);
-			} else if (V.PC.markings === "heavily freckled") {
-				r.push(`standards, and covered in freckles, which are particularly dense in the cleft between them.`);
-			} else {
-				r.push(`standards.`);
-			}
-			r.push(`Their size makes them extremely perky, at the cost of having little to no bounce.`);
-			if (V.PC.lactation > 0) {
-				r.push(`Your breasts feel bigger lately; this is likely a side effect of your lactation, though you could do without the wet spots forming over your nipples.`);
-			}
-		} else if (V.PC.boobs >= 300) {
-			r.push(`Your breasts, if they can even be called that, are`);
-			if (V.PC.markings === "freckles") {
-				r.push(`covered in a light spray of freckles.`);
-			} else if (V.PC.markings === "heavily freckled") {
-				r.push(`covered in dense freckles.`);
-			} else {
-				r.push(`tiny even by old world standards.`);
-			}
-			r.push(`On the plus side, no chance of sag.`);
-			if (V.PC.lactation > 0) {
-				r.push(`Your breasts feel more substantial lately; this is likely a side effect of your lactation, though you could do without the wet spots forming over your nipples.`);
-			}
-		} else if (V.PC.title === 1) {
-			r.push(`Your chest is quite`);
-			if (V.PC.lactation > 0) {
-				frag = ` masculine, though the pair of wet spots forming over your nipples suggest otherwise`;
-			} else {
-				frag = ` masculine`;
-			}
-			if (V.PC.markings === "freckles") {
-				if (V.PC.lactation > 0) {
-					frag += `,`;
-				}
-				frag += ` and covered in a light spray of freckles.`;
-			} else if (V.PC.markings === "heavily freckled") {
-				if (V.PC.lactation > 0) {
-					frag += `,`;
-				}
-				frag += ` and covered in dense freckles.`;
-			} else {
-				frag += `.`; // all this frag bs is to make sure there is no space before the period. Sigh.
-			}
-			r.push(frag);
-		} else {
-			r.push(`Your chest is`);
-			if (V.PC.lactation > 0) {
-				frag = ` non-existent, save for the pair of bulging milk glands beneath your nipples`;
-			} else {
-				frag = ` non-existent`;
-			}
-			if (V.PC.markings === "freckles") {
-				if (V.PC.lactation > 0) {
-					frag += `,`;
-				}
-				frag += ` and covered in a light spray of freckles.`;
-			} else if (V.PC.markings === "heavily freckled") {
-				if (V.PC.lactation > 0) {
-					frag += `,`;
-				}
-				frag += ` and covered in dense freckles.`;
-			} else {
-				frag += `.`;
-			}
-			r.push(frag);
-		}
-	}
-	return r.join(" ");
-};
diff --git a/src/player/desc/playerButt.js b/src/player/desc/playerButt.js
deleted file mode 100644
index 9def855ad5157f96b2f5517c66621bc143b8d080..0000000000000000000000000000000000000000
--- a/src/player/desc/playerButt.js
+++ /dev/null
@@ -1,233 +0,0 @@
-App.Desc.Player.butt = function() {
-	const r = [];
-
-	if (passage() === "Manage Personal Affairs") {
-		if (V.PC.butt >= 5) {
-			if (V.PC.buttImplant >= 1) {
-				r.push(`an <span class="orange">enormous, round, hard butt;</span> it is very obviously a pair of huge implants. It barely moves at all when you walk or fuck, is difficult to cram into your clothing, and you keep getting stuck in chairs, but you wouldn't have it any other way.`);
-			} else {
-				r.push(`an <span class="orange">enormous, jiggly butt.</span> It is always wobbling for some reason or another. It really fills out your clothing and practically consumes anything you sit on.`);
-			}
-		} else if (V.PC.butt >= 4) {
-			if (V.PC.buttImplant >= 1) {
-				r.push(`a <span class="orange">huge, round, firm butt;</span> it's easily identifiable as fake.`);
-			} else {
-				r.push(`a <span class="orange">huge, soft butt.</span> It jiggles a lot as you move.`);
-			}
-		} else if (V.PC.butt >= 3) {
-			if (V.PC.buttImplant >= 1) {
-				r.push(`a <span class="orange">big firm butt;</span> anyone that feels it can tell it's fake, but at a glance you can't tell otherwise.`);
-			} else {
-				r.push(`a <span class="orange">big butt.</span> It jiggles a little as you walk.`);
-			}
-		} else {
-			r.push(`a <span class="orange">sexy, but normal butt.</span>`);
-		}
-		if (V.PC.markings === "freckles") {
-			r.push(`Your lower back is covered in a light speckling of freckles alongside your upper butt.`);
-		} else if (V.PC.markings === "heavily freckled") {
-			r.push(`Your freckles are particularly dense across your lower back and upper butt.`);
-		}
-	} else if (passage() === "Economics") {
-		if (V.PC.career === "servant") {
-			if (V.PC.butt >= 5 && V.PC.balls >= 30) {
-				if (V.PC.buttImplant >= 1) {
-					r.push(`When you had your dresses tailored you also had to have them make room for your enormous rear. No dress can hide how big and fake it is though.`);
-				} else {
-					r.push(`When you had your dresses tailored you also had to have them make room for your enormous rear.`);
-				}
-			} else if (V.PC.butt >= 5) {
-				if (V.PC.buttImplant >= 1) {
-					r.push(`You had to get your dress let out to contain your enormous rear. It can't hide how big and fake it is though.`);
-				} else {
-					r.push(`You had to get your dress let out to contain your enormous rear.`);
-				}
-			} else if (V.PC.butt >= 4) {
-				r.push(`Your dress is starting to feel tight around your huge rear.`);
-			} else if (V.PC.butt >= 3) {
-				r.push(`Your dress is filled out by your big butt.`);
-			}
-		} else if (V.PC.career === "escort") {
-			if (V.PC.dick !== 0) {
-				if (V.PC.balls >= 30) {
-					if (V.PC.butt >= 5) {
-						if (V.PC.buttImplant >= 1) {
-							r.push(`Your slutty skirt is also forced to stretch around your enormous rear, making the implants pretty obvious. With both your front and back struggling to get free of your stretchy skirt, it isn't unusual for one or the other to peek out.`);
-						} else {
-							r.push(`Your slutty skirt is also forced to stretch around your enormous rear, and bending over is basically asking for your skirt to ride up all the way to your hips. With both your front and back struggling to get free of your stretchy skirt, it isn't unusual for one or the other to peek out.`);
-						}
-					} else if (V.PC.butt >= 4) {
-						r.push(`Your huge rear nearly spills out from the bottom of your slutty skirt.`);
-					} else if (V.PC.butt >= 3) {
-						r.push(`Your slutty skirt is strained by your big butt.`);
-					}
-				} else {
-					if (V.PC.butt >= 5) {
-						if (V.PC.buttImplant >= 1) {
-							r.push(`You had to get your slutty pants let out to contain your enormous rear. It still feels really tight, however, thanks to the implants.`);
-						} else {
-							r.push(`You had to get your slutty pants let out to contain your enormous rear. It still overflows scandalously, however.`);
-						}
-					} else if (V.PC.butt >= 4) {
-						r.push(`Your huge rear spills out from the top of your slutty pants.`);
-					} else if (V.PC.butt >= 3) {
-						r.push(`Your slutty pants are strained by your big butt.`);
-					}
-				}
-			} else {
-				if (V.PC.butt >= 5) {
-					if (V.PC.buttImplant >= 1) {
-						r.push(`Your ass has completely devoured your slutty shorts. You look like you are wearing a thong, leaving your overly`);
-						if (V.PC.markings === "freckles") {
-							r.push(`round, freckled`);
-						} else if (V.PC.markings === "heavily freckled") {
-							r.push(`round, heavily freckled`);
-						} else {
-							r.push(`round`);
-						}
-						r.push(`cheeks to hang free.`);
-						if (V.PC.markings === "freckles") {
-							r.push(`Your lower back is covered in a light speckling of freckles alongside your valley of ass cleavage.`);
-						} else if (V.PC.markings === "heavily freckled") {
-							r.push(`Your freckles are particularly dense across your lower back and valley of ass cleavage.`);
-						}
-					} else {
-						r.push(`Your ass has completely devoured your slutty shorts. You look like you are wearing a thong leaving your`);
-						if (V.PC.markings === "freckles") {
-							r.push(`freckled`);
-						} else if (V.PC.markings === "heavily freckled") {
-							r.push(`heavily freckled`);
-						}
-						r.push(`cheeks to jiggle freely.`);
-						if (V.PC.markings === "freckles") {
-							r.push(`Your lower back is covered in a light speckling of freckles alongside your valley of ass cleavage.`);
-						} else if (V.PC.markings === "heavily freckled") {
-							r.push(`Your freckles are particularly dense across your lower back and valley of ass cleavage.`);
-						}
-					}
-				} else if (V.PC.butt >= 4) {
-					r.push(`Your slutty shorts are filled to bursting by your rear. Roughly half of your ass is actually in your bottoms, the rest is bulging out scandalously.`);
-					if (V.PC.markings === "freckles") {
-						r.push(`Your lower back is covered in a light speckling of freckles alongside your ravine of ass cleavage.`);
-					} else if (V.PC.markings === "heavily freckled") {
-						r.push(`Your freckles are particularly dense across your lower back and ravine of ass cleavage.`);
-					}
-				} else if (V.PC.butt >= 3) {
-					r.push(`Your slutty shorts are strained by your big butt. It spills out every gap it can.`);
-					if (V.PC.markings === "freckles") {
-						r.push(`Your lower back is covered in a light speckling of freckles alongside your ass cleavage.`);
-					} else if (V.PC.markings === "heavily freckled") {
-						r.push(`Your freckles are particularly dense across your lower back and ass cleavage.`);
-					}
-				} else if (V.PC.markings === "freckles") {
-					r.push(`Your exposed lower back is covered in a light speckling of freckles.`);
-				} else if (V.PC.markings === "heavily freckled") {
-					r.push(`Your freckles are particularly dense across your exposed lower back.`);
-				}
-			}
-		} else {
-			if (V.PC.dick !== 0) {
-				if (V.PC.balls >= 30) {
-					if (V.PC.butt >= 5) {
-						if (V.PC.buttImplant >= 1) {
-							r.push(`Your custom kilt is also forced to stretch around your enormous rear, making the implants pretty obvious. With both your front and back struggling to get free of the restrictive cloth, it isn't unusual for one or the other to peek out.`);
-						} else {
-							r.push(`Your custom kilt is also forced to stretch around your enormous rear, and bending over is basically asking for it to ride up all the way to your hips. With both your front and back struggling to get free of the restrictive cloth, it isn't unusual for one or the other to peek out.`);
-						}
-					} else if (V.PC.butt >= 4) {
-						r.push(`Your huge rear nearly spills out from the bottom of your custom kilt.`);
-					} else if (V.PC.butt >= 3) {
-						r.push(`Your custom kilt is strained by your big butt.`);
-					}
-				} else {
-					if (V.PC.butt >= 5) {
-						if (V.PC.buttImplant >= 1) {
-							r.push(`You had to get your suit pants let out to contain your enormous rear. It does nothing to hide how big and round your asscheeks are, though.`);
-						} else {
-							r.push(`You had to get your suit pants let out to contain your enormous rear. It can clearly be seen jiggling within them.`);
-						}
-					} else if (V.PC.butt >= 4) {
-						r.push(`Your huge rear threatens to tear apart your suit pants. You'll need to get them let out soon.`);
-					} else if (V.PC.butt >= 3) {
-						r.push(`Your suit pants are strained by your big butt.`);
-					}
-				}
-			} else {
-				if (V.PC.butt >= 5) {
-					if (V.PC.buttImplant >= 1) {
-						r.push(`Your skirt covers your enormous butt but does nothing to hide its size and shape. You're beginning to show too much leg again; it might be time for a longer skirt.`);
-					} else {
-						r.push(`Your skirt covers your enormous butt but does nothing to hide its size and fluidity. Your rear is soft enough to fill out your skirt but not lift it up too far; it also translates every motion to the fabric, however.`);
-					}
-				} else if (V.PC.butt >= 4) {
-					r.push(`Your skirt covers your huge butt but does nothing to hide its size; in fact, you've had to start wearing a longer one to make up for the extra surface area.`);
-				} else if (V.PC.butt >= 3) {
-					r.push(`Your skirt covers your big butt but does nothing to hide its size.`);
-				}
-			}
-		}
-	} else {
-		if (V.PC.butt >= 5) {
-			if (V.PC.balls >= 14 && V.ballsAccessibility !== 1) {
-				if (V.PC.markings === "freckles") {
-					r.push(`Your enormous, freckled`);
-				} else if (V.PC.markings === "heavily freckled") {
-					r.push(`Your enormous, densely freckled`);
-				} else {
-					r.push(`Your enormous`);
-				}
-				r.push(`butt would make your chair extremely comfortable if it wasn't for your enormous balls. You have to be extremely careful to prevent your enormous cheeks from pinching your nuts.`);
-			} else {
-				if (V.PC.markings === "freckles") {
-					r.push(`Your enormous, freckled`);
-				} else if (V.PC.markings === "heavily freckled") {
-					r.push(`Your enormous, densely freckled`);
-				} else {
-					r.push(`Your enormous`);
-				}
-				r.push(`butt makes for an extremely comfortable seat. You hope the chair doesn't follow you when you stand up this time.`);
-			}
-		} else if (V.PC.butt >= 4) {
-			if (V.PC.balls >= 14 && V.ballsAccessibility !== 1) {
-				if (V.PC.markings === "freckles") {
-					r.push(`Your huge, freckled`);
-				} else if (V.PC.markings === "heavily freckled") {
-					r.push(`Your huge, densely freckled`);
-				} else {
-					r.push(`Your huge`);
-				}
-				r.push(`butt would make for a very comfortable seat if it wasn't for your enormous balls. You have to be careful to prevent your huge cheeks from pinching your nuts.`);
-			} else {
-				if (V.PC.markings === "freckles") {
-					r.push(`Your huge, freckled`);
-				} else if (V.PC.markings === "heavily freckled") {
-					r.push(`Your huge, densely freckled`);
-				} else {
-					r.push(`Your huge`);
-				}
-				r.push(`butt makes for a very comfortable seat.`);
-			}
-		} else if (V.PC.butt >= 3) {
-			if (V.PC.balls >= 14 && V.ballsAccessibility !== 1) {
-				if (V.PC.markings === "freckles") {
-					r.push(`Your big, freckled`);
-				} else if (V.PC.markings === "heavily freckled") {
-					r.push(`Your big, densely freckled`);
-				} else {
-					r.push(`Your big`);
-				}
-				r.push(`butt would make for a comfortable seat if your enormous balls weren't getting in the way.`);
-			} else {
-				if (V.PC.markings === "freckles") {
-					r.push(`Your big, freckled`);
-				} else if (V.PC.markings === "heavily freckled") {
-					r.push(`Your big, densely freckled`);
-				} else {
-					r.push(`Your big`);
-				}
-				r.push(`butt makes for a comfortable seat.`);
-			}
-		}
-	}
-	return r.join(" ");
-};
diff --git a/src/player/desc/playerCrotch.js b/src/player/desc/playerCrotch.js
deleted file mode 100644
index 0f0e3a0b8dbe9559dc724e58cea20ea7d0058648..0000000000000000000000000000000000000000
--- a/src/player/desc/playerCrotch.js
+++ /dev/null
@@ -1,196 +0,0 @@
-App.Desc.Player.crotch = function() {
-	const r = [];
-	const {girlP} = getPronouns(V.PC).appendSuffix('P');
-
-	if (passage() === "Manage Personal Affairs") {
-		r.push(`you have`);
-		if (V.PC.dick !== 0 && V.PC.vagina !== -1) {
-			r.push(`an <span class="orange">above average penis</span>`);
-			if (V.PC.balls >= 14) {
-				r.push(`that is constantly streaming precum,`);
-			} else if (V.PC.balls >= 9) {
-				r.push(`that is constantly dripping precum,`);
-			}
-			r.push(`and a pair of`);
-			if (V.PC.balls >= 30) {
-				r.push(`<span class="orange">monstrous, heavy balls</span> roughly the size of small watermelons thanks to`);
-				if (V.PC.ballsImplant > 0) {
-					r.push(`a combination of growth hormones and gel injections;`);
-				} else {
-					r.push(`relentless use of growth hormones;`);
-				}
-				r.push(`it's impossible to sit normally,`);
-				if (V.ballsAccessibility === 1) {
-					r.push(`but your penthouse has been redesigned with oversized balls in mind. There are plenty of chairs capable of handling you littering the penthouse.`);
-				} else {
-					r.push(`so you rest on the edge of your chair, allowing your oversized balls to dangle precariously.`);
-				}
-				r.push(`You've given up on wearing pants around the penthouse, and their bulging mass is so gargantuan that people assume they're fake, but every slave you fuck gets a distended belly from all the cum you pump into them. They make just about everything you do difficult: sitting, walking, fucking — but they certainly make life interesting.`);
-			} else if (V.PC.balls >= 14) {
-				r.push(`<span class="orange">enormous, heavy balls</span> roughly the size of cantaloupes; it's difficult to sit normally, your clothes barely fit, and everyone probably assumes they are fake, but every slave you fuck gets a distinct slap with each thrust. They get in the way of nearly everything you do: sitting, walking, fucking — but they make life certainly interesting.`);
-			} else if (V.PC.balls >= 9) {
-				r.push(`<span class="orange">huge balls</span> roughly the size of softballs; they are pretty heavy, but make sex and day-to-day affairs interesting.`);
-			} else if (V.PC.balls >= 5) {
-				r.push(`<span class="orange">large balls;</span> you can certainly feel them as you move about.`);
-			} else {
-				r.push(`<span class="orange">normal, uneventful balls.</span>`);
-			}
-			r.push(`Tucked away beneath them, you have a`);
-			/* this needs to be redone in all parts. */
-			if (V.PC.newVag === 1) {
-				r.push(`<span class="orange">tight vagina.</span> Your pussy is very resilient; you shouldn't be able to stretch it out again.`);
-			} else if (V.PC.career === "escort") {
-				r.push(`<span class="red">very loose vagina.</span> Years of whoring will do that to a ${girlP}.`);
-			} else if (V.PC.counter.birthsTotal >= 10) {
-				r.push(`<span class="red">rather loose vagina,</span> stretched from your many children.`);
-			} else if (V.PC.career === "servant") {
-				r.push(`<span class="red">rather loose vagina.</span> Your Master fucked you several times a day; he`);
-				if (V.PC.counter.birthMaster > 0) {
-					r.push(`and his child${V.PC.counter.birthMaster > 1 ? "ren" : ""} have`);
-				}
-				r.push(`wreaked havoc upon your pussy.`);
-			} else if (V.PC.counter.birthsTotal > 2) {
-				r.push(`<span class="orange">loose vagina,</span> stretched from your several children.`);
-			} else if (V.PC.career === "gang" || V.PC.career === "celebrity" || V.PC.career === "wealth") {
-				r.push(`<span class="lime">reasonably tight vagina.</span> You've had some fun during your previous career.`);
-			} else if (V.PC.counter.birthsTotal > 0) {
-				r.push(`<span class="lime">reasonably tight vagina.</span> It's handled childbirth well enough.`);
-			} else {
-				r.push(`<span class="lime">tight vagina.</span> You're no virgin, but you've taken care of yourself.`);
-			}
-		} else if (V.PC.dick !== 0) {
-			r.push(`an <span class="orange">above average penis</span>`);
-			if (V.PC.balls >= 14) {
-				r.push(`that is constantly streaming precum,`);
-			} else if (V.PC.balls >= 9) {
-				r.push(`that is constantly dripping precum,`);
-			}
-			r.push(`and a pair of`);
-			if (V.PC.balls >= 30) {
-				r.push(`<span class="orange">monstrous, heavy balls</span> roughly the size of small watermelons thanks to`);
-				if (V.PC.ballsImplant > 0) {
-					r.push(`a combination of growth hormones and gel injections;`);
-				} else {
-					r.push(`relentless use of growth hormones;`);
-				}
-				r.push(`it's impossible to sit normally,`);
-				if (V.ballsAccessibility === 1) {
-					r.push(`but your penthouse has been redesigned with oversized balls in mind. There are plenty of chairs capable of handling you littering the penthouse.`);
-				} else {
-					r.push(`so you rest on the edge of your chair, allowing your oversized balls to dangle precariously.`);
-				}
-				r.push(`You've given up on wearing pants around the penthouse, and their bulging mass is so gargantuan that people assume they're fake, but every slave you fuck gets a distended belly from all the cum you pump into them. They make just about everything you do difficult: sitting, walking, fucking — but they certainly make life interesting.`);
-			} else if (V.PC.balls >= 14) {
-				r.push(`<span class="orange">enormous, heavy balls</span> roughly the size of cantaloupes; it's difficult to sit normally, your clothes barely fit, and everyone probably assumes they are fake, but every slave you fuck gets a distinct slap with each thrust. They get in the way of nearly everything you do: sitting, walking, fucking — but they certainly make life interesting.`);
-			} else if (V.PC.balls >= 9) {
-				r.push(`<span class="orange">huge balls</span> roughly the size of softballs; they are pretty heavy, but make sex and day-to-day affairs interesting.`);
-			} else if (V.PC.balls >= 5) {
-				r.push(`<span class="orange">large balls;</span> you can certainly feel them as you move about.`);
-			} else {
-				r.push(`<span class="orange">normal, uneventful balls.</span>`);
-			}
-		} else {
-			r.push(`a`);
-			if (V.PC.newVag === 1) {
-				r.push(`<span class="orange">tight vagina.</span> Your pussy is very resilient; you shouldn't be able to stretch it out again.`);
-			} else if (V.PC.career === "escort") {
-				r.push(`<span class="red">very loose vagina.</span> Years of whoring will do that to a ${girlP}.`);
-			} else if (V.PC.counter.birthsTotal >= 10) {
-				r.push(`<span class="red">rather loose vagina,</span> stretched from your many children.`);
-			} else if (V.PC.career === "servant") {
-				r.push(`<span class="red">rather loose vagina.</span> Your Master fucked you several times a day; he`);
-				if (V.PC.counter.birthMaster > 0) {
-					r.push(`and his child${V.PC.counter.birthMaster > 1 ? "ren" : ""} have`);
-				}
-				r.push(`wreaked havoc upon your pussy.`);
-			} else if (V.PC.counter.birthsTotal > 2) {
-				r.push(`<span class="orange">loose vagina,</span> stretched from your several children.`);
-			} else if (V.PC.career === "gang" || V.PC.career === "celebrity" || V.PC.career === "wealth") {
-				r.push(`<span class="lime">reasonably tight vagina.</span> You've had some fun during your previous career.`);
-			} else if (V.PC.counter.birthsTotal > 0) {
-				r.push(`<span class="lime">reasonably tight vagina.</span> It's handled childbirth well enough.`);
-			} else {
-				r.push(`<span class="lime">tight vagina.</span> You're no virgin, but you've taken care of yourself.`);
-			}
-		}
-	} else if (passage() === "Economics") {
-		if (V.PC.career === "servant") {
-			if (V.PC.balls >= 30) {
-				r.push(`Your dress and apron bulge with your enormous balls; you had to have your dresses tailored so that the swinging mass of your sack would stop bursting seams inadvertently.`);
-			} else if (V.PC.balls >= 14) {
-				r.push(`Your dress and apron bulge with your enormous balls.`);
-			} else if (V.PC.balls >= 9) {
-				r.push(`Your dress hides your huge balls, but it does nothing to hide your altered gait.`);
-			} else if (V.PC.balls >= 5) {
-				r.push(`Your dress hides your big balls.`);
-			}
-		} else if (V.PC.career === "escort") {
-			if (V.PC.balls >= 30) {
-				r.push(`You've pretty much given up on pants because of your monstrous balls, but you've replaced them with a slutty skirt that stretches around their veiny contours. People can't help staring to see if they'll get a glimpse of your massive sack peeking out from under the skirt.`);
-			} else if (V.PC.balls >= 14) {
-				r.push(`You've swapped up to a larger pair of slutty pants, specially designed with extra sack room. They draw the eye right to your`);
-				if (V.PC.preg >= 28) {
-					r.push(`bulge; you can do without people thinking you are giving birth into your pants, though.`);
-				} else {
-					r.push(`bulge.`);
-				}
-			} else if (V.PC.balls >= 9) {
-				r.push(`Your slutty pants are really tight around the groin, but they hold your huge balls in place quite nicely.`);
-			} else if (V.PC.balls >= 5) {
-				r.push(`Your slutty pants bulge more than ever with your big balls.`);
-			}
-		} else {
-			if (V.PC.balls >= 30) {
-				r.push(`You've pretty much given up on suit pants because of your monstrous balls, but you've replaced them with a custom kilt tailored to match the rest of your business attire. People would wonder why you're wearing such old fashioned clothes if your ridiculous bulge didn't make it obvious.`);
-			} else if (V.PC.balls >= 14) {
-				r.push(`You've had to get your suit pants retailored again to fit your enormous balls. It is obvious that the bulge in your pants is not your`);
-				if (V.PC.preg >= 28) {
-					r.push(`penis; you've had several people rush to your aid under the mistaken belief that`);
-					if (V.PC.pregType > 1) {
-						r.push(`one of your children`);
-					} else {
-						r.push(`your child`);
-					}
-					r.push(`was crowning into your pants.`);
-				} else {
-					r.push(`penis.`);
-				}
-			} else if (V.PC.balls >= 9) {
-				r.push(`You've had to get your suit pants retailored to fit your huge balls. It gives you a striking figure, though.`);
-			} else if (V.PC.balls >= 5) {
-				r.push(`Your suit pants bulge more than ever with your big balls.`);
-			}
-		}
-	} else {
-		if (V.PC.balls >= 30) {
-			if (V.ballsAccessibility === 1) {
-				r.push(`Thankfully your accessibility remodeling included a custom chair.`);
-				if (V.PC.ballsImplant > 0) {
-					r.push(`When combined with the protective gel surrounding`);
-				} else {
-					r.push(`Despite the cumbrous bulk of`);
-				}
-				r.push(`your massive sperm factories, it's rather comfortable. It even has an attachment to catch your never-ending stream of precum, keeping the mess to a minimum.`);
-			} else {
-				r.push(`Your monstrous balls make it impossible for you to sit normally in a standard chair, forcing you sit on the edge and let them dangle. You have to sit while naked below the waist unless you want your clothes soaked with spermy precum.`);
-			}
-		} else if (V.PC.ballsImplant > 1 && V.PC.balls >= 14) {
-			if (V.ballsAccessibility === 1) {
-				r.push(`Thanks to your accessibility remodeling, your enormous gel-filled scrotum is able to rest comfortably in your custom chair.`);
-			} else {
-				r.push(`No matter how you sit, your enormous gel-filled scrotum is never quite comfortable. Fortunately the cosmetic gel protects you from any major discomfort.`);
-			}
-		} else if (V.PC.balls >= 14) {
-			if (V.ballsAccessibility === 1) {
-				r.push(`Thanks to your accessibility remodeling, your enormous sperm factories are able to rest comfortably in your custom chair. Your chair also catches your never-ending precum, helping to prevent a mess.`);
-			} else {
-				r.push(`You have to sit very carefully in your desk chair, giving your enormous sperm factories plenty of room. As they rest on the chair they deform uncomfortably under their own weight, causing even more of a mess from your ever-drooling cock.`);
-			}
-		} else if (V.PC.balls >= 9) {
-			r.push(`You shift in your seat and spread your legs to give your huge balls room.`);
-		} else if (V.PC.balls >= 5) {
-			r.push(`You shift in your seat to make room for your big balls.`);
-		}
-	}
-	return r.join(" ");
-};
diff --git a/src/player/desc/playerDescription.js b/src/player/desc/playerDescription.js
deleted file mode 100644
index 628a4f6d0605a303cb6f8195976309aa725c0d61..0000000000000000000000000000000000000000
--- a/src/player/desc/playerDescription.js
+++ /dev/null
@@ -1,74 +0,0 @@
-App.Desc.Player.longDescription = function(PC = V.PC) {
-	const r = [];
-
-	let freckled = '';
-	let ageDifference = '';
-
-	if (PC.markings === "freckles") {
-		freckled = ` freckled`;
-	} else if (PC.markings === "heavily freckled") {
-		freckled = ` heavily freckled`;
-	}
-
-	r.push(`You take yourself in in a full length mirror. You are ${addA(PC.race)} ${PC.dick && PC.vagina !== -1 ? `futanari` : PC.dick ? `man` : `woman`} with${freckled} ${PC.skin} skin, ${PC.hColor} hair, ${App.Desc.eyesColor(PC)} and a perfect ${PC.faceShape} face.`);
-
-	if (PC.actualAge >= 65) {
-		if (PC.visualAge > PC.actualAge) {
-			ageDifference = `You've taken measures to <span class="lime">look an older ${PC.visualAge},</span> though perhaps it might be time to undo it.`;
-		} else if (PC.visualAge < PC.actualAge) {
-			ageDifference = `You've taken measures to <span class="lime">look a younger ${PC.visualAge}.</span> If only your body agreed with your looks.`;
-		}
-
-		r.push(`You're <span class="orange">${PC.actualAge}</span> and definitely feeling it.`, ageDifference);
-	} else if (PC.actualAge >= 50) {
-		if (PC.visualAge > PC.actualAge) {
-			ageDifference = `You've taken measures to <span class="lime">look an older ${PC.visualAge}.</span>`;
-		} else if (PC.visualAge < PC.actualAge) {
-			ageDifference = `You've taken measures to <span class="lime">look a younger ${PC.visualAge}.</span>`;
-		}
-
-		r.push(`You're <span class="orange">${PC.actualAge}</span> and starting to feel it.`, ageDifference);
-	} else if (PC.actualAge >= 35) {
-		if (PC.visualAge > PC.actualAge) {
-			ageDifference = `You've taken measures to <span class="lime">look an older ${PC.visualAge}</span> and reap the respect that comes with it.`;
-		} else if (PC.visualAge < PC.actualAge) {
-			ageDifference = `You've taken measures to <span class="lime">look a younger ${PC.visualAge},</span> recapturing your youth.`;
-		}
-
-		r.push(`You're <span class="orange">${PC.actualAge}</span> and strong.`, ageDifference);
-	} else {
-		if (PC.visualAge > PC.actualAge) {
-			ageDifference = `You've taken measures to <span class="lime">look an older ${PC.visualAge}</span> and reap the respect that comes with it.`;
-		} else if (PC.visualAge < PC.actualAge) {
-			ageDifference = `You've taken measures to <span class="lime">look a younger ${PC.visualAge},</span> even though society may find your looks uncomfortable.`;
-		}
-
-		r.push(`You're <span class="orange">${PC.actualAge}</span> and full of vigor.`, ageDifference);
-	}
-
-	if (V.playerAging) {
-		r.push(`Your birthday is ${PC.birthWeek === 51 ? `next week` : `in ${52 - PC.birthWeek} weeks`}.`);
-	}
-
-	r.push(
-		`Looking down`,
-		App.Desc.Player.boobs(),
-		App.Desc.Player.belly(),
-	);
-
-	if (PC.prostate > 2 && PC.belly < 10000) {
-		r.push(`Your pubic mound bulges outward noticeably thanks to your massive prostate.`);
-	} else if (PC.prostate === 2 && PC.belly < 5000) {
-		r.push(`Your pubic mound swells outward slightly due to your oversized prostate.`);
-	}
-
-	r.push(`Beneath all that,`);
-	r.push(App.Desc.Player.crotch());
-	if (V.geneticMappingUpgrade >= 1 && PC.genes === "XY" && V.seeDicksAffectsPregnancy === 0) {
-		r.push(`Analysis of your sperm shows that you have a ${PC.spermY}% chance of fathering a son.`);
-	}
-	r.push(`Around back,`);
-	r.push(App.Desc.Player.butt());
-
-	return r.join(" ");
-};