diff --git a/devNotes/Useful JS Function Documentation.txt b/devNotes/Useful JS Function Documentation.txt
index b8ff71e8f8b673349a166440c45c716eb32cac62..d10014977a0b369b97116b53efb163d22c99c552 100644
--- a/devNotes/Useful JS Function Documentation.txt	
+++ b/devNotes/Useful JS Function Documentation.txt	
@@ -102,6 +102,8 @@ canSmell(slave) - Returns if the slave can smell.
 
 canTaste(slave) - Returns if the slave can taste.
 
+canHold(slave) - Returns if the slave can use both arms.
+
 canWalk(slave) - Returns if the slave can walk unassisted.
 
 canTalk(slave) - Returns if the slave can talk.
diff --git a/player variables documentation - Pregmod.txt b/player variables documentation - Pregmod.txt
index 3f5e48965366778a2d85785396349e50d2405258..89c7f7bbecddcde19bff0f01d1a50018de364a0d 100644
--- a/player variables documentation - Pregmod.txt	
+++ b/player variables documentation - Pregmod.txt	
@@ -362,7 +362,7 @@ eye:
 		sclerae:
 
 		your sclerae color
-		accepts string	
+		accepts string
 
 	origColor:
 
@@ -448,7 +448,7 @@ counter:
 	birthLab:
 
 	how many designer babies you've produced
-	
+
 	birthFuta:
 
 	how many babies you've had with the Futanari Sisters
@@ -520,14 +520,14 @@ Used for compatibility.
 
 rules:
 	living:
-	
+
 	Your starting expenses. Increases each NG+ until max. Keep in mind that this is in terms of an arcology owner.
 	"spare"
 	"normal"
 	"luxurious"
-	
+
 	lactation:
-	
+
 	How you are handling your lactation?
 	"none"
 	"induce"
diff --git a/src/004-base/facility.js b/src/004-base/facility.js
index 30a76db6dd64ab801ac88b1e60036e568bd158ba..465475f98395b36a0d53a928ba156a241c8d07b4 100644
--- a/src/004-base/facility.js
+++ b/src/004-base/facility.js
@@ -230,7 +230,7 @@ App.Entity.Facilities.ManagingJob = class extends App.Entity.Facilities.Job {
 			r.push(`${slave.slaveName} must be able to walk.`);
 		}
 		if (this.desc.shouldHold && !canHold(slave)) {
-			r.push(`${slave.slaveName} must be able to hold.`);
+			r.push(`${slave.slaveName} must be able to hold on to objects.`);
 		}
 		if (this.desc.shouldSee && !canSee(slave)) {
 			r.push(`${slave.slaveName} must have working eyes.`);
diff --git a/src/art/vector_revamp/vectorRevampedArtControl.js b/src/art/vector_revamp/vectorRevampedArtControl.js
index e752bf9b8d273f37ba905b109c1079e93b37e514..668ec900ba3144637f116c9167166247ca610bf9 100644
--- a/src/art/vector_revamp/vectorRevampedArtControl.js
+++ b/src/art/vector_revamp/vectorRevampedArtControl.js
@@ -790,6 +790,9 @@ class RevampedArtControl {
 		} else {
 			leftArmType = "Mid";
 		}
+		if (!hasLeftArm(this.artSlave)) {
+			leftArmType= "";
+		}
 
 		return leftArmType;
 	}
@@ -808,6 +811,9 @@ class RevampedArtControl {
 		} else {
 			rightArmType = "Mid";
 		}
+		if (!hasRightArm(this.artSlave)) {
+			rightArmType= "";
+		}
 
 		return rightArmType;
 	}
