diff --git a/js/003-data/gameVariableData.js b/js/003-data/gameVariableData.js
index 3038ee6dd175eff8d8bddc121b5220aed60b22db..aacf42e2c64181c52516be4df6fd0d0e761895d9 100644
--- a/js/003-data/gameVariableData.js
+++ b/js/003-data/gameVariableData.js
@@ -768,6 +768,9 @@ App.Data.resetOnNGPlus = {
 	clinicUpgradeFilters: 0,
 	clinicUpgradeScanner: 0,
 	clinicUpgradePurge: 0,
+	clinicObservePregnancy: 1,
+	clinicInflateBelly: 0,
+	clinicSpeedGestation: 0,
 	clinicName: "the Clinic",
 	clinicNameCaps: "The Clinic",
 	arcadeDecoration: "standard",
@@ -1013,7 +1016,6 @@ App.Data.resetOnNGPlus = {
 	wcPiping: 0,
 	burstee: 0,
 	slaveDeath: 0,
-	clinicInflateBelly: 0,
 	playerBred: 0,
 	propOutcome: 0,
 	EliteSires: ["crazy", "futa", "moves", "preggo", "quick", "virgin"],
@@ -1028,7 +1030,6 @@ App.Data.resetOnNGPlus = {
 	originOveride: 0,
 	playerAging: 2,
 	pregSpeedControl: 0,
-	clinicSpeedGestation: 0,
 	playerSurgery: 0,
 	playerGetsMilked: 0,
 	bodyswapAnnounced: 0,
diff --git a/src/002-config/fc-version.js b/src/002-config/fc-version.js
index ac3803292295c44be7fd581dfe2b1d74aa92a428..39e3def103fa322118ca06b2fe220c2d1db35ce3 100644
--- a/src/002-config/fc-version.js
+++ b/src/002-config/fc-version.js
@@ -1,7 +1,7 @@
 App.Version = {
 	base: "0.10.7.1", // The vanilla version the mod is based off of, this should never be changed.
 	pmod: "3.3.3",
-	release: 1062,
+	release: 1063,
 };
 
 /* Use release as save version */
diff --git a/src/data/backwardsCompatibility/datatypeCleanup.js b/src/data/backwardsCompatibility/datatypeCleanup.js
index 80342a4fac252fc59885e82adb99fcc561d85612..2fdc6b01af5da4b276d41bf21ac1eb2ff4b4d07c 100644
--- a/src/data/backwardsCompatibility/datatypeCleanup.js
+++ b/src/data/backwardsCompatibility/datatypeCleanup.js
@@ -2169,6 +2169,7 @@ window.FacilityDatatypeCleanup = (function() {
 		V.clinicUpgradeScanner = Math.clamp(+V.clinicUpgradeScanner, 0, 1) || 0;
 		V.clinicUpgradeFilters = Math.clamp(+V.clinicUpgradeFilters, 0, 1) || 0;
 		V.clinicUpgradePurge = Math.clamp(+V.clinicUpgradePurge, 0, 3) || 0;
+		V.clinicObservePregnancy = Math.clamp(+V.clinicObservePregnancy, 0, 1) || 1;
 		V.clinicInflateBelly = Math.clamp(+V.clinicInflateBelly, 0, 1) || 0;
 		V.clinicSpeedGestation = Math.clamp(+V.clinicSpeedGestation, 0, 1) || 0;
 		/* nurse */
diff --git a/src/facilities/clinic/clinicFramework.js b/src/facilities/clinic/clinicFramework.js
index acc9642d966227ae52c7d91e544e17add0a1e749..0551343c5777e1b36d008fff888532f900cab272 100644
--- a/src/facilities/clinic/clinicFramework.js
+++ b/src/facilities/clinic/clinicFramework.js
@@ -44,7 +44,8 @@ App.Entity.Facilities.ClinicPatientJob = class extends App.Entity.Facilities.Fac
 		if ((slave.health.illness === 0 && slave.health.shortDamage < 20 && slave.health.condition >= 40) &&
 			(V.Nurse === 0 || ((slave.chem <= 15 || this.facility.upgrade("Filters") !== 1) &&
 				(V.bellyImplants !== 1 || slave.bellyImplant <= -1) &&
-				(slave.pregKnown !== 1 || (this.facility.option("SpeedGestation") <= 0 && slave.pregControl !== "speed up")) && (slave.pregAdaptation * 1000 >= slave.bellyPreg && slave.preg <= slave.pregData.normalBirth / 1.33)))) {
+				(slave.pregKnown !== 1 || (this.facility.option("SpeedGestation") <= 0 && slave.pregControl !== "speed up")) &&
+				(this.facility.option("ObservePregnancy") !== 1 || slave.pregAdaptation * 1000 >= slave.bellyPreg && slave.preg <= slave.pregData.normalBirth / 1.33)))) {
 			r.push(`${slave.slaveName} cannot benefit from ${this.facility.name}.`);
 		}
 
diff --git a/src/js/slaveCostJS.js b/src/js/slaveCostJS.js
index 01e8744a58ed57306cbc1fd715dd0b2326e4f1d8..8a52282cc21b5c2338bf0b2b2cf919d4ed1231e0 100644
--- a/src/js/slaveCostJS.js
+++ b/src/js/slaveCostJS.js
@@ -1189,10 +1189,12 @@ window.BeautyArray = (function() {
 	 * @param {App.Entity.SlaveState} slave
 	 */
 	function calcLimbsBeauty(slave) {
-		// missing limbs
-		adjustBeauty("Limbs: Missing", -(getLimbCount(slave, 0) * 2.5));
-		// non-beauty prosthetics
-		adjustBeauty("Limbs: Non-beauty Prothetics", -((getLimbCount(slave, 102) - getLimbCount(slave, 104)) * 0.5));
+		if (arcology.FSDegradationist !== "unset") {
+			// missing limbs
+			adjustBeauty("Limbs: Missing", -(getLimbCount(slave, 0) * 2.5));
+			// non-beauty prosthetics
+			adjustBeauty("Limbs: Non-beauty Prosthetics", -((getLimbCount(slave, 102) - getLimbCount(slave, 104)) * 0.5));
+		}
 	}
 
 	/**
@@ -1223,6 +1225,9 @@ window.BeautyArray = (function() {
 			if (slave.hips === 3) {
 				adjustBeauty("Hips: Transformation Fetishist", (10));
 			}
+			if (hasAnyProstheticLimbs(slave)) {
+				adjustBeauty("Artificial Limbs: Transformation Fetishist", (arcology.FSTransformationFetishist / 5));
+			}
 			if (slave.horn !== "none" || slave.tail !== "none" || (slave.earShape !== "normal" && slave.earShape !== "damaged") || slave.earT !== "none") {
 				adjustBeauty("Horn/Tail/Odd Ears: Transformation Fetishist", (10));
 			}
diff --git a/src/uncategorized/clinic.tw b/src/uncategorized/clinic.tw
index a7afdb2a7d5867906894d6567c40fda5360c5d0a..6490c567bc5ae2b6c08bc51ae9ced610c4796320 100644
--- a/src/uncategorized/clinic.tw
+++ b/src/uncategorized/clinic.tw
@@ -174,6 +174,22 @@
 	<</if>>
 </div>
 
+<div>
+	<<if $seePreg == 1>>
+		<<if $clinicObservePregnancy != 1>>
+			Pregnant patients will not be kept under observation.
+			<div class="choices">
+				[[Keep high-risk pregnancies under observation|Clinic][$clinicObservePregnancy = 1]]
+			</div>
+		<<else>>
+			Patients undergoing a high-risk pregnancy or are close to giving birth will be kept under observation.
+			<div class="choices">
+				[[Stop observing pregnancies|Clinic][$clinicObservePregnancy = 0]]
+			</div>
+		<</if>>
+	<</if>>
+</div>
+
 <div>
 	<<if $pregSpeedControl == 1 && $Nurse == 0>>
 		A resident nurse could be used to supervise patients under rapid gestation agents while minimizing strain and health complications.
diff --git a/src/uncategorized/clinicReport.tw b/src/uncategorized/clinicReport.tw
index ca96d227f4b8bf6c2b60bf24f6858b4dbd7e4838..bfcaff902d4ce51d5579bc92846ff0ab23b67850 100644
--- a/src/uncategorized/clinicReport.tw
+++ b/src/uncategorized/clinicReport.tw
@@ -294,7 +294,7 @@
 	<<elseif ($slaves[$i].health.condition <= 40)>>
 	<<elseif ($Nurse != 0) && ($slaves[$i].chem > 15) && ($clinicUpgradeFilters == 1)>>
 	<<elseif ($Nurse != 0) && ($slaves[$i].pregKnown == 1) && ($clinicSpeedGestation > 0 || $slaves[$i].pregControl == "speed up")>>
-	<<elseif ($Nurse != 0) && ($slaves[$i].pregAdaptation*1000 < $slaves[$i].bellyPreg || $slaves[$i].preg > $slaves[$i].pregData.normalBirth/1.33)>>
+	<<elseif ($Nurse != 0) && ($clinicObservePregnancy == 1) && ($slaves[$i].pregAdaptation*1000 < $slaves[$i].bellyPreg || $slaves[$i].preg > $slaves[$i].pregData.normalBirth/1.33)>>
 	<<elseif ($Nurse != 0) && ($clinicInflateBelly > 0) && ($slaves[$i].bellyImplant >= 0) && ($slaves[$i].bellyImplant <= ($arcologies[0].FSTransformationFetishistResearch ? 800000 : 130000))>>
 	<<else>>
 		<p>
@@ -349,10 +349,10 @@
 			$He stays in the clinic as unhealthy chemicals are still being flushed from $his system.
 		<<elseif ($Nurse != 0) && ($slaves[$i].pregKnown == 1) && ($clinicSpeedGestation > 0 || $slaves[$i].pregControl == "speed up")>>
 			$He stays in the clinic to hurry $his pregnancy along safely.
-		<<elseif ($Nurse != 0) && ($slaves[$i].pregAdaptation*1000 < $slaves[$i].bellyPreg || $slaves[$i].preg > $slaves[$i].pregData.normalBirth/1.33)>>
-			$He stays in the clinic waiting for the child to be born.
 		<<elseif ($Nurse != 0) && ($clinicInflateBelly > 0) && ($slaves[$i].bellyImplant >= 0) && ($slaves[$i].bellyImplant <= ($arcologies[0].FSTransformationFetishistResearch ? 800000 : 130000))>>
 			$He stays in the clinic as $his implants can still receive more filling.
+		<<elseif ($Nurse != 0) && ($clinicObservePregnancy == 1) && ($slaves[$i].pregAdaptation*1000 < $slaves[$i].bellyPreg || $slaves[$i].preg > $slaves[$i].pregData.normalBirth/1.33)>>
+			$He stays in the clinic waiting for the child to be born.
 		<</if>>
 		<br>&nbsp;&nbsp;&nbsp;
 		<<= saChoosesOwnClothes($slaves[$i])>>