From 25774ca291bbda8659b50b02467bcdcde17d5f76 Mon Sep 17 00:00:00 2001
From: Arkerthan <arkerthan@gmail.com>
Date: Sat, 3 Aug 2019 21:07:29 +0200
Subject: [PATCH] convert limb access in src/pregmod/

---
 src/js/slaveStatsChecker.js             |  10 ++
 src/pregmod/reTheSirenStrikesBack.tw    |   4 +-
 src/pregmod/saClothes.tw                |  73 ++++++------
 src/pregmod/theBlackMarket.tw           |   2 +-
 src/pregmod/widgets/bodySwapReaction.tw | 142 ++++++++++++------------
 src/pregmod/widgets/seBirthWidgets.tw   |   4 +-
 6 files changed, 126 insertions(+), 109 deletions(-)

diff --git a/src/js/slaveStatsChecker.js b/src/js/slaveStatsChecker.js
index 0bfcc2f3fb0..7aa6586d41a 100644
--- a/src/js/slaveStatsChecker.js
+++ b/src/js/slaveStatsChecker.js
@@ -882,6 +882,16 @@ window.hasAnyNaturalLegs = function(slave) {
 	return slave.amp === 0 && slave.missingLegs < 3;
 };
 
+/**
+ * True if slave has at least one arm that is prosthetic
+ *
+ * @param {App.Entity.SlaveState} slave
+ * @returns {boolean}
+ */
+window.hasAnyProstheticArms = function(slave) {
+	return slave.amp < 0;
+};
+
 /**
  * True if slave has at least one arm that is natural
  *
diff --git a/src/pregmod/reTheSirenStrikesBack.tw b/src/pregmod/reTheSirenStrikesBack.tw
index e20c54071c9..3473dcfd98e 100644
--- a/src/pregmod/reTheSirenStrikesBack.tw
+++ b/src/pregmod/reTheSirenStrikesBack.tw
@@ -84,7 +84,7 @@ Several weeks have passed since you gained the musical prodigy and you couldn't
 		<<set $activeSlave.recruiter = 0>>
 		<</replace>>
 	<</link>>
-	<<if _ssb.amp != 1>>
+	<<if !isAmputee(_ssb)>>
 	<br><<link "Enslave _him2 and throw _him2 to _ssb.slaveName">>
 		<<set $activeSlave.clothes = "no clothing">>
 		<<set $activeSlave.recruiter = 0, $activeSlave.health -= 20>>
@@ -103,7 +103,7 @@ Several weeks have passed since you gained the musical prodigy and you couldn't
 			/* 000-250-006 */
 		<</replace>>
 		<<replace "#result">>
-		You decide to give the victimized prodigy a chance for payback. $He moves over to $his former boss and begins to caress the despicable thief as _he2 shakes with dread of what is to come. As $he moves lower, $he applies more pressure, peaking right on the genitals. The cowardly former executive yelps in pain, instinctively trying to get away from the hand crushing the most sensitive spot on _his2 body. After several minutes of the coward screaming in pain, _his2 former victim gets up and delivers a hard kick to the groin, eliciting another scream and causing $his former boss to assume the fetal position. You send for another slave to drag the whimpering slave-_girl2 to _his2 feet for inspection.
+		You decide to give the victimized prodigy a chance for payback. $He moves over to $his former boss and begins to caress the despicable thief as _he2 shakes with dread of what is to come. As $he moves lower, $he applies more pressure, peaking right on the genitals. The cowardly former executive yelps in pain, instinctively trying to get away from the <<if hasAnyArms(_ssb)>>hand<<else>>foot<</if>> crushing the most sensitive spot on _his2 body. After several minutes of the coward screaming in pain, _his2 former victim gets up and delivers a hard <<if hasBothLegs(_ssb)>>kick<<elseif hasAnyLegs(_ssb)>>stomp<<else>>punch<</if>> to the groin, eliciting another scream and causing $his former boss to assume the fetal position. You send for another slave to drag the whimpering slave<<= _girl2>> to _his2 feet for inspection.
 		<br>
 		<<include "New Slave Intro">>
 		<</replace>>
diff --git a/src/pregmod/saClothes.tw b/src/pregmod/saClothes.tw
index 02f47548c78..2b02d40a2c2 100644
--- a/src/pregmod/saClothes.tw
+++ b/src/pregmod/saClothes.tw
@@ -569,49 +569,54 @@
 	<</if>>
 <</if>>
 
-<<if $slaves[$i].amp < 1>>
+<<if hasAnyLegs($slaves[$i])>>
 	<<if ($slaves[$i].shoes == "heels")>>
-		<<if ($slaves[$i].amp < 0)>>
-			$His P-Limb legs work just as well in heels as they do out of them.
-		<<elseif $slaves[$i].fuckdoll == 0 && $slaves[$i].fetish != "mindbroken">>
-			<<if $slaves[$i].devotion < -20>>
-				$He @@.mediumorchid;resents being forced@@ to wear high heels.
-				<<set $slaves[$i].devotion -= 2>>
+		<<if hasAnyNaturalLegs($slaves[$i])>>
+			<<if $slaves[$i].fuckdoll == 0 && $slaves[$i].fetish != "mindbroken">>
+				<<if $slaves[$i].devotion < -20>>
+					$He @@.mediumorchid;resents being forced@@ to wear high heels.
+					<<set $slaves[$i].devotion -= 2>>
+				<</if>>
 			<</if>>