@@ -904,8 +910,12 @@ class RevampedArtControl {
 		if (!hasAnyArms(this.artSlave)) {
 			result.push("Art_Vector_Revamp_Arm_Stump");
 		} else {
-			result.push(`Art_Vector_Revamp_Arm_Right_${this.rightArmType}`);
-			result.push(`Art_Vector_Revamp_Arm_Left_${this.leftArmType}`);
+			if (hasLeftArm(this.artSlave)) {
+				result.push(`Art_Vector_Revamp_Arm_Left_${this.leftArmType}`);
+			}
+			if (hasRightArm(this.artSlave)) {
+				result.push(`Art_Vector_Revamp_Arm_Right_${this.rightArmType}`);
+			}
 		}
 
 		if (this.showArmHair && (!hasAnyArms(this.artSlave) || (this.leftArmType === "High"))) {
diff --git a/src/js/eventSelectionJS.js b/src/js/eventSelectionJS.js
index c95ad1788aca3186a938d3bcb47b994665748e96..81898f9964094dced2218c0b558fe5a889b3f9e3 100644
--- a/src/js/eventSelectionJS.js
+++ b/src/js/eventSelectionJS.js
@@ -2,7 +2,7 @@ window.generateRandomEventPoolStandard = function(eventSlave) {
 	/* STANDARD EVENTS */
 
 	if (eventSlave.fetish !== "mindbroken") {
-		if (canWalk(eventSlave)) {
+		if (hasAnyArms(eventSlave) && hasAnyLegs(eventSlave)) {
 			if (canTalk(eventSlave)) {
 				if (State.variables.RECockmilkInterceptionIDs.length > 1 || (State.variables.RECockmilkInterceptionIDs.length === 1 && eventSlave.ID !== State.variables.RECockmilkInterceptionIDs[0])) {
 					if (eventSlave.devotion > 20) {
@@ -876,7 +876,7 @@ window.generateRandomEventPoolStandard = function(eventSlave) {
 							if (eventSlave.pubertyXX === 0) {
 								if (eventSlave.preg === 0) {
 									if (eventSlave.physicalAge + eventSlave.birthWeek / 52 >= eventSlave.pubertyAgeXX - 0.5) {
-										State.variables.RESSevent.push(...Array.from({length: 10}, i=>"first period"));
+										State.variables.RESSevent.push(...Array.from({length: 10}, () => "first period"));
 									}
 								}
 							}
@@ -885,7 +885,7 @@ window.generateRandomEventPoolStandard = function(eventSlave) {
 							if (eventSlave.balls > 0) {
 								if (eventSlave.pubertyXY === 0) {
 									if (eventSlave.physicalAge + eventSlave.birthWeek / 52 >= eventSlave.pubertyAgeXY - 0.5) {
-										State.variables.RESSevent.push(...Array.from({length: 10}, i=>"wet dreams"));
+										State.variables.RESSevent.push(...Array.from({length: 10}, () => "wet dreams"));
 									}
 								}
 							}
@@ -1567,7 +1567,7 @@ window.generateRandomEventPoolStandard = function(eventSlave) {
 
 		if (eventSlave.rules.release.masturbation === 1) {
 			if (eventSlave.dick > 4) {
-				if (hasAllLimbs(eventSlave)) {
+				if (hasAnyArms(eventSlave)) {
 					if (canAchieveErection(eventSlave)) {
 						if (eventSlave.belly < 10000) {
 							if (eventSlave.chastityPenis !== 1) {
@@ -1592,8 +1592,10 @@ window.generateRandomEventPoolStandard = function(eventSlave) {
 				if (eventSlave.anus > 2) {
 					if (eventSlave.fetish === "buttslut" || eventSlave.energy > 95) {
 						if (eventSlave.fetish !== "none") {
-							if (canDoAnal(eventSlave)) {
-								State.variables.RESSevent.push("loose buttslut");
+							if (canHold(eventSlave)) {
+								if (canDoAnal(eventSlave)) {
+									State.variables.RESSevent.push("loose buttslut");
+								}
 							}
 						}
 					}
@@ -1749,7 +1751,7 @@ window.generateRandomEventPoolStandard = function(eventSlave) {
 						if (eventSlave.broodmother === 0) {
 							if (eventSlave.counter.births > 10) {
 								if (eventSlave.assignment === "whore" || eventSlave.assignment === "serve the public") {
-									if (hasAllLimbs(eventSlave)) {
+									if (!isAmputee(eventSlave)) {
 										State.variables.events.push("RE legendary womb");
 									}
 								}
@@ -1827,7 +1829,7 @@ window.generateRandomEventPoolServant = function(eventSlave) {
 	/* STANDARD EVENTS */
 
 	if (eventSlave.fetish !== "mindbroken") {
-		if (canWalk(eventSlave)) {
+		if (hasAnyArms(eventSlave) && hasAnyLegs(eventSlave)) {
 			if (canTalk(eventSlave)) {
 				if (State.variables.RECockmilkInterceptionIDs.length > 1 || (State.variables.RECockmilkInterceptionIDs.length === 1 && eventSlave.ID !== State.variables.RECockmilkInterceptionIDs[0])) {
 					if (eventSlave.devotion > 20) {
@@ -2764,7 +2766,7 @@ window.generateRandomEventPoolServant = function(eventSlave) {
 
 		if (eventSlave.rules.release.masturbation === 1) {
 			if (eventSlave.dick > 4) {
-				if (hasAllLimbs(eventSlave)) {
+				if (hasAnyArms(eventSlave)) {
 					if (canAchieveErection(eventSlave)) {
 						if (eventSlave.belly < 10000) {
 							if (eventSlave.chastityPenis !== 1) {
@@ -2789,8 +2791,10 @@ window.generateRandomEventPoolServant = function(eventSlave) {
 				if (eventSlave.anus > 2) {
 					if (eventSlave.fetish === "buttslut" || eventSlave.energy > 95) {
 						if (eventSlave.fetish !== "none") {
-							if (canDoAnal(eventSlave)) {
-								State.variables.RESSevent.push("loose buttslut");
+							if (canHold(eventSlave)) {
+								if (canDoAnal(eventSlave)) {
+									State.variables.RESSevent.push("loose buttslut");
+								}
 							}
 						}
 					}
diff --git a/src/js/slaveCostJS.js b/src/js/slaveCostJS.js
index 5f33bd61fe7747a315c351f0b6035e2fbf7c0546..8b75acc9b7e3b678e557da4b38b7516f88844615 100644
--- a/src/js/slaveCostJS.js
+++ b/src/js/slaveCostJS.js
@@ -2379,6 +2379,9 @@ window.slaveCost = (function() {
 		if (!canSee(slave)) {
 			multiplier -= 0.2;
 		}
+		if (slave.hears === -2) {
+			multiplier -= 0.1;
+		}
 	}
 
 	/**
diff --git a/src/js/statsChecker/statsChecker.js b/src/js/statsChecker/statsChecker.js
index c9cae99729ea06bb2f13c0d5f86ea7e217fc48f5..e874bdd4d255faf94ec9655d99ef22ef855396c4 100644
--- a/src/js/statsChecker/statsChecker.js
+++ b/src/js/statsChecker/statsChecker.js
@@ -689,7 +689,7 @@ window.canHold = function(slave) {
 	if (!slave) {
 		return null;
 	}
-	return hasBothArms(slave);
+	return hasAnyArms(slave);
 };
 
 /**
diff --git a/src/js/storyJS.js b/src/js/storyJS.js
index 649768f0daf14153fb884ebab63d218e50c278bb..891e8029ae91ada6695c023a251db7829e6124c0 100644
--- a/src/js/storyJS.js
+++ b/src/js/storyJS.js
@@ -335,7 +335,7 @@ window.bodyguardSuccessorEligible = function(slave) {
 	if (!slave) {
 		return false;
 	}
-	return (slave.devotion > 50 && slave.muscles >= 0 && slave.weight < 100 && slave.boobs < 8000 && slave.butt < 10 && slave.belly < 5000 && slave.balls < 10 && slave.dick < 10 && slave.preg < 20 && slave.fuckdoll === 0 && slave.fetish !== "mindbroken" && canWalk(slave));
+	return (slave.devotion > 50 && slave.muscles >= 0 && slave.weight < 100 && slave.boobs < 8000 && slave.butt < 10 && slave.belly < 5000 && slave.balls < 10 && slave.dick < 10 && slave.preg < 20 && slave.fuckdoll === 0 && slave.fetish !== "mindbroken" && canWalk(slave) && canHold(slave) && canSee(slave) && canHear(slave));
 };
 
 window.ngUpdateGenePool = function(genePool = []) {
diff --git a/src/uncategorized/coursingAssociation.tw b/src/uncategorized/coursingAssociation.tw
index 0fec50db38c7f1bddfb8f0c47e39ba99928fe4ba..f0194d1818abee6c7be3e30e25a24f52a07fb816 100644
--- a/src/uncategorized/coursingAssociation.tw
+++ b/src/uncategorized/coursingAssociation.tw
@@ -24,6 +24,6 @@ The chasing slaves are known as lurchers, the term once used for the sighthounds
 <br><br>''Select a slave to course as a Lurcher:''
 <br><br>
 <<= App.UI.SlaveList.slaveSelectionList(
-		s => $Lurcher.ID !== s.ID && canWalk(s) && s.fuckdoll === 0 && isSlaveAvailable(s),
+		s => $Lurcher.ID !== s.ID && canWalk(s) && canHold(s) && (canSee(s) || canHear(s)) && s.fuckdoll === 0 && isSlaveAvailable(s),
 		(slave, index) => App.UI.DOM.passageLink(SlaveFullName(slave), 'Assign', () => { variables().i = index; })
 	)>>
diff --git a/src/uncategorized/randomNonindividualEvent.tw b/src/uncategorized/randomNonindividualEvent.tw
index d1d241cf116203ea3564cbdb904d380034d97744..9d9ed0deb3412092ad391fabe5650fc931dd9b95 100644
--- a/src/uncategorized/randomNonindividualEvent.tw
+++ b/src/uncategorized/randomNonindividualEvent.tw
@@ -404,7 +404,7 @@
 
 		<<if ($Concubine != 0)>>
 			<<if $fuckSlaves > 1>>
-				<<if canTalk($Concubine) && canSee($Concubine) && canHear($Concubine) && $Concubine.fetish != "mindbroken" && hasAllLimbs($Concubine)>>
+				<<if canTalk($Concubine) && canSee($Concubine) && canHear($Concubine) && $Concubine.fetish != "mindbroken" && canHold($Concubine) && canWalk($Concubine)>>
 					<<set $events.push("PE headgirl concubine")>>
 				<</if>>
 			<</if>>
diff --git a/src/uncategorized/slaveAssignmentsReport.tw b/src/uncategorized/slaveAssignmentsReport.tw
index 46ccdbef08d4b26d2a4b7d05e230241aa72802c6..9dd1b9dcd96f11a167fb158568eb89d3b3102797 100644
--- a/src/uncategorized/slaveAssignmentsReport.tw
+++ b/src/uncategorized/slaveAssignmentsReport.tw
@@ -466,6 +466,9 @@ $sexDemandResult.topClass = Math.trunc((($NPCSexSupply.topClass + $slaveJobValue
 	<<elseif !canWalk($HeadGirl)>>
 		''__@@.pink;$HeadGirl.slaveName@@__'' is no longer independently mobile @@.yellow;and cannot serve as your Head Girl any more.@@<br>
 		<<set $HeadGirl = 0>>
+	<<elseif !canHold($HeadGirl)>>
+		''__@@.pink;$HeadGirl.slaveName@@__'' is no longer disciplinate your slaves @@.yellow;and cannot serve as your Head Girl any more.@@<br>
+		<<set $HeadGirl = 0>>
 	<<elseif !canSee($HeadGirl)>>
 		''__@@.pink;$HeadGirl.slaveName@@__'' can no longer see @@.yellow;and cannot serve as your Head Girl any more.@@<br>
 		<<set $HeadGirl = 0>>
@@ -516,6 +519,9 @@ $sexDemandResult.topClass = Math.trunc((($NPCSexSupply.topClass + $slaveJobValue
 	<<elseif !canWalk($Recruiter)>>
 		''__@@.pink;$Recruiter.slaveName@@__'' is no longer independently mobile @@.yellow;and cannot serve as your recruiter any more.@@<br>
 		<<set $Recruiter = 0>>
+	<<elseif !canHold($Recruiter)>>
+		''__@@.pink;$Recruiter.slaveName@@__'' can no longer hold @@.yellow;and cannot serve as your recruiter any more.@@<br>
+		<<set $Recruiter = 0>>
 	<<elseif !canSee($Recruiter)>>
 		''__@@.pink;$Recruiter.slaveName@@__'' can no longer see @@.yellow;and cannot serve as your recruiter any more.@@<br>
 		<<set $Recruiter = 0>>
@@ -569,6 +575,9 @@ $sexDemandResult.topClass = Math.trunc((($NPCSexSupply.topClass + $slaveJobValue
 	<<elseif !canWalk($Milkmaid)>>
 		''__@@.pink;$Milkmaid.slaveName@@__'' is no longer independently mobile @@.yellow;and cannot serve as your Milkmaid any more.@@<br>
 		<<set $Milkmaid = 0>>
+	<<elseif !canHold($Milkmaid)>>
+		''__@@.pink;$Milkmaid.slaveName@@__'' can no longer milk your slaves @@.yellow;and cannot serve as your Milkmaid any more.@@<br>
+		<<set $Milkmaid = 0>>
 	<<elseif !canSee($Milkmaid)>>
 		''__@@.pink;$Milkmaid.slaveName@@__'' can no longer see @@.yellow;and cannot serve as your Milkmaid any more.@@<br>
 		<<set $Milkmaid = 0>>
@@ -590,6 +599,9 @@ $sexDemandResult.topClass = Math.trunc((($NPCSexSupply.topClass + $slaveJobValue
 	<<elseif !canWalk($Farmer)>>
 		''__@@.pink;$Farmer.slaveName@@__'' is no longer independently mobile @@.yellow;and cannot serve as your Farmer any more.@@<br>
 		<<set $Farmer = 0>>
+	<<elseif !canHold($Farmer)>>
+		''__@@.pink;$Farmer.slaveName@@__'' can no longer hold @@.yellow;and cannot serve as your Farmer any more.@@<br>
+		<<set $Farmer = 0>>
 	<<elseif !canSee($Farmer)>>
 		''__@@.pink;$Farmer.slaveName@@__'' can no longer see @@.yellow;and cannot serve as your Farmer any more.@@<br>
 		<<set $Farmer = 0>>
@@ -614,6 +626,9 @@ $sexDemandResult.topClass = Math.trunc((($NPCSexSupply.topClass + $slaveJobValue
 	<<elseif !canWalk($Stewardess)>>
 		''__@@.pink;$Stewardess.slaveName@@__'' is no longer independently mobile @@.yellow;and cannot serve as your Stewardess any more.@@<br>
 		<<set $Stewardess = 0>>
+	<<elseif !canHold($Stewardess)>>
+		''__@@.pink;$Stewardess.slaveName@@__'' can no longer hold @@.yellow;and cannot serve as your Stewardess any more.@@<br>
+		<<set $Stewardess = 0>>
 	<<elseif !canSee($Stewardess)>>
 		''__@@.pink;$Stewardess.slaveName@@__'' can no longer see @@.yellow;and cannot serve as your Stewardess any more.@@<br>
 		<<set $Stewardess = 0>>
@@ -650,6 +665,9 @@ $sexDemandResult.topClass = Math.trunc((($NPCSexSupply.topClass + $slaveJobValue
 	<<if !canWalk($Wardeness)>>
 		''__@@.pink;$Wardeness.slaveName@@__'' is no longer independently mobile @@.yellow;and cannot serve as your Wardeness any more.@@<br>
 		<<set $Wardeness = 0>>
+	<<elseif !canHold($Wardeness)>>
+		''__@@.pink;$Wardeness.slaveName@@__'' can no longer hold @@.yellow;and cannot serve as your Wardeness any more.@@<br>
+		<<set $Wardeness = 0>>
 	<<elseif $Wardeness.preg > 37 && $Wardeness.broodmother == 2>>
 		''__@@.pink;$Wardeness.slaveName@@__'' spends so much time giving birth and laboring that @@.yellow;$he cannot effectively serve as your Wardeness any longer.@@
 		<<set $Wardeness = 0>>
@@ -674,6 +692,9 @@ $sexDemandResult.topClass = Math.trunc((($NPCSexSupply.topClass + $slaveJobValue
 	<<elseif !canWalk($Attendant)>>
 		''__@@.pink;$Attendant.slaveName@@__'' is no longer independently mobile @@.yellow;and cannot serve as your Attendant any more.@@<br>
 		<<set $Attendant = 0>>
+	<<elseif !canHold($Attendant)>>
+		''__@@.pink;$Attendant.slaveName@@__'' can no longer hold @@.yellow;and cannot serve as your Attendant any more.@@<br>
+		<<set $Attendant = 0>>
 	<<elseif !canHear($Attendant)>>
 		''__@@.pink;$Attendant.slaveName@@__'' can no longer hear @@.yellow;and cannot serve as your Attendant any more.@@<br>
 		<<set $Attendant = 0>>
@@ -692,6 +713,9 @@ $sexDemandResult.topClass = Math.trunc((($NPCSexSupply.topClass + $slaveJobValue
 	<<elseif !canWalk($Matron)>>
 		''__@@.pink;$Matron.slaveName@@__'' is no longer independently mobile @@.yellow;and cannot serve as your Matron any more.@@<br>
 		<<set $Matron = 0>>
+	<<elseif !canHold($Matron)>>
+		''__@@.pink;$Matron.slaveName@@__'' can no longer hold @@.yellow;and cannot serve as your Matron any more.@@<br>
+		<<set $Matron = 0>>
 	<<elseif !canHear($Matron)>>
 		''__@@.pink;$Matron.slaveName@@__'' can no longer hear @@.yellow;and cannot serve as your Matron any more.@@<br>
 		<<set $Matron = 0>>
@@ -713,6 +737,9 @@ $sexDemandResult.topClass = Math.trunc((($NPCSexSupply.topClass + $slaveJobValue
 	<<elseif !canWalk($Nurse)>>
 		''__@@.pink;$Nurse.slaveName@@__'' is no longer independently mobile @@.yellow;and cannot serve as your Nurse any more.@@<br>
 		<<set $Nurse = 0>>
+	<<elseif !canHold($Nurse)>>
+		''__@@.pink;$Nurse.slaveName@@__'' can no longer hold @@.yellow;and cannot serve as your Nurse any more.@@<br>
+		<<set $Nurse = 0>>
 	<<elseif !canSee($Nurse)>>
 		''__@@.pink;$Nurse.slaveName@@__'' can no longer see @@.yellow;and cannot serve as your Nurse any more.@@<br>
 		<<set $Nurse = 0>>
@@ -731,6 +758,9 @@ $sexDemandResult.topClass = Math.trunc((($NPCSexSupply.topClass + $slaveJobValue
 	<<elseif !canWalk($Bodyguard)>>
 		''__@@.pink;$Bodyguard.slaveName@@__'' is no longer independently mobile @@.yellow;and cannot serve as your bodyguard any more.@@<br>
 		<<set $Bodyguard = 0>>
+	<<elseif !canHold($Bodyguard)>>
+		''__@@.pink;$Bodyguard.slaveName@@__'' is no longer able to use weapons @@.yellow;and cannot serve as your bodyguard any more.@@<br>
+		<<set $Bodyguard = 0>>
 	<<elseif $Bodyguard.preg > 37 && $Bodyguard.broodmother == 2>>
 		''__@@.pink;$Bodyguard.slaveName@@__'' spends so much time giving birth and laboring that @@.yellow;$he cannot effectively serve as your bodyguard any longer.@@
 		<<set $Bodyguard = 0>>
@@ -756,6 +786,9 @@ $sexDemandResult.topClass = Math.trunc((($NPCSexSupply.topClass + $slaveJobValue
 		<<if !canWalk($Lurcher)>>
 			''__@@.pink;$Lurcher.slaveName@@__'' is no longer able to run @@.yellow;and cannot course as a lurcher.@@<br>
 			<<set $Lurcher = 0>>
+		<<elseif !canHold($Lurcher)>>
+			''__@@.pink;$Lurcher.slaveName@@__'' is no longer able to catch the hares @@.yellow;and cannot course as a lurcher.@@<br>
+			<<set $Lurcher = 0>>
 		<<elseif !canHear($Lurcher) && !canSee($Lurcher)>>
 			''__@@.pink;$Lurcher.slaveName@@__'' is no longer able to track the hares @@.yellow;and cannot course as a lurcher.@@<br>
 			<<set $Lurcher = 0>>
@@ -770,6 +803,9 @@ $sexDemandResult.topClass = Math.trunc((($NPCSexSupply.topClass + $slaveJobValue
 	<<if !canWalk($slaves[$i])>>
 		''__@@.pink;$slaves[$i].slaveName@@__'' is no longer independently mobile @@.yellow;and cannot fight any more.@@ $He has been removed from $pitName roster<br>.
 		<<set $fighterIDs.delete($slaves[$i].ID)>>
+	<<elseif !canHold($slaves[$i])>>
+		''__@@.pink;$slaves[$i].slaveName@@__'' is no longer able to strike @@.yellow;and cannot fight any more.@@ $He has been removed from $pitName roster<br>.
+		<<set $fighterIDs.delete($slaves[$i].ID)>>
 	<</if>>
 <</if>>
 
@@ -936,7 +972,7 @@ $sexDemandResult.topClass = Math.trunc((($NPCSexSupply.topClass + $slaveJobValue
 				<<set _HGPossibleSlaves[5].push({ID: _Slave.ID, training: "anal skill"})>>
 			<<elseif (_Slave.skill.whoring < $HeadGirl.skill.whoring)>>
 				<<set _HGPossibleSlaves[5].push({ID: _Slave.ID, training: "whore skill"})>>
-			<<elseif (_Slave.skill.entertainment < $HeadGirl.skill.entertainment) && hasAllLimbs(_Slave)>>
+			<<elseif (_Slave.skill.entertainment < $HeadGirl.skill.entertainment) && !isAmputee(_Slave)>>
 				<<set _HGPossibleSlaves[5].push({ID: _Slave.ID, training: "entertain skill"})>>
 			<</if>>
 		<</if>>
diff --git a/src/uncategorized/surgeryDegradation.tw b/src/uncategorized/surgeryDegradation.tw
index b22334b432769400981aa9e71f6de40d145b040a..16e322bcc493b3981029813332be299f6ee850ed 100644
--- a/src/uncategorized/surgeryDegradation.tw
+++ b/src/uncategorized/surgeryDegradation.tw
@@ -105,7 +105,7 @@
 
 <<else>>
 	<<switch $surgeryType>>
-	<<case "amp" "amp1" "blind" "fuckdoll" "mindbreak" "PLimb interface1" "PLimb interface2" "PLimb interface3" "remove eyes" "removeLimbs">>
+	<<case "amp" "amp1" "ampA2" "ampL2" "blind" "fuckdoll" "mindbreak" "PLimb interface1" "PLimb interface2" "PLimb interface3" "remove eyes" "removeLimbs">>
 	<<set _ID = $activeSlave.ID>>
 	<<if _ID == $Lurcher.ID>><<set $Lurcher = 0>><</if>>
 	<<if _ID == $Recruiter.ID>><<set $Recruiter = 0>><</if>>
@@ -1865,6 +1865,59 @@ As the remote surgery's long recovery cycle completes,
 		$He exits the surgery on $his own two feet. $He's still sore, but the modern surgery is fast and effective, and $he can use $his restored legs immediately. $He gingerly stands on one foot, then the other; and even takes a few little hops. $He obviously confused, finding it surprising that you would go to the expense and trouble of repairing $him. As with all surgery @@.red;$his health has been slightly affected.@@
 	<</if>>
 
+/*
+<<case "ampA1">>
+	<<if $activeSlave.fetish == "mindbroken">>
+		You're there to help $him with the door as $he exits the surgery. $He smiles dumbly at your generosity, already seeming to forget $he ever had another arm. Since the surgery was invasive, @@.red;$his health has been greatly affected.@@
+	<<elseif ($activeSlave.devotion > 50)>>
+		You're there to help $him with the door as $he exits the surgery. $He knows what a slave's life is, but $he did not really expect that it would ever come to this for $him. After a short, silent <<if canSee($activeSlave)>>stare at<<else>>consideration of<</if>> the stump that was once $his arm, $he squares $his shoulders and resolves to carry on being a good slave as best $he can. Since the surgery was invasive, @@.red;$his health has been greatly affected.@@
+	<<elseif ($activeSlave.devotion > 20)>>
+		You're there to help $him with the door as $he exits the surgery. Despite $his obedience, $he cries softly the whole time, the stump at $his shoulder occasionally moving as $he reflexively tries to grab at $himself and $his surroundings. @@.mediumorchid;$He will struggle greatly with $his medically created disability.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ $He is @@.gold;immensely afraid@@ of your total power over $his body.
+		<<set $activeSlave.trust -= 8, $activeSlave.devotion -= 8>>
+	<<else>>
+		You're there to help $him with the door as $he exits the surgery. You had a good idea what $his reaction would be, so you've made sure to bind $his other arm<<if (hasAnyLegs($activeSlave))>> and $his leg<<if (hasBothLegs($activeSlave))>>s<</if>><</if>> to prevent $him from trying to attack you, and <<if ($activeSlave.teeth == "removable")>>remove $his teeth<<else>>muzzle $him<</if>> to prevent $him from trying to bite. $He sobs convulsively, and $his <<if canSee($activeSlave)>>eyes dart desperately from side to side through $his tears, hopelessly imploring the mirror to show $him something other than this<<else>>shoulder stump twitches pathetically with $his desperate efforts to move $his missing arm, to prove there is something other than this<</if>>. Anything other than this. @@.mediumorchid;The surgical invasion has filled $him with horror and anger.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ $He is @@.gold;incredibly and intensely terrified@@ of your total power over $his body.
+		<<set $activeSlave.trust -= 20, $activeSlave.devotion -= 20>>
+	<</if>>
+
+<<case "ampA2">>
+	<<if $activeSlave.fetish == "mindbroken">>
+		You're there to open the door for $him as $he exits the surgery. $He smiles dumbly at your generosity, already seeming to forget the sensation of touching. Since the surgery was invasive, @@.red;$his health has been greatly affected.@@
+	<<elseif ($activeSlave.devotion > 50)>>
+		You're there to open the door for $him as $he exits the surgery. $He knows what a slave's life is, but $he did not really expect that it would ever come to this for $him. After a short, silent <<if canSee($activeSlave)>>stare at<<else>>consideration of<</if>> the two stumps that were once $his arms, $he squares $his shoulders and resolves to carry on being a good slave as best $he can. Since the surgery was invasive, @@.red;$his health has been greatly affected.@@
+	<<elseif ($activeSlave.devotion > 20)>>
+		You're there to open the door for $him as $he exits the surgery. Despite $his obedience, $he cries softly the whole time, $his shoulder stumps occasionally moving as $he reflexively tries to grab at $himself and $his surroundings. @@.mediumorchid;$He will struggle greatly with $his medically created disability.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ $He is @@.gold;extremely afraid@@ of your total power over $his body.
+		<<set $activeSlave.trust -= 15, $activeSlave.devotion -= 15>>
+	<<else>>
+		You're there to open the door for $him as $he exits the surgery. You had a good idea what $his reaction would be, so you've made sure to bind $his leg<<if (hasBothLegs($activeSlave))>>s<</if>> to prevent $him from trying to attack you, and <<if ($activeSlave.teeth == "removable")>>remove $his teeth<<else>>muzzle $him<</if>> to prevent $him from trying to bite. $He sobs convulsively, and $his <<if canSee($activeSlave)>>eyes dart desperately from side to side through $his tears, hopelessly imploring the mirror to show $him something other than this<<else>>shoulder stumps twitch pathetically with $his desperate efforts to move $his arms, to prove there is something other than this<</if>>. Anything other than this. @@.mediumorchid;The surgical invasion has filled $him with horror and anger.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ $He is @@.gold;utterly and entirely terrified@@ of your total power over $his body.
+		<<set $activeSlave.trust -= 40, $activeSlave.devotion -= 40>>
+	<</if>>
+
+<<case "ampL1">>
+	<<if $activeSlave.fetish == "mindbroken">>
+		Of course, $he could not walk out of the surgery by $himself; you had to walk alongside $him. $He leans into you the entire time, already seeming to forget $he ever had another leg. Since the surgery was invasive, @@.red;$his health has been greatly affected.@@
+	<<elseif ($activeSlave.devotion > 50)>>
+		Of course, $he could not walk out of the surgery by $himself; you had to walk alongside $him. $He knows what a slave's life is, but $he did not really expect that it would involve this. After a brief, silent <<if canSee($activeSlave)>>stare at<<else>>consideration of<</if>> the stump that was once $his leg, $he squares $his shoulders and resolves to carry on being a good slave as best $he can. Since the surgery was invasive, @@.red;$his health has been greatly affected.@@
+	<<elseif ($activeSlave.devotion > 20)>>
+		Of course, $he could not walk out of the surgery by $himself; you had to walk alongside $him. Despite $his obedience, $he cries softly the whole time, the stump at $his hip occasionally moving as $he reflexively tries to use it somehow. @@.mediumorchid;$He will struggle greatly with $his medically created disability.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ $He is @@.gold;immensely afraid@@ of your total power over $his body.
+		<<set $activeSlave.trust -= 5, $activeSlave.devotion -= 5>>
+	<<else>>
+		Of course, $he could not walk out of the surgery by $himself; you had to carry $him. You had a good idea what $his reaction would be, so you've made sure to bind $his other leg<<if (hasAnyArms($activeSlave))>> and $his arm<<if (hasBothArms($activeSlave))>>s<</if>><</if>> to prevent $him from trying to attack you, and <<if ($activeSlave.teeth == "removable")>>remove $his teeth<<else>>muzzle $him<</if>> to prevent $him from trying to bite. $He sobs convulsively, and $his <<if canSee($activeSlave)>>eyes dart desperately from side to side through $his tears, hopelessly imploring the mirror to show $him something other than this<<else>>leg stump twitches pathetically with $his desperate efforts to move $his missing leg, to prove there is something other than this<</if>>. Anything other than this. @@.mediumorchid;The surgical invasion has filled $him with horror and anger.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ $He is @@.gold;incredibly and intensely terrified@@ of your total power over $his body.
+		<<set $activeSlave.trust -= 15, $activeSlave.devotion -= 15>>
+	<</if>>
+
+<<case "ampL2">>
+	<<if $activeSlave.fetish == "mindbroken">>
+		Of course, $he could not walk out of the surgery; you carried $him. $He holds onto you the entire time, already seeming to forget the sensation of walking. Since the surgery was invasive, @@.red;$his health has been greatly affected.@@
+	<<elseif ($activeSlave.devotion > 50)>>
+		Of course, $he could not walk out of the surgery; you carried $him. $He knows what a slave's life is, but $he did not really expect that it would involve this. After a brief, silent <<if canSee($activeSlave)>>stare at<<else>>consideration of<</if>> the two stumps that were once $his legs, $he squares $his shoulders and resolves to carry on being a good slave as best $he can. Since the surgery was invasive, @@.red;$his health has been greatly affected.@@
+	<<elseif ($activeSlave.devotion > 20)>>
+		Of course, $he could not walk out of the surgery; you carried $him. Despite $his obedience, $he cries softly the whole time, $his hip stumps occasionally moving as $he reflexively tries to stand up and walk around. @@.mediumorchid;$He will struggle greatly with $his medically created disability.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ $He is @@.gold;extremely afraid@@ of your total power over $his body.
+		<<set $activeSlave.trust -= 10, $activeSlave.devotion -= 10>>
+	<<else>>
+		Of course, $he could not walk out of the surgery; you carried $him. You had a good idea what $his reaction would be, so you've made sure to bind $his arm<<if (hasBothArms($activeSlave))>>s<</if>> to prevent $him from trying to attack you, and <<if ($activeSlave.teeth == "removable")>>remove $his teeth<<else>>muzzle $him<</if>> to prevent $him from trying to bite. $He sobs convulsively, and $his <<if canSee($activeSlave)>>eyes dart desperately from side to side through $his tears, hopelessly imploring the mirror to show $him something other than this<<else>>hip stumps twitch pathetically with $his desperate efforts to move $his legs, to prove there is something other than this<</if>>. Anything other than this. @@.mediumorchid;The surgical invasion has filled $him with horror and anger.@@ Since the surgery was invasive, @@.red;$his health has been greatly affected.@@ $He is @@.gold;utterly and entirely terrified@@ of your total power over $his body.
+		<<set $activeSlave.trust -= 30, $activeSlave.devotion -= 30>>
+	<</if>>
+*/
 <<case "amp">>
 	<<set $nextButton = " ">>
 	<<= App.Desc.limbChange().amputate($activeSlave, $oldLimbs, "Remote Surgery")>>