From 9f822887c551c8b5952ed9035aad615adf408acf Mon Sep 17 00:00:00 2001
From: klorpa <30924131+klorpa@users.noreply.github.com>
Date: Sat, 28 Mar 2020 20:25:14 -0500
Subject: [PATCH] ETC

---
 src/Corporation/corporate-constants.js        |  8 +++----
 src/Corporation/corporate.js                  |  1 -
 .../BackwardsCompatibility.tw                 |  2 +-
 .../backwardsCompatibility.js                 |  2 +-
 .../backwardsCompatibility/datatypeCleanup.js |  2 +-
 .../updateSlaveObject.js                      |  4 ++--
 src/descriptions/arcologyDescription.js       | 18 +++++++--------
 src/endWeek/saServant.js                      |  4 ++--
 src/endWeek/saServeThePublic.js               |  2 +-
 src/events/001-base/baseEvent.js              |  4 ++--
 src/events/intro/introSummary.tw              |  2 +-
 src/events/reSnatchAndGrabFollowup.tw         |  2 +-
 src/facilities/ads.js                         |  4 ++--
 .../brothel/brothelAssignmentScene.tw         |  4 ++--
 src/facilities/nursery/nurseryWidgets.js      |  2 +-
 src/gui/Encyclopedia/encyclopedia.tw          |  2 +-
 src/gui/css/mainStyleSheet.css                |  2 +-
 src/gui/storyCaption.tw                       |  2 +-
 src/interaction/prostheticConfig.tw           |  4 ++--
 src/interaction/slaveInteract.js              |  8 +++----
 src/interaction/wardrobeUse.js                |  8 +++----
 src/js/CustomSlave.js                         |  4 ++--
 src/js/assignJS.js                            |  2 +-
 src/js/eventSelectionJS.js                    | 12 +++++-----
 src/js/generateMarketSlave.js                 |  2 +-
 src/js/generateRelatedSlave.js                |  2 +-
 src/js/itemAvailability.js                    |  2 +-
 src/js/modification.js                        |  2 +-
 src/js/sexActsJS.js                           |  8 +++----
 src/js/slaveCostJS.js                         | 22 +++++++++----------
 src/js/utilsFC.js                             |  4 ++--
 src/js/utilsSC.js                             |  2 +-
 src/npc/databases/customSlavesDatabase.tw     |  2 +-
 src/npc/interaction/fButt.tw                  |  4 ++--
 src/npc/interaction/fFeelings.tw              |  6 ++++-
 src/pregmod/FCTV/FCTV.js                      |  2 +-
 src/pregmod/widgets/bodySwapReaction.tw       |  4 ++--
 src/pregmod/widgets/pregmodBirthWidgets.tw    |  4 ++--
 src/uncategorized/RECI.tw                     |  2 +-
 src/uncategorized/RESS.tw                     |  6 ++---
 src/uncategorized/REroyalblood.tw             |  2 +-
 src/uncategorized/costsBudget.js              |  6 ++---
 src/uncategorized/options.tw                  |  6 ++---
 src/uncategorized/ptWorkaround.tw             |  2 +-
 src/uncategorized/reFSAcquisition.tw          |  2 +-
 src/uncategorized/reRecruit.tw                |  4 ++--
 src/uncategorized/reRelativeRecruiter.tw      | 10 ++++-----
 src/uncategorized/saLongTermEffects.tw        |  6 ++++-
 src/uncategorized/saRelationships.tw          |  2 +-
 src/uncategorized/seExpiration.tw             |  2 +-
 src/uncategorized/slaveInteract.tw            |  2 +-
 src/uncategorized/surgeryDegradation.tw       |  2 +-
 src/uncategorized/underperformingSlaves.tw    |  4 ++--
 src/utility/descriptionWidgetsStyle.tw        |  2 +-
 54 files changed, 120 insertions(+), 111 deletions(-)