+		<<else>>
+			$His P-Limb <<if hasBothLegs($slaves[$i])>>legs work<<else>>leg works<</if>> just as well in heels as <<if hasBothLegs($slaves[$i])>>they do<<else>>it does<</if>> out of them.
 		<</if>>
 	<<elseif ($slaves[$i].shoes == "boots")>>
-		<<if ($slaves[$i].amp < 0)>>
-			$His P-Limb legs work just as well in boots as they do out of them.
-		<<elseif $slaves[$i].fuckdoll == 0 && $slaves[$i].fetish != "mindbroken">>
-			<<if $slaves[$i].devotion < -20>>
-				$He @@.mediumorchid;resents being forced@@ to wear high heeled boots.
-				<<set $slaves[$i].devotion -= 2>>
+		<<if hasAnyNaturalLegs($slaves[$i])>>
+			<<if $slaves[$i].fuckdoll == 0 && $slaves[$i].fetish != "mindbroken">>
+				<<if $slaves[$i].devotion < -20>>
+					$He @@.mediumorchid;resents being forced@@ to wear high heeled boots.
+					<<set $slaves[$i].devotion -= 2>>
+				<</if>>
 			<</if>>
+		<<else>>
+			$His P-Limb <<if hasBothLegs($slaves[$i])>>legs work<<else>>leg works<</if>> just as well in boots as <<if hasBothLegs($slaves[$i])>>they do<<else>>it does<</if>> out of them.
 		<</if>>
 	<<elseif ($slaves[$i].shoes == "extreme heels")>>
-		<<if ($slaves[$i].amp < 0)>>
-			$His P-Limb legs work just as well in extreme heels as they do out of them.
-		<<elseif $slaves[$i].fuckdoll == 0 && $slaves[$i].fetish != "mindbroken">>
-			<<if $slaves[$i].devotion < -20>>
-				$He @@.mediumorchid;resents being forced@@ to wear @@.gold;painfully@@ high heels.
-				<<set $slaves[$i].devotion -= 2>>
-				<<set $slaves[$i].trust -= 2>>
-			<<elseif ($slaves[$i].fetish == "masochist")>>
-				It is difficult to walk in $his extreme heels, but $he
-				<<if ($slaves[$i].fetishKnown == 0)>>
-					seems to enjoy every painful step; $he's a @@.lightcoral;natural masochist.@@
-					<<set $slaves[$i].fetishKnown = 1>>
+		<<if hasAnyNaturalLegs($slaves[$i])>>
+			<<if $slaves[$i].fuckdoll == 0 && $slaves[$i].fetish != "mindbroken">>
+				<<if $slaves[$i].devotion < -20>>
+					$He @@.mediumorchid;resents being forced@@ to wear @@.gold;painfully@@ high heels.
+					<<set $slaves[$i].devotion -= 2>>
+					<<set $slaves[$i].trust -= 2>>
+				<<elseif ($slaves[$i].fetish == "masochist")>>
+					It is difficult to walk in $his extreme heels, but $he
+					<<if ($slaves[$i].fetishKnown == 0)>>
+						seems to enjoy every painful step; $he's a @@.lightcoral;natural masochist.@@
+						<<set $slaves[$i].fetishKnown = 1>>
+					<<else>>
+						@@.hotpink;appreciates@@ every painful step $he gets to take.
+						<<set $slaves[$i].devotion += 1>>
+					<</if>>
 				<<else>>
-					@@.hotpink;appreciates@@ every painful step $he gets to take.
+					$He is kept @@.hotpink;mindful@@ and @@.gold;fearful@@ by the difficulty of walking in $his extreme heels.
 					<<set $slaves[$i].devotion += 1>>
+					<<set $slaves[$i].trust -= 1>>
 				<</if>>
-			<<else>>
-				$He is kept @@.hotpink;mindful@@ and @@.gold;fearful@@ by the difficulty of walking in $his extreme heels.
-				<<set $slaves[$i].devotion += 1>>
-				<<set $slaves[$i].trust -= 1>>
-			<</if>>
-			They're so high they're a bit @@.red;unhealthy@@ for $his legs.
-			<<set $slaves[$i].health -= 2>>
+				They're so high they're a bit @@.red;unhealthy@@ for $his legs.
+				<<set $slaves[$i].health -= 2>>
+		<<else>>
+			$His P-Limb <<if hasBothLegs($slaves[$i])>>legs work<<else>>leg works<</if>> just as well in extreme heels as <<if hasBothLegs($slaves[$i])>>they do<<else>>it does<</if>> out of them.
 		<</if>>
 	<<else>>
 		<<if ($slaves[$i].heels == 1) && !canWalk($slaves[$i]) && ($slaves[$i].fetish != "mindbroken")>>
