diff --git a/fc-pregmod.proj b/fc-pregmod.proj
index 31ecdd3bb6cd06294d6f05c5b5cdc53330e88dca..c3c76a32e54435b07cdc433ddd213c9a5a35ff8d 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 a1c43ac213130d53f86511329ca29a311a5f5cde..5c6feba74723c7c63ddbd5f9acfcf6080e3b443b 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 e9187393bf8fb258505d7c40989f96f067467903..810c785926a720811fed1d78a8716c4c218e5419 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 a31b8c57023a2397112e4a111b1a24e91c4d31af..5fdd51bd63dab95af68be838b068c02cf2292e81 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 c363e0f632f46d7ffadd7fce5f4ba50646be4035..6379bd2f9bcb662fba1cc80f2aa57d18a9b5a4c6 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 618acf65d8395bdd8912c2d678a33711f1def854..7518b44fdb3fd8d0b879ed3b1c5a672d6081560c 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 c290cf430c996c7d636a789423ca71e114ea5414..08a7b58bbcbb14ea0d9045629eb8f630f6121944 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 b4ee828e6fd795eef4680585fe1a326d041269b6..5e2f32e9951cd2d2bf547878af1e2f2e6d23370b 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 5414599c252142c611cc0cf77aecf75ad3cf14bf..98f16da666774eea322ff5f3d44b59379188e925 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 705d8e02156f920e1583893209365c5fcd45be89..3e789f8f10d8d3527f112926f143a6ba5a745fc8 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 f71dd507fbbea5c06267f128a041fa76f4ad812a..aabc2080fa5648415e315e153aea19e9a6f9a274 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 b8e42ecfc65d4ae5f120bba50c34373df6c20bf3..2b2376399eda084261093881a7758e7c7a28656c 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 727b6941bbb3bbb935f4bab923a84e454ab290ae..c4709a23e2046b561d8fa8a46a6441130ee85d09 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 31a9e6344233150edca68b8976c969d51d035228..4e34e480af2ddae319a19e66c984f885f092d976 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 33c4d37289a6c1ce072e75e0ecc0367cdd7e21b5..139a5bef87b3fda6aaf7387e38bea89525b4c62e 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 93ca3472f9087225de4e9b38bddbccdad2978795..aca1e73ca2fba1067d5a04508b59348d7612e57e 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 a668a8c1e46c132f943d62e536b7a4b3ab49335b..babccd3f6632a0f873c5e343e0bde8aaaf9ffe11 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 133b7ac5b0d6d3cded60fcc19f86dfd912e9eca4..56e993b4f2148d2398fdf5a2823112238a19cd6e 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 ad773c257a121f7fbe9fdf23d47ba665310df65b..f748468c41d952b4f3fb5aeb2d9fa3b12f40553f 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 05d9a0cfa48c42442d941ed3ec7a99ddb71499da..6a18b4be53a4654456c5695af0ea743bb66fe41c 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 41c0bd9b0e7f126a07605c8d1383f1a616482d83..e25c509134aad53eda00b37146da31c914427a5f 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 172c39d53bed1bdc2fe1dbcec81dc43197e855a0..1adf7137610de6c28a97e43bb5c901913e1b94f1 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 e691b544638abbb9a7ae33ccd942dfe5dc9d2928..279e687d60bcf54a0e30c0971727601df73a93ec 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 b80a11c8ed20efa396a558bd3f1a8cbad67b0742..afd86c2d5e3c1867924fb3c4e10139bf05c2d2c5 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 fae3656feaea96596353fd42f0f37d4732b4c181..ee06d0367d1e6ab6d4dd346cf449b945de11f41a 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 46e923445254a13a432a61463fcf5b9b51163e71..9ebdc3ac4c4bfe296f8d8f69180d544fc6adfe7e 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 f908a246c2ef377418a344cafcf010674b50680b..dac5d3e1741de4e929b7e209be964891fa3e92e6 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 1be2fda9f85905b3378e5fd5d729556d3e6275fd..70c0891dcfc8e690a64470191d6cd55bff68639e 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 647e970ea5ed9a5eeb283252fa932b25e8bcd8ae..548e501761cd932478733926f30d1fcab011cbd8 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 f3cc686a2ff49fd567f689aaafdd38435160e29b..304aa52b4f2f74c5ad50694a61098eabea76aea0 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 ce395b3bede0c4085402ac53f5081588375b2f1a..5196259313ae2c37e146f24a10ec81339a58d60d 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 30b7f38043a249dc8d494dbfae2e332d24951806..a36f8359357c24073e6583020e729a8afed69023 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 b1ade7e7ac93c70c10b058752048c8599e2648e1..b74893f2b90b35e0884c3cbfe4e6b7fdeffad43f 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 11d9455898135d81b403d055e1e5ce522a77a58a..393f628b790d261743dd9ffe3e0b97298c80dd0c 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 44d1224ee3e1f9e9c8006e732b11e2b3f5fb47ce..5f4e1ee4f16df3711aa78e7f3a608870f3dd596c 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 715c033e8ebd1e3808a9d771c84c9470d2af0062..8fec2409220b6cf93681a33a4214943e9bbbb9d6 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 b3ed4fc569dfd5f2310193c436585474bffdecc0..e29a96b2d19acc1cc6dcc40d7b27070cb27bb2b5 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 a91aff771d1b0ce9e928d2a83d4f3ee950137732..0c16a342c3b305dd9bde8c22ab216bf9966f42ab 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 205a7fd88017049054f69d4469c39d02ad7a8829..2de656292f6b386cb4491029235361a4f61f5b32 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 56de9d67046c5b315738aeffce056f910fe6f582..ef20527d6ef93c937d213a414ffd91cedaba13f6 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 71f3d30fb1e634e6d8d52d21ff549b8a7142f108..6594970fe345ceac2791760ee2c0468e4380334c 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 a3aee91a10f30934c94031fee3748736d138769f..e483254910e617dff9cc2b5fe8102cdbf643602b 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 82ea70643a3d5851b58aed1f2569bf6b64960a97..1ced8651b4caf647c5495f4c8c5c3f4cd5a6d389 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 457385893e5e2e188e9b1029242c889c18f9888b..d9de79b39c7af799cff48be6d4db973b30b009d0 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 1ea290974da025f079da99231777ffab09a944af..319d6068e0431109e6aba911c03d8da27a0c743a 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 9c31f3697d997f6b2810d17cbf800cb34b271580..26c3ac280109d41050d9a881a16feb77ee156d8a 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 db43f41c44cdddea8c7cacce4710bf27526513c0..c49682b9f04df4e322ce8f982ec9f66be977cfdf 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 fa5cb2fdb349bdb52129f6afbeae115c273e106a..5b047d39a9fec064b97b674fd9af341e73aae213 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 44de816515249895361c1f6ebb4e790210f24f58..af26449d9a63db3fe09f5c5c834a17455567b094 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 93ba02beb652944fa097028bff79bad144a538f4..5c80a1500419df6d98fc14b439b5b5ea17f10083 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 3df482b69203f0fdd60590a2b43e31fddd67bbb5..622f2b83f4b832e0326d267a86e55b828c1f2b09 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 0b379a65255758c6a4690e9e0ca37d5ad6b08b31..9157cc9620552b177c58c297edf830d5179bdd41 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 69300f527edb62e123ca71f4a37945d485ba5c34..7a2dbd4b76776ce9a593547648bec5ee59b4ab04 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 30fc61297c1d7fbf2bba570d3e41a0cea075aa0f..abf4d9a897f88f5407df16ce3aeabb51adf83285 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 419ff6ed92790d70bcd8ce5fddc1a4419d519621..7d213df171c715ea7cc76064ee90db6d7f64a141 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 791eb85b54db43027dbcded354b1a5d165ec3ef0..5f43b8e13837cf8ac6bde454ea9d155faa163105 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";
 }