diff --git a/src/001-lib/04-ScopeMacro/ScopeMacro.js b/src/001-lib/04-ScopeMacro/ScopeMacro.js
index 08999d246d4e3dc84310c453e794538c14c7d0ac..e350fbdcde4389f09dda44035ff3eecca43d3978 100644
--- a/src/001-lib/04-ScopeMacro/ScopeMacro.js
+++ b/src/001-lib/04-ScopeMacro/ScopeMacro.js
@@ -25,7 +25,7 @@ Macro.add('scope', {
 				*/
 				while ((match = varRe.exec(this.args.raw)) !== null) {
 					const varName = match[1];
-					const varKey  = varName.slice(1);
+					const varKey = varName.slice(1);
 					if(varName[0] === '$') {
 						return this.error("Global variable '" + varName + "'cannot be scoped.");
 					}
diff --git a/src/002-config/sugarCubeConfig.js b/src/002-config/sugarCubeConfig.js
index 5a8dca9167779c0561d77cae60ece31abac3fef2..771f8b360634b68ebd6908feba5a1f5bfdc23bf0 100644
--- a/src/002-config/sugarCubeConfig.js
+++ b/src/002-config/sugarCubeConfig.js
@@ -27,5 +27,5 @@ Config.history.maxStates = 1;
 Note: This is an 'engine level' debug mode, completely separate from the game's debug mode. */
 Config.debug = false;
 
-/* Set maximum loop iterations.  Among other things, this controls the maximum number of slaves the player can own. */
+/* Set maximum loop iterations. Among other things, this controls the maximum number of slaves the player can own. */
 Config.macros.maxLoopIterations = 5000;
diff --git a/src/events/intro/introSummary.tw b/src/events/intro/introSummary.tw
index 4cbe34024472f3b33420a30a894fa7dbcc7e9ae1..f4663b62525eb58ea43159b44ba9be197235dae6 100644
--- a/src/events/intro/introSummary.tw
+++ b/src/events/intro/introSummary.tw
@@ -108,7 +108,7 @@ You may review your settings before clicking "Continue" to begin.<br>
 	<div class="content">
 
 	<<options $seeImages>>
-		Displing images is currently:
+		Displaying images is currently:
 		<<option 1 "Enable">>
 			''Enabled''.
 		<<option 0 "Disable">>
diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw
index cc124ea7944b61eea5f687c630d201eb5737542c..79c2ea431c584ac573db829803d9e8d4ca92dd0e 100644
--- a/src/init/storyInit.tw
+++ b/src/init/storyInit.tw
@@ -12,7 +12,7 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY
 You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
 */
 
-/* Set up the game as politely as possible.  If values are already set, they are preserved. */
+/* Set up the game as politely as possible. If values are already set, they are preserved. */
 <<run App.Update.setNonexistantProperties(V, App.Data.defaultGameStateVariables)>>
 
 /* These variables must be created AND set to default values, NG+ or not */
diff --git a/src/interaction/slaveInteract.js b/src/interaction/slaveInteract.js
index 655774b3dc8d2a51a87fe64bb2447f2958a90614..4d1085722bffb5a89155710e88697cb19332a98b 100644
--- a/src/interaction/slaveInteract.js
+++ b/src/interaction/slaveInteract.js
@@ -255,7 +255,7 @@ App.UI.SlaveInteract.drugs = function(slave) {
 				drugOptions.push({text: `Nipple enhancers`, updateSlave: {drugs: `nipple enhancers`}});
 			} else if(slave.nipples === "huge") {
 				drugOptions.push({text: `Nipple enhancers`, disabled: `Nipples are already huge`});
-			} else  {
+			} else {
 				drugOptions.push({text: `Nipple enhancers`, disabled: `Has no effect on ${slave.nipples} nipples`});
 			}
 		}
@@ -987,7 +987,7 @@ App.UI.SlaveInteract.fertility = function(slave) {
 			} else if (slave.preg < 4) {
 				fertility.textContent = "may be pregnant";
 			} else {
-				fertility.textContent = `${Math.trunc(slave.preg * 1000) / 1000} weeks pregnant`; // * and /  needed to avoid seeing something like 20.1000000008 in some cases.
+				fertility.textContent = `${Math.trunc(slave.preg * 1000) / 1000} weeks pregnant`; // * and / needed to avoid seeing something like 20.1000000008 in some cases.
 			}
 			fertility.textContent += ". ";
 			fertilityblock.appendChild(fertility);
@@ -2438,7 +2438,7 @@ App.UI.SlaveInteract.generateRows = function(array, slave, category, accessCheck
 				break;
 			}
 		}
-		// Some items will never be in App.data.misc, especially "none" if it falls in between harsh and nice data sets.  Trying to look it up would cause an error, which is what access check works around.
+		// Some items will never be in App.data.misc, especially "none" if it falls in between harsh and nice data sets. Trying to look it up would cause an error, which is what access check works around.
 		let unlocked = false;
 		if (accessCheck === true) {
 			if (category === "chastity") {
@@ -2452,7 +2452,7 @@ App.UI.SlaveInteract.generateRows = function(array, slave, category, accessCheck
 			if (i < array.length && i !== 0 && useSep === true) { // start with separator (after first loop); can't after since the last loop may not have any text.
 				row.appendChild(separator);
 			}
-			useSep = true;  // First item may not appear and if it doesn't we don't want the second to start with a '|'
+			useSep = true; // First item may not appear and if it doesn't we don't want the second to start with a '|'
 			// is it just text?
 			if (array[i].disabled) {
 				link = App.UI.DOM.disabledLink(array[i].text, [array[i].disabled]);
diff --git a/src/js/economyJS.js b/src/js/economyJS.js
index 4b959f6090476390e5408b017294e8bfcb1802e2..6083cced95d1196af84cbb3b0ccb6aef8fd30906 100644
--- a/src/js/economyJS.js
+++ b/src/js/economyJS.js
@@ -1492,7 +1492,7 @@ window.slaveJobValues = function(lowerClassSexDemandRef, middleClassSexDemandRef
 		} else if (V.DJ.fetish === "mindbroken") {
 			V.DJ = 0;
 			V.unDJ = 3;
-		} else if ((!canWalk(V.DJ)) || (!canHold(V.DJ))) {
+		} else if (!canWalk(V.DJ)) {
 			V.DJ = 0;
 			V.unDJ = 4;
 		} else if (!canHear(V.DJ)) {
diff --git a/src/js/generateMarketSlave.js b/src/js/generateMarketSlave.js
index 374188f9a3d77310a984698c39369c864fb5d66f..d3a025ac5ad1461b827333d559bb7f5d6e6e7192 100644
--- a/src/js/generateMarketSlave.js
+++ b/src/js/generateMarketSlave.js
@@ -33,7 +33,7 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) {
 			} else {
 				r += `Promising slaves are trained without special sorting based on age. `;
 			}
-			SGProp.ageOverridesPedoMode  = 1;
+			SGProp.ageOverridesPedoMode = 1;
 			if (V.corp.SpecRaces.length > 0) {
 				SGProp.race = jsEither(V.corp.SpecRaces);
 			}
@@ -1791,7 +1791,7 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) {
 			if (V.TCR.schoolUpgrade === 2 && jsRandom(1, 100) <= 20) {
 				SGProp.minAge = V.fertilityAge;
 				SGProp.maxAge = 18;
-				SGProp.ageOverridesPedoMode  = 1;
+				SGProp.ageOverridesPedoMode = 1;
 				SGProp.disableDisability = 1;
 				slave = GenerateNewSlave("XX", SGProp);
 				slave.origin = "You bought $him from The Cattle Ranch.";
@@ -1832,7 +1832,7 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) {
 			} else if (V.TCR.schoolUpgrade === 1 && jsRandom(1, 100) <= 20) {
 				SGProp.minAge = V.potencyAge+1;
 				SGProp.maxAge = 24;
-				SGProp.ageOverridesPedoMode  = 1;
+				SGProp.ageOverridesPedoMode = 1;
 				SGProp.disableDisability = 1;
 				slave = GenerateNewSlave("XY", SGProp);
 				slave.slaveName = setup.cowSlaveNames.random();
@@ -1878,7 +1878,7 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) {
 			} else {
 				SGProp.minAge = 19;
 				SGProp.maxAge = 24;
-				SGProp.ageOverridesPedoMode  = 1;
+				SGProp.ageOverridesPedoMode = 1;
 				SGProp.disableDisability = 1;
 				slave = GenerateNewSlave("XX", SGProp);
 				slave.slaveName = setup.cowSlaveNames.random();
@@ -1936,7 +1936,7 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) {
 		case "TFS": {
 			SGProp.minAge = 25;
 			SGProp.maxAge = 29;
-			SGProp.ageOverridesPedoMode  = 1;
+			SGProp.ageOverridesPedoMode = 1;
 			SGProp.disableDisability = 1;
 			if (V.TFS.schoolUpgrade === 3 && V.TFS.compromiseWeek+15 <= V.week) {
 				slave = GenerateNewSlave("", SGProp);
@@ -2173,7 +2173,7 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) {
 		case "HA": {
 			SGProp.minAge = 22;
 			SGProp.maxAge = 26;
-			SGProp.ageOverridesPedoMode  = 1;
+			SGProp.ageOverridesPedoMode = 1;
 			SGProp.disableDisability = 1;
 			slave = GenerateNewSlave("XX", SGProp);
 			slave.origin = "You bought $him from the prestigious Hippolyta Academy.";
@@ -2299,7 +2299,7 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) {
 			if (V.pedo_mode === 1) {
 				SGProp.minAge = 6;
 				SGProp.maxAge = 18;
-				SGProp.ageOverridesPedoMode  = 1;
+				SGProp.ageOverridesPedoMode = 1;
 			} else {
 				SGProp.minAge = 16;
 				if (V.retirementAge > 56) {
@@ -2551,7 +2551,7 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) {
 			if (V.pedo_mode === 1) {
 				SGProp.minAge = 12;
 				SGProp.maxAge = 18;
-				SGProp.ageOverridesPedoMode  = 1;
+				SGProp.ageOverridesPedoMode = 1;
 			} else {
 				SGProp.minAge = 18;
 				if (V.retirementAge > 56) {
@@ -2751,7 +2751,7 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) {
 			if (V.pedo_mode === 1) {
 				SGProp.minAge = 16;
 				SGProp.maxAge = 45;
-				SGProp.ageOverridesPedoMode  = 1;
+				SGProp.ageOverridesPedoMode = 1;
 			} else {
 				SGProp.minAge = 25;
 				if (V.retirementAge > 66) {
@@ -2867,7 +2867,7 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) {
 			if (V.pedo_mode === 1) {
 				SGProp.minAge = 6;
 				SGProp.maxAge = 18;
-				SGProp.ageOverridesPedoMode  = 1;
+				SGProp.ageOverridesPedoMode = 1;
 			} else {
 				SGProp.minAge = 16;
 				if (V.retirementAge > 56) {
diff --git a/src/npc/startingGirls/commitStartingGirl.tw b/src/npc/startingGirls/commitStartingGirl.tw
index dacd8d4ea5de88f17d4fce66eb86869505f02261..a60dbe12c1f983d72dbbba16fc1291b00bfd7311 100644
--- a/src/npc/startingGirls/commitStartingGirl.tw
+++ b/src/npc/startingGirls/commitStartingGirl.tw
@@ -3,7 +3,7 @@
 <<run App.StartingGirls.cleanup($activeSlave)>>
 
 <<if def $slaveIndices[$activeSlave.ID]>>
-	<div>@@red;Starting Girl ID conflict; slave not committed.  Please report this error with a description of your actions.@@</div>
+	<div>@@red;Starting Girl ID conflict; slave not committed. Please report this error with a description of your actions.@@</div>
 <<else>>
 	<<run newSlave($activeSlave)>>
 <</if>>
diff --git a/src/uncategorized/policies.tw b/src/uncategorized/policies.tw
index e2ad282e6358f55270537580abbe54e4a28d2496..677cdced99dee85e636853ca48062b3edd5292da 100644
--- a/src/uncategorized/policies.tw
+++ b/src/uncategorized/policies.tw
@@ -164,7 +164,7 @@ More policies will become available as the arcology develops.//
 		<<if !$QualityBeautySMR>>
 			<br>''Basic Beauty Standards:'' no unattractive slaves may be sold in the slave markets.
 			<<if $rep >= 1000>>
-				@@.green;[[Implement|Policies][$BasicBeautySMR  = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]@@
+				@@.green;[[Implement|Policies][$BasicBeautySMR = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]@@
 			<</if>>
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;//This will raise the price of slaves.
 		<</if>>
@@ -349,7 +349,7 @@ More policies will become available as the arcology develops.//
 		<</if>>
 	<</if>>
 
- <h1>Future Socities</h1>
+ <h1>Future Societies</h1>
 	<<if $arcologies[0].FSRepopulationFocusPregPolicy>>
 		<br>''Pregnancy Encouragement:'' you are using your personal influence to spur interest in pregnancy.
 		@@.yellow;[[Repeal|Policies][$arcologies[0].FSRepopulationFocusPregPolicy = 0]]@@
@@ -408,11 +408,11 @@ More policies will become available as the arcology develops.//
 
 	<<if $ProRecruitment>>
 		<br>''Encourage Self-Enslavement:'' Soften your image as a slaveowner, encouraging the desperate to consider coming to you for enslavement.
-		@@.yellow;[[Repeal|Policies][$ProRecruitment  = 0]]@@
+		@@.yellow;[[Repeal|Policies][$ProRecruitment = 0]]@@
 	<<else>>
 		<br>''Encourage Self-Enslavement:'' your image as a slaveowner will be softened, encouraging the desperate to consider coming to you for enslavement.
 		<<if $rep >= 1000>>
-			@@.green;[[Implement|Policies][$ProRecruitment  = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]@@
+			@@.green;[[Implement|Policies][$ProRecruitment = 1, cashX(-5000, "policies"), repX(-1000, "policies")]]@@
 		<</if>>
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will increase the chances of desperate people offering themselves to you for enslavement//
 	<</if>>
diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw
index 57a8f20bfb70adf75ab3448d0c34ca402725f960..d1b6e17ea647d530204e39009687e36ac0b621a4 100644
--- a/src/uncategorized/remoteSurgery.tw
+++ b/src/uncategorized/remoteSurgery.tw
@@ -461,7 +461,7 @@
 				<<if (getSlave($AS).earImplant != 1) && getSlave($AS).earShape != "none">>
 					[[Correct hearing|Surgery Degradation][getSlave($AS).hears = 0, cashX(forceNeg($surgeryCost), "slaveSurgery", getSlave($AS)), surgeryDamage(getSlave($AS),10), $surgeryType = "earFix"]]
 				<</if>>
-			<<else>>
+			<<elseif getSlave($AS).hears == 0>>
 				<<if ($seeExtreme == 1) && (getSlave($AS).earImplant != 1) && getSlave($AS).indentureRestrictions < 1>>
 					[[Muffle hearing|Surgery Degradation][getSlave($AS).hears = -1, cashX(forceNeg($surgeryCost), "slaveSurgery", getSlave($AS)), surgeryDamage(getSlave($AS),10), $surgeryType = "earMuffle"]]
 				<</if>>
diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw
index 569578adc148b4bab64ea63183cc31cf60cc75cc..094beccfa8d606815c04e9e5d3176c88b8b131b9 100644
--- a/src/uncategorized/slaveInteract.tw
+++ b/src/uncategorized/slaveInteract.tw
@@ -169,7 +169,7 @@
 				<div>
 					[[Remote surgery|Remote Surgery][$activeSlave = getSlave($AS), $degradation = 0]]
 					<span class="note">
-						Surgically modify your slave with state of the art plastic surgery and more.  Alter $his senses, skeletal structure, organs, and even more.
+						Surgically modify your slave with state of the art plastic surgery and more. Alter $his senses, skeletal structure, organs, and even more.
 					</span>
 				</div>
 				<<if $prostheticsUpgrade > 0>>