@@ -622,7 +627,7 @@
 				$He @@.hotpink;loves being forced@@ to crawl around like some kind of animal.
 				<<set $slaves[$i].devotion += 1>>
 			<<elseif $slaves[$i].devotion > 50>>
-				$He accepts being forced to crawl around on all fours.
+				$He accepts being forced to crawl around on <<if hasAllLimbs($slaves[$i])>>all fours<<else>>the ground<</if>>.
 			<<else>>
 				$He @@.mediumorchid;resents being forced@@ to crawl around like some kind of animal, but it keeps $him properly @@.gold;afraid.@@
 				<<set $slaves[$i].devotion -= 2, $slaves[$i].trust -= 4>>
diff --git a/src/pregmod/theBlackMarket.tw b/src/pregmod/theBlackMarket.tw
index 6d8e7ce9429..3448cb1f169 100644
--- a/src/pregmod/theBlackMarket.tw
+++ b/src/pregmod/theBlackMarket.tw
@@ -7,7 +7,7 @@
 <</if>>
 <<setPlayerPronouns>>
 
-You board your VTOL bird for the trip to the current location of the particularly exclusive, and quite lucrative, Black Market knowing full well that the trip may take far longer than anticipated; the market frequently relocates to shake the unwanted attention it inevitably gains. It's far easier than paying off authorities, especially with how outrageous their demands have become with the decline of the old world. You're greeted by a gruff bouncer, already fully aware of just who you are and your permission to be there. "Check your weapons — no firearms allowed inside.<<if $Bodyguard != 0>> $He may keep $his blade," he gestures to $Bodyguard.slaveName, "But keep in mind: if you cause us trouble, you will not be going home in one piece.<<if $Bodyguard.amp <= -4>> Oh, and one more thing." He taps his clearly bionic arm. "Disable $his weapons systems. I know what $he is capable of.<</if>><</if>>"
+You board your VTOL bird for the trip to the current location of the particularly exclusive, and quite lucrative, Black Market knowing full well that the trip may take far longer than anticipated; the market frequently relocates to shake the unwanted attention it inevitably gains. It's far easier than paying off authorities, especially with how outrageous their demands have become with the decline of the old world. You're greeted by a gruff bouncer, already fully aware of just who you are and your permission to be there. "Check your weapons — no firearms allowed inside.<<if $Bodyguard != 0>> $He may keep $his blade," he gestures to $Bodyguard.slaveName, "But keep in mind: if you cause us trouble, you will not be going home in one piece.<<if getLimbCount($Bodyguard, 5) + getLimbCount($Bodyguard, 6) > 0>> Oh, and one more thing." He <<if getArmCount($Bodyguard, 5) + getArmCount($Bodyguard, 6) > 0>> taps $his clearly bionic arm.<<else>> points at $his clearly bionic leg.<</if>> "Disable $his weapons systems. I know what $he is capable of.<</if>><</if>>"
 
 <br><br>
 
diff --git a/src/pregmod/widgets/bodySwapReaction.tw b/src/pregmod/widgets/bodySwapReaction.tw
index 1062e57458f..736ccefd8bb 100644
--- a/src/pregmod/widgets/bodySwapReaction.tw
+++ b/src/pregmod/widgets/bodySwapReaction.tw
@@ -24,7 +24,7 @@ Now you only have to wait for $him to wake up.
 
 <br><br>
 
-<<if $args[0].amp != 1>> /* (has limbs) */
+<<if hasAnyArms($args[0])>> /* (has arms) */
 	<<if $args[0].fetish == "mindbroken">>
 		After a while, $he begins to stir, $his eyes fluttering. $He lets out a low groan and reaches up to rub at $his eyes. $He stops and stares uncomprehendingly
 		<<if _sight == -2>>
@@ -105,7 +105,7 @@ Now you only have to wait for $him to wake up.
 		$He holds the limb in front of $him, flexing each
 
 		/*(arms)*/
-		<<if $args[0].amp < 0 && $args[1].amp == 0>>
+		<<if hasAnyProstheticArms($args[0]) && !hasAnyProstheticArms($args[0])>>
 			finger, the servo motors whining softly with each movement.
 			<<if $args[0].hears <= -2>>
 				<<if $args[0].fetish == "mindbroken">>
@@ -119,13 +119,13 @@ Now you only have to wait for $him to wake up.
 			<<else>>
 				Naturally, $he hasn't noticed it yet.
 			<</if>>
-		<<elseif $args[0].amp < 0 && $args[1].amp < 0>>
+		<<elseif hasAnyProstheticArms($args[0]) && hasAnyProstheticArms($args[0])>>
 			finger, the servo motors whining softly with each movement.
 		<<elseif $args[0].fetish == "mindbroken">>
 			finger as if nothing changed.
 		<<elseif $args[0].muscles < $args[1].muscles-5>> /*(less muscle)*/
 			<<if $args[0].devotion > 20>>
-				finger; the arm @@.orange;notably less muscular@@ than $his old one.
+				finger, the arm @@.orange;notably less muscular@@ than $his old one.
 			<<else>>
 				finger and noticing $his arm feels @@.orange;less muscular@@ than $he remembers. $He becomes irritated with $his newfound weakness and @@.mediumorchid;frowns angrily.@@
 				<<set $args[0].devotion -= 1>>
