diff --git a/src/js/generateMarketSlave.js b/src/js/generateMarketSlave.js
index c21587c9800a9fdbe96e54593302bb0d64ba448f..02b59f351185325257044545c6135cf8b01342ed 100644
--- a/src/js/generateMarketSlave.js
+++ b/src/js/generateMarketSlave.js
@@ -642,6 +642,59 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) {
 						V.activeSlave.abortionTat = jsRandom(1, (Math.min(V.activeSlave.physicalAge-V.fertilityAge, V.activeSlave.physicalAge-V.minimumSlaveAge))*2);
 					}
 				}
+				let i = 0;
+				if (jsRandom(1, 100) > 10) {
+					// tat em up
+					let tattoos = ["boobsTat", "buttTat", "lipsTat", "vaginaTat", "dickTat", "anusTat", "shouldersTat", "armsTat", "legsTat", "backTat", "stampTat", "bellyTat", "abortionTat", "birthsTat"];
+					let modPool = jsRandom(1, 10);
+					for (i = 0; i < modPool; i++) {
+						let tat = tattoos[Math.floor(Math.random() * tattoos.length)];
+						V.activeSlave[tat] = "degradation";
+					}
+				}
+				if (jsRandom(1, 100) > 10) {
+					// pierce em up
+					let piercings = ["corsetPiercing", "nipplesPiercing", "areolaePiercing", "lipsPiercing", "tonguePiercing", "anusPiercing"];
+					if (V.activeSlave.dick > 0) {
+						piercings.push("dickPiercing")
+					}
+					if (V.activeSlave.vagina != -1) {
+						piercings.push("vaginaPiercing")
+					}
+					if ((V.activeSlave.vagina != -1) || (V.activeSlave.dick != 0)) {
+						piercings.push("clitPiercing");
+					}
+					let modPool = jsRandom(5, 15);
+					let pierce;
+					for (i = 0; i < modPool; i++) {
+						pierce = piercings[Math.floor(Math.random() * piercings.length)];
+						if (V.activeSlave[pierce] < 2) {
+							V.activeSlave[pierce]++;
+						}
+					}
+				}
+				if (jsRandom(1, 100) > 20) {
+					// scar em up
+					if (jsRandom(1, 100) > 70) {
+						// They got whipped too
+						App.Medicine.Modification.addScourged(V.activeSlave);
+					}
+					let scars = ["back", "lower back", "left thigh", "right thigh"];
+					let modPool = jsRandom(1, 10);
+					let scar;
+					for (i = 0; i < modPool; i++) {
+						scar = scars[Math.floor(Math.random() * scars.length)];
+						App.Medicine.Modification.addScar(V.activeSlave, scar, "generic");
+					}
+				}
+				if (jsRandom(1, 100) > 80) {
+					// brand em up
+					if (jsRandom(1, 100) > 50) {
+						V.activeSlave.brand["left buttock"] = "SLUT";
+					} else {
+						V.activeSlave.brand["left buttock"] = "Slave";
+					}
+				}
 			}
 			if (V.arcologies[market].FSIntellectualDependency > 20) {
 				r += `The only thing that rivals their idiocy is their uncontrollable libido. `;
@@ -683,8 +736,34 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) {
 			}
 			if (V.arcologies[market].FSBodyPurist > 80) {
 				r += `They're quite pristine, free of any genomic damage or addictions regardless of any transformations they've had. `;
+				// clean out any changes those filthy impure degredationsts may have made
+				V.activeSlave.brand = {};
+				V.activeSlave.scar = {};
 				V.activeSlave.chem = 0;
 				V.activeSlave.addict = 0;
+				V.activeSlave.boobsTat = 0;
+				V.activeSlave.buttTat = 0;
+				V.activeSlave.lipsTat = 0;
+				V.activeSlave.vaginaTat = 0;
+				V.activeSlave.dickTat = 0;
+				V.activeSlave.anusTat = 0;
+				V.activeSlave.shouldersTat = 0;
+				V.activeSlave.armsTat = 0;
+				V.activeSlave.legsTat = 0;
+				V.activeSlave.backTat = 0;
+				V.activeSlave.stampTat = 0;
+				V.activeSlave.bellyTat = 0;
+				V.activeSlave.abortionTat = 0;
+				V.activeSlave.birthsTat = 0;
+				V.activeSlave.corsetPiercing = 0;
+				V.activeSlave.nipplesPiercing = 0;
+				V.activeSlave.areolaePiercing = 0;
+				V.activeSlave.lipsPiercing = 0;
+				V.activeSlave.tonguePiercing = 0;
+				V.activeSlave.vaginaPiercing = 0;
+				V.activeSlave.clitPiercing = 0;
+				V.activeSlave.dickPiercing = 0;
+				V.activeSlave.anusPiercing = 0;
 			} else if (V.arcologies[market].FSTransformationFetishist > 80) {
 				r += `They vary in terms of what size their implants are, not whether they have them. `;
 				V.activeSlave.chem += jsRandom(10, 100);
diff --git a/src/js/modification.js b/src/js/modification.js
index 5e56cd04709a1fec27248a2e2e85cb85613222b3..2fd4cefea4da8f0e218d2b4451f1cc3d3f05bc06 100644
--- a/src/js/modification.js
+++ b/src/js/modification.js
@@ -4,6 +4,7 @@ App.Medicine.Modification = {};
  * @param {App.Entity.SlaveState} slave
  * @param {string} scar
  *  @param {string} design
+ *  @param {string} weight
  */
 App.Medicine.Modification.addScar = function(slave, scar, design, weight) {
 	/* const V = State.variables;
@@ -24,3 +25,27 @@ App.Medicine.Modification.addScar = function(slave, scar, design, weight) {
 		slave.scar[scar][design] += weight;
 	}
 };
+
+/**
+ * Slave is whipped over the entire body, and strains in manacles so much that the wrists and ankles scar if present.
+ * @param {App.Entity.SlaveState} slave
+ *  @param {string} weight
+ */
+App.Medicine.Modification.addScourged = function(slave, weight) {
+	let scarArray = ["left breast", "right breast", "back", "lower back", "left buttock", "right buttock"];
+	let i = 0;
+	// Whip
+	if (slave.amp !== 1) {
+		scarArray.push("left upper arm", "right upper arm", "left thigh", "right thigh");
+	}
+	for (i = 0; i < scarArray.length; i++) {
+		App.Medicine.Modification.addScar(slave, scarArray[i], "whip", weight);
+	}
+	// Manacles
+	if (slave.amp !== 1) {
+		scarArray = ["left wrist", "right wrist", "left ankle", "right ankle"];
+		for (i = 0; i < scarArray.length; i++) {
+			App.Medicine.Modification.addScar(slave, scarArray[i], "chain", weight);
+		}
+	}
+};
diff --git a/src/uncategorized/bodyModification.tw b/src/uncategorized/bodyModification.tw
index ca7e8fdc0ee63ccd93c319adb1f08a7ecb495e7a..68e5f9e926eb44e7f124c4b399dec025dc41b2a9 100644
--- a/src/uncategorized/bodyModification.tw
+++ b/src/uncategorized/bodyModification.tw
@@ -1287,22 +1287,8 @@ Or a custom site: <<textbox "$scarTarget.local" $scarTarget.local "Body Modifica
 	<</if>>
 	<<link "Scar">>
 		<<if $scarTarget.local === "entire body" && $scarDesign.local.includes("whip")>>
-			/* Special case for whipping scene, producecs two scars */
-			/* Whip marks */
-			<<set _scarArray = ["left breast", "right breast", "back", "lower back", "left buttock", "right buttock"]>>
-			<<if $activeSlave.amp != 1>>
-				<<set _scarArray.push("left upper arm", "right upper arm", "left thigh", "right thigh")>>
-			<</if>>
-			<<for _i to 0; _i < _scarArray.length; _i++>>
-				<<run App.Medicine.Modification.addScar($activeSlave, _scarArray[_i], $scarDesign.local)>>
-			<</for>>
-			/* Manacles */
-			<<if $activeSlave.amp != 1>>
-				<<set _scarArray = ["left wrist", "right wrist", "left ankle", "right ankle"]>>
-				<<for _i to 0; _i < _scarArray.length; _i++>>
-					<<run App.Medicine.Modification.addScar($activeSlave, _scarArray[_i], "chain")>>
-				<</for>>
-			<</if>>
+			/* Special case for whipping scene, producecs two kinds of scars */
+			<<run App.Medicine.Modification.addScourged($activeSlave)>>
 		<<else>>
 			/* Normal entire body scarring */
 			<<if $scarTarget.local === "entire body">>
diff --git a/src/uncategorized/newSlaveIntro.tw b/src/uncategorized/newSlaveIntro.tw
index d504c68148a1bd7e18027484b95791ebafdfde32..45f6138f010e654ae4f324f0b06723187d8ace66 100644
--- a/src/uncategorized/newSlaveIntro.tw
+++ b/src/uncategorized/newSlaveIntro.tw
@@ -1245,22 +1245,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' <<
 <br>&nbsp;&nbsp;&nbsp;&nbsp;
 
 <<link "Whip $him until $he scars">>
-	/* Whip marks */
-	<<set _scarArray = ["left breast", "right breast", "back", "lower back", "left buttock", "right buttock"]>>
-	<<if $activeSlave.amp != 1>>
-		<<set _scarArray.push("left upper arm", "right upper arm", "left thigh", "right thigh")>>
-	<</if>>
-	<<for _i to 0; _i < _scarArray.length; _i++>>
-		<<run App.Medicine.Modification.addScar($activeSlave, _scarArray[_i], "whip")>>
-	<</for>>
-	/* Manacles */
-	<<if $activeSlave.amp != 1>>
-		<<set _scarArray = ["left wrist", "right wrist", "left ankle", "right ankle"]>>
-		<<for _i to 0; _i < _scarArray.length; _i++>>
-			<<run App.Medicine.Modification.addScar($activeSlave, _scarArray[_i], "chain")>>
-		<</for>>
-	<</if>>
-	
+	<<run App.Medicine.Modification.addScourged($activeSlave)>>	
 	<<run cashX(forceNeg($modCost), "slaveMod", $activeSlave)>> /* Let's just bill once, for the whip and disinfectant. */
 	<<set $activeSlave.devotion -= 5>>
 	<<set $activeSlave.trust -= 10>>
diff --git a/src/uncategorized/pRivalryActions.tw b/src/uncategorized/pRivalryActions.tw
index 3b6b54b82e21f4f2fcb8685c0ca6d47ed1482c54..3465a62b0d7f54e1de2b281409971b0eb3da7d3a 100644
--- a/src/uncategorized/pRivalryActions.tw
+++ b/src/uncategorized/pRivalryActions.tw
@@ -673,21 +673,7 @@ Your inter-arcology war with the arcology owner behind the Daughters of Liberty
 		<<set $hostage.behavioralQuirk = "none">>
 		<<set $hostage.behavioralFlaw = "odd">>
 		<<set $hostage.sexualFlaw = "apathetic">>
-		/* Scars: */
-		<<set _scarArray = ["left breast", "right breast", "back", "lower back", "left buttock", "right buttock"]>>
-		<<if $hostage.amp != 1>>
-			<<set _scarArray.push("left upper arm", "right upper arm", "left thigh", "right thigh")>>
-		<</if>>
-		<<for _i to 0; _i < _scarArray.length; _i++>>
-			<<run App.Medicine.Modification.addScar($hostage, _scarArray[_i], "whip")>>
-		<</for>>
-		/* Manacles */
-		<<if $hostage.amp != 1>>
-			<<set _scarArray = ["left wrist", "right wrist", "left ankle", "right ankle"]>>
-			<<for _i to 0; _i < _scarArray.length; _i++>>
-				<<run App.Medicine.Modification.addScar($hostage, _scarArray[_i], "chain")>>
-			<</for>>
-		<</if>>
+		<<run App.Medicine.Modification.addScourged($hostage)>>
 		<<run App.Medicine.Modification.addScar($hostage, "anus", "generic")>>
 		<<run App.Medicine.Modification.addScar($hostage, "vagina", "generic")>>
 		collapsing into $his rancid cot, hands on $his <<if $seePreg != 0>>rounded middle<<else>>empty belly<</if>>, sobbing in terror.
@@ -1078,20 +1064,7 @@ Your inter-arcology war with the arcology owner behind the Daughters of Liberty
 		<<set $hostage.counter.mammary += 50>>
 		<<set $hostage.fetishStrength = 100>>
 		/* Make scars worse: */
-		<<set _scarArray = ["left breast", "right breast", "back", "lower back", "left buttock", "right buttock"]>>
-		<<if $hostage.amp != 1>>
-			<<set _scarArray.push("left upper arm", "right upper arm", "left thigh", "right thigh")>>
-		<</if>>
-		<<for _i to 0; _i < _scarArray.length; _i++>>
-			<<run App.Medicine.Modification.addScar($hostage, _scarArray[_i], "whip")>>
-		<</for>>
-		/* Manacles */
-		<<if $hostage.amp != 1>>
-			<<set _scarArray = ["left wrist", "right wrist", "left ankle", "right ankle"]>>
-			<<for _i to 0; _i < _scarArray.length; _i++>>
-				<<run App.Medicine.Modification.addScar($hostage, _scarArray[_i], "chain")>>
-			<</for>>
-		<</if>>
+		<<run App.Medicine.Modification.addScourged($hostage)>>
 		collapsing into $his rancid cot and curling into the fetal position<<if $seePreg != 0>> around $his pregnant belly<</if>>. $He's audibly begging for someone, anyone, to save $him.
 	<<case "Repopulation Focus">>
 		<<set $hostage.trust -= 5>>
@@ -1407,20 +1380,7 @@ Your inter-arcology war with the arcology owner behind the Daughters of Liberty
 		<<set $hostage.fetish = "mindbroken">>
 		<<set $hostage.fetishStrength = 10>>
 		/* Make scars worse: */
-		<<set _scarArray = ["left breast", "right breast", "back", "lower back", "left buttock", "right buttock"]>>
-		<<if $hostage.amp != 1>>
-			<<set _scarArray.push("left upper arm", "right upper arm", "left thigh", "right thigh")>>
-		<</if>>
-		<<for _i to 0; _i < _scarArray.length; _i++>>
-			<<run App.Medicine.Modification.addScar($hostage, _scarArray[_i], "whip")>>
-		<</for>>
-		/* Manacles */
-		<<if $hostage.amp != 1>>
-			<<set _scarArray = ["left wrist", "right wrist", "left ankle", "right ankle"]>>
-			<<for _i to 0; _i < _scarArray.length; _i++>>
-				<<run App.Medicine.Modification.addScar($hostage, _scarArray[_i], "chain")>>
-			<</for>>
-		<</if>>
+		<<run App.Medicine.Modification.addScourged($hostage)>>
 		<<run App.Medicine.Modification.addScar($hostage, "left cheek", "generic", 3)>>
 		<<run App.Medicine.Modification.addScar($hostage, "right cheek", "generic", 3)>>
 		<<run App.Medicine.Modification.addScar($hostage, "left lower arm", "generic", 2)>>