diff --git a/src/js/describePiercings.js b/src/js/describePiercings.js
index e57c2f2e59847524a544f38eb12b3c31d4131b61..deece25b4fc9f94d841d92660facd6abc11f96e5 100644
--- a/src/js/describePiercings.js
+++ b/src/js/describePiercings.js
@@ -4,7 +4,7 @@
  */
 App.Desc.piercing = function(slave, surface) {
 	"use strict";
-	let r = ``;
+	let r = [];
 	/* eslint-disable no-unused-vars*/
 	const {
 		he, him, his, hers, himself, boy, He, His
@@ -15,61 +15,805 @@ App.Desc.piercing = function(slave, surface) {
 	}
 	switch (surface) {
 		case "ear": {
-			r += `<<earPiercingDescription>>`;
+			if (slave.earPiercing > 0) {
+				if (slave.earPiercing === 1) {
+					r.push(`${His} earlobes are conventionally pierced.`);
+				} else {
+					r.push(`${His} ears are heavily pierced, with multiple lobe piercings and a row of helix piercings.`);
+				}
+				if (slave.assignment === "get milked" || slave.assignment === "work in the dairy") {
+					r.push(`${He} has a plastic livestock tag in one ear to help identify ${him} for milking.`);
+				} else {
+					switch (slave.clothes) {
+						case "attractive lingerie":
+						case "attractive lingerie for a pregnant woman":
+							r.push(`${He}'s wearing pretty, womanly earrings.`);
+							break;
+						case "a bra":
+						case "a button-up shirt":
+						case "a button-up shirt and panties":
+						case "a sweater":
+						case "a sweater and panties":
+						case "a t-shirt":
+						case "a t-shirt and jeans":
+						case "a t-shirt and thong":
+						case "a tank-top":
+						case "a tank-top and panties":
+						case "a thong":
+						case "a tube top and thong":
+						case "an oversized t-shirt":
+						case "an oversized t-shirt and boyshorts":
+						case "boyshorts":
+						case "cutoffs":
+						case "panties":
+							r.push(`${He}'s wearing plain but pretty earrings.`);
+							break;
+						case "a nice pony outfit":
+						case "a slutty pony outfit":
+							r.push(`${He}'s wearing horseshoe shaped earrings.`);
+							break;
+						case "leather pants and pasties":
+						case "leather pants":
+						case "leather pants and a tube top":
+						case "a tube top":
+							r.push(`${He}'s wearing large hoop earrings.`);
+							break;
+						case "a gothic lolita dress":
+							r.push(`${He}'s wearing black earrings.`);
+							break;
+						case "a sports bra":
+						case "a one-piece swimsuit":
+						case "sport shorts and a t-shirt":
+						case "sport shorts and a sports bra":
+						case "sport shorts":
+							r.push(`${He}'s wearing cute, simple earrings.`);
+							break;
+						case "a skimpy loincloth":
+							r.push(`${He}'s wearing a pair of bone earrings.`);
+							break;
+						case "a police uniform":
+							r.push(`${He}'s wearing nightstick-shaped earrings.`);
+							break;
+						case "a succubus outfit":
+							r.push(`${He}'s wearing pentagram earrings.`);
+							break;
+						case "a fallen nuns habit":
+						case "a penitent nuns habit":
+							r.push(`${His} earrings mimic tiny crowns of thorns.`);
+							break;
+						case "a chattel habit":
+							r.push(`${He}'s wearing golden earrings in the shape of saintly nudes.`);
+							break;
+						case "a hijab and abaya":
+						case "a niqab and abaya":
+							r.push(`${He}'s wearing bronze earrings shaped like crescent moons.`);
+							break;
+						case "a klan robe":
+						case "a slutty klan robe":
+							r.push(`${He}'s wearing bronze earrings shaped like crucifixes.`);
+							break;
+						case "a long qipao":
+						case "a slutty qipao":
+							r.push(`${His} golden earrings resemble Eastern-style dragons.`);
+							break;
+						case "a string bikini":
+						case "cutoffs and a t-shirt":
+						case "a t-shirt and panties":
+						case "panties and pasties":
+						case "pasties":
+						case "jeans":
+						case "a sweater and cutoffs":
+							r.push(`${He}'s wearing girly earrings.`);
+							break;
+						case "a schoolgirl outfit":
+							r.push(`${He}'s wearing small girlish earrings.`);
+							break;
+						case "striped panties":
+						case "a striped bra":
+						case "striped underwear":
+							r.push(`${He}'s wearing big girlish earrings.`);
+							break;
+						case "a burkini":
+						case "a monokini":
+							r.push(`${He}'s wearing unobtrusive little stud earrings.`);
+							break;
+						case "a Santa dress":
+							r.push(`${His} earrings resemble little green pine trees.`);
+							break;
+						case "a mini dress":
+						case "an apron":
+						case "a hanbok":
+							r.push(`${He}'s wearing shiny pearl earrings.`);
+							break;
+						case "a hijab and blouse":
+						case "conservative clothing":
+							r.push(`${He}'s wearing small unobtrusive hoop earrings.`);
+							break;
+						case "a cybersuit":
+						case "a scalemail bikini":
+							r.push(`${He}'s wearing sharp and brutal-looking earrings.`);
+							break;
+						case "a kimono":
+							r.push(`${He}'s wearing gorgeous enameled earrings made to look like tiny koi.`);
+							break;
+						case "a burqa":
+							r.push(`${He}'s wearing cheap metal earrings with fake gems.`);
+							break;
+						case "a slave gown":
+						case "a halter top dress":
+						case "a ball gown":
+						case "a maternity dress":
+							r.push(`${He}'s wearing lovely diamond earrings; the stones are cut in an alluring, feminine style.`);
+							break;
+						case "slutty business attire":
+							r.push(`${He}'s wearing lovely diamond earrings; the stones are cut in a gaudy, nouveau riche style.`);
+							break;
+						case "nice business attire":
+							r.push(`${He}'s wearing lovely diamond earrings; the stones are cut in an assertive, unsubtle style.`);
+							break;
+						case "a slutty maid outfit":
+							r.push(`${He}'s wearing big hoop earrings inappropriate for a real maid.`);
+							break;
+						case "a nice maid outfit":
+							r.push(`${He}'s wearing conservative earrings like those a free maid could afford.`);
+							break;
+						case "harem gauze":
+							r.push(`${He}'s wearing broad gold earrings in faux-Arabian style.`);
+							break;
+						case "overalls":
+						case "Western clothing":
+							r.push(`${He}'s wearing earrings in the shape of a sheriff's star.`);
+							break;
+						case "a huipil":
+							r.push(`${He}'s wearing earrings in the shape of a stylized jaguar's head.`);
+							break;
+						case "a bunny outfit":
+							r.push(`${He}'s wearing earrings in the shape of a stylized rabbit's head.`);
+							break;
+						case "kitty lingerie":
+							r.push(`${He}'s wearing earrings in the shape of a stylized cat's head.`);
+							break;
+						case "a bimbo outfit":
+							r.push(`${He}'s wearing large, heart-shaped earrings.`);
+							break;
+						case "a courtesan dress":
+							r.push(`${He}'s wearing hanging earrings that accentuate each movement of ${his} head.`);
+							break;
+						case "slutty jewelry":
+							r.push(`${He}'s wearing gold earrings in the shape of a pair of`);
+							if (slave.dick > 0 && slave.balls === 0) {
+								r.push(`limp dicks.`);
+							} else if ((slave.dick > 0)) {
+								r.push(`erect cocks.`);
+							} else if ((slave.skill.oral >= 100)) {
+								r.push(`tongues.`);
+							} else if ((slave.boobs > 1000)) {
+								r.push(`heavy breasts.`);
+							} else {
+								r.push(`female bottoms.`);
+							}
+							break;
+					}
+				}
+			}
 			break;
 		}
 		case "nose": {
-			r += `<<nosePiercingDescription>>`;
+			if (slave.nosePiercing === 1) {
+				r.push(`${He} has simple studs in $his nose.`);
+			} else if (slave.nosePiercing === 2) {
+				r.push(`${He} has nasal studs and a large septum ring.`);
+				if (slave.clothes === "slutty jewelry" && slave.earPiercing > 0) {
+					r.push(`${His} bangles include a light chain from ${his} nose ring to ${his} ear piercings on one side.`);
+				}
+			}
 			break;
 		}
 		case "eyebrow": {
-			r += `<<eyebrowPiercingDescription>>`;
+			if (slave.eyebrowPiercing === 1) {
+				r.push(`${He} has a simple stud in one eyebrow.`);
+			} else if (slave.eyebrowPiercing === 2) {
+				r.push(`${He} has multiple eyebrow rings.`);
+			}
 			break;
 		}
 		case "lips": {
-			r += `<<lipsPiercingDescription>>`;
+			if (slave.lipsPiercing === 1) {
+				r.push(`${He} has a simple lip piercing.`);
+			} else if (slave.lipsPiercing === 2) {
+				r.push(`${His} lips are heavily pierced.`);
+			}
 			break;
 		}
 		case "tongue": {
-			r += `<<tonguePiercingDescription>>`;
+			if (slave.tonguePiercing === 1) {
+				r.push(`${His} tongue bears a single stud, so oral sex with ${him} is a bit more fun.`);
+			} else if (slave.tonguePiercing === 2) {
+				r.push(`${His} tongue bears a row of studs, offering thorough stimulation to anyone ${he} blows.`);
+			}
+			if (canTalk(slave)) {
+				if (slave.lips >= 70 || slave.lipsPiercing === 2) {
+					r.push(`${He} can barely enunciate`);
+					if (slave.lipsPiercing === 2) {
+						r.push(`past ${his} piercings;`);
+					} else {
+						r.push(`with ${his} fat lips;`);
+					}
+					Enunciate(slave);
+					if (V.writtenTitle === V.enunciate.title) {
+						if (setup.badNames.includes(capFirstChar(V.writtenTitle))) {
+							r.push(`unfortunately`);
+						} else {
+							r.push(`fortunately`);
+						}
+						r.push(`'V.enunciate.title' is easy to pronounce.`);
+					} else {
+						r.push(`'V.writtenTitle' comes out as 'V.enunciate.title.'`);
+					}
+				}
+			}
 			break;
 		}
 		case "nipple": {
-			r += `<<nipplesPiercingDescription>>`;
+			if (slave.fuckdoll > 0) {
+				if (slave.nipplesPiercing > 0) {
+					r.push(`${His} nipple piercings help secure the suit material to ${his} breasts.`);
+				}
+			} else {
+				if (slave.nipplesPiercing === 1) {
+					r.push(`${His} ${nippleColor(slave)} nipples have a simple piercing, which keeps them a little harder than they would normally be.`);
+				} else if (slave.nipplesPiercing === 2) {
+					r.push(`${His} ${nippleColor(slave)} nipples are heavily pierced with several rings and studs, and there is a chain between them.`);
+					if (slave.boobShape === "saggy" && slave.boobs > 2500) {
+						r.push(`It's been shortened to take advantage of the way ${his} tits sag, and holds ${his} ${nippleColor(slave)} nipples almost together, producing cleavage that runs from ${his} ${nippleColor(slave)} nipples all the way up to ${his} sternum.`);
+					} else {
+						r.push(`The constant tugging keeps ${his} ${nippleColor(slave)} nipples erect.`);
+					}
+				}
+				if (slave.nipplesPiercing > 0) {
+					switch (slave.clothes) {
+						case "kitty lingerie":
+							r.push(`The piercings slightly distort the shape of ${his} lacy bra's cleavage window.`);
+							break;
+						case "attractive lingerie":
+							r.push(`The piercings are a girly color, to complement ${his} lingerie.`);
+							break;
+						case "a succubus outfit":
+							r.push(`The piercings are severe steel, as befits a sex demon.`);
+							break;
+						case "uncomfortable straps":
+							r.push(`Each nipple bears a horizontal bar that is held forward of the steel ring that's part of ${his} outfit, constantly tugging them outward.`);
+							break;
+						case "restrictive latex":
+							r.push(`The piercings are tantalizingly visible under the latex.`);
+							break;
+						case "a fallen nuns habit":
+							r.push(`A tiny ebon cross on a short chain dangles from each piercing.`);
+							break;
+						case "a chattel habit":
+							r.push(`A tiny golden cock and balls dangles from each piercing.`);
+							break;
+						case "a monokini":
+							r.push(`Due to ${his} toplessness, the piercings are plainly visible.`);
+							break;
+						case "a cybersuit":
+							r.push(`The piercings are tantalizingly visible under the bodysuit.`);
+							break;
+						case "a string bikini":
+							r.push(`The piercings are a pastel color, to complement ${his} bikini.`);
+							break;
+						case "striped panties":
+							r.push(`The piercings are a pastel color, to complement ${his} panties.`);
+							break;
+						case "a scalemail bikini":
+							r.push(`The piercings are severe steel, as befits a hardened warrior.`);
+							break;
+						case "a schoolgirl outfit":
+							if (slave.boobs <= 2000) {
+								r.push(`The piercings are tantalizingly visible under the thin material.`);
+							}
+							break;
+						case "battledress":
+							r.push(`The piercings are tantalizingly visible under ${his} tank top.`);
+							break;
+						case "nice business attire":
+							r.push(`One side of each piercing peeks over the edge of ${his} blouse.`);
+							break;
+						case "a comfortable bodysuit":
+							r.push(`The piercings are tantalizingly visible under the tight bodysuit.`);
+							break;
+						case "a latex catsuit":
+							r.push(`The piercings are tantalizingly visible under the tight latex catsuit.`);
+							break;
+						case "a mini dress":
+							r.push(`The piercings are tantalizingly visible under the tight mini dress.`);
+							break;
+						case "a courtesan dress":
+							r.push(`The piercings are tantalizingly visible through ${his} thin dress.`);
+							break;
+						case "a bimbo outfit":
+							r.push(`They can't be seen, but one can clearly feel the piercings are in the shape of hearts.`);
+							break;
+						case "a slutty maid outfit":
+							r.push(`One side of each piercing peeks over the edge of ${his} lacy top.`);
+							break;
+						case "harem gauze":
+							r.push(`The piercings are tantalizingly visible under the gauze.`);
+							break;
+						case "attractive lingerie for a pregnant woman":
+							r.push(`The piercings are tantalizingly visible under the thin silk.`);
+							break;
+						case "a maternity dress":
+							r.push(`The piercings are tantalizingly visible under the dress's tight top.`);
+							break;
+						case "stretch pants and a crop-top":
+							r.push(`The piercings are tantalizingly visible under ${his} crop-top.`);
+							break;
+					}
+				}
+			}
+
 			break;
 		}
 		case "areolae": {
-			r += `<<areolaePiercingDescription>>`;
+			r.push(App.Desc.areolaePiercing(slave));
 			break;
 		}
 		case "navel": {
-			r += `<<navelPiercingDescription>>`;
+			if (slave.fuckdoll === 0) {
+				if (setup.fakeBellies.includes(slave.bellyAccessory)) {
+					if (slave.navelPiercing === 1) {
+						r.push(`${His} fake navel bears a simple stud.`);
+					} else if (slave.navelPiercing === 2) {
+						r.push(`${His} fake navel is pierced with a big ring.`);
+						if (slave.clothes === "slutty jewelry") {
+							r.push(`It has a length of gilded chain dangling from it.`);
+						} else {
+							r.push(`It has a short length of chain dangling from it.`);
+						}
+					}
+				} else {
+					if (slave.navelPiercing === 1) {
+						r.push(`${His} navel bears a simple stud.`);
+					} else if (slave.navelPiercing === 2) {
+						r.push(`${His} navel is pierced with a big ring.`);
+						if (slave.clothes === "slutty jewelry") {
+							r.push(`It has a length of gilded chain dangling from it.`);
+						} else {
+							r.push(`It has a short length of chain dangling from it.`);
+						}
+					}
+				}
+			} else {
+				if (slave.navelPiercing > 0) {
+					if (slave.belly >= 10000) {
+						if (slave.navelPiercing === 1) {
+							r.push(`${His} popped navel bears a simple stud.`);
+						} else if (slave.navelPiercing === 2) {
+							r.push(`${His} popped navel is pierced with a big ring.`);
+						}
+						r.push(`It's eye-catching, since most of ${his} piercings are hidden by the suit.`);
+					} else {
+						r.push(`${His} navel piercing runs through the suit's material.`);
+					}
+				}
+			}
 			break;
 		}
 		case "clit": {
-			r += `<<clitPiercingDescription>>`;
+			if (slave.clitPiercing === 1 && slave.vagina !== -1) {
+				r.push(`${He} has a simple clitoral stud.`);
+			} else if (slave.clitPiercing === 2 && slave.vagina !== -1) {
+				r.push(`${He} has a big ring in ${his} clit.`);
+				if (slave.clothes === "slutty jewelry") {
+					r.push(`Since ${he}'s wearing slutty bangles ${he} has a short length of light chain dangling from ${his} clit ring; it constantly stimulates ${his} pussylips.`);
+				}
+			} else if (slave.clitPiercing === 3 && slave.vagina !== -1 && slave.dick === 0) {
+				r.push(`${He} has a smart piercing in ${his} clit.`);
+			} else if (slave.clitPiercing === 1) {
+				r.push(`${He} has a simple dickhead stud.`);
+			} else if (slave.clitPiercing === 2) {
+				r.push(`${He} has a big ring in ${his} dickhead.`);
+				if (slave.clothes === "slutty jewelry") {
+					r.push(`Since ${he}'s wearing slutty bangles ${he} has a short length of light chain dangling from ${his} dickhead piercing; as ${he} moves it tugs lightly at ${his} cock.`);
+				}
+			} else if ((slave.clitPiercing === 3)) {
+				r.push(`${He} has a smart frenulum piercing.`);
+			}
+			if (slave.fuckdoll > 0) {
+				r.push(`It anchors the suit's material.`);
+			}
 			break;
 		}
 		case "vagina": {
-			r += `<<vaginaPiercingDescription>>`;
+			if (slave.vagina !== -1) {
+				if (slave.vaginaPiercing > 0) {
+					r.push(`${He} has a`);
+					if (slave.vaginaPiercing === 1) {
+						r.push(`simple row of studs`);
+					} else {
+						r.push(`row of big rings`);
+					}
+					r.push(`down ${his} labia`);
+					if (slave.fuckdoll > 0) {
+						r.push(`, which are looped into the edge of the suit's material as it stops around ${his} vulva`);
+					}
+					r.push(`.`);
+				}
+			}
 			break;
 		}
 		case "dick": {
-			r += `<<dickPiercingDescription>>`;
+			if (slave.dick !== 0) {
+				if (slave.dickPiercing === 1) {
+					r.push(`${He} has a row of studs down ${his} shaft.`);
+				} else if ((slave.dickPiercing === 2)) {
+					r.push(`${He} has a row of heavy rings down ${his} shaft.`);
+				}
+				if (slave.scrotum !== 0) {
+					if (slave.dickPiercing === 1) {
+						r.push(`${He} has a couple of studs in ${his} ballsack.`);
+					} else if ((slave.dickPiercing === 2)) {
+						r.push(`${He} has a row of rings down the center of ${his} ballsack, all the way from the base of ${his} shaft to ${his} perineum.`);
+					}
+				} else {
+					if (slave.dickPiercing === 1) {
+						r.push(`${He} has a couple of studs beneath the base of ${his} dick.`);
+					} else if ((slave.dickPiercing === 2)) {
+						r.push(`${He} has a row of rings all the way from the base of ${his} shaft to ${his} perineum.`);
+					}
+				}
+			}
+			if (slave.fuckdoll > 0) {
+				if (slave.dickPiercing > 0) {
+					r.push(`Every one of them runs through the suit's material, securing it to the Fuckdoll's member.`);
+				}
+			}
 			break;
 		}
 		case "anus": {
-			r += `<<anusPiercingDescription>>`;
+			if (slave.vagina > -1) {
+				if (slave.anusPiercing === 1) {
+					r.push(`${He} has a simple piercing between ${his} pussy and ${his} asshole`);
+					if (slave.fuckdoll > 0) {
+						r.push(` which helps keep the strip of material `);
+						if (slave.vagina > -1) {
+							r.push(`between ${his} holes`);
+						} else {
+							r.push(`below ${his} rear hole`);
+						}
+						r.push(` in place`);
+					}
+					r.push(`.`);
+				} else if ((slave.anusPiercing === 2)) {
+					r.push(`${He} has a big ring between ${his} pussy and ${his} asshole`);
+					if (slave.fuckdoll > 0) {
+						r.push(`, which helps keep the strip of material `);
+						if (slave.vagina > -1) {
+							r.push(`between ${his} holes`);
+						} else {
+							r.push(`below ${his} rear hole`);
+						}
+						r.push(` in place,`);
+					}
+					r.push(` and studs in all around ${his} anus.`);
+				}
+			} else {
+				if (slave.anusPiercing === 1) {
+					r.push(`${He} has a simple perianal piercing between the base of ${his} dick and ${his} girly butthole`);
+					if (slave.fuckdoll > 0) {
+						r.push(` which helps keep the strip of material `);
+						if (slave.vagina > -1) {
+							r.push(`between ${his} holes`);
+						} else {
+							r.push(`below ${his} rear hole`);
+						}
+						r.push(` in place`);
+					}
+					r.push(`.`);
+				} else if ((slave.anusPiercing === 2)) {
+					r.push(`${He} has a big ring between the base of ${his} dick and ${his} girly butthole, which has studs all around it.`);
+				}
+			}
 			break;
 		}
 		case "corset": { // non anatomical
-			r += `<<CorsetPiercingDescription>>`;
+			if (slave.corsetPiercing > 0) {
+				if (slave.fuckdoll === 0) {
+					r.push(`${He} has a corset piercing, a ladder of steel rings running up each side of ${his} back:`);
+					if (slave.bellyAccessory === "a corset" || slave.bellyAccessory === "an extreme corset") {
+						r.push(`these are looped through special lugs in the back of ${his} actual corset, making it almost a part of ${his} body.`);
+						if (slave.devotion > 50) {
+							r.push(`${He} couldn't remove it, even if ${he} wanted to.`);
+						} else if (slave.devotion >= -20) {
+							r.push(`${He} couldn't remove it, even if ${he} were inclined to try.`);
+						} else {
+							r.push(`Any attempt to remove it will cause intense pain.`);
+						}
+					} else {
+						switch (slave.clothes) {
+							case "a hijab and blouse":
+							case "a schoolgirl outfit":
+							case  "conservative clothing":
+							case  "nice business attire":
+							case  "slutty business attire":
+								r.push(`${his} blouse hides them completely, but they're laced tightly, so ${he}'s aware they're there.`);
+								break;
+							case "chains":
+								r.push(`they're laced together with steel cable, tightly enough that they're tugging at ${his} skin.`);
+								break;
+							case "Western clothing":
+								r.push(`${his} shirt hides them completely, but they're laced tightly, so ${he}'s aware they're there.`);
+								break;
+							case "a toga":
+								r.push(`${his} toga hides them completely, but they're laced tightly, so ${he}'s aware they're there.`);
+								break;
+							case "a huipil":
+								r.push(`${his} huipil hides them partially, so the leather straps that pull on ${his} skin are clearly evident.`);
+								break;
+							case "a long qipao":
+							case  "a slutty qipao":
+								r.push(`${his} qipao hides them completely, but they're laced tightly with silk cord, so ${he}'s aware they're there.`);
+								break;
+							case "uncomfortable straps":
+								r.push(`they're laced together with a leather cord, tightly enough that they're tugging at ${his} skin.`);
+								break;
+							case "shibari ropes":
+								r.push(`they're laced together as part of ${his} bindings.`);
+								break;
+							case "a latex catsuit":
+							case  "restrictive latex":
+								r.push(`these are clipped into the latex covering them, making it almost a part of ${his} body.`);
+								if (slave.devotion > 50) {
+									r.push(`${He} couldn't remove it, even if ${he} wanted to.`);
+								} else if (slave.devotion >= -20) {
+									r.push(`${He} couldn't remove it, even if ${he} were inclined to try.`);
+								} else {
+									r.push(`Any attempt to remove it will cause intense pain.`);
+								}
+								break;
+							case "a military uniform":
+								r.push(`${his} tunic hides them completely, but they're laced tightly, so ${he}'s aware they're there.`);
+								break;
+							case "a schutzstaffel uniform":
+								r.push(`${his} tunic hides them completely, but they're laced tightly, so ${he}'s aware they're there.`);
+								break;
+							case "a slutty schutzstaffel uniform":
+								r.push(`${his} tunic hides them completely, but they're laced tightly, so ${he}'s aware they're there.`);
+								break;
+							case "a red army uniform":
+								r.push(`${his} tunic hides them completely, but they're laced tightly, so ${he}'s aware they're there.`);
+								break;
+							case "battlearmor":
+								r.push(`${his} armor hides them completely, but they're laced tightly, so ${he}'s aware they're there.`);
+								break;
+							case "a dirndl":
+								r.push(`${his} dress hides them completely, but they're laced tightly, so ${he}'s aware they're there.`);
+								break;
+							case "lederhosen":
+								r.push(`${his} tunic hides them completely, but they're laced tightly, so ${he}'s aware they're there.`);
+								break;
+							case "a mounty outfit":
+								r.push(`${his} tunic hides them completely, but they're laced tightly, so ${he}'s aware they're there.`);
+								break;
+							case "a biyelgee costume":
+								r.push(`${his} dress hides them completely, but they're laced tightly, so ${he}'s aware they're there.`);
+								break;
+							case "a nice nurse outfit":
+								r.push(`${his} scrubs hide them completely, but they're laced tightly, so ${he}'s aware they're there.`);
+								break;
+							case "a mini dress":
+								r.push(`these are clipped into the mini dress covering them, making it almost a part of ${his} body.`);
+								if (slave.devotion > 50) {
+									r.push(`${He} couldn't remove it, even if ${he} wanted to.`);
+								} else if (slave.devotion >= -20) {
+									r.push(`${He} couldn't remove it, even if ${he} were inclined to try.`);
+								} else {
+									r.push(`Any attempt to remove it will cause intense pain.`);
+								}
+								break;
+							case "attractive lingerie":
+							case  "attractive lingerie for a pregnant woman":
+							case  "kitty lingerie":
+								r.push(`they're laced together with a lacy ribbon finished off with a bow.`);
+								break;
+							case "a succubus outfit":
+								r.push(`they're laced into ${his} succubus corset, making it a part of ${him}.`);
+								break;
+							case "a fallen nuns habit":
+								r.push(`they're laced together with cord, tightly enough that ${he} is forced to arch ${his} back or suffer. ${He} spends most of ${his} time involuntarily presenting ${his} bottom to relieve the tugging.`);
+								break;
+							case "a chattel habit":
+								r.push(`${his} white habit hides them completely, but they're laced tightly, so ${he}'s aware they're there.`);
+								break;
+							case "a penitent nuns habit":
+								r.push(`${his} habit hides them completely, but they're laced tightly, so ${he}'s aware they're there.`);
+								break;
+							case "a gothic lolita dress":
+							case  "a hanbok":
+							case  "a Santa dress":
+								r.push(`${his} dress hides them completely, but they're laced tightly, so ${he}'s aware they're there.`);
+								break;
+							case "a burkini":
+							case  "a one-piece swimsuit":
+								r.push(`${his} swimsuit hides them completely, but they're laced tightly, so ${he}'s aware they're there.`);
+								break;
+							case "a monokini":
+								r.push(`the straps of ${his} swimsuit run on each side of these loops.`);
+								break;
+							case "an apron":
+								r.push(`the straps of ${his} apron run on each side of these loops.`);
+								break;
+							case "overalls":
+								r.push(`the straps of ${his} overalls run on each side of these loops.`);
+								break;
+							case "a bra":
+							case "a skimpy loincloth":
+							case "a striped bra":
+							case "a thong":
+							case "boyshorts":
+							case "cutoffs":
+							case "jeans":
+							case "leather pants":
+							case "leather pants and pasties":
+							case "panties":
+							case "panties and pasties":
+							case "pasties":
+							case "sport shorts":
+							case "striped panties":
+							case "striped underwear":
+								r.push(`the piercings are plainly visible on ${his} bare back.`);
+								break;
+							case "a slutty klan robe":
+							case "a slutty pony outfit":
+							case "a sports bra":
+							case "a tank-top and panties":
+							case "a tube top":
+							case "a tube top and thong":
+							case "leather pants and a tube top":
+								r.push(`the piercings are only partly visible on ${his} back.`);
+								break;
+							case "a button-up shirt":
+							case "a button-up shirt and panties":
+							case "a police uniform":
+							case "a t-shirt and jeans":
+							case "a t-shirt and panties":
+							case "a t-shirt and thong":
+							case "a t-shirt":
+							case "a tank-top":
+							case "an oversized t-shirt and boyshorts":
+							case "an oversized t-shirt":
+							case "sport shorts and a sports bra":
+							case "sport shorts and a t-shirt":
+								r.push(`${his} shirt hides them completely, but they're laced tightly, so ${he}'s aware they're there.`);
+								break;
+							case "a sweater":
+							case "a sweater and cutoffs":
+							case "a sweater and panties":
+								r.push(`${his} sweater hides them completely, but they're laced tightly, so ${he}'s aware they're there.`);
+								break;
+							case "a nice pony outfit":
+								r.push(`${his} outfit hides them completely, but they're laced tightly, so ${he}'s aware they're there.`);
+								break;
+							case "a string bikini":
+								r.push(`the back of ${his} string top loops into them and runs down through them to become ${his} bottom, such as it is.`);
+								break;
+							case "a scalemail bikini":
+								r.push(`they're laced together with a steel chain.`);
+								break;
+							case "a cheerleader outfit":
+								r.push(`they're laced together with a simple ribbon, but the effect makes it clear that this is one kinky cheerleader.`);
+								break;
+							case "clubslut netting":
+								r.push(`these are clipped into the netting covering them, making it almost a part of ${his} body.`);
+								if (slave.devotion > 50) {
+									r.push(`${He} couldn't remove it, even if ${he} wanted to.`);
+								} else if (slave.devotion >= -20) {
+									r.push(`${He} couldn't remove it, even if ${he} were inclined to try.`);
+								} else {
+									r.push(`Any attempt to remove it will cause intense pain.`);
+								}
+								break;
+							case "cutoffs and a t-shirt":
+								r.push(`they're laced together with a simple ribbon, but the effect makes it clear that this is one kinky ${girl}.`);
+								break;
+							case "a slutty outfit":
+								r.push(`they're laced together with a simple ribbon, tightly enough that ${he}'s aware they're there.`);
+								break;
+							case "a slave gown":
+								r.push(`they're revealed by the swooping back of ${his} gown and laced up with matching silk ribbon.`);
+								break;
+							case "a comfortable bodysuit":
+								r.push(`these are clipped into the bodysuit covering them, making it almost a part of ${his} body.`);
+								if (slave.devotion > 50) {
+									r.push(`${He} couldn't remove it, even if ${he} wanted to.`);
+								} else if (slave.devotion >= -20) {
+									r.push(`${He} couldn't remove it, even if ${he} were inclined to try.`);
+								} else {
+									r.push(`Any attempt to remove it will cause intense pain.`);
+								}
+								break;
+							case "a leotard":
+								r.push(`these are clipped into the leotard covering them, making it almost a part of ${his} body.`);
+								if (slave.devotion > 50) {
+									r.push(`${He} couldn't remove it, even if ${he} wanted to.`);
+								} else if (slave.devotion >= -20) {
+									r.push(`${He} couldn't remove it, even if ${he} were inclined to try.`);
+								} else {
+									r.push(`Any attempt to remove it will cause intense pain.`);
+								}
+								break;
+							case "a bunny outfit":
+								r.push(`${his} teddy hides them completely, but they're laced tightly, so ${he}'s aware they're there.`);
+								break;
+							case "a slutty maid outfit":
+								r.push(`${his} dress has an open back to reveal them and the black ribbon that laces them tightly together.`);
+								break;
+							case "a nice maid outfit":
+								r.push(`${his} dress hides them completely, but they're laced tightly, so ${he}'s aware they're there.`);
+								break;
+							case "a slutty nurse outfit":
+								r.push(`${his} jacket hides them completely, but they're laced tightly, so ${he}'s aware they're there.`);
+								break;
+							case "a kimono":
+								r.push(`${his} kimono hides them completely, but they're laced tightly, so ${he}'s aware they're there.`);
+								break;
+							case "a hijab and abaya":
+							case "a niqab and abaya":
+								r.push(`${his} abaya hides them completely, but they're laced tightly, so ${he}'s aware they're there.`);
+								break;
+							case "a klan robe":
+								r.push(`${his} robe hides them completely, but they're laced tightly, so ${he}'s aware they're there.`);
+								break;
+							case "a burqa":
+								r.push(`${his} burqa hides them completely, but they're laced tightly, so ${he}'s aware they're there.`);
+								break;
+							case "battledress":
+								r.push(`they're laced together with paracord.`);
+								break;
+							case "harem gauze":
+								r.push(`they're laced up with a light golden chain that glints through ${his} filmy clothing.`);
+								break;
+							case "slutty jewelry":
+								r.push(`they're laced up with a light golden chain that begins and ends in other parts of ${his} glinting bonds.`);
+								break;
+							case "a courtesan dress":
+								r.push(`they're laced into ${his} dress's corset, binding the material even closer to ${him}.`);
+								break;
+							case "a bimbo outfit":
+								r.push(`they're laced together with a bright pink ribbon.`);
+								break;
+							default:
+								r.push(`they're laced up with a ribbon, tightly enough to keep ${him} aware they're there.`);
+						}
+					}
+				}
+			}
 			break;
 		}
 		case "chastity": { // non anatomical
-			r += `<<chastityPiercingDescription>>`;
+			if (slave.clitPiercing > 0) {
+				if (slave.nipplesPiercing > 0) {
+					 if (!(slave.chastityPenis)) {
+						if (slave.dick > 4) {
+							if (slave.boobs > 1000) {
+								 if (canAchieveErection(slave.balls > 0)) {
+									if (slave.devotion > 20) {
+										if (slave.energy > 90) {
+											r.push(`${His} very special body allows ${him} to wear an incredibly lewd piece of jewelry: a thin golden chain that runs from nipple to nipple, through ${his} pierced cockhead. The chain is short, and any motion at all tugs at ${his} nipples and penis.`);
+											 if (canWalk(slave)) {
+												r.push(`The stimulation is almost unbearable, and the mere act of walking sometimes causes ${him} to cum.`);
+											}
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
 			break;
 		}
 	}
-	return r;
+	return r.join(" ");
 };
diff --git a/src/utility/descriptionWidgetsPiercings.tw b/src/utility/descriptionWidgetsPiercings.tw
deleted file mode 100644
index 94505d260dd9c34c36a01be76f67da8299abdad9..0000000000000000000000000000000000000000
--- a/src/utility/descriptionWidgetsPiercings.tw
+++ /dev/null
@@ -1,618 +0,0 @@
-:: piercing description widgets [widget nobr]
-
-<<widget "earPiercingDescription">>
-	<<if $activeSlave.earPiercing > 0>>
-		<<if $activeSlave.earPiercing == 1>>
-			$His earlobes are conventionally pierced.
-		<<else>>
-			$His ears are heavily pierced, with multiple lobe piercings and a row of helix piercings.
-		<</if>>
-		<<if ($activeSlave.assignment == "get milked") || ($activeSlave.assignment == "work in the dairy")>>
-			$He has a plastic livestock tag in one ear to help identify $him for milking.
-		<<else>>
-			<<switch $activeSlave.clothes>>
-			<<case "attractive lingerie" "attractive lingerie for a pregnant woman">>
-				$He's wearing pretty, womanly earrings.
-			<<case "a bra" "a button-up shirt" "a button-up shirt and panties" "a sweater" "a sweater and panties" "a t-shirt" "a t-shirt and jeans" "a t-shirt and thong" "a tank-top" "a tank-top and panties" "a thong" "a tube top and thong" "an oversized t-shirt" "an oversized t-shirt and boyshorts" "boyshorts" "cutoffs" "panties">>
-				$He's wearing plain but pretty earrings.
-			<<case "a nice pony outfit" "a slutty pony outfit">>
-				$He's wearing horseshoe shaped earrings.
-			<<case "leather pants and pasties" "leather pants" "leather pants and a tube top" "a tube top">>
-				$He's wearing large hoop earrings.
-			<<case "a gothic lolita dress">>
-				$He's wearing black earrings.
-			<<case "a sports bra" "a one-piece swimsuit" "sport shorts and a t-shirt" "sport shorts and a sports bra" "sport shorts">>
-				$He's wearing cute, simple earrings.
-			<<case "a skimpy loincloth">>
-				$He's wearing a pair of bone earrings.
-			<<case "a police uniform">>
-				$He's wearing nightstick-shaped earrings.
-			<<case "a succubus outfit">>
-				$He's wearing pentagram earrings.
-			<<case "a fallen nuns habit" "a penitent nuns habit">>
-				$His earrings mimic tiny crowns of thorns.
-			<<case "a chattel habit">>
-				$He's wearing golden earrings in the shape of saintly nudes.
-			<<case "a hijab and abaya" "a niqab and abaya">>
-				$He's wearing bronze earrings shaped like crescent moons.
-			<<case "a klan robe" "a slutty klan robe">>
-				$He's wearing bronze earrings shaped like crucifixes.
-			<<case "a long qipao" "a slutty qipao">>
-				$His golden earrings resemble Eastern-style dragons.
-			<<case "a string bikini" "cutoffs and a t-shirt" "a t-shirt and panties" "panties and pasties" "pasties" "jeans" "a sweater and cutoffs">>
-				$He's wearing girly earrings.
-			<<case "a schoolgirl outfit">>
-				$He's wearing small girlish earrings.
-			<<case "striped panties" "a striped bra" "striped underwear">>
-				$He's wearing big girlish earrings.
-			<<case "a burkini" "a monokini">>
-				$He's wearing unobtrusive little stud earrings.
-			<<case "a Santa dress">>
-				$His earrings resemble little green pine trees.
-			<<case "a mini dress" "an apron" "a hanbok">>
-				$He's wearing shiny pearl earrings.
-			<<case "a hijab and blouse" "conservative clothing">>
-				$He's wearing small unobtrusive hoop earrings.
-			<<case "a cybersuit" "a scalemail bikini">>
-				$He's wearing sharp and brutal-looking earrings.
-			<<case "a kimono">>
-				$He's wearing gorgeous enameled earrings made to look like tiny koi.
-			<<case "a burqa">>
-				$He's wearing cheap metal earrings with fake gems.
-			<<case "a slave gown" "a halter top dress" "a ball gown" "a maternity dress">>
-				$He's wearing lovely diamond earrings; the stones are cut in an alluring, feminine style.
-			<<case "slutty business attire">>
-				$He's wearing lovely diamond earrings; the stones are cut in a gaudy, nouveau riche style.
-			<<case "nice business attire">>
-				$He's wearing lovely diamond earrings; the stones are cut in an assertive, unsubtle style.
-			<<case "a slutty maid outfit">>
-				$He's wearing big hoop earrings inappropriate for a real maid.
-			<<case "a nice maid outfit">>
-				$He's wearing conservative earrings like those a free maid could afford.
-			<<case "harem gauze">>
-				$He's wearing broad gold earrings in faux-Arabian style.
-			<<case "overalls" "Western clothing">>
-				$He's wearing earrings in the shape of a sheriff's star.
-			<<case "a huipil">>
-				$He's wearing earrings in the shape of a stylized jaguar's head.
-			<<case "a bunny outfit">>
-				$He's wearing earrings in the shape of a stylized rabbit's head.
-			<<case "kitty lingerie">>
-				$He's wearing earrings in the shape of a stylized cat's head.
-			<<case "a bimbo outfit">>
-				$He's wearing large, heart-shaped earrings.
-			<<case "a courtesan dress">>
-				$He's wearing hanging earrings that accentuate each movement of $his head.
-			<<case "slutty jewelry">>
-				$He's wearing gold earrings in the shape of a pair of
-				<<if ($activeSlave.dick > 0) && ($activeSlave.balls == 0)>>
-					limp dicks.
-				<<elseif ($activeSlave.dick > 0)>>
-					erect cocks.
-				<<elseif ($activeSlave.skill.oral >= 100)>>
-					tongues.
-				<<elseif ($activeSlave.boobs > 1000)>>
-					heavy breasts.
-				<<else>>
-					female bottoms.
-				<</if>>
-			<</switch>>
-		<</if>>
-	<</if>>
-<</widget>>
-
-<<widget "nosePiercingDescription">>
-	<<if $activeSlave.nosePiercing == 1>>
-		$He has simple studs in $his nose.
-	<<elseif $activeSlave.nosePiercing == 2>>
-		$He has nasal studs and a large septum ring.
-		<<if ($activeSlave.clothes == "slutty jewelry") && ($activeSlave.earPiercing > 0)>>
-			$His bangles include a light chain from $his nose ring to $his ear piercings on one side.
-		<</if>>
-	<</if>>
-<</widget>>
-
-<<widget "eyebrowPiercingDescription">>
-	<<if $activeSlave.eyebrowPiercing == 1>>
-		$He has a simple stud in one eyebrow.
-	<<elseif $activeSlave.eyebrowPiercing == 2>>
-		$He has multiple eyebrow rings.
-	<</if>>
-<</widget>>
-
-<<widget "lipsPiercingDescription">>
-	<<if $activeSlave.lipsPiercing == 1>>
-		$He has a simple lip piercing.
-	<<elseif $activeSlave.lipsPiercing == 2>>
-		$His lips are heavily pierced.
-	<</if>>
-<</widget>>
-
-<<widget "tonguePiercingDescription">>
-	<<if $activeSlave.tonguePiercing == 1>>
-		$His tongue bears a single stud, so oral sex with $him is a bit more fun.
-	<<elseif $activeSlave.tonguePiercing == 2>>
-		$His tongue bears a row of studs, offering thorough stimulation to anyone $he blows.
-	<</if>>
-	<<if canTalk($activeSlave)>>
-		<<if $activeSlave.lips >= 70 || $activeSlave.lipsPiercing == 2>>
-			$He can barely enunciate
-			<<if $activeSlave.lipsPiercing == 2>>
-				past $his piercings;
-			<<else>>
-				with $his fat lips;
-			<</if>>
-			<<run Enunciate($activeSlave)>>
-			<<if $writtenTitle === $enunciate.title>>
-				<<if (setup.badNames.includes(capFirstChar($writtenTitle)))>>
-					unfortunately
-				<<else>>
-					fortunately
-				<</if>>
-				'$enunciate.title' is easy to pronounce.
-			<<else>>
-				'$writtenTitle' comes out as '$enunciate.title.'
-			<</if>>
-		<</if>>
-	<</if>>
-<</widget>>
-
-<<widget "nipplesPiercingDescription">>
-<<set _nippleColor = nippleColor($activeSlave)>>
-<<if $activeSlave.fuckdoll > 0>>
-	<<if $activeSlave.nipplesPiercing > 0>>
-		$His nipple piercings help secure the suit material to $his breasts.
-	<</if>>
-<<else>>
-	<<if $activeSlave.nipplesPiercing == 1>>
-		$His _nippleColor nipples have a simple piercing, which keeps them a little harder than they would normally be.
-	<<elseif $activeSlave.nipplesPiercing == 2>>
-		$His _nippleColor nipples are heavily pierced with several rings and studs, and there is a chain between them.
-		<<if ($activeSlave.boobShape == "saggy") && ($activeSlave.boobs > 2500)>>
-			It's been shortened to take advantage of the way $his tits sag, and holds $his _nippleColor nipples almost together, producing cleavage that runs from $his _nippleColor nipples all the way up to $his sternum.
-		<<else>>
-			The constant tugging keeps $his _nippleColor nipples erect.
-		<</if>>
-	<</if>>
-	<<if $activeSlave.nipplesPiercing > 0>>
-		<<switch $activeSlave.clothes>>
-		<<case "kitty lingerie">>
-			The piercings slightly distort the shape of $his lacy bra's cleavage window.
-		<<case "attractive lingerie">>
-			The piercings are a girly color, to complement $his lingerie.
-		<<case "a succubus outfit">>
-			The piercings are severe steel, as befits a sex demon.
-		<<case "uncomfortable straps">>
-			Each nipple bears a horizontal bar that is held forward of the steel ring that's part of $his outfit, constantly tugging them outward.
-		<<case "restrictive latex">>
-			The piercings are tantalizingly visible under the latex.
-		<<case "a fallen nuns habit">>
-			A tiny ebon cross on a short chain dangles from each piercing.
-		<<case "a chattel habit">>
-			A tiny golden cock and balls dangles from each piercing.
-		<<case "a monokini">>
-			Due to $his toplessness, the piercings are plainly visible.
-		<<case "a cybersuit">>
-			The piercings are tantalizingly visible under the bodysuit.
-		<<case "a string bikini">>
-			The piercings are a pastel color, to complement $his bikini.
-		<<case "striped panties">>
-			The piercings are a pastel color, to complement $his panties.
-		<<case "a scalemail bikini">>
-			The piercings are severe steel, as befits a hardened warrior.
-		<<case "a schoolgirl outfit">>
-			<<if ($activeSlave.boobs <= 2000)>>
-				The piercings are tantalizingly visible under the thin material.
-			<</if>>
-		<<case "battledress">>
-			The piercings are tantalizingly visible under $his tank top.
-		<<case "nice business attire">>
-			One side of each piercing peeks over the edge of $his blouse.
-		<<case "a comfortable bodysuit">>
-			The piercings are tantalizingly visible under the tight bodysuit.
-		<<case "a latex catsuit">>
-			The piercings are tantalizingly visible under the tight latex catsuit.
-		<<case "a mini dress">>
-			The piercings are tantalizingly visible under the tight mini dress.
-		<<case "a courtesan dress">>
-			The piercings are tantalizingly visible through $his thin dress.
-		<<case	"a bimbo outfit">>
-			They can't be seen, but one can clearly feel the piercings are in the shape of hearts.
-		<<case "a slutty maid outfit">>
-			One side of each piercing peeks over the edge of $his lacy top.
-		<<case "harem gauze">>
-			The piercings are tantalizingly visible under the gauze.
-		<<case "attractive lingerie for a pregnant woman">>
-			The piercings are tantalizingly visible under the thin silk.
-		<<case "a maternity dress">>
-			The piercings are tantalizingly visible under the dress's tight top.
-		<<case "stretch pants and a crop-top">>
-			The piercings are tantalizingly visible under $his crop-top.
-		<</switch>>
-	<</if>>
-<</if>>
-<</widget>>
-
-<<widget "areolaePiercingDescription">>
-	<<print App.Desc.areolaePiercing($activeSlave)>>
-<</widget>>
-
-<<widget "navelPiercingDescription">>
-	<<if $activeSlave.fuckdoll == 0>>
-		<<if setup.fakeBellies.includes($activeSlave.bellyAccessory)>>
-			<<if $activeSlave.navelPiercing == 1>>
-				$His fake navel bears a simple stud.
-			<<elseif $activeSlave.navelPiercing == 2>>
-				$His fake navel is pierced with a big ring.
-				<<if ($activeSlave.clothes == "slutty jewelry")>>
-					It has a length of gilded chain dangling from it.
-				<<else>>
-					It has a short length of chain dangling from it.
-				<</if>>
-			<</if>>
-		<<else>>
-			<<if $activeSlave.navelPiercing == 1>>
-				$His navel bears a simple stud.
-			<<elseif $activeSlave.navelPiercing == 2>>
-				$His navel is pierced with a big ring.
-				<<if ($activeSlave.clothes == "slutty jewelry")>>
-					It has a length of gilded chain dangling from it.
-				<<else>>
-					It has a short length of chain dangling from it.
-				<</if>>
-			<</if>>
-		<</if>>
-	<<else>>
-		<<if $activeSlave.navelPiercing > 0>>
-			<<if $activeSlave.belly >= 10000>>
-				<<if $activeSlave.navelPiercing == 1>>
-					$His popped navel bears a simple stud.
-				<<elseif $activeSlave.navelPiercing == 2>>
-					$His popped navel is pierced with a big ring.
-				<</if>>
-				It's eye-catching, since most of $his piercings are hidden by the suit.
-			<<else>>
-				$His navel piercing runs through the suit's material.
-			<</if>>
-		<</if>>
-	<</if>>
-<</widget>>
-
-<<widget "clitPiercingDescription">>
-	<<if ($activeSlave.clitPiercing == 1) && ($activeSlave.vagina != -1)>>
-		$He has a simple clitoral stud.
-	<<elseif ($activeSlave.clitPiercing == 2) && ($activeSlave.vagina != -1)>>
-		$He has a big ring in $his clit.
-		<<if ($activeSlave.clothes == "slutty jewelry")>>
-			Since $he's wearing slutty bangles $he has a short length of light chain dangling from $his clit ring; it constantly stimulates $his pussylips.
-		<</if>>
-	<<elseif ($activeSlave.clitPiercing == 3) && ($activeSlave.vagina != -1) && ($activeSlave.dick == 0)>>
-		$He has a smart piercing in $his clit.
-	<<elseif ($activeSlave.clitPiercing == 1)>>
-		$He has a simple dickhead stud.
-	<<elseif ($activeSlave.clitPiercing == 2)>>
-		$He has a big ring in $his dickhead.
-		<<if ($activeSlave.clothes == "slutty jewelry")>>
-			Since $he's wearing slutty bangles $he has a short length of light chain dangling from $his dickhead piercing; as $he moves it tugs lightly at $his cock.
-		<</if>>
-	<<elseif ($activeSlave.clitPiercing == 3)>>
-		$He has a smart frenulum piercing.
-	<</if>>
-	<<if $activeSlave.fuckdoll > 0>>It anchors the suit's material.<</if>>
-<</widget>>
-
-<<widget "vaginaPiercingDescription">>
-	<<if ($activeSlave.vagina != -1)>>
-		<<if $activeSlave.vaginaPiercing > 0>>
-			$He has a
-			<<if ($activeSlave.vaginaPiercing == 1)>>
-				simple row of studs
-			<<else>>
-				row of big rings
-			<</if>>
-			down $his labia<<if $activeSlave.fuckdoll > 0>>, which are looped into the edge of the suit's material as it stops around $his vulva<</if>>.
-		<</if>>
-	<</if>>
-<</widget>>
-
-<<widget "dickPiercingDescription">>
-	<<if ($activeSlave.dick != 0)>>
-		<<if ($activeSlave.dickPiercing == 1)>>
-			$He has a row of studs down $his shaft.
-		<<elseif ($activeSlave.dickPiercing == 2)>>
-			$He has a row of heavy rings down $his shaft.
-		<</if>>
-		<<if ($activeSlave.scrotum != 0)>>
-			<<if ($activeSlave.dickPiercing == 1)>>
-				$He has a couple of studs in $his ballsack.
-			<<elseif ($activeSlave.dickPiercing == 2)>>
-				$He has a row of rings down the center of $his ballsack, all the way from the base of $his shaft to $his perineum.
-			<</if>>
-		<<else>>
-			<<if ($activeSlave.dickPiercing == 1)>>
-				$He has a couple of studs beneath the base of $his dick.
-			<<elseif ($activeSlave.dickPiercing == 2)>>
-				$He has a row of rings all the way from the base of $his shaft to $his perineum.
-			<</if>>
-		<</if>>
-	<</if>>
-	<<if $activeSlave.fuckdoll > 0>>
-		<<if $activeSlave.dickPiercing > 0>>
-			Every one of them runs through the suit's material, securing it to the Fuckdoll's member.
-		<</if>>
-	<</if>>
-<</widget>>
-
-<<widget "anusPiercingDescription">>
-	<<if ($activeSlave.vagina > -1)>>
-		<<if ($activeSlave.anusPiercing == 1)>>
-			$He has a simple piercing between $his pussy and $his asshole<<if $activeSlave.fuckdoll > 0>> which helps keep the strip of material <<if $activeSlave.vagina > -1>>between $his holes<<else>>below $his rear hole<</if>> in place<</if>>.
-		<<elseif ($activeSlave.anusPiercing == 2)>>
-			$He has a big ring between $his pussy and $his asshole<<if $activeSlave.fuckdoll > 0>>, which helps keep the strip of material <<if $activeSlave.vagina > -1>>between $his holes<<else>>below $his rear hole<</if>> in place,<</if>> and studs in all around $his anus.
-		<</if>>
-	<<else>>
-		<<if ($activeSlave.anusPiercing == 1)>>
-			$He has a simple perianal piercing between the base of $his dick and $his girly butthole<<if $activeSlave.fuckdoll > 0>> which helps keep the strip of material <<if $activeSlave.vagina > -1>>between $his holes<<else>>below $his rear hole<</if>> in place<</if>>.
-		<<elseif ($activeSlave.anusPiercing == 2)>>
-			$He has a big ring between the base of $his dick and $his girly butthole, which has studs all around it.
-		<</if>>
-	<</if>>
-<</widget>>
-
-<<widget "CorsetPiercingDescription">>
-
-	<<if $activeSlave.corsetPiercing > 0>>
-		<<if $activeSlave.fuckdoll == 0>>
-
-			$He has a corset piercing, a ladder of steel rings running up each side of $his back:
-			<<if ($activeSlave.bellyAccessory == "a corset") || ($activeSlave.bellyAccessory == "an extreme corset")>>
-				these are looped through special lugs in the back of $his actual corset, making it almost a part of $his body.
-				<<if $activeSlave.devotion > 50>>
-					$He couldn't remove it, even if $he wanted to.
-				<<elseif $activeSlave.devotion >= -20>>
-					$He couldn't remove it, even if $he were inclined to try.
-				<<else>>
-					Any attempt to remove it will cause intense pain.
-				<</if>>
-			<<else>>
-				<<switch $activeSlave.clothes>>
-
-				<<case "a hijab and blouse" "a schoolgirl outfit" "conservative clothing" "nice business attire" "slutty business attire">>
-					$his blouse hides them completely, but they're laced tightly, so $he's aware they're there.
-
-				<<case "chains">>
-					they're laced together with steel cable, tightly enough that they're tugging at $his skin.
-
-				<<case "Western clothing">>
-					$his shirt hides them completely, but they're laced tightly, so $he's aware they're there.
-
-				<<case "a toga">>
-					$his toga hides them completely, but they're laced tightly, so $he's aware they're there.
-
-				<<case "a huipil">>
-					$his huipil hides them partially, so the leather straps that pull on $his skin are clearly evident.
-
-				<<case "a long qipao" "a slutty qipao">>
-					$his qipao hides them completely, but they're laced tightly with silk cord, so $he's aware they're there.
-
-				<<case "uncomfortable straps">>
-					they're laced together with a leather cord, tightly enough that they're tugging at $his skin.
-
-				<<case "shibari ropes">>
-					they're laced together as part of $his bindings.
-
-				<<case "a latex catsuit" "restrictive latex">>
-					these are clipped into the latex covering them, making it almost a part of $his body.
-					<<if $activeSlave.devotion > 50>>
-						$He couldn't remove it, even if $he wanted to.
-					<<elseif $activeSlave.devotion >= -20>>
-						$He couldn't remove it, even if $he were inclined to try.
-					<<else>>
-						Any attempt to remove it will cause intense pain.
-					<</if>>
-
-				<<case "a military uniform">>
-					$his tunic hides them completely, but they're laced tightly, so $he's aware they're there.
-
-				<<case "a schutzstaffel uniform">>
-					$his tunic hides them completely, but they're laced tightly, so $he's aware they're there.
-
-				<<case "a slutty schutzstaffel uniform">>
-					$his tunic hides them completely, but they're laced tightly, so $he's aware they're there.
-
-				<<case "a red army uniform">>
-					$his tunic hides them completely, but they're laced tightly, so $he's aware they're there.
-
-				<<case "battlearmor">>
-					$his armor hides them completely, but they're laced tightly, so $he's aware they're there.
-
-				<<case "a dirndl">>
-					$his dress hides them completely, but they're laced tightly, so $he's aware they're there.
-
-				<<case "lederhosen">>
-					$his tunic hides them completely, but they're laced tightly, so $he's aware they're there.
-
-				<<case "a mounty outfit">>
-					$his tunic hides them completely, but they're laced tightly, so $he's aware they're there.
-
-				<<case "a biyelgee costume">>
-					$his dress hides them completely, but they're laced tightly, so $he's aware they're there.
-
-				<<case "a nice nurse outfit">>
-					$his scrubs hide them completely, but they're laced tightly, so $he's aware they're there.
-
-				<<case "a mini dress">>
-					these are clipped into the mini dress covering them, making it almost a part of $his body.
-					<<if $activeSlave.devotion > 50>>
-						$He couldn't remove it, even if $he wanted to.
-					<<elseif $activeSlave.devotion >= -20>>
-						$He couldn't remove it, even if $he were inclined to try.
-					<<else>>
-						Any attempt to remove it will cause intense pain.
-					<</if>>
-
-				<<case "attractive lingerie" "attractive lingerie for a pregnant woman" "kitty lingerie">>
-					they're laced together with a lacy ribbon finished off with a bow.
-
-				<<case "a succubus outfit">>
-					they're laced into $his succubus corset, making it a part of $him.
-
-				<<case "a fallen nuns habit">>
-					they're laced together with cord, tightly enough that $he is forced to arch $his back or suffer. $He spends most of $his time involuntarily presenting $his bottom to relieve the tugging.
-
-				<<case "a chattel habit">>
-					$his white habit hides them completely, but they're laced tightly, so $he's aware they're there.
-
-				<<case "a penitent nuns habit">>
-					$his habit hides them completely, but they're laced tightly, so $he's aware they're there.
-
-				<<case "a gothic lolita dress" "a hanbok" "a Santa dress">>
-					$his dress hides them completely, but they're laced tightly, so $he's aware they're there.
-
-				<<case "a burkini" "a one-piece swimsuit">>
-					$his swimsuit hides them completely, but they're laced tightly, so $he's aware they're there.
-
-				<<case "a monokini">>
-					the straps of $his swimsuit run on each side of these loops.
-
-				<<case "an apron">>
-					the straps of $his apron run on each side of these loops.
-
-				<<case "overalls">>
-					the straps of $his overalls run on each side of these loops.
-
-				<<case "a bra" "a skimpy loincloth" "a striped bra" "a thong" "boyshorts" "cutoffs" "jeans" "leather pants" "leather pants and pasties" "panties" "panties and pasties" "pasties" "sport shorts" "striped panties" "striped underwear">>
-					the piercings are plainly visible on $his bare back.
-
-				<<case "a slutty klan robe" "a slutty pony outfit" "a sports bra" "a tank-top and panties" "a tube top" "a tube top and thong" "leather pants and a tube top">>
-					the piercings are only partly visible on $his back.
-
-				<<case "a button-up shirt" "a button-up shirt and panties" "a police uniform" "a t-shirt and jeans" "a t-shirt and panties" "a t-shirt and thong" "a t-shirt" "a tank-top" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "sport shorts and a sports bra" "sport shorts and a t-shirt">>
-					$his shirt hides them completely, but they're laced tightly, so $he's aware they're there.
-
-				<<case "a sweater" "a sweater and cutoffs" "a sweater and panties">>
-					$his sweater hides them completely, but they're laced tightly, so $he's aware they're there.
-
-				<<case "a nice pony outfit">>
-					$his outfit hides them completely, but they're laced tightly, so $he's aware they're there.
-
-				<<case "a string bikini">>
-					the back of $his string top loops into them and runs down through them to become $his bottom, such as it is.
-
-				<<case "a scalemail bikini">>
-					they're laced together with a steel chain.
-
-				<<case "a cheerleader outfit">>
-					they're laced together with a simple ribbon, but the effect makes it clear that this is one kinky cheerleader.
-
-				<<case "clubslut netting">>
-					these are clipped into the netting covering them, making it almost a part of $his body.
-					<<if $activeSlave.devotion > 50>>
-						$He couldn't remove it, even if $he wanted to.
-					<<elseif $activeSlave.devotion >= -20>>
-						$He couldn't remove it, even if $he were inclined to try.
-					<<else>>
-						Any attempt to remove it will cause intense pain.
-					<</if>>
-
-				<<case "cutoffs and a t-shirt">>
-					they're laced together with a simple ribbon, but the effect makes it clear that this is one kinky $girl.
-
-				<<case "a slutty outfit">>
-					they're laced together with a simple ribbon, tightly enough that $he's aware they're there.
-
-				<<case "a slave gown">>
-					they're revealed by the swooping back of $his gown and laced up with matching silk ribbon.
-
-				<<case "a comfortable bodysuit">>
-					these are clipped into the bodysuit covering them, making it almost a part of $his body.
-					<<if $activeSlave.devotion > 50>>
-						$He couldn't remove it, even if $he wanted to.
-					<<elseif $activeSlave.devotion >= -20>>
-						$He couldn't remove it, even if $he were inclined to try.
-					<<else>>
-						Any attempt to remove it will cause intense pain.
-					<</if>>
-
-				<<case "a leotard">>
-					these are clipped into the leotard covering them, making it almost a part of $his body.
-					<<if $activeSlave.devotion > 50>>
-						$He couldn't remove it, even if $he wanted to.
-					<<elseif $activeSlave.devotion >= -20>>
-						$He couldn't remove it, even if $he were inclined to try.
-					<<else>>
-						Any attempt to remove it will cause intense pain.
-					<</if>>
-
-				<<case "a bunny outfit">>
-					$his teddy hides them completely, but they're laced tightly, so $he's aware they're there.
-
-				<<case "a slutty maid outfit">>
-					$his dress has an open back to reveal them and the black ribbon that laces them tightly together.
-
-				<<case "a nice maid outfit">>
-					$his dress hides them completely, but they're laced tightly, so $he's aware they're there.
-
-				<<case "a slutty nurse outfit">>
-					$his jacket hides them completely, but they're laced tightly, so $he's aware they're there.
-
-				<<case "a kimono">>
-					$his kimono hides them completely, but they're laced tightly, so $he's aware they're there.
-
-				<<case "a hijab and abaya" "a niqab and abaya">>
-					$his abaya hides them completely, but they're laced tightly, so $he's aware they're there.
-
-				<<case "a klan robe">>
-					$his robe hides them completely, but they're laced tightly, so $he's aware they're there.
-
-				<<case "a burqa">>
-					$his burqa hides them completely, but they're laced tightly, so $he's aware they're there.
-
-				<<case "battledress">>
-					they're laced together with paracord.
-
-				<<case "harem gauze">>
-					they're laced up with a light golden chain that glints through $his filmy clothing.
-
-				<<case "slutty jewelry">>
-					they're laced up with a light golden chain that begins and ends in other parts of $his glinting bonds.
-
-				<<case "a courtesan dress">>
-					they're laced into $his dress's corset, binding the material even closer to $him.
-
-				<<case "a bimbo outfit">>
-					they're laced together with a bright pink ribbon.
-
-				<<default>>
-					they're laced up with a ribbon, tightly enough to keep $him aware they're there.
-
-				<</switch>>
-			<</if>>
-
-		<</if>>
-	<</if>>
-
-<</widget>>
-
-<<widget "chastityPiercingDescription">>
-	<<if ($activeSlave.clitPiercing > 0)>>
-		<<if ($activeSlave.nipplesPiercing > 0)>>
-			<<if !($activeSlave.chastityPenis)>>
-				<<if ($activeSlave.dick > 4)>>
-					<<if ($activeSlave.boobs > 1000)>>
-						<<if canAchieveErection($activeSlave.balls > 0)>>
-							<<if ($activeSlave.devotion > 20)>>
-								<<if ($activeSlave.energy > 90)>>
-									$His very special body allows $him to wear an incredibly lewd piece of jewelry: a thin golden chain that runs from nipple to nipple, through $his pierced cockhead. The chain is short, and any motion at all tugs at $his nipples and penis.
-									<<if canWalk($activeSlave)>>
-										The stimulation is almost unbearable, and the mere act of walking sometimes causes $him to cum.
-									<</if>>
-								<</if>>
-							<</if>>
-						<</if>>
-					<</if>>
-				<</if>>
-			<</if>>
-		<</if>>
-	<</if>>
-<</widget>>