@@ -157,7 +157,7 @@ Now you only have to wait for $him to wake up.
 				<<if !canSee($args[0])>>
 					finger. $He traces $his
 					<<if $args[1].physicalAge < 40>>
-						arm and feels the @@.red;wrinkles in $his skin.@@ With a despondent note, $he lowers $his hands back to $his sides.
+						arm and feels the @@.red;wrinkles in $his skin.@@ With a despondent note, $he lowers $his hand<<if hasBothArms($args[0])>>s<</if>> back to $his side<<if hasBothArms($args[0])>>s<</if>>.
 					<<else>>
 						arm, feeling just @@.red;how much older@@ $he is.
 					<</if>>
@@ -179,7 +179,7 @@ Now you only have to wait for $him to wake up.
 		<</if>>
 
 		/* ear changes - WIP for future ear shape options */
-		$He runs $his hands over $his ears, finding
+		$He runs $his hand<<if hasBothArms($args[0])>>s<</if>> over $his ears, finding
 		<<if $args[0].hears <= -2 && $args[1].hears > -2>>
 			that, @@.gold;much to $his horror,@@ there is nothing closing up $his ear canals, and this @@.red;world of silence@@ is $his new reality.
 			<<set $args[0].trust -= 15>>
@@ -267,7 +267,7 @@ Now you only have to wait for $him to wake up.
 			body.
 		<</if>>
 
-		As $he settles $himself, $he <<if canSee($args[0])>>takes a look down, <</if>>brings $his hands to $his chest
+		As $he settles $himself, $he <<if canSee($args[0])>>takes a look down, <</if>>brings $his hand<<if hasBothArms($args[0])>>s<</if>> to $his chest
 
 		/*(breast changes)*/
 		<<if $args[0].boobsImplant > 0 && $args[1].boobsImplant > 0>> /*(breast implants)*/
@@ -321,7 +321,7 @@ Now you only have to wait for $him to wake up.
 				<<if $args[0].fetish == "mindbroken">>
 					breasts. As $he examines them closer, $he seems to understand that @@.lime;they are bigger now.@@
 				<<elseif $args[0].devotion > 20>>
-					@@.lime;$his bust has grown.@@ $He is caught off guard at the size of $his new chest. $He bounces them in $his palms, marveling at their mass.
+					@@.lime;$his bust has grown.@@ $He is caught off guard at the size of $his new chest. $He bounces them in $his palm<<if hasBothArms($args[0])>>s<</if>>, marveling at their mass.
 				<<else>>
 					@@.lime;$his chest is heavier than ever.@@ However, $he is well aware however that these breasts are not for $his benefit or pleasure. $He views this as a @@.mediumorchid;cruel manipulation of $his body@@ on top of what has already been done to $him.
 					<<set $args[0].devotion -= 5>>
@@ -407,7 +407,7 @@ Now you only have to wait for $him to wake up.
 				<<if $args[0].fetish == "mindbroken">>
 					breasts. As $he examines them closer, $he seems to understand that @@.lime;they are bigger now.@@
 				<<elseif $args[0].devotion > 20>>
-					@@.lime;$his bust has grown.@@ $He is caught off guard at the size of $his new chest. $He bounces them in $his palms, marveling at their firmness.
+					@@.lime;$his bust has grown.@@ $He is caught off guard at the size of $his new chest. $He bounces them in $his palm<<if hasBothArms($args[0])>>s<</if>>, marveling at their firmness.
 				<<else>>
 					@@.lime;$his chest is heavy with implants.@@ However, $he is well aware however that these breasts are not for $his benefit or pleasure. $He views this as a @@.mediumorchid;cruel manipulation of $his body@@ on top of what has already been done to $him.
 					<<set $args[0].devotion -= 5>>
@@ -491,7 +491,7 @@ Now you only have to wait for $him to wake up.
 				<<if $args[0].fetish == "mindbroken">>
 					breasts. As $he examines them, $he seems to understand that @@.lime;they are bigger now.@@
 				<<elseif $args[0].devotion > 20>>
-					@@.lime;and finds $his bust has grown.@@ $He is caught off guard at the size of $his new chest. $He bounces them in $his palms, marveling at the motion of silicone free flesh.
+					@@.lime;and finds $his bust has grown.@@ $He is caught off guard at the size of $his new chest. $He bounces them in $his palm<<if hasBothArms($args[0])>>s<</if>>, marveling at the motion of silicone free flesh.
 				<<else>>
 					@@.lime;and finds $his chest is heavier than ever, and not because of silicone.@@ However, $he is well aware however that these breasts are not for $his benefit or pleasure. $He views this as a @@.mediumorchid;cruel manipulation of $his body@@ on top of what has already been done to $him.
 					<<set $args[0].devotion -= 5>>
@@ -573,7 +573,7 @@ Now you only have to wait for $him to wake up.
 				<<if $args[0].fetish == "mindbroken">>
 					and finds breasts. As $he examines them, $he seems to understand that @@.lime;they are bigger now.@@
 				<<elseif $args[0].devotion > 20>>
