diff --git a/Changelog.txt b/Changelog.txt
index 719b1dae36f0aad09394f47c6980dce66e21c0dd..69b109ab5b1567b8666af51c1c0b39542d8f4edb 100644
--- a/Changelog.txt
+++ b/Changelog.txt
@@ -9,9 +9,9 @@ Pregmod
 	-tweaks to the RA and facility workers
 	-altered gender fund bimbo law (it now focuses on lack of education instead)
 	-fixes and cleaning
-	
+
 	8/x/2019
-	
+
 	0
 	-large update to the nursery beta content
 	-fixes and cleaning
diff --git a/src/endWeek/saNanny.js b/src/endWeek/saNanny.js
index 7e964661debfa056a50380eade5cd9be02ba5200..488a564d75d54762e1db19658228b1432415f75a 100644
--- a/src/endWeek/saNanny.js
+++ b/src/endWeek/saNanny.js
@@ -160,6 +160,7 @@ window.saNanny = function saNanny(slave) {
 				t += ` and talented tongue`;
 			}
 			t += `. `;
+			/* TODO: farmer is often not set and makes no sense here.  What should this be?  LCD.
 			if (slave.devotion < V.FarmerDevotionThreshold) {
 				slave.devotion += V.FarmerDevotionBonus;
 			}
@@ -168,7 +169,7 @@ window.saNanny = function saNanny(slave) {
 			}
 			if (slave.health < 100) {
 				slave.health += V.FarmerHealthBonus;
-			}
+			}*/
 		}
 
 	return t;
