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`);
					if (V.PC.counter.birthMaster > 1) {
						r.push(`ren`);
					}
					r.push(`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`);
					if (V.PC.counter.birthMaster > 1) {
						r.push(`ren`);
					}
					r.push(`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 peaking 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(" ");
};

src/player/desc/playerCrotch.js