-					and finds @@.lime;$his bust has grown.@@ $He is caught off guard at the size of $his new chest. $He bounces them in $his palms, marveling at the motion of $his soft flesh.
+					and finds @@.lime;$his bust has grown.@@ $He is caught off guard at the size of $his new chest. $He bounces them in $his palm<<if hasBothArms($args[0])>>s<</if>>, marveling at the motion of $his soft flesh.
 				<<else>>
 					and finds that @@.lime;$his chest is heavier than ever.@@ However, $he is well aware however that these breasts are not for $his benefit or pleasure. $He views this as a @@.mediumorchid;cruel manipulation of $his body@@ on top of what has already been done to $him.
 					<<set $args[0].devotion -= 5>>
@@ -743,60 +743,62 @@ Now you only have to wait for $him to wake up.
 			<br><br>
 		<</if>>
 
-		Your slave gingerly hops to $his feet
-		<<if $args[0].heels == 1 || !canWalk($args[0])>>
-			<<if $args[0].heels == 1>>
-				and immediately stumbles, catching $himself before $his cut heels let $him fall to the floor.
-			<<elseif !canWalk($args[0])>>
-				and immediately collapses under $his own weight.
-			<</if>>
-			<<if $args[0].fetish != "mindbroken">>
-				$He looks at you
-				<<if $args[0].devotion >= -20>>
-					@@.hotpink;submissively@@
-					<<set $args[0].devotion += 5>>
+		<<if hasAnyLegs($args[0])>>
+			Your slave gingerly hops to <<if !hasBothLegs($args[0])>>stand up<<else>>$his feet<</if>>
+			<<if $args[0].heels == 1 || !canWalk($args[0])>>
+				<<if $args[0].heels == 1>>
+					and immediately stumbles, catching $himself before $his cut heels let $him fall to the floor.
+				<<elseif !canWalk($args[0])>>
+					and immediately collapses under $his own weight.
+				<</if>>
+				<<if $args[0].fetish != "mindbroken">>
+					$He looks at you
+					<<if $args[0].devotion >= -20>>
+						@@.hotpink;submissively@@
+						<<set $args[0].devotion += 5>>
+					<<else>>
+						@@.mediumorchid;angrily@@
+						<<set $args[0].devotion -= 5>>
+					<</if>>
+					as $he
 				<<else>>
-					@@.mediumorchid;angrily@@
-					<<set $args[0].devotion -= 5>>
+					$He
 				<</if>>
-				as $he
-			<<else>>
-				$He
-			<</if>>
-			pulls $his weight back onto the bed and tries again, this time using the gurney to support $himself. $He
-		<<else>>
-			and
-		<</if>>
-		/*(height changes)*/
-		<<if $args[0].height >= $args[1].height+10>>
-			wobbles for a moment as $he adjusts to $his new height.
-			<<if $args[0].fetish == "mindbroken">>
-				The benefits of @@.lime;being taller@@ don't register to the broken $girl.
-			<<elseif $args[0].devotion > 20>>
-				$He is @@.hotpink;truly pleased@@ that you have taken the effort to make $him @@.lime;taller,@@ knowing that a lot of everyday things in life will be easier, and that $he will be viewed as having more stature now, both metaphorically and literally.
-				<<set $args[0].devotion += 2>>
+				pulls $his weight back onto the bed and tries again, this time using the gurney to support $himself. $He
 			<<else>>
-				$He frowns for a moment, before shrugging and accepting this small gift, even knowing that it is likely not for $his sake that you have done this. $His mouth curls into a @@.mediumaquamarine;small grin@@ for just a moment as $he considers how @@.lime;being taller@@ will benefit $him.
-				<<set $args[0].trust += 1>>
+				and
 			<</if>>
-		<<elseif $args[0].height <= $args[1].height-10>>
-			<<if $args[0].fetish == "mindbroken">>
-				Doesn't quite realize that $he is @@.lime;shorter than before.@@
-			<<else>>
-				starts at the falling sensation before realizing $he is just @@.lime;shorter than $he was before.@@
-				<<if $args[0].devotion > 20>>
-					As frustrating as it will be, $he tries to look at the bright side of this and thinks of all the fun things $he will be able to do easier now, like being picked up and set on a counter or pinned against a wall. $He drools a little, before shaking $his head and continuing on.
+			/* (height changes) */
+			<<if $args[0].height >= $args[1].height+10>>
+				wobbles for a moment as $he adjusts to $his new height.
+				<<if $args[0].fetish == "mindbroken">>
+					The benefits of @@.lime;being taller@@ don't register to the broken $girl.
+				<<elseif $args[0].devotion > 20>>
+					$He is @@.hotpink;truly pleased@@ that you have taken the effort to make $him @@.lime;taller,@@ knowing that a lot of everyday things in life will be easier, and that $he will be viewed as having more stature now, both metaphorically and literally.
+					<<set $args[0].devotion += 2>>
 				<<else>>