diff --git a/src/endWeek/saServeThePublic.js b/src/endWeek/saServeThePublic.js
index 75eaf26d1735e3fc2f409f8e87b2fbc3993a8f38..065701cbcf0c45862723cab36dd342d209ee10b4 100644
--- a/src/endWeek/saServeThePublic.js
+++ b/src/endWeek/saServeThePublic.js
@@ -243,7 +243,14 @@ window.saServeThePublic = (function saServeThePublic() {
 		}
 		r += `. Most of them `;
 		if (slave.sexQuality > 15) {
-			r += `were putty in ${his} hands.`;
+			r += `were putty in ${his} hand`;
+			if (hasBothArms(slave) || !hasAnyArms(slave)) {
+				r += `s`;
+				if (!hasAnyArms(slave)) {
+					r += `, so to speak`;
+				}
+			}
+			r += `.`;
 		} else if (slave.sexQuality > 10) {
 			r += `greatly enjoyed ${his} services.`;
 		} else if (slave.sexQuality > 5) {
@@ -619,7 +626,9 @@ window.saServeThePublic = (function saServeThePublic() {
 		}
 
 		if (canTalk(slave)) {
-			if (slave.voice > 2) {
+			if (arcology.FSSlaveProfessionalism !== "unset" && slave.accent > 1) {
+				r += ` ${His} butchery of the local tongue drives away curious citizens.`;
+			} else if (slave.voice > 2) {
 				if (slave.voiceImplant > 0) {
 					r += ` ${His} high-pitched bimbo voice improves ${his} come-ons.`;
 				} else {
@@ -690,6 +699,20 @@ window.saServeThePublic = (function saServeThePublic() {
 			}
 		}
 
+		if (arcology.FSPetiteAdmiration !== "unset") {
+			if (heightPass(slave)) {
+				r += ` ${His} adorably petite stature catches and holds the public's eye.`;
+			} else if (slave.height >= 170) {
+				r += ` ${His} tall stature turns off most citizens.`;
+			}
+		} else if (arcology.FSStatuesqueGlorification !== "unset") {
+			if (heightPass(slave)) {
+				r += ` ${His} gloriously tall stature catches and holds the public's eye.`;
+			} else {
+				r += ` ${His} short stature turns off most citizens.`;
+			}
+		}
+
 		if (slave.visualAge >= 30) {
 			if (arcology.FSMaturityPreferentialist !== "unset") {
 				r += ` ${His} mature body is very fashionable.`;
@@ -766,6 +789,12 @@ window.saServeThePublic = (function saServeThePublic() {
 			}
 		}
 
+		if (arcology.FSIntellectualDependencyLawBeauty === 1) {
+			if (bimboScore(slave) >= 6) {
+				r += ` Citizens flock to spend time with a complete bimbo like ${him}.`;
+			}
+		}
+
 		if (slave.boobsImplant === 0 && slave.buttImplant === 0 && slave.waist >= -95 && slave.bellyImplant === -1 && slave.lipsImplant === 0 && slave.faceImplant < 30) {
 			if (arcology.FSBodyPurist !== "unset") {
 				r += ` With ${his} all-natural, implant free appearance, ${he}'s very popular.`;
@@ -878,7 +907,19 @@ window.saServeThePublic = (function saServeThePublic() {
 			}
 		}
 
-		if (slave.intelligence + slave.intelligenceImplant > 15) {
+		if (arcology.FSSlaveProfessionalism !== "unset") {
+			if (slave.intelligence + slave.intelligenceImplant > 50) {
+				r += ` ${His} intelligence satisfies citizens looking for something more than just a hole.`;
+			} else if (slave.intelligence + slave.intelligenceImplant < -10) {
+				r += ` ${His} stupidity gives aggravates citizens looking for something more than just a cum dump.`;
+			}
+		} else if (arcology.FSIntellectualDependency !== "unset") {
+			if (slave.intelligence + slave.intelligenceImplant > 10) {
+				r += ` ${His} intellectual baggage is more than most citizens wish to deal with.`;
+			} else if (slave.intelligence + slave.intelligenceImplant < -50) {
+				r += ` ${His} simplicity makes ${him} pliable and ready to do or try anything.`;
+			}
+		} else if (slave.intelligence + slave.intelligenceImplant > 15) {
 			r += ` ${His} intelligence helps ${him} discern everyone's needs.`;
 		} else if (slave.intelligence + slave.intelligenceImplant < -15) {
 			r += ` ${He} has trouble figuring out what everyone needs.`;
@@ -1279,6 +1320,18 @@ window.saServeThePublic = (function saServeThePublic() {
 			case "Slimness Enthusiast":
 				arcology.FSSlimnessEnthusiast += fsBeauty;
 				break;
+			case "Slave Professionalism":
+				arcology.FSSlaveProfessionalism += fsBeauty;
+				break;
+			case "Intellectual Dependency":
+				arcology.FSIntellectualDependency += fsBeauty;
+				break;
+			case "Petite Admiration":
+				arcology.FSPetiteAdmiration += fsBeauty;
+				break;
+			case "Statuesque Glorification":
+				arcology.FSStatuesqueGlorification += fsBeauty;
+				break;
 		}
 	}
 
diff --git a/src/endWeek/saWhore.js b/src/endWeek/saWhore.js
index 5e9978dc9bd0727507a1934a026f2db2bd472e78..59f0b260f1b6c67178b52bc3f66a864474e379ed 100644
--- a/src/endWeek/saWhore.js
+++ b/src/endWeek/saWhore.js
@@ -815,7 +815,9 @@ window.saWhore = (function saWhore() {
 		}
 
 		if (canTalk(slave)) {
-			if (slave.voice > 2) {
+			if (arcology.FSSlaveProfessionalism !== "unset" && slave.accent > 1) {
+				r += ` ${His} butchery of the local tongue drives away potential customers.`;
+			} else if (slave.voice > 2) {
 				if (slave.voiceImplant > 0) {
 					r += ` ${His} high-pitched bimbo voice makes it easier for ${him} to entice potential customers.`;
 				} else {
@@ -886,6 +888,20 @@ window.saWhore = (function saWhore() {
 			}
 		}
 
+		if (arcology.FSPetiteAdmiration !== "unset") {
+			if (heightPass(slave)) {
+				r += ` ${His} adorably petite stature attracts additional customers.`;
+			} else if (slave.height >= 170) {
+				r += ` ${His} tall stature turns off potential costumers.`;
+			}
+		} else if (arcology.FSStatuesqueGlorification !== "unset") {
+			if (heightPass(slave)) {
+				r += ` ${His} gloriously tall stature attracts additional customers.`;
+			} else {
+				r += ` ${His} short stature turns off potential costumers.`;
+			}
+		}
+
 		if (slave.visualAge >= 30) {
 			if (arcology.FSMaturityPreferentialist !== "unset") {
 				r += ` ${His} mature body is very fashionable.`;
@@ -962,6 +978,12 @@ window.saWhore = (function saWhore() {
 			}
 		}
 
+		if (arcology.FSIntellectualDependencyLawBeauty === 1) {
+			if (bimboScore(slave) >= 6) {
+				r += ` Clients are more than willing to pay extra ¤ to spend time with a complete bimbo like ${him}.`;
+			}
+		}
+
 		if (slave.boobsImplant === 0 && slave.buttImplant === 0 && slave.waist >= -95 && slave.bellyImplant === -1 && slave.lipsImplant === 0 && slave.faceImplant < 30) {
 			if (arcology.FSBodyPurist !== "unset") {
 				r += ` With ${his} all-natural, implant free appearance, ${he}'s very profitable.`;
@@ -1074,7 +1096,19 @@ window.saWhore = (function saWhore() {
 			}
 		}
 
-		if (slave.intelligence + slave.intelligenceImplant > 15) {
+		if (arcology.FSSlaveProfessionalism !== "unset") {
+			if (slave.intelligence + slave.intelligenceImplant > 50) {
+				r += ` ${His} intelligence satisfies customers looking for more than just a hole to fuck.`;
+			} else if (slave.intelligence + slave.intelligenceImplant < -10) {
+				r += ` ${His} stupidity gives aggravates customers looking for more than just a hole to fuck.`;
+			}
+		} else if (arcology.FSIntellectualDependency !== "unset") {
+			if (slave.intelligence + slave.intelligenceImplant > 10) {
+				r += ` ${His} intellectual baggage annoys customers looking for a simple fuck.`;
+			} else if (slave.intelligence + slave.intelligenceImplant < -50) {
+				r += ` ${His} simplicity makes ${him} pliable and ready to try anything with a customer.`;
+			}
+		} else if (slave.intelligence + slave.intelligenceImplant > 15) {
 			r += ` ${His} intelligence gives ${him} an advantage at the business of selling ${his} body.`;
 		} else if (slave.intelligence + slave.intelligenceImplant < -15) {
 			r += ` ${His} stupidity gives ${him} a handicap at the business of selling ${his} body.`;
@@ -1475,6 +1509,18 @@ window.saWhore = (function saWhore() {
 			case "Slimness Enthusiast":
 				arcology.FSSlimnessEnthusiast += fsBeauty;
 				break;
+			case "Slave Professionalism":
+				arcology.FSSlaveProfessionalism += fsBeauty;
+				break;
+			case "Intellectual Dependency":
+				arcology.FSIntellectualDependency += fsBeauty;
+				break;
+			case "Petite Admiration":
+				arcology.FSPetiteAdmiration += fsBeauty;
+				break;
+			case "Statuesque Glorification":
+				arcology.FSStatuesqueGlorification += fsBeauty;
+				break;
 		}
 	}
 
diff --git a/src/endWeek/saWorkAGloryHole.js b/src/endWeek/saWorkAGloryHole.js
index ad5d91566013d5b062d23428853903bc28aee62c..7b558c50a80df029715e055d6e267cac70a93b5d 100644
--- a/src/endWeek/saWorkAGloryHole.js
+++ b/src/endWeek/saWorkAGloryHole.js
@@ -323,6 +323,18 @@ window.saWorkAGloryHole = (function saWorkAGloryHole() {
 				case "Slimness Enthusiast":
 					V.arcologies[0].FSSlimnessEnthusiast += impact;
 					break;
+				case "Slave Professionalism":
+					arcology.FSSlaveProfessionalism += impact;
+					break;
+				case "Intellectual Dependency":
+					arcology.FSIntellectualDependency += impact;
+					break;
+				case "Petite Admiration":
+					arcology.FSPetiteAdmiration += impact;
+					break;
+				case "Statuesque Glorification":
+					arcology.FSStatuesqueGlorification += impact;
+					break;
 			}
 		}
 	}
diff --git a/src/endWeek/saWorkTheFarm.js b/src/endWeek/saWorkTheFarm.js
index d8b0cb4e2b7cf141e7dc22fb63b1da6bf5c31533..3ef28f6270ee45dc48b8d777444abb4ac29859e9 100644
--- a/src/endWeek/saWorkTheFarm.js
+++ b/src/endWeek/saWorkTheFarm.js
@@ -592,6 +592,18 @@ window.saWorkTheFarm = function saWorkTheFarm(slave) {
 			case "Slimness Enthusiast":
 				arcology.FSSlimnessEnthusiast = Math.clamp(arcology.FSSlimnessEnthusiast += fsGain, 0, 100);
 				break;
+			case "Slave Professionalism":
+				arcology.FSSlaveProfessionalism = Math.clamp(arcology.FSSlaveProfessionalism += fsGain, 0, 100);
+				break;
+			case "Intellectual Dependency":
+				arcology.FSIntellectualDependency = Math.clamp(arcology.FSIntellectualDependency += fsGain, 0, 100);
+				break;
+			case "Petite Admiration":
+				arcology.FSPetiteAdmiration = Math.clamp(arcology.FSPetiteAdmiration += fsGain, 0, 100);
+				break;
+			case "Statuesque Glorification":
+				arcology.FSStatuesqueGlorification = Math.clamp(arcology.FSStatuesqueGlorification += fsGain, 0, 100);
+				break;
 		}
 	}
 
diff --git a/src/facilities/nursery/nurseryDatatypeCleanup.js b/src/facilities/nursery/nurseryDatatypeCleanup.js
index e3236ee1081781123a314e66804b18ea3fa1a405..f31cc2872b98fe6e6379824a1d2e8c438f138745 100644
--- a/src/facilities/nursery/nurseryDatatypeCleanup.js
+++ b/src/facilities/nursery/nurseryDatatypeCleanup.js
@@ -290,9 +290,18 @@ App.Facilities.Nursery.ChildDatatypeCleanup = function(child) {
 		if (typeof child.eyewear !== "string") {
 			child.eyewear = "none";
 		}
-		child.brand = Math.clamp(+child.brand, 0, 1) || 0;
-		if (typeof child.brandLocation !== "string") {
-			child.brandLocation = 0;
+		if (typeof child.brand !== "object") {
+			let brand = {};
+			if (child.brand !== 0) {
+				brand["left buttock"] = child.brand;
+			}
+			child.brand = brand;
+		} else if (typeof child.brand === "object") { // Make sure key and value are strings
+			for (let [key, value] of Object.entries(child.brand)) {
+				if (typeof key !== "string" || typeof value !== "string") {
+					delete child.brand[key];
+				}
+			}
 		}
 		if (typeof child.markings !== "string") {
 			child.markings = "none";
diff --git a/src/facilities/nursery/nurseryWidgets.js b/src/facilities/nursery/nurseryWidgets.js
index 071a07f48499de42393a910ffb9849b435e8d709..a353e62b230bd5beb9d32b541f5209b2721c8143 100644
--- a/src/facilities/nursery/nurseryWidgets.js
+++ b/src/facilities/nursery/nurseryWidgets.js
@@ -2555,7 +2555,7 @@ App.Facilities.Nursery.ChildSummary = function(child) {
 			longImplants(child);
 			longLactation(child);
 			// longMods(child);
-			if (child.brand !== 0) {
+			if (!jQuery.isEmptyObject(child.brand)) {
 				r += `Branded. `;
 			}
 			r += `</span> `;
@@ -4741,7 +4741,7 @@ App.Facilities.Nursery.ChildSummary = function(child) {
 	// 	} else {
 	// 		r += `Mods`;
 	// 	}
-	// 	if (child.brand !== 0) {
+	// 	if (!jQuery.isEmptyObject(child.brand)) {
 	// 		r += `Br`;
 	// 	}
 	// }
@@ -9143,10 +9143,9 @@ App.Facilities.Nursery.LongChildDescription = function(child) {
 		if (V.showBodyMods) {
 			r += tats.dick(child);
 			r += piercings.dick(child);
-			r += App.Desc.brand(child, "penis");
-			r += App.Desc.brand(child, "left testicle");
-			r += App.Desc.brand(child, "right testicle");
 		}
+		r += App.Desc.brand(child, "penis");
+		r += App.Desc.brand(child, "testicle");
 
 		return r;
 	}
@@ -11523,15 +11522,10 @@ App.Facilities.Nursery.LongChildDescription = function(child) {
 				}
 			}
 
-			r += App.Desc.brand(child, "right upper arm");
-			r += App.Desc.brand(child, "right lower arm");
-			r += App.Desc.brand(child, "right hand");
-			r += App.Desc.brand(child, "right wrist");
-
-			r += App.Desc.brand(child, "left upper arm");
-			r += App.Desc.brand(child, "left lower arm");
-			r += App.Desc.brand(child, "left wrist");
-			r += App.Desc.brand(child, "left hand");
+			r += App.Desc.brand(child, "upper arm");
+			r += App.Desc.brand(child, "lower arm");
+			r += App.Desc.brand(child, "hand");
+			r += App.Desc.brand(child, "wrist");
 
 			return r;
 		}
@@ -11693,9 +11687,6 @@ App.Facilities.Nursery.LongChildDescription = function(child) {
 				}
 			}
 
-			// r += App.Desc.brand(child, "left breast");
-			// r += App.Desc.brand(child, "right breast");
-
 			return r;
 		}
 
@@ -11764,8 +11755,7 @@ App.Facilities.Nursery.LongChildDescription = function(child) {
 				}
 			}
 
-			r += App.Desc.brand(child, "left buttock");
-			r += App.Desc.brand(child, "right buttock");
+			r += App.Desc.brand(child, "buttock");
 
 			return r;
 		}
@@ -11962,8 +11952,7 @@ App.Facilities.Nursery.LongChildDescription = function(child) {
 				}
 			}
 
-			r += App.Desc.brand(child, "left shoulder");
-			r += App.Desc.brand(child, "right shoulder");
+			r += App.Desc.brand(child, "shoulder");
 
 			return r;
 		}
@@ -12505,9 +12494,7 @@ App.Facilities.Nursery.LongChildDescription = function(child) {
 					}
 			}
 
-			if (V.showBodyMods) {
-				r += App.Desc.brand(child, "pubic mound");
-			}
+			r += App.Desc.brand(child, "pubic mound");
 
 			if (!child.dick) {
 				if (child.clit > 0) {
@@ -14164,11 +14151,9 @@ App.Facilities.Nursery.LongChildDescription = function(child) {
 		}
 	}
 
-	if (V.showBodyMods) {
-		if (["cheeks", "ears", "left cheek", "left ears", "neck", "right cheek", "right ears"].includes(child.brandLocation)) {
-			App.Desc.brand(child);
-		}
-	}
+	r += App.Desc.brand(child, "cheek");
+	r += App.Desc.brand(child, "ear");
+	r += App.Desc.brand(child, "neck");
 
 	/* OPEN FAMILY */
 
@@ -15007,7 +14992,7 @@ App.Facilities.Nursery.LongChildDescription = function(child) {
 		let a = "";
 		if (!hasBothArms(child)) {
 			s = "";
-			a = "a "
+			a = "a ";
 		}
 		if (child.weight > 190) {
 			r += `${He} has ${a}hugely thick arm${s} with sagging fat rolls and `;
@@ -15111,11 +15096,10 @@ App.Facilities.Nursery.LongChildDescription = function(child) {
 
 	r += heel(child);
 
-	if (V.showBodyMods) {
-		if (["ankles", "back", "calves", "chest", "feet", "hands", "left ankle", "left calf", "left foot", "left hand", "left lower arm", "left shoulder", "left upper arm", "left wrist", "lower arms", "lower back", "right ankle", "right calf", "right foot", "right hand", "right lower arm", "right shoulder", "right upper arm", "right wrist", "shoulders", "upper arms", "wrists"].includes(child.brandLocation)) {
-			r += App.Desc.brand(child);
-		}
-	}
+	r += App.Desc.brand(child, "feet");
+	r += App.Desc.brand(child, "calf");
+	r += App.Desc.brand(child, "ankle");
+	r += App.Desc.brand(child, "extra");
 
 	r += skin(child);
 
@@ -15282,10 +15266,8 @@ App.Facilities.Nursery.LongChildDescription = function(child) {
 	if (V.showBodyMods) {
 		r += tats.boobs(child);
 	}
-	if (["left breast", "right breast"].includes(child.brandLocation)) {
-		r += App.Desc.brand(child, "breast");
-	}
-	r += App.Desc.brand(child);
+	r += App.Desc.brand(child, "chest");
+	r += App.Desc.brand(child, "breast");
 	r += shoulders(child);
 	r += App.Desc.nipples(child);
 	if (V.showBodyMods) {
@@ -15600,8 +15582,7 @@ App.Facilities.Nursery.infantToChild = function infantToChild(child) {
 	child.boobsImplant = 0,
 	child.boobsImplantType = 0,
 	child.boobsTat = 0,
-	child.brand = 0,
-	child.brandLocation = 0,
+	child.brand = {},
 	child.breastMesh = 0,
 	child.breedingMark = 0,
 	child.butt = jsRandom(0, 3),
@@ -15836,7 +15817,6 @@ App.Facilities.Nursery.infantToChild = function infantToChild(child) {
 	child.premature = 0,
 	child.prematureBirth = 0,
 	child.prestige = 0,
-	child.pronoun = child.genes === "XX" ? "she" : "he",
 	child.prostate = 0,
 	child.pubertyAgeXX = 10,
 	child.pubertyAgeXY = 12,
@@ -15915,6 +15895,7 @@ App.Facilities.Nursery.infantToChild = function infantToChild(child) {
 	child.weight = jsRandom(-10, 10),
 	child.womb = [],
 	child.wombImplant = "none";
+	generatePronouns(child);
 
 	return child;
 };
@@ -16193,6 +16174,15 @@ App.Facilities.Nursery.newChild = function newChild(child) {
 		}
 	}
 
+	child.arm = {
+		left: new App.Entity.LimbState(),
+		right: new App.Entity.LimbState()
+	};
+	child.leg = {
+		left: new App.Entity.LimbState(),
+		right: new App.Entity.LimbState()
+	};
+
 	if (child.override_Race !== 1) {
 		child.origRace = child.race;
 	}
@@ -16228,22 +16218,7 @@ App.Facilities.Nursery.newChild = function newChild(child) {
 	if (child.clone !== 0) {
 		child.canRecruit = 0;
 	}
-
-	if (child.dick > 0 && child.vagina === -1 && V.diversePronouns) {
-		child.pronoun = "he";
-		child.possessivePronoun = "his";
-		child.possessive = "his";
-		child.object = "him";
-		child.objectReflexive = "himself";
-		child.noun = "boy";
-	} else {
-		child.pronoun = "she";
-		child.possessivePronoun = "hers";
-		child.possessive = "her";
-		child.object = "her";
-		child.objectReflexive = "herself";
-		child.noun = "girl";
-	}
+	generatePronouns(child);
 	child.origin = `$He was born and raised in your arcology. `;
 	child.targetLocation = "slavery";
 	child.growTime = V.targetAgeNursery * 52;
diff --git a/src/js/DefaultRules.js b/src/js/DefaultRules.js
index a23990c28cd05e7e899a9015e7abce176776bdd1..ea9fed1411981de74e8743b79d4b162d211f2df5 100644
--- a/src/js/DefaultRules.js
+++ b/src/js/DefaultRules.js
@@ -2830,7 +2830,13 @@ window.DefaultRules = (function() {
 			if ((slave.armsTat !== rule.armsTat)) {
 				slave.armsTat = rule.armsTat;
 				cashX(forceNeg(V.modCost), "slaveMod", slave);
-				r += `<br>${slave.slaveName}'s arms have been tattooed.`;
+				r += `<br>${slave.slaveName}'s `;
+				if (hasBothArms(slave)) {
+					r += `arms have`;
+				} else {
+					r += `arm has`;
+				}
+				r += ` been tattooed.`;
 			}
 		}
 
diff --git a/src/js/economyJS.js b/src/js/economyJS.js
index 2673e62c90f1bc1f9fe3607973d490ade3de3b52..44b14fd895287308881b1c5dfeb81866c365ff61 100644
--- a/src/js/economyJS.js
+++ b/src/js/economyJS.js
@@ -859,6 +859,10 @@ window.getSlaveCost = function(s) {
 		cost += Math.trunc((drugsCost * 0.5));
 	}
 
+	if ((Job.CONCUBINE === s.assignment || s.relationship === -3) && State.variables.arcologies[0].FSPetiteAdmirationLaw === 1) {
+		cost -= 200;
+	}
+
 	// Promotion costs
 	if (State.variables.studio === 1) {
 		if (s.pornFameSpending > 0) {
@@ -1144,7 +1148,7 @@ window.slaveJobValues = function() {
 					// Complicated, I know - but it should automatically account for what acts are possible to scale the injury risk smoothly between 90% when totally unskilled
 					// and 0% when perfectly skilled in the relevant method or methods.
 
-					if (jsRandom(1,100) > skilltarget) {
+					if (jsRandom(1, 100) > skilltarget) {
 						s.health -= 10 - 7*canA*canV;		// Any limitations means an injury inflicts the harsher 10 instead of 3
 						s.minorInjury = 1;
 					}
@@ -1547,4 +1551,4 @@ window.forceNeg = function(x) {
 
 Number.prototype.toFixedHTML = function() {
 	return num(Number.prototype.toFixed.apply(this, arguments)).replace(/\.0+$/, '<span style="opacity: 0.3">$&</span>');
-};
\ No newline at end of file
+};
diff --git a/src/js/itemAvailability.js b/src/js/itemAvailability.js
index 7fc1eef370af462abe325250f5fc1230130ab837..745ab63bda8def3556d0ce4fe20131075b0d6cc2 100644
--- a/src/js/itemAvailability.js
+++ b/src/js/itemAvailability.js
@@ -43,6 +43,12 @@ window.isItemAccessible = function(string) {
 			return (V.arcologies[0].FSRomanRevivalist > 0 || V.clothesBoughtToga === 1);
 		case "Western clothing":
 			return (V.arcologies[0].FSPastoralist > 0 || V.clothesBoughtWestern === 1);
+		case "a courtesan dress":
+			return (V.arcologies[0].FSSlaveProfessionalism > 0 || V.clothesBoughtCourtesan === 1);
+		case "a bimbo outfit":
+			return (V.arcologies[0].FSIntellectualDependency > 0 || V.clothesBoughtBimbo === 1);
+		case "petite admi outfit":
+			return (V.arcologies[0].FSPetiteAdmiration > 0 || V.clothesBoughtPetite === 1);
 		case "battlearmor":
 		case "a military uniform":
 		case "a red army uniform":
@@ -129,6 +135,8 @@ window.isItemAccessible = function(string) {
 		case "striped panties":
 		case "striped underwear":
 			return (V.clothesBoughtPantsu === 1 || V.continent === "Japan");
+		case "tall shoes":
+			return (V.arcologies[0].FSStatuesqueGlorification > 0 || V.shoesBoughtHeels === 1);
 		case "bowtie":
 			return (V.arcologies[0].FSGenderFundamentalist > 0 || V.clothesBoughtBunny === 1);
 		case "ancient Egyptian":
diff --git a/src/js/slaveCostJS.js b/src/js/slaveCostJS.js
index 54d5bdc5cb646567a29e9fc87a294631bd842a48..a822306a2a86f0b28d65a6f3fdc420a85a280046 100644
--- a/src/js/slaveCostJS.js
+++ b/src/js/slaveCostJS.js
@@ -104,12 +104,43 @@ window.Beauty = (function() {
 			beauty += (slave.intelligence + slave.intelligenceImplant) / 10; /* -10 to 13 */
 		}
 	}
-	
+
 	/**
 	 * @param {App.Entity.SlaveState} slave
 	 */
 	function calcHeightBeauty(slave) {
-		beauty += (slave.height - 160) / 10;
+		if (arcology.FSPetiteAdmiration !== "unset") {
+			if (arcology.FSPetiteAdmirationLaw2 === 1) {
+				if (heightPass(slave)) {
+					beauty += (Height.mean(slave) - slave.height) * (arcology.FSPetiteAdmiration / 50);
+				} else {
+					beauty -= (slave.height - Height.mean(slave)) * (arcology.FSPetiteAdmiration / 50);
+				}
+			} else {
+				if (heightPass(slave)) {
+					let ageDiv = (slave.physicalAge >= 16) ? 1 : (16 - slave.physicalAge); // this could probably be better, but bad at math. Intent is for younger, and thus naturally shorter than the threshold, slaves receive a weaker bonus.
+					beauty += (161 - slave.height) * ((arcology.FSPetiteAdmiration / 50) + 0.5) / ageDiv;
+				} else if (slave.height >= 170) {
+					beauty -= (slave.height - 169) * (arcology.FSPetiteAdmiration / 50);
+				}
+			}
+		} else if (arcology.FSStatuesqueGlorification !== "unset") {
+			if (arcology.FSStatuesqueGlorificationLaw2 === 1) {
+				if (heightPass(slave)) {
+					beauty += (slave.height - Height.mean(slave)) * (arcology.FSStatuesqueGlorification / 50);
+				} else {
+					beauty -= (Height.mean(slave) - slave.height) * (arcology.FSStatuesqueGlorification / 50);
+				}
+			} else {
+				if (heightPass(slave)) {
+					beauty += (slave.height + heelLength(slave) - 169) * ((arcology.FSStatuesqueGlorification / 50) + 0.5);
+				} else {
+					beauty -= ((arcology.FSStatuesqueGlorification / 10) + (170 - slave.height + heelLength(slave))) * 2;
+				}
+			}
+		} else {
+			beauty += (slave.height - 160) / 10;
+		}
 	}
 
 	/**
@@ -285,7 +316,7 @@ window.Beauty = (function() {
 				beauty -= (slave.intelligenceImplant * 1.5);
 			}
 		} else if (arcology.FSSlaveProfessionalism !== "unset") {
-			if (slave.intelligenceImplant == 30) {
+			if (slave.intelligenceImplant >= 30) {
 				beauty += 5 + (arcology.FSSlaveProfessionalism / 10); /* 15 */
 			} else if (slave.intelligenceImplant >= 15) {
 				beauty += (arcology.FSSlaveProfessionalism / 20); /* 5 */
@@ -1497,9 +1528,9 @@ window.FResult = (function() {
 		V = State.variables;
 		incestBonus = V.arcologies[0].FSEgyptianRevivalist > 20 || V.arcologies[0].FSEgyptianRevivalistIncestPolicy === 1;
 
-		calcUseWeights(slave,forSale);
+		calcUseWeights(slave, forSale);
 		if (!slave.fuckdoll) {
-			calcNotFuckdoll(slave,forSale);
+			calcNotFuckdoll(slave, forSale);
 		} else {
 			result += slave.fuckdoll / 10;
 		}
@@ -1554,7 +1585,7 @@ window.FResult = (function() {
 	/**
 	 * @param {App.Entity.SlaveState} slave
 	 */
-	function calcUseWeights(slave,forSale=0) {
+	function calcUseWeights(slave, forSale=0) {
 		result = (slave.muscles / 30);
 		if (slave.muscles < -95) {
 			result -= 5;
@@ -1846,7 +1877,7 @@ window.FResult = (function() {
 	/**
 	 * @param {App.Entity.SlaveState} slave
 	 */
-	function calcNotFuckdoll(slave,forSale=0) {
+	function calcNotFuckdoll(slave, forSale=0) {
 		if (!forSale) {
 			if (V.familyTesting === 1 && totalRelatives(slave) > 0) {
 				calcWorksWithRelatives(slave);
@@ -1870,7 +1901,7 @@ window.FResult = (function() {
 			calcHearing(slave);
 		} else {
 			result += slave.hears;
-			result += Math.clamp(slave.eyes*2 + 1,-3,0);
+			result += Math.clamp(slave.eyes * 2 + 1, -3, 0);
 		}
 		if (V.arcologies[0].FSEgyptianRevivalist !== "unset") {
 			calcEgyptianBonus(slave);
@@ -1953,7 +1984,7 @@ window.slaveCost = (function() {
 		V = State.variables;
 		arcology = V.arcologies[0];
 		multiplier = V.slaveCostFactor;
-		cost = Beauty(slave) * FResult(slave,1);
+		cost = Beauty(slave) * FResult(slave, 1);
 
 		calcGenitalsCost(slave);
 		calcDevotionTrustCost(slave);
@@ -1987,7 +2018,7 @@ window.slaveCost = (function() {
 		if (slave.anus === 0 && slave.counter.anal === 0) {
 			multiplier += 0.2;
 		}
-		//Boosted these to 20% to account for the fact that it limits the skill that can be attained
+		// Boosted these to 20% to account for the fact that it limits the skill that can be attained
 		if (slave.vagina > -1 && arcology.FSRestartSMR === 1) {
 			if (slave.dick > 0) {
 				if (slave.ovaries === 0 && slave.balls === 0) {
diff --git a/src/js/slaveStatsChecker.js b/src/js/slaveStatsChecker.js
index 404c3f96a4c9cb77589d23bf7e2b4a6c995223f5..06f253d191daa9d06af349157ad6fac6d00eca77 100644
--- a/src/js/slaveStatsChecker.js
+++ b/src/js/slaveStatsChecker.js
@@ -308,9 +308,51 @@ window.slimLawPass = function(slave) {
  * @returns {boolean}
  */
 window.heightPass = function(slave) {
-	let measuresUp = false;
-	// to make the other js that calls this unfinished function not meltdown
-	return measuresUp;
+	let	V = State.variables;
+	let arcology = V.arcologies[0];
+
+	if (arcology.FSPetiteAdmiration !== "unset") {
+		if (arcology.FSPetiteAdmirationLaw2 === 1) {
+			if (slave.height < Height.mean(slave) - 5) {
+				return true;
+			}
+		} else {
+			if (slave.height < 160) {
+				return true;
+			}
+		}
+	} else if (arcology.FSStatuesqueGlorification !== "unset") {
+		if (arcology.FSStatuesqueGlorificationLaw2 === 1) {
+			if (slave.height + heelLength(slave) > Height.mean(slave) + 5) {
+				return true;
+			}
+		} else {
+			if (slave.height + heelLength(slave) >= 170) {
+				return true;
+			}
+		}
+	}
+	return false;
+};
+
+/**
+ * Returns the height, in cm, of a slave's heels
+ * @param {App.Entity.SlaveState} slave
+ * @returns {number}
+ */
+window.heelLength = function(slave) {
+	switch (slave.shoes) {
+		case "pumps":
+			// 2 inch heels
+			return 5;
+		case "heels":
+			// 5 inch heels
+			return 13;
+		case "extreme heels":
+			// 8 inch heels
+			return 21;
+	}
+	return 0;
 };
 
 /**
@@ -1222,5 +1264,5 @@ window.armsAndLegs = function(slave, arms = "arms", arm = "arm", legs = "legs",
 };
 
 window.isProstheticAvailable = function(slave, prosthetic) {
-	return slave.readyProsthetics.findIndex(function(p) {return p.id === prosthetic}) !== -1
-}
+	return slave.readyProsthetics.findIndex(function(p) { return p.id === prosthetic; }) !== -1;
+};
diff --git a/src/js/slaveSummaryWidgets.js b/src/js/slaveSummaryWidgets.js
index a88f8acfde273510775e81c77a4d623e3726a63d..840e69db27ef03a4f58af8b46d02592fc84a2b92 100644
--- a/src/js/slaveSummaryWidgets.js
+++ b/src/js/slaveSummaryWidgets.js
@@ -2365,11 +2365,11 @@ window.SlaveSummaryUncached = (function() {
 	function long_hips(slave, c) {
 		const styles = "red";
 		if (slave.hips < -1) {
-			if (slave.butt > 2 && (V.arcologies[0].FSTransformationFetishist < 20 || V.arcologies[0].FSTransformationFetishist === "unset") && (V.arcologies[0].FSHedonisticDecadence < 20 || V.arcologies[0].FSHedonisticDecadence === "unset") && (V.arcologies[0].FSAssetExpansionist < 20 || V.arcologies[0].FSAssetExpansionist === "unset")) {
+			if (slave.butt > 2 && (V.arcologies[0].FSTransformationFetishist < 20 || V.arcologies[0].FSTransformationFetishist === "unset") && (V.arcologies[0].FSHedonisticDecadence < 20 || V.arcologies[0].FSHedonisticDecadence === "unset") && (V.arcologies[0].FSAssetExpansionist < 20 || V.arcologies[0].FSAssetExpansionist === "unset") && (V.arcologies[0].FSIntellectualDependencyLawBeauty === 0)) {
 				makeSpan(c, "Disproportionately big butt.", styles);
 			}
 		} else if (slave.hips < 0) {
-			if (slave.butt > 4 && (V.arcologies[0].FSTransformationFetishist < 20 || V.arcologies[0].FSTransformationFetishist === "unset") && (V.arcologies[0].FSHedonisticDecadence < 20 || V.arcologies[0].FSHedonisticDecadence === "unset") && (V.arcologies[0].FSAssetExpansionist < 20 || V.arcologies[0].FSAssetExpansionist === "unset")) {
+			if (slave.butt > 4 && (V.arcologies[0].FSTransformationFetishist < 20 || V.arcologies[0].FSTransformationFetishist === "unset") && (V.arcologies[0].FSHedonisticDecadence < 20 || V.arcologies[0].FSHedonisticDecadence === "unset") && (V.arcologies[0].FSAssetExpansionist < 20 || V.arcologies[0].FSAssetExpansionist === "unset") && (V.arcologies[0].FSIntellectualDependencyLawBeauty === 0)) {
 				makeSpan(c, "Disproportionately big butt.", styles);
 			}
 		} else if (slave.hips > 2) {
@@ -2382,7 +2382,7 @@ window.SlaveSummaryUncached = (function() {
 			}
 		} else if (slave.hips > 0) {
 			if (slave.butt > 8) {
-				if ((V.arcologies[0].FSTransformationFetishist < 20 || V.arcologies[0].FSTransformationFetishist === "unset") && (V.arcologies[0].FSHedonisticDecadence < 20 || V.arcologies[0].FSHedonisticDecadence === "unset") && (V.arcologies[0].FSAssetExpansionist < 20 || V.arcologies[0].FSAssetExpansionist === "unset")) {
+				if ((V.arcologies[0].FSTransformationFetishist < 20 || V.arcologies[0].FSTransformationFetishist === "unset") && (V.arcologies[0].FSHedonisticDecadence < 20 || V.arcologies[0].FSHedonisticDecadence === "unset") && (V.arcologies[0].FSAssetExpansionist < 20 || V.arcologies[0].FSAssetExpansionist === "unset") && (V.arcologies[0].FSIntellectualDependencyLawBeauty === 0)) {
 					makeSpan(c, "Disproportionately big butt.", styles);
 				}
 			} else if (slave.butt <= 2 && ((V.arcologies[0].FSSlimnessEnthusiast === "unset") || (slave.boobs >= 500))) {
@@ -2390,7 +2390,7 @@ window.SlaveSummaryUncached = (function() {
 			}
 		} else {
 			if (slave.butt > 6) {
-				if ((V.arcologies[0].FSTransformationFetishist < 20 || V.arcologies[0].FSTransformationFetishist === "unset") && (V.arcologies[0].FSHedonisticDecadence < 20 || V.arcologies[0].FSHedonisticDecadence === "unset") && (V.arcologies[0].FSAssetExpansionist < 20 || V.arcologies[0].FSAssetExpansionist === "unset")) {
+				if ((V.arcologies[0].FSTransformationFetishist < 20 || V.arcologies[0].FSTransformationFetishist === "unset") && (V.arcologies[0].FSHedonisticDecadence < 20 || V.arcologies[0].FSHedonisticDecadence === "unset") && (V.arcologies[0].FSAssetExpansionist < 20 || V.arcologies[0].FSAssetExpansionist === "unset") && (V.arcologies[0].FSIntellectualDependencyLawBeauty === 0)) {
 					makeSpan(c, "Disproportionately big butt.", styles);
 				}
 			} else if (slave.butt <= 1 && ((V.arcologies[0].FSSlimnessEnthusiast === "unset") || (slave.boobs >= 500))) {
diff --git a/src/js/surgery.js b/src/js/surgery.js
index 71187e5c56be2853a74faf7a88fe24103e6411a7..dcd5c5a92c8e0a80e04afe18b9ebc9cf0197cd51 100644
--- a/src/js/surgery.js
+++ b/src/js/surgery.js
@@ -648,7 +648,7 @@ window.beginFuckdoll = function(slave) {
 	slave.choosesOwnClothes = 0;
 	slave.clothes = "a Fuckdoll suit";
 	slave.collar = "none";
-	if ((slave.missingLegs !== 3) || (slave.shoes !== "none")) {
+	if ((!hasAnyLegs(slave)) || (slave.shoes !== "none")) {
 		slave.shoes = "heels";
 	}
 	slave.armAccessory = "none";
diff --git a/src/js/vignettes.js b/src/js/vignettes.js
index 78a234adbdedcf15106cbbccb8c920450ec8df41..b4d5e1a5b7ecb688e3fdd216ce17b2cc028ad557 100644
--- a/src/js/vignettes.js
+++ b/src/js/vignettes.js
@@ -240,7 +240,7 @@ window.GetVignette = function GetVignette(slave) {
 						effect: 1,
 					});
 					vignettes.push({
-						text: `${he} disgusted a customer who didn't know how much butts turned them off until ${he} put ${his} hands on theirs,`,
+						text: `${he} disgusted a customer who didn't know how much butts turned them off until he put his hands on ${hers},`,
 						type: "rep",
 						effect: -1,
 					});
@@ -1673,6 +1673,81 @@ window.GetVignette = function GetVignette(slave) {
 				});
 			}
 		}
+		if (V.arcologies[0].FSIntellectualDependency !== "unset") {
+			if (slave.energy < 70) {
+				vignettes.push({
+					text: `${he} was called a dead fish by an irate customer unsatisfied by ${his} libido,`,
+					type: "trust",
+					effect: -1,
+				});
+			}
+			if (slave.intelligence + slave.intelligenceImplant < -50) {
+				vignettes.push({
+					text: `a gameshow host asked to hire ${him} for a taping so ${he} could provide comedic relief when compared to the actual contestants,`,
+					type: "cash",
+					effect: 2,
+				});
+			}
+		} else if (V.arcologies[0].FSSlaveProfessionalism !== "unset") {
+			if (slave.intelligence + slave.intelligenceImplant > 95) {
+				vignettes.push({
+					text: `${he} got repeat business from a customer that wanted to continue their post-coital conversation,`,
+					type: "cash",
+					effect: 2,
+				});
+			} else if (slave.intelligence + slave.intelligenceImplant <= 10 && canTalk(slave)) {
+				vignettes.push({
+					text: `a customer complained about the idiotic statements that kept leaving ${his} mouth,`,
+					type: "rep",
+					effect: -1,
+				});
+			}
+			if (canTalk(slave) && slave.accent > 1) {
+				vignettes.push({
+					text: `${he} was publicly ridiculed for not being able to properly speak,`,
+					type: "rep",
+					effect: -1,
+				});
+			}
+		}
+		if (V.arcologies[0].FSStatuesqueGlorification !== "unset") {
+			if (!heightPass(slave)) {
+				vignettes.push({
+					text: `${he} lost a customer who refused to be seen with such a short bitch,`,
+					type: "cash",
+					effect: -1,
+				});
+				vignettes.push({
+					text: `${he} got repeat business from a hungry customer with a taste for short ${boy}s,`,
+					type: "cash",
+					effect: 2,
+				});
+			} else if (slave.height >= 230) {
+				vignettes.push({
+					text: `${he} lost a customer who was so intimidated by ${his} height that they couldn't get aroused,`,
+					type: "cash",
+					effect: -1,
+				});
+				vignettes.push({
+					text: `${he} got repeat business from a customer ecstatic to finally fuck someone taller than themself,`,
+					type: "cash",
+					effect: 1,
+				});
+			}
+		} else if (V.arcologies[0].FSPetiteAdmiration !== "unset") {
+			if (heightPass(slave)) {
+				vignettes.push({
+					text: `${he} got repeat business from a customer whose crotch was the perfect height for ${his} mouth,`,
+					type: "cash",
+					effect: 1,
+				});
+				vignettes.push({
+					text: `${he} got used as a foot rest by a customer while they enjoyed taller fair,`,
+					type: "health",
+					effect: -1,
+				});
+			}
+		}
 		if (V.arcologies[0].FSChattelReligionist !== "unset") {
 			if (slave.behavioralFlaw === "devout") {
 				vignettes.push({
@@ -2133,7 +2208,7 @@ window.GetVignette = function GetVignette(slave) {
 						effect: 1,
 					});
 					vignettes.push({
-						text: `${he} disgusted a citizen who didn't know how much butts turned them off until ${he} put ${his} hands on theirs,`,
+						text: `${he} disgusted a citizen who didn't know how much butts turned them off until he put his hands on ${hers},`,
 						type: "rep",
 						effect: -1,
 					});
@@ -3566,6 +3641,81 @@ window.GetVignette = function GetVignette(slave) {
 				});
 			}
 		}
+		if (V.arcologies[0].FSIntellectualDependency !== "unset") {
+			if (slave.energy < 70) {
+				vignettes.push({
+					text: `${he} was called a dead fish by an irate citizen unsatisfied by ${his} libido,`,
+					type: "trust",
+					effect: -1,
+				});
+			}
+			if (slave.intelligence + slave.intelligenceImplant < -50) {
+				vignettes.push({
+					text: `${he} was asked to compete in a trivia contest with several other airheads, ${he} was a hit with ${his} audience,`,
+					type: "rep",
+					effect: 1,
+				});
+			}
+		} else if (V.arcologies[0].FSSlaveProfessionalism !== "unset") {
+			if (slave.intelligence + slave.intelligenceImplant > 95) {
+				vignettes.push({
+					text: `${he} spent a lot of time with a citizen that wanted a follow-up on their post-coital conversation,`,
+					type: "rep",
+					effect: 2,
+				});
+			} else if (slave.intelligence + slave.intelligenceImplant <= 10 && canTalk(slave)) {
+				vignettes.push({
+					text: `a citizen loudly complained about the idiotic statements that kept leaving ${his} mouth,`,
+					type: "rep",
+					effect: -1,
+				});
+			}
+			if (canTalk(slave) && slave.accent > 1) {
+				vignettes.push({
+					text: `${he} was publicly ridiculed for not being able to properly speak,`,
+					type: "rep",
+					effect: -1,
+				});
+			}
+		}
+		if (V.arcologies[0].FSStatuesqueGlorification !== "unset") {
+			if (!heightPass(slave)) {
+				vignettes.push({
+					text: `${he} upset a citizen who refused to be seen with such a short bitch,`,
+					type: "rep",
+					effect: -1,
+				});
+				vignettes.push({
+					text: `${he} gratified a citizen with a secret fetish for short ${boy}s,`,
+					type: "rep",
+					effect: 1,
+				});
+			} else if (slave.height >= 230) {
+				vignettes.push({
+					text: `${he} terrified a young citizen to the brink of tears with ${his} staggering height,`,
+					type: "rep",
+					effect: -1,
+				});
+				vignettes.push({
+					text: `${he} gratified a citizen ecstatic to finally fuck someone taller than themself,`,
+					type: "rep",
+					effect: 1,
+				});
+			}
+		} else if (V.arcologies[0].FSPetiteAdmiration !== "unset") {
+			if (heightPass(slave)) {
+				vignettes.push({
+					text: `${he} gratified a citizen whose crotch was the perfect height for ${his} mouth,`,
+					type: "rep",
+					effect: 1,
+				});
+				vignettes.push({
+					text: `a short customer used ${him} as a footstool to steal a kiss from a taller slut,`,
+					type: "health",
+					effect: -1,
+				});
+			}
+		}
 		if (V.arcologies[0].FSChattelReligionist !== "unset") {
 			if (slave.behavioralFlaw === "devout") {
 				vignettes.push({
diff --git a/src/npc/descriptions/fPoolSex.tw b/src/npc/descriptions/fPoolSex.tw
index 9c5c92d1a60530d2a1e3f9325c99fba8266c1ac3..116232cbf64855e3d18da6af43d20ec505c556ab 100644
--- a/src/npc/descriptions/fPoolSex.tw
+++ b/src/npc/descriptions/fPoolSex.tw
@@ -6,7 +6,7 @@
 You order $him to meet you in the spa for some quality time in the penthouse's rejuvenating gelatin pool. When you get there, $he's already in $his bathing attire, reclined at the side of the pool farthest from you with $his massive $activeSlave.skin stomach hanging over the edge and half sunk in the thick, steaming ooze, flushed and sweaty.
 <<if $activeSlave.devotion > 95>>
 	<<if !isAmputee($activeSlave)>>
-		$He's resting $his head on one arm, but $he gives you a little wave <<if missingArms != 0>>anyway<<else>>with the other<</if>> before setting it to rubbing the flank of one
+		$He's resting $his head on one arm, but $he gives you a little wave <<if !hasBothArms($activeSlave)>>anyway<<else>>with the other<</if>> before setting it to rubbing the flank of one
 		<<if $activeSlave.boobs >= 20000>>
 			massively overgrown tit
 		<<elseif Math.floor($activeSlave.boobsImplant/$activeSlave.boobs) >= .60>>
diff --git a/src/pregmod/fAnimalImpregConsummate.tw b/src/pregmod/fAnimalImpregConsummate.tw
index d9a87486a8c0279734535c5af6a6ff37e2d03d99..bfe0a4fc12557f5131f61752518a31aa57809d2b 100644
--- a/src/pregmod/fAnimalImpregConsummate.tw
+++ b/src/pregmod/fAnimalImpregConsummate.tw
@@ -3,4 +3,4 @@
 /* TODO: all of this */
 
 <<set _animal = $impregnatrix>>
-You have a servant lead the <<if _animal.species != "dog" || _animal.species != "cat">><<print _animal.species>><<else>><<print _animal.breed>><</if>> in on a leash and feed him a special treat, one laced with high amounts of aphrodasiacs and vasodilators. They have an effect very rapidly, and the <<if _animal.species != "dog" || _animal.species != "cat">><<print _animal.species>><<else>><<print _animal.breed>><</if>>'s <<print _animal.dickSize>> cock quickly stands at attention.
\ No newline at end of file
+You have a servant lead the <<if _animal.species != "dog" || _animal.species != "cat">><<print _animal.species>><<else>><<print _animal.breed>><</if>> in on a leash and feed him a special treat, one laced with high amounts of aphrodisiacs and vasodilators. They have an effect very rapidly, and the <<if _animal.species != "dog" && _animal.species != "cat">><<print _animal.species>><<else>><<print _animal.breed>><</if>>'s <<print _animal.dickSize>> cock quickly stands at attention.
\ No newline at end of file
diff --git a/src/pregmod/seFCTVshows.tw b/src/pregmod/seFCTVshows.tw
index 11db72645623c0771e92272e4dce94a64f1a7489..ba109646e0c4612f530ddc9057dcbd4cae8814c9 100644
--- a/src/pregmod/seFCTVshows.tw
+++ b/src/pregmod/seFCTVshows.tw
@@ -58,7 +58,7 @@
 			<<run _randShowArray.splice($randShow, 1)>>
 			<<continue>>
 		<</if>>
-		<<if $seeDicks == 0 && $makeDicks == 0 && [10,16].includes($randShow)>>			
+		<<if $seeDicks == 0 && $makeDicks == 0 && [10,16].includes($randShow)>>
 			There is an audible tone from your screen, which then displays a message: <i>Too many hot dogs detected, changing program.</i><br>
 			<<run _randShowArray.splice($randShow, 1)>>
 			<<continue>>
@@ -220,7 +220,7 @@
 	<<if _usedRemote>>
 		You choose
 	<<else>>
-		It looks like the random function chose 
+		It looks like the random function chose
 	<</if>>
 	to play <<if $showTwo < 12>>the newest episode of a<<else>>a repeat of the<</if>> popular competitive reality show<<if $showTwo > 0>>: Next Top Breeder.<<else>> where several female citizens are competing for something.<</if>> The intro sequence shows a succession of beautiful ladies either participating in a mixture of contrived competitions, or talking and going about their lives in a sorority-like setting. The montage is overlaid with a narrator's voice: "12 of Canadia Arcology's most attractive women are all competing for the privilege of having the arcology owner's children. Clint Miles has desirable genes, and these ladies are determined to prove their worth as gestators. And here in Canadia, there are no restrictions on fertility drugs for the winner, so the competition this season is fierce! <<if $showTwo < 12>>_rerun<<else>>$showTwo<</if>> lad<<if $showTwo > 0>>ies have<<else>>y has<</if>> already been sent packing, who will be Canadia's... Next Top Breeder!?" The title finally pops up, redundantly labeling the show as 'Next Top Breeder: Canadia'.
 	<br><br>
@@ -1150,7 +1150,7 @@
 		<<else>>
 			The random function has brought up another episode of that drama series for you.
 		<</if>>
-	<</if>> 
+	<</if>>
 	<<if $showTwelve == 1>>
 		For a moment you consider changing the channel, but you decide to give it a shot.
 		<br><br>The woman posed in the mirror. She was tall for a woman, fair skinned, and wore a keyhole sweater dress. Her scarlet hair was done in a braid down her back and her plump lips were covered in ruby red lipstick. She was slender, but not intolerably so; at the very least, she filled out her dress enough to avoid being arrested for indecency. All in all, the woman's reflection made for a pleasant picture. The only thing detracting from this scene was her glare.
@@ -1337,16 +1337,16 @@
 		<br><br>
 		The radio crackles to life again. "Everything locked down here. Charlie, get down here and get these supplies. Recon, meet us at the LZ. Over."
 		"This is Charlie, moving to secure."
-		"Recon, moving out."	
+		"Recon, moving out."
 			"Recon, moving out."
-		"Recon, moving out."	
+		"Recon, moving out."
 		<br><br>
 		The screen is closed as the pool of heat in the middle slowly cools. The camera and computer are grabbed and the recon team leaves the vantage point.
 	<<elseif $showThirteen == 2>>
 		<<if _usedRemote>>
 			You jump
 		<<else>>
-			The random function has skipped straight 
+			The random function has skipped straight
 		<</if>>
 		to the middle of yet another "real life" documentary.
 		<br><br>
@@ -1393,7 +1393,7 @@
 		<<if _usedRemote>>
 			You select
 		<<else>>
-			The random function seems to have selected 
+			The random function seems to have selected
 		<</if>>
 		a program about the nuances of slave life.
 		<br><br>
@@ -1660,7 +1660,7 @@
 		<<if _usedRemote>>
 			You begin
 		<<else>>
-			The random function begins 
+			The random function begins
 		<</if>>
 		playing a Free Cities documentary on the benefits of aphrodisiacs, which is almost halfway over. A montage of out-of-context shots of injectors, suppositories, and bottles of liquid interspersed with very horny, sweaty slaves needily grinding on each other plays before cutting back to the presenter, a gorgeous young woman with long, brown hair in a tight one-piece red dress and matching heels. Her dress, practically a second skin, proudly reveals that she definitely isn't wearing a bra or panties of any kind but still leaves plenty up to the imagination increasing her enticing presence. She's with a handsome man in a lab coat, and they're sitting on a couch in an office with a microphone on a coffee table between them.
 		<br>
diff --git a/src/pregmod/seHuskSlaveDelivery.tw b/src/pregmod/seHuskSlaveDelivery.tw
index 39cd7e6b8fe76124803f697a7391b92736dc86fd..376c21d52c5ebf10f186460647dff1091bc3be4a 100644
--- a/src/pregmod/seHuskSlaveDelivery.tw
+++ b/src/pregmod/seHuskSlaveDelivery.tw
@@ -28,7 +28,7 @@
 <<set $activeSlave.fetish = "mindbroken">>
 <<set $activeSlave.fetishStrength = 10>>
 <<set $activeSlave.fetishKnown = 1>>
-<<set $activeSlave.career = "a fuckdoll">>
+<<set $activeSlave.career = "a Fuckdoll">>
 <<set $activeSlave.behavioralFlaw = "none">>
 <<set $activeSlave.behavioralQuirk = "none">>
 <<set $activeSlave.sexualFlaw = "none">>
diff --git a/src/pregmod/sePlayerBirth.tw b/src/pregmod/sePlayerBirth.tw
index 855c01e9c4fa7330bde293816ad67fd564288fab..71e34c16cff2fe3f501d90f5307d20a2fb23089c 100644
--- a/src/pregmod/sePlayerBirth.tw
+++ b/src/pregmod/sePlayerBirth.tw
@@ -207,6 +207,8 @@ You arrange yourself to give birth, relaxing until your body urges you to begin
 				You don't know how _he2 managed to get you here when _his2 balls prevent _him2 from walking<<if $PC.pregType >= 8>>, especially with how heavy your pregnancy was<</if>>, but you give the pair a gentle caress as thanks. _He2 returns the kindness with a shudder and a large wet spot forming over _his2 crotch.
 			<<elseif tooFatSlave($Concubine)>>
 				You don't know how _he2 managed to get you here when _he2's so fat _he2 can't walk<<if $PC.pregType >= 8>>, especially with how heavy your pregnancy was<</if>>, but you give _his2 soft body a gentle caress as thanks.
+			<<elseif !hasAnyLegs($Concubine)>>
+				You don't know how _he2 managed to get you here when _he2 has no legs to walk on<<if $PC.pregType >= 8>>, especially with how heavy your pregnancy was<</if>>, but you give _his2 stumps a gentle caress as thanks.
 			<<else>>
 				You don't know how _he2 managed to get you here, since _he2 can't walk<<if $PC.pregType >= 8>>, especially with how heavy your pregnancy was<</if>>, but you're thankful either way.
 			<</if>>
diff --git a/src/pregmod/widgets/pregmodWidgets.tw b/src/pregmod/widgets/pregmodWidgets.tw
index 5bfcb52ef333d506c7576ce852e24ce39867d03f..4d112836bd7a17d0960911e950d31893859c0cae 100644
--- a/src/pregmod/widgets/pregmodWidgets.tw
+++ b/src/pregmod/widgets/pregmodWidgets.tw
@@ -552,6 +552,15 @@
 	<<run delete $args[0].amp>>
 	<<run delete $args[0].missingLegs>>
 	<<run delete $args[0].missingArms>>
+<<elseif ndef $args[0].arm>>
+	<<set $args[0].arm = {
+		left: new App.Entity.LimbState(),
+		right: new App.Entity.LimbState()
+	}>>
+	<<set $args[0].leg = {
+		left: new App.Entity.LimbState(),
+		right: new App.Entity.LimbState()
+	}>>
 <</if>>
 
 <<if hasAnyProstheticLimbs($args[0])>>
diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
index bdb45c0fb8dbd386c9c4aff7c3c5fc57447296d8..0b116f26af6d9b1b7167ce197d77a95ef84e4c46 100644
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ b/src/uncategorized/BackwardsCompatibility.tw
@@ -98,6 +98,26 @@
 	<<set $scarDesign = {primary: "generic", local: "generic"}>>
 <</if>>
 
+<<if !$customSlave.hasOwnProperty("leg")>>
+	<<if def $customSlave.amp && $customSlave.amp === 1>>
+		<<set $customSlave.leg = {left: null, right: null}>>
+	<<else>>
+		<<set $customSlave.leg = {left: new App.Entity.LimbState(), right: new App.Entity.LimbState()}>>
+	<</if>>
+<</if>>
+
+<<if !$customSlave.hasOwnProperty("arm")>>
+	<<if def $customSlave.amp && $customSlave.amp === 1>>
+		<<set $customSlave.arm = {left: null, right: null}>>
+	<<else>>
+		<<set $customSlave.arm = {left: new App.Entity.LimbState(), right: new App.Entity.LimbState()}>>
+	<</if>>
+<</if>>
+
+<<if $customSlave.hasOwnProperty("amp")>>
+	<<run delete $customSlave.amp>>
+<</if>>
+
 <<if !$customSlave.hasOwnProperty("skill")>>
 	<<set $customSlave.skill = {whore: 15, combat: 0}>>
 <</if>>
diff --git a/src/uncategorized/REFI.tw b/src/uncategorized/REFI.tw
index 881d7646dbffc1649beee8b416e30fa806b3b592..bb7274fae62aabe0bbd9151606af2c63362c6cde 100644
--- a/src/uncategorized/REFI.tw
+++ b/src/uncategorized/REFI.tw
@@ -493,7 +493,9 @@ It seems $he passed by while you were drinking from $subSlave.slaveName and foun
 /* 000-250-006 */
 
 $subSlave.slaveName is <<if $subSlave.vagina > 0 || $subSlave.anus > 0>>riding another slave, _his2 hands pinning _himU down<<else>>straddling another slave, _his2 <<if $subSlave.dick > 0>>cock in _hisU mouth<<else>><<if $subSlave.vagina > 0>>pussy<<else>>ass<</if>>pressed to _hisU face<</if>><</if>>. The slave_girlU had been disobedient, and _hisU punishment was to let $subSlave.slaveName dominate _himU. The truth is this is also _his2 reward; _he2 is such a dominant that _he2's prone to lashing out at your other slaves if _he2 isn't given a proper outlet. Sure enough, _his2 moans begin to increase in pitch and frequency, reaching a crescendo as _he2 comes to an orgasm. Once you feel the poor _girlU beneath _him2 has had enough, you give $subSlave.slaveName the order to dismount. _He2 leaves your office with a smile on _his2 face, passing <<EventNameLink $activeSlave>>, who is
-<<if !hasAnyLegs($activeSlave)>>
+<<if isAmputee($activeSlave)>>
+	propped limblessly nearby. $He has
+<<elseif !hasAnyLegs($activeSlave)>>
 	propped helplessly nearby. $He has
 <<elseif !canWalk($activeSlave)>>
 	kneeling in the doorway with
@@ -550,7 +552,9 @@ It seems $he passed by while $subSlave.slaveName was dominating the other slave<
 /* 000-250-006 */
 
 $subSlave.slaveName is lying on the edge of your desk with _his2<<if $subSlave.belly >= 1500>> bloated<</if>> body helpless beneath you, your <<if $PC.dick == 1>>dick<<else>>strap-on<</if>> in _him2, and your hands around _his2 neck. It's just breath play, and you're practiced enough that _he2's in no danger. _He2's such a sexual submissive that _he2 sometimes acts out if not managed. This happens when _he2 feels the urge to misbehave in order to access punishment, so you personally ensure that _he2 can indulge _his2 submissiveness when _he2 needs it. _He2 does not orgasm with you, _his2 complete servitude to your pleasure fulfilling a deeper need than that. _He2 leaves your office with a serene look on _his2 face, passing <<EventNameLink>>, who is
-<<if !hasAnyLegs($activeSlave)>>
+<<if isAmputee($activeSlave)>>
+	propped limblessly nearby. $He has
+<<elseif !hasAnyLegs($activeSlave)>>
 	propped helplessly nearby. $He has
 <<elseif !canWalk($activeSlave)>>
 	kneeling in the doorway with
diff --git a/src/uncategorized/RETS.tw b/src/uncategorized/RETS.tw
index d7f1073710b380257117f8cfdc4737db53c75313..44fcafd23b19dcf060f3af23120ae013286ad82d 100644
--- a/src/uncategorized/RETS.tw
+++ b/src/uncategorized/RETS.tw
@@ -646,7 +646,7 @@ $subSlave.slaveName keeps _his2 eyes clamped shut and _his2 hand<<if hasBothArms
 
 <<set $subSlave.counter.anal++, $analTotal++>>
 <<set _belly = bellyAdjective($subSlave)>>
-As you pass the showers, you hear what sounds like a muffled altercation over the noise of the showers running. You look in to see $subSlave.slaveName's $subSlave.skin body facing you, pressed hard up against the glass wall of one of the showers. _His2 <<if $subSlave.face > 95>>gorgeous<<elseif $subSlave.face > 40>>beautiful<<elseif $subSlave.face > 10>>pretty<<elseif $subSlave.face >= -10>>attractive<<else>>homely<</if>> face<<if $subSlave.belly >= 5000>> and <<if $subSlave.bellyPreg >= 5000>>pregnant<<else>>_belly<</if>> belly are<<else>> is<</if>> smashed against the glass, <<if $subSlave.belly >= 5000>>_his2 face <</if>>contorted in pain and fear. The apparent mystery is solved when you notice that there are four legs visible: there's a pair of <<if ($activeSlave.muscles > 95)>>ripped<<elseif ($activeSlave.muscles > 30)>>muscular<<elseif ($activeSlave.muscles > 5)>>toned<<else>>soft<</if>> $activeSlave.skin calves behind $subSlave.slaveName's. <<EventNameLink>>'s face appears at $subSlave.slaveName's ear, and though you can't hear exactly what $he says, it's something along the lines of "Take it, you whiny little bitch." $He's clearly got <<if canPenetrate($activeSlave)>>$his cock<<else>>a couple of fingers<</if>> up $subSlave.slaveName's asshole.
+As you pass the showers, you hear what sounds like a muffled altercation over the noise of the showers running. You look in to see $subSlave.slaveName's $subSlave.skin body facing you, pressed hard up against the glass wall of one of the showers. _His2 <<if $subSlave.face > 95>>gorgeous<<elseif $subSlave.face > 40>>beautiful<<elseif $subSlave.face > 10>>pretty<<elseif $subSlave.face >= -10>>attractive<<else>>homely<</if>> face<<if $subSlave.belly >= 5000>> and <<if $subSlave.bellyPreg >= 5000>>pregnant<<else>>_belly<</if>> belly are<<else>> is<</if>> smashed against the glass, <<if $subSlave.belly >= 5000>>_his2 face <</if>>contorted in pain and fear. The apparent mystery is solved when you notice that there are <<if hasBothLegs($activeSlave) && hasBothLegs($subSlave)>>four<<elseif hasBothLegs($activeSlave) || hasBothLegs($subSlave)>>three<<else>>two<</if>> legs visible: there's a <<if hasBothLegs($activeSlave)>>pair of <</if>><<if ($activeSlave.muscles > 95)>>ripped<<elseif ($activeSlave.muscles > 30)>>muscular<<elseif ($activeSlave.muscles > 5)>>toned<<else>>soft<</if>> $activeSlave.skin cal<<if hasBothLegs($activeSlave)>>ves<<else>>f<</if>> behind $subSlave.slaveName's. <<EventNameLink>>'s face appears at $subSlave.slaveName's ear, and though you can't hear exactly what $he says, it's something along the lines of "Take it, you whiny little bitch." $He's clearly got <<if canPenetrate($activeSlave)>>$his cock<<else>>a couple of fingers<</if>> up $subSlave.slaveName's asshole.
 <br><br>
 Both slaves notice you at the same time. $subSlave.slaveName's <<if canSee($subSlave)>><<= App.Desc.eyeColor($subSlave)>> eyes widen<<else>>face lights up<</if>>, but _his2 momentary look of hope is snuffed out when _he2 remembers who you are. $activeSlave.slaveName, on the other hand, looks a little doubtful. The rules allow $him to fuck your other slaves, but $he isn't quite sure what the right thing to do is, since $he isn't the most dominant force in the showers any more.
 
diff --git a/src/uncategorized/costsReport.tw b/src/uncategorized/costsReport.tw
index d2ef863fe407a933bb9b58e07f1fbc4d681fc8c4..06f0efb4c51cb308bf4bb595d7507066c3a74c89 100644
--- a/src/uncategorized/costsReport.tw
+++ b/src/uncategorized/costsReport.tw
@@ -711,7 +711,7 @@ $researchLab.level > 0>>
 		<<set _individualCosts += 5>>
 	<</if>>
 	<<if ($slaves[$i].assignment != "work in the dairy" || $dairyRestraintsSetting < 2) && ($slaves[$i].assignment != "be confined in the arcade")>>
-		<<if (!hasAllNaturalLimbs()$slaves[$i]))>>
+		<<if (!hasAllNaturalLimbs($slaves[$i]))>>
 			<<if (isAmputee($slaves[$i]))>>
 				<br>&nbsp;&nbsp;&nbsp;&nbsp;<i>Increased living expenses due to limblessness:</i>
 				@@.yellowgreen;<<print cashFormat($rulesCost)>>@@
@@ -860,7 +860,13 @@ $researchLab.level > 0>>
 			@@.yellowgreen;<<print cashFormat($slaves[$i].pornFameSpending/$PCSlutContacts)>>@@
 			<<set _individualCosts += ($slaves[$i].pornFameSpending/$PCSlutContacts)>>
 		<</if>>
-	<</if>> <<set _total += Math.trunc(_individualCosts)>>
+	<</if>>
+	<<if (($slaves[$i].assignment == "be your Concubine" ||$slaves[$i].relationship == -3) && $arcologies[0].FSPetiteAdmirationLaw == 1)>>
+		<br>&nbsp;&nbsp;&nbsp;&nbsp;<i>Big & Small Subsidy:</i>
+		@@.yellowgreen;<<print cashFormat(-200)>>@@
+		<<set _individualCosts -= 200>>
+	<</if>>
+	<<set _total += Math.trunc(_individualCosts)>>
 	<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__Total__:
 	@@.yellowgreen;<<print cashFormat(Math.trunc(_individualCosts))>>@@
 	<br>
diff --git a/src/uncategorized/costsWidgets.tw b/src/uncategorized/costsWidgets.tw
index f1176bc20ffd875cd7eb6f071eba64fc01f336f5..7a5bb8e29e9d168af18f6486b7a1c9eea70dec7a 100644
--- a/src/uncategorized/costsWidgets.tw
+++ b/src/uncategorized/costsWidgets.tw
@@ -400,7 +400,13 @@
 			@@.yellowgreen;<<print cashFormat($args[0].pornFameSpending/$PCSlutContacts)>>@@
 			<<set _individualCosts += ($args[0].pornFameSpending/$PCSlutContacts)>>
 		<</if>>
-	<</if>> <<set _total += Math.trunc(_individualCosts)>>
+	<</if>>
+	<<if (($args[0].assignment == "be your Concubine" ||$args[0].relationship == -3) && $arcologies[0].FSPetiteAdmirationLaw == 1)>>
+		<br>&nbsp;&nbsp;&nbsp;&nbsp;<i>Big & Small Subsidy:</i>
+		@@.yellowgreen;<<print cashFormat(-200)>>@@
+		<<set _individualCosts -= 200>>
+	<</if>>
+	<<set _total += Math.trunc(_individualCosts)>>
 	<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;__Predicted expense__: @@.red;<<print cashFormat(Math.trunc(_individualCosts))>>@@
 	<<if $assistantPower > 0>>
 		<<if $args[0].lastWeeksCashIncome > 0>>
diff --git a/src/uncategorized/longSlaveDescription.tw b/src/uncategorized/longSlaveDescription.tw
index 18b20ea4964cf77720d529eac7e71c7adbafe566..b6ed59e170e5dcec2bccc7c395484fa064eb1e15 100644
--- a/src/uncategorized/longSlaveDescription.tw
+++ b/src/uncategorized/longSlaveDescription.tw
@@ -1675,6 +1675,27 @@ is
 	$His body is a perfect example of a subhuman who has accepted their place in society.
 <</if>>
 
+<<if $arcologies[0].FSIntellectualDependencyLawBeauty == 1>>
+	$He currently is graded
+	<<switch bimboScore($activeSlave)>>
+	<<case 6>>
+		an S-class
+	<<case 5>>
+		an A-class
+	<<case 4>>
+		a B-class
+	<<case 3>>
+		a C-class
+	<<case 2>>
+		a D-class
+	<<case 1>>
+		an E-class
+	<<default>>
+		an F-class
+	<</switch>>
+	bimbo by societal trends.
+<</if>>
+
 <<if ($showScores != 0)>>
 	<<set $FResult = FResult($activeSlave)>>
 	Currently, $he has an @@.pink;''attractiveness score'' of __''$beauty''__@@ and a @@.lightcoral;''sexual score'' of __''$FResult''__.@@
diff --git a/src/uncategorized/multiImplant.tw b/src/uncategorized/multiImplant.tw
index e2b573f9867c2ecdbf2df6b85f0f0c933de019f4..210e0eb9a3e3c99a4043d1eabcfc0b81b15dd0b3 100644
--- a/src/uncategorized/multiImplant.tw
+++ b/src/uncategorized/multiImplant.tw
@@ -1007,122 +1007,122 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized
 
 	/* start prosthetics */
 	<<if _prostheticCount > 0>>
-	<<for _k = 0; _k < $adjustProsthetics.length; _k++>>
-	<<set _p = $adjustProsthetics[_k]>>
-	<<if _p.slaveID == $activeSlave.ID && _p.workLeft <= 0>>
-		<<set $adjustProsthetics.splice(_k, 1), _k-->>
-		<<set $activeSlave.readyProsthetics.push({id: _p.id})>>
-		<br><hr>
-		<<switch _p.id>>
-		<<case "ocular">>
-			<<if $activeSlave.eyes < -1>>
-				<<set $activeSlave.eyesImplant = 1, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20, $surgeryType = "ocular implant">>
-				<<include "Surgery Degradation">>
-			<<else>>
-				//Since $he has working eyes the <<= setup.prosthetics.ocular.name>> will be put into storage.//
-			<</if>>
-		<<case "cochlear">>
-			<<if $activeSlave.hears != 0>>
-				<<set $activeSlave.earImplant = 1, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20, $surgeryType = "cochlear implant">>
-				<<include "Surgery Degradation">>
-			<<else>>
-				//Since $he has working ears the <<= setup.prosthetics.cochlear.name>> will be put into storage.//
-			<</if>>
-		<<case "electrolarynx">>
-			<<if $activeSlave.voice <= 0>>
-				<<set $activeSlave.electrolarynx = 1, $activeSlave.voice = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20, $surgeryType = "electrolarynx">>
-				<<include "Surgery Degradation">>
-			<<else>>
-				//Since $he has a voice the <<= setup.prosthetics.electrolarynx.name>> will be put into storage.//
-			<</if>>
-		<<case "interfaceP1">>
-			<<if hasAnyNaturalLimbs($activeSlave)>>
-				//Since $he has at least one healthy limb the <<= setup.prosthetics.interfaceP1.name>> will be put into storage.//
-			<<elseif $activeSlave.PLimb == 2>>
-				//Since $he already has <<= addA(setup.prosthetics.interfaceP2.name)>> installed the <<= setup.prosthetics.interfaceP1.name>> will be put into storage.//
-			<<else>>
-				<<set $activeSlave.PLimb = 1, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20, $surgeryType = "PLimb interface1">>
-				<<include "Surgery Degradation">>
-			<</if>>
-		<<case "interfaceP2">>
-			<<if hasAnyNaturalLimbs($activeSlave)>>
-				//Since $he has at least ine healthy limb the <<= setup.prosthetics.interfaceP1.name>> will be put into storage.//
-			<<elseif $activeSlave.PLimb == 1>>
-				<<set $activeSlave.PLimb = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 5, $surgeryType = "PLimb interface3">>
-				<<include "Surgery Degradation">>
-			<<else>>
-				<<set $activeSlave.PLimb = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20, $surgeryType = "PLimb interface2">>
-				<<include "Surgery Degradation">>
-			<</if>>
-		<<case "basicL" "sexL" "beautyL" "combatL" "cyberneticL">>
-			<<if $activeSlave.fuckdoll != 0>>
-				//Since a Fuckdoll can't use prosthetic limbs the <<= setup.prosthetics[_p.id].name>> will be put into storage.//
-			<<elseif hasAnyNaturalLimbs($activeSlave)>>
-				//Since $he must be a quadruple amputee to attach prosthetic limbs the <<= setup.prosthetics[_p.id].name>> will be put into storage.//
-			<<elseif $activeSlave.PLimb == 0>>
-				//Since $he must have a prosthetic interface installed to attach prosthetic limbs the <<= setup.prosthetics[_p.id].name>> will be put into storage.//
-			<<else>>
-				<<if _p.id == "basicL">>
-					<<if hasAnyProstheticLimbs($activeSlave)>>
-						<<set attachLimbs($activeSlave, "all", 2), $prostheticsConfig = "basicPLimbs">>
-						<<include "Prosthetics Configuration">>
+		<<for _k = 0; _k < $adjustProsthetics.length; _k++>>
+			<<set _p = $adjustProsthetics[_k]>>
+			<<if _p.slaveID == $activeSlave.ID && _p.workLeft <= 0>>
+				<<set $adjustProsthetics.splice(_k, 1), _k-->>
+				<<set $activeSlave.readyProsthetics.push({id: _p.id})>>
+				<br><hr>
+				<<switch _p.id>>
+				<<case "ocular">>
+					<<if $activeSlave.eyes < -1>>
+						<<set $activeSlave.eyesImplant = 1, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20, $surgeryType = "ocular implant">>
+						<<include "Surgery Degradation">>
 					<<else>>
-						//Since $he already has more advanced prosthetic limbs attached the <<= setup.prosthetics.basicL.name>> will be put into storage.//
+						//Since $he has working eyes the <<= setup.prosthetics.ocular.name>> will be put into storage.//
 					<</if>>
-				<<elseif _p.id == "sexL">>
-					<<if (getLimbCount($activeSlave, 3) + getLimbCount($activeSlave, 4) + getLimbCount($activeSlave, 5) + getLimbCount($activeSlave, 6)) === 0>>
-						<<set attachLimbs($activeSlave, "all", 3), $prostheticsConfig = "sexPLimbs">>
-						<<include "Prosthetics Configuration">>
+				<<case "cochlear">>
+					<<if $activeSlave.hears != 0>>
+						<<set $activeSlave.earImplant = 1, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20, $surgeryType = "cochlear implant">>
+						<<include "Surgery Degradation">>
 					<<else>>
-						//Since $he already has advanced prosthetic limbs attached the <<= setup.prosthetics.sexL.name>> will be put into storage.//
+						//Since $he has working ears the <<= setup.prosthetics.cochlear.name>> will be put into storage.//
 					<</if>>
-				<<elseif _p.id == "beautyL">>
-					<<if (getLimbCount($activeSlave, 3) + getLimbCount($activeSlave, 4) + getLimbCount($activeSlave, 5) + getLimbCount($activeSlave, 6)) === 0>>
-						<<set attachLimbs($activeSlave, "all", 4), $prostheticsConfig = "beautyPLimbs">>
-						<<include "Prosthetics Configuration">>
+				<<case "electrolarynx">>
+					<<if $activeSlave.voice <= 0>>
+						<<set $activeSlave.electrolarynx = 1, $activeSlave.voice = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20, $surgeryType = "electrolarynx">>
+						<<include "Surgery Degradation">>
 					<<else>>
-						//Since $he already has advanced prosthetic limbs attached the <<= setup.prosthetics.beautyL.name>> will be put into storage.//
+						//Since $he has a voice the <<= setup.prosthetics.electrolarynx.name>> will be put into storage.//
 					<</if>>
-				<<elseif _p.id == "combatL">>
-					<<if (getLimbCount($activeSlave, 3) + getLimbCount($activeSlave, 4) + getLimbCount($activeSlave, 5) + getLimbCount($activeSlave, 6)) === 0>>
-						<<set attachLimbs($activeSlave, "all", 5), $prostheticsConfig = "combatPLimbs">>
-						<<include "Prosthetics Configuration">>
+				<<case "interfaceP1">>
+					<<if hasAnyNaturalLimbs($activeSlave)>>
+						//Since $he has at least one healthy limb the <<= setup.prosthetics.interfaceP1.name>> will be put into storage.//
+					<<elseif $activeSlave.PLimb == 2>>
+						//Since $he already has <<= addA(setup.prosthetics.interfaceP2.name)>> installed the <<= setup.prosthetics.interfaceP1.name>> will be put into storage.//
 					<<else>>
-						//Since $he already has advanced prosthetic limbs attached the <<= setup.prosthetics.combatL.name>> will be put into storage.//
+						<<set $activeSlave.PLimb = 1, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20, $surgeryType = "PLimb interface1">>
+						<<include "Surgery Degradation">>
 					<</if>>
-				<<else>>
-					<<if $activeSlave.PLimb == 2>>
-						<<set attachLimbs($activeSlave, "all", 6), $prostheticsConfig = "cyberPLimbs">>
-						<<include "Prosthetics Configuration">>
+				<<case "interfaceP2">>
+					<<if hasAnyNaturalLimbs($activeSlave)>>
+						//Since $he has at least ine healthy limb the <<= setup.prosthetics.interfaceP1.name>> will be put into storage.//
+					<<elseif $activeSlave.PLimb == 1>>
+						<<set $activeSlave.PLimb = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 5, $surgeryType = "PLimb interface3">>
+						<<include "Surgery Degradation">>
 					<<else>>
-						//Since $he must have <<= addA(setup.prosthetics.interfaceP2.name)>> installed to attach cybernetic limbs the <<= setup.prosthetics.cyberneticL.name>> will be put into storage.//
+						<<set $activeSlave.PLimb = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20, $surgeryType = "PLimb interface2">>
+						<<include "Surgery Degradation">>
 					<</if>>
-				<</if>>
-			<</if>>
-		<<case "interfaceTail">>
-			<<set $activeSlave.PTail = 1, $activeSlave.tail = "none", $activeSlave.tailColor = "none", cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10, $surgeryType = "tailInterface">>
-			<<include "Surgery Degradation">>
-		<<case "modT" "sexT" "combatT">>
-			<<if $activeSlave.PTail == 0>>
-				//Since $he must have <<= addA(setup.prosthetics.interfaceTail.name)>> installed to attach tails the <<= setup.prosthetics[_p.id].name>> will be put into storage.//
-			<<elseif $activeSlave.tail != "none">>
-				//Since $he currently has a tail attached the <<= setup.prosthetics[_p.id].name>> will be put into storage.//
-			<<elseif _p.id == "modT">>
-				//Since installing <<= addA(setup.prosthetics.modT.name)>> is complicated it can't be automated.//
-				/*Reason: there are different designs player can choose from.*/
-			<<elseif _p.id == "combatT">>
-				<<set $prostheticsConfig = "attachTail", $activeSlave.tail = "combat", $activeSlave.tailColor = "jet black">>
-				<<include "Prosthetics Configuration">>
-			<<elseif _p.id == "sexT">>
-				<<set $prostheticsConfig = "attachTail", $activeSlave.tail = "sex", $activeSlave.tailColor = "pink">>
-				<<include "Prosthetics Configuration">>
+				<<case "basicL" "sexL" "beautyL" "combatL" "cyberneticL">>
+					<<if $activeSlave.fuckdoll != 0>>
+						//Since a Fuckdoll can't use prosthetic limbs the <<= setup.prosthetics[_p.id].name>> will be put into storage.//
+					<<elseif hasAnyNaturalLimbs($activeSlave)>>
+						//Since $he must be a quadruple amputee to attach prosthetic limbs the <<= setup.prosthetics[_p.id].name>> will be put into storage.//
+					<<elseif $activeSlave.PLimb == 0>>
+						//Since $he must have a prosthetic interface installed to attach prosthetic limbs the <<= setup.prosthetics[_p.id].name>> will be put into storage.//
+					<<else>>
+						<<if _p.id == "basicL">>
+							<<if hasAnyProstheticLimbs($activeSlave)>>
+								<<set attachLimbs($activeSlave, "all", 2), $prostheticsConfig = "basicPLimbs">>
+								<<include "Prosthetics Configuration">>
+							<<else>>
+								//Since $he already has more advanced prosthetic limbs attached the <<= setup.prosthetics.basicL.name>> will be put into storage.//
+							<</if>>
+						<<elseif _p.id == "sexL">>
+							<<if (getLimbCount($activeSlave, 3) + getLimbCount($activeSlave, 4) + getLimbCount($activeSlave, 5) + getLimbCount($activeSlave, 6)) === 0>>
+								<<set attachLimbs($activeSlave, "all", 3), $prostheticsConfig = "sexPLimbs">>
+								<<include "Prosthetics Configuration">>
+							<<else>>
+								//Since $he already has advanced prosthetic limbs attached the <<= setup.prosthetics.sexL.name>> will be put into storage.//
+							<</if>>
+						<<elseif _p.id == "beautyL">>
+							<<if (getLimbCount($activeSlave, 3) + getLimbCount($activeSlave, 4) + getLimbCount($activeSlave, 5) + getLimbCount($activeSlave, 6)) === 0>>
+								<<set attachLimbs($activeSlave, "all", 4), $prostheticsConfig = "beautyPLimbs">>
+								<<include "Prosthetics Configuration">>
+							<<else>>
+								//Since $he already has advanced prosthetic limbs attached the <<= setup.prosthetics.beautyL.name>> will be put into storage.//
+							<</if>>
+						<<elseif _p.id == "combatL">>
+							<<if (getLimbCount($activeSlave, 3) + getLimbCount($activeSlave, 4) + getLimbCount($activeSlave, 5) + getLimbCount($activeSlave, 6)) === 0>>
+								<<set attachLimbs($activeSlave, "all", 5), $prostheticsConfig = "combatPLimbs">>
+								<<include "Prosthetics Configuration">>
+							<<else>>
+								//Since $he already has advanced prosthetic limbs attached the <<= setup.prosthetics.combatL.name>> will be put into storage.//
+							<</if>>
+						<<else>>
+							<<if $activeSlave.PLimb == 2>>
+								<<set attachLimbs($activeSlave, "all", 6), $prostheticsConfig = "cyberPLimbs">>
+								<<include "Prosthetics Configuration">>
+							<<else>>
+								//Since $he must have <<= addA(setup.prosthetics.interfaceP2.name)>> installed to attach cybernetic limbs the <<= setup.prosthetics.cyberneticL.name>> will be put into storage.//
+							<</if>>
+						<</if>>
+					<</if>>
+				<<case "interfaceTail">>
+					<<set $activeSlave.PTail = 1, $activeSlave.tail = "none", $activeSlave.tailColor = "none", cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10, $surgeryType = "tailInterface">>
+					<<include "Surgery Degradation">>
+				<<case "modT" "sexT" "combatT">>
+					<<if $activeSlave.PTail == 0>>
+						//Since $he must have <<= addA(setup.prosthetics.interfaceTail.name)>> installed to attach tails the <<= setup.prosthetics[_p.id].name>> will be put into storage.//
+					<<elseif $activeSlave.tail != "none">>
+						//Since $he currently has a tail attached the <<= setup.prosthetics[_p.id].name>> will be put into storage.//
+					<<elseif _p.id == "modT">>
+						//Since installing <<= addA(setup.prosthetics.modT.name)>> is complicated it can't be automated.//
+						/*Reason: there are different designs player can choose from.*/
+					<<elseif _p.id == "combatT">>
+						<<set $prostheticsConfig = "attachTail", $activeSlave.tail = "combat", $activeSlave.tailColor = "jet black">>
+						<<include "Prosthetics Configuration">>
+					<<elseif _p.id == "sexT">>
+						<<set $prostheticsConfig = "attachTail", $activeSlave.tail = "sex", $activeSlave.tailColor = "pink">>
+						<<include "Prosthetics Configuration">>
+					<</if>>
+				<<default>>
+					//Since there is no automated procedure to implant/attach <<= setup.prosthetics[_p.id].name>> it will be put into storage.//
+				<</switch>>
+				<br>
 			<</if>>
-		<<default>>
-			//Since there is no automated procedure to implant/attach <<= setup.prosthetics[_p.id].name>> it will be put into storage.//
-		<</switch>>
-		<br>
-	<</if>>
-	<</for>>
+		<</for>>
 	<</if>>
 	/* end prosthetics */
 	/* updates the interrogated slave */
diff --git a/src/uncategorized/pMercenaryRomeo.tw b/src/uncategorized/pMercenaryRomeo.tw
index 3316a5cf3aba445424550f62d571f3ad6123bd0a..fa68a5f37fd9d3b4e4e31f705ea75e01a1d61f13 100644
--- a/src/uncategorized/pMercenaryRomeo.tw
+++ b/src/uncategorized/pMercenaryRomeo.tw
@@ -98,10 +98,10 @@ proffered by an attentive slave _girlU, he seems almost bashful.
 				Since $he returned to slavery, it's only fair to return the credits he paid for $him. He thanks you hollowly before heading on his way.
 			<<else>>
 				happened.
-				<<if hasBothLegs($activeSlave) && hasAnyArms($activeSlave)>>
+				<<if hasAnyArms($activeSlave) && hasBothLegs($activeSlave)>>
 					$He hugs him, sobbing into his shoulder. As they walk hand in hand down towards his quarters,
 				<<else>>
-					As he picks up $his limbless form to give $him a hug,
+					As he <<if !isAmputee($activeSlave)>>gives<<else>>picks up $his limbless form to give<</if>> $him a hug,
 				<</if>>
 				$he gives the nearest camera a little nod and silently mouths the words "Thank you, <<= WrittenMaster($activeSlave)>>." Soon the romantic story of The Mercenary and the Slave $Girl is being told in bars and brothels across the Free City, with you naturally playing @@.green;a supporting role.@@
 				<<run cashX($slaveCost, "slaveTransfer")>>
@@ -125,10 +125,10 @@ proffered by an attentive slave _girlU, he seems almost bashful.
 				"I thought I was giving $him a better life... But $he already had everything $he wanted. I'm sorry for putting you in such a position." You can hear the sadness in his voice. "Thank you for your time. I'm sorry to have bothered you."
 			<<else>>
 				happened.
-				<<if hasBothLegs($activeSlave) && hasAnyLegs($activeSlave)>>
+				<<if hasAnyArms($activeSlave) && hasAnyLegs($activeSlave)>>
 					$He hugs him, sobbing into his shoulder. As they walk hand in hand down towards his quarters,
 				<<else>>
-					As he picks up $his limbless form to give $him a hug,
+					As he <<if !isAmputee($activeSlave)>>gives<<else>>picks up $his limbless form to give<</if>> $him a hug,
 				<</if>>
 				$he gives the nearest camera a little nod and silently mouths the words "Thank you, <<= WrittenMaster($activeSlave)>>." You smile to yourself; when they get there they'll find flowers and a paid reservation at the arcology's best restaurant. Soon the story is being told in bars and brothels across the Free City, with you naturally playing @@.green;a starring role.@@ Some days later, you hear a dramatization is being filmed, with an aging action star playing the mercenary, a rising starlet playing $activeSlave.slaveName, and a noted character actor playing you.
 				<<run repX(15000, "event")>>
diff --git a/src/uncategorized/persBusiness.tw b/src/uncategorized/persBusiness.tw
index 8d91217956a4a3a90c3117ca67ace8e7ce001393..0d8eef4b79ed4577a9faec9c4a97de3a284dbbff 100644
--- a/src/uncategorized/persBusiness.tw
+++ b/src/uncategorized/persBusiness.tw
@@ -388,7 +388,7 @@
 	You have enough cash to manage your affairs, but not enough to do much business.
 <</if>>
 
-<<if ($personalAttention == "proclamation")>> 
+<<if ($personalAttention == "proclamation")>>
 	<<if ($SecExp.proclamation.currency == "authority" && $SecExp.core.authority >= 2000) || ($SecExp.proclamation.currency == "reputation" && $rep >= 4000) || ($SecExp.proclamation.currency == "cash" && $cash >= 8000)>>
 		After several days of preparation you are ready to issue the proclamation. You announce to the arcology your plans and in short order you use <<if $SecExp.proclamation.currency == "authority">>control over the arcology<<elseif $SecExp.proclamation.currency == "reputation">>great influence<<elseif $SecExp.proclamation.currency == "cash">> vast financial means<</if>> to
 		<<if $SecExp.proclamation.type == "security">>
diff --git a/src/uncategorized/reCitizenHookup.tw b/src/uncategorized/reCitizenHookup.tw
index cfa6984637b25d1e6bab973e2f796f82b0eb6c2f..d01f1dc293c03f2a12ff7ea99f0513d0c4475250 100644
--- a/src/uncategorized/reCitizenHookup.tw
+++ b/src/uncategorized/reCitizenHookup.tw
@@ -166,7 +166,7 @@ She's yours for the taking, if you want her, and if her praise and proximity wer
 	<<if _repopHookupPregnant == 1>>
 		lean back just far enough that her full term, triplets rounded middle splits the front of her overly tight dress.
 	<<else>>
-		press her hips up against your own, before leaning in and whispering 
+		press her hips up against your own, before leaning in and whispering
             <<if $arcologies[0].FSRepopulationFocusLaw == 1>>
                 "My womb is ready to do its duty."
             <<else>>
@@ -257,7 +257,7 @@ She's clearly attracted to you; even the most consummate actress would have diff
 		<<else>>
             <<if $arcologies[0].FSRepopulationFocusLaw == 1>>
                 an experienced body, ready and eager to grow fecund once more.
-			<<else>
+			<<else>>
                 an inexperienced body, but one with potential for becoming quite fecund.
 			<</if>>
 		<</if>>
diff --git a/src/uncategorized/reFullBed.tw b/src/uncategorized/reFullBed.tw
index 1c24053f4f127519aca600fb78d628902de6360f..2981ba6b0ff693aa4d6d5bf95ad336fc75a61687 100644
--- a/src/uncategorized/reFullBed.tw
+++ b/src/uncategorized/reFullBed.tw
@@ -102,7 +102,7 @@ Today was an unusually relaxing day, and you aren't particularly tired.
 <</if>>
 <br><<link "Pull up the sheets and wrestle">>
 	<<replace "#result">>
-		Without warning, you jerk the sheets all the way up and pin them at the head of the bed. They giggle as you seize first the one and then the other, groping and tickling. $slaves[_bedSlaveTwo].slaveName and $slaves[_bedSlaveOne].slaveName catch the spirit of fun, and rove around in the soft darkness under the sheets. You're <<if $PC.dick == 1>>rock hard<<if $PC.vagina == 1>> and <</if>><</if>><<if $PC.vagina == 1>>soaking wet<</if>> in no time, wrestling with two naked slaves, and begin to fuck the first one you can grab and hold. When you <<if ($PC.dick == 0)>>finish with $him<<else>>come inside $him<</if>>, you release $him and $he slides out of bed to wash; by the time $he gets back under the sheets, clean and fresh, you're on the point of fucking the other. You switch off with the two of them, fucking them in turn, until everyone falls asleep in an exhausted pile. They have become @@.mediumaquamarine;still more trusting of you.@@
+		Without warning, you jerk the sheets all the way up and pin them at the head of the bed. They giggle as you seize first the one and then the other, groping and tickling. $slaves[_bedSlaveTwo].slaveName and $slaves[_bedSlaveOne].slaveName catch the spirit of fun, and rove around in the soft darkness under the sheets. You're <<if $PC.dick == 1>>rock hard<<if $PC.vagina == 1>> and <</if>><</if>><<if $PC.vagina == 1>>soaking wet<</if>> in no time, wrestling with two naked slaves, and begin to fuck the first one you can grab and hold. When you <<if ($PC.dick == 0)>>finish with $him<<else>>come inside $him<</if>>, you <<if (!isAmputee($slaves[_bedSlaveOne]))>>release $him and $he slides out of bed to wash; by the time $he gets back under the sheets, clean and fresh, you're on the point of fucking<<else>>carry $his limbless, helpless body out of bed to wash $him, and then return to the bed to fuck<</if>> the other. You switch off with the two of them, fucking them in turn, until everyone falls asleep in an exhausted pile. They have become @@.mediumaquamarine;still more trusting of you.@@
 		<<set $slaves[_bedSlaveOne].trust += 4, $slaves[_bedSlaveTwo].trust += 4>>
 		<<if canDoVaginal(_bedSlaveOne)>>
 			<<set $slaves[_bedSlaveOne].counter.vaginal += 2>>
diff --git a/src/uncategorized/reRelationshipAdvice.tw b/src/uncategorized/reRelationshipAdvice.tw
index 80dd811efe359164aa407c80923cd816e1111b15..ce110557525f7ebd0cb3cdba90aeadfd8fd039a2 100644
--- a/src/uncategorized/reRelationshipAdvice.tw
+++ b/src/uncategorized/reRelationshipAdvice.tw
@@ -108,15 +108,15 @@ $He nods $his head quickly, still staring <<if !canSee($activeSlave)>>blankly <<
 		<<elseif ($activeSlave.fetishKnown == 1) && ($activeSlave.fetish == "masochist")>>
 			you to hurt me. Like, really hurt me." $subSlave.slaveName looks relieved that that's all it is, and <<if ($subSlave.voice != 0)>>says, "Okay!"<<else>>nods.<</if>> _He2 pinches one of $activeSlave.slaveName's nipples experimentally.
 		<<elseif ($activeSlave.fetishKnown == 1) && ($activeSlave.fetish == "sadist")>>
-			to hold you down." $subSlave.slaveName looks relieved that that's all it is, and <<if ($subSlave.voice != 0)>>says, "Okay!"<<else>>nods.<</if>> _He2 steps in close to $activeSlave.slaveName, takes $activeSlave.slaveName's hands, and places them around _his2 own throat.
+			to hold you down." $subSlave.slaveName looks relieved that that's all it is, and <<if ($subSlave.voice != 0)>>says, "Okay!"<<else>>nods.<</if>> _He2 steps in close to $activeSlave.slaveName, takes $activeSlave.slaveName's hand<<if hasBothArms($activeSlave)>>s<</if>>, and places them around _his2 own throat.
 		<<elseif ($activeSlave.fetishKnown == 1) && ($activeSlave.fetish == "dom")>>
 			to be your top." $subSlave.slaveName looks relieved that that's all it is, and <<if ($subSlave.voice != 0)>>says, "Okay!"<<else>>nods.<</if>> _He2 sidles up to $activeSlave.slaveName, looking up at $him submissively.
 		<<elseif ($activeSlave.fetishKnown == 1) && ($activeSlave.fetish == "submissive")>>
-			to be your bottom." $subSlave.slaveName looks relieved that that's all it is, and says, <<if ($subSlave.voice != 0)>>says, "Okay!"<<else>>nods.<</if>> _He2 takes $activeSlave.slaveName's face in _his2 hands and kisses $him dominantly.
+			to be your bottom." $subSlave.slaveName looks relieved that that's all it is, and says, <<if ($subSlave.voice != 0)>>says, "Okay!"<<else>>nods.<</if>> _He2 takes $activeSlave.slaveName's face in _his2 hand<<if hasBothArms($subSlave)>>s<</if>> and kisses $him dominantly.
 		<<elseif ($activeSlave.fetishKnown == 1) && ($activeSlave.fetish == "boobs")>>
-			to fuck your boob<<s>>." $subSlave.slaveName looks relieved that that's all it is, and says, <<if ($subSlave.voice != 0)>>says, "Okay!"<<else>>nods.<</if>> _He2 takes $activeSlave.slaveName's hands and places them right on _his2 breasts.
+			to fuck your boob<<s>>." $subSlave.slaveName looks relieved that that's all it is, and says, <<if ($subSlave.voice != 0)>>says, "Okay!"<<else>>nods.<</if>> _He2 takes $activeSlave.slaveName's <<if hasBothArms($activeSlave)>>hands and places them<<else>>hand and places it<</if>> right on _his2 breasts.
 		<<else>>
-			to fuck you." $subSlave.slaveName looks relieved that that's all it is, and <<if ($subSlave.voice != 0)>>says, "Okay!"<<else>>nods.<</if>> _He2 takes $activeSlave.slaveName's hands and places them right on _his2 breasts.
+			to fuck you." $subSlave.slaveName looks relieved that that's all it is, and <<if ($subSlave.voice != 0)>>says, "Okay!"<<else>>nods.<</if>> _He2 takes $activeSlave.slaveName's <<if hasBothArms($activeSlave)>>hands and places them<<else>>hand and places it<</if>> right on _his2 breasts.
 		<</if>>
 		$activeSlave.slaveName bursts out laughing. They're now @@.lightgreen;friends with benefits.@@
 	<<elseif $activeSlave.relationship == 3>>
diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw
index 5f5e15b52b90e2659ddf6abae8963f3b383bd157..bd076d627ac4e6b8f9e527f393416c19f8b675ea 100644
--- a/src/uncategorized/remoteSurgery.tw
+++ b/src/uncategorized/remoteSurgery.tw
@@ -1716,70 +1716,70 @@ Work on $him structurally:
 <br>
 
 <<if $seeExtreme === 1 && $activeSlave.indentureRestrictions < 1 && hasAnyNaturalLimbs($activeSlave)>>
-<style>
-	.container {
-		display: grid;
-		grid-template-columns: 100px 100px 100px;
-	}
-</style>
-<<set _LA = 0, _RA = 0, _LL = 0, _RL = 0>>
-
-<div class="container">
-<<if getLeftArmID($activeSlave) === 1>>
-	<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Left arm:</div>
-	<div><label><<radiobutton "_LA" 0 checked>> Leave </label></div>
-	<div><label><<radiobutton "_LA" 1>> Amputate </label></div>
-<</if>>
-<<if getRightArmID($activeSlave) === 1>>
-	<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Right arm:</div>
-	<div><label><<radiobutton "_RA" 0 checked>> Leave </label></div>
-	<div><label><<radiobutton "_RA" 1>> Amputate </label></div>
-<</if>>
-<<if getLeftLegID($activeSlave) === 1>>
-	<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Left leg:</div>
-	<div><label><<radiobutton "_LL" 0 checked>> Leave </label></div>
-	<div><label><<radiobutton "_LL" 1>> Amputate </label></div>
-<</if>>
-<<if getRightLegID($activeSlave) === 1>>
-	<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Right leg:</div>
-	<div><label><<radiobutton "_RL" 0 checked>> Leave </label></div>
-	<div><label><<radiobutton "_RL" 1>> Amputate </label></div>
-<</if>>
-</div>
-
-&nbsp;&nbsp;&nbsp;&nbsp;
-<<link "Amputate limb(s)">>
-	<<set _atleastOne = 0>>
-	/* temporary story variable */
-	<<set $oldLimbs = App.Desc.limbChange().currentLimbs($activeSlave)>>
-	<<if _LA === 1>>
-		<<run removeLimbs($activeSlave, "left arm")>>
-		<<set _atleastOne++>>
-	<</if>>
-	<<if _RA === 1>>
-		<<run removeLimbs($activeSlave, "right arm")>>
-		<<set _atleastOne++>>
-	<</if>>
-	<<if _LL === 1>>
-		<<run removeLimbs($activeSlave, "left leg")>>
-		<<set _atleastOne++>>
-	<</if>>
-	<<if _RL === 1>>
-		<<run removeLimbs($activeSlave, "right leg")>>
-		<<set _atleastOne++>>
-	<</if>>
-	<<if _atleastOne>>
-		<<set $activeSlave.health -= _atleastOne * 10, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
-		<<if !hasAnyArms($activeSlave)>>
-			<<set $activeSlave.releaseRules = "restrictive">>
-		<</if>>
-		<<set $surgeryType = "amp">>
-		<<goto "Surgery Degradation">>
-	<<else>>
-		<<unset $oldLimbs>>
-	<</if>>
-<</link>> //This will greatly restrict $him.//
-<br>
+	<style>
+		.container {
+			display: grid;
+			grid-template-columns: 100px 100px 100px;
+		}
+	</style>
+	<<set _LA = 0, _RA = 0, _LL = 0, _RL = 0>>
+
+	<div class="container">
+	<<if getLeftArmID($activeSlave) === 1>>
+		<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Left arm:</div>
+		<div><label><<radiobutton "_LA" 0 checked>> Leave </label></div>
+		<div><label><<radiobutton "_LA" 1>> Amputate </label></div>
+	<</if>>
+	<<if getRightArmID($activeSlave) === 1>>
+		<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Right arm:</div>
+		<div><label><<radiobutton "_RA" 0 checked>> Leave </label></div>
+		<div><label><<radiobutton "_RA" 1>> Amputate </label></div>
+	<</if>>
+	<<if getLeftLegID($activeSlave) === 1>>
+		<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Left leg:</div>
+		<div><label><<radiobutton "_LL" 0 checked>> Leave </label></div>
+		<div><label><<radiobutton "_LL" 1>> Amputate </label></div>
+	<</if>>
+	<<if getRightLegID($activeSlave) === 1>>
+		<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Right leg:</div>
+		<div><label><<radiobutton "_RL" 0 checked>> Leave </label></div>
+		<div><label><<radiobutton "_RL" 1>> Amputate </label></div>
+	<</if>>
+	</div>
+
+	&nbsp;&nbsp;&nbsp;&nbsp;
+	<<link "Amputate limb(s)">>
+		<<set _atleastOne = 0>>
+		/* temporary story variable */
+		<<set $oldLimbs = App.Desc.limbChange().currentLimbs($activeSlave)>>
+		<<if _LA === 1>>
+			<<run removeLimbs($activeSlave, "left arm")>>
+			<<set _atleastOne++>>
+		<</if>>
+		<<if _RA === 1>>
+			<<run removeLimbs($activeSlave, "right arm")>>
+			<<set _atleastOne++>>
+		<</if>>
+		<<if _LL === 1>>
+			<<run removeLimbs($activeSlave, "left leg")>>
+			<<set _atleastOne++>>
+		<</if>>
+		<<if _RL === 1>>
+			<<run removeLimbs($activeSlave, "right leg")>>
+			<<set _atleastOne++>>
+		<</if>>
+		<<if _atleastOne>>
+			<<set $activeSlave.health -= _atleastOne * 10, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
+			<<if !hasAnyArms($activeSlave)>>
+				<<set $activeSlave.releaseRules = "restrictive">>
+			<</if>>
+			<<set $surgeryType = "amp">>
+			<<goto "Surgery Degradation">>
+		<<else>>
+			<<unset $oldLimbs>>
+		<</if>>
+	<</link>> //This will greatly restrict $him.//
+	<br>
 <</if>> /* extreme toggle */
 
 <<if !hasAllNaturalLimbs($activeSlave) && $activeSlave.PLimb == 0>>
diff --git a/src/uncategorized/saGetMilked.tw b/src/uncategorized/saGetMilked.tw
index c2a93bfa688f8a295e01d45c4ad59fcc1fd74aa0..1606670832d08b9170799e2904cb2c235ee2830c 100644
--- a/src/uncategorized/saGetMilked.tw
+++ b/src/uncategorized/saGetMilked.tw
@@ -668,6 +668,14 @@ gets milked this week.
 				<<set $arcologies[0].FSBodyPurist = Math.clamp($arcologies[0].FSBodyPurist += _fsGain,0,100)>>
 			<<case "Slimness Enthusiast">>
 				<<set $arcologies[0].FSSlimnessEnthusiast = Math.clamp($arcologies[0].FSSlimnessEnthusiast += _fsGain,0,100)>>
+			<<case "Slave Professionalism">>
+				<<set $arcologies[0].FSSlaveProfessionalism = Math.clamp($arcologies[0].FSSlaveProfessionalism += _fsGain,0,100)>>
+			<<case "Intellectual Dependency">>
+				<<set $arcologies[0].FSIntellectualDependency = Math.clamp($arcologies[0].FSIntellectualDependency += _fsGain,0,100)>>
+			<<case "Petite Admiration">>
+				<<set $arcologies[0].FSPetiteAdmiration = Math.clamp($arcologies[0].FSPetiteAdmiration += _fsGain,0,100)>>
+			<<case "Statuesque Glorification">>
+				<<set $arcologies[0].FSStatuesqueGlorification = Math.clamp($arcologies[0].FSStatuesqueGlorification += _fsGain,0,100)>>
 			<</switch>>
 		<</if>>
 	<</if>>
diff --git a/src/uncategorized/saLiveWithHG.tw b/src/uncategorized/saLiveWithHG.tw
index eb0b93ebf833c068489385078b13a6149648a9bc..4921b3e33563ba54e0a342db7ca185fa4eeb4838 100644
--- a/src/uncategorized/saLiveWithHG.tw
+++ b/src/uncategorized/saLiveWithHG.tw
@@ -799,7 +799,7 @@
 	<<else>>
 		and keeps $him on $his diet.
 	<</if>>
-<<elseif (($slaves[$i].muscles <= 95 && (($arcologies[0].FSPhysicalIdealist > 0 && $arcologies[0].FSPhysicalIdealistLaw == 0) || (($HeadGirl.fetish == "submissive" || $HeadGirl.fetish == "masochist") && $HeadGirl.fetishKnown == 1))) || ($slaves[$i].muscles <= 45 && ($arcologies[0].FSPhysicalIdealist > 0 && $arcologies[0].FSPhysicalIdealistLaw == 1)) || $slaves[$i].muscles <= 5) && hasAnyLimbs($slaves[$i])>>
+<<elseif (($slaves[$i].muscles <= 95 && (($arcologies[0].FSPhysicalIdealist > 0 && $arcologies[0].FSPhysicalIdealistLaw == 0) || (($HeadGirl.fetish == "submissive" || $HeadGirl.fetish == "masochist") && $HeadGirl.fetishKnown == 1))) || ($slaves[$i].muscles <= 45 && ($arcologies[0].FSPhysicalIdealist > 0 && $arcologies[0].FSPhysicalIdealistLaw == 1)) || $slaves[$i].muscles <= 5) && !isAmputee($slaves[$i])>>
 	$HeadGirl.slaveName thinks $slaves[$i].slaveName
 	<<if $HeadGirl.fetish == "submissive">>
 		could use bigger muscles to better dominate _him2 with in bed
diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw
index 08bcb29cfe6885270832bcffc02ebc1a3da05603..c1ebe6cde02c93a24ca569e4379efeaff0666b8c 100644
--- a/src/uncategorized/saLongTermEffects.tw
+++ b/src/uncategorized/saLongTermEffects.tw
@@ -5313,6 +5313,24 @@
 		<</if>>
 	<</if>>
 
+	<<if $arcologies[0].FSPetiteAdmiration != "unset">>
+		<<if heightPass($slaves[$i])>>
+			Society @@.green;approves@@ of keeping a slave as short as $slaves[$i].slaveName is; $he furthers the fashion for shorter slaves.
+			<<= FutureSocieties.ChangePorn("PetiteAdmiration", 1)>>
+		<<elseif $slaves[$i].height >= 170>>
+			Society @@.red;frowns@@ at keeping a slave as tall as $slaves[$i].slaveName; $he hinders the fashion for shorter slaves.
+			<<= FutureSocieties.ChangePorn("PetiteAdmiration", -1)>>
+		<</if>>
+	<<elseif $arcologies[0].FSStatuesqueGlorification != "unset">>
+		<<if heightPass($slaves[$i])>>
+			Society @@.green;approves@@ of keeping a slave as tall as $slaves[$i].slaveName is; $he furthers the fashion for taller slaves.
+			<<= FutureSocieties.ChangePorn("StatuesqueGlorification", 1)>>
+		<<else>>
+			Society @@.red;frowns@@ at keeping someone as embarrassingly short as $slaves[$i].slaveName; $he hinders the fashion for taller slaves.
+			<<= FutureSocieties.ChangePorn("StatuesqueGlorification", -1)>>
+		<</if>>
+	<</if>>
+
 	<<if $arcologies[0].FSGenderRadicalist != "unset">>
 		<<if ($slaves[$i].balls > 0) && ($slaves[$i].dick > 0) && ($slaves[$i].hormoneBalance >= 100)>>
 			Society @@.green;approves@@ of your heavy hormonal feminization of $slaves[$i].slaveName; this advances public interest in <<= $girl>>s with soft little dicks.
@@ -5425,7 +5443,7 @@
 			Society is @@.red;disapproving@@ of $slaves[$i].slaveName's contraceptive regimen.
 			<<= FutureSocieties.ChangePorn("RepopulationFocus", -2)>>
 		<<else>>
-			Society is @@.red;disapproving@@ of $slaves[$i].slaveName's flat, unimpregnated stomach.
+			Society is @@.red;disapproving@@ of $slaves[$i].slaveName's lack of a baby bump.
 			<<= FutureSocieties.ChangePorn("RepopulationFocus", -2)>>
 		<</if>>
 		<<if $slaves[$i].abortionTat > 0>>
@@ -5645,6 +5663,52 @@
 		<</for>>
 	<</if>>
 
+	<<if $arcologies[0].FSIntellectualDependency != "unset">>
+		<<if $arcologies[0].FSIntellectualDependencyLawBeauty == 1>>
+			<<if bimboScore($slaves[$i]) == 6>>
+				Society @@.green;is delighted@@ by $slaves[$i].slaveName's perfect bimbo appearance.
+				<<= FutureSocieties.ChangePorn("IntellectualDependency", 1)>>
+			<</if>>
+		<</if>>
+		<<if ($slaves[$i].intelligence+$slaves[$i].intelligenceImplant < -10)>>
+			Society @@.green;approves@@ of $slaves[$i].slaveName's dimwitted mind; this supports the idea that slaves should be entirely dependent on their owner.
+			<<= FutureSocieties.ChangePorn("IntellectualDependency", 1)>>
+		<<elseif ($slaves[$i].intelligence+$slaves[$i].intelligenceImplant > 10)>>
+			Society @@.red;disapproves@@ of $slaves[$i].slaveName's sharp mind; this holds back acceptance of the idea that slaves should be dumb and dependent.
+			<<= FutureSocieties.ChangePorn("IntellectualDependency", -1)>>
+		<</if>>
+		<<if ($slaves[$i].energy > 95)>>
+			Society @@.green;approves@@ of $slaves[$i].slaveName's bottomless lust, showing the public one more way a slave may be reliant on $his ownwer.
+			<<= FutureSocieties.ChangePorn("IntellectualDependency", 1)>>
+		<<elseif ($slaves[$i].energy <= 60)>>
+			Society @@.red;disapproves@@ of $slaves[$i].slaveName's restrained libido; to the public, this gives $him too much freedom to focus on things other than sex.
+			<<= FutureSocieties.ChangePorn("IntellectualDependency", -1)>>
+		<</if>>
+	<<elseif $arcologies[0].FSSlaveProfessionalism != "unset">>
+		<<if $slaves[$i].intelligence+$slaves[$i].intelligenceImplant > 95>>
+			Society @@.green;strongly approves@@ of $slaves[$i].slaveName's brilliance; $his sharp wit is the foundation of slave perfectionism.
+			<<= FutureSocieties.ChangePorn("SlaveProfessionalism", 1)>>
+		<<elseif $slaves[$i].intelligenceImplant >= 30>>
+			Society @@.green;approves@@ of $slaves[$i].slaveName's advanced education; this advances ideas about crafting the perfect slave.
+			<<= FutureSocieties.ChangePorn("SlaveProfessionalism", 1)>>
+		<<elseif $slaves[$i].intelligence < -10>>
+			Society @@.red;frowns@@ of keeping a slave as slow as $slaves[$i].slaveName; the lack of any effort to rectify $his lack of intelligence sets a bad example for other owners.
+			<<= FutureSocieties.ChangePorn("SlaveProfessionalism", -2)>>
+		<</if>>
+		<<if $slaves[$i].accent > 1 && canTalk($slaves[$i]) && ($slaves[$i].speechRules != "restrictive" || ($slaves[$i].speechRules == "restrictive" && $slaves[$i].devotion < 20 && $slaves[$i].trust >= -20))>>
+			Society @@.red;dislikes@@ $slaves[$i].slaveName's inability to properly speak $language or hold $his tongue; allowing such a flaw hinders the notion of proffesional slavery.
+			<<= FutureSocieties.ChangePorn("SlaveProfessionalism", -2)>>
+		<</if>>
+		<<if $slaves[$i].skill.entertainment + $slaves[$i].skill.whoring + $slaves[$i].skill.oral + $slaves[$i].skill.anal + $slaves[$i].skill.vaginal >= 400>>
+			Society @@.green;appreciates@@ a slave with skills of $slaves[$i].slaveName's caliber.
+			<<= FutureSocieties.ChangePorn("SlaveProfessionalism", 1)>>
+		<</if>>
+		<<if $slaves[$i].energy <= 40 && $slaves[$i].devotion > 50>>
+			Society @@.green;approves@@ of a $girl with a clear mind like $slaves[$i].slaveName; $he can pour all $his efforts into $his lover's pleasure without being lost in $his own.
+			<<= FutureSocieties.ChangePorn("SlaveProfessionalism", 1)>>
+		<</if>>
+	<</if>>
+
 	<<if $arcologies[0].FSBodyPurist != "unset">>
 		<<if ($slaves[$i].boobsImplant == 0) && ($slaves[$i].buttImplant == 0) && ($slaves[$i].lipsImplant == 0) && ($slaves[$i].bellyImplant == -1)>>
 			Society @@.green;approves@@ of $slaves[$i].slaveName's natural body; this supports the fashion for surgically untouched slaves.
diff --git a/src/uncategorized/salon.tw b/src/uncategorized/salon.tw
index bb2372b5037da8558bd582257979ebd8da011115..75e2f5a1c4a336f7b58329ed37bba0f4d88ddbc5 100644
--- a/src/uncategorized/salon.tw
+++ b/src/uncategorized/salon.tw
@@ -903,7 +903,8 @@ Dye or paint:
 		| [[Very Bushy|Salon][$activeSlave.pubicHStyle = "very bushy",cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
 
 <<else>>
-	<br><br>$His groin is completely hairless.
+	<br><br>
+	$His groin is completely hairless.
 <</if>>
 
 /* UNDERARM HAIR */
diff --git a/src/uncategorized/universalRules.tw b/src/uncategorized/universalRules.tw
index bcce725d487c289d5aad8efed2953e43e5a14882..d1e4ec74157483b333c9df1156d9d167699026c0 100644
--- a/src/uncategorized/universalRules.tw
+++ b/src/uncategorized/universalRules.tw
@@ -168,7 +168,7 @@ One 'welcome' for a new slave is to have them branded. Where would you like such
 	| [[Hand|Universal Rules][$brandTarget.primary = "hand"]]
 	| [[Buttocks|Universal Rules][$brandTarget.primary = "buttock"]]
 	| [[Thigh|Universal Rules][$brandTarget.primary = "thigh"]]
-	| [[Calf|Universal Rules][$brandTarget.primary = "calve"]]
+	| [[Calf|Universal Rules][$brandTarget.primary = "calf"]]
 	| [[Ankle|Universal Rules][$brandTarget.primary = "ankle"]]
 	| [[Feet|Universal Rules][$brandTarget.primary = "foot"]]
 	| [[Neck|Universal Rules][$brandTarget.primary = "neck"]]
@@ -215,7 +215,7 @@ One 'welcome' for a new slave is to have them branded. Where would you like such
 	| [[Buttocks|Universal Rules][$brandTarget.secondary = "buttock"]]
 	/*<<if hasAnyNaturalLegs($activeSlave)>>
 		| [[Thigh|Universal Rules][$brandTarget.secondary = "thigh"]]
-		| [[Calf|Universal Rules][$brandTarget.secondary = "calve"]]
+		| [[Calf|Universal Rules][$brandTarget.secondary = "calf"]]
 		| [[Ankle|Universal Rules][$brandTarget.secondary = "ankle"]]
 		| [[Feet|Universal Rules][$brandTarget.secondary = "foot"]]
 	<</if>>*/
@@ -343,7 +343,7 @@ One 'welcome' for a new slave is to have them scarred. Where would you like such
 	| [[Hand|Universal Rules][$scarTarget.primary = "hand"]]
 	| [[Buttocks|Universal Rules][$scarTarget.primary = "buttock"]]
 	| [[Thigh|Universal Rules][$scarTarget.primary = "thigh"]]
-	| [[Calf|Universal Rules][$scarTarget.primary = "calve"]]
+	| [[Calf|Universal Rules][$scarTarget.primary = "calf"]]
 	| [[Ankle|Universal Rules][$scarTarget.primary = "ankle"]]
 	| [[Feet|Universal Rules][$scarTarget.primary = "foot"]]
 	| [[Neck|Universal Rules][$scarTarget.primary = "neck"]]
@@ -390,7 +390,7 @@ One 'welcome' for a new slave is to have them scarred. Where would you like such
 	| [[Buttocks|Universal Rules][$scarTarget.secondary = "buttock"]]
 	/*<<if hasAnyNaturalLegs($activeSlave)>>
 		| [[Thigh|Universal Rules][$scarTarget.secondary = "thigh"]]
-		| [[Calf|Universal Rules][$scarTarget.secondary = "calve"]]
+		| [[Calf|Universal Rules][$scarTarget.secondary = "calf"]]
 		| [[Ankle|Universal Rules][$scarTarget.secondary = "ankle"]]
 		| [[Feet|Universal Rules][$scarTarget.secondary = "foot"]]
 	<</if>>*/
diff --git a/src/utility/descriptionWidgetsStyle.tw b/src/utility/descriptionWidgetsStyle.tw
index 3db5be8354bb561bd520d157b1ab450956dba1a0..14b6b32a1e9eec144a66aeccff1608f9ca450070 100644
--- a/src/utility/descriptionWidgetsStyle.tw
+++ b/src/utility/descriptionWidgetsStyle.tw
@@ -258,7 +258,6 @@ $activeSlave.slaveName is
 
 <<case "striped panties">>
 	a simple garment that hugs $his
-
 	<<if hasAnyLegs($activeSlave)>>
 		body closely and comfortably, and
 		<<footwearDescription>>
@@ -578,7 +577,7 @@ $activeSlave.slaveName is
 
 <<case "a burkini">>
 	consisting of a polyester tunic and
-	<<if !hasAnyLegs($activeSlave)>>
+	<<if hasAnyLegs($activeSlave)>>
 		pants, and
 		<<footwearDescription>>
 	<<else>>
@@ -861,33 +860,31 @@ $activeSlave.slaveName is
 
 <<case "harem gauze">>
 	<<if hasAnyLegs($activeSlave)>>
-		$he is wearing
+		$He is wearing
 		<<footwearDescription>>
 	<</if>>
 	$He's covered and even veiled, but you can see everything straight through the filmy cloth.
 
 <<case "slutty jewelry">>
+	including a belt of thin chain with a lewd ornament (a little
+	<<if ($activeSlave.dick > 0) && ($activeSlave.balls == 0)>>
+		curved golden cock without balls)
+	<<elseif ($activeSlave.dick > 0)>>
+		golden cock and balls)
+	<<elseif ($activeSlave.fetish == "cumslut") && ($activeSlave.fetishStrength > 95)>>
+		pair of golden lips)
+	<<elseif ($activeSlave.boobs > 1000)>>
+		pair of golden breasts)
+	<<elseif ($activeSlave.vagina == -1)>>
+		crinkled anus)
+	<<else>>
+		golden pussy)
+	<</if>>
+	over $his stomach.
 	<<if hasAnyLegs($activeSlave)>>
 		$He is wearing
 		<<footwearDescription>>
-	<<else>>
-		including a belt of thin chain with a lewd ornament (a little
-		<<if ($activeSlave.dick > 0) && ($activeSlave.balls == 0)>>
-			curved golden cock without balls)
-		<<elseif ($activeSlave.dick > 0)>>
-			golden cock and balls)
-		<<elseif ($activeSlave.fetish == "cumslut") && ($activeSlave.fetishStrength > 95)>>
-			pair of golden lips)
-		<<elseif ($activeSlave.boobs > 1000)>>
-			pair of golden breasts)
-		<<elseif ($activeSlave.vagina == -1)>>
-			crinkled anus)
-		<<else>>
-			golden pussy)
-		<</if>>
-		over $his stomach.
 	<</if>>
-
 	<<= App.Desc.piercing($activeSlave, "chastity")>>
 
 <<case "a Santa dress">>