From cd088f4c886b04452a67e284f936ab834fb34ec4 Mon Sep 17 00:00:00 2001
From: klorpa <30924131+klorpa@users.noreply.github.com>
Date: Thu, 18 Feb 2021 22:07:59 -0600
Subject: [PATCH] Tweaks

---
 fc-pregmod.proj                               |  2 +-
 src/Mods/SecExp/buildings/secBarracks.tw      |  2 +-
 src/Mods/SecExp/edicts.tw                     |  2 +-
 src/Mods/SecExp/js/Unit.js                    |  8 +++---
 src/Mods/SecExp/js/secExp.js                  |  4 +--
 src/Mods/SecExp/js/secExpBC.js                |  2 +-
 src/Mods/SecExp/js/securityReport.js          |  2 +-
 src/Mods/SecExp/potentialToDo.txt             |  6 ++--
 src/Mods/SecExp/rebellionOptions.tw           |  2 +-
 .../mod_EditSlaveCheatDatatypeCleanupNew.tw   |  2 +-
 src/cheats/mod_editSlaveCheatNew.tw           |  2 +-
 .../backwardsCompatibility.js                 |  2 +-
 .../backwardsCompatibility/datatypeCleanup.js |  4 +--
 src/descriptions/familySummaries.js           |  2 +-
 src/endWeek/reports/clinicReport.js           |  2 +-
 src/events/RETS/reInterslaveBegging.js        |  6 ++--
 src/events/RETS/reSadisticDescription.js      |  2 +-
 src/events/eventUtils.js                      |  2 +-
 src/events/randomEvent.js                     |  2 +-
 src/events/scheduled/assholeKnight.tw         |  8 +++---
 src/events/scheduled/newBaron.tw              |  8 +++---
 src/events/scheduled/poorKnight.tw            | 12 ++++----
 src/events/scheduled/sePCBirthday.desc.js     |  4 +--
 .../bodyModification/bodyModification.js      |  4 +--
 src/facilities/penthouse/penthousePassage.js  |  2 +-
 src/facilities/salon/salonPassage.js          |  2 +-
 src/facilities/toyShop/toyShop.js             |  4 +--
 src/futureSocieties/futureSociety.js          |  2 +-
 src/gui/interactiveDetails.js                 |  2 +-
 src/js/SlaveState.js                          |  2 +-
 src/js/birth/birth.js                         |  4 +--
 src/js/ibcJS.js                               |  2 +-
 src/js/itemAvailability.js                    |  2 +-
 src/js/relationshipChecks.js                  |  2 +-
 src/js/releaseRules.js                        |  2 +-
 src/js/rulesAssistant.js                      |  2 +-
 src/js/rulesAssistantOptions.js               |  2 +-
 src/js/slaveCostJS.js                         |  2 +-
 src/js/utilsSlave.js                          |  2 +-
 src/js/utilsSlaves.js                         |  2 +-
 src/markets/theMarket/market.js               |  2 +-
 src/markets/theMarket/tradeMenials.js         |  2 +-
 src/npc/descriptions/belly/belly.js           | 12 ++++----
 src/npc/interaction/fLickPussy.tw             |  2 +-
 .../passage/fSlaveSlaveDickConsummate.tw      |  2 +-
 src/npc/startingGirls/editFamily.js           |  2 +-
 src/npc/surgery/surgeryDegradation.js         |  4 +--
 src/player/desc/playerBoobs.js                |  2 +-
 src/uncategorized/REroyalblood.tw             |  2 +-
 src/uncategorized/genericPlotEvents.tw        |  4 +--
 src/uncategorized/reFSAcquisition.tw          |  2 +-
 src/uncategorized/reRecruit.tw                | 28 +++++++++----------
 src/uncategorized/recETS.tw                   |  2 +-
 themes/light/arcologyBuilding.css             | 12 ++++----
 themes/light/options.css                      |  2 +-
 themes/light/quicklinks.css                   | 12 ++++----
 56 files changed, 110 insertions(+), 110 deletions(-)

diff --git a/fc-pregmod.proj b/fc-pregmod.proj
index 31ecdd3bb6c..c3c76a32e54 100644
--- a/fc-pregmod.proj
+++ b/fc-pregmod.proj
@@ -37,7 +37,7 @@
 		<Message Text="Git found: $(GitExeFound)" Importance="high" />
 		<Message Text="Git executable: $(GitExe)" Importance="high" />
 		<Message Text="HEAD commit hash: $(GitHash)" Importance="high" />
-    </Target>
+	</Target>
 
 	<Target Name="createDirs">
 		<MakeDir Directories="$(OutputDirectory)\resources"/>