-					This is aggravating more than anything to $him. Everything will just be just that much more difficult now. $He @@.mediumorchid;glowers at you.@@
-					<<set $args[0].devotion -= 2>>
+					$He frowns for a moment, before shrugging and accepting this small gift, even knowing that it is likely not for $his sake that you have done this. $His mouth curls into a @@.mediumaquamarine;small grin@@ for just a moment as $he considers how @@.lime;being taller@@ will benefit $him.
+					<<set $args[0].trust += 1>>
+				<</if>>
+			<<elseif $args[0].height <= $args[1].height-10>>
+				<<if $args[0].fetish == "mindbroken">>
+					doesn't quite realize that $he is @@.lime;shorter than before.@@
+				<<else>>
+					starts at the falling sensation before realizing $he is just @@.lime;shorter than $he was before.@@
+					<<if $args[0].devotion > 20>>
+						As frustrating as it will be, $he tries to look at the bright side of this and thinks of all the fun things $he will be able to do easier now, like being picked up and set on a counter or pinned against a wall. $He drools a little, before shaking $his head and continuing on.
+					<<else>>
+						This is aggravating more than anything to $him. Everything will just be just that much more difficult now. $He @@.mediumorchid;glowers at you.@@
+						<<set $args[0].devotion -= 2>>
+					<</if>>
 				<</if>>
+			<<else>>
+				quickly gets used to $his new body's similar stature.
 			<</if>>
-		<<else>>
-			quickly gets used to $his new body's similar stature.
 		<</if>>
 
 		<br><br>
-		$He <<if canSee($args[0])>>takes in<<else>>runs $his hands across<</if>> $his new figure.
+		$He <<if canSee($args[0])>>takes in<<else>>runs $his hand<<if hasBothArms($args[0])>>s<</if>> across<</if>> $his new figure.
 
 		<<if $args[0].fetish != "mindbroken" && canSee($args[0])>>
 			<<if $args[0].race != $args[1].race>> /*(race changes)*/
@@ -1082,7 +1084,7 @@ Now you only have to wait for $him to wake up.
 		<<set _weightChange = 0>> /*used to segway to weight after pregnancy/belly implants*/
 		<<if $args[0].pregKnown == 1 && $args[1].preg > 0>>
 			<br><br>
-			$His hands drift over $his stomach,
+			$His hand<<if hasBothArms($args[0])>>s<</if>> drift<<if !hasBothArms($args[0])>>s<</if>> over $his stomach,
 			<<if $args[0].bellyPreg < 100>>
 				<<if $args[0].counter.birthsTotal == 0>>
 					but $he's too inexperienced to recognize $his @@.pink;early pregnancy.@@
@@ -1123,7 +1125,7 @@ Now you only have to wait for $him to wake up.
 			<<set _weightChange = 1>>
 		<<elseif $args[0].bellyImplant > $args[1].bellyImplant && $args[0].bellyImplant >= 100>> /*belly implant filled*/
 			<br><br>
-			$His hands drift over $his stomach, where $he
+			$His hand<<if hasBothArms($args[0])>>s<</if>> drift<<if !hasBothArms($args[0])>>s<</if>> over $his stomach, where $he
 			<<if $args[0].bellyImplant >= 450000>>
 				finds there is no chance of $him reaching $his navel across $his @@.pink;massive middle.@@
 			<<elseif $args[0].bellyImplant >= 150000>>
@@ -1169,7 +1171,7 @@ Now you only have to wait for $him to wake up.
 			<<set _weightChange = 1>>
 		<<elseif $args[0].pregKnown == 0 && $args[1].pregKnown == 1>>
 			<br><br>
-			$His hands drift over $his stomach, where $he discovers $he is @@.pink;no longer pregnant.@@
+			$His hand<<if hasBothArms($args[0])>>s<</if>> drift<<if !hasBothArms($args[0])>>s<</if>> over $his stomach, where $he discovers $he is @@.pink;no longer pregnant.@@
 			<<if $args[0].fetish == "pregnancy">>
 				<<if $args[0].devotion > 50>>
 					$He @@.mediumorchid;scowls with momentary wrath@@ before regaining $his composure. $He resents being separated from $his pregnancy<<if canGetPregnant($args[0])>>, though that is easily remedied<</if>>.
@@ -1194,7 +1196,7 @@ Now you only have to wait for $him to wake up.
 			<<set _weightChange = 1>>
 		<<elseif $args[0].bellyImplant < $args[1].bellyImplant>> /*belly implant reduced*/
 			<br><br>
-			$His hands drift over $his stomach, where $he
+			$His hand<<if hasBothArms($args[0])>>s<</if>> drift<<if !hasBothArms($args[0])>>s<</if>> over $his stomach, where $he
 			<<if $args[0].bellyImplant >= 450000>>
 				finds there is @@.pink;still no chance of $him reaching $his navel across $his massive middle.@@
 			<<elseif $args[0].bellyImplant >= 150000>>
@@ -1222,7 +1224,7 @@ Now you only have to wait for $him to wake up.
 		/*stomach*/
 		<<if _weightChange != 1>>
 			<br><br>
-			$His hands drift over
+			$His hand<<if hasBothArms($args[0])>>s<</if>> drift<<if !hasBothArms($args[0])>>s<</if>> over
 		<<else>>
 			$He continues to fondle
 		<</if>>