diff --git a/src/Corporation/corporate-constants.js b/src/Corporation/corporate-constants.js
index 4ab47e4d1f9..ea8eb7b91ec 100644
--- a/src/Corporation/corporate-constants.js
+++ b/src/Corporation/corporate-constants.js
@@ -53,7 +53,7 @@ App.Corporate.InitConstants = function() {
 	corporateCash: Defines how much it costs the player to *found the corporation* with this department with a 2-to-1 split, in thousands. This will be the corporation's starting cash, from which the development and slaves will be purchased.
 	startingSize: How developed the department is upon founding, including how many active slaves the department starts with (Note that acquiring divisions don't start with slaves)
 	merger: A list of companies that can be purchased during the merger event. The event will collect all of these company objects associated with owned divisions and pick some at random.
-		name: The generic name of the company that is being purchased. This will have "the" put in front of it, so it must fit with the sentance "The {name} will be bought."
+		name: The generic name of the company that is being purchased. This will have "the" put in front of it, so it must fit with the sentence "The {name} will be bought."
 		cost: How much, in thousands, it will cost to purchase this company. Default: 50.
 		text: An object with the flavor text of the event.
 			trouble: A description of the company and its troubles. Will be in the sentence "The first company is {trouble}"
@@ -111,7 +111,7 @@ App.Corporate.InitConstants = function() {
 			'maintenance':{
 				'linear': 7.5,
 				'quadratic': 5,
-				'category':'acquision',
+				'category':'acquisition',
 			},
 			'founding':{
 				'corporateCash':100,
@@ -151,7 +151,7 @@ App.Corporate.InitConstants = function() {
 			'maintenance':{
 				'linear': 12,
 				'quadratic': 6,
-				'category':'acquision',
+				'category':'acquisition',
 			},
 			'founding':{
 				'corporateCash':125,
@@ -512,7 +512,7 @@ App.Corporate.InitConstants = function() {
 	App.Corporate.maintenance = {
 		divisionCategoriesList: [
 			{
-				id:'acquision',
+				id:'acquisition',
 				freeDivisions: 0,
 				divisionCost: 25000,
 				freeDevelopment: 100,
diff --git a/src/Corporation/corporate.js b/src/Corporation/corporate.js
index decdce36585..7524a8a7d82 100644
--- a/src/Corporation/corporate.js
+++ b/src/Corporation/corporate.js
@@ -1,4 +1,3 @@
-
 window.averageRange = class {
 	constructor({center, range}) {
 		this._const = {
diff --git a/src/data/backwardsCompatibility/BackwardsCompatibility.tw b/src/data/backwardsCompatibility/BackwardsCompatibility.tw
index b48b6fd48c1..3d45b870e72 100644
--- a/src/data/backwardsCompatibility/BackwardsCompatibility.tw
+++ b/src/data/backwardsCompatibility/BackwardsCompatibility.tw
@@ -8,5 +8,5 @@
 <<run App.Update.setNonexistantProperties(V, App.Data.resetOnNGPlus)>>
 <span id="backwardsCompatibility"></span>
 <script>
-    App.Update.backwardsCompatibility();
+	App.Update.backwardsCompatibility();
 </script>
\ No newline at end of file
diff --git a/src/data/backwardsCompatibility/backwardsCompatibility.js b/src/data/backwardsCompatibility/backwardsCompatibility.js
index d899cb28d90..eea233a5d34 100644
--- a/src/data/backwardsCompatibility/backwardsCompatibility.js
+++ b/src/data/backwardsCompatibility/backwardsCompatibility.js
@@ -108,7 +108,7 @@ App.Update.backwardsCompatibility = function() {
 	} catch (error) {
 		div = document.createElement('p');
 		div.className = "red";
-		div.textContent = `Backwards compatibility has failed for your save.  Please upload your save to https://gitgud.io/pregmodfan/fc-pregmod/ with notes on what went wrong so that we can fix the backwards compatibility process for everyone.  Thank you!`;
+		div.textContent = `Backwards compatibility has failed for your save. Please upload your save to https://gitgud.io/pregmodfan/fc-pregmod/ with notes on what went wrong so that we can fix the backwards compatibility process for everyone. Thank you!`;
 		jQuery('#backwardsCompatibility').append(div);
 		State.restore();
 		throw (error); // rethrow the exception to Sugarcube so we get a fancy stack trace
diff --git a/src/data/backwardsCompatibility/datatypeCleanup.js b/src/data/backwardsCompatibility/datatypeCleanup.js
index 58773c817c6..1d0bb8872d6 100644
--- a/src/data/backwardsCompatibility/datatypeCleanup.js
+++ b/src/data/backwardsCompatibility/datatypeCleanup.js
@@ -394,7 +394,7 @@ App.Entity.Utils.SlaveDataSchemeCleanup = (function() {
 		}
 		if (slave.hasOwnProperty("scars")) { // even if it's 0
 			if (slave.scars === 5) {
-				App.Medicine.Modification.addScar(slave, "left cheek", "menacing"); // old location was not defined, but surgery described it as facial.  Putting it on left cheek for a default.
+				App.Medicine.Modification.addScar(slave, "left cheek", "menacing"); // old location was not defined, but surgery described it as facial. Putting it on left cheek for a default.
 			} else if (slave.scars === 6) {
 				App.Medicine.Modification.addScar(slave, "left cheek", "exotic");
 			} else if (slave.scars) { // not 0
diff --git a/src/data/backwardsCompatibility/updateSlaveObject.js b/src/data/backwardsCompatibility/updateSlaveObject.js
index d8e22379da7..89c8ce1546a 100644
--- a/src/data/backwardsCompatibility/updateSlaveObject.js
+++ b/src/data/backwardsCompatibility/updateSlaveObject.js
@@ -378,8 +378,8 @@ App.Update.Slave = function(slave, genepool=false) {
 	if (slave.underArmHColor === "slave.hColor") {
 		slave.underArmHColor === slave.hColor;
 	}
-	if (slave.eyebrowHColor  === "slave.hColor") {
-		slave.eyebrowHColor  === slave.hColor;
+	if (slave.eyebrowHColor === "slave.hColor") {
+		slave.eyebrowHColor === slave.hColor;
 	}
 
 	if (slave.genes === undefined) {
diff --git a/src/descriptions/arcologyDescription.js b/src/descriptions/arcologyDescription.js
index e20b22dbe06..d6ea383c4df 100644
--- a/src/descriptions/arcologyDescription.js
+++ b/src/descriptions/arcologyDescription.js
@@ -13,7 +13,7 @@ App.Desc.playerArcology = function(lastElement) {
 		const fragment = document.createDocumentFragment();
 
 		fragment.append(App.UI.DOM.makeElement("span", A.name, "name"),
-			`, your arcology, is located in a Free City in  ${V.terrain === "oceanic" ? "the middle of the ocean" : V.continent}. It is a huge structure whose${V.arcologyUpgrade.apron === 1 ? " solar-paneled" : ""} skin gleams in the sunshine${V.arcologyUpgrade.hydro === 1 ? ", while verdant exterior hydroponics bays lend it an air of growth" : ""}. `);
+			`, your arcology, is located in a Free City in ${V.terrain === "oceanic" ? "the middle of the ocean" : V.continent}. It is a huge structure whose${V.arcologyUpgrade.apron === 1 ? " solar-paneled" : ""} skin gleams in the sunshine${V.arcologyUpgrade.hydro === 1 ? ", while verdant exterior hydroponics bays lend it an air of growth" : ""}. `);
 
 		let buffer = [];
 		if (V.weatherCladding === 1) {
@@ -333,7 +333,7 @@ App.Desc.playerArcology = function(lastElement) {
 				} else {
 					buffer.push(`sucking dick and taking anal, and the ones that have pussies are being fucked there, too.`);
 				}
-				const t = `As a result,  ${V.brothelName} is known as the place to go if you want to rent`;
+				const t = `As a result, ${V.brothelName} is known as the place to go if you want to rent`;
 				if (V.brothelAdsXX === 1) {
 					if (V.brothelAdsImplanted === 1 && V.brothelAdsStacked === 1) {
 						buffer.push(`${t} a${V.brothelAdsPreg === 1 ? " pregnant" : ""} bimbo's pussy.`);
@@ -353,7 +353,7 @@ App.Desc.playerArcology = function(lastElement) {
 				}
 			}
 			if (V.clubAdsSpending > 0) {
-				buffer.push(`Music videos set in  ${V.clubName} are also shown frequently.`);
+				buffer.push(`Music videos set in ${V.clubName} are also shown frequently.`);
 				if (V.clubAdsOld === 1) {
 					buffer.push(`The featured strippers are all MILFs.`);
 				} else if (V.clubAdsOld === -1) {
@@ -405,7 +405,7 @@ App.Desc.playerArcology = function(lastElement) {
 					buffer.push(`their holes.`);
 				}
 				buffer.push(`The music videos are very popular.`);
-				const t = `As a result,  ${V.clubName} is known as the place to spend a night partying with`;
+				const t = `As a result, ${V.clubName} is known as the place to spend a night partying with`;
 				if (V.clubAdsXX === 1) {
 					if (V.clubAdsImplanted === 1 && V.clubAdsStacked === 1) {
 						buffer.push(`${t}${V.clubAdsPreg === 1 ? " pregnant" : ""} bimbos.`);
@@ -775,7 +775,7 @@ App.Desc.playerArcology = function(lastElement) {
 			}
 			buffer.push(`in gladiatorial combat.`);
 		} else if (A.FSAztecRevivalistDecoration >= 80) {
-			buffer.push(`The sound of prayer and chanting echoes across the space, briefly accompanied by a sacrifice's  ${A.FSPaternalist !== "unset" ? "moaning" : "last scream"} as the rite completes.`);
+			buffer.push(`The sound of prayer and chanting echoes across the space, briefly accompanied by a sacrifice's ${A.FSPaternalist !== "unset" ? "moaning" : "last scream"} as the rite completes.`);
 		} else if (A.FSEgyptianRevivalistDecoration >= 80) {
 			buffer.push(`To the side of the plaza is a huge stone entryway heading down: the entrance to the tomb you have prepared for yourself.`);
 		} else if (A.FSEdoRevivalistDecoration >= 80) {
@@ -834,9 +834,9 @@ App.Desc.playerArcology = function(lastElement) {
 			buffer.push(`The average slave is quite healthy.`);
 		} else if (A.FSTransformationFetishistSMR === 1) {
 			if (A.FSTransformationFetishistResearch === 1) {
-				buffer.push(`Breast implants are almost universal;  ${A.FSSlimnessEnthusiast === "unset" ? "an M-cup bust is below average among the slave population" : "even the most lithe slave sports a pair of overly round chest balloons"}.`);
+				buffer.push(`Breast implants are almost universal; ${A.FSSlimnessEnthusiast === "unset" ? "an M-cup bust is below average among the slave population" : "even the most lithe slave sports a pair of overly round chest balloons"}.`);
 			} else {
-				buffer.push(`Breast implants are almost universal;  ${A.FSSlimnessEnthusiast === "unset" ? "a D-cup bust is below average among the slave population" : "even the most lithe slave sports a pair of overly round chest balloons"}.`);
+				buffer.push(`Breast implants are almost universal; ${A.FSSlimnessEnthusiast === "unset" ? "a D-cup bust is below average among the slave population" : "even the most lithe slave sports a pair of overly round chest balloons"}.`);
 			}
 		}
 		if (A.FSIntellectualDependencySMR === 1) {
@@ -905,14 +905,14 @@ App.Desc.playerArcology = function(lastElement) {
 				}
 			} else {
 				if (V.peacekeepers.strength >= 50) {
-					div.append(`General  ${V.peacekeepers.generalName} now governs an area near the Free City as a warlord, using the men and women of his former peacekeeping forces to rule.`);
+					div.append(`General ${V.peacekeepers.generalName} now governs an area near the Free City as a warlord, using the men and women of his former peacekeeping forces to rule.`);
 					if (V.peacekeepers.attitude >= 100) {
 						div.append(` The area is a de facto client state of your arcology.`);
 					} else {
 						div.append(` He considers himself indebted to you, and delivers periodic tributes of menial slaves.`);
 					}
 				} else {
-					// TODO create an actual framework for this behaviour (only refreshing a specific element)
+					// TODO create an actual framework for this behavior (only refreshing a specific element)
 					const undermine = function undermine() {
 						const fragment = document.createDocumentFragment();
 
diff --git a/src/endWeek/saServant.js b/src/endWeek/saServant.js
index 68e220b3252..b4ab2088361 100644
--- a/src/endWeek/saServant.js
+++ b/src/endWeek/saServant.js
@@ -44,7 +44,7 @@ window.saServant = function saServant(slave) {
 				}
 				if (slave.assignment === window.Job.HOUSE) {
 					cashX(cash, "slaveAssignmentHouse", slave);
-				} else  if (slave.assignment === window.Job.QUARTER) {
+				} else if (slave.assignment === window.Job.QUARTER) {
 					cashX(cash, "slaveAssignmentQuarter", slave);
 				} else {
 					cashX(cash, "serving income in an unregistered building", slave);
@@ -168,7 +168,7 @@ window.saServant = function saServant(slave) {
 				} else if (vignette.effect < 0) {
 					cashX(forceNeg(cashVign), "slaveAssignmentHouseVign", slave);
 				}
-			} else  if (slave.assignment === window.Job.SERVANT) {
+			} else if (slave.assignment === window.Job.SERVANT) {
 				if (vignette.effect > 0) {
 					cashX(cashVign, "slaveAssignmentQuarterVign", slave);
 				} else if (vignette.effect < 0) {
diff --git a/src/endWeek/saServeThePublic.js b/src/endWeek/saServeThePublic.js
index 44d4e71eb4a..d67fde13d97 100644
--- a/src/endWeek/saServeThePublic.js
+++ b/src/endWeek/saServeThePublic.js
@@ -1515,7 +1515,7 @@ window.saServeThePublic = (function saServeThePublic() {
 					} else if (vignette.effect < 0) {
 						cashX(forceNeg(cashVign), "slaveAssignmentPublicVign", slave);
 					}
-				} else  if (slave.assignment === window.Job.CLUB) {
+				} else if (slave.assignment === window.Job.CLUB) {
 					if (vignette.effect > 0) {
 						cashX(cashVign, "slaveAssignmentClubVign", slave);
 					} else if (vignette.effect < 0) {
diff --git a/src/events/001-base/baseEvent.js b/src/events/001-base/baseEvent.js
index 822c0b1251a..27c68177047 100644
--- a/src/events/001-base/baseEvent.js
+++ b/src/events/001-base/baseEvent.js
@@ -27,7 +27,7 @@ App.Events.BaseEvent = class BaseEvent {
 		return [];
 	}
 
-	/** get the choice weight for the event.  Weights should be integral; higher weight means higher probability of selection.
+	/** get the choice weight for the event. Weights should be integral; higher weight means higher probability of selection.
 	 * @returns {number}
 	 */
 	get weight() {
@@ -56,7 +56,7 @@ App.Events.BaseEvent = class BaseEvent {
 		return JSON.reviveWrapper(`new App.Events.${this.constructor.name}(${JSON.stringify(this.actors)},${JSON.stringify(this.params)})`);
 	}
 
-	/** get the event's (human-readable) name.  must not include ":".
+	/** get the event's (human-readable) name. must not include ":".
 	 *  default implementation should generally suffice (though we might want to de-camelcase here or something).
 	 * @returns {string}
 	 */
diff --git a/src/events/intro/introSummary.tw b/src/events/intro/introSummary.tw
index f6b0ade2fd3..280283e9c55 100644
--- a/src/events/intro/introSummary.tw
+++ b/src/events/intro/introSummary.tw
@@ -1169,7 +1169,7 @@ All the things you need to run your arcology are getting more expensive
 			''Vector art revamp''.
 			<br><span class="red">Git compiled only, no exceptions.</span>
 		<<comment>>
-			"Vector — embedded" is the most up to date and supports the most content.  Ironically, revamp has not been touched in a long time.
+			"Vector — embedded" is the most up to date and supports the most content. Ironically, revamp has not been touched in a long time.
 	<</options>>
 	<<if $imageChoice == 1>>
 		<div style="position:relative;width:200px;height:200px;margin:0 auto;">
diff --git a/src/events/reSnatchAndGrabFollowup.tw b/src/events/reSnatchAndGrabFollowup.tw
index 2cfb04ba18d..1291d4e388b 100644
--- a/src/events/reSnatchAndGrabFollowup.tw
+++ b/src/events/reSnatchAndGrabFollowup.tw
@@ -34,7 +34,7 @@
 <</if>>
 </p>
 
-<p>After spending some time prowling around $his genome in your genetic sequencer, you find one particularly interesting sequence. $He has a unique sequence of genes in a chromosomal region which significantly increases $his cognitive ability, but it's only partially activated.  You could, with a little bit of time, either completely activate it, or deactivate it entirely, with corresponding dramatic effects on $his intelligence. However, such therapy is not free, and the remote surgery software warns that rapid changes to cognition may cause significant changes in behavior.</p>
+<p>After spending some time prowling around $his genome in your genetic sequencer, you find one particularly interesting sequence. $He has a unique sequence of genes in a chromosomal region which significantly increases $his cognitive ability, but it's only partially activated. You could, with a little bit of time, either completely activate it, or deactivate it entirely, with corresponding dramatic effects on $his intelligence. However, such therapy is not free, and the remote surgery software warns that rapid changes to cognition may cause significant changes in behavior.</p>
 
 <span id="result">
 	<<link "Finish activating the sequence">>
diff --git a/src/facilities/ads.js b/src/facilities/ads.js
index c72090268bb..92b8cbd6e30 100644
--- a/src/facilities/ads.js
+++ b/src/facilities/ads.js
@@ -160,7 +160,7 @@ App.Ads.getMatchedCategoryCount = function(slave, facility) {
 	return matchedCategories;
 };
 
-/** Manages the ads for a facility.  Use example: <<set _adMgr = new App.Ads.AdManager("brothel")>> */
+/** Manages the ads for a facility. Use example: <<set _adMgr = new App.Ads.AdManager("brothel")>> */
 App.Ads.AdManager = class {
 	constructor(facility) {
 		this.varPrefix = `${facility}Ads`;
@@ -1285,7 +1285,7 @@ App.Ads.report = function(building, preview) {
 				r+= `</div>`;
 				return r;
 			default:
-				console.log("You done fucked up.  Building: " + building + " Category: " + category);
+				console.log("You done fucked up. Building: " + building + " Category: " + category);
 		}
 	}
 };
diff --git a/src/facilities/brothel/brothelAssignmentScene.tw b/src/facilities/brothel/brothelAssignmentScene.tw
index 2bb3e2f5384..ef292aaf2ca 100644
--- a/src/facilities/brothel/brothelAssignmentScene.tw
+++ b/src/facilities/brothel/brothelAssignmentScene.tw
@@ -333,7 +333,7 @@ You tell $him $he's to report to <<if $Madam != 0>>$Madam.slaveName immediately,
 				"Gro<<ss>>," $he <<say>>s curtly. "Well, no more hand<<s>>ome boy<<s>> for me, then. Fat pathetic guy<<s>> who patroni<<z>>e whore<<s>>, all the way down. Fuck."
 			<</switch>>
 		<<else>>
-			$He does $his best to control $himself and avoid punishment. "<<Master>>, I will." $He holds $himself together until you dismiss $him; as $he turns away to go, the tears come fast, and $he almost runs into the door frame on $his way out, blind with weeping.
+			$He does $his best to control $himself and avoid punishment. "<<Master>>, I will." $He holds $himself together until you dismiss $him; as $he turns away to go, the tears come fast, and $he almost runs into the door frame on $his way out<<if canSee($activeSlave)>>, blind with weeping<</if>>.
 		<</if>>
 	<<else>>
 		<<if $activeSlave.sexualFlaw != "none">>
@@ -359,7 +359,7 @@ You tell $him $he's to report to <<if $Madam != 0>>$Madam.slaveName immediately,
 				by expressing $his disappointment with the type of men that frequent brothels.
 			<</switch>>
 		<<else>>
-			$He does $his best to control $himself and avoid punishment. "<<Master>>, I will." $He holds $himself together until you dismiss $him; as $he turns away to go, the tears come fast, and $he almost runs into the door frame on $his way out, blind with weeping.
+			$He does $his best to control $himself and avoid punishment. "<<Master>>, I will." $He holds $himself together until you dismiss $him; as $he turns away to go, the tears come fast, and $he almost runs into the door frame on $his way out<<if canSee($activeSlave)>>, blind with weeping<</if>>.
 		<</if>>
 	<</if>>
 
diff --git a/src/facilities/nursery/nurseryWidgets.js b/src/facilities/nursery/nurseryWidgets.js
index fd42ae4678e..2a11ed1febe 100644
--- a/src/facilities/nursery/nurseryWidgets.js
+++ b/src/facilities/nursery/nurseryWidgets.js
@@ -16567,7 +16567,7 @@ App.Facilities.Nursery.ChildState = class ChildState {
 		this.relationTarget = 0;
 		/**
 		 * TODO:
-		 *  Child's relationship
+		 * Child's relationship
 		 * * -3: married to you
 		 * * -2: emotionally bound to you
 		 * * -1: emotional slut
diff --git a/src/gui/Encyclopedia/encyclopedia.tw b/src/gui/Encyclopedia/encyclopedia.tw
index c8438fc3e86..e91325dae6d 100644
--- a/src/gui/Encyclopedia/encyclopedia.tw
+++ b/src/gui/Encyclopedia/encyclopedia.tw
@@ -2684,7 +2684,7 @@ LORE: INTERVIEWS
 	<br>''freecitiesbandit'' wrote a number of recruitment, future society, mercenary and random events, provided tailed buttplugs, new eyes and tattoos, and contributed the code for the mercenary raiders policy.
 	<br>''DrNoOne'' wrote the bulk slave purchase and persistent summary code.
 	<br>''Mauve'' provided vector art for chastity belts and limp dicks.
-	<br>''Klorpa'' for dozens of new nationalities and boundless new names and nicknames. Also monokinis, middle eastern clothing, overalls and aprons. Also the hearing, taste, and smell overhauls. Added basic support for waterpsorts. Has declared war on bad spelling, grammar and formatting. Added eyebrows too. Dug up ancient abandoned vanilla vignettes and implemented them. Toiled in the depths to extend limb support.
+	<br>''Klorpa'' for dozens of new nationalities and boundless new names and nicknames. Also monokinis, middle eastern clothing, overalls and aprons. Also the hearing, taste, and smell overhauls. Added basic support for watersports. Has declared war on bad spelling, grammar and formatting. Added eyebrows too. Dug up ancient abandoned vanilla vignettes and implemented them. Toiled in the depths to extend limb support.
 	<br>''lowercasedonkey'' for various additions, not limited to the budget overhauls. Set up all the tabs too. Gave events dynamic vector art. Hammered the scarring and branding systems into place. Been a real boon writing events and other things as well. Used ezsh's facility framework to enhance slave summaries. Set up a system to recall where slaves were serving. Striving to master DOM with great gains.
 	<br>''amomynous0'' for bug reports and testing in addition to SFmod unit descriptions.
 	<br>''wepsrd'' for QOL (hormonal balance cheat and lactation adaptation to new menu) fixes.
diff --git a/src/gui/css/mainStyleSheet.css b/src/gui/css/mainStyleSheet.css
index eef848945fb..8f40c12843f 100644
--- a/src/gui/css/mainStyleSheet.css
+++ b/src/gui/css/mainStyleSheet.css
@@ -206,7 +206,7 @@ span.zeroButton > a:hover { text-decoration: none; }
 .lime, .lime a, .change.positive, .change.positive a, .virginity.loss, .virginity.loss a, .pregnant, .pregnant a { color: lime } /* tight orifices, breast changes, take virginity, not sure on good aliases */
 .limegreen, .limegreen a { color: limegreen } /* multiple questionable uses */
 .magenta, .magenta a, .devotion.worship, .devotion.worship a { color: magenta }
-.mediumaquamarine, .mediumaquamarine a, .trust.inc, .trust.inc a, .trust.careful, .trust.careful a  { color: mediumaquamarine }
+.mediumaquamarine, .mediumaquamarine a, .trust.inc, .trust.inc a, .trust.careful, .trust.careful a { color: mediumaquamarine }
 .mediumorchid, .mediumorchid a, .devotion.dec, .devotion.dec a, .devotion.resistant, .devotion.resistant a { color: mediumorchid }
 .mediumseagreen, .mediumseagreen a, .trust.trusting, .trust.trusting a { color: mediumseagreen }
 .orange, .orange a, .stupid, .stupid a, .change.negative, .change.negative a, .defiant.careful, .defiant.careful a, .intro.question { color: orange } /* generally between red and green, and a lot of other places */
diff --git a/src/gui/storyCaption.tw b/src/gui/storyCaption.tw
index 48970224aa2..3459306b1d8 100644
--- a/src/gui/storyCaption.tw
+++ b/src/gui/storyCaption.tw
@@ -503,7 +503,7 @@
 					<</if>>
 					<br>
 				<</if>>
-		<</if>> /* closes  _Pass == "Main" && $newModelUI == 0 */
+		<</if>> /* closes _Pass == "Main" && $newModelUI == 0 */
 
 		<<if $sideBarOptions.compact == 0 && _Pass == "Main" || $sideBarOptions.compact == 1 && _Pass == "Manage Arcology">>
 			<span id="policyButton"> <br>
diff --git a/src/interaction/prostheticConfig.tw b/src/interaction/prostheticConfig.tw
index 9fd8c179e99..53461f80ff3 100644
--- a/src/interaction/prostheticConfig.tw
+++ b/src/interaction/prostheticConfig.tw
@@ -317,14 +317,14 @@ This room is lined with shelves and cabinets; it could be easily mistaken for a
 			<</if>>
 			</div>
 			<div style="text-align:right">
-			<<if $researchLab.speed >= 300 && $prosthetics[_p].research > 0>> /* max speed  */
+			<<if $researchLab.speed >= 300 && $prosthetics[_p].research > 0>> /* max speed */
 			<<if $prosthetics[_p].amount > 0>>
 				<<link "From storage: <<= cashFormat(setup.prosthetics[_p].adjust * 50)>>" "Prosthetics Configuration">>
 					<<set cashX(forceNeg(setup.prosthetics[_p].costs * 1.5), "slaveMod", getSlave($AS)), addProsthetic(getSlave($AS), _p)>>
 				<</link>>
 			<<else>>
 				<<link "<<= cashFormat(setup.prosthetics[_p].costs + setup.prosthetics[_p].adjust * 100)>>" "Prosthetics Configuration">>
-					<<set cashX(forceNeg(setup.prosthetics[_p].costs  + setup.prosthetics[_p].adjust * 100), "slaveMod", getSlave($AS)), addProsthetic(getSlave($AS), _p)>>
+					<<set cashX(forceNeg(setup.prosthetics[_p].costs + setup.prosthetics[_p].adjust * 100), "slaveMod", getSlave($AS)), addProsthetic(getSlave($AS), _p)>>
 				<</link>>
 			<</if>>
 			<</if>>
diff --git a/src/interaction/slaveInteract.js b/src/interaction/slaveInteract.js
index c35674903bb..01848c5b9d9 100644
--- a/src/interaction/slaveInteract.js
+++ b/src/interaction/slaveInteract.js
@@ -425,7 +425,7 @@ App.UI.SlaveInteract.useSlaveDisplay = function(slave) {
 	} = getPronouns(slave);
 
 	/*
-	Array of objects.  Each object follows the form: {
+	Array of objects. Each object follows the form: {
 		text: "Link text",
 		scene: "scene to include",
 		goto: if another passage is needed
@@ -437,7 +437,7 @@ App.UI.SlaveInteract.useSlaveDisplay = function(slave) {
 	const sexOptions = [];
 	const fillFaceOptions = [];
 	const fillAssOptions = [];
-	// if no scene, it's just text, no link.  Italicize it.
+	// if no scene, it's just text, no link. Italicize it.
 
 	if (slave.fuckdoll === 0) {
 		if (slave.vagina > -1) {
@@ -1051,7 +1051,7 @@ App.UI.SlaveInteract.fertility = function(slave) {
 				}
 			} else if (slave.preg > slave.pregData.minLiveBirth) {
 				link.appendChild(App.UI.DOM.link(
-					`Give  ${him} a cesarean section`,
+					`Give ${him} a cesarean section`,
 					() => {
 						slave.broodmotherOnHold = 0,
 							slave.broodmotherCountDown = 0;
@@ -2447,7 +2447,7 @@ App.UI.SlaveInteract.generateRows = function(array, slave, category, accessCheck
 		let unlocked = false;
 		if (accessCheck === true) {
 			if (category === "chastity") {
-				let text = array[i].text.toLowerCase(); // Yucky.  Category name does not match for chastity (since it sets multiple kinds of chastity at once).  Compare using a lowercased name instead.
+				let text = array[i].text.toLowerCase(); // Yucky. Category name does not match for chastity (since it sets multiple kinds of chastity at once). Compare using a lowercased name instead.
 				unlocked = isItemAccessible.entry(text, `${category}`, slave, true);
 			} else {
 				unlocked = isItemAccessible.entry(array[i].updateSlave[category], `${category}`, slave, true);
diff --git a/src/interaction/wardrobeUse.js b/src/interaction/wardrobeUse.js
index fd74c979027..b357de90b58 100644
--- a/src/interaction/wardrobeUse.js
+++ b/src/interaction/wardrobeUse.js
@@ -258,7 +258,7 @@ App.UI.Wardrobe.shoes = function(slave) {
 	});
 
 	// Sort
-	// No sort here since we want light -> advanced.  optionsArray = optionsArray.sort((a, b) => (a.text > b.text) ? 1 : -1);
+	// No sort here since we want light -> advanced. optionsArray = optionsArray.sort((a, b) => (a.text > b.text) ? 1 : -1);
 
 	// Options
 	let links = document.createElement('div');
@@ -432,7 +432,7 @@ App.UI.Wardrobe.buttplug = function(slave) {
 	});
 
 	// Sort
-	// No sort here since we want small -> large.  optionsArray = optionsArray.sort((a, b) => (a.text > b.text) ? 1 : -1);
+	// No sort here since we want small -> large. optionsArray = optionsArray.sort((a, b) => (a.text > b.text) ? 1 : -1);
 
 	// Options
 	let links = document.createElement('div');
@@ -549,7 +549,7 @@ App.UI.Wardrobe.vaginalAccessory = function(slave) {
 	});
 
 	// Sort
-	// No sort here since we want small -> large.  optionsArray = optionsArray.sort((a, b) => (a.text > b.text) ? 1 : -1);
+	// No sort here since we want small -> large. optionsArray = optionsArray.sort((a, b) => (a.text > b.text) ? 1 : -1);
 
 	// Options
 	let links = document.createElement('div');
@@ -667,7 +667,7 @@ App.UI.Wardrobe.dickAccessory = function(slave) {
 	});
 
 	// Sort
-	// No sort here since we want small -> large.  optionsArray = optionsArray.sort((a, b) => (a.text > b.text) ? 1 : -1);
+	// No sort here since we want small -> large. optionsArray = optionsArray.sort((a, b) => (a.text > b.text) ? 1 : -1);
 
 	// Options
 	let links = document.createElement('div');
diff --git a/src/js/CustomSlave.js b/src/js/CustomSlave.js
index 3bcca823e97..062878d1739 100644
--- a/src/js/CustomSlave.js
+++ b/src/js/CustomSlave.js
@@ -1,7 +1,7 @@
 /**
  * Contains the parameters for the player's custom slave order.
  * Some members are ignored by huskSlave (particularly mental properties).
- * NOTE: $customSlave/$huskSlave IS NOT A SLAVE.  Do not treat them like you would treat an instance of SlaveState.
+ * NOTE: $customSlave/$huskSlave IS NOT A SLAVE. Do not treat them like you would treat an instance of SlaveState.
  */
 App.Entity.CustomSlaveOrder = class CustomSlaveOrder {
 	constructor() {
@@ -193,7 +193,7 @@ App.Entity.CustomSlaveOrder = class CustomSlaveOrder {
 
 /**
  * Checks to see if the custom slave has accidentally been turned into an actual slave object.
- * IF THIS FUNCTION RETURNS TRUE, YOU HAVE PROBABLY FUCKED UP A BACKCOMPAT.  CHANGE YOUR BACKCOMPAT, NOT THIS FUNCTION!
+ * IF THIS FUNCTION RETURNS TRUE, YOU HAVE PROBABLY FUCKED UP A BACKCOMPAT. CHANGE YOUR BACKCOMPAT, NOT THIS FUNCTION!
  * @param {App.Entity.CustomSlaveOrder} slaveOrder
  * @returns {boolean}
  */
diff --git a/src/js/assignJS.js b/src/js/assignJS.js
index 85f5f489399..41a6f112e47 100644
--- a/src/js/assignJS.js
+++ b/src/js/assignJS.js
@@ -24,7 +24,7 @@ window.assignJob = function assignJob(slave, job) {
 	};
 
 	/* Tracking for the following cases: */
-	if (oldJob !== job && V.assignmentRecords[slave.ID] !== job && oldJob !== "rest") { // Check that there is a real change happening.  Sometimes when you send someone to a classroom or something, this fires twice.
+	if (oldJob !== job && V.assignmentRecords[slave.ID] !== job && oldJob !== "rest") { // Check that there is a real change happening. Sometimes when you send someone to a classroom or something, this fires twice.
 		switch (job.toLowerCase()) {
 			case "be confined in the cellblock":
 			case "cellblock":
diff --git a/src/js/eventSelectionJS.js b/src/js/eventSelectionJS.js
index 6c94744c810..16d8d30215b 100644
--- a/src/js/eventSelectionJS.js
+++ b/src/js/eventSelectionJS.js
@@ -376,11 +376,13 @@ window.generateRandomEventPoolStandard = function(eventSlave) {
 					}
 				}
 
-				if (eventSlave.face >= -10) {
-					if (eventSlave.devotion >= 10) {
-						if (["serve the public", "whore"].includes(eventSlave.assignment)) {
-							if (State.variables.REUglyCheckinIDs.includes(eventSlave.ID)) {
-								State.variables.RECIevent.push("ugly");
+				if canSee(eventSlave) {
+					if (eventSlave.face >= -10) {
+						if (eventSlave.devotion >= 10) {
+							if (["serve the public", "whore"].includes(eventSlave.assignment)) {
+								if (State.variables.REUglyCheckinIDs.includes(eventSlave.ID)) {
+									State.variables.RECIevent.push("ugly");
+								}
 							}
 						}
 					}
diff --git a/src/js/generateMarketSlave.js b/src/js/generateMarketSlave.js
index ce2236ea2f9..a28abac491c 100644
--- a/src/js/generateMarketSlave.js
+++ b/src/js/generateMarketSlave.js
@@ -35,7 +35,7 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) {
 				r += `The corporation only takes slaves that are ${V.corp.SpecNationality}. `;
 			}
 
-			// Generate slaves.  Modify fixed before this.  Do not modify activeSlave before this.
+			// Generate slaves. Modify fixed before this. Do not modify activeSlave before this.
 			if (V.corp.SpecGender === 1) {
 				r += `Slaves without pussies are not trained. `;
 				V.activeSlave = GenerateNewSlave("XX");
diff --git a/src/js/generateRelatedSlave.js b/src/js/generateRelatedSlave.js
index 7a8260d1415..2b6ec834cb3 100644
--- a/src/js/generateRelatedSlave.js
+++ b/src/js/generateRelatedSlave.js
@@ -2,7 +2,7 @@ window.generateRelatedSlave = (function() {
 	/**
 	 * Generate a very similar relative for an existing slave (for use in Household Liquidators, for example).
 	 * @param {App.Entity.SlaveState} slave - the source relative
-	 * @param {string} relationship - the relationship that the new relative has with the source.  Currently supports "daughter", "sibling", "twin".
+	 * @param {string} relationship - the relationship that the new relative has with the source. Currently supports "daughter", "sibling", "twin".
 	 * @param {bool} oppositeSex - set to true if the new relative should be the opposite sex of the old one (otherwise it will be the same sex).
 	 * @returns {SlaveState} - new relative
 	 */
diff --git a/src/js/itemAvailability.js b/src/js/itemAvailability.js
index 3167bcf52fa..46a3925b6b2 100644
--- a/src/js/itemAvailability.js
+++ b/src/js/itemAvailability.js
@@ -9,7 +9,7 @@ window.isItemAccessible = (function() {
 	 * @param {string} string Name of wearable item
 	 * @param {string} category that item is in clothing, collar, etc
 	 * @param {App.Entity.SlaveState} slave
-	 * @returns {boolean|string} Returns true if item is accessible, and false if it is not.  If the slave param is set, it may sometimes return a string instead of false, explaining why the item can't be used with that slave.
+	 * @returns {boolean|string} Returns true if item is accessible, and false if it is not. If the slave param is set, it may sometimes return a string instead of false, explaining why the item can't be used with that slave.
 	 */
 	function entry(string, category = "clothing", slave) {
 		if (V.cheatMode === 1) {
diff --git a/src/js/modification.js b/src/js/modification.js
index 8670dd6176a..d5e5a3b2443 100644
--- a/src/js/modification.js
+++ b/src/js/modification.js
@@ -224,7 +224,7 @@ App.Medicine.Modification.setPiercing = function(slave, location, weight) {
 				r += `${he} <span class="devotion inc">got off</span> on you giving ${him} a corset piercing personally. ${He} loved the feeling of the metal entering ${his} flesh. `;
 				slave.devotion += 2 * delta;
 			} else if (slave.devotion <= 95) {
-				r += `<span class="devotion dec">saddened</span> you decided to take out ${his} corset piercings.  ${He}'ll miss the constant slight discomfort they gave ${him}. `;
+				r += `<span class="devotion dec">saddened</span> you decided to take out ${his} corset piercings. ${He}'ll miss the constant slight discomfort they gave ${him}. `;
 				slave.devotion += 2 * delta;
 			} else {
 				r += `disapointed to lose ${his} corset piercings, but accepts your will for ${his} body. `;
diff --git a/src/js/sexActsJS.js b/src/js/sexActsJS.js
index 4192a80597b..ba43aff1d96 100644
--- a/src/js/sexActsJS.js
+++ b/src/js/sexActsJS.js
@@ -438,7 +438,7 @@ window.SimpleSexAct = (function() {
 			} else {
 				actX(subslave, "oral");
 			}
-			if (typeof slave1ID === Number  && typeof slave2ID === Number) {
+			if (typeof slave1ID === Number && typeof slave2ID === Number) {
 				seX(V.slaves[slave1ID], sex, V.slaves[slave2ID], "penetrative");
 			}
 		}
@@ -499,14 +499,14 @@ window.actX = function actX(slave, act, count = 1) {
 			// Act was likely entered incorrectly.
 			return;
 	}
-	if (act === "birth") { // Annoyingly at the moment, V.birthsTotal means all the births in your arc.  Within the slave counter though, .births is all births in your arc and .birthsTotal includes births outside your arch.
+	if (act === "birth") { // Annoyingly at the moment, V.birthsTotal means all the births in your arc. Within the slave counter though, .births is all births in your arc and .birthsTotal includes births outside your arch.
 		slave.counter.birthsTotal += count;
 	}
 	slave.counter[act] += count;
 };
 
 /**
- * Sex is between two.  This is a handy wrapper for actX that emphasizes that.
+ * Sex is between two. This is a handy wrapper for actX that emphasizes that.
  * @param {App.Entity.SlaveState} slave1 always a slave
  * @param {string} act1 oral, anal, etc
  * @param {App.Entity.SlaveState | string} slave2 slave or PC or "public"
@@ -517,7 +517,7 @@ window.seX = function seX(slave1, act1, slave2, act2, count = 1) {
 	// Slave 1 does their normal thing
 	actX(slave1, act1, count);
 
-	// Slave 2 does their normal thing.  If "Slave 2" is the public, then increment the public counter for slave 1 instead.
+	// Slave 2 does their normal thing. If "Slave 2" is the public, then increment the public counter for slave 1 instead.
 	if (slave2 === "public") {
 		actX(slave1, "publicUse", count);
 	} else if (typeof slave2 === 'string') {
diff --git a/src/js/slaveCostJS.js b/src/js/slaveCostJS.js
index c98320c2d78..4abd0af972c 100644
--- a/src/js/slaveCostJS.js
+++ b/src/js/slaveCostJS.js
@@ -1516,7 +1516,7 @@ window.Beauty = function(s) {
 
 
 window.BeautyTooltip = function(slave) {
-	// Make a link.  Text should be slave'slave beauty.  Clicking the link will display detailed info about that beauty where the link used to be
+	// Make a link. Text should be slave'slave beauty. Clicking the link will display detailed info about that beauty where the link used to be
 	if (V.cheatMode || V.debugMode) {
 		return jQuery('#BeautyTooltip').empty().append(BeautyDisplay(slave));
 	} else {
@@ -1530,7 +1530,7 @@ window.BeautyTooltip = function(slave) {
 		let direction = "descending";
 
 		// Link that shows beauty and will be used to toggle display
-		let span  = document.createElement('span');
+		let span = document.createElement('span');
 		span.appendChild(hide(slave));
 
 		// Heading line that handles sorting
@@ -1570,7 +1570,7 @@ window.BeautyTooltip = function(slave) {
 
 		// Set up the frame that contains the info
 		function BeautyFrame(slave) {
-			let el =  document.createDocumentFragment();
+			let el = document.createDocumentFragment();
 			let beautyArray;
 
 			if ((criteria === "text" && direction === "descending") || (criteria === "value" && direction === "ascending")) {
@@ -1583,9 +1583,9 @@ window.BeautyTooltip = function(slave) {
 			let domCell;
 			beautyArray.forEach((line) => {
 				line.value = (Math.floor(line.value * 10) / 10);
-				domLine =  document.createElement('div');
+				domLine = document.createElement('div');
 				domLine.style.display = "float";
-					domCell =  document.createElement('span');
+					domCell = document.createElement('span');
 					domCell.style.float = "left";
 					domCell.style.minWidth = "50px";
 
@@ -2081,7 +2081,7 @@ window.FResult = function(s) {
 
 
 window.FResultTooltip = function(slave) {
-	// Make a link.  Text should be slave'slave FResult.  Clicking the link will display detailed info about that beauty where the link used to be
+	// Make a link. Text should be slave'slave FResult. Clicking the link will display detailed info about that beauty where the link used to be
 	if (V.cheatMode || V.debugMode) {
 		return jQuery('#FResultTooltip').empty().append(FResultDisplay(slave));
 	} else {
@@ -2093,7 +2093,7 @@ window.FResultTooltip = function(slave) {
 		let direction = "descending";
 
 		// Link that shows FResult and will be used to toggle display
-		let span  = document.createElement('span');
+		let span = document.createElement('span');
 		span.appendChild(hide(slave));
 
 		// Heading line that handles sorting
@@ -2133,7 +2133,7 @@ window.FResultTooltip = function(slave) {
 
 		// Set up the frame that contains the info, returns dom node
 		function FResultFrame(slave) {
-			let el =  document.createDocumentFragment();
+			let el = document.createDocumentFragment();
 			let fResultArray;
 
 			if ((criteria === "text" && direction === "descending") || (criteria === "value" && direction === "ascending")) {
@@ -2146,9 +2146,9 @@ window.FResultTooltip = function(slave) {
 			let domCell;
 			fResultArray.forEach((line) => {
 				line.value = (Math.floor(line.value * 10) / 10);
-				domLine =  document.createElement('div');
+				domLine = document.createElement('div');
 				domLine.style.display = "float";
-					domCell =  document.createElement('span');
+					domCell = document.createElement('span');
 					domCell.style.float = "left";
 					domCell.style.minWidth = "50px";
 
@@ -2181,7 +2181,7 @@ window.FResultTooltip = function(slave) {
 window.slaveCost = function slaveCost(slave, isStartingSlave) {
 	const milked = saGetMilked(slave, true);
 	const beauty = slaveCostBeauty(slave, isStartingSlave);
-	if ((milked*52) > beauty && !isStartingSlave) {  // Arbitrarily, let's say their milk worth is what they would make in a year.  Blocking starting slave for now because milk makes so much money, the estimation makes game start impossible.
+	if ((milked*52) > beauty && !isStartingSlave) { // Arbitrarily, let's say their milk worth is what they would make in a year. Blocking starting slave for now because milk makes so much money, the estimation makes game start impossible.
 		return milked*52;
 	} else {
 		return beauty;
diff --git a/src/js/utilsFC.js b/src/js/utilsFC.js
index 4a4ee7b9382..0e613fd1bb0 100644
--- a/src/js/utilsFC.js
+++ b/src/js/utilsFC.js
@@ -1179,7 +1179,7 @@ window.years = function(weeks) {
 	if (weeks && weeks / 4 >= 1) { // Is there at least 1 month
 		months = Math.trunc(weeks / 4); // How many months?
 		if (months === 3) { // Almost a quarter of a year
-			months--; // Quarters have 13 weeks though, so let's be sure the extra is in weeks.  Otherwise 51 will return "12 months" instead of "11 months and 4 weeks."
+			months--; // Quarters have 13 weeks though, so let's be sure the extra is in weeks. Otherwise 51 will return "12 months" instead of "11 months and 4 weeks."
 		}
 		weeks = weeks - (months * 4); // A month contains 4 weeks, how many extra weeks do we have?
 	}
@@ -2727,7 +2727,7 @@ App.Utils.setLocalPronouns = function(slave, suffix, pronouns) {
 		'She', 'Her', 'Hers', 'Herself', 'Girl',
 		'woman', 'women', 'loli', 'daughter', 'sister', 'wife', 'wives', 'mother', 'mothers',
 		'Woman', 'Women', 'Loli', 'Daughter', 'Sister', 'Wife', 'Wives', 'Mother', 'Mothers'
-	]; // Pronouns always refer to the slave in question, never any relation of theirs.  It is "mother" as in "she is a mother of many" not "you are her mother".  Plural pronouns would refer to "wives like her," not "her wives."
+	]; // Pronouns always refer to the slave in question, never any relation of theirs. It is "mother" as in "she is a mother of many" not "you are her mother". Plural pronouns would refer to "wives like her," not "her wives."
 
 	const scope = pSuffix.length === 0 ? V : State.temporary;
 	pronouns.forEach(p => {
diff --git a/src/js/utilsSC.js b/src/js/utilsSC.js
index e115b003fcf..b8d236fd6c4 100644
--- a/src/js/utilsSC.js
+++ b/src/js/utilsSC.js
@@ -271,7 +271,7 @@ App.UI.disabledLink = function(link, reasons) {
 	return `<span class="textWithTooltip">${link}${tooltips}</span>`;
 };
 
-/** handler function for slaveDescriptionDialog.  do not call directly. */
+/** handler function for slaveDescriptionDialog. do not call directly. */
 App.UI._showDescriptionDialog = function(slave) {
 	const oldEventDescription = V.eventDescription;
 	V.eventDescription = 1; // should be easy enough to use this for non-event cases too, but you'll need to fix the art display
diff --git a/src/npc/databases/customSlavesDatabase.tw b/src/npc/databases/customSlavesDatabase.tw
index a2aba917737..4c0e74f2491 100644
--- a/src/npc/databases/customSlavesDatabase.tw
+++ b/src/npc/databases/customSlavesDatabase.tw
@@ -8,4 +8,4 @@
 <<run eyeSurgery(_HS, "both", "blur")>>
 <<set $heroSlaves.push(_HS)>>
 
-/*To add custom slaves, try to use the format of the above example. Add new slaves below this line. If you wish to add more slaves later, always add them at the bottom of the file.  IDs are assigned automatically and in order, and you want your new slave to have a unique ID instad of someone else's*/
\ No newline at end of file
+/*To add custom slaves, try to use the format of the above example. Add new slaves below this line. If you wish to add more slaves later, always add them at the bottom of the file. IDs are assigned automatically and in order, and you want your new slave to have a unique ID instead of someone else's*/
\ No newline at end of file
diff --git a/src/npc/interaction/fButt.tw b/src/npc/interaction/fButt.tw
index 182ef51602e..2f262587180 100644
--- a/src/npc/interaction/fButt.tw
+++ b/src/npc/interaction/fButt.tw
@@ -83,7 +83,7 @@ You call $him over so you can
 		<<set getSlave($AS).trust -= 5>>
 	<<else>>
 		As you anticipated, $he refuses to give you $his virginity. And as you expected, $he is unable to resist you. $He cries as <<if ($PC.dick == 0)>>your strap-on<<else>>your cock<</if>> opens $his fresh, tight hole. You force your way into $his pussy and continue thrusting into $him. $He sobs and cries with horror as you pound away. The rape @@.devotion.dec;decreases $his devotion to you.@@ <span class="virginity loss">$His pussy has been broken in,</span> and $he <span class="trust dec">fears further abuse.</span>
-		<<set getSlave($AS).devotion -= 10,  getSlave($AS).trust -= 15>>
+		<<set getSlave($AS).devotion -= 10, getSlave($AS).trust -= 15>>
 	<</if>>
 	<<set getSlave($AS).vagina++>>
 	<<= VCheck.Vaginal()>>
@@ -96,7 +96,7 @@ You call $him over so you can
 		<<set getSlave($AS).trust -= 5>>
 	<<else>>
 		$He is appalled at the idea of taking it up the ass<<if ($PC.dick == 0)>> and cries with fear as you don a strap-on<</if>>. $He does anyway though, sobbing into the cushions<<if hasAnyArms(getSlave($AS))>> while you hold $his arm<<if hasBothArms(getSlave($AS))>>s<</if>> behind $him<</if>>. You force yourself into $his butthole. $He sobs and cries with disgust while you continue thrusting into $his ass. The painful anal rape @@.devotion.dec;decreases $his devotion to you.@@ <span class="virginity loss">$His tight little ass has been broken in,</span> and $he is <span class="trust dec">terrified of further anal pain.</span>
-		<<set getSlave($AS).devotion -= 5,  getSlave($AS).trust -= 5>>
+		<<set getSlave($AS).devotion -= 5, getSlave($AS).trust -= 5>>
 	<</if>>
 	<<set getSlave($AS).anus++>>
 	<<= VCheck.Anal()>>
diff --git a/src/npc/interaction/fFeelings.tw b/src/npc/interaction/fFeelings.tw
index 2e227760a7f..f635b1a82ef 100644
--- a/src/npc/interaction/fFeelings.tw
+++ b/src/npc/interaction/fFeelings.tw
@@ -462,6 +462,10 @@ My favorite part of my body i<<s>>
 				<<elseif getSlave($AS).dietCum == 1 || getSlave($AS).dietCum == 2 >>
 					I love having cum in my food, being able to ma<<s>>turbate right after eating cum i<<s>> <<s>>o <<s>>ati<<s>>fying.
 				<</if>>
+			<<elseif (getSlave($AS).attrKnown == 1) && (getSlave($AS).attrXX > 80) && (!canSee(getSlave($AS)))>>
+				_Amp <<Master>>. With all the<<s>>e hot girl<<s>> around, it'<<s>> a good thing I can't get any more blind from it.
+			<<elseif (getSlave($AS).attrKnown == 1) && (getSlave($AS).attrXY > 80) && (!canSee(getSlave($AS)))>>
+				_Amp <<Master>>. With all the<<s>>e hot cock<<s>> around, it'<<s>> a good thing I can't get any more blind from it.
 			<<elseif (getSlave($AS).attrKnown == 1) && (getSlave($AS).attrXX > 80)>>
 				_Amp <<Master>>. With all the<<s>>e hot girl<<s>> around, it'<<s>> a good thing I can't actually go blind from it.
 			<<elseif (getSlave($AS).attrKnown == 1) && (getSlave($AS).attrXY > 80)>>
@@ -633,7 +637,7 @@ My favorite part of my body i<<s>>
 		<<if $PC.balls != 0>>
 			Your cum i<<s>> incredible, <<Master>>. I would drink every drop of it, if I could.
 			<<if $PC.scrotum > 0>>
-				Your <<if $PC.balls >= 14>>ma<<ss>>ive<<elseif $PC.balls >= 9>>huge<<else>>big<</if>> ball<<s>> are amazing, I want to be under your cock kissing and kneading whenever I <<s>>ee you.
+				Your <<if $PC.balls >= 14>>ma<<ss>>ive<<elseif $PC.balls >= 9>>huge<<else>>big<</if>> ball<<s>> are amazing; I want to be under your cock ki<<ss>>ing and kneading whenever <<if canSee(getSlave($AS))>>I <<s>>ee you<<else>>I'm near you<</if>>.
 			<</if>>
 			<<if $PC.vagina == 1>>Oh, I love your femcum, too!<</if>>
 		<</if>>
diff --git a/src/pregmod/FCTV/FCTV.js b/src/pregmod/FCTV/FCTV.js
index 3062059acd9..ff6be9cede4 100644
--- a/src/pregmod/FCTV/FCTV.js
+++ b/src/pregmod/FCTV/FCTV.js
@@ -110,7 +110,7 @@ window.FCTV = (function() {
 			}
 			break;
 		case 16:
-			if (!V.seeDicks && !V.makeDicks)  {
+			if (!V.seeDicks && !V.makeDicks) {
 				x.canSelect = -1; x.text += `<i>Too many hot dogs detected, changing program.</i>`;
 			}
 			break;
diff --git a/src/pregmod/widgets/bodySwapReaction.tw b/src/pregmod/widgets/bodySwapReaction.tw
index 45f12ae9f12..75f051dfc2c 100644
--- a/src/pregmod/widgets/bodySwapReaction.tw
+++ b/src/pregmod/widgets/bodySwapReaction.tw
@@ -206,7 +206,7 @@ Now you only have to wait for $him to wake up.
 			$His fingers brush $his lips and $he pauses for a moment,<<if $args[0].fetish == "mindbroken">> as if<</if>> noticing that @@.lime;they are larger now@@ than they once were.
 		<<elseif $args[0].sexualFlaw == "cum addict" && $args[0].lips < $args[1].lips-10>> /* (smaller lip+oral fixation) */
 			<<if $args[0].devotion > 20>>
-				$His fingers pause and almost flinch away once they reach $his lips. A second later, they return to confirm $his fear. $His pride and joy are @@.orange;gone.@@ $He lets out a sniff and @@.mediumorchid;tears begin to roll down $his cheeks.@@
+				$His fingers pause and almost flinch away once they reach $his lips. A second later, they return to confirm $his fear. $His pride and joy are @@.orange;gone.@@ $He lets out a sniffle and @@.mediumorchid;tears begin to roll down $his cheeks.@@
 				<<set $args[0].devotion -= 10>>
 			<<else>>
 				$His hand flinches, and $he pulls it away as <<if $args[0].voice == 0>>attempted <</if>>sobs well up from $him. For someone who values $his lips like $him, for them @@.orange;to be gone@@ is a truly @@.mediumorchid;terrible fate.@@
@@ -2282,7 +2282,7 @@ Now you only have to wait for $him to wake up.
 			$His eyes lock on $his lips and $he pauses for a moment,<<if $args[0].fetish == "mindbroken">> as if<</if>> noticing that @@.lime;they are larger now@@ than they once were.
 		<<elseif $args[0].sexualFlaw == "cum addict" && $args[0].lips < $args[1].lips-10>> /* (smaller lip+oral fixation) */
 			<<if $args[0].devotion > 20>>
-				$His eyes lock on $his lips and $he recoils. A second later, $he runs $his tongue across them to confirm $his fear. $His pride and joy are @@.orange;gone.@@ $He lets out a sniff and @@.mediumorchid;tears begin to roll down $his cheeks.@@
+				$His eyes lock on $his lips and $he recoils. A second later, $he runs $his tongue across them to confirm $his fear. $His pride and joy are @@.orange;gone.@@ $He lets out a sniffle and @@.mediumorchid;tears begin to roll down $his cheeks.@@
 				<<set $args[0].devotion -= 10>>
 			<<else>>
 				$His eyes lock on $his lips before $he turns $his head from the mirror and <<if $args[0].voice == 0>>attempted <</if>>sobs well up from $him. For someone who values $his lips like $him, for them @@.orange;to be gone@@ is a truly @@.mediumorchid;terrible fate.@@
diff --git a/src/pregmod/widgets/pregmodBirthWidgets.tw b/src/pregmod/widgets/pregmodBirthWidgets.tw
index 97af83b22a2..b7987538ee8 100644
--- a/src/pregmod/widgets/pregmodBirthWidgets.tw
+++ b/src/pregmod/widgets/pregmodBirthWidgets.tw
@@ -673,10 +673,10 @@
 
 <<case "take classes">>
 	<<if (random(1,20) > $suddenBirth)>>
-		Or $he would have, had  allowed it. Since $he can't leave the lesson, $he tries $his best to hold back the upcoming birth, not without your assistant noticing. As punishment for poor planning, especially since this will be a weekly occurrence in $his life, $his birth will be turned into a live broadcast. Blushing strongly, $he begins working on birthing <<if $slaves[$i].counter.birthsTotal == 0>>$his first<<else>>this week's<</if>> baby, trying $his best to hide $his shame. Exhausted from the birth, $he is permitted a short break as $his child is collected to clean $himself up before the lesson is continued.
+		Or $he would have, had $assistant.name allowed it. Since $he can't leave the lesson, $he tries $his best to hold back the upcoming birth, not without your assistant noticing. As punishment for poor planning, especially since this will be a weekly occurrence in $his life, $his birth will be turned into a live broadcast. Blushing strongly, $he begins working on birthing <<if $slaves[$i].counter.birthsTotal == 0>>$his first<<else>>this week's<</if>> baby, trying $his best to hide $his shame. Exhausted from the birth, $he is permitted a short break as $his child is collected to clean $himself up before the lesson is continued.
 		<<set $humiliation = 1>>
 	<<else>>
-		During a lesson under , $slaves[$i].slaveName's water breaks. Since $he can't leave the lesson, $he tries $his best to hold back the upcoming birth, not without your assistant noticing. As punishment for poor planning, especially since this will be a weekly occurrence in $his life, $he is forbidden from leaving. Additionally, $his birth will be turned into a live broadcast.
+		During a lesson under $assistant.name, $slaves[$i].slaveName's water breaks. Since $he can't leave the lesson, $he tries $his best to hold back the upcoming birth, not without your assistant noticing. As punishment for poor planning, especially since this will be a weekly occurrence in $his life, $he is forbidden from leaving. Additionally, $his birth will be turned into a live broadcast.
 		<<set $humiliation = 1>>
 		<<ClothingBirth>>
 		Exhausted from the birth, $he is permitted a short break as <<if $slaves[$i].counter.birthsTotal == 0>>$his first<<else>>this week's<</if>> child is gathered to <<if !canWalk($slaves[$i])>>be cleaned<<else>>clean $himself<</if>> up before the lesson is continued.
diff --git a/src/uncategorized/RECI.tw b/src/uncategorized/RECI.tw
index c3f03b17539..4b08f760338 100644
--- a/src/uncategorized/RECI.tw
+++ b/src/uncategorized/RECI.tw
@@ -255,7 +255,7 @@ You often pepper slaves with questions during this inspection; it helps you gaug
 <<elseif ($activeSlave.balls == 0)>>
 	Not having ball<<s>> makes it ea<<s>>ier for me, though. The only way my <<s>>oft girldick will come i<<s>> when I take cock.
 <<elseif ($activeSlave.boobs > 400)>>
-	Getting a girl'<<s>> body made it ea<<s>>ier for me, though. When I <<s>>ee my<<s>>elf in the mirror, I <<s>>ee a girl with a body made for getting fucked.
+	Getting a girl'<<s>> body made it ea<<s>>ier for me, though. When I <<if canSee($activeSlave)>><<s>>ee my<<s>>elf in the mirror, I <<s>>ee<<else>>feel my<<s>>elf up, I feel<</if>> a girl with a body made for getting fucked.
 <<else>>
 	But the training and the rule<<s>> pu<<sh>>ed me through it.
 <</if>>
diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw
index 1f00106f248..8c8aa6306f5 100644
--- a/src/uncategorized/RESS.tw
+++ b/src/uncategorized/RESS.tw
@@ -1903,7 +1903,7 @@ If you went with $him, you could certainly show off a little.
 
 Late one night, <<= App.UI.slaveDescriptionDialog($activeSlave)>> comes to see you. Strangely, several of your other slaves are stealing glances at $him as $he does. $He seems oddly proud of $himself. Asked why, $he says, "It'<<s>> my millenary, <<Master>>. The arcology has logged me getting fucked <<= num(999)>> time<<s>>." The other slaves obviously view it as significant, too.
 <br><br>
-As the Free Cities grow and evolve, slave culture does too. It seems this is a new tradition among obedient sex slaves. $He obviously expects you to do the honors, and it seems the rest of your girls are looking forward to it.
+As the Free Cities grow and evolve, slave culture does too. It seems this is a new tradition among obedient sex slaves. $He obviously expects you to do the honors, and it seems the rest of your slaves are looking forward to it.
 
 <<case "birthday">>
 
@@ -8916,7 +8916,7 @@ brought in to you. This time <<= App.UI.slaveDescriptionDialog($activeSlave)>> h
 
 <<link "Go out clubbing to make $him feel young again">>
 	<<replace "#result">>
-		You call out to stop $him, and $he turns obediently to listen; you tell $him to take the day off and meet you that evening for a trip to $arcologies[0].name's most fashionable nightclub. You emphasize slightly that it's a place you prefer to enjoy with a young slave, and $his eyes widen a little at the implied compliment and challenge. Right at the proper time, $he arrives in your office wearing neon $activeSlave.hColor makeup to match $his hair, and a tiny iridescent clubgirl outfit of the same color. The hem of the skirt is barely low enough to conceal $him <<if ($activeSlave.dick > 0)>>dick<<elseif $activeSlave.vagina == -1>>total lack of private parts<<else>>pussy<</if>>, and it's backless. The front is held up by a halter around $his pretty neck, and is <<if ($activeSlave.boobs > 2000)>>specially tailored to cover $his massive tits<<elseif ($activeSlave.boobs > 1000)>>strained by $his big tits<<elseif ($activeSlave.boobs > 300)>>tightly filled by $his healthy tits<<else>>tight against $his flat chest<</if>><<if $activeSlave.belly >= 1500>> and _belly <<if $activeSlave.bellyPreg >= 1500>>pregnant <</if>>belly<</if>>. $He makes a gaudy and very fashionable spectacle, and in response to your <<if canSee($activeSlave)>>look<<elseif canHear($activeSlave)>>whistle<<else>>gentle poke<</if>> $he raises <<if (!hasAnyArms($activeSlave))>>the stumps of $his arms ever so slightly<<if (hasBothArms($activeSlave))>>both arms<<else>>$his arm<</if>> over $his head<</if>> and twirls, shimmying $his body deliciously.
+		You call out to stop $him, and $he turns obediently to listen; you tell $him to take the day off and meet you that evening for a trip to $arcologies[0].name's most fashionable nightclub. You emphasize slightly that it's a place you prefer to enjoy with a young slave, and $his eyes widen a little at the implied compliment and challenge. Right at the proper time, $he arrives in your office wearing neon $activeSlave.hColor makeup to match $his hair, and a tiny iridescent club<<= $girl>> outfit of the same color. The hem of the skirt is barely low enough to conceal $him <<if ($activeSlave.dick > 0)>>dick<<elseif $activeSlave.vagina == -1>>total lack of private parts<<else>>pussy<</if>>, and it's backless. The front is held up by a halter around $his pretty neck, and is <<if ($activeSlave.boobs > 2000)>>specially tailored to cover $his massive tits<<elseif ($activeSlave.boobs > 1000)>>strained by $his big tits<<elseif ($activeSlave.boobs > 300)>>tightly filled by $his healthy tits<<else>>tight against $his flat chest<</if>><<if $activeSlave.belly >= 1500>> and _belly <<if $activeSlave.bellyPreg >= 1500>>pregnant <</if>>belly<</if>>. $He makes a gaudy and very fashionable spectacle, and in response to your <<if canSee($activeSlave)>>look<<elseif canHear($activeSlave)>>whistle<<else>>gentle poke<</if>> $he raises <<if (!hasAnyArms($activeSlave))>>the stumps of $his arms ever so slightly<<if (hasBothArms($activeSlave))>>both arms<<else>>$his arm<</if>> over $his head<</if>> and twirls, shimmying $his body deliciously.
 		"I hope they let me into the club without checking my I.D., <<Master>>," $he jokes,
 		for which $he receives a swat on $his rear as you head out. With the full day of rest, $he is full of vigor and ready to dance. $He eagerly heads out onto the floor with you,
 		<<if ($activeSlave.skill.entertainment >= 100)>>
@@ -11109,7 +11109,7 @@ brought in to you. This time <<= App.UI.slaveDescriptionDialog($activeSlave)>> h
 		<<if !canTalk($activeSlave)>>
 			$He uses gestures to recount it through $his tears. Apparently while one guy was using $his anus, another thought it was hot and waited for him to be done before using $him in turn, without letting $him rest or clean $himself. It took four cocks total for another slave to notice and rescue $him.
 		<<else>>
-			$He <<say>>s, a little tearfully, "<<Master>>, thi<<s>> guy wanted to u<<s>>e my butt in public. <<S>>o of cour<<s>>e I let him, and he made me <<s>>it in hi<<s>> lap to do it, and held my leg<<s>> back <<s>>o everyone could <<s>>ee! And then another guy thought it wa<<s>> hot and waited, and then fucked me in my a<<ss>> too. Another girl finally noti<<c>>ed and re<<s>>cued me after four cock<<s>>, <<Master>>. I'm really <<s>>ore."
+			$He <<say>>s, a little tearfully, "<<Master>>, thi<<s>> guy wanted to u<<s>>e my butt in public. <<S>>o of cour<<s>>e I let him, and he made me <<s>>it in hi<<s>> lap to do it, and held my leg<<if hasBothLegs($activeSlave)>><<s>><</if>> back <<s>>o everyone could <<s>>ee! And then another guy thought it wa<<s>> hot and waited, and then fucked me in my a<<ss>> too. Another <<s>>lave finally noti<<c>>ed and re<<s>>cued me after four cock<<s>>, <<Master>>. I'm really <<s>>ore."
 		<</if>>
 		$He <<if canSee($activeSlave)>>looks up at you with big <<= App.Desc.eyesColor($activeSlave)>><<else>>gazes at you<</if>> for a long moment, a final tear leaking down $his $activeSlave.skin cheek, before $he suddenly
 		<<if !canTalk($activeSlave)>>
diff --git a/src/uncategorized/REroyalblood.tw b/src/uncategorized/REroyalblood.tw
index de61595eaa7..16ad198a98a 100644
--- a/src/uncategorized/REroyalblood.tw
+++ b/src/uncategorized/REroyalblood.tw
@@ -315,7 +315,7 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 	<br>//You lack the necessary funds to enslave a crown prince.//
 <</if>>
 
-<<if  $seeDicks > 0 && $SF.Toggle && $SF.Active >= 1>>
+<<if $seeDicks > 0 && $SF.Toggle && $SF.Active >= 1>>
 <br><<link "Dispatch $SF.Lower on a night time raid to acquire the crown prince.">>
 	<<replace "#result">>
 		Seizing a tablet, you quickly send a message to The Colonel. After dark, a flight of VTOLs land in the new arcology laden with troops. They take off again with the crown prince aboard and in chains, where _he2 rails against the uncaring metal walls of the VTOL for the breadth of _his2 journey to your penthouse.
diff --git a/src/uncategorized/costsBudget.js b/src/uncategorized/costsBudget.js
index e71a2af9274..84650030606 100644
--- a/src/uncategorized/costsBudget.js
+++ b/src/uncategorized/costsBudget.js
@@ -532,7 +532,7 @@ App.UI.Budget.Cost = function() {
 	// Set up object to track calculated displays
 	const income = "lastWeeksCashIncome";
 	const expenses = "lastWeeksCashExpenses";
-	const profits =  "lastWeeksCashProfits";
+	const profits = "lastWeeksCashProfits";
 	const F = V.lastWeeksGatheredTotals;
 
 	// HEADER
@@ -543,7 +543,7 @@ App.UI.Budget.Cost = function() {
 	pent.textContent = "Budget Overview";
 	th.appendChild(pent);
 	row.appendChild(th);
-	
+
 	array = [
 		"Income",
 		"Expense",
@@ -854,7 +854,7 @@ App.UI.Budget.Cost = function() {
 			row.insertCell();
 			flipColors(row);
 			return;
-		} 
+		}
 
 		if (V[income][category] || V[expenses][category] || V.showAllEntries.costsBudget) {
 			row = table.insertRow();
diff --git a/src/uncategorized/options.tw b/src/uncategorized/options.tw
index 32670ed035e..ab4bec33aff 100644
--- a/src/uncategorized/options.tw
+++ b/src/uncategorized/options.tw
@@ -1045,7 +1045,7 @@ This save was created using FC version $ver build $releaseID.
 
 <div id="Experimental" class="tabcontent">
 	<div class="subHeading" style="fontWeight:bold">
-		Experimental means just that: experimental. Options below are likely to be in an <span class="yellow">even more incomplete or broken state than usual.</span>  <span class="red">THEY MAY NOT WORK AT ALL.</span>  Make sure you back up your save before enabling any of these, and if you are that interested, consider helping to improve them.
+		Experimental means just that: experimental. Options below are likely to be in an <span class="yellow">even more incomplete or broken state than usual.</span> <span class="red">THEY MAY NOT WORK AT ALL.</span> Make sure you back up your save before enabling any of these, and if you are that interested, consider helping to improve them.
 	</div>
 
 	<p>
@@ -1059,7 +1059,7 @@ This save was created using FC version $ver build $releaseID.
 			<<option 1 "Enabled">>
 			<<option 0 "Disabled">>
 			<<comment>>
-			This will enable the experimental nursery, which allows players to interact with growing slave children.  An alternative to the incubator.
+			This will enable the experimental nursery, which allows players to interact with growing slave children. An alternative to the incubator.
 		<</options>>
 	<</if>>
 
@@ -1087,7 +1087,7 @@ This save was created using FC version $ver build $releaseID.
 			<<option 1 "Enabled">>
 			<<option 0 "Disabled">>
 			<<comment>>
-			This will enable a controversial but very broken event.  Warning: Snuff, cannibalism.
+			This will enable a controversial but very broken event. Warning: Snuff, cannibalism.
 		<</options>>
 	<</if>>
 </div>
diff --git a/src/uncategorized/ptWorkaround.tw b/src/uncategorized/ptWorkaround.tw
index 7ee7dc8ea4d..c9d2e9aa5be 100644
--- a/src/uncategorized/ptWorkaround.tw
+++ b/src/uncategorized/ptWorkaround.tw
@@ -454,7 +454,7 @@
 		<<else>>
 			and is in anal chastity,
 		<</if>>
-		you spend time teaching $him sexual positions and how to someday use $his asshole to its potential. You have $him work $his Kegel  muscles and anal sphincter all week to prepare $him for the future. @@.lime;$His anal skills have improved,@@ but it's a slow process without practical experience.
+		you spend time teaching $him sexual positions and how to someday use $his asshole to its potential. You have $him work $his Kegel muscles and anal sphincter all week to prepare $him for the future. @@.lime;$His anal skills have improved,@@ but it's a slow process without practical experience.
 		<<= SkillIncrease.Anal($activeSlave, _analTrainingEfficiency)>>
 	<<elseif $activeSlave.skill.vaginal < 100 && $activeSlave.vagina >= 0>>
 		$He already a skilled pussy slut,
diff --git a/src/uncategorized/reFSAcquisition.tw b/src/uncategorized/reFSAcquisition.tw
index 4f18882ca0f..9611e9b160a 100644
--- a/src/uncategorized/reFSAcquisition.tw
+++ b/src/uncategorized/reFSAcquisition.tw
@@ -1413,7 +1413,7 @@ This one, unusually, is voice-only. The caller explains why in a painfully quiet
 
 You receive so many messages, as a noted titan of the new Free Cities world, that $assistant.name has to be quite draconian in culling them. _HeA lets only the most important through to you. One category of message that always gets through regardless of content, though, is requests for voluntary enslavement. As the new world takes shape, they've become less rare than they once were.
 <br><br>
-The person placing the call is physically quite unusual, to the point of looking distinctly unnatural, given that they are a dwarf sporting proportinally massive implants. $He crosses $his arms under $his bust and begins a rather haughty speal, given $his size. "Now don't go thinking of calling me a midget, thi<<s>> here i<<s>> one-hundred per<<c>>ent <<sh>>ort //and// <<s>>tacked, wouldn't you agree?" $He flexes back and grabs $his fat rear, $his blouse practically exploding in the process. "What you <<s>>ee here is all your<<s>> if you a<<s>>k ni<<c>>ely. <<S>>ee, I've hard a pretty hard life," $he <<say>>s while pantomiming sucking dick, "and I'm looking to retire into lu<<x>>ury. From what I've heard, a <<s>>tar like me may a<<s>> well have a pede<<s>>tal erected in my honor in $arcologies[0].name <<s>>o that all can ba<<s>>k in my curvy glory." $He does a split, giving you a look straight into $his shaved pussy. "<<S>>o how about you invite me in <<s>>o that I can welcome //you// in?"
+The person placing the call is physically quite unusual, to the point of looking distinctly unnatural, given that they are a dwarf sporting proportionally massive implants. $He crosses $his arms under $his bust and begins a rather haughty spiel, given $his size. "Now don't go thinking of calling me a midget, thi<<s>> here i<<s>> one-hundred per<<c>>ent <<sh>>ort //and// <<s>>tacked, wouldn't you agree?" $He flexes back and grabs $his fat rear, $his blouse practically exploding in the process. "What you <<s>>ee here is all your<<s>> if you a<<s>>k ni<<c>>ely. <<S>>ee, I've hard a pretty hard life," $he <<say>>s while pantomiming sucking dick, "and I'm looking to retire into lu<<x>>ury. From what I've heard, a <<s>>tar like me may a<<s>> well have a pede<<s>>tal erected in my honor in $arcologies[0].name <<s>>o that all can ba<<s>>k in my curvy glory." $He does a split, giving you a look straight into $his shaved pussy. "<<S>>o how about you invite me in <<s>>o that I can welcome //you// in?"
 
 <<case "Statuesque Glorification">>
 
diff --git a/src/uncategorized/reRecruit.tw b/src/uncategorized/reRecruit.tw
index 494a51d15b2..80cc3ab9c9f 100644
--- a/src/uncategorized/reRecruit.tw
+++ b/src/uncategorized/reRecruit.tw
@@ -2366,9 +2366,9 @@ At any rate, $he's a fine capture. And unsurprisingly, they want to get rid of $
 
 <<case "desperate university milf">>
 
-A call comes in from an old world household. The caller appears on your screen, a worn down matronly $woman flanked by $his two daughters. The middle-aged mother addresses you in a formal yet halting manner, as if rehearsing an unfamiliar speech. "I don't know how clo<<s>>ely you watch the old world from where you are, but finding <<s>>teady work without an education i<<s>> becoming increa<<s>>ingly difficult".
+A call comes in from an old world household. The caller appears on your screen, a worn down matronly $woman flanked by $his two daughters. The middle-aged $mother addresses you in a formal yet halting manner, as if rehearsing an unfamiliar speech. "I don't know how clo<<s>>ely you watch the old world from where you are, but finding <<s>>teady work without an education i<<s>> becoming increa<<s>>ingly difficult".
 <br><br>
-The mother pauses to glance at $his daughters before continuing. "I want my daughter<<s>> to have a chance to make a life for them<<s>>elve<<s>>. I know that if I can pay their way toward<<s>> attending univer<<s>>ity, then I will have <<s>>u<<cc>>eeded a<<s>> a parent."
+The $mother pauses to glance at $his daughters before continuing. "I want my daughter<<s>> to have a chance to make a life for them<<s>>elve<<s>>. I know that if I can pay their way toward<<s>> attending univer<<s>>ity, then I will have <<s>>u<<cc>>eeded a<<s>> a parent."
 <br><br>
 $He begins to weep quietly, but continues after $his daughters lay their hands supportively on $his shoulder. "Could you en<<s>>lave me, <<if $PC.title != 0>><<s>>ir<<else>>ma'am<</if>>? It'<<s>> the only way I have to pay for their tuition."
 
diff --git a/src/uncategorized/reRelativeRecruiter.tw b/src/uncategorized/reRelativeRecruiter.tw
index 2cb84d57e71..e216f2e94f3 100644
--- a/src/uncategorized/reRelativeRecruiter.tw
+++ b/src/uncategorized/reRelativeRecruiter.tw
@@ -495,9 +495,9 @@
 	<<case "son">>
 		$he had a _daughter2, who was sent to the slave orphanages. $He's heard a rumor through other slaves that $his _daughter2 will go up for sale soon.
 	<<case "mother">>
-		$his mother might be getting sold soon. _He2 has been a slave for some time. $He's heard a rumor through other slaves that $his mother will go up for sale soon.
+		$his _mother2 might be getting sold soon. _He2 has been a slave for some time. $He's heard a rumor through other slaves that $his _mother2 will go up for sale soon.
 	<<case "father">>
-		$his father might be getting sold soon. _He2 has been a slave for some time. $He's heard a rumor through other slaves that $his father will go up for sale soon.
+		$his _mother2 might be getting sold soon. _He2 has been a slave for some time. $He's heard a rumor through other slaves that $his _mother2 will go up for sale soon.
 	<<case "older sister">>
 		$his older _sister2 is being sold. _He2 was likely to be enslaved the last $eventSlave.slaveName knew of _him2, and now $he's heard a rumor through other slaves that $his big _sister2 is going to be sold to a new owner.
 	<<case "older brother">>
@@ -579,9 +579,9 @@ $He waits anxiously for your decision.
 You look up the _relationType. _He2 costs <<print cashFormat(_slaveCost)>>, a bargain, but you won't be able to inspect _him2 beyond _his2 likely resemblance to _his2
 <<switch _relationType>>
 <<case "daughter">>
-	mother. _His2 listing states that _he2 was used as a prostitute by _his2 previous owner.
+	$mother. _His2 listing states that _he2 was used as a prostitute by _his2 previous owner.
 <<case "son">>
-	mother. _His2 listing states that _he2 was used as a shemale prostitute by _his2 previous owner.
+	$mother. _His2 listing states that _he2 was used as a shemale prostitute by _his2 previous owner.
 <<case "mother">>
 	$daughter. _His2 listing states that _he2 was used as a bed slave by _his2 MILF-loving owner.
 <<case "father">>
@@ -1026,7 +1026,7 @@ $eventSlave.slaveName requests an interview with you. $He's a devoted slave, and
 <<case "mother">>
 	$he had a _daughter2, who was sent to the slave orphanages. $He's heard a rumor through other slaves that $his _daughter2 will go up for sale soon.
 <<case "daughter">>
-	$his mother has been enslaved. _He2 was free the last $eventSlave.slaveName knew of _him2. $He's heard a rumor through other slaves that $his mother will go up for sale soon.
+	$his _mother2 has been enslaved. _He2 was free the last $eventSlave.slaveName knew of _him2. $He's heard a rumor through other slaves that $his _mother2 will go up for sale soon.
 <<case "older sister">>
 	$his older _sister2 is being sold. _He2 was likely to be enslaved the last $eventSlave.slaveName knew of _him2, and now $he's heard a rumor through other slaves that $his big _sister2 is going to be sold to a new owner.
 <<case "young sister">>
diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw
index f263a91c444..9ef770411cf 100644
--- a/src/uncategorized/saLongTermEffects.tw
+++ b/src/uncategorized/saLongTermEffects.tw
@@ -205,7 +205,11 @@
 							<</if>>
 						<<case 5>>
 							<<if $slaves[$i].earPiercing>>
-								Every morning, $he's greeted by $his girly reflection in the mirror, <<if $slaves[$i].earPiercing > 1>>whose slutty ear piercings make $him @@.green;feel more fuckable.@@<<else>>complete with pretty pierced ears @@.green;like a good slave girl.@@<</if>>
+								<<if canSee($slaves[$i])>>
+									Every morning, $he's greeted by $his girly reflection in the mirror, <<if $slaves[$i].earPiercing > 1>>whose slutty ear piercings make $him @@.green;feel more fuckable.@@<<else>>complete with pretty pierced ears @@.green;like a good slave girl.@@<</if>>
+								<<else>>
+									$His girly pierced ears make $him feel <<if $slaves[$i].earPiercing > 1>>@@.green;like a hot slut.@@<<else>>@@.green;like a cute girl.@@<</if>>
+								<</if>>
 								<<set $slaves[$i].attrXY += 1>>
 							<</if>>
 						<</switch>>
diff --git a/src/uncategorized/saRelationships.tw b/src/uncategorized/saRelationships.tw
index 7fb9358df1a..ac9c3018dad 100644
--- a/src/uncategorized/saRelationships.tw
+++ b/src/uncategorized/saRelationships.tw
@@ -905,7 +905,7 @@
 				<<set _SlaveI.trust++>>
 			<</if>>
 			<<if _SlaveI.relationship < 5 && (jsRandom(0, 100) > 90)>>
-				Having been chaste for some time, _SlaveI.slaveName and _SlaveJ.slaveName find themselves less passionate about each other, and have gone back to being just @@.lightgreen;friends.@@  They both @@.mediumorchid;regret@@ the loss of intimacy.
+				Having been chaste for some time, _SlaveI.slaveName and _SlaveJ.slaveName find themselves less passionate about each other, and have gone back to being just @@.lightgreen;friends.@@ They both @@.mediumorchid;regret@@ the loss of intimacy.
 				<<set _SlaveI.relationship = 1, _SlaveJ.relationship = 1, _SlaveI.devotion--, _SlaveJ.devotion-->>
 			<</if>>
 		<</if>>
diff --git a/src/uncategorized/seExpiration.tw b/src/uncategorized/seExpiration.tw
index 0f2b17ef42e..e21508be2c8 100644
--- a/src/uncategorized/seExpiration.tw
+++ b/src/uncategorized/seExpiration.tw
@@ -188,7 +188,7 @@ at the moment of $his scheduled emancipation, $he seems willing to consider a sh
 <<else>>
 	$He makes no effort at all to conceal $his joy at being a free $woman again.
 	<<if $activeSlave.origin == "$He put $himself up as collateral at a poker game, and lost.">>
-		A bet is a bet, but that was a lonnng year.  There's still room for $him in your $mercenariesTitle, but many of them have come to see $him in a new, more... intimate way.  As a free $woman, $he'll have to decide if it's worth the risk and the sex to stay here and fight for you who $he loathes... or else take up arms elsewhere in an ever more uncertain world.
+		A bet is a bet, but that was a lonnng year. There's still room for $him in your $mercenariesTitle, but many of them have come to see $him in a new, more... intimate way. As a free $woman, $he'll have to decide if it's worth the risk and the sex to stay here and fight for you who $he loathes... or else take up arms elsewhere in an ever more uncertain world.
 		<<if $activeSlave.addict > 5>>
 			They'll need to make money fast as they remain addicted to your aphrodisiacs.
 		<</if>>
diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw
index ff492afca56..a250c57d6e0 100644
--- a/src/uncategorized/slaveInteract.tw
+++ b/src/uncategorized/slaveInteract.tw
@@ -348,7 +348,7 @@
 			<<if $feeder == 1>>
 				<<if $slaves[_i].fuckdoll == 0 && $slaves[_i].fetish != "mindbroken">>
 					<<if ($slaves[_i].weight > 10 || $slaves[_i].weight < -10)>>
-							|  <<link "Correct weight">><<set $slaves[_i].diet = "corrective">><<replace "#diet">>$slaves[_i].diet<</replace>><</link>>
+							| <<link "Correct weight">><<set $slaves[_i].diet = "corrective">><<replace "#diet">>$slaves[_i].diet<</replace>><</link>>
 					<<else>>
 						//$He is already a healthy weight//
 					<</if>>
diff --git a/src/uncategorized/surgeryDegradation.tw b/src/uncategorized/surgeryDegradation.tw
index 4e09bd25da5..f83d91f1d75 100644
--- a/src/uncategorized/surgeryDegradation.tw
+++ b/src/uncategorized/surgeryDegradation.tw
@@ -970,7 +970,7 @@ As the remote surgery's long recovery cycle completes,
 	<<if getSlave($AS).fetish != "mindbroken" && getSlave($AS).fuckdoll == 0>>
 		When $he exits the room, $he feels that $his face is numb,
 		<<if getSlave($AS).ID == $Bodyguard.ID>>
-			and upon <<if canSee(getSlave($AS))>>throwing a glance at the mirror<<else>>being informed of $his new scar<</if>>, $he frightens $himself, but is @@.hotpink;happier@@ with $his new look and @@.mediumaquamarine;more confident@@ that $he's the girl for the job.
+			and upon <<if canSee(getSlave($AS))>>throwing a glance at the mirror<<else>>being informed of $his new scar<</if>>, $he frightens $himself, but is @@.hotpink;happier@@ with $his new look and @@.mediumaquamarine;more confident@@ that $he's the $girl for the job.
 			<<set getSlave($AS).devotion += 5>>
 			<<set getSlave($AS).trust += 5>>
 		<<elseif getSlave($AS).devotion > 20>>
diff --git a/src/uncategorized/underperformingSlaves.tw b/src/uncategorized/underperformingSlaves.tw
index a6182dbb49c..65ca95afc2b 100644
--- a/src/uncategorized/underperformingSlaves.tw
+++ b/src/uncategorized/underperformingSlaves.tw
@@ -3,7 +3,7 @@
 <<set $nextButton = "Back", $nextLink = "Buy Slaves", $returnTo = "Buy Slaves", $showEncyclopedia = 1>>
 <p>
 	<div>
-		<<= properMaster()>>, while many of your slaves work hard to earn ¤ each week, some succeed more than others.  As a trader in slaves, you may appreciate the opportunity that comes when a particularly valuable slave didn't earn very much last week.  Or perhaps you just want the chance to tweak these problem slaves and train them to be better?  The choice is yours.
+		<<= properMaster()>>, while many of your slaves work hard to earn ¤ each week, some succeed more than others. As a trader in slaves, you may appreciate the opportunity that comes when a particularly valuable slave didn't earn very much last week. Or perhaps you just want the chance to tweak these problem slaves and train them to be better? The choice is yours.
 	</div>
 	<div>
 		<<if ($slaveCostFactor > 1.1)>>
@@ -27,7 +27,7 @@
 <div id="highSale" class="tabcontent">
 	<div class="content">
 		<div style="font-style:italic">
-			Take the rough value of a slave and divide it by how much they made overall last week.  This will tell you how many weeks it might take them to earn the same amount you'd get for selling them right now.
+			Take the rough value of a slave and divide it by how much they made overall last week. This will tell you how many weeks it might take them to earn the same amount you'd get for selling them right now.
 		</div>
 		<<print App.UI.SlaveList.render.listMarkup(
 			getBestSlavesIndices(
diff --git a/src/utility/descriptionWidgetsStyle.tw b/src/utility/descriptionWidgetsStyle.tw
index f97c6f8a936..e804e3984d6 100644
--- a/src/utility/descriptionWidgetsStyle.tw
+++ b/src/utility/descriptionWidgetsStyle.tw
@@ -3589,7 +3589,7 @@ $His
 	<<if $activeSlave.fuckdoll == 0>>
 		<<switch $activeSlave.clothes>>
 		<<case "restrictive latex">>
-			The upper half of $his face is covered by the hood of $his latex suit: though $he can see through eye-holes, these can easily be closed to blind $him.
+			The upper half of $his face is covered by the hood of $his latex suit: though <<if canSee($activeSlave)>>$he can see through eye-holes, these can easily be closed to blind $him<<else>>there are eye-holes, they are currently closed due to their lack of use<</if>>.
 		<<case "harem gauze">>
 			$His harem outfit includes the traditional veil for $his face.
 		<<case "a burkini">>
-- 
GitLab