diff --git a/src/Mods/SecExp/buildings/secBarracks.tw b/src/Mods/SecExp/buildings/secBarracks.tw
index a1c43ac2131..5c6feba7472 100644
--- a/src/Mods/SecExp/buildings/secBarracks.tw
+++ b/src/Mods/SecExp/buildings/secBarracks.tw
@@ -222,7 +222,7 @@ Your current maximum number of units is <<print App.SecExp.battle.maxUnits()>> (
 	<div class="content">
 		You are free to organize your menial slaves into fighting units. Currently you have <<print num($menials)>> slaves available, while <<print num(App.SecExp.Manpower.employedSlave)>> are already employed as soldiers. During all your battles you lost a total of <<print num($SecExp.units.slaves.dead)>>.
 		<br>Default unit name: <<textbox "$SecExp.units.slaves.defaultName" $SecExp.units.slaves.defaultName "secBarracks">> |
-		<<if $menials > 0 && App.SecExp.battle.activeUnits() < App.SecExp.battle.maxUnits()>> 
+		<<if $menials > 0 && App.SecExp.battle.activeUnits() < App.SecExp.battle.maxUnits()>>
 			<<link "Form a new unit" "secBarracks">>
 				<<set $SecExp.units.slaves.squads.push(App.SecExp.unit.gen("slaves"))>>
 			<</link>> |
diff --git a/src/Mods/SecExp/edicts.tw b/src/Mods/SecExp/edicts.tw
index e9187393bf8..810c785926a 100644
--- a/src/Mods/SecExp/edicts.tw
+++ b/src/Mods/SecExp/edicts.tw
@@ -258,7 +258,7 @@
 					<<else>>
 						<br>//Not enough Authority.//
 					<</if>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will moderately increase  defense, hp, and morale of your militia units and increase attack, defense and morale of your mrecenaries, but will incur upkeep costs.//
+					<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will moderately increase defense, hp, and morale of your militia units and increase attack, defense and morale of your mercenaries, but will incur upkeep costs.//
 				<</if>>
 			<</if>>
 		<</if>>
diff --git a/src/Mods/SecExp/js/Unit.js b/src/Mods/SecExp/js/Unit.js
index a31b8c57023..5fdd51bd63d 100644
--- a/src/Mods/SecExp/js/Unit.js
+++ b/src/Mods/SecExp/js/Unit.js
@@ -13,10 +13,10 @@ App.SecExp.unit = (function() {
 		isDeployed,
 		humanSquads
 	};
-	
+
 	function base(string, operation = 'print', value = 0) {
 		let target, x = string.toLowerCase();
-		
+
 		if (x === "slaves") {
 			target = V.menials;
 		} else if (x === "militia") {
@@ -396,10 +396,10 @@ App.SecExp.unit = (function() {
 			App.SecExp.unit.humanSquads().map(u => u.ID).reduce((acc, cur) => Math.max(acc, cur), 0)
 		) + 1;
 	}
-	
+
 	function replenish(squad, type) {
 		let expLoss;
-		
+
 		if (base(type) >= squad.maxTroops - squad.troops) {
 			if (type === "slaves") {
 				V.menials -= (squad.maxTroops - squad.troops);
diff --git a/src/Mods/SecExp/js/secExp.js b/src/Mods/SecExp/js/secExp.js
index c363e0f632f..6379bd2f9bc 100644
--- a/src/Mods/SecExp/js/secExp.js
+++ b/src/Mods/SecExp/js/secExp.js
@@ -160,7 +160,7 @@ App.SecExp.generator = (function() {
 					equip = sfActive ? either(3, 4) : either(2, 3, 4);
 				}
 			}
-			
+
 			if (V.SecExp.settings.difficulty > 1) {
 				troops *= V.SecExp.settings.difficulty;
 			}
@@ -835,7 +835,7 @@ App.SecExp.Check = (function() {
 			if (V.SecExp.buildings.secHub.upgrades.security.cryptoAnalyzer === 1) {
 				Req += 10;
 			}
-			
+
 			if (V.SecExp.buildings.secHub.upgrades.crime.advForensic === 1) {
 				Req += 10;
 			}
diff --git a/src/Mods/SecExp/js/secExpBC.js b/src/Mods/SecExp/js/secExpBC.js
index 618acf65d83..7518b44fdb3 100644
--- a/src/Mods/SecExp/js/secExpBC.js
+++ b/src/Mods/SecExp/js/secExpBC.js
@@ -28,7 +28,7 @@ App.SecExp.generalBC = function() {
 		V.SecExp.edicts.SFSupportLevel = V.SecExp.edicts.SFSupportLevel || V.SFSupportLevel || 0;
 		V.SecExp.edicts.limitImmigration = V.SecExp.edicts.limitImmigration || V.limitImmigration || 0;
 		V.SecExp.edicts.openBorders = V.SecExp.edicts.openBorders || V.openBorders || 0;
-		V.SecExp.edicts.weaponsLaw = V.weaponsLaw || between(V.SecExp.edicts.weaponsLaw, 0, 3, 'inclusive') ?  V.SecExp.edicts.weaponsLaw : 3;
+		V.SecExp.edicts.weaponsLaw = V.weaponsLaw || between(V.SecExp.edicts.weaponsLaw, 0, 3, 'inclusive') ? V.SecExp.edicts.weaponsLaw : 3;
 
 		V.SecExp.edicts.defense = V.SecExp.edicts.defense || {};
 		V.SecExp.edicts.defense.soldierWages = V.SecExp.edicts.defense.soldierWages || V.soldierWages || 1;
diff --git a/src/Mods/SecExp/js/securityReport.js b/src/Mods/SecExp/js/securityReport.js
index c290cf430c9..08a7b58bbcb 100644
--- a/src/Mods/SecExp/js/securityReport.js
+++ b/src/Mods/SecExp/js/securityReport.js
@@ -508,7 +508,7 @@ App.SecExp.securityReport = function() {
 			}
 		}
 	}
-	
+
 	if (V.SecExp.settings.battle.enabled > 0) {
 		App.SecExp.generator.attack();
 	}
diff --git a/src/Mods/SecExp/potentialToDo.txt b/src/Mods/SecExp/potentialToDo.txt
index b4ee828e6fd..5e2f32e9951 100644
--- a/src/Mods/SecExp/potentialToDo.txt
+++ b/src/Mods/SecExp/potentialToDo.txt
@@ -6,7 +6,7 @@ Hexall90's last merged commit: 52dde0b3
 
 - While at it something for barracks(general? commissar?) and riot center([Insert player title there]'s Will?? Big Sister? ) too would be nice
 - While at it decoupling of propaganda slave and recruiter when?
-- Would  it be possible to add option for assigning hacker to security HQ that would work similarly to giving office for recruiter in propaganda hub? Preferably with smiling man slave giving extra bonuses there
+- Would it be possible to add option for assigning hacker to security HQ that would work similarly to giving office for recruiter in propaganda hub? Preferably with smiling man slave giving extra bonuses there
 - Does having a large standing army give any bonus to authority/reputation growth?
 - Fix broken immigration stuff (https://gitgud.io/pregmodfan/fc-pregmod/-/issues/2073 && https://gitgud.io/pregmodfan/fc-pregmod/-/merge_requests/7375)
 - My personal asst keeps getting the credit, even though I choose to personally lead my forces. (Has been this way for a fewish days): Military01.swf
@@ -21,7 +21,7 @@ Hexall90's last merged commit: 52dde0b3
 - How to make threads - 355478
 - One thing I find to be weird/stupid is that facilities must be manned with menial slaves. I think that it instead should be an option, like with armies, to man them with free citizens instead who then do a better job but instead require a monthly wage.
 - Oni-girl soldiers.
-- Modify DOL battle scene to recognise SecExp units.
+- Modify DOL battle scene to recognize SecExp units.
 - Update encyclopedia entry to reflect above.
 - Add suicide units.
 - Add WarAnimal's units - Optimally Functioning Code, 254511 - 3rd Military Animal Platoon.
@@ -32,7 +32,7 @@ Hexall90's last merged commit: 52dde0b3
 - Suggestion - Specialized Schools, Fortifications and Militia Edicts -https://gitgud.io/pregmodfan/fc-pregmod/issues/763
 - Suggestion - Arcology Conquest - https://gitgud.io/pregmodfan/fc-pregmod/issues/760
 - Does forcing every citizen to be in military raise appeal of slaves that know how to fight?
-- And if I am a master tactician, maybe I could get an estimate how effective the various tacticts could be?
+- And if I am a master tactician, maybe I could get an estimate how effective the various tactics could be?
 - Ability to create more drone squads.
 - Increase base maximum units to 18, 20 with SF.
 - Suggestion - Gradual Battle Frequency - https://gitgud.io/pregmodfan/fc-pregmod/issues/1245#note_82504
diff --git a/src/Mods/SecExp/rebellionOptions.tw b/src/Mods/SecExp/rebellionOptions.tw
index 5414599c252..98f16da6667 100644
--- a/src/Mods/SecExp/rebellionOptions.tw
+++ b/src/Mods/SecExp/rebellionOptions.tw
@@ -8,7 +8,7 @@
 
 In the end it happened, the <<if _isSlaveRebellion>>slaves<<else>>citizens<</if>>
 of your arcology dared took up arms and rose up against their betters. Your penthouse is flooded with reports from all over the arcology of small skirmishes between the rioting slaves and the security forces.
-It appears <strong><<print num(Math.trunc($SecExp.war.attacker.troops))>></strong> rebels are in the streets right now, building barricades and 
+It appears <strong><<print num(Math.trunc($SecExp.war.attacker.troops))>></strong> rebels are in the streets right now, building barricades and
 <<if _isSlaveRebellion>>freeing their peers<<else>>destroying your property<</if>>.
 <<if $SecExp.war.attacker.equip <= 0>>
 	They are <strong>poorly armed</strong>.
diff --git a/src/cheats/mod_EditSlaveCheatDatatypeCleanupNew.tw b/src/cheats/mod_EditSlaveCheatDatatypeCleanupNew.tw
index 705d8e02156..3e789f8f10d 100644
--- a/src/cheats/mod_EditSlaveCheatDatatypeCleanupNew.tw
+++ b/src/cheats/mod_EditSlaveCheatDatatypeCleanupNew.tw
@@ -232,7 +232,7 @@
 <<set $tempSlave.porn.feed = Number($tempSlave.porn.feed) || 0>>
 <<set $tempSlave.porn.spending = Number($tempSlave.porn.spending) || 0>>
 <<for _genre range App.Porn.getAllGenres()>>
-    <<set $tempSlave.porn.fame[_genre.fameVar] = Number($tempSlave.porn.fame[_genre.fameVar]) || 0>>
+	<<set $tempSlave.porn.fame[_genre.fameVar] = Number($tempSlave.porn.fame[_genre.fameVar]) || 0>>
 <</for>>
 <br>
 You perform the dark rituals, pray to the dark gods, and sell your soul for the power to change and mold slaves to your will.
diff --git a/src/cheats/mod_editSlaveCheatNew.tw b/src/cheats/mod_editSlaveCheatNew.tw
index f71dd507fbb..aabc2080fa5 100644
--- a/src/cheats/mod_editSlaveCheatNew.tw
+++ b/src/cheats/mod_editSlaveCheatNew.tw
@@ -3072,7 +3072,7 @@
 					Age: <<textbox "$tempSlave.womb[_cep].age" $tempSlave.womb[_cep].age>>
 				</div>
 				<div class="indent">
-					Volume: <<=  $tempSlave.womb[_cep].volume>>
+					Volume: <<= $tempSlave.womb[_cep].volume>>
 				</div>
 				<div class="indent">
 					Gender: <<= $tempSlave.womb[_cep].genetics.gender>>
diff --git a/src/data/backwardsCompatibility/backwardsCompatibility.js b/src/data/backwardsCompatibility/backwardsCompatibility.js
index b8e42ecfc65..2b2376399ed 100644
--- a/src/data/backwardsCompatibility/backwardsCompatibility.js
+++ b/src/data/backwardsCompatibility/backwardsCompatibility.js
@@ -1311,7 +1311,7 @@ App.Update.globalVariables = function(node) {
 	}
 
 	// eventResults
-	V.eventResults.shoot = V.eventResults.shoot || V.PShoot  || 0;
+	V.eventResults.shoot = V.eventResults.shoot || V.PShoot || 0;
 	V.eventResults.snatch = V.eventResults.snatch || V.PSnatch || 0;
 	V.eventResults.raid = V.eventResults.raid || V.PRaid || 0;
 	V.eventResults.raidTarget = V.eventResults.raidTarget || V.PRaidTarget || 0;
diff --git a/src/data/backwardsCompatibility/datatypeCleanup.js b/src/data/backwardsCompatibility/datatypeCleanup.js
index 727b6941bbb..c4709a23e20 100644
--- a/src/data/backwardsCompatibility/datatypeCleanup.js
+++ b/src/data/backwardsCompatibility/datatypeCleanup.js
@@ -1528,7 +1528,7 @@ globalThis.ArcologyDatatypeCleanup = function() {
 	V.drugsCost = Math.trunc(10000 / V.localEcon);
 	V.rulesCost = Math.trunc(10000 / V.localEcon);
 	V.modCost = Math.trunc(5000 / V.localEcon);
-	V.surgeryCost = Math.trunc(30000 / (V.localEcon * ((V.PC.career === "medicine" || V.PC.career === "medical assistant" || V.PC.career === "nurse") ?  2 : 1)));
+	V.surgeryCost = Math.trunc(30000 / (V.localEcon * ((V.PC.career === "medicine" || V.PC.career === "medical assistant" || V.PC.career === "nurse") ? 2 : 1)));
 	V.facilityCost = +V.facilityCost || 100;
 
 	for (const school of App.Data.misc.schools.keys()) {
@@ -2118,7 +2118,7 @@ App.Entity.Utils.RARuleDatatypeCleanup = function() {
 		}
 		delete set.eyeColor;
 
-		// Look for and remove pieces of a rule that would apply an accessory that is not in data.  A common example is the old "chastity" accessories, which have now been moved to a different system
+		// Look for and remove pieces of a rule that would apply an accessory that is not in data. A common example is the old "chastity" accessories, which have now been moved to a different system
 		const vaginalAccessories = new Set([
 			"virginAccessory",
 			"aVirginAccessory",
diff --git a/src/descriptions/familySummaries.js b/src/descriptions/familySummaries.js
index 31a9e634423..4e34e480af2 100644
--- a/src/descriptions/familySummaries.js
+++ b/src/descriptions/familySummaries.js
@@ -7,7 +7,7 @@ App.Desc.family = (function() {
 		return slaveList.map(s => s.slaveName).reduce((res, ch, i, arr) => res + (i === arr.length - 1 ? ' and ' : ', ') + ch);
 	}
 
-	/** See if an ID refers to a valid, active slave.  This will return false for slaves that no longer exist or have not yet been created.
+	/** See if an ID refers to a valid, active slave. This will return false for slaves that no longer exist or have not yet been created.
 	 * @param {number} slaveID
 	 * @returns {boolean}
 	 */
diff --git a/src/endWeek/reports/clinicReport.js b/src/endWeek/reports/clinicReport.js
index 33c4d37289a..139a5bef87b 100644
--- a/src/endWeek/reports/clinicReport.js
+++ b/src/endWeek/reports/clinicReport.js
@@ -136,7 +136,7 @@ App.EndWeek.clinicReport = function() {
 									r.push(`It's not uncommon for ${him} to receive a load to the face; before long, <span class="fetish gain">${he} starts to enjoy the taste.</span>`);
 									S.Nurse.fetish = "cumslut";
 								} else if (S.Nurse.fetish === "cumslut") {
-									r.push(`${canSmell(S.Nurse) ? `The  smell of ${his2}` : `${His2}`} semen is irresistible to ${him} and sometimes ${he} can't help but`);
+									r.push(`${canSmell(S.Nurse) ? `The smell of ${his2}` : `${His2}`} semen is irresistible to ${him} and sometimes ${he} can't help but`);
 									if (slave.chastityPenis === 0 && slave.rules.release.facilityLeader === 1) {
 										r.push(`wrap ${his} lips around ${him2} and sample the stuff directly,`);
 										seX(S.Nurse, "oral", slave, "penetrative");
diff --git a/src/events/RETS/reInterslaveBegging.js b/src/events/RETS/reInterslaveBegging.js
index 93ca3472f90..aca1e73ca2f 100644
--- a/src/events/RETS/reInterslaveBegging.js
+++ b/src/events/RETS/reInterslaveBegging.js
@@ -455,7 +455,7 @@ App.Events.RETSInterslaveBegging = class RETSInterslaveBegging extends App.Event
 					} else {
 						t.push(`${He} gets right down on ${his} knees and uses ${his} hands to spread ${his} lips as wide as they'll go. "'ou can 'ace 'uck me," ${he} intones with difficulty.`);
 					}
-					t.push(Spoken(eventSlave, `"You can go first! ${canAchieveErection(subSlave) ? "Get your cock out" : "Grab a strap-on"},  let's trade holes!"`));
+					t.push(Spoken(eventSlave, `"You can go first! ${canAchieveErection(subSlave) ? "Get your cock out" : "Grab a strap-on"}, let's trade holes!"`));
 					break;
 				case "sadist":
 					t.push(`is a sexual sadist. ${eventSlave.slaveName} swallows nervously, visibly weighing whether ${he} wants to offer what ${he}'ll need to offer, and then takes the plunge. ${Spoken(eventSlave, `"You can hurt me,"`)} ${he} says in a small voice.`);
@@ -464,7 +464,7 @@ App.Events.RETSInterslaveBegging = class RETSInterslaveBegging extends App.Event
 					t.push(`is a slut for pain. "I'll hurt you," says ${eventSlave.slaveName} hesitantly. Seeing that this is well received, ${he} plunges on. ${Spoken(eventSlave, `"I'll rape you. Come on, I'm going to pound you so hard and twist your nipples until you don't know what hurts worst, your tits or your ${vaginal ? "cunt" : "butthole"}."`)}`);
 					break;
 				default:
-					t.push(`is pretty vanilla in bed. "Come on," says ${eventSlave.slaveName} reassuringly. ${Spoken(eventSlave, `"You'll come more than I do, I promise. First I'll ${subSlave.dick > 0 ?  "blow you" : "eat you out"}. Then we'll make love.`)}`);
+					t.push(`is pretty vanilla in bed. "Come on," says ${eventSlave.slaveName} reassuringly. ${Spoken(eventSlave, `"You'll come more than I do, I promise. First I'll ${subSlave.dick > 0 ? "blow you" : "eat you out"}. Then we'll make love.`)}`);
 					if (eventSlave.dick > 2) {
 						t.push(Spoken(eventSlave, `This dick will make you shudder."`));
 					} else {
@@ -681,7 +681,7 @@ App.Events.RETSInterslaveBegging = class RETSInterslaveBegging extends App.Event
 			App.Events.addParagraph(frag, t);
 			t = [];
 
-			t.push(`${eventSlave.slaveName} is familiar with your libido, but even so, ${he}'s impressed. ${He}'s also in dire need of relief, and at this point, ${he}'s so horny that the prospect of any sex is attractive, even if it isn't the kind of sex ${he} was originally planning. So ${he} hops up eagerly enough and opens  ${hasBothLegs(eventSlave) ? `${his} legs` : `${himself}`} for you, ${his} erect member`);
+			t.push(`${eventSlave.slaveName} is familiar with your libido, but even so, ${he}'s impressed. ${He}'s also in dire need of relief, and at this point, ${he}'s so horny that the prospect of any sex is attractive, even if it isn't the kind of sex ${he} was originally planning. So ${he} hops up eagerly enough and opens ${hasBothLegs(eventSlave) ? `${his} legs` : `${himself}`} for you, ${his} erect member`);
 			if (eventSlave.belly >= 10000) {
 				t.push(`uncomfortably trapped by ${his}`);
 				if (eventSlave.bellyPreg >= 8000) {
diff --git a/src/events/RETS/reSadisticDescription.js b/src/events/RETS/reSadisticDescription.js
index a668a8c1e46..babccd3f663 100644
--- a/src/events/RETS/reSadisticDescription.js
+++ b/src/events/RETS/reSadisticDescription.js
@@ -154,7 +154,7 @@ App.Events.RETSSadisticDescription = class RETSSadisticDescription extends App.E
 			t.push(`pussylips a gentle massage.`);
 		}
 		t.push(Spoken(eventSlave, `"${HeP} hasn't fucked you back there yet, has ${heP}? It's going to hurt, you little bitch. ${HeP}'s going to hold you down and shove ${hisP}"`));
-		t.push(Spoken(eventSlave, (V.PC.dick !== 0) ?  "huge cockhead" : "biggest strap-on"));
+		t.push(Spoken(eventSlave, (V.PC.dick !== 0) ? "huge cockhead" : "biggest strap-on"));
 		t.push(Spoken(eventSlave, `right up against this tight little hole."`));
 		t.push(`${He} gropes the quivering slave's virgin anus, careful not to penetrate it.`);
 		t.push(Spoken(eventSlave, `"You're going to do your best to relax like a good little ${girl2}. But it's going to be so big. It's going to burn. And then you're going to panic, and struggle, and ${heP}'s going to hold you down and rape your butt while you scream and cry."`));
diff --git a/src/events/eventUtils.js b/src/events/eventUtils.js
index 133b7ac5b0d..56e993b4f21 100644
--- a/src/events/eventUtils.js
+++ b/src/events/eventUtils.js
@@ -30,7 +30,7 @@ App.Events.drawEventArt = (function() {
 				extraClothes = new Array(slaves.length).fill(extraClothes);
 			}
 
-			// if the arrays are not the right length now, throw.  it's all or nothing.
+			// if the arrays are not the right length now, throw. it's all or nothing.
 			if (clothesMode.length !== slaves.length || extraClothes.length !== slaves.length) {
 				throw "Incorrect number of outfits specified for slaves in event art";
 			}
diff --git a/src/events/randomEvent.js b/src/events/randomEvent.js
index ad773c257a1..f748468c41d 100644
--- a/src/events/randomEvent.js
+++ b/src/events/randomEvent.js
@@ -74,7 +74,7 @@ App.Events.getNonindividualEvents = function() {
 
 /** choose a valid, castable event from the given event list
  * @param {Array<App.Events.BaseEvent>} eventList - list of events to filter
- * @param {App.Entity.SlaveState} [slave] - event slave (mandatory to cast in first actor slot).  omit for nonindividual events.
+ * @param {App.Entity.SlaveState} [slave] - event slave (mandatory to cast in first actor slot). omit for nonindividual events.
  * @returns {Array<App.Events.BaseEvent>}
  */
 App.Events.getValidEvents = function(eventList, slave) {
diff --git a/src/events/scheduled/assholeKnight.tw b/src/events/scheduled/assholeKnight.tw
index 05d9a0cfa48..6a18b4be53a 100644
--- a/src/events/scheduled/assholeKnight.tw
+++ b/src/events/scheduled/assholeKnight.tw
@@ -14,7 +14,7 @@ This singular Knight has apparently been using their position to extort and bull
 <br>&nbsp;&nbsp;&nbsp;&nbsp;<<link "Remove his title and confiscate his weapons">>
 	<<replace "#result">>
 	You have the insolent Knight's plate armor confiscated, his apartment seized and his right to bear a coat of arms redacted. The knight is nothing short of utterly furious, but puts up no fight as your guards seize his advanced weaponry; to do so would be suicidal. While he swears revenge against you for taking away his "noble rights", you receive a letter from a relieved merchant @@.green;thanking you@@ for putting the jumped-up bandit down.
-    <<run repX(2500, "event")>>
+	<<run repX(2500, "event")>>
 	<</replace>>
 <</link>>
 <br>&nbsp;&nbsp;&nbsp;&nbsp;<<link "Have him publicly flogged, then enslaved">>
@@ -48,9 +48,9 @@ This singular Knight has apparently been using their position to extort and bull
 <</link>>
 <br>&nbsp;&nbsp;&nbsp;&nbsp;<<link "Turn a blind eye">>
 	<<replace "#result">>
-    You opt to ignore the abuses of the cruel knight completely. Every few weeks, you receive another @@.red;pleading@@ message in your inbox about the Knight, until they simply stop coming as the lower class accepts the random abuse of their betters. A few days later, as you socialize with your upper-class, the Knight in question passes you a @@.green;full envelope@@ and winks with no further explanation.
-    <<run cashX(500, "bribe")>>
-    <<run repX(-2000, "event")>>
+	You opt to ignore the abuses of the cruel knight completely. Every few weeks, you receive another @@.red;pleading@@ message in your inbox about the Knight, until they simply stop coming as the lower class accepts the random abuse of their betters. A few days later, as you socialize with your upper-class, the Knight in question passes you a @@.green;full envelope@@ and winks with no further explanation.
+	<<run cashX(500, "bribe")>>
+	<<run repX(-2000, "event")>>
 	<</replace>>
 <</link>>
 </span>
\ No newline at end of file
diff --git a/src/events/scheduled/newBaron.tw b/src/events/scheduled/newBaron.tw
index 41c0bd9b0e7..e25c509134a 100644
--- a/src/events/scheduled/newBaron.tw
+++ b/src/events/scheduled/newBaron.tw
@@ -15,19 +15,19 @@ The hunger for such security among your upper class leaves you in an interesting
 	<<replace "#result">>
 	You select one of your loyal executives, an ultra-wealthy trader within the arcology who made a fortune in the sale of human bodies, for the new Barony. The man, a portly and unintimidating man that hides a razor-sharp mind behind his fat and an expensive suit, smiles full of teeth as you announce your decision to a waiting crowd of elites. After you go through the formalities and hand him the golden band that'll represent his symbol of office, he shakes your hand vigorously, still smiling devilishly. The next day, the newly-appointed Baron sends you a platter of expensive gifts and foreign candies, complimented with a @@.green;massive direct deposit to your bank account.@@ You can't help but feel that such a crafty fox might use his new power to @@.red;corner the market@@ in his barony, though.
 	<<run cashX(5000, "Baron gift")>>
-    <<run $arcologies[0].prosperity -= 1>>
+	<<run $arcologies[0].prosperity -= 1>>
 	<</replace>>
 <</link>>
 <br>&nbsp;&nbsp;&nbsp;&nbsp;<<link "Appoint a competent bureaucrat">>
 	<<replace "#result">>
 	You select an unimportant but accomplished bureaucrat within the lower ranks of your administration, one of the cornerstone accountants that keeps the trains running on time. The rail-thin woman is clearly surprised that you'd choose her over a wealthier, more influential elite, but nevertheless accepts the golden band with overflowing joy. Although she may not turn any eyebrows, you can tell without a fact that she'll @@.green;keep your arcology efficient and prosperous@@ - after all, if it collapses, then her 'guaranteed' barony vanishes too.
-    <<run $arcologies[0].prosperity += 3>>
+	<<run $arcologies[0].prosperity += 3>>
 	<</replace>>
 <</link>>
 <br>&nbsp;&nbsp;&nbsp;&nbsp;<<link "Appoint a veteran Knight">>
 	<<replace "#result">>
-    You select one of your Imperial Knights, a heavily scarred and muscular man who bears his rose-and-hawk coat of arms like a purple heart on his broad chest. The grizzled soldier is somewhat taken aback at your decision, but regains his composure almost immediately and accepts the golden band of a Baron with a scarred-over smirk. The ex-Knight takes to his new duty with surprising gusto, and quickly proves himself an @@.green;extraordinarily popular figure@@ among the commoners, who see the scarred and athletic figure both as proof that duty is rewarded in your arcology and as an example of what a proper Imperial noble should be - martial, confident, and nearly unbeatable in a duel.
-    <<run repX(+2500, "event")>>
+	You select one of your Imperial Knights, a heavily scarred and muscular man who bears his rose-and-hawk coat of arms like a purple heart on his broad chest. The grizzled soldier is somewhat taken aback at your decision, but regains his composure almost immediately and accepts the golden band of a Baron with a scarred-over smirk. The ex-Knight takes to his new duty with surprising gusto, and quickly proves himself an @@.green;extraordinarily popular figure@@ among the commoners, who see the scarred and athletic figure both as proof that duty is rewarded in your arcology and as an example of what a proper Imperial noble should be - martial, confident, and nearly unbeatable in a duel.
+	<<run repX(+2500, "event")>>
 	<<run $arcologies[0].prosperity += 1>>
 	<</replace>>
 <</link>>
diff --git a/src/events/scheduled/poorKnight.tw b/src/events/scheduled/poorKnight.tw
index 172c39d53be..1adf7137610 100644
--- a/src/events/scheduled/poorKnight.tw
+++ b/src/events/scheduled/poorKnight.tw
@@ -14,8 +14,8 @@ This 'Valentin', a quiet man built like a mountain, has very rapidly become a lo
 	<<replace "#result">>
 	You make your stance on the issue known with a large public ceremony, awarding Valentin with his own private apartment, coat of arms, and a set of Imperial Plate in the very marketplace where he bested a group of brutish foreign thugs and an overly-cocky Knight. A swarm of peasantry surround every inch of the ceremony, @@.green;cheering your name@@ and 'Sir' Valentin's as you demonstrate that skill and courage is more important than social station. The furious foreign merchant sends you a message a few days later swearing to @@.red;never return to your arcology,@@ and the Barons grumble about the wildly dancing and celebrating peasants @@.red;undermining your authority.@@
 	<<run cashX(-5000, "knighting")>>
-    <<run $arcologies[0].prosperity -= 2>>
-    <<run repX(5000, "event")>>
+	<<run $arcologies[0].prosperity -= 2>>
+	<<run repX(5000, "event")>>
 	<</replace>>
 <</link>>
 costing <<print cashFormat(5000)>>.
@@ -25,16 +25,16 @@ costing <<print cashFormat(5000)>>.
 	<<replace "#result">>
 	You quietly award the brave peasant a set of Imperial Plate and his own apartment in a private ceremony attended only by a handful of your Barons and Knights. Many of the watching oligarchs seem thoroughly unenthusiastic about the enormous, grease-stained man joining their hallowed ranks, but politely clap and congratulate him nevertheless. Even the pompous Knight who he beat a few days ago, still sporting a black eye, claps him on the back after you have him rise as 'Sir' Valentin and congratulates him on a fight "befitting of a real man". Word of your decision soon reaches the peasantry, who @@.green;celebrate@@ the rewards given for honor, but you later receive a message from the foreign merchant infuriated that you would reward such insolence and claiming that he'll @@.red;hike his prices for you.@@
 	<<run cashX(-500, "knighting")>>
-    <<run $arcologies[0].prosperity -= 1>>
-    <<run repX(2000, "event")>>
+	<<run $arcologies[0].prosperity -= 1>>
+	<<run repX(2000, "event")>>
 	<</replace>>
 <</link>>
 costing <<print cashFormat(500)>>.
 <</if>>
 <br>&nbsp;&nbsp;&nbsp;&nbsp;<<link "Have him flogged for attacking your honored guests">>
 	<<replace "#result">>
-    You have the uppity peasant flogged for a few hours in the marketplace where he beat the merchant's guards. He accepts the punishment quietly and without any protest, submitting his muscled back to the bite of the lash as your Barons nod their head in agreement with your decision. The watching peasants are utterly @@.red;horrified@@ at your treatment of one of their heroes, but a day later you receive a message from the pleased merchant saying that he'll be sure to give you a @@.green;steep discount@@ the next time he visits your arcology for 'putting that uppity vermin in its place - beneath us.'
-    <<run repX(-2000, "event")>>
+	You have the uppity peasant flogged for a few hours in the marketplace where he beat the merchant's guards. He accepts the punishment quietly and without any protest, submitting his muscled back to the bite of the lash as your Barons nod their head in agreement with your decision. The watching peasants are utterly @@.red;horrified@@ at your treatment of one of their heroes, but a day later you receive a message from the pleased merchant saying that he'll be sure to give you a @@.green;steep discount@@ the next time he visits your arcology for 'putting that uppity vermin in its place - beneath us.'
+	<<run repX(-2000, "event")>>
 	<<run $arcologies[0].prosperity += 1>>
 	<</replace>>
 <</link>>
diff --git a/src/events/scheduled/sePCBirthday.desc.js b/src/events/scheduled/sePCBirthday.desc.js
index e691b544638..279e687d60b 100644
--- a/src/events/scheduled/sePCBirthday.desc.js
+++ b/src/events/scheduled/sePCBirthday.desc.js
@@ -109,7 +109,7 @@ App.Events.pcBirthday.Desc = (function(bday) {
 					entertainment that can be arranged. Sort of a social event, let's say. But. If maybe you wanted to take the day off and spend a little time in
 					bed... I've got entertainment lined up for that also." This time ${data.planner.pn.She} strokes ${data.planner.pn.his}
 					${data.planner.slave.vagina > -1 ? "pussy" : "cock"}.
-		
+
 					${data.planner.pn.She} explains that if you decline the social event, ${data.planner.pn.She} has a business partner of yours set up to attend in your
 					stead; a favor to be repaid one day. And if you prefer to see what it's all about, there will be plenty of stiff-dicked attendees there to sate
 					${data.planner.pn.her}, so there's no reason to feel obliged to stay put. "${properMaster()} will get ${getPronouns(V.PC).his} wish."
@@ -645,7 +645,7 @@ App.Events.pcBirthday.Desc = (function(bday) {
 				The rhythm grows stronger. Soon, with every thrust, ${pn.she} mouths a moan. ${pn.She} is no longer reserving the strength of ${pn.his} ass muscles;
 				${pn.she} is clamping down tight around you, displaying no intention of letting you slip out and leaving ${pn.her} unfilled.
 				${pn.His} hand clasps you tight and demands you keep close as it kneads your ass. The heft of ${pn.his} breath on your neck and the unsteady flick
-				of ${pn.his} tongue along the rim of your ear proves that ${pn.she} is so entranced by the plundering of ${pn.his} ravenous canal that 
+				of ${pn.his} tongue along the rim of your ear proves that ${pn.she} is so entranced by the plundering of ${pn.his} ravenous canal that
 				${pn.she} can barely coordinate ${pn.his} body outside of the central action.
 			</p>
 			<p>
diff --git a/src/facilities/bodyModification/bodyModification.js b/src/facilities/bodyModification/bodyModification.js
index b80a11c8ed2..afd86c2d5e3 100644
--- a/src/facilities/bodyModification/bodyModification.js
+++ b/src/facilities/bodyModification/bodyModification.js
@@ -1,5 +1,5 @@
 /**
- * UI for the Body Modification system/studio.  Refreshes without refreshing the passage.
+ * UI for the Body Modification system/studio. Refreshes without refreshing the passage.
  * @param {App.Entity.SlaveState} slave
  * @param {boolean} cheat if true, will hide scenes, prevent damage to slaves, and keep the player from being billed for mods.
  */
@@ -247,7 +247,7 @@ App.UI.bodyModification = function(slave, cheat = false) {
 		// Determine parts that cannot be pierced
 		let validPiercingLocations = Array.from(piercingLocations);
 
-		if (piercingLevel !== 0) { // Sometimes a piercing winds up in a place that is no longer valid.  Make sure players can always remove an existing piercing.
+		if (piercingLevel !== 0) { // Sometimes a piercing winds up in a place that is no longer valid. Make sure players can always remove an existing piercing.
 			if (slave.nipples === "fuckable") {
 				removePiercingLocation("nipples");
 			}
diff --git a/src/facilities/penthouse/penthousePassage.js b/src/facilities/penthouse/penthousePassage.js
index fae3656feae..ee06d0367d1 100644
--- a/src/facilities/penthouse/penthousePassage.js
+++ b/src/facilities/penthouse/penthousePassage.js
@@ -1,5 +1,5 @@
 /**
- * UI for managing Penthouse  Refreshes without refreshing the passage.
+ * UI for managing Penthouse Refreshes without refreshing the passage.
  */
 App.UI.managePenthouse = function() {
 	const container = document.createElement("span");
diff --git a/src/facilities/salon/salonPassage.js b/src/facilities/salon/salonPassage.js
index 46e92344525..9ebdc3ac4c4 100644
--- a/src/facilities/salon/salonPassage.js
+++ b/src/facilities/salon/salonPassage.js
@@ -1,5 +1,5 @@
 /**
- * UI for the Salon.  Refreshes without refreshing the passage.
+ * UI for the Salon. Refreshes without refreshing the passage.
  * @param {App.Entity.SlaveState} slave
  * @param {boolean} cheat if true, will hide scenes and keep the player from being billed for changes.
  */
diff --git a/src/facilities/toyShop/toyShop.js b/src/facilities/toyShop/toyShop.js
index f908a246c2e..dac5d3e1741 100644
--- a/src/facilities/toyShop/toyShop.js
+++ b/src/facilities/toyShop/toyShop.js
@@ -1,5 +1,5 @@
 /**
- * UI for the Body Modification system/studio.  Refreshes without refreshing the passage.
+ * UI for the Body Modification system/studio. Refreshes without refreshing the passage.
  */
 App.UI.toyShop = function() {
 	const container = document.createElement("span");
@@ -45,7 +45,7 @@ App.UI.toyShop = function() {
 	function intro() {
 		const el = new DocumentFragment();
 		App.UI.DOM.appendNewElement("h1", el, "Toy Shop");
-		App.UI.DOM.appendNewElement("div", el, `The room is filled with the smell of rubber, latex, and various synthetic materials and solvents.  A series of screens allows you to design toys of various shapes and sizes, and then produce them at scale.  A bin of defects sits in the corner, glistening a bit under a layer of lubrication.`, "scene-intro");
+		App.UI.DOM.appendNewElement("div", el, `The room is filled with the smell of rubber, latex, and various synthetic materials and solvents. A series of screens allows you to design toys of various shapes and sizes, and then produce them at scale. A bin of defects sits in the corner, glistening a bit under a layer of lubrication.`, "scene-intro");
 		return el;
 	}
 
diff --git a/src/futureSocieties/futureSociety.js b/src/futureSocieties/futureSociety.js
index 1be2fda9f85..70c0891dcfc 100644
--- a/src/futureSocieties/futureSociety.js
+++ b/src/futureSocieties/futureSociety.js
@@ -790,7 +790,7 @@ globalThis.FutureSocieties = (function() {
 				return arcSupportMap.get(FS)[1];
 			} else if (arc[FS] >= V.FSLockinLevel * 0.3) {
 				return arcSupportMap.get(FS)[2];
-			} else  {
+			} else {
 				return arcSupportMap.get(FS)[3];
 			}
 		}
diff --git a/src/gui/interactiveDetails.js b/src/gui/interactiveDetails.js
index 647e970ea5e..548e501761c 100644
--- a/src/gui/interactiveDetails.js
+++ b/src/gui/interactiveDetails.js
@@ -32,7 +32,7 @@ App.UI.DOM.InteractiveDetails = class {
 					// if it won't fit in the default position, but it *will* fit on the left, force it to move over to the left side of the link
 					this.span.style.right = "100%";
 				}
-				// if it won't fit on either side, give up and leave it where it is.  TODO: maybe do something smarter?
+				// if it won't fit on either side, give up and leave it where it is. TODO: maybe do something smarter?
 			}
 			this.span.style.visibility = "visible";
 		} else {
diff --git a/src/js/SlaveState.js b/src/js/SlaveState.js
index f3cc686a2ff..304aa52b4f2 100644
--- a/src/js/SlaveState.js
+++ b/src/js/SlaveState.js
@@ -2556,7 +2556,7 @@ App.Entity.SlaveState = class SlaveState {
 		 *
 		 * 0: no; 1: yes, comforting; 2: yes, terrifying */
 		this.tankBaby = 0;
-		/** Is the slave a clone?  If so, what is the original slave's name?
+		/** Is the slave a clone? If so, what is the original slave's name?
 		 * @type {FC.Zeroable<string>}
 		 * 0: no; 1: yes */
 		this.clone = 0;
diff --git a/src/js/birth/birth.js b/src/js/birth/birth.js
index ce395b3bede..5196259313a 100644
--- a/src/js/birth/birth.js
+++ b/src/js/birth/birth.js
@@ -348,7 +348,7 @@ globalThis.birth = function(slave, {birthStorm = false, cSection = false} = {})
 			}
 
 			if (numBeingBorn < 1) {
-				r.push(`to nothing, as it was a stillbirth.`); // TODO:  syntax wise this has problems. Will likely need to be reworked.
+				r.push(`to nothing, as it was a stillbirth.`); // TODO: syntax wise this has problems. Will likely need to be reworked.
 			} else if (numBeingBorn === 1) {
 				r.push(`to a single calf.`);
 			} else if (numBeingBorn >= 40) {
@@ -1568,7 +1568,7 @@ globalThis.birth = function(slave, {birthStorm = false, cSection = false} = {})
 				cashX(numBeingBorn * (babyCost), "babyTransfer");
 			} else if (V.DefaultBirthDestination === "individually decided fates") {
 				r.push(`Unless you provide otherwise, the ${children} will be remanded to one of ${V.arcologies[0].name}'s slave orphanages.`);
-				V.slaveOrphanageTotal += numBeingBorn; // Player may choose nothing.  Assume that now, and reverse it later if needed.
+				V.slaveOrphanageTotal += numBeingBorn; // Player may choose nothing. Assume that now, and reverse it later if needed.
 				if (!slaveDead) {
 					if (slave.fetish === "mindbroken" || slave.fuckdoll > 0) {
 						r.push(`${slave.slaveName} shows no indication of an opinion on the matter.`);
diff --git a/src/js/ibcJS.js b/src/js/ibcJS.js
index 30b7f38043a..a36f8359357 100644
--- a/src/js/ibcJS.js
+++ b/src/js/ibcJS.js
@@ -20,7 +20,7 @@ globalThis.ibc = (() => {
 	let find_gp = (id) => (slaveStateById(id) || V.genePool.find((s) => s.ID === id) || ((id in V.missingTable) ? V.missingTable[id] : null) || null);
 
 	/** The player's old master is a known parent, but we don't normally have a slavelike object
-	 *  for him.  We use this one instead, wherever necessary.
+	 *  for him. We use this one instead, wherever necessary.
 	 * @type {IBCRelative} */
 	const oldMaster = {
 		ID: -3,
diff --git a/src/js/itemAvailability.js b/src/js/itemAvailability.js
index b1ade7e7ac9..b74893f2b90 100644
--- a/src/js/itemAvailability.js
+++ b/src/js/itemAvailability.js
@@ -27,7 +27,7 @@ globalThis.isItemAccessible = (function() {
 	 * Returns array of wearable clothing in format [name, value], basically player facing / game data.
 	 * @param {Map} map Map to look in (such as App.Data.clothes)
 	 * @param {string} [filter] for example, if we want to filter clothing data by the "harsh" property, pass harsh as the parameter here.
-	 * @param {any} [filterValue] remove any clothing where the .filter property does not match this value.  Function will evaluate undefined as false.
+	 * @param {any} [filterValue] remove any clothing where the .filter property does not match this value. Function will evaluate undefined as false.
 	 * @returns {Array}
 	 */
 	function array(map, filter, filterValue) {
diff --git a/src/js/relationshipChecks.js b/src/js/relationshipChecks.js
index 11d94558981..393f628b790 100644
--- a/src/js/relationshipChecks.js
+++ b/src/js/relationshipChecks.js
@@ -68,7 +68,7 @@ globalThis.PCrelationshipTerm = function(id) {
  * even though it's not going to have any mechanical impact on the scene.
  * @param {FC.HumanState} context
  * @param {FC.HumanState} actor
- * @param {boolean|string} [asLink=false] - when true, instead of using the slave's first name, use their full name with a (SC Markup) link to the slave description dialog.  when "DOM", generate a DOM link and return a DocumentFragment.
+ * @param {boolean|string} [asLink=false] - when true, instead of using the slave's first name, use their full name with a (SC Markup) link to the slave description dialog. when "DOM", generate a DOM link and return a DocumentFragment.
  * @param {boolean} [insertComma=false] - when true, if a relationship is found, it will be separated from the actor's name by a comma ("her father, Dave" instead of "her father Dave")
  * @returns {string|DocumentFragment}
  */
diff --git a/src/js/releaseRules.js b/src/js/releaseRules.js
index 44d1224ee3e..5f4e1ee4f16 100644
--- a/src/js/releaseRules.js
+++ b/src/js/releaseRules.js
@@ -151,7 +151,7 @@ App.Utils.releaseSummaryLong = function releaseSummaryLong(slave) {
 		return "partner only";
 	} else if (rel.masturbation === 0 && rel.partner === 0 && rel.facilityLeader === 1 && !includeFamily && rel.slaves === 0 && rel.master === 0) {
 		return "facility leaders only";
-	} else if (rel.masturbation === 0 && rel.partner === 0 && rel.facilityLeader === 0 &&  includeFamily && rel.slaves === 0 && rel.master === 0) {
+	} else if (rel.masturbation === 0 && rel.partner === 0 && rel.facilityLeader === 0 && includeFamily && rel.slaves === 0 && rel.master === 0) {
 		return "family only";
 	} else if (rel.masturbation === 0 && rel.partner === 0 && rel.facilityLeader === 0 && !includeFamily && rel.slaves === 1 && rel.master === 0) {
 		return "slaves only";
diff --git a/src/js/rulesAssistant.js b/src/js/rulesAssistant.js
index 715c033e8eb..8fec2409220 100644
--- a/src/js/rulesAssistant.js
+++ b/src/js/rulesAssistant.js
@@ -94,7 +94,7 @@ globalThis.RAFacilityRemove = function(slave, rule) {
 	let r = "";
 	if (!rule.facilityRemove) { return r; }
 	if (slave.assignment === rule.setAssignment) {
-		const  facilityName = App.Utils.jobForAssignment(rule.setAssignment).facility.name;
+		const facilityName = App.Utils.jobForAssignment(rule.setAssignment).facility.name;
 		r += `<br>${slave.slaveName} has been removed from ${facilityName} and has been assigned to ${rule.removalAssignment}.`;
 		assignJob(slave, rule.removalAssignment);
 	}
diff --git a/src/js/rulesAssistantOptions.js b/src/js/rulesAssistantOptions.js
index b3ed4fc569d..e29a96b2d19 100644
--- a/src/js/rulesAssistantOptions.js
+++ b/src/js/rulesAssistantOptions.js
@@ -1971,7 +1971,7 @@ App.RA.options = (function() {
 			const pairs = [["No mask", "none"]].concat(isItemAccessible.array(App.Data.slaveWear.faceAccessory ));
 			super("Mask", pairs);
 			this.setValue(current_rule.set.faceAccessory );
-			this.onchange = (value) => current_rule.set.faceAccessory  = value;
+			this.onchange = (value) => current_rule.set.faceAccessory = value;
 		}
 	}
 
diff --git a/src/js/slaveCostJS.js b/src/js/slaveCostJS.js
index a91aff771d1..0c16a342c3b 100644
--- a/src/js/slaveCostJS.js
+++ b/src/js/slaveCostJS.js
@@ -504,7 +504,7 @@ globalThis.BeautyArray = (function() {
 		if (slave.race === "white") {
 			if (slave.origRace === "white") {
 				adjustBeauty("White girls be like", 4);
-			} else  {
+			} else {
 				adjustBeauty("Fake white girls be like", 2);
 			}
 		}
diff --git a/src/js/utilsSlave.js b/src/js/utilsSlave.js
index 205a7fd8801..2de656292f6 100644
--- a/src/js/utilsSlave.js
+++ b/src/js/utilsSlave.js
@@ -1346,7 +1346,7 @@ globalThis.pronounReplacer = function(slavetext) {
 };
 
 /**
- * Describes a slaves pre-slavery career in a gender sensitive way.  If career is "a dominatrix" but the slave is male and the pronoun system is on, returns "a dominator"
+ * Describes a slaves pre-slavery career in a gender sensitive way. If career is "a dominatrix" but the slave is male and the pronoun system is on, returns "a dominator"
  * @param {App.Entity.SlaveState} slave
  * @returns {FC.Zeroable<string>}
  */
diff --git a/src/js/utilsSlaves.js b/src/js/utilsSlaves.js
index 56de9d67046..ef20527d6ef 100644
--- a/src/js/utilsSlaves.js
+++ b/src/js/utilsSlaves.js
@@ -131,7 +131,7 @@ globalThis.slaveSortMinor = function(slaves) {
  * @returns {App.Entity.SlaveState[]} sorted from best to worst
  */
 globalThis.getBestSlaves = function({part, count = 3, largest = true, filter = (() => true)}) {
-	const partCB = _.isFunction(part) ? part :  (slave) => slave[part];
+	const partCB = _.isFunction(part) ? part : (slave) => slave[part];
 
 	const sortMethod = largest ? (left, right) => right.value - left.value : (left, right) => left.value - right.value;
 	return V.slaves.filter(slave => filter(slave))
diff --git a/src/markets/theMarket/market.js b/src/markets/theMarket/market.js
index 71f3d30fb1e..6594970fe34 100644
--- a/src/markets/theMarket/market.js
+++ b/src/markets/theMarket/market.js
@@ -12,7 +12,7 @@ App.UI.market = function(menialWorkersOnly = null) {
 	span.append(menialSpan);
 
 	if (!menialWorkersOnly) {
-		const menialTransactionResult  = document.createElement("div");
+		const menialTransactionResult = document.createElement("div");
 		menialTransactionResult.id = "menial-transaction-result";
 		span.append(menialTransactionResult);
 	}
diff --git a/src/markets/theMarket/tradeMenials.js b/src/markets/theMarket/tradeMenials.js
index a3aee91a10f..e483254910e 100644
--- a/src/markets/theMarket/tradeMenials.js
+++ b/src/markets/theMarket/tradeMenials.js
@@ -4,7 +4,7 @@ App.UI.tradeMenials = function(menialWorkersOnly) {
 	const popCap = menialPopCap();
 	let bulkMax;
 	let linkArray;
-	
+
 	if (!menialWorkersOnly) {
 		App.UI.DOM.appendNewElement("h2", el, "Menial Slaves");
 
diff --git a/src/npc/descriptions/belly/belly.js b/src/npc/descriptions/belly/belly.js
index 82ea70643a3..1ced8651b4c 100644
--- a/src/npc/descriptions/belly/belly.js
+++ b/src/npc/descriptions/belly/belly.js
@@ -12071,17 +12071,17 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) {
 			case "a kimono":
 				if (slave.belly >= 1000000) {
 					if (isBellyFluidLargest) {
-						r.push(`${slave.slaveName}'s unfathomable, hyper-swollen, ${slave.inflationType}-filled belly is so enormous that the largest obi in the world could never wrap around it. As a result, ${he} leaves ${his} kimono open; not that ${he} could realistically fold it.  It pools around ${him} when ${he} rests atop ${his} belly's incredible mass, causing ${him} to resemble a geisha in repose due to ${his} immobility.`);
+						r.push(`${slave.slaveName}'s unfathomable, hyper-swollen, ${slave.inflationType}-filled belly is so enormous that the largest obi in the world could never wrap around it. As a result, ${he} leaves ${his} kimono open; not that ${he} could realistically fold it. It pools around ${him} when ${he} rests atop ${his} belly's incredible mass, causing ${him} to resemble a geisha in repose due to ${his} immobility.`);
 					} else if (slave.bellyImplant > 0) {
-						r.push(`${slave.slaveName}'s unfathomable, hyper-swollen, implant-filled belly is so enormous that the largest obi in the world could never wrap around it. As a result, ${he} leaves ${his} kimono open; not that ${he} could realistically fold it.  It pools around ${him} when ${he} rests atop ${his} belly's incredible mass, causing ${him} to resemble a geisha in repose due to ${his} immobility.`);
+						r.push(`${slave.slaveName}'s unfathomable, hyper-swollen, implant-filled belly is so enormous that the largest obi in the world could never wrap around it. As a result, ${he} leaves ${his} kimono open; not that ${he} could realistically fold it. It pools around ${him} when ${he} rests atop ${his} belly's incredible mass, causing ${him} to resemble a geisha in repose due to ${his} immobility.`);
 					} else {
-						r.push(`${slave.slaveName}'s unfathomable, hyper-swollen pregnancy is so enormous that the largest obi in the world could never wrap around it. As a result, ${he} leaves ${his} kimono open; not that ${he} could realistically fold it.  It pools around ${him} when ${he} rests atop ${his} belly's incredible, brood swollen mass, causing ${him} to resemble nothing more than a geisha in repose, rocking on an ocean of undulating flesh.`);
+						r.push(`${slave.slaveName}'s unfathomable, hyper-swollen pregnancy is so enormous that the largest obi in the world could never wrap around it. As a result, ${he} leaves ${his} kimono open; not that ${he} could realistically fold it. It pools around ${him} when ${he} rests atop ${his} belly's incredible, brood swollen mass, causing ${him} to resemble nothing more than a geisha in repose, rocking on an ocean of undulating flesh.`);
 					}
 				} else if (slave.belly >= 750000) {
 					if (isBellyFluidLargest) {
-						r.push(`${slave.slaveName}'s monolithic, ${slave.inflationType}-filled belly is so enormous that there is no way for ${his} obi to ever wrap around it to tie ${his} kimono. As a result, ${he} leaves ${his} kimono open; not that ${he} could realistically fold it.  It pools around ${him} when ${he} rests against ${his} belly's incredible mass.`);
+						r.push(`${slave.slaveName}'s monolithic, ${slave.inflationType}-filled belly is so enormous that there is no way for ${his} obi to ever wrap around it to tie ${his} kimono. As a result, ${he} leaves ${his} kimono open; not that ${he} could realistically fold it. It pools around ${him} when ${he} rests against ${his} belly's incredible mass.`);
 					} else if (slave.bellyImplant > 0) {
-						r.push(`${slave.slaveName}'s monolithic, implant-filled belly is so enormous that there is no way for ${his} obi to ever wrap around it to tie ${his} kimono. As a result, ${he} leaves ${his} kimono open; not that ${he} could realistically fold it.  It pools around ${him} when ${he} rests against ${his} belly's incredible mass.`);
+						r.push(`${slave.slaveName}'s monolithic, implant-filled belly is so enormous that there is no way for ${his} obi to ever wrap around it to tie ${his} kimono. As a result, ${he} leaves ${his} kimono open; not that ${he} could realistically fold it. It pools around ${him} when ${he} rests against ${his} belly's incredible mass.`);
 					} else {
 						r.push(`${slave.slaveName}'s monolithic pregnant belly is so enormous that there is no way for ${his} obi to ever wrap around it to tie ${his} kimono. As a result, ${he} leaves ${his} kimono open; not that ${he} could realistically fold it. It pools around ${him} when ${he} rests against ${his} belly's incredible mass.`);
 					}
@@ -12751,7 +12751,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) {
 					r.push(`${slave.slaveName}'s tight bodysuit tightly clings to ${his} big fat belly, clearly displaying every fold and roll.`);
 				} else if (slave.belly >= 5000 || (slave.bellyAccessory === "a medium empathy belly")) {
 					if (slave.bellyAccessory === "a medium empathy belly") {
-						r.push(`${slave.slaveName}'s tight bodysuit shows off the curvature of ${his} pregnant belly.  The material tightly clings to ${his} popped navel.`);
+						r.push(`${slave.slaveName}'s tight bodysuit shows off the curvature of ${his} pregnant belly. The material tightly clings to ${his} popped navel.`);
 					} else if (isBellyFluidLargest) {
 						r.push(`${slave.slaveName}'s bodysuit tightly clings to ${his} jiggling ${slave.inflationType}-filled belly, displaying ${his} bloating and every motion ${his} contents make.`);
 					} else if (slave.bellyImplant > 0) {
diff --git a/src/npc/interaction/fLickPussy.tw b/src/npc/interaction/fLickPussy.tw
index 457385893e5..d9de79b39c7 100644
--- a/src/npc/interaction/fLickPussy.tw
+++ b/src/npc/interaction/fLickPussy.tw
@@ -21,7 +21,7 @@
 	You have <<= getSlave($AS).slaveName>> brought into your office and placed on your couch.
 <</if>>
 
-After $he is situated, you go over to $him<<if getSlave($AS).clothes != "no clothing">> and take off $his clothing, causing $him to <<if _devotion > 50>>give you a soft smile<<else>>give you an angry glare<</if>><</if>>. You suddenly grab $his hips and pull $his crotch to your face, causing $him to <<if canTalk(getSlave($AS))>>give a shriek of surprise<<else>>shudder in surprise<</if>> 
+After $he is situated, you go over to $him<<if getSlave($AS).clothes != "no clothing">> and take off $his clothing, causing $him to <<if _devotion > 50>>give you a soft smile<<else>>give you an angry glare<</if>><</if>>. You suddenly grab $his hips and pull $his crotch to your face, causing $him to <<if canTalk(getSlave($AS))>>give a shriek of surprise<<else>>shudder in surprise<</if>>
 
 <<if getSlave($AS).belly >= 30000>>
 	<<if getSlave($AS).bellyPreg > 1000>>
diff --git a/src/npc/interaction/passage/fSlaveSlaveDickConsummate.tw b/src/npc/interaction/passage/fSlaveSlaveDickConsummate.tw
index 1ea290974da..319d6068e04 100644
--- a/src/npc/interaction/passage/fSlaveSlaveDickConsummate.tw
+++ b/src/npc/interaction/passage/fSlaveSlaveDickConsummate.tw
@@ -212,7 +212,7 @@ You call $slaverapistx.slaveName into the room.
 			<<if getSlave($AS).partners.includes($slaverapistx.ID)>>
 				They've already fucked in the past, and by $his reaction, unwillingly. A
 			<<else>>
-				$He doesn't much like what is to come, but a 
+				$He doesn't much like what is to come, but a
 			<</if>>
 			direct injection of vasodilators fixes that, forcing $him to readiness, much to $his chagrin.
 		<<elseif (getSlave($AS).origBodyOwnerID == $slaverapistx.ID)>>
diff --git a/src/npc/startingGirls/editFamily.js b/src/npc/startingGirls/editFamily.js
index 9c31f3697d9..26c3ac28010 100644
--- a/src/npc/startingGirls/editFamily.js
+++ b/src/npc/startingGirls/editFamily.js
@@ -460,7 +460,7 @@ App.Intro.editFamily = function(slave) {
 
 	/**
 	 *
-	 * @param {string} rel "mother", etc.  Property of slave object.
+	 * @param {string} rel "mother", etc. Property of slave object.
 	 * @returns {string|HTMLElement}
 	 */
 	function parentName(rel) {
diff --git a/src/npc/surgery/surgeryDegradation.js b/src/npc/surgery/surgeryDegradation.js
index db43f41c44c..c49682b9f04 100644
--- a/src/npc/surgery/surgeryDegradation.js
+++ b/src/npc/surgery/surgeryDegradation.js
@@ -4824,7 +4824,7 @@ slave.devotion -= 5;
 					if (slave.underArmHStyle !== "hairless" && slave.underArmHStyle !== "bald") {
 						_hairChanges++;
 						slave.underArmHStyle = "bald";
-						_hair = `The first thing ${he} notices is that  ${his} armpit hair has just fallen out, in a small pile ${_hairLand}.`;
+						_hair = `The first thing ${he} notices is that ${his} armpit hair has just fallen out, in a small pile ${_hairLand}.`;
 						if (slave.pubicHStyle !== "hairless" && slave.pubicHStyle !== "bald") {
 							_hairChanges++;
 							slave.pubicHStyle = "bald";
@@ -4915,7 +4915,7 @@ slave.devotion -= 5;
 					if (slave.voice < 2) {
 						_voiceLevel = "feminine";
 					}
-					_voiceReaction = `It comes out far higher than it was before, ${he} feels this new voice does not belong to  ${him}.`;
+					_voiceReaction = `It comes out far higher than it was before, ${he} feels this new voice does not belong to ${him}.`;
 					if (slave.devotion > 20) {
 						_voiceReaction = `${He} laughs at ${his} new voice happily as ${he} gets used to it."`;
 					} else if (slave.devotion >= -20) {
diff --git a/src/player/desc/playerBoobs.js b/src/player/desc/playerBoobs.js
index fa5cb2fdb34..5b047d39a9f 100644
--- a/src/player/desc/playerBoobs.js
+++ b/src/player/desc/playerBoobs.js
@@ -309,7 +309,7 @@ App.Desc.Player.boobs = function() {
 				}
 				frag += ` and covered in dense freckles.`;
 			} else {
-				frag += `.`; // all this frag bs is to make sure there is no space before the period.  Sigh.
+				frag += `.`; // all this frag bs is to make sure there is no space before the period. Sigh.
 			}
 			r.push(frag);
 		} else {
diff --git a/src/uncategorized/REroyalblood.tw b/src/uncategorized/REroyalblood.tw
index 44de8165152..af26449d9a6 100644
--- a/src/uncategorized/REroyalblood.tw
+++ b/src/uncategorized/REroyalblood.tw
@@ -429,7 +429,7 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 		<br><br>
 		<<set $arcologies[0].prosperity -= 10>>
 		<<for _i = 0; _i < 3; _i++>>
-			<<set _slave = GenerateNewSlave("XX", {minAge: 21, maxAge: $retirementAge-2,  disableDisability: 1, nationality: _princess.nationality})>>
+			<<set _slave = GenerateNewSlave("XX", {minAge: 21, maxAge: $retirementAge-2, disableDisability: 1, nationality: _princess.nationality})>>
 			<<set _origin = "$He was a member of the court in an ancient kingdom, till it was overthrown and $he was acquired by "+$SF.Lower+".">>
 			<<set _slave.origin = _origin>>
 			<<set _slave.career = "a lady courtier">>
diff --git a/src/uncategorized/genericPlotEvents.tw b/src/uncategorized/genericPlotEvents.tw
index 93ba02beb65..5c80a150041 100644
--- a/src/uncategorized/genericPlotEvents.tw
+++ b/src/uncategorized/genericPlotEvents.tw
@@ -478,7 +478,7 @@
 		<<set _missLeader.boobShape = "saggy">>
 		<<set _missLeader.nipples = "huge">>
 		<<set _newSlaves.push(_missLeader)>>
-		
+
 		/* preggo */
 		<<set _pram = {disableDisability: 1, ageOverridesPedoMode: 1, race: "white"}>>
 		<<if $pedo_mode === 1>>
@@ -563,7 +563,7 @@
 		<<set _slave.boobShape = "saggy">>
 		<<set _slave.nipples = either("cute", "puffy")>>
 		<<set _newSlaves.push(_slave)>>
-		
+
 		/* young preggo*/
 		<<set _pram = {disableDisability: 1, ageOverridesPedoMode: 1, race: "white"}>>
 		<<if $minimumSlaveAge < $fertilityAge>>
diff --git a/src/uncategorized/reFSAcquisition.tw b/src/uncategorized/reFSAcquisition.tw
index 3df482b6920..622f2b83f4b 100644
--- a/src/uncategorized/reFSAcquisition.tw
+++ b/src/uncategorized/reFSAcquisition.tw
@@ -967,7 +967,7 @@
 <<case "Edo Revivalist">>
 	<<set _ContractCost = 1000>>
 	<<set _pram = {maxAge: 24, disableDisability: 1}>>
-	<<set _slave = GenerateNewSlave(null,  {maxAge: 24, disableDisability: 1, race: "nonslave"})>>
+	<<set _slave = GenerateNewSlave(null, {maxAge: 24, disableDisability: 1, race: "nonslave"})>>
 	<<set _slave.origin = "$He offered $himself to you for enslavement because $he had a disgustingly naïve view of medieval Japanese culture.">>
 	<<set _slave.devotion = random(-15,-5)>>
 	<<set _slave.trust = random(5,15)>>
diff --git a/src/uncategorized/reRecruit.tw b/src/uncategorized/reRecruit.tw
index 0b379a65255..9157cc96205 100644
--- a/src/uncategorized/reRecruit.tw
+++ b/src/uncategorized/reRecruit.tw
@@ -866,7 +866,7 @@
 	<<set _slave.trueVirgin = 1>>
 <<case "racer winner">>
 	<<set _slave = GenerateNewSlave("XX", {
-		minAge: Math.min(21, Math.max(11, $minimumSlaveAge) + 3), 
+		minAge: Math.min(21, Math.max(11, $minimumSlaveAge) + 3),
 		maxAge: 24, disableDisability: 1
 	})>>
 	<<set _slave.origin = "$He was a famous virgin runner in the slave races before being sold to you.">>
@@ -1083,7 +1083,7 @@
 	<<set _slave.sexualQuirk = "tease">>
 <<case "orphan rebellious female">>
 	<<set _slave = GenerateNewSlave("XX", {
-		minAge: 18, maxAge: 18, 
+		minAge: 18, maxAge: 18,
 		ageOverridesPedoMode: 1, disableDisability: 1
 	})>>
 	<<run generateSalonModifications(_slave)>>
@@ -1117,7 +1117,7 @@
 	<<set _slave.sexualFlaw = either("apathetic", "crude", "hates anal", "hates oral", "judgemental")>>
 <<case "orphan femboy">>
 	<<set _slave = GenerateNewSlave("XY", {
-		minAge: 18, maxAge: 18, 
+		minAge: 18, maxAge: 18,
 		ageOverridesPedoMode: 1, disableDisability: 1
 	})>>
 	<<run generateSalonModifications(_slave)>>
@@ -1155,7 +1155,7 @@
 	<<set _slave.sexualQuirk = either("caring", "gagfuck queen", "strugglefuck queen", "tease", "unflinching")>>
 <<case "captured teen">>
 	<<set _slave = GenerateNewSlave("XX", {
-		minAge: 13, maxAge: 18, 
+		minAge: 13, maxAge: 18,
 		race: "white", disableDisability: 1
 	})>>
 	<<run generateSalonModifications(_slave)>>
@@ -1197,7 +1197,7 @@
 	<<set _slave.prestigeDesc = "$He is the notoriously spoiled $daughter of a wealthy old world businessman.">>
 <<case "desperate university milf">>
 	<<set _slave = GenerateNewSlave("XX", {
-		minAge: 30, maxAge: 43, 
+		minAge: 30, maxAge: 43,
 		ageOverridesPedoMode: 1, disableDisability: 1
 	})>>
 	<<set _slave.origin = "$He sold $himself into slavery to pay for $his children's education.">>
@@ -1216,7 +1216,7 @@
 	<<set _slave.counter.birthsTotal = 2>>
 <<case "spoiled daughter">>
 	<<set _slave = GenerateNewSlave("XX", {
-		minAge: 12, maxAge: 18, 
+		minAge: 12, maxAge: 18,
 		disableDisability: 1
 	})>>
 	<<run generateSalonModifications(_slave)>>
@@ -1273,7 +1273,7 @@
 	<<set _slave.fetish = "humiliation">>
 <<case "repo milf housekeeper">>
 	<<set _slave = GenerateNewSlave(null, {
-		minAge: 35, maxAge: 43, 
+		minAge: 35, maxAge: 43,
 		ageOverridesPedoMode: 1, disableDisability: 1
 	})>>
 	<<set _slave.origin = "$He was the housekeeper and fucktoy of a frat house before being replaced in favor of fresher slaves and sold to you.">>
@@ -1361,7 +1361,7 @@
 	<</if>>
 <<case "desperate birth">>
 	<<set _pram = {
-		minAge: $fertilityAge, maxAge: 22, 
+		minAge: $fertilityAge, maxAge: 22,
 		ageOverridesPedoMode: 1, disableDisability: 1, race: "nonslave"
 	}>>
 	<<set _slave = GenerateNewSlave("XX", _pram)>>
@@ -1393,7 +1393,7 @@
 	<<set _slave.pubertyXX = 1>>
 <<case "overwhelmed farmgirl">>
 	<<set _slave = GenerateNewSlave("XX", {
-		minAge: 16, maxAge: 24, 
+		minAge: 16, maxAge: 24,
 		ageOverridesPedoMode: 1, disableDisability: 1
 	})>>
 	<<set _slave.origin = "$He sold $himself into slavery to feed $himself and $his growing brood.">>
@@ -1434,7 +1434,7 @@
 	<</if>>
 <<case "held POW">>
 	<<set _slave = GenerateNewSlave("XX", {
-		minAge: Math.max($fertilityAge, 8), maxAge: 22, 
+		minAge: Math.max($fertilityAge, 8), maxAge: 22,
 		ageOverridesPedoMode: 1, disableDisability: 1
 	})>>
 	<<run configureLimbs(_slave, "all", 2)>>
@@ -1526,7 +1526,7 @@
 <<case "blessed virgin">>
 	<<set _slave = GenerateNewSlave("XX", {
 		minAge: $fertilityAge,
-		maxAge: ($pedo_mode === 1 ? 18 : 22), 
+		maxAge: ($pedo_mode === 1 ? 18 : 22),
 		ageOverridesPedoMode: 1, disableDisability: 1
 	})>>
 	<<set _slave.origin = "$He was the virgin figurehead of a new religion and 'blessed' by their Lord.">>
@@ -1568,7 +1568,7 @@
 <<case "blessed vessel">>
 	<<set _slave = GenerateNewSlave("XX", {
 		minAge: $fertilityAge,
-		maxAge: ($pedo_mode === 1 ? 18 : 22), 
+		maxAge: ($pedo_mode === 1 ? 18 : 22),
 		ageOverridesPedoMode: 1, disableDisability: 1
 	})>>
 	<<set _slave.origin = "$He was the holy vessel of a new religion and 'blessed' by their Lord to bring forth His servants.">>
@@ -1596,8 +1596,8 @@
 	<<set _slave.fetish = "mindbroken">>
 <<case "princely betrayal">>
 	<<set _slave = GenerateNewSlave("XY", {
-		minAge: ($pedo_mode === 1 ? 16 : 20), 
-		maxAge: ($pedo_mode === 1 ? 20 : 35), 
+		minAge: ($pedo_mode === 1 ? 16 : 20),
+		maxAge: ($pedo_mode === 1 ? 20 : 35),
 		ageOverridesPedoMode: 1, disableDisability: 1
 	})>>
 	<<set _slave.face = random(80,100)>>
diff --git a/src/uncategorized/recETS.tw b/src/uncategorized/recETS.tw
index 69300f527ed..7a2dbd4b767 100644
--- a/src/uncategorized/recETS.tw
+++ b/src/uncategorized/recETS.tw
@@ -374,7 +374,7 @@
 			/* _slaveCost not needed, no option to sell */
 		<<case "mismatched pair">>
 			<<set _ContractCost = 1500>>
-			<<set _slave = GenerateNewSlave("XY", {minAge:  $minimumSlaveAge, maxAge: 21, disableDisability: 1, race: "nonslave"})>>
+			<<set _slave = GenerateNewSlave("XY", {minAge: $minimumSlaveAge, maxAge: 21, disableDisability: 1, race: "nonslave"})>>
 			<<set _slave.origin = "$He was sold into slavery by $his older sister.">>
 			<<set _slave.career = "a prostitute">>
 			<<set _slave.devotion = random(-15,15)>>
diff --git a/themes/light/arcologyBuilding.css b/themes/light/arcologyBuilding.css
index 30fc61297c1..abf4d9a897f 100644
--- a/themes/light/arcologyBuilding.css
+++ b/themes/light/arcologyBuilding.css
@@ -1,22 +1,22 @@
 div.building.basement {
-    border-top-color: #8F8F8F;
-    background-image: repeating-linear-gradient(135deg, transparent, transparent 20px, #8F8F8F 20px, #8F8F8F 30px);
+	border-top-color: #8F8F8F;
+	background-image: repeating-linear-gradient(135deg, transparent, transparent 20px, #8F8F8F 20px, #8F8F8F 30px);
 }
 
 div.building div.innerCell {
-    background-color: var(--background-color);
+	background-color: var(--background-color);
 }
 
 div.building div.decorative {
-    outline-color: black;
+	outline-color: black;
 }
 
 /* introduction special formatting */
 /* makes all links unusable */
 .intro div.building a {
-    color: var(--text-color);
+	color: var(--text-color);
 }
 
 div.building div.row div.dairy {
-    border-color: saddlebrown;
+	border-color: saddlebrown;
 }
diff --git a/themes/light/options.css b/themes/light/options.css
index 419ff6ed927..7d213df171c 100644
--- a/themes/light/options.css
+++ b/themes/light/options.css
@@ -1,3 +1,3 @@
 div.options-group .comment {
-    color: #575757;
+	color: #575757;
 }
diff --git a/themes/light/quicklinks.css b/themes/light/quicklinks.css
index 791eb85b54d..5f43b8e1383 100644
--- a/themes/light/quicklinks.css
+++ b/themes/light/quicklinks.css
@@ -1,18 +1,18 @@
 div.quick-links div.toggle {
-    background-color: var(--button-color);
+	background-color: var(--button-color);
 }
 
 div.quick-links div.toggle:hover {
-    background-color: var(--button-hover-color);
+	background-color: var(--button-hover-color);
 }
 
 div.quick-links div.menu-link {
-    background-color: var(--button-disabled-color);
-    border-color: var(--button-border-color);
-    box-shadow: var(--button-border-color);
+	background-color: var(--button-disabled-color);
+	border-color: var(--button-border-color);
+	box-shadow: var(--button-border-color);
 }
 
 div.quick-links div.notification:not(.category)::after,
 div.quick-links div.category.notification.collapsed > div.toggle::after {
-    content: "\e80b";
+	content: "\e80b";
 }
-- 
GitLab