@@ -1354,7 +1356,7 @@ Now you only have to wait for $him to wake up.
 		<</if>>
 
 		<br><br>
-		As $his hands wander lower,
+		As $his hand<<if hasBothArms($args[0])>>s<</if>> wander<<if !hasBothArms($args[0])>>s<</if>> lower,
 
 		/*(changed genitals)*/
 		<<if $args[1].vagina > -1>> /*(had a vagina)*/
@@ -1450,12 +1452,12 @@ Now you only have to wait for $him to wake up.
 				<</if>>
 			<<else>>
 				<<if $args[0].dick > $args[1].dick + 4>>
-					@@.mediumaquamarine;incredibly aggravated@@ about this change. This is just one more thing $he has to deal with now. How dare you give $him such a massive, throbbing, sensitive piece of meat between $his legs! $His glower loses its bite as you note $him pawing subconsciously at $his ridiculously enlarged organ. $He stops after $he glances down at $his hands, nervously removing them from $his now massive prick.
+					@@.mediumaquamarine;incredibly aggravated@@ about this change. This is just one more thing $he has to deal with now. How dare you give $him such a massive, throbbing, sensitive piece of meat <<if hasBothLegs($args[0])>>between $his legs<<else>>on $his crotch<</if>>! $His glower loses its bite as you note $him pawing subconsciously at $his ridiculously enlarged organ. $He stops after $he <<if canSee($args[0])>>glances<<else>>tilts $his head<</if>> down at $his hand<<if hasBothArms($args[0])>>s<</if>>, nervously removing <<if hasBothArms($args[0])>>them<<else>>it<</if>> from $his now massive prick.
 					<<set $args[0].trust += 3>>
 				<<elseif $args[0].dick > $args[1].dick>>
 					annoyed at this development. $He frowns as $he tests $his newfound growth, only groping it for a moment before <<if canSee($args[0])>>noticing your amused grin<<else>>sensing your gaze<</if>> and stopping.
 				<<else>>
-					@@.mediumorchid;infuriated by it.@@ $He <<if $args[0].amp !=1>>pokes and prods at <<else>>jostles <</if>>$his smaller dick, only stopping when $he starts to become flushed and <<if canSee($args[0])>>notices your questioning<<else>>senses your<</if>> gaze.
+					@@.mediumorchid;infuriated by it.@@ $He <<if hasAnyArms($args[0])>>pokes and prods at <<else>>jostles <</if>>$his smaller dick, only stopping when $he starts to become flushed and <<if canSee($args[0])>>notices your questioning<<else>>senses your<</if>> gaze.
 					<<set $args[0].devotion -= 5>>
 				<</if>>
 			<</if>>
@@ -1477,7 +1479,7 @@ Now you only have to wait for $him to wake up.
 					amazing addition to $his body is @@.hotpink;surely welcome.@@ $He moans as $he fondles $his new balls, groaning as $he rolls their weight around. $His face is flushed by the time $he's done "examining" them.
 					<<set $args[0].devotion += 5>>
 				<<else>>
-					addition to $his body is @@.mediumaquamarine;annoying,@@ clearly. The frustrated irritation on $his face contrasts sharply with the actions of $his hands, which are busy causing <<if $args[0].dick>>$his dick to become engorged with blood<<else>>precum to start flowing freely<</if>>. Catching $himself, $he takes a few soothing breaths to calm $his body down.
+					addition to $his body is @@.mediumaquamarine;annoying,@@ clearly. The frustrated irritation on $his face contrasts sharply with the actions of $his hand<<if hasBothArms($args[0])>>s<</if>>, which <<if hasBothArms($args[0])>>are<<else>>is<</if>> busy causing <<if $args[0].dick>>$his dick to become engorged with blood<<else>>precum to start flowing freely<</if>>. Catching $himself, $he takes a few soothing breaths to calm $his body down.
 					<<set $args[0].trust += 5>>
 				<</if>>
 			<<elseif $args[0].balls > $args[1].balls>>
@@ -1596,7 +1598,7 @@ Now you only have to wait for $him to wake up.
 				a fair bit.
 			<</if>>
 			<<if $args[0].fetish == "mindbroken">>
-				As soon as $his hands leave its mass does $he forget it wasn't always this big.
+				As soon as $his hand<<if hasBothArms($args[0])>>s<</if>> leave<<if !hasBothArms($args[0])>>s<</if>> its mass does $he forget it wasn't always this big.
 			<<elseif $args[0].devotion > 20>>
 				This is a pleasing development as $he looks forward to putting this new rear to the test with you.
 			<<else>>
@@ -1717,14 +1719,14 @@ Now you only have to wait for $him to wake up.
 		<</if>>
 	<<elseif $args[0].devotion > 20>>
 		and begins to panic, $his breaths quickening. With a visible look of concentration, $his breathing slows and $he tries to take stock of $his new body. $He quickly realizes
