diff --git a/devNotes/legacy files/walkPast.txt b/devNotes/legacy files/walkPast.txt
index 980228396c221288568ec1cacdf080af8b872279..2ed9627191f56779c216d03eeb219946307471fe 100644
--- a/devNotes/legacy files/walkPast.txt	
+++ b/devNotes/legacy files/walkPast.txt	
@@ -1948,7 +1948,7 @@
 		<</if>>
 		<<= App.Desc.crotch($activeSlave)>>
 		<<= App.Desc.dick($activeSlave)>>
-		<<vaginaDescription>>
+		<<= App.Desc.vagina($activeSlave)>>
 		<<switch $activeSlave.clothes>>
 		<<case "a Fuckdoll suit">>
 			Its suit is expressly designed to encourage use of its holes.
diff --git a/src/interaction/main/walkPast.js b/src/interaction/main/walkPast.js
index 229046952e313dbad08589d26bb7d2bfe22ef5e1..526a02da6d47a6b50d4e658be551a0e1acad1d78 100644
--- a/src/interaction/main/walkPast.js
+++ b/src/interaction/main/walkPast.js
@@ -7686,7 +7686,8 @@ globalThis.walkPast = (function() {
 		// Desc dick and vag
 		t += App.Desc.crotch(slave);
 		t += ` `;
-		t += `<<vaginaDescription>>`;
+		t += App.Desc.vagina(slave);
+		t += ` `;
 		switch (slave.clothes) {
 			case "a Fuckdoll suit":
 				t += `${His} suit is expressly designed to encourage use of ${his} holes.`;
diff --git a/src/npc/descriptions/crotch/vagina.js b/src/npc/descriptions/crotch/vagina.js
new file mode 100644
index 0000000000000000000000000000000000000000..0e88c771aa8292232c43e5d358183e728c91e88d
--- /dev/null
+++ b/src/npc/descriptions/crotch/vagina.js
@@ -0,0 +1,710 @@
+App.Desc.vagina = function(slave) {
+	const r = [];
+	const {
+		he, him, his, hers, himself, boy, He, His
+	} = getPronouns(slave);
+
+	if (slave.dick > 0) {
+		if (slave.vagina > -1) {
+			r.push(`${His}`);
+			if (slave.genes === "XX") {
+				r.push(`beautifully natural`);
+			} else if (slave.ovaries === 1) {
+				r.push(`finely crafted`);
+			} else {
+				r.push(`artificial`);
+			}
+			r.push(`vagina is located beneath the base of ${his} penis,`);
+			if (slave.fuckdoll > 0) {
+				r.push(`just after the suit's material stops to bare ${his} front hole.`);
+			} else if ((slave.scrotum > 3) && (slave.balls <= slave.scrotum)) {
+				r.push(`though it is almost completely hidden by ${his} hanging ballsack.`);
+			} else if ((slave.scrotum > 1) && (slave.balls > 0)) {
+				r.push(`its upper part concealed by ${his} balls.`);
+			} else if (canAchieveErection(slave)) {
+				r.push(`and merges seamlessly into ${his} shaft.`);
+			} else {
+				if (slave.dick > 3) {
+					r.push(`though it is almost completely hidden by ${his} soft cockmeat.`);
+				} else {
+					r.push(`which acts as a soft little dickclit for it.`);
+				}
+			}
+			if (slave.clit === 0) {
+				r.push(`The base of ${his} cock is located where the clitoris would be on a normal woman.`);
+			}
+		}
+	}
+
+	if (slave.vagina > -1) {
+		if (slave.vagina === 0) {
+			r.push(`${He} is a <span class="lime">virgin.</span> ${His} pussy is fresh,`);
+		} else if (slave.vagina === 1) {
+			r.push(`${His} pussy is tight and appealing,`);
+		} else if (slave.vagina === 2) {
+			r.push(`${His} pussy is reasonably tight,`);
+		} else if (slave.vagina === 3) {
+			r.push(`${His} pussy is loose,`);
+		} else if (slave.vagina >= 10) {
+			r.push(`${His} pussy has been completely ruined from hundreds of births. One could fit their arm into it with minimal effort and ${he} can barely get off from vaginal sex now. ${His} pussy is abyssal,`);
+		} else if (slave.vagina > 3) {
+			r.push(`${His} pussy is utterly cavernous,`);
+		}
+
+		if (slave.labia === 0) {
+			r.push(`with minimal`);
+		} else if (slave.labia === 1) {
+			r.push(`with big puffy`);
+		} else if (slave.labia === 2) {
+			r.push(`with huge`);
+		} else {
+			r.push(`with huge dangling`);
+		}
+
+		if (V.seeRace === 1) {
+			if (slave.race === "white") {
+				r.push(`pink pussylips.`);
+			} else if (slave.race === "asian") {
+				r.push(`dark ${slave.race} pussylips.`);
+			} else if (slave.race === "middle eastern") {
+				r.push(`dark ${slave.race} pussylips.`);
+			} else if (slave.race === "latina") {
+				r.push(`dark ${slave.race} pussylips.`);
+			} else if (slave.race === "black") {
+				r.push(`dark ${slave.race} pussylips.`);
+			} else {
+				r.push(`${slave.skin} pussylips.`);
+			}
+		} else {
+			r.push(`${slave.skin} pussylips.`);
+		}
+
+		if (slave.vagina > -1) {
+			if (slave.vaginaLube === 0) {
+				if (slave.vagina > 0 && !(slave.chastityVagina)) {
+					r.push(`${He} produces very little natural wetness, so ${he} is`);
+					if (slave.fuckdoll === 0) {
+						r.push(`required to keep ${him}self`);
+					} else {
+						r.push(`is kept`);
+					}
+					r.push(`artificially lubricated for anyone who wishes to use ${his} cunt.`);
+				} else {
+					r.push(`${He} produces very little natural wetness.`);
+				}
+				if (slave.prostate !== 0) {
+					if (slave.dick === 0) {
+						r.push(`In stark contrast, however, ${he}'s been given a functional prostate gland. It's attached to ${his} urethra, of course, so despite ${his} dryness, ${he} squirts`);
+						if (slave.balls > 0) {
+							r.push(`semen`);
+						} else {
+							r.push(`fluid`);
+						}
+						r.push(`when ${he} orgasms.`);
+						if (slave.prostate > 2) {
+							r.push(`With the implant embedded in it, that squirt is more like a blast; ${he} will soak ${him}self and anyone near ${him}.`);
+						}
+					}
+				}
+			} else if ((slave.vaginaLube < 2)) {
+				if (slave.assignment === "work in the dairy" && V.dairyPregSetting > 1) {
+					r.push(`The dildo's ejaculate includes a drug that causes copious, constant vaginal lubrication, allowing it to fuck ${him} despite its giant size. The excess female fluid drips off ${him} and into a catch basin.`);
+				} else if ((slave.aphrodisiacs > 0) || (slave.inflationType === "aphrodisiac")) {
+					r.push(`The aphrodisiacs have them`);
+					if (slave.aphrodisiacs > 1 || (slave.inflationType === "aphrodisiac" && slave.inflation >= 2)) {
+						r.push(`sopping`);
+					}
+					r.push(`wet.`);
+				} else if ((slave.energy > 95)) {
+					r.push(`As a nympho, ${he}'s almost constantly wet.`);
+				} else if ((slave.fetishStrength > 60) && (slave.fetishKnown === 1)) {
+					r.push(`Judging by how wet ${he} is, ${he}'s probably fantasizing about`);
+					switch (slave.fetish) {
+						case "buttslut":
+							r.push(`being buttfucked.`);
+							break;
+						case "cumslut":
+							r.push(`being facefucked.`);
+							break;
+						case "humiliation":
+							r.push(`being humiliated.`);
+							break;
+						case "submissive":
+							r.push(`submission.`);
+							break;
+						case "dom":
+							r.push(`dominating someone.`);
+							break;
+						case "sadist":
+							r.push(`hurting someone.`);
+							break;
+						case "masochist":
+							r.push(`pain.`);
+							break;
+						case "pregnancy":
+							if (slave.pregKnown) {
+								r.push(`having another`);
+								if (slave.pregType > 1) {
+									r.push(`brood`);
+								} else {
+									r.push(`child`);
+								}
+								r.push(`after this one.`);
+							} else {
+								r.push(`getting pregnant.`);
+							}
+							break;
+						case "boobs":
+							r.push(`boobs.`);
+							break;
+						default:
+							r.push(`getting fucked.`);
+							break;
+					}
+				} else if ((slave.devotion > 50)) {
+					r.push(`As a devoted sex slave, ${he} has no trouble keeping ${him}self wet for ${his} ${WrittenMaster(slave)}.`);
+				} else if ((slave.devotion > 20)) {
+					r.push(`As an obedient sex slave, ${he} does ${his} best to keep ${him}self wet for ${his} ${WrittenMaster(slave)}.`);
+				}
+				if (slave.prostate !== 0) {
+					if (slave.dick === 0) {
+						r.push(`Bizarrely, ${he}'s been given a functional prostate gland. It's attached to ${his} urethra, of course,`);
+						if (slave.balls > 0) {
+							r.push(`which in combination with ${his} testicles make ${his} squirt copious amounts of fluids and semen with each orgasm.`);
+						} else {
+							r.push(`so ${he} squirts copiously when ${he} orgasms.`);
+						}
+						if (slave.prostate > 2) {
+							r.push(`With the implant embedded in it; that gush is more like a flood. Changes of clothes are a must with ${him}, as ${he} can and will soak both you, ${him}self and what ${he} is getting fucked over.`);
+						}
+					}
+				}
+			} else {
+				if (slave.assignment === "work in the dairy" && V.dairyPregSetting > 1) {
+					r.push(`The dildo's ejaculate includes a drug that encourages vaginal lubrication, which is having a drastic effect on ${him}, since ${he}'s already very gifted in that regard. The dildo makes a wet noise every time it thrusts into ${him}, and femcum streams into a catch basin beneath ${him}. The smell of pussy is overwhelming.`);
+				} else if ((slave.aphrodisiacs > 0) || (V.saleDescription === 1 && V.gingering === "vasodilator") || (slave.inflationType === "aphrodisiac")) {
+					r.push(`The combination of the aphrodisiacs and ${his} natural tendency to produce a lot of female lubricant is having a drastic effect. ${His} cunt is absolutely beribboned with femcum, and ${he} smells strongly of wet, clean pussy.`);
+				} else if ((slave.energy > 95)) {
+					r.push(`${He} has a naturally wet cunt, and in combination with ${his} nymphomania, it's soaking. ${He} smells of good clean female arousal.`);
+				} else if ((slave.fetishStrength > 60) && (slave.fetishKnown === 1)) {
+					r.push(`${His} naturally wet cunt is almost dripping female lubricant, and ${he} smells of good clean female arousal. ${He}'s probably fantasizing about`);
+					switch (slave.fetish) {
+						case "buttslut":
+							r.push(`being buttfucked.`);
+							break;
+						case "cumslut":
+							r.push(`being facefucked.`);
+							break;
+						case "humiliation":
+							r.push(`being humiliated.`);
+							break;
+						case "submissive":
+							r.push(`submission.`);
+							break;
+						case "dom":
+							r.push(`dominating someone.`);
+							break;
+						case "sadist":
+							r.push(`hurting someone.`);
+							break;
+						case "masochist":
+							r.push(`pain.`);
+							break;
+						case "pregnancy":
+							if (slave.pregKnown === 1) {
+								r.push(`growing rounder.`);
+							} else {
+								r.push(`getting pregnant.`);
+							}
+							break;
+						case "boobs":
+							r.push(`boobs.`);
+							break;
+						default:
+							r.push(`getting fucked.`);
+					}
+				} else if ((slave.devotion > 50)) {
+					r.push(`${His} cunt is almost always soaking wet, but being near you has ${his} almost dripping.`);
+				} else if ((slave.devotion > 20)) {
+					r.push(`${His} cunt is almost always soaking wet, and being near you isn't affecting that.`);
+				} else {
+					r.push(`${His} cunt is almost always soaking wet, regardless of ${his} feelings.`);
+				}
+				if (slave.prostate !== 0) {
+					if (slave.dick === 0) {
+						r.push(`Bizarrely, ${he}'s been given a functional prostate gland. It's attached to ${his} urethra, of course,`);
+						if (slave.balls > 0) {
+							r.push(`which in combination with ${his} testicles make ${his} squirt unreasonable volume of fluids and semen with each orgasm.`);
+						} else {
+							r.push(`meaning that when ${he} orgasms, ${he} squirts an unreasonable volume of fluid.`);
+						}
+						if (slave.prostate > 2) {
+							r.push(`With the implant embedded in it, that gush is insane. Everything around ${him} is at risk of being splashed. Changes of clothes are a must with ${him}, as are supplies to mop up afterwards.`);
+						}
+					}
+				}
+			}
+		}
+		r.push(App.Desc.vaginalAccessory(slave));
+	}
+
+	if (slave.ovaImplant !== 0) {
+		switch (slave.ovaImplant) {
+			case "fertility":
+				r.push(`${His} ovaries have a pair of implants attached to them to encourage`);
+				if (slave.preg < -1) {
+					r.push(`ovulation, not that it does ${him} any good`);
+				} else {
+					r.push(`ovulation.`);
+				}
+				break;
+			case "sympathy":
+				r.push(`${His} ovaries have a pair of linked implants attached to them so that when one releases an egg the other does so as well.`);
+				break;
+			case "asexual":
+				r.push(`One of ${his} ovaries has been replaced with a fabricated sperm sack designed to fertilize any eggs ${he} makes.`);
+				break;
+		}
+	}
+
+	if (slave.dick === 0 && slave.balls === 0 && slave.vagina < 0 && V.arcologies[0].FSRestart > 60) {
+		r.push(`Society looks fondly on ${his} complete inability to reproduce.`);
+	}
+
+
+	if (slave.dick === 0) {
+		if (slave.clit > 0) {
+			if (slave.foreskin === 0) {
+				if (slave.clit === 1) {
+					if (slave.devotion > 50) {
+						r.push(`${His} clit is quite large and visibly hard.`);
+					} else {
+						r.push(`${His} clit is quite large.`);
+					}
+					r.push(`${His} lack of hood makes it even more prominent.`);
+				} else if ((slave.clit === 2)) {
+					if (slave.devotion > 50) {
+						r.push(`${His} clit is huge and visibly erect.`);
+					} else {
+						r.push(`${His} clit is huge.`);
+					}
+					r.push(`Lack of hood combined with its size means ${he} can't wear any clothes without being constantly stimulated.`);
+				} else if ((slave.clit === 3)) {
+					if (slave.devotion > 50) {
+						r.push(`${His} clit is enormous, and since it's erect with arousal, it juts out proudly.`);
+					} else {
+						r.push(`${His} clit is enormous, almost a pseudophallus.`);
+					}
+				} else if ((slave.clit === 4)) {
+					if (slave.devotion > 50) {
+						r.push(`${His} clit has reached the size of an average penis, it stands at attention but due to lack of erectile tissues it can't reach the same hardness a penis would.`);
+					} else {
+						r.push(`${His} clit has reached the size of an average penis.`);
+					}
+				} else {
+					if (slave.devotion > 50) {
+						r.push(`${His} clit is massive, having reached the size of a large penis. It is semi-erect since lack of erectile tissues means it can never become fully erect.`);
+					} else {
+						r.push(`${His} clit is massive, having reached the size of a large penis.`);
+					}
+				}
+			} else if ((slave.foreskin === 1)) {
+				if (slave.clit === 1) {
+					if (slave.devotion > 50) {
+						r.push(`${His} clit is quite large and visibly hard.`);
+					} else {
+						r.push(`${His} clit is quite large.`);
+					}
+					r.push(`${His} clitoral hood is stretched thin trying to cover it.`);
+				} else if ((slave.clit === 2)) {
+					if (slave.devotion > 50) {
+						r.push(`${His} clit is huge and visibly erect.`);
+					} else {
+						r.push(`${His} clit is huge.`);
+					}
+					r.push(`${His} small hood is no longer able to cover it completely and large part of ${his} clitoris is always exposed.`);
+				} else if ((slave.clit === 3)) {
+					if (slave.devotion > 50) {
+						r.push(`${His} clit is enormous, and since it's erect with arousal, it juts out proudly.`);
+					} else {
+						r.push(`${His} clit is enormous, almost a pseudophallus.`);
+					}
+					r.push(`${His} hood can no longer contain it and has slid back causing ${his} clitoris to be always exposed.`);
+				} else if ((slave.clit === 4)) {
+					if (slave.devotion > 50) {
+						r.push(`${His} clit has reached the size of an average penis, it stands at attention but due to lack of erectile tissues it can't reach the same hardness a penis would.`);
+					} else {
+						r.push(`${His} clit has reached the size of an average penis.`);
+					}
+					r.push(`${His} hood can no longer contain it and has slid back causing ${his} clitoris to be always exposed.`);
+				} else {
+					if (slave.devotion > 50) {
+						r.push(`${His} clit is massive, having reached the size of a large penis. It is semi-erect since lack of erectile tissues means it can never become fully erect.`);
+					} else {
+						r.push(`${His} clit is massive, having reached the size of a large penis.`);
+					}
+					r.push(`${His} hood can no longer contain it and has slid back causing ${his} clitoris to be always exposed.`);
+				}
+			} else if ((slave.foreskin === 2)) {
+				if (slave.clit === 1) {
+					if (slave.devotion > 50) {
+						r.push(`${His} clit is quite large and visibly hard.`);
+					} else {
+						r.push(`${His} clit is quite large.`);
+					}
+					r.push(`It is completely covered by its hood.`);
+				} else if ((slave.clit === 2)) {
+					if (slave.devotion > 50) {
+						r.push(`${His} clit is huge and visibly erect.`);
+					} else {
+						r.push(`${His} clit is huge.`);
+					}
+					r.push(`Its hood is stretched thin trying to cover it.`);
+				} else if ((slave.clit === 3)) {
+					if (slave.devotion > 50) {
+						r.push(`${His} clit is enormous, and since it's erect with arousal, it juts out proudly.`);
+					} else {
+						r.push(`${His} clit is enormous, almost a pseudophallus.`);
+					}
+					r.push(`It's large enough that the hood can cover only half of it.`);
+				} else if ((slave.clit === 4)) {
+					if (slave.devotion > 50) {
+						r.push(`${His} clit has reached the size of an average penis, it stands at attention but due to lack of erectile tissues it can't reach the same hardness a penis would.`);
+					} else {
+						r.push(`${His} clit has reached the size of an average penis.`);
+					}
+					r.push(`${His} hood can no longer contain it and has slid back causing ${his} clitoris to be always exposed.`);
+				} else {
+					if (slave.devotion > 50) {
+						r.push(`${His} clit is massive, having reached the size of a large penis. It is semi-erect since lack of erectile tissues means it can never become fully erect.`);
+					} else {
+						r.push(`${His} clit is massive, having reached the size of a large penis.`);
+					}
+					r.push(`${His} hood can no longer contain it and has slid back causing ${his} clitoris to be always exposed.`);
+				}
+			} else if ((slave.foreskin === 3)) {
+				if (slave.clit === 1) {
+					if (slave.devotion > 50) {
+						r.push(`${His} clit is quite large and visibly hard.`);
+					} else {
+						r.push(`${His} clit is quite large.`);
+					}
+					r.push(`The hood covering it is quite large making stimulation difficult.`);
+				} else if ((slave.clit === 2)) {
+					if (slave.devotion > 50) {
+						r.push(`${His} clit is huge and visibly erect.`);
+					} else {
+						r.push(`${His} clit is huge.`);
+					}
+					r.push(`${His} large hood completely covers it.`);
+				} else if ((slave.clit === 3)) {
+					if (slave.devotion > 50) {
+						r.push(`${His} clit is enormous, and since it's erect with arousal, it juts out proudly.`);
+					} else {
+						r.push(`${His} clit is enormous, almost a pseudophallus.`);
+					}
+					r.push(`${His} large hood covers all but the tip of ${his} clit even when aroused.`);
+				} else if ((slave.clit === 4)) {
+					if (slave.devotion > 50) {
+						r.push(`${His} clit has reached the size of an average penis, it stands at attention but due to lack of erectile tissues it can't reach the same hardness a penis would.`);
+					} else {
+						r.push(`${His} clit has reached the size of an average penis.`);
+					}
+					r.push(`Even ${his} large hood can't cover it, leaving over half of the clit exposed.`);
+				} else {
+					if (slave.devotion > 50) {
+						r.push(`${His} clit is massive, having reached the size of a large penis. It is semi-erect since lack of erectile tissues means it can never become fully erect.`);
+					} else {
+						r.push(`${His} clit is massive, having reached the size of a large penis.`);
+					}
+					r.push(`${His} hood can no longer contain it and has slid back causing ${his} clitoris to be always exposed.`);
+				}
+			} else {
+				if (slave.clit === 1) {
+					if (slave.devotion > 50) {
+						r.push(`${His} clit is quite large and visibly hard.`);
+					} else {
+						r.push(`${His} clit is quite large.`);
+					}
+					r.push(`${His} large thick hood covering it makes any stimulation difficult.`);
+				} else if ((slave.clit === 2)) {
+					if (slave.devotion > 50) {
+						r.push(`${His} clit is huge and visibly erect.`);
+					} else {
+						r.push(`${His} clit is huge.`);
+					}
+					r.push(`${His} large thick hood covering it makes any stimulation difficult.`);
+				} else if ((slave.clit === 3)) {
+					if (slave.devotion > 50) {
+						r.push(`${His} clit is enormous, and since it's erect with arousal, it juts out proudly.`);
+					} else {
+						r.push(`${His} clit is enormous, almost a pseudophallus.`);
+					}
+					r.push(`Matching its size is the thick hood covering it.`);
+				} else if ((slave.clit === 4)) {
+					if (slave.devotion > 50) {
+						r.push(`${His} clit has reached the size of an average penis, it stands at attention but due to lack of erectile tissues it can't reach the same hardness a penis would.`);
+					} else {
+						r.push(`${His} clit has reached the size of an average penis.`);
+					}
+					r.push(`${His} large hood covering over half of it adds to its penis-like appearance.`);
+				} else {
+					if (slave.devotion > 50) {
+						r.push(`${His} clit is massive, having reached the size of a large penis. It is semi-erect, since lack of erectile tissues means it can never reach full erection.`);
+					} else {
+						r.push(`${His} clit is massive, having reached the size of a large penis.`);
+					}
+					r.push(`Not even its large hood can contain it, leaving over half of it exposed.`);
+				}
+			}
+		}
+	}
+
+	r.push(App.Desc.mods(slave, "vagina"));
+	r.push(App.Desc.mods(slave, "clit"));
+
+	if (slave.fuckdoll === 0) {
+		if (slave.rules.release.masturbation === 1) {
+			if ((slave.aphrodisiacs > 0 || slave.inflationType === "aphrodisiac") && slave.drugs !== "priapism agents") {
+				if ((slave.aphrodisiacs > 1) || (slave.inflationType === "aphrodisiac" && slave.inflation > 1)) {
+					if (slave.dick !== 0 && slave.hormoneBalance >= 100 && (!hasAnyArms(slave))) {
+						r.push(`The extreme dose of aphrodisiacs combined with the hormones that keep ${him} flaccid have ${him} in a state of extreme sexual frustration; ${he}'s`);
+						if ((slave.fetish === "buttslut") || ((slave.sexualFlaw !== "hates anal") && (slave.counter.anal > 9))) {
+							r.push(`unconsciously humping ${his} ass against whatever's next to ${him} for anal stimulation and`);
+						}
+						r.push(`humping ${his} dick against whatever ${he} can manage to mount without limbs.`);
+						if (slave.inflationType === "aphrodisiac") {
+							r.push(`${His} efforts force ${his} distended middle to jiggle around, stirring up the aphrodisiacs contained in ${his} gut and strengthening their effects even more.`);
+						}
+					} else if ((slave.dick !== 0) && (slave.balls > 0) && slave.ballType === "sterile" && (!hasAnyArms(slave))) {
+						r.push(`The extreme dose of aphrodisiacs combined with the chemical castration that keeps ${him} flaccid have ${him} in a state of extreme sexual frustration; ${he}'s`);
+						if ((slave.fetish === "buttslut") || ((slave.sexualFlaw !== "hates anal") && (slave.counter.anal > 9))) {
+							r.push(`unconsciously humping ${his} ass against whatever's next to ${him} for anal stimulation and`);
+						}
+						r.push(`humping ${his} limp dick against whatever ${he} can manage to mount without limbs.`);
+						if (slave.inflationType === "aphrodisiac") {
+							r.push(`${His} efforts force ${his} distended middle to jiggle around, stirring up the aphrodisiacs contained in ${his} gut and strengthening their effects even more.`);
+						}
+					} else if ((slave.dick !== 0) && (slave.balls === 0) && (!hasAnyArms(slave))) {
+						r.push(`The extreme dose of aphrodisiacs combined with the lack of balls that keeps ${him} flaccid have ${him} in a state of extreme sexual frustration; ${he}'s`);
+						if ((slave.fetish === "buttslut") || ((slave.sexualFlaw !== "hates anal") && (slave.counter.anal > 9))) {
+							r.push(`unconsciously humping ${his} ass against whatever's next to ${him} for anal stimulation and`);
+						}
+						r.push(`humping ${his} limp dick against whatever ${he} can manage to mount without limbs.`);
+						if (slave.inflationType === "aphrodisiac") {
+							r.push(`${His} efforts force ${his} distended middle to jiggle around, stirring up the aphrodisiacs contained in ${his} gut and strengthening their effects even more.`);
+						}
+					} else if ((slave.dick !== 0) && (slave.hormoneBalance >= 100)) {
+						r.push(`The extreme dose of aphrodisiacs combined with the hormones that keep ${him} flaccid have ${him} in a state of extreme sexual frustration; ${he}'s rubbing ${his} limp dick`);
+						if ((slave.fetish === "buttslut") || ((slave.sexualFlaw !== "hates anal") && (slave.counter.anal > 9))) {
+							r.push(`distractedly and unconsciously humping ${his} ass against whatever's next to ${him} for anal stimulation.`);
+						} else {
+							r.push(`distractedly.`);
+						}
+						if (slave.inflationType === "aphrodisiac") {
+							r.push(`${His} efforts force ${his} distended middle to jiggle around, stirring up the aphrodisiacs contained in ${his} gut and strengthening their effects even more.`);
+						}
+					} else if ((slave.dick !== 0) && (slave.balls === 0)) {
+						r.push(`The extreme dose of aphrodisiacs combined with the lack of balls that keeps ${him} flaccid have ${him} in a state of extreme sexual frustration; ${he}'s rubbing ${his} limp dick distractedly`);
+						if ((slave.fetish === "buttslut") || ((slave.sexualFlaw !== "hates anal") && (slave.counter.anal > 9))) {
+							r.push(`distractedly and unconsciously humping ${his} ass against whatever's next to ${him} for anal stimulation.`);
+						} else {
+							r.push(`distractedly.`);
+						}
+						if (slave.inflationType === "aphrodisiac") {
+							r.push(`${His} efforts force ${his} distended middle to jiggle around, stirring up the aphrodisiacs contained in ${his} gut and strengthening their effects even more.`);
+						}
+					} else if ((slave.dick !== 0) && !canAchieveErection(slave)) {
+						r.push(`The extreme dose of aphrodisiacs combined with ${his} inability to become erect have ${him} in a state of extreme sexual frustration; ${he}'s rubbing ${his} limp dick distractedly`);
+						if ((slave.fetish === "buttslut") || ((slave.sexualFlaw !== "hates anal") && (slave.counter.anal > 9))) {
+							r.push(`distractedly and unconsciously humping ${his} ass against whatever's next to ${him} for anal stimulation.`);
+						} else {
+							r.push(`distractedly.`);
+						}
+						if (slave.inflationType === "aphrodisiac") {
+							r.push(`${His} efforts force ${his} distended middle to jiggle around, stirring up the aphrodisiacs contained in ${his} gut and strengthening their effects even more.`);
+						}
+					} else if ((slave.dick !== 0)) {
+						r.push(`The extreme dose of aphrodisiacs has ${his} cock painfully erect and leaves precum dripping from its head.`);
+					}
+				} else {
+					if (slave.dick !== 0 && slave.hormoneBalance >= 100 && (!hasAnyArms(slave))) {
+						r.push(`The aphrodisiacs combined with the hormones that keep ${him} flaccid have ${him} sexually frustrated; ${he}'s`);
+						if ((slave.fetish === "buttslut") || ((slave.sexualFlaw !== "hates anal") && (slave.counter.anal > 9))) {
+							r.push(`unconsciously rubbing ${his} ass against whatever's next to ${him}, and`);
+						}
+						r.push(`humping ${his} dick against whatever ${he} can manage to mount without limbs.`);
+						if (slave.inflationType === "aphrodisiac") {
+							r.push(`${His} efforts force ${his} distended middle to jiggle around, stirring up the aphrodisiacs contained in ${his} gut and strengthening their effects even more.`);
+						}
+					} else if ((slave.dick !== 0) && (slave.balls > 0) && slave.ballType === "sterile" && (!hasAnyArms(slave))) {
+						r.push(`The aphrodisiacs combined with the chemical castration that keeps ${him} flaccid have ${him} sexually frustrated; ${he}'s`);
+						if ((slave.fetish === "buttslut") || ((slave.sexualFlaw !== "hates anal") && (slave.counter.anal > 9))) {
+							r.push(`unconsciously rubbing ${his} ass against whatever's next to ${him}, and`);
+						}
+						r.push(`humping ${his} dick against whatever ${he} can manage to mount without limbs.`);
+						if (slave.inflationType === "aphrodisiac") {
+							r.push(`${His} efforts force ${his} distended middle to jiggle around, stirring up the aphrodisiacs contained in ${his} gut and strengthening their effects even more.`);
+						}
+					} else if ((slave.dick !== 0) && (slave.balls === 0) && (!hasAnyArms(slave))) {
+						r.push(`The aphrodisiacs combined with the lack of balls that keeps ${him} flaccid have ${him} sexually frustrated; ${he}'s`);
+						if ((slave.fetish === "buttslut") || ((slave.sexualFlaw !== "hates anal") && (slave.counter.anal > 9))) {
+							r.push(`unconsciously rubbing ${his} ass against whatever's next to ${him}, and`);
+						}
+						r.push(`humping ${his} dick against whatever ${he} can manage to mount without limbs.`);
+						if (slave.inflationType === "aphrodisiac") {
+							r.push(`${His} efforts force ${his} distended middle to jiggle around, stirring up the aphrodisiacs contained in ${his} gut and strengthening their effects even more.`);
+						}
+					} else if ((slave.dick !== 0) && (slave.hormoneBalance >= 100)) {
+						r.push(`The aphrodisiacs combined with the hormones that keep ${him} flaccid have ${him} sexually frustrated; ${he}'s touching ${his} limp dick distractedly`);
+						if ((slave.fetish === "buttslut") || ((slave.sexualFlaw !== "hates anal") && (slave.counter.anal > 9))) {
+							r.push(`distractedly and unconsciously rubbing ${his} ass against whatever's next to ${him}.`);
+						} else {
+							r.push(`distractedly.`);
+						}
+						if (slave.inflationType === "aphrodisiac") {
+							r.push(`${His} efforts force ${his} distended middle to jiggle around, stirring up the aphrodisiacs contained in ${his} gut and strengthening their effects even more.`);
+						}
+					} else if ((slave.dick !== 0) && (slave.balls === 0)) {
+						r.push(`The aphrodisiacs combined with the lack of balls that keeps ${him} flaccid have ${him} sexually frustrated; ${he}'s touching ${his} limp dick distractedly`);
+						if ((slave.fetish === "buttslut") || ((slave.sexualFlaw !== "hates anal") && (slave.counter.anal > 9))) {
+							r.push(`distractedly and unconsciously rubbing ${his} ass against whatever's next to ${him}.`);
+						} else {
+							r.push(`distractedly.`);
+						}
+						if (slave.inflationType === "aphrodisiac") {
+							r.push(`${His} efforts force ${his} distended middle to jiggle around, stirring up the aphrodisiacs contained in ${his} gut and strengthening their effects even more.`);
+						}
+					}
+				}
+			}
+		}
+	}
+
+	if (slave.fuckdoll > 0) {
+		if (slave.vagina > 0) {
+			r.push(`${His} front hole`);
+			if (slave.fuckdoll <= 45) {
+				r.push(`is mostly useful when ${he}'s restrained for rape.`);
+			} else {
+				r.push(`will massage`);
+				if (V.PC.dick !== 0) {
+					r.push(`cocks`);
+				} else {
+					r.push(`anything`);
+				}
+				r.push(`placed inside it on command.`);
+				if (slave.fuckdoll <= 85) {
+					r.push(`${He} is even capable of riding`);
+					if (V.PC.dick !== 0) {
+						r.push(`dick.`);
+					} else {
+						r.push(`a strap-on.`);
+					}
+				}
+			}
+		}
+	} else {
+		if (slave.vagina === -1) {
+			if (V.seeDicks >= 100) {
+			} else if (slave.anus === 0) {
+			} else {
+				r.push(`Since ${he} lacks a vagina, ${he} takes it up`);
+				if (V.seeRace === 1) {
+					r.push(`${his} ${slave.race}`);
+				} else {
+					r.push(`the`);
+				}
+				r.push(`ass instead.`);
+			}
+		} else if (slave.skill.vaginal >= 100) {
+			r.push(`${He} is a <span class="aquamarine">vanilla sex master.</span>`);
+		} else if (slave.skill.vaginal > 60) {
+			r.push(`${He} is a <span class="aquamarine">vanilla sex expert.</span>`);
+		} else if (slave.skill.vaginal > 30) {
+			r.push(`${He} is <span class="aquamarine">skilled at vanilla sex.</span>`);
+		} else if (slave.skill.vaginal > 10) {
+			r.push(`${He} has <span class="aquamarine">basic knowledge about vanilla sex.</span>`);
+		} else {
+			r.push(`${He} is unskilled at vaginal sex.`);
+		}
+	}
+
+	r.push(App.Desc.mods(slave, "pubic mound"));
+
+	let _pubertyAge = Math.min(slave.pubertyAgeXX, slave.pubertyAgeXY);
+	if (slave.physicalAge < _pubertyAge - 2) {
+		r.push(`${He} is too sexually immature to have pubic hair.`);
+	} else if ((slave.pubicHStyle === "hairless")) {
+		r.push(`${He}'s naturally smooth and hairless.`);
+	} else if ((slave.pubicHStyle === "bald")) {
+		r.push(`${He} is no longer able to grow pubic hair leaving ${him} hairless and smooth.`);
+	} else if ((slave.pubicHStyle === "waxed")) {
+		if (slave.fuckdoll > 0) {
+			r.push(`${His} pubic hair has been removed to prevent chafing.`);
+		} else if ((slave.assignment === "work in the dairy") && (V.dairyRestraintsSetting > 1)) {
+			r.push(`${His} pubic hair has been removed to prevent chafing.`);
+		} else {
+			r.push(`${He}'s waxed and smooth.`);
+		}
+	} else if ((slave.physicalAge < _pubertyAge - 1)) {
+		r.push(`${He} has a few wisps of pubic hair.`);
+	} else if ((slave.physicalAge < _pubertyAge)) {
+		r.push(`${He} is on the verge of puberty and has a small patch of ${slave.pubicHColor} pubic hair above ${his}`);
+		if (slave.dick > 0) {
+			r.push(`cock.`);
+		} else if (slave.vagina === -1) {
+			r.push(`smoothness.`);
+		} else {
+			r.push(`pussy.`);
+		}
+	} else if ((slave.pubicHStyle === "in a strip")) {
+		r.push(`${His} ${slave.pubicHColor} pubic hair is waxed into a narrow strip above ${his}`);
+		if (slave.dick > 0) {
+			r.push(`cock.`);
+		} else if (slave.vagina === -1) {
+			r.push(`smoothness.`);
+		} else {
+			r.push(`pussy.`);
+		}
+	} else if ((slave.pubicHStyle === "neat")) {
+		r.push(`${His} ${slave.pubicHColor} pubic hair is waxed into a neat patch above ${his}`);
+		if (slave.dick > 0) {
+			r.push(`cock.`);
+		} else if (slave.vagina === -1) {
+			r.push(`smoothness.`);
+		} else {
+			r.push(`pussy.`);
+		}
+	} else if ((slave.pubicHStyle === "bushy in the front and neat in the rear")) {
+		r.push(`${His} ${slave.pubicHColor} pubic hair forms a natural bush above ${his}`);
+		if (slave.dick > 0) {
+			r.push(`cock.`);
+		} else if (slave.vagina === -1) {
+			r.push(`smoothness.`);
+		} else {
+			r.push(`pussy.`);
+		}
+	} else if ((slave.pubicHStyle === "bushy")) {
+		r.push(`${His} ${slave.pubicHColor} pubic hair forms a natural bush above ${his}`);
+		if (slave.dick > 0) {
+			r.push(`cock.`);
+		} else if (slave.vagina === -1) {
+			r.push(`smoothness.`);
+		} else {
+			r.push(`pussy.`);
+		}
+	} else if ((slave.pubicHStyle === "very bushy")) {
+		r.push(`${His} ${slave.pubicHColor} pubic hair forms a dense bush above ${his}`);
+		if (slave.dick > 0) {
+			r.push(`cock`);
+		} else if (slave.vagina === -1) {
+			r.push(`smoothness`);
+		} else {
+			r.push(`pussy`);
+		}
+		r.push(`that trails up to ${his} navel.`);
+	}
+
+	return r.join(" ");
+};
diff --git a/src/npc/descriptions/crotch/vaginalAccessory.js b/src/npc/descriptions/crotch/vaginalAccessory.js
new file mode 100644
index 0000000000000000000000000000000000000000..5be5abd97965dacd106f5cf3c6c53194016162e3
--- /dev/null
+++ b/src/npc/descriptions/crotch/vaginalAccessory.js
@@ -0,0 +1,94 @@
+App.Desc.vaginalAccessory = function(slave) {
+	const r = [];
+	const {
+		he, him, his, hers, himself, boy, He, His
+	} = getPronouns(slave);
+	let held;
+	if (slave.chastityVagina) {
+		held = "held in place by a chastity belt";
+	} else if (slave.vaginalAccessory === "bullet vibrator" || slave.vaginalAccessory === "smart bullet vibrator") {
+		held = "held in place by a strap";
+	} else {
+		held = "held in place by a strap, which ${he} can remove for vaginal intercourse";
+	}
+	switch (slave.vaginalAccessory) {
+		case "bullet vibrator":
+		case "smart bullet vibrator":	// FIXME: two different descriptions?
+			r.push(`A bullet vibrator is attached on ${his} clit, ${held}.`);	// FIXME: not super happy with this
+			break;
+		case "dildo":
+			/* TODO: these may need to be updated for slaves with gaping+ vaginas */
+			r.push(`${His} pussy is filled by a dildo ${held}.`);
+			break;
+		case "long dildo":
+			r.push(`${His} pussy is filled by a very long dildo ${held}. It noticeably bulges ${his} stomach.`);
+			break;
+		case "large dildo":
+			r.push(`${His} pussy is `);
+			if (slave.vagina < 2) {
+				r.push(`painfully stretched`);
+			} else if (slave.vagina < 3) {
+				r.push(`uncomfortably filled`);
+			} else {
+				r.push(`comfortably filled`);
+			}
+			r.push(`by a large dildo ${held}.`);
+			break;
+		case "long, large dildo":
+			r.push(`${His} pussy is `);
+			if (slave.vagina < 2) {
+				r.push(`painfully stretched`);
+			} else if (slave.vagina < 3) {
+				r.push(`uncomfortably filled`);
+			} else {
+				r.push(`comfortably filled`);
+			}
+			r.push(`by a very long and large dildo ${held}. It noticeably bulges ${his} stomach.`);
+			break;
+		case "huge dildo":
+			if (slave.vagina < 4) {
+				r.push(`${His} pussy is filled to the breaking point by an enormous dildo.`);
+				if (slave.fetish === "masochist" && slave.fetishKnown === 1 && slave.fetishStrength > 60) {
+					r.push(`${He} can barely move with the discomfort, but ${he} frequently climaxes with agony.`);
+				} else {
+					r.push(`${He} can barely move with the discomfort, and ${he} sometimes breaks down in tears at having ${his} cunt permanently stretched.`);
+				}
+			} else {
+				r.push(`${His} cavernous pussy is comfortably filled by a huge dildo.`);
+			}
+			if (slave.chastityVagina) {
+				r.push(`A chastity belt locks it securely in place.`);
+			}
+			break;
+		case "long, huge dildo":
+			if (slave.vagina < 4) {
+				r.push(`${His} pussy is filled to the breaking point by an enormously wide and long dildo. It noticeably bulges ${his} stomach.`);
+				if (slave.fetish === "masochist" && slave.fetishKnown === 1 && slave.fetishStrength > 60) {
+					r.push(`${He} can barely move with the discomfort, but ${he} frequently climaxes with agony.`);
+				} else {
+					r.push(`${He} can barely move with the discomfort, and ${he} sometimes breaks down in tears at having ${his} cunt permanently stretched.`);
+				}
+			} else {
+				r.push(`${His} cavernous pussy is comfortably filled by an enormously wide and long dildo. It noticeably bulges ${his} stomach.`);
+			}
+			if (slave.chastityVagina) {
+				r.push(`A chastity belt locks it securely in place.`);
+			}
+			break;
+		default:
+			if (slave.chastityVagina) {
+				r.push(`${His} pussy is protected by a chastity `);
+				if (slave.clothes !== "no clothing") {
+					r.push(`belt worn under ${his} clothing.`);
+				} else {
+					r.push(`belt.`);
+				}
+			}
+			break;
+	}
+	if (slave.chastityVagina && V.arcologies[0].FSRestart !== "unset") {
+		r.push(`This pleases the Societal Elite.`);
+	}
+
+	return r.join(" ");
+};
diff --git a/src/uncategorized/longSlaveDescription.tw b/src/uncategorized/longSlaveDescription.tw
index 27570d209740806ce8787a079815512b3ad00985..b4cbdeca7c542f8dedd7f9409f31e8328b9afabc 100644
--- a/src/uncategorized/longSlaveDescription.tw
+++ b/src/uncategorized/longSlaveDescription.tw
@@ -2004,7 +2004,7 @@ $He is
 
 <<= App.Desc.crotch($activeSlave)>>
 <<= App.Desc.dick($activeSlave)>>
-<<vaginaDescription>>
+<<= App.Desc.vagina($activeSlave)>>
 
 <<= App.Desc.anus($activeSlave)>>
 
diff --git a/src/utility/descriptionWidgetsFlesh.tw b/src/utility/descriptionWidgetsFlesh.tw
index 1d4b246d904175454f4fc7eb76a19bf0dd5bc1f8..81789b0abbc563785a1caa94c8446bb89b2cf907 100644
--- a/src/utility/descriptionWidgetsFlesh.tw
+++ b/src/utility/descriptionWidgetsFlesh.tw
@@ -1,504 +1,5 @@
 :: flesh description widgets [widget nobr]
 
-<<widget "vaginaDescription">>
-
-<<if $activeSlave.dick > 0>>
-	<<if $activeSlave.vagina > -1>>
-		$His
-		<<if $activeSlave.genes == "XX">>
-			beautifully natural
-		<<elseif $activeSlave.ovaries == 1>>
-			finely crafted
-		<<else>>
-			artificial
-		<</if>>
-		vagina is located beneath the base of $his penis,
-		<<if $activeSlave.fuckdoll > 0>>
-			just after the suit's material stops to bare $his front hole.
-		<<elseif ($activeSlave.scrotum > 3) && ($activeSlave.balls <= $activeSlave.scrotum)>>
-			though it is almost completely hidden by $his hanging ballsack.
-		<<elseif ($activeSlave.scrotum > 1) && ($activeSlave.balls > 0)>>
-			its upper part concealed by $his balls.
-		<<elseif canAchieveErection($activeSlave)>>
-			and merges seamlessly into $his shaft.
-		<<else>>
-			<<if ($activeSlave.dick > 3)>>
-				though it is almost completely hidden by $his soft cockmeat.
-			<<else>>
-				which acts as a soft little dickclit for it.
-			<</if>>
-		<</if>>
-		<<if $activeSlave.clit == 0>>
-			The base of $his cock is located where the clitoris would be on a normal woman.
-		<</if>>
-	<</if>>
-<</if>>
-
-<<if ($activeSlave.vagina > -1)>>
-
-	<<if $activeSlave.vagina == 0>>
-		$He is a @@.lime;virgin.@@ $His pussy is fresh,
-	<<elseif $activeSlave.vagina == 1>>
-		$His pussy is tight and appealing,
-	<<elseif $activeSlave.vagina == 2>>
-		$His pussy is reasonably tight,
-	<<elseif $activeSlave.vagina == 3>>
-		$His pussy is loose,
-	<<elseif $activeSlave.vagina >= 10>>
-		$His pussy has been completely ruined from hundreds of births. One could fit their arm into it with minimal effort and $he can barely get off from vaginal sex now. $His pussy is abyssal,
-	<<elseif $activeSlave.vagina > 3>>
-		$His pussy is utterly cavernous,
-	<</if>>
-
-	<<if $activeSlave.labia == 0>>
-		with minimal
-	<<elseif $activeSlave.labia == 1>>
-		with big puffy
-	<<elseif $activeSlave.labia == 2>>
-		with huge
-	<<else>>
-		with huge dangling
-	<</if>>
-
-	<<if ($seeRace == 1)>>
-		<<if $activeSlave.race == "white">>
-			pink pussylips.
-		<<elseif $activeSlave.race == "asian">>
-			dark $activeSlave.race pussylips.
-		<<elseif $activeSlave.race == "middle eastern">>
-			dark $activeSlave.race pussylips.
-		<<elseif $activeSlave.race == "latina">>
-			dark $activeSlave.race pussylips.
-		<<elseif $activeSlave.race == "black">>
-			dark $activeSlave.race pussylips.
-		<<else>>
-			$activeSlave.skin pussylips.
-		<</if>>
-	<<else>>
-		$activeSlave.skin pussylips.
-	<</if>>
-
-	<<if ($activeSlave.vagina > -1)>>
-		<<if ($activeSlave.vaginaLube == 0)>>
-			<<if ($activeSlave.vagina > 0) && !($activeSlave.chastityVagina)>>
-				$He produces very little natural wetness, so $he is <<if $activeSlave.fuckdoll == 0>>required to keep $himself<<else>>is kept<</if>> artificially lubricated for anyone who wishes to use $his cunt.
-			<<else>>
-				$He produces very little natural wetness.
-			<</if>>
-			<<if $activeSlave.prostate != 0>>
-				<<if $activeSlave.dick == 0>>
-					In stark contrast, however, $he's been given a functional prostate gland. It's attached to $his urethra, of course, so despite $his dryness, $he squirts <<if $activeSlave.balls > 0>>semen<<else>>fluid<</if>> when $he orgasms.
-					<<if $activeSlave.prostate > 2>>
-						With the implant embedded in it, that squirt is more like a blast; $he will soak $himself and anyone near $him.
-					<</if>>
-				<</if>>
-			<</if>>
-		<<elseif ($activeSlave.vaginaLube < 2)>>
-			<<if ($activeSlave.assignment == "work in the dairy") && ($dairyPregSetting > 1)>>
-				The dildo's ejaculate includes a drug that causes copious, constant vaginal lubrication, allowing it to fuck $him despite its giant size. The excess female fluid drips off $him and into a catch basin.
-			<<elseif ($activeSlave.aphrodisiacs > 0) || ($activeSlave.inflationType == "aphrodisiac")>>
-				The aphrodisiacs have them <<if ($activeSlave.aphrodisiacs > 1) || ($activeSlave.inflationType == "aphrodisiac" && $activeSlave.inflation >= 2)>>sopping <</if>>wet.
-			<<elseif ($activeSlave.energy > 95)>>
-				As a nympho, $he's almost constantly wet.
-			<<elseif ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)>>
-				Judging by how wet $he is, $he's probably fantasizing about
-				<<switch $activeSlave.fetish>>
-				<<case "buttslut">>
-					being buttfucked.
-				<<case "cumslut">>
-					being facefucked.
-				<<case "humiliation">>
-					being humiliated.
-				<<case "submissive">>
-					submission.
-				<<case "dom">>
-					dominating someone.
-				<<case "sadist">>
-					hurting someone.
-				<<case "masochist">>
-					pain.
-				<<case "pregnancy">>
-					<<if $activeSlave.pregKnown>>
-						having another <<if $activeSlave.pregType > 1>>brood<<else>>child<</if>> after this one.
-					<<else>>
-						getting pregnant.
-					<</if>>
-				<<case "boobs">>
-					boobs.
-				<<default>>
-					getting fucked.
-				<</switch>>
-			<<elseif ($activeSlave.devotion > 50)>>
-				As a devoted sex slave, $he has no trouble keeping $himself wet for $his <<= WrittenMaster($activeSlave)>>.
-			<<elseif ($activeSlave.devotion > 20)>>
-				As an obedient sex slave, $he does $his best to keep $himself wet for $his <<= WrittenMaster($activeSlave)>>.
-			<</if>>
-			<<if $activeSlave.prostate != 0>>
-				<<if $activeSlave.dick == 0>>
-					Bizarrely, $he's been given a functional prostate gland. It's attached to $his urethra, of course, <<if $activeSlave.balls > 0>>which in combination with $his testicles make $his squirt copious amounts of fluids and semen with each orgasm<<else>>so $he squirts copiously when $he orgasms<</if>>.
-					<<if $activeSlave.prostate > 2>>
-						With the implant embedded in it; that gush is more like a flood. Changes of clothes are a must with $him, as $he can and will soak both you, $himself and what $he is getting fucked over.
-					<</if>>
-				<</if>>
-			<</if>>
-		<<else>>
-			<<if ($activeSlave.assignment == "work in the dairy") && ($dairyPregSetting > 1)>>
-				The dildo's ejaculate includes a drug that encourages vaginal lubrication, which is having a drastic effect on $him, since $he's already very gifted in that regard. The dildo makes a wet noise every time it thrusts into $him, and femcum streams into a catch basin beneath $him. The smell of pussy is overwhelming.
-			<<elseif ($activeSlave.aphrodisiacs > 0) || ($saleDescription == 1 && $gingering == "vasodilator") || ($activeSlave.inflationType == "aphrodisiac")>>
-				The combination of the aphrodisiacs and $his natural tendency to produce a lot of female lubricant is having a drastic effect. $His cunt is absolutely beribboned with femcum, and $he smells strongly of wet, clean pussy.
-			<<elseif ($activeSlave.energy > 95)>>
-				$He has a naturally wet cunt, and in combination with $his nymphomania, it's soaking. $He smells of good clean female arousal.
-			<<elseif ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)>>
-				$His naturally wet cunt is almost dripping female lubricant, and $he smells of good clean female arousal. $He's probably fantasizing about
-				<<switch $activeSlave.fetish>>
-				<<case "buttslut">>
-					being buttfucked.
-				<<case "cumslut">>
-					being facefucked.
-				<<case "humiliation">>
-					being humiliated.
-				<<case "submissive">>
-					submission.
-				<<case "dom">>
-					dominating someone.
-				<<case "sadist">>
-					hurting someone.
-				<<case "masochist">>
-					pain.
-				<<case "pregnancy">>
-					<<if $activeSlave.pregKnown == 1>>
-						growing rounder.
-					<<else>>
-						getting pregnant.
-					<</if>>
-				<<case "boobs">>
-					boobs.
-				<<default>>
-					getting fucked.
-				<</switch>>
-			<<elseif ($activeSlave.devotion > 50)>>
-				$His cunt is almost always soaking wet, but being near you has $his almost dripping.
-			<<elseif ($activeSlave.devotion > 20)>>
-				$His cunt is almost always soaking wet, and being near you isn't affecting that.
-			<<else>>
-				$His cunt is almost always soaking wet, regardless of $his feelings.
-			<</if>>
-			<<if $activeSlave.prostate != 0>>
-				<<if $activeSlave.dick == 0>>
-					Bizarrely, $he's been given a functional prostate gland. It's attached to $his urethra, of course, <<if $activeSlave.balls > 0>>which in combination with $his testicles make $his squirt unreasonable volume of fluids and semen with each orgasm<<else>>meaning that when $he orgasms, $he squirts an unreasonable volume of fluid<</if>>.
-					<<if $activeSlave.prostate > 2>>
-						With the implant embedded in it, that gush is insane. Everything around $him is at risk of being splashed. Changes of clothes are a must with $him, as are supplies to mop up afterwards.
-					<</if>>
-				<</if>>
-			<</if>>
-		<</if>>
-	<</if>>
-
-	<<vaginalAccessoryDescription>>
-
-<</if>>
-
-<<if $activeSlave.ovaImplant != 0>>
-	<<switch $activeSlave.ovaImplant>>
-	<<case "fertility">>
-		$His ovaries have a pair of implants attached to them to encourage ovulation<<if $activeSlave.preg < -1>>, not that it does $him any good<</if>>.
-	<<case "sympathy">>
-		$His ovaries have a pair of linked implants attached to them so that when one releases an egg the other does so as well.
-	<<case "asexual">>
-		One of $his ovaries has been replaced with a fabricated sperm sack designed to fertilize any eggs $he makes.
-	<</switch>>
-<</if>>
-
-<<if $activeSlave.dick == 0 && $activeSlave.balls == 0 && $activeSlave.vagina < 0 && $arcologies[0].FSRestart > 60>>
-	Society looks fondly on $his complete inability to reproduce.
-<</if>>
-
-
-<<if ($activeSlave.dick == 0)>>
-	<<if ($activeSlave.clit > 0)>>
-		<<if ($activeSlave.foreskin == 0)>>
-			<<if ($activeSlave.clit == 1)>>
-				<<if ($activeSlave.devotion > 50)>>
-					$His clit is quite large and visibly hard.
-				<<else>>
-					$His clit is quite large.
-				<</if>>
-				$His lack of hood makes it even more prominent.
-			<<elseif ($activeSlave.clit == 2)>>
-				<<if ($activeSlave.devotion > 50)>>
-					$His clit is huge and visibly erect.
-				<<else>>
-					$His clit is huge.
-				<</if>>
-				Lack of hood combined with its size means $he can't wear any clothes without being constantly stimulated.
-			<<elseif ($activeSlave.clit == 3)>>
-				<<if ($activeSlave.devotion > 50)>>
-					$His clit is enormous, and since it's erect with arousal, it juts out proudly.
-				<<else>>
-					$His clit is enormous, almost a pseudophallus.
-				<</if>>
-			<<elseif ($activeSlave.clit == 4)>>
-				<<if ($activeSlave.devotion > 50)>>
-					$His clit has reached the size of an average penis, it stands at attention but due to lack of erectile tissues it can't reach the same hardness a penis would.
-				<<else>>
-					$His clit has reached the size of an average penis.
-				<</if>>
-			<<else>>
-				<<if ($activeSlave.devotion > 50)>>
-					$His clit is massive, having reached the size of a large penis. It is semi-erect since lack of erectile tissues means it can never become fully erect.
-				<<else>>
-					$His clit is massive, having reached the size of a large penis.
-				<</if>>
-			<</if>>
-		<<elseif ($activeSlave.foreskin == 1)>>
-			<<if ($activeSlave.clit == 1)>>
-				<<if ($activeSlave.devotion > 50)>>
-					$His clit is quite large and visibly hard.
-				<<else>>
-					$His clit is quite large.
-				<</if>>
-				$His clitoral hood is stretched thin trying to cover it.
-			<<elseif ($activeSlave.clit == 2)>>
-				<<if ($activeSlave.devotion > 50)>>
-					$His clit is huge and visibly erect.
-				<<else>>
-					$His clit is huge.
-				<</if>>
-				$His small hood is no longer able to cover it completely and large part of $his clitoris is always exposed.
-			<<elseif ($activeSlave.clit == 3)>>
-				<<if ($activeSlave.devotion > 50)>>
-					$His clit is enormous, and since it's erect with arousal, it juts out proudly.
-				<<else>>
-					$His clit is enormous, almost a pseudophallus.
-				<</if>>
-				$His hood can no longer contain it and has slid back causing $his clitoris to be always exposed.
-			<<elseif ($activeSlave.clit == 4)>>
-				<<if ($activeSlave.devotion > 50)>>
-					$His clit has reached the size of an average penis, it stands at attention but due to lack of erectile tissues it can't reach the same hardness a penis would.
-				<<else>>
-					$His clit has reached the size of an average penis.
-				<</if>>
-				$His hood can no longer contain it and has slid back causing $his clitoris to be always exposed.
-			<<else>>
-				<<if ($activeSlave.devotion > 50)>>
-					$His clit is massive, having reached the size of a large penis. It is semi-erect since lack of erectile tissues means it can never become fully erect.
-				<<else>>
-					$His clit is massive, having reached the size of a large penis.
-				<</if>>
-				$His hood can no longer contain it and has slid back causing $his clitoris to be always exposed.
-			<</if>>
-		<<elseif ($activeSlave.foreskin == 2)>>
-			<<if ($activeSlave.clit == 1)>>
-				<<if ($activeSlave.devotion > 50)>>
-					$His clit is quite large and visibly hard.
-				<<else>>
-					$His clit is quite large.
-				<</if>>
-				It is completely covered by its hood.
-			<<elseif ($activeSlave.clit == 2)>>
-				<<if ($activeSlave.devotion > 50)>>
-					$His clit is huge and visibly erect.
-				<<else>>
-					$His clit is huge.
-				<</if>>
-				Its hood is stretched thin trying to cover it.
-			<<elseif ($activeSlave.clit == 3)>>
-				<<if ($activeSlave.devotion > 50)>>
-					$His clit is enormous, and since it's erect with arousal, it juts out proudly.
-				<<else>>
-					$His clit is enormous, almost a pseudophallus.
-				<</if>>
-				It's large enough that the hood can cover only half of it.
-			<<elseif ($activeSlave.clit == 4)>>
-				<<if ($activeSlave.devotion > 50)>>
-					$His clit has reached the size of an average penis, it stands at attention but due to lack of erectile tissues it can't reach the same hardness a penis would.
-				<<else>>
-					$His clit has reached the size of an average penis.
-				<</if>>
-				$His hood can no longer contain it and has slid back causing $his clitoris to be always exposed.
-			<<else>>
-				<<if ($activeSlave.devotion > 50)>>
-					$His clit is massive, having reached the size of a large penis. It is semi-erect since lack of erectile tissues means it can never become fully erect.
-				<<else>>
-					$His clit is massive, having reached the size of a large penis.
-				<</if>>
-				$His hood can no longer contain it and has slid back causing $his clitoris to be always exposed.
-			<</if>>
-		<<elseif ($activeSlave.foreskin == 3)>>
-			<<if ($activeSlave.clit == 1)>>
-				<<if ($activeSlave.devotion > 50)>>
-					$His clit is quite large and visibly hard.
-				<<else>>
-					$His clit is quite large.
-				<</if>>
-				The hood covering it is quite large making stimulation difficult.
-			<<elseif ($activeSlave.clit == 2)>>
-				<<if ($activeSlave.devotion > 50)>>
-					$His clit is huge and visibly erect.
-				<<else>>
-					$His clit is huge.
-				<</if>>
-				$His large hood completely covers it.
-			<<elseif ($activeSlave.clit == 3)>>
-				<<if ($activeSlave.devotion > 50)>>
-					$His clit is enormous, and since it's erect with arousal, it juts out proudly.
-				<<else>>
-					$His clit is enormous, almost a pseudophallus.
-				<</if>>
-				$His large hood covers all but the tip of $his clit even when aroused.
-			<<elseif ($activeSlave.clit == 4)>>
-				<<if ($activeSlave.devotion > 50)>>
-					$His clit has reached the size of an average penis, it stands at attention but due to lack of erectile tissues it can't reach the same hardness a penis would.
-				<<else>>
-					$His clit has reached the size of an average penis.
-				<</if>>
-				Even $his large hood can't cover it, leaving over half of the clit exposed.
-			<<else>>
-				<<if ($activeSlave.devotion > 50)>>
-					$His clit is massive, having reached the size of a large penis. It is semi-erect since lack of erectile tissues means it can never become fully erect.
-				<<else>>
-					$His clit is massive, having reached the size of a large penis.
-				<</if>>
-				$His hood can no longer contain it and has slid back causing $his clitoris to be always exposed.
-			<</if>>
-		<<else>>
-			<<if ($activeSlave.clit == 1)>>
-				<<if ($activeSlave.devotion > 50)>>
-					$His clit is quite large and visibly hard.
-				<<else>>
-					$His clit is quite large.
-				<</if>>
-				$His large thick hood covering it makes any stimulation difficult.
-			<<elseif ($activeSlave.clit == 2)>>
-				<<if ($activeSlave.devotion > 50)>>
-					$His clit is huge and visibly erect.
-				<<else>>
-					$His clit is huge.
-				<</if>>
-				$His large thick hood covering it makes any stimulation difficult.
-			<<elseif ($activeSlave.clit == 3)>>
-				<<if ($activeSlave.devotion > 50)>>
-					$His clit is enormous, and since it's erect with arousal, it juts out proudly.
-				<<else>>
-					$His clit is enormous, almost a pseudophallus.
-				<</if>>
-				Matching its size is the thick hood covering it.
-			<<elseif ($activeSlave.clit == 4)>>
-				<<if ($activeSlave.devotion > 50)>>
-					$His clit has reached the size of an average penis, it stands at attention but due to lack of erectile tissues it can't reach the same hardness a penis would.
-				<<else>>
-					$His clit has reached the size of an average penis.
-				<</if>>
-				$His large hood covering over half of it adds to its penis-like appearance.
-			<<else>>
-				<<if ($activeSlave.devotion > 50)>>
-					$His clit is massive, having reached the size of a large penis. It is semi-erect, since lack of erectile tissues means it can never reach full erection.
-				<<else>>
-					$His clit is massive, having reached the size of a large penis.
-				<</if>>
-				Not even its large hood can contain it, leaving over half of it exposed.
-			<</if>>
-		<</if>>
-	<</if>>
-<</if>>
-
-<<= App.Desc.mods($activeSlave, "vagina")>>
-<<= App.Desc.mods($activeSlave, "clit")>>
-
-<<if $activeSlave.fuckdoll == 0>>
-	<<if $activeSlave.rules.release.masturbation == 1>>
-		<<if (($activeSlave.aphrodisiacs > 0) || ($activeSlave.inflationType == "aphrodisiac")) && $activeSlave.drugs != "priapism agents">>
-			<<if ($activeSlave.aphrodisiacs > 1) || ($activeSlave.inflationType == "aphrodisiac" && $activeSlave.inflation > 1)>>
-				<<if ($activeSlave.dick != 0) && ($activeSlave.hormoneBalance >= 100) && (!hasAnyArms($activeSlave))>>
-					The extreme dose of aphrodisiacs combined with the hormones that keep $him flaccid have $him in a state of extreme sexual frustration; $he's <<if (($activeSlave.fetish == "buttslut") || (($activeSlave.sexualFlaw != "hates anal") && ($activeSlave.counter.anal > 9)))>>unconsciously humping $his ass against whatever's next to $him for anal stimulation and<</if>>humping $his dick against whatever $he can manage to mount without limbs.<<if $activeSlave.inflationType == "aphrodisiac">> $His efforts force $his distended middle to jiggle around, stirring up the aphrodisiacs contained in $his gut and strengthening their effects even more.<</if>>
-				<<elseif ($activeSlave.dick != 0) && ($activeSlave.balls > 0) && $activeSlave.ballType == "sterile" && (!hasAnyArms($activeSlave))>>
-					The extreme dose of aphrodisiacs combined with the chemical castration that keeps $him flaccid have $him in a state of extreme sexual frustration; $he's <<if (($activeSlave.fetish == "buttslut") || (($activeSlave.sexualFlaw != "hates anal") && ($activeSlave.counter.anal > 9)))>>unconsciously humping $his ass against whatever's next to $him for anal stimulation and <</if>>humping $his limp dick against whatever $he can manage to mount without limbs.<<if $activeSlave.inflationType == "aphrodisiac">> $His efforts force $his distended middle to jiggle around, stirring up the aphrodisiacs contained in $his gut and strengthening their effects even more.<</if>>
-				<<elseif ($activeSlave.dick != 0) && ($activeSlave.balls == 0) && (!hasAnyArms($activeSlave))>>
-					The extreme dose of aphrodisiacs combined with the lack of balls that keeps $him flaccid have $him in a state of extreme sexual frustration; $he's <<if (($activeSlave.fetish == "buttslut") || (($activeSlave.sexualFlaw != "hates anal") && ($activeSlave.counter.anal > 9)))>>unconsciously humping $his ass against whatever's next to $him for anal stimulation and <</if>>humping $his limp dick against whatever $he can manage to mount without limbs.<<if $activeSlave.inflationType == "aphrodisiac">> $His efforts force $his distended middle to jiggle around, stirring up the aphrodisiacs contained in $his gut and strengthening their effects even more.<</if>>
-				<<elseif ($activeSlave.dick != 0) && ($activeSlave.hormoneBalance >= 100)>>
-					The extreme dose of aphrodisiacs combined with the hormones that keep $him flaccid have $him in a state of extreme sexual frustration; $he's rubbing $his limp dick distractedly<<if (($activeSlave.fetish == "buttslut") || (($activeSlave.sexualFlaw != "hates anal") && ($activeSlave.counter.anal > 9)))>> and unconsciously humping $his ass against whatever's next to $him for anal stimulation<</if>>.<<if $activeSlave.inflationType == "aphrodisiac">> $His efforts force $his distended middle to jiggle around, stirring up the aphrodisiacs contained in $his gut and strengthening their effects even more.<</if>>
-				<<elseif ($activeSlave.dick != 0) && ($activeSlave.balls == 0)>>
-					The extreme dose of aphrodisiacs combined with the lack of balls that keeps $him flaccid have $him in a state of extreme sexual frustration; $he's rubbing $his limp dick distractedly<<if (($activeSlave.fetish == "buttslut") || (($activeSlave.sexualFlaw != "hates anal") && ($activeSlave.counter.anal > 9)))>> and unconsciously humping $his ass against whatever's next to $him for anal stimulation<</if>>.<<if $activeSlave.inflationType == "aphrodisiac">> $His efforts force $his distended middle to jiggle around, stirring up the aphrodisiacs contained in $his gut and strengthening their effects even more.<</if>>
-				<<elseif ($activeSlave.dick != 0) && !canAchieveErection($activeSlave)>>
-					The extreme dose of aphrodisiacs combined with $his inability to become erect have $him in a state of extreme sexual frustration; $he's rubbing $his limp dick distractedly<<if (($activeSlave.fetish == "buttslut") || (($activeSlave.sexualFlaw != "hates anal") && ($activeSlave.counter.anal > 9)))>> and unconsciously humping $his ass against whatever's next to $him for anal stimulation<</if>>.<<if $activeSlave.inflationType == "aphrodisiac">> $His efforts force $his distended middle to jiggle around, stirring up the aphrodisiacs contained in $his gut and strengthening their effects even more.<</if>>
-				<<elseif ($activeSlave.dick != 0)>>
-					The extreme dose of aphrodisiacs has $his cock painfully erect and leaves precum dripping from its head.
-				<</if>>
-			<<else>>
-				<<if ($activeSlave.dick != 0) && ($activeSlave.hormoneBalance >= 100) && (!hasAnyArms($activeSlave))>>
-					The aphrodisiacs combined with the hormones that keep $him flaccid have $him sexually frustrated; $he's <<if (($activeSlave.fetish == "buttslut") || (($activeSlave.sexualFlaw != "hates anal") && ($activeSlave.counter.anal > 9)))>>unconsciously rubbing $his ass against whatever's next to $him, and <</if>>humping $his dick against whatever $he can manage to mount without limbs.<<if $activeSlave.inflationType == "aphrodisiac">> $His efforts force $his distended middle to jiggle around, stirring up the aphrodisiacs contained in $his gut and strengthening their effects even more.<</if>>
-				<<elseif ($activeSlave.dick != 0) && ($activeSlave.balls > 0) && $activeSlave.ballType == "sterile" && (!hasAnyArms($activeSlave))>>
-					The aphrodisiacs combined with the chemical castration that keeps $him flaccid have $him sexually frustrated; $he's <<if (($activeSlave.fetish == "buttslut") || (($activeSlave.sexualFlaw != "hates anal") && ($activeSlave.counter.anal > 9)))>>unconsciously rubbing $his ass against whatever's next to $him, and <</if>>humping $his dick against whatever $he can manage to mount without limbs.<<if $activeSlave.inflationType == "aphrodisiac">> $His efforts force $his distended middle to jiggle around, stirring up the aphrodisiacs contained in $his gut and strengthening their effects even more.<</if>>
-				<<elseif ($activeSlave.dick != 0) && ($activeSlave.balls == 0) && (!hasAnyArms($activeSlave))>>
-					The aphrodisiacs combined with the lack of balls that keeps $him flaccid have $him sexually frustrated; $he's <<if (($activeSlave.fetish == "buttslut") || (($activeSlave.sexualFlaw != "hates anal") && ($activeSlave.counter.anal > 9)))>>unconsciously rubbing $his ass against whatever's next to $him, and <</if>>humping $his dick against whatever $he can manage to mount without limbs.<<if $activeSlave.inflationType == "aphrodisiac">> $His efforts force $his distended middle to jiggle around, stirring up the aphrodisiacs contained in $his gut and strengthening their effects even more.<</if>>
-				<<elseif ($activeSlave.dick != 0) && ($activeSlave.hormoneBalance >= 100)>>
-					The aphrodisiacs combined with the hormones that keep $him flaccid have $him sexually frustrated; $he's touching $his limp dick distractedly<<if (($activeSlave.fetish == "buttslut") || (($activeSlave.sexualFlaw != "hates anal") && ($activeSlave.counter.anal > 9)))>> and unconsciously rubbing $his ass against whatever's next to $him<</if>>.<<if $activeSlave.inflationType == "aphrodisiac">> $His efforts force $his distended middle to jiggle around, stirring up the aphrodisiacs contained in $his gut and strengthening their effects even more.<</if>>
-				<<elseif ($activeSlave.dick != 0) && ($activeSlave.balls == 0)>>
-					The aphrodisiacs combined with the lack of balls that keeps $him flaccid have $him sexually frustrated; $he's touching $his limp dick distractedly<<if (($activeSlave.fetish == "buttslut") || (($activeSlave.sexualFlaw != "hates anal") && ($activeSlave.counter.anal > 9)))>> and unconsciously rubbing $his ass against whatever's next to $him<</if>>.<<if $activeSlave.inflationType == "aphrodisiac">> $His efforts force $his distended middle to jiggle around, stirring up the aphrodisiacs contained in $his gut and strengthening their effects even more.<</if>>
-				<</if>>
-			<</if>>
-		<</if>>
-	<</if>>
-<</if>>
-
-<<if $activeSlave.fuckdoll > 0>>
-	<<if $activeSlave.vagina > 0>>
-		$His front hole
-		<<if $activeSlave.fuckdoll <= 45>>
-			is mostly useful when $he's restrained for rape.
-		<<else>>
-			will massage <<if $PC.dick != 0>>cocks<<else>>anything<</if>> placed inside it on command.
-			<<if $activeSlave.fuckdoll <= 85>>
-				$He is even capable of riding <<if $PC.dick != 0>>dick<<else>>a strap-on<</if>>.
-			<</if>>
-		<</if>>
-	<</if>>
-<<else>>
-	<<if $activeSlave.vagina == -1>>
-		<<if $seeDicks >= 100>><<elseif $activeSlave.anus == 0>><<else>>Since $he lacks a vagina, $he takes it up <<if $seeRace == 1>>$his $activeSlave.race<<else>>the<</if>> ass instead.<</if>>
-		<<elseif $activeSlave.skill.vaginal >= 100>>$He is a @@.aquamarine;vanilla sex master.@@
-		<<elseif $activeSlave.skill.vaginal > 60>>$He is a @@.aquamarine;vanilla sex expert.@@
-		<<elseif $activeSlave.skill.vaginal > 30>>$He is @@.aquamarine;skilled at vanilla sex.@@
-		<<elseif $activeSlave.skill.vaginal > 10>>$He has @@.aquamarine;basic knowledge about vanilla sex.@@
-		<<else>>$He is unskilled at vaginal sex.
-	<</if>>
-<</if>>
-
-<<= App.Desc.mods($activeSlave, "pubic mound")>>
-
-<<set _pubertyAge = Math.min($activeSlave.pubertyAgeXX, $activeSlave.pubertyAgeXY)>>
-<<if ($activeSlave.physicalAge < _pubertyAge-2)>>
-	$He is too sexually immature to have pubic hair.
-<<elseif ($activeSlave.pubicHStyle == "hairless")>>
-	$He's naturally smooth and hairless.
-<<elseif ($activeSlave.pubicHStyle == "bald")>>
-	$He is no longer able to grow pubic hair leaving $him hairless and smooth.
-<<elseif ($activeSlave.pubicHStyle == "waxed")>>
-	<<if $activeSlave.fuckdoll > 0>>
-	$His pubic hair has been removed to prevent chafing.
-	<<elseif ($activeSlave.assignment == "work in the dairy") && ($dairyRestraintsSetting > 1)>>
-	$His pubic hair has been removed to prevent chafing.
-	<<else>>
-	$He's waxed and smooth.
-	<</if>>
-<<elseif ($activeSlave.physicalAge < _pubertyAge-1)>>
-	$He has a few wisps of pubic hair.
-<<elseif ($activeSlave.physicalAge < _pubertyAge)>>
-	$He is on the verge of puberty and has a small patch of $activeSlave.pubicHColor pubic hair above $his <<if $activeSlave.dick > 0>>cock<<elseif $activeSlave.vagina == -1>>smoothness<<else>>pussy<</if>>.
-<<elseif ($activeSlave.pubicHStyle == "in a strip")>>
-	$His $activeSlave.pubicHColor pubic hair is waxed into a narrow strip above $his <<if $activeSlave.dick > 0>>cock<<elseif $activeSlave.vagina == -1>>smoothness<<else>>pussy<</if>>.
-<<elseif ($activeSlave.pubicHStyle == "neat")>>
-	$His $activeSlave.pubicHColor pubic hair is waxed into a neat patch above $his <<if $activeSlave.dick > 0>>cock<<elseif $activeSlave.vagina == -1>>smoothness<<else>>pussy<</if>>.
-<<elseif ($activeSlave.pubicHStyle == "bushy in the front and neat in the rear")>>
-	$His $activeSlave.pubicHColor pubic hair forms a natural bush above $his <<if $activeSlave.dick > 0>>cock<<elseif $activeSlave.vagina == -1>>smoothness<<else>>pussy<</if>>.
-<<elseif ($activeSlave.pubicHStyle == "bushy")>>
-	$His $activeSlave.pubicHColor pubic hair forms a natural bush above $his <<if $activeSlave.dick > 0>>cock<<elseif $activeSlave.vagina == -1>>smoothness<<else>>pussy<</if>>.
-<<elseif ($activeSlave.pubicHStyle == "very bushy")>>
-	$His $activeSlave.pubicHColor pubic hair forms a dense bush above $his <<if $activeSlave.dick > 0>>cock<<elseif $activeSlave.vagina == -1>>smoothness<<else>>pussy<</if>> that trails up to $his navel.
-<</if>>
-
-<</widget>>
-
 <<widget "earDescription">>
 /* ear shape description here */
 <<if $activeSlave.earShape == "none">>
diff --git a/src/utility/descriptionWidgetsStyle.tw b/src/utility/descriptionWidgetsStyle.tw
index 4df3fda723a122185b9fbd35e6b3ac7f2d3b101c..32635c94d94cf38a05dd64ebe0c8405025c978ec 100644
--- a/src/utility/descriptionWidgetsStyle.tw
+++ b/src/utility/descriptionWidgetsStyle.tw
@@ -6027,61 +6027,6 @@ $His
 <</widget>>
 
 <<widget "vaginalAccessoryDescription">>
-<<if $activeSlave.chastityVagina>>
-	<<set _held = "held in place by a chastity belt">>
-<<elseif $activeSlave.vaginalAccessory == "bullet vibrator" || $activeSlave.vaginalAccessory == "smart bullet vibrator">>
-	<<set _held = "held in place by a strap">>
-<<else>>
-	<<set _held = "held in place by a strap, which $he can remove for vaginal intercourse">>
-<</if>>
-<<switch $activeSlave.vaginalAccessory>>
-<<case "bullet vibrator" "smart bullet vibrator">>	/* FIXME: two different descriptions? */
-	A bullet vibrator is attached on $his clit, _held.	/* FIXME: not super happy with this */
-<<case "dildo">>
-	/* TODO: these may need to be updated for slaves with gaping+ vaginas */
-	$His pussy is filled by a dildo _held.
-<<case "long dildo">>
-	$His pussy is filled by a very long dildo _held. It noticeably bulges $his stomach.
-<<case "large dildo">>
-	$His pussy is <<if $activeSlave.vagina < 2>>painfully stretched<<elseif $activeSlave.vagina < 3>>uncomfortably filled<<else>>comfortably filled<</if>> by a large dildo _held.
-<<case "long, large dildo">>
-	$His pussy is <<if $activeSlave.vagina < 2>>painfully stretched<<elseif $activeSlave.vagina < 3>>uncomfortably filled<<else>>comfortably filled<</if>> by a very long and large dildo _held. It noticeably bulges $his stomach.
-<<case "huge dildo">>
-	<<if $activeSlave.vagina < 4>>
-		$His pussy is filled to the breaking point by an enormous dildo.
-		<<if ($activeSlave.fetish == "masochist") && ($activeSlave.fetishKnown == 1) && ($activeSlave.fetishStrength > 60)>>
-			$He can barely move with the discomfort, but $he frequently climaxes with agony.
-		<<else>>
-			$He can barely move with the discomfort, and $he sometimes breaks down in tears at having $his cunt permanently stretched.
-		<</if>>
-	<<else>>
-		$His cavernous pussy is comfortably filled by a huge dildo.
-	<</if>>
-	<<if $activeSlave.chastityVagina>>
-		A chastity belt locks it securely in place.
-	<</if>>
-<<case "long, huge dildo">>
-	<<if $activeSlave.vagina < 4>>
-		$His pussy is filled to the breaking point by an enormously wide and long dildo. It noticeably bulges $his stomach.
-		<<if ($activeSlave.fetish == "masochist") && ($activeSlave.fetishKnown == 1) && ($activeSlave.fetishStrength > 60)>>
-			$He can barely move with the discomfort, but $he frequently climaxes with agony.
-		<<else>>
-			$He can barely move with the discomfort, and $he sometimes breaks down in tears at having $his cunt permanently stretched.
-		<</if>>
-	<<else>>
-		$His cavernous pussy is comfortably filled by an enormously wide and long dildo. It noticeably bulges $his stomach.
-	<</if>>
-	<<if $activeSlave.chastityVagina>>
-		A chastity belt locks it securely in place.
-	<</if>>
-<<default>>
-	<<if $activeSlave.chastityVagina>>
-		$His pussy is protected by a chastity belt<<if $activeSlave.clothes != "no clothing">> worn under $his clothing<</if>>.
-	<</if>>
-<</switch>>
-<<if $activeSlave.chastityVagina && $arcologies[0].FSRestart != "unset">>
-	This pleases the Societal Elite.
-<</if>>
 <</widget>>
 
 <<widget "vaginalAttachmentDescription">>