diff --git a/js/003-data/miscData.js b/js/003-data/miscData.js
index 90610f5a58d21fbc6250685ace9cd24b6822d33e..edbe529ea86d206fb4c53e2937d89c7f07980e3c 100644
--- a/js/003-data/miscData.js
+++ b/js/003-data/miscData.js
@@ -1544,7 +1544,7 @@ App.Data.misc = {
 	/* stuff that reveals genitals */
 	humiliatingClothes: ["a bra", "a button-up shirt", "a chattel habit", "a fallen nuns habit", "a skimpy loincloth", "a sports bra", "a string bikini", "a striped bra", "a succubus outfit", "a sweater", "a t-shirt", "a tank-top", "a thong", "a tube top", "clubslut netting", "pasties", "restrictive latex", "shibari ropes", "slutty jewelry", "uncomfortable straps", "Western clothing"],
 
-	highHeels: ["boots", "extreme heels", "extreme platform heels", "heels", "platform heels", "pumps"],
+	highHeels: ["boots", "extreme heels", "extreme platform heels", "heels", "platform heels"],
 	heightBoostingShoes: ["extreme heels", "extreme platform heels", "heels", "platform heels", "platform shoes", "pumps"],
 
 	veryYoungCareers: ["a babysitter", "a beggar", "a beggar", "a bully hunter", "a bully", "a camp counselor", "a cheerleader", "a child actress", "a child prodigy", "a child prostitute", "a child prostitute", "a child soldier", "a child soldier", "a club manager", "a club recruiter", "a club treasurer", "a cum dump", "a dropout", "a dropout", "a drug mule", "a farmer's daughter", "a girl scout", "a girl scout", "a hall monitor", "a handmaiden", "a hospital volunteer", "a housesitter", "a juvenile delinquent", "a juvenile delinquent", "a latchkey kid", "a lemonade stand operator", "a marching band leader", "a meat toilet", "a military brat", "a model-UN star", "a model", "a noblewoman", "a pageant star", "a paper girl", "a part-time farm laborer", "a pick-pocket", "a refugee", "a refugee", "a refugee", "a school nurse's assistant", "a shrine maiden", "a street thug", "a street urchin", "a street urchin", "a street urchin", "a student council president", "a student from a boarding school", "a student from a private school", "a student from a public school", "a student from a public school", "a student from a public school", "a student from a public school", "a student from a public school", "a sweatshop worker", "a sweatshop worker", "a sweatshop worker", "a sweatshop worker", "a teacher's pet", "an apprentice", "an aspiring pop star", "an idol", "an orphan", "an orphan", "an orphan", "an orphan", "an orphan", "being homeschooled by her parents", "captain of the kendo club", "from a lower class family", "from a lower class family", "from a lower class family", "from a middle class family", "from a middle class family", "from an upper class family", "homeless", "homeless", "homeless"],
diff --git a/src/endWeek/saChoosesOwnClothes.js b/src/endWeek/saChoosesOwnClothes.js
index 8461bfc531bcaede0e9f50d46fbe08f2f87f722e..f59942c5d265bb168672a53b52526c62d52b1b84 100644
--- a/src/endWeek/saChoosesOwnClothes.js
+++ b/src/endWeek/saChoosesOwnClothes.js
@@ -1032,7 +1032,7 @@ App.SlaveAssignment.choosesOwnClothes = (function() {
 
 		if (slave.fetish === "mindbroken") {
 			if (hasBothLegs(slave) && slave.heels === 1) {
-				shoes.push({text: `${He} finds ${he} can inexplicably walk if ${he} wears heels; a daily lesson for ${him}, as ${he} forgets shortly after leaving.`, shoes: jsEither(["boots", "extreme heels", "heels", "pumps"])});
+				shoes.push({text: `${He} finds ${he} can inexplicably walk if ${he} wears heels; a daily lesson for ${him}, as ${he} forgets shortly after leaving.`, shoes: jsEither(["boots", "extreme heels", "heels"])});
 			}
 			if (V.arcologies[0].FSIntellectualDependencyLawBeauty === 1 || V.arcologies[0].FSStatuesqueGlorification > 0) {
 				shoes.push({text: `A fleeting thought of heels crosses ${his} mind, so ${he} grabs the nearest pair.`, shoes: jsEither(["extreme heels", "heels", "pumps"])});
diff --git a/src/endWeek/saClothes.js b/src/endWeek/saClothes.js
index 39e21d396acf790e065deaebe4f49dd805989812..3ba0331829ad501fd5dfb6ecdd4cbee127db4798 100644
--- a/src/endWeek/saClothes.js
+++ b/src/endWeek/saClothes.js
@@ -867,21 +867,6 @@ App.SlaveAssignment.clothes = (function() {
 				if (slave.shoes === "pumps") {
 					r.push(`While ${he} can just barely stand with ${his} heeled pumps, ${he} is incapable of taking a step in them.`);
 				}
-				if (slave.devotion >= -20 && slave.fetish === "submissive" && slave.fetishKnown === 1) {
-					r.push(`${He} <span class="hotpink">loves being forced</span> to crawl around like some kind of animal.`);
-					slave.devotion += 1;
-				} else if (slave.devotion > 50) {
-					r.push(`${He} accepts being forced to crawl around on`);
-					if (hasAllLimbs(slave)) {
-						r.push(`all fours.`);
-					} else {
-						r.push(`the ground.`);
-					}
-				} else {
-					r.push(`${He} <span class="mediumorchid">resents being forced</span> to crawl around like some kind of animal, but it keeps ${him} properly <span class="gold">afraid.</span>`);
-					slave.devotion -= 2;
-					slave.trust -= 4;
-				}
 			}
 		}
 	}
diff --git a/src/js/statsChecker/statsChecker.js b/src/js/statsChecker/statsChecker.js
index efcf81aa0f25b3211ec204b0ef427fbf496d6f5f..afb63c489bc68e8724150118ee675ace188fd813 100644
--- a/src/js/statsChecker/statsChecker.js
+++ b/src/js/statsChecker/statsChecker.js
@@ -834,6 +834,8 @@ globalThis.canStand = function(slave) {
 		return false;
 	} else if (!hasAnyLegs(slave)) {
 		return false;
+	} else if (slave.heels === 1 && (slave.shoes !== "pumps")) {
+		return false;
 	} else if (slave.heels === 1 && !setup.highHeels.includes(slave.shoes)) {
 		return false;
 	} else if (tooFatSlave(slave)) {
diff --git a/src/pregmod/widgets/seBirthWidgets.tw b/src/pregmod/widgets/seBirthWidgets.tw
index c1872443110e79ad8c2af4a48f0e5c0a2143047c..5285e60e86fdfa52cad050540f3c481d849f30b8 100644
--- a/src/pregmod/widgets/seBirthWidgets.tw
+++ b/src/pregmod/widgets/seBirthWidgets.tw
@@ -123,8 +123,14 @@
 <<if $slaves[$i].induce == 1>>
 	<<set $suddenBirth += 20>>
 <</if>>
-<<if !canWalk($slaves[$i])>>
+<<if !canMove($slaves[$i])>>
 	<<set $suddenBirth += 10>>
+<<elseif !canWalk($slaves[$i])>>
+	<<if $slaves[$i].rules.mobility == "permissive">>
+		<<set $suddenBirth += 3>>
+	<<else>>
+		<<set $suddenBirth += 5>>
+	<</if>>
 <</if>>
 <<if $slaves[$i].fetish == "mindbroken">>
 	<<set $suddenBirth += 18>>
diff --git a/src/uncategorized/freeRangeDairyAssignmentScene.tw b/src/uncategorized/freeRangeDairyAssignmentScene.tw
index 113cb90f27a87c8e0bc2e849f1f892a6fb4dc64a..91b07256059868e1de973e85924d63848c95fc51 100644
--- a/src/uncategorized/freeRangeDairyAssignmentScene.tw
+++ b/src/uncategorized/freeRangeDairyAssignmentScene.tw
@@ -22,7 +22,7 @@
 /* AROUSAL WHEN ENTERING */
 <<set _aroused = false >>
 <<if App.Entity.facilities.dairy.employeesIDs().size > 1 && canSee($activeSlave)>>
-	While <<if canWalk($activeSlave) >>walking<<else>>being carried<</if>> to $his designated stall, $he passes the other cows currently at their milking machines. Not being hurried, $he occasionally watches a cow in detail.
+	While <<if canWalk($activeSlave)>>walking<<elseif canMove($activeSlave)>>being helped<<else>>being carried<</if>> to $his designated stall, $he passes the other cows currently at their milking machines. Not being hurried, $he occasionally watches a cow in detail.
 	<div>
 		<<if $activeSlave.fetish == "boobs">>
 			/* TODO: check if there actually are lactating cows at the dairy */
diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw
index 4d19e21119a6d89c771eb5c943bd9bb435dea676..831f78f9f095e934a3a0040d97138ca90cc8e719 100644
--- a/src/uncategorized/saLongTermEffects.tw
+++ b/src/uncategorized/saLongTermEffects.tw
@@ -6752,8 +6752,6 @@
 	<</if>>
 <</if>>
 
-/* LONG TERM PHYSICAL EFFECTS */
-
 <<if $slaves[$i].fuckdoll == 0>>
 	<<if (!jQuery.isEmptyObject($slaves[$i].brand))>>
 		<<if ($slaves[$i].assignment == "serve the public") || ($slaves[$i].assignment == "whore") || ($slaves[$i].assignment == "work in the brothel") || ($slaves[$i].assignment == "serve in the club")>>
@@ -6771,6 +6769,10 @@
 	<</if>>
 <</if>>
 
+/* LONG TERM PHYSICAL EFFECTS */
+/* start here!
+<<= App.SlaveAssignment.longTermPhysicalEffects($slaves[$i])>>
+*/
 <<if $slaves[$i].fuckdoll == 0 && $slaves[$i].fetish != "mindbroken">>
 	<<set _visionFlag = 0>>
 	<<if getBestVision($slaves[$i]) === 0>>
@@ -7668,10 +7670,7 @@
 	<</if>>
 <</if>>
 
-/* CLOTHES AND ACCESSORIES */
-
 <<if $slaves[$i].fuckdoll == 0>>
-	<<set _mobility = 2>>
 	<<if !canWalk($slaves[$i]) || !canMove($slaves[$i])>>
 		<<set _mobility = 1>>
 		<<set _anchors = []>>
@@ -7751,21 +7750,20 @@
 					<<if _anchors.length > 1>>but ultimately $his leglessness<<else>>or would be if $he had legs<</if>>,
 				<<elseif (!hasBothLegs($slaves[$i]))>>
 					<<if _anchors.length > 1>>but ultimately $his missing leg<<else>>or would be if $he had both legs<</if>>,
-				<<elseif $slaves[$i].heels == 1 && !["boots", "extreme heels", "heels", "pumps"].includes($slaves[$i].shoes)>>
+				<<elseif $slaves[$i].heels == 1 && !setup.highHeels.includes($slaves[$i].shoes)>>
 					<<if _anchors.length > 1>>but ultimately $his heels having been clipped<<else>>or would be if $his heels weren't clipped<</if>>,
 				<</if>>
 				render<<if _anchors.length == 1>>s<</if>>
 			<<else>>
 				<<if (isAmputee($slaves[$i]))>>
-					limblessness
+					limblessness renders
 				<<elseif (!hasAnyLegs($slaves[$i]))>>
-					leglessness
+					leglessness renders
 				<<elseif (!hasBothLegs($slaves[$i]))>>
-					missing leg
-				<<elseif $slaves[$i].heels == 1 && !["boots", "extreme heels", "heels", "pumps"].includes($slaves[$i].shoes)>>
-					heels having been clipped
+					missing leg renders
+				<<elseif $slaves[$i].heels == 1 && !["boots", "extreme heels", "heels"].includes($slaves[$i].shoes)>>
+					clipped heels render
 				<</if>>
-				renders
 			<</if>>
 			$him incapable of walking,
 		<<else>>
@@ -7786,31 +7784,141 @@
 			<</if>>
 		<</if>>
 		making $his life more difficult.
-		<<if canMove($slaves[$i])>>
-			Other slaves have to help $him at times, which
-			<<if $slaves[$i].fetish != "mindbroken">>
-				<<if $slaves[$i].devotion > 50>>
-					the devoted slave bears with equanimity.
-				<<elseif $slaves[$i].devotion > 20>>
-					$he can't help @@.mediumorchid;resenting@@ a little.
-					<<set $slaves[$i].devotion -= 1>>
+		<<if $slaves[$i].fetish != "mindbroken">>
+			<<if _mobility>>
+				<<if $slaves[$i].rules.mobility == "restrictive">>
+					<<if $slaves[$i].devotion < -20>>
+						$He <span class="mediumorchid">hates being forced</span> to crawl around like some kind of animal, but it keeps $him properly <span class="gold">afraid.</span>
+						<<set $slaves[$i].devotion -= 2>>
+						<<set $slaves[$i].trust -= 4>>
+					<<elseif $slaves[$i].devotion >= -20>>
+						<<if $slaves[$i].fetish == "submissive">>
+							<<if $slaves[$i].fetishKnown == 1>>
+								$He <span class="hotpink">loves being forced</span> to crawl around like some kind of animal.
+								<<set $slaves[$i].devotion += 1>>
+							<<else>>
+								$He seems to enjoy $his forced prostration to anyone that comes $his way. @@.lightcoral;$He's a natural submissive!@@
+								<<set $slaves[$i].fetishKnown = 1>>
+							<</if>>
+							<<set _likesImmobility = 1>>
+						<<elseif $slaves[$i].fetish == "humiliation">>
+							<<if $slaves[$i].fetishKnown == 1>>
+								$He <span class="hotpink">revels in the humiliation</span> of being forced to crawl around in the dirt.
+								<<set $slaves[$i].devotion += 1>>
+							<<else>>
+								$He seems to be excited by the humiliation not being able to walk brings. @@.lightcoral;$He's enjoys being degraded!@@
+								<<set $slaves[$i].fetishKnown = 1>>
+							<</if>>
+							<<set _likesImmobility = 1>>
+						<<elseif $slaves[$i].devotion > 50>>
+							It is your will that $he crawl around on
+							<<if (hasAllLimbs($slaves[$i]))>>
+								all fours,
+							<<else>>
+								the ground,
+							<</if>>
+							so $he embraces it as normality.
+						<<elseif $slaves[$i].devotion > 20>>
+							$He accepts being forced to crawl around on
+							<<if (hasAllLimbs($slaves[$i]))>>
+								all fours
+							<<else>>
+								the ground
+							<</if>>
+							as part of slave life.
+						<<else>>
+							Being forced to crawl around on
+							<<if (hasAllLimbs($slaves[$i]))>>
+								all fours
+							<<else>>
+								the ground
+							<</if>>
+							@@.hotpink;breaks down any remaining dignity@@ $he may have and keeps $him @@.gold;well aware of $his total vulnerability@@ to punishment.
+							<<set $slaves[$i].devotion += 2>>
+							<<set $slaves[$i].trust -= 1>>
+						<</if>>
+					<</if>>
+				<<else>>
+					<<if $slaves[$i].devotion > 50>>
+						@@.mediumaquamarine;$He is thankful@@ that $he serves a <<= writtenMaster($slaves[$i])>> so kind as to permit $him the tools $he needs to not be reduced to crawling.
+						<<set $slaves[$i].trust += 1>>
+					<<elseif $slaves[$i].devotion > 20>>
+						@@.mediumaquamarine;$He appreciates@@ being given the means to maintain some semblance of mobility.
+						<<set $slaves[$i].trust += 2>>
+					<<elseif ($slaves[$i].devotion >= -20>>
+						@@.mediumaquamarine;$He takes full advantage@@ of the provided mobility aids to avoid being forced to crawl everywhere.
+						<<set $slaves[$i].trust += 3>>
+					<<else>>
+						Anything is better than crawling on the floor, so $he makes full use of the provided mobility aids @@.mediumaquamarine;to avoid such an indignity.@@
+					<</if>>
+				<</if>>
+			<<else>>
+				<<if $slaves[$i].devotion < -20>>
+					$He can't can't escape those looking to prey upon $him, <span class="gold">terrifying $him.</span>
+					<<set $slaves[$i].trust -= 4>>
 				<<elseif $slaves[$i].devotion >= -20>>
+					<<if $slaves[$i].fetish == "submissive">>
+						<<if $slaves[$i].fetishKnown == 1>>
+							$He <span class="hotpink">loves having no choice but to be submissive</span> if $he wants assistance.
+							<<set $slaves[$i].devotion += 1>>
+						<<else>>
+							$He seems to enjoy being at the mercy of you and your chattel. @@.lightcoral;$He's a natural submissive!@@
+							<<set $slaves[$i].fetishKnown = 1>>
+						<</if>>
+						<<set _likesImmobility = 1>>
+					<<elseif $slaves[$i].fetish == "humiliation">>
+						<<if $slaves[$i].fetishKnown == 1>>
+							$He <span class="hotpink">revels in the humiliation</span> of being completely stripped of any ability to do things on $his own.
+							<<set $slaves[$i].devotion += 1>>
+						<<else>>
+							$He seems to be excited by the humiliation complete immobility brings. @@.lightcoral;$He's enjoys being degraded!@@
+							<<set $slaves[$i].fetishKnown = 1>>
+						<</if>>
+						<<set _likesImmobility = 1>>
+					<<elseif $slaves[$i].devotion > 50>>
+						Since you want to keep $him from moving, $he's perfectly happy to sit around and wait for your attention.
+					<<elseif $slaves[$i].devotion > 20>>
+						$He accepts $his inability to move as part of slave life.
+					<<else>>
+						Being completely unable to move leaves $him at the mercy of others, @@.hotpink;destroying any semblance of self-reliance $he has@@ and keeps $him @@.gold;well aware of $his total vulnerability@@ to punishment.
+						<<set $slaves[$i].devotion += 3>>
+						<<set $slaves[$i].trust -= 1>>
+					<</if>>
+				<</if>>
+			<</if>>
+		<</if>>
+		<<if _mobility>>
+			Other slaves have to help $him at times, which
+		<<else>>
+			$He requires help to do nearly everything, which
+		<</if>>
+		<<if $slaves[$i].fetish != "mindbroken">>
+			<<if _likesImmobility>>
+				suits $his fetish just fine.
+			<<elseif $slaves[$i].devotion > 50>>
+				the devoted slave bears with equanimity.
+			<<elseif $slaves[$i].devotion > 20>>
+				$he can't help @@.mediumorchid;resenting@@ a little.
+				<<set $slaves[$i].devotion -= 1>>
+			<<elseif $slaves[$i].devotion >= -20>>
+				<<if $slaves[$i].trust >= -20>>
 					$he @@.mediumorchid;actively resents.@@
 					<<set $slaves[$i].devotion -= 2>>
 				<<else>>
+					$he appreciates in $his frightening life.
+					<<set $slaves[$i].trust += 1>>
+				<</if>>
+			<<else>>
+				<<if $slaves[$i].trust >= -20>>
 					$he @@.mediumorchid;utterly detests.@@
 					<<set $slaves[$i].devotion -= 2>>
+				<<else>>
+					$he needs in these dark times.
+					<<set $slaves[$i].trust += 2>>
 				<</if>>
-				<<if $slaves[$i].devotion < 10>>
-					<<if $slaves[$i].trust >= -20>>
-						$He's @@.gold;aware of $his total vulnerability@@ to punishment.
-						<<set $slaves[$i].trust -= 1>>
-					<</if>>
-				<</if>>
-			<<else>>
-				goes largely unnoticed by the mindless slave.
 			<</if>>
 		<<else>>
+			goes largely unnoticed by the mindless slave.
 		<</if>>
 		<<if isAmputee($slaves[$i])>>
 			<<if $slaves[$i].muscles > -80>>
@@ -9249,6 +9357,7 @@
 	<</if>>
 <</if>>
 
+/* health blips */
 <<if ($curativeSideEffects != 0)>>
 	<<if ($slaves[$i].chem > 10)>>
 		<<if random(1,200) < $slaves[$i].chem + $slaves[$i].physicalAge - $slaves[$i].health.condition - (5*$slaves[$i].curatives)>>
@@ -9317,6 +9426,7 @@
 		<</if>>
 	<</if>>
 <</if>>
+/* end here! */
 
 /* LANGUAGE */