-		<<if $args[1].amp == 1>> /*(was already an amputee)*/
+		<<if isAmputee($args[1])>> /* (was already an amputee) */
 			that at least nothing about $his limbs, or lack thereof, has changed.
 		<<else>>
 			@@.gold;you have taken $his arms and legs.@@
 			<<set $args[0].trust -= 15>>
 		<</if>>
 	<<else>>
-		<<if $args[1].amp == 1>> /*(was already an amputee)*/
+		<<if isAmputee($args[1])>> /* (was already an amputee) */
 			but $he realizes that at least nothing about $his limbs, or lack thereof, has changed.
 		<<else>>
 			$His eyes seem to bulge; $his heart monitor begins to beep faster and more insistently. Eventually, your assistant is forced to inject $him with a sedative. $His eyes flutter closed and the heart monitors beeping slows to a steady pulse. Hopefully $he'll be calmer when $he wakes up again, though the memory of waking without limbs will @@.gold;stick with $him.@@
@@ -3059,7 +3061,7 @@ Now you only have to wait for $him to wake up.
 					<</if>>
 				<<else>>
 					<<if $args[0].dick > $args[1].dick + 4>>
-						@@.mediumaquamarine;incredibly aggravated@@ about this change. This is just one more thing $he has to deal with now. How dare you give $him such a massive, throbbing, sensitive piece of meat between $his legs! $His glower loses its bite as you note $him subconsciously thrusting $his ridiculously enlarged organ against the sheets. $He stops after $he realizes what $he is doing, nervously staying completely still to not blast a load out of $his massive prick.
+						@@.mediumaquamarine;incredibly aggravated@@ about this change. This is just one more thing $he has to deal with now. How dare you give $him such a massive, throbbing, sensitive piece of meat <<if hasBothLegs($args[0])>>between $his legs<<else>>on $his crotch<</if>>! $His glower loses its bite as you note $him subconsciously thrusting $his ridiculously enlarged organ against the sheets. $He stops after $he realizes what $he is doing, nervously staying completely still to not blast a load out of $his massive prick.
 						<<set $args[0].trust += 3>>
 					<<elseif $args[0].dick > $args[1].dick>>
 						annoyed at this development. $He frowns as $he tests $his newfound growth, only thrusting once before <<if canSee($args[0])>>noticing your amused grin<<else>>sensing your gaze<</if>> and stopping.
@@ -3231,14 +3233,14 @@ Now you only have to wait for $him to wake up.
 			and is supremely unaffected by it, as $his mind has already left $him.
 		<<elseif $args[0].devotion > 20>>
 			and begins to panic, $his breaths quickening. With a visible look of concentration, $his breathing slows and $he tries to take stock of $his new body
-			<<if $args[1].amp == 1>> /*(was already an amputee)*/
+			<<if isAmputee($args[1])>> /* (was already an amputee) */
 				but $he realizes that at least nothing about $his limbs, or lack thereof, has changed.
 			<<else>>
 				and begins to panic, $his breaths quickening. $He quickly realizes @@.gold;you have taken $his arms and legs.@@
 				<<set $args[0].trust -= 15>>
 			<</if>>
 		<<else>>
-			<<if $args[1].amp == 1>> /*(was already an amputee)*/
+			<<if isAmputee($args[1])>> /* (was already an amputee) */
 				but $he realizes that at least nothing about $his limbs, or lack thereof, has changed.
 			<<else>>
 				$His eyes seem to bulge, $his heart monitor begins to beep faster and more insistently. Eventually, your assistant is forced to inject $him with a sedative. $His eyes flutter closed and the heart monitors beeping slows to a steady pulse. Hopefully $he'll be calmer when $he wakes up again, though the memory of waking without limbs will @@.gold;stick with $him.@@
diff --git a/src/pregmod/widgets/seBirthWidgets.tw b/src/pregmod/widgets/seBirthWidgets.tw
index e80cc5d49d8..278f5d14663 100644
--- a/src/pregmod/widgets/seBirthWidgets.tw
+++ b/src/pregmod/widgets/seBirthWidgets.tw
@@ -210,7 +210,7 @@
 			<<if $universalRulesCSec == 1 || ($slaves[$i].mpreg == 0 && $slaves[$i].vagina < 0)>>
 				<<Birth>>
 			<<else>>
-				<<if $slaves[$i].amp != 1>> /* amps are always carried in time */
+				<<if hasAnyLegs($slaves[$i])>> /* legless slaves are always carried in time */
 					<<if (random(1,20) > $suddenBirth) || ($universalRulesBirthing == 1)>> /* did she make it to her birthing area? */
 						Feeling childbirth approaching, <<if !canWalk($slaves[$i])>>$slaves[$i].slaveName is helped<<else>>$slaves[$i].slaveName makes $his way<</if>> to $his prepared birthing area.
 						<<Birth>>
@@ -247,7 +247,7 @@
 			<</if>>
 		<</if>> /* close cow birth */
 	<<else>>
-		<<if $slaves[$i].amp == 1>>
+		<<if !hasAnyLegs($slaves[$i])>>
 			With childbirth approaching, $slaves[$i].slaveName is carried to $his prepared birthing area.
 			<<AmpBirth>>
 		<<elseif $slaves[$i].broodmother == 1>>
-- 
GitLab