diff --git a/src/js/PenthouseNaming.js b/src/js/PenthouseNaming.js
index 9d84a0be2e16073a2fd0d33129007049d9396bf9..8fe4bac44d5299a539ded3cc6f420516bfb57bff 100644
--- a/src/js/PenthouseNaming.js
+++ b/src/js/PenthouseNaming.js
@@ -5,10 +5,11 @@
 window.MasterSuiteUIName = function () {
 	const V = State.variables;
 	let name = "";
-	if (V.masterSuiteNameCaps === "The Master Suite")
+	if (V.masterSuiteNameCaps === "The Master Suite") {
 		name = "Master Suite";
-	else
+	} else {
 		name = V.masterSuiteNameCaps;
+	}
 	return `<<link "${name}""Master Suite">><</link>> `;
 };
 /**
@@ -17,10 +18,11 @@ window.MasterSuiteUIName = function () {
 window.HeadGirlSuiteUIName = function () {
 	const V = State.variables;
 	let name = "";
-	if (V.HGSuiteNameCaps === "The Head Girl Suite")
+	if (V.HGSuiteNameCaps === "The Head Girl Suite") {
 		name = "Head Girl Suite";
-	else
+	} else {
 		name = V.HGSuiteNameCaps;
+	}
 	return `<<link "${name}""Head Girl Suite">><</link>> `;
 };
 /**
@@ -29,10 +31,11 @@ window.HeadGirlSuiteUIName = function () {
 window.ServantQuartersUIName = function () {
 	const V = State.variables;
 	let name = "";
-	if (V.servantsQuartersNameCaps === "The Servants' Quarters")
+	if (V.servantsQuartersNameCaps === "The Servants' Quarters") {
 		name = "Servants' Quarters";
-	else
+	} else {
 		name = V.servantsQuartersNameCaps;
+	}
 	return `<<link "${name}""Servants' Quarters">><</link>> `;
 };
 /**
@@ -41,10 +44,11 @@ window.ServantQuartersUIName = function () {
 window.SpaUIName = function() {
 	const V = State.variables;
 	let name = "";
-	if (V.spaNameCaps === "The Spa")
+	if (V.spaNameCaps === "The Spa") {
 		name = "Spa";
-	else
+	} else {
 		name = V.spaNameCaps;
+	}
 	return `<<link "${name}""Spa">><</link>> `;
 };
 /**
@@ -53,10 +57,11 @@ window.SpaUIName = function() {
 window.NurseryUIName = function () {
 	const V = State.variables;
 	let name = "";
-	if (V.nurseryNameCaps === "The Nursery")
+	if (V.nurseryNameCaps === "The Nursery") {
 		name = "Nursery";
-	else
+	} else {
 		name = V.nurseryNameCaps;
+	}
 	return `<<link "${name}""Nursery">><</link>> `;
 };
 /**
@@ -65,10 +70,11 @@ window.NurseryUIName = function () {
 window.ClinicUIName = function () {
 	const V = State.variables;
 	let name = "";
-	if (V.clinicNameCaps === "The Clinic")
+	if (V.clinicNameCaps === "The Clinic") {
 		name = "Clinic";
-	else
+	} else {
 		name = V.clinicNameCaps;
+	}
 	return `<<link "${name}""Clinic">><</link>> `;
 };
 /**
@@ -77,10 +83,11 @@ window.ClinicUIName = function () {
 window.SchoolRoomUIName = function () {
 	const V = State.variables;
 	let name = "";
-	if (V.schoolroomNameCaps === "The Schoolroom")
+	if (V.schoolroomNameCaps === "The Schoolroom") {
 		name = "Schoolroom";
-	else
+	} else {
 		name = V.schoolroomNameCaps;
+	}
 	return `<<link "${name}""Schoolroom">><</link>> `;
 };
 /**
@@ -89,10 +96,11 @@ window.SchoolRoomUIName = function () {
 window.CellblockUIName = function () {
 	const V = State.variables;
 	let name = "";
-	if (V.cellblockNameCaps === "The Cellblock")
+	if (V.cellblockNameCaps === "The Cellblock") {
 		name = "Cellblock";
-	else
+	} else {
 		name = V.cellblockNameCaps;
+	}
 	return `<<link "${name}""Cellblock">><</link>> `;
 };
 /**
@@ -101,9 +109,10 @@ window.CellblockUIName = function () {
 window.IncubatorUIName = function () {
 	const V = State.variables;
 	let name = "";
-	if (V.incubatorNameCaps === "The Incubator")
+	if (V.incubatorNameCaps === "The Incubator") {
 		name = "Incubator";
-	else
+	} else {
 		name = V.incubatorNameCaps;
+	}
 	return `<<link "${name}""Incubator">><</link>> `;
 };
diff --git a/src/js/generateNewSlaveJS.js b/src/js/generateNewSlaveJS.js
index bc583592e404d7d2fcc7a8f26ea7a9a77ed10c1a..3ad61b5724dadb1fd5b796689f5940d38c764a01 100644
--- a/src/js/generateNewSlaveJS.js
+++ b/src/js/generateNewSlaveJS.js
@@ -1,7 +1,7 @@
 /* eslint-disable no-undef */
 window.GenerateNewSlave = (function() {
-	'use strict';
-	let V, chance;
+	"use strict";
+	let V; let chance;
 	/** @type {App.Entity.SlaveState} */
 	let slave;
 
@@ -14,7 +14,7 @@ window.GenerateNewSlave = (function() {
 			if (jsRandom(0, 99) < V.seeDicks) {
 				GenerateXYSlave();
 			} else if (V.seeDicks > 0) {
-				var femaleSlaveGen = 80;
+				let femaleSlaveGen = 80;
 				if (V.arcologies[0].FSGenderFundamentalistSMR === 1 || V.arcologies[0].FSRepopulationFocusSMR === 1) {
 					femaleSlaveGen = 90;
 				} else if (V.arcologies[0].FSGenderRadicalist !== "unset") {
@@ -980,7 +980,7 @@ window.GenerateNewSlave = (function() {
 	}
 
 	function generateXXTeeth() {
-		var femaleCrookedTeethGen = slave.intelligence+slave.intelligenceImplant;
+		let femaleCrookedTeethGen = slave.intelligence+slave.intelligenceImplant;
 		if ("American" === slave.nationality) {
 			femaleCrookedTeethGen += 20;
 		} else if (["Andorran", "Antiguan", "Argentinian", "Aruban", "Australian", "Austrian", "Bahamian", "Bahraini", "Barbadian", "Belarusian", "Belgian", "Bermudian", "Brazilian", "British", "Bruneian", "Bulgarian", "Canadian", "Catalan", "Chilean", "a Cook Islander", "Croatian", "Curaçaoan", "Cypriot", "Czech", "Danish", "Dutch", "Emirati", "Estonian", "Finnish", "French", "German", "Greek", "Greenlandic", "Guamanian", "Hungarian", "Icelandic", "Irish", "Israeli", "Italian", "Japanese", "Kazakh", "Korean", "Kuwaiti", "Latvian", "a Liechtensteiner", "Lithuanian", "Luxembourgian", "Malaysian", "Maltese", "Mauritian", "Monégasque", "Montenegrin", "New Caledonian", "a New Zealander", "Niuean", "Norwegian", "Omani", "Palauan", "Panamanian", "Polish", "Portuguese", "Puerto Rican", "Qatari", "Romanian", "Russian", "Sammarinese", "Saudi", "Seychellois", "Singaporean", "Slovak", "Slovene", "Spanish", "Swedish", "Swiss", "Taiwanese", "Trinidadian", "Uruguayan", "Vatican"].includes(slave.nationality)) {
@@ -1001,7 +1001,7 @@ window.GenerateNewSlave = (function() {
 	}
 
 	function generateXYTeeth() {
-		var maleCrookedTeethGen = slave.intelligence+slave.intelligenceImplant;
+		let maleCrookedTeethGen = slave.intelligence+slave.intelligenceImplant;
 		if ("American" === slave.nationality) {
 			maleCrookedTeethGen += 22;
 		} else if (["Andorran", "Antiguan", "Argentinian", "Aruban", "Australian", "Austrian", "Bahamian", "Bahraini", "Barbadian", "Belarusian", "Belgian", "Bermudian", "Brazilian", "British", "Bruneian", "Bulgarian", "Canadian", "Catalan", "Chilean", "a Cook Islander", "Croatian", "Curaçaoan", "Cypriot", "Czech", "Danish", "Dutch", "Emirati", "Estonian", "Finnish", "French", "German", "Greek", "Greenlandic", "Guamanian", "Hungarian", "Icelandic", "Irish", "Israeli", "Italian", "Japanese", "Kazakh", "Korean", "Kuwaiti", "Latvian", "a Liechtensteiner", "Lithuanian", "Luxembourgian", "Malaysian", "Maltese", "Mauritian", "Monégasque", "Montenegrin", "New Caledonian", "a New Zealander", "Niuean", "Norwegian", "Omani", "Palauan", "Panamanian", "Polish", "Portuguese", "Puerto Rican", "Qatari", "Romanian", "Russian", "Sammarinese", "Saudi", "Seychellois", "Singaporean", "Slovak", "Slovene", "Spanish", "Swedish", "Swiss", "Taiwanese", "Trinidadian", "Uruguayan", "Vatican"].includes(slave.nationality)) {
@@ -1387,7 +1387,7 @@ window.GenerateNewSlave = (function() {
 			}
 		}
 
-		var BoobShapeGen = [];
+		const BoobShapeGen = [];
 		if (slave.boobs > 250 && slave.boobs < 800) {
 			BoobShapeGen.push("perky");
 			BoobShapeGen.push("downward-facing");
@@ -1436,7 +1436,7 @@ window.GenerateNewSlave = (function() {
 			slave.hears = -1;
 		}
 		if (V.seeExtreme === 1) {
-			let disList = [];
+			const disList = [];
 			disList.push("hearNot");
 			disList.push("seeNot");
 			disList.push("speakNot");
@@ -1445,7 +1445,7 @@ window.GenerateNewSlave = (function() {
 			let disableCount = 0;
 			if (V.oneTimeDisableDisability === 0) {
 				while (disList.length > 0) {
-					let rolled = jsEither(disList);
+					const rolled = jsEither(disList);
 					switch (rolled) {
 						case "hearNot":
 							if ((jsRandom(1, 100)-(disableCount*2)) > 90) {
diff --git a/src/js/slaveCostJS.js b/src/js/slaveCostJS.js
index 829f261ef3ba828e902d8b9f4e9aab5fef5c2803..3cf916222e14d4b0e09045be4d12512fb00d773c 100644
--- a/src/js/slaveCostJS.js
+++ b/src/js/slaveCostJS.js
@@ -1,12 +1,11 @@
-/* eslint-disable no-undef */
 window.Beauty = (function() {
 	"use strict";
-	let V, arcology, beauty;
+	const V = State.variables;
+	const arcology = V.arcologies[0];
+	let beauty;
 
 	/** @param {App.Entity.SlaveState} slave */
 	function Beauty(slave) {
-		V = State.variables;
-		arcology = V.arcologies[0];
 		V.modScore = SlaveStatsChecker.modScore(slave);
 
 		beauty = 120;
@@ -83,7 +82,6 @@ window.Beauty = (function() {
 		if (slave.vagina > 3) {
 			beauty -= 10 + (slave.vagina*2); /*-20*/
 		}
-
 	}
 
 	/** @param {App.Entity.SlaveState} slave */
@@ -669,7 +667,7 @@ window.Beauty = (function() {
 		if (arcology.FSPhysicalIdealist !== "unset") {
 			if (arcology.FSPhysicalIdealistLaw === 1) {
 				if (Math.abs(slave.weight) <= 30 && slave.health >= 20 && slave.muscles >= 20 && slave.muscles <= 50) {
-					beauty += (slave.muscles + (Math.min(slave.health,300)/5))*(arcology.FSPhysicalIdealist/100);
+					beauty += (slave.muscles + (Math.min(slave.health, 300)/5))*(arcology.FSPhysicalIdealist/100);
 				} else {
 					beauty -= 30;
 				}
@@ -1082,9 +1080,9 @@ window.Beauty = (function() {
 			}
 		}
 		if (arcology.FSChattelReligionist > 40 && arcology.FSBodyPurist === "unset") {
-			let tats = ["anusTat", "armsTat", "backTat", "boobsTat", "buttTat", "dickTat", "legsTat", "lipsTat", "shouldersTat", "stampTat", "vaginaTat"];
+			const tats = ["anusTat", "armsTat", "backTat", "boobsTat", "buttTat", "dickTat", "legsTat", "lipsTat", "shouldersTat", "stampTat", "vaginaTat"];
 			let sacrilegeCount = 0;
-			for (let index in tats) {
+			for (const index in tats) {
 				if (slave[index] === "sacrilege") {
 					sacrilegeCount++;
 				}
@@ -1316,48 +1314,57 @@ window.FResult = (function() {
 	"use strict";
 	// we can't initialize our global variables on load, because SugarCube.State isn't initialized
 	// instead, declare them and initialize on run time
-	let V, result, incest_bonus;
+	let V; let result; let incest_bonus;
 	/** @param {App.Entity.SlaveState} slave */
 	function FResult(slave) {
 		V = State.variables;
 		incest_bonus = V.arcologies[0].FSEgyptianRevivalist > 20 || V.arcologies[0].FSEgyptianRevivalistIncestPolicy === 1;
 
 		calcUseWeights(slave);
-		if (!slave.fuckdoll)
+		if (!slave.fuckdoll) {
 			calcNotFuckdoll(slave);
-		else
+		} else {
 			result += slave.fuckdoll/10;
+		}
 
 		result += Math.max(0, slave.aphrodisiacs) * 2;
 
-		if (slave.inflationType === "aphrodisiac")
+		if (slave.inflationType === "aphrodisiac") {
 			result += slave.inflation*4;
+		}
 
-		if (slave.lactation > 0)
+		if (slave.lactation > 0) {
 			result += 1;
+		}
 
-		if (slave.nipples === "fuckable")
+		if (slave.nipples === "fuckable") {
 			calcFuckableTits(slave);
+		}
 
-		if (V.seeAge === 1)
+		if (V.seeAge === 1) {
 			calcAge(slave);
-		if (slave.fetish === "mindbroken")
+		}
+		if (slave.fetish === "mindbroken") {
 			result = Math.trunc(result*0.4);
-		else
+		} else {
 			result = Math.trunc(result*0.7);
+		}
 
-		if (slave.pregWeek < 0)
-			result -= Math.trunc(result*slave.pregWeek/10); // reduced the most just after birth
+		if (slave.pregWeek < 0) {
+			result -= Math.trunc(result*slave.pregWeek/10);
+		} // reduced the most just after birth
 
 		calcAmputation(slave);
 
-		if (V.arcologies[0].FSHedonisticDecadence > 20)
+		if (V.arcologies[0].FSHedonisticDecadence > 20) {
 			calcHedonismWeight(slave);
+		}
 		if (result < 2) {
-			if (supremeRaceP(slave) && V.arcologies[0].FSSupremacist > 20)
+			if (supremeRaceP(slave) && V.arcologies[0].FSSupremacist > 20) {
 				result = 0;
-			else
+			} else {
 				result = 2;
+			}
 		}
 		return result;
 	}
@@ -1365,17 +1372,19 @@ window.FResult = (function() {
 	/** @param {App.Entity.SlaveState} slave */
 	function calcUseWeights(slave) {
 		result = (3 - slave.anus)+(slave.muscles/30);
-		if (slave.muscles < -95)
+		if (slave.muscles < -95) {
 			result -= 5;
-		else if (slave.muscles < -30)
+		} else if (slave.muscles < -30) {
 			result -= 2;
+		}
 
 		const uses = V.oralUseWeight + V.vaginalUseWeight + V.analUseWeight;
 		if (uses <= 0) return;
 
 		result += (6+slave.tonguePiercing) * (V.oralUseWeight/uses) * (slave.oralSkill/30);
-		if (slave.sexualFlaw === "cum addict")
+		if (slave.sexualFlaw === "cum addict") {
 			result += (V.oralUseWeight/uses) * (slave.oralSkill/30);
+		}
 		if (canDoVaginal(slave)) {
 			result += 6 * (V.vaginalUseWeight/uses) * (slave.vaginalSkill/30);
 			result += (3 - slave.vagina);
@@ -1383,18 +1392,21 @@ window.FResult = (function() {
 		}
 		if (canDoAnal(slave)) {
 			result += 6 * (V.analUseWeight/uses) * (slave.analSkill/30);
-			if (slave.sexualFlaw === "anal addict")
+			if (slave.sexualFlaw === "anal addict") {
 				result += (V.analUseWeight/uses) * (slave.analSkill/30);
-			if (slave.inflationType === "aphrodisiac")
+			}
+			if (slave.inflationType === "aphrodisiac") {
 				result += (V.analUseWeight/uses) * (slave.inflation * 3);
+			}
 		}
 	}
 
 	/** @param {App.Entity.SlaveState} slave */
 	function calcFuckableTits(slave) {
 		result += 2;
-		if (slave.fetish === "boobs")
+		if (slave.fetish === "boobs") {
 			result += Math.trunc(slave.fetishStrength/20);
+		}
 	}
 
 	/** @param {App.Entity.SlaveState} slave */
@@ -1436,16 +1448,18 @@ window.FResult = (function() {
 
 	/** @param {App.Entity.SlaveState} slave */
 	function calcHInjectionsDiet(slave) {
-		if (slave.drugs === "male hormone injections" || slave.drugs === "female hormone injections")
+		if (slave.drugs === "male hormone injections" || slave.drugs === "female hormone injections") {
 			result -= 10;
-		if (slave.diet === "XXY")
+		}
+		if (slave.diet === "XXY") {
 			result += 2;
-		else if (slave.diet === "XY" || slave.diet === "XX")
+		} else if (slave.diet === "XY" || slave.diet === "XX") {
 			result += 1;
-		else if (slave.diet === "cum production")
+		} else if (slave.diet === "cum production") {
 			result += 1;
-		else if (slave.diet === "fertility")
+		} else if (slave.diet === "fertility") {
 			result += 1;
+		}
 	}
 
 	/** @param {App.Entity.SlaveState} slave */
@@ -1454,15 +1468,17 @@ window.FResult = (function() {
 			if (slave.belly >= 1500) result += 2;
 			else result -= 2;
 		} else if (V.arcologies[0].FSRepopulationFocusPregPolicy === 1) {
-			if (slave.bellyPreg >= 1500)
+			if (slave.bellyPreg >= 1500) {
 				result += 1;
+			}
 		} else if (V.arcologies[0].FSRestart > 20) {
-			if (slave.bellyPreg >= 500 && slave.breedingMark === 1 && V.propOutcome === 1)
+			if (slave.bellyPreg >= 500 && slave.breedingMark === 1 && V.propOutcome === 1) {
 				result += 1;
-			else if (slave.bellyPreg >= 1500)
+			} else if (slave.bellyPreg >= 1500) {
 				result -= 10;
-			else
+			} else {
 				result += 0;
+			}
 		}
 		if (V.arcologies[0].FSRepopulationFocusMilfPolicy === 1 || V.arcologies[0].FSRepopulationFocus > 20) {
 			result += 1;
@@ -1471,18 +1487,21 @@ window.FResult = (function() {
 
 	/** @param {App.Entity.SlaveState} slave */
 	function calcRace(slave) {
-		if (V.arcologies[0].FSSupremacist !== "unset" && supremeRaceP(slave))
+		if (V.arcologies[0].FSSupremacist !== "unset" && supremeRaceP(slave)) {
 			result -= (V.arcologies[0].FSSupremacist/5) + (V.arcologies[0].FSSupremacistLawME*10);
-		if (V.arcologies[0].FSSubjugationist !== "unset" && inferiorRaceP(slave))
+		}
+		if (V.arcologies[0].FSSubjugationist !== "unset" && inferiorRaceP(slave)) {
 			result += (V.arcologies[0].FSSubjugationist/10) + (V.arcologies[0].FSSubjugationistLawME);
+		}
 	}
 
 	/** @param {App.Entity.SlaveState} slave */
 	function calcSexAttributes(slave) {
 		if (slave.clitPiercing > 2) result += 1;
 		if (slave.tail === "sex") result += 1;
-		if (slave.fetishKnown === 1 && slave.fetishStrength > 60 && slave.fetish !== "none")
+		if (slave.fetishKnown === 1 && slave.fetishStrength > 60 && slave.fetish !== "none") {
 			result += slave.fetishStrength/5;
+		}
 
 		if (slave.attrKnown === 1) {
 			result += Math.trunc(slave.attrXX/20);
@@ -1501,63 +1520,73 @@ window.FResult = (function() {
 
 	/** @param {App.Entity.SlaveState} slave */
 	function calcCareer(slave) {
-		if (setup.whoreCareers.includes(slave.career))
+		if (setup.whoreCareers.includes(slave.career)) {
 			result += 1;
-		else if (slave.oralCount + slave.analCount + slave.vaginalCount + slave.mammaryCount + slave.penetrativeCount > 1000)
+		} else if (slave.oralCount + slave.analCount + slave.vaginalCount + slave.mammaryCount + slave.penetrativeCount > 1000) {
 			result += 1;
+		}
 	}
 
 	/** @param {App.Entity.SlaveState} slave */
 	function calcSight(slave) {
 		if (!canSee(slave)) result -= 3;
 		else if (slave.eyes <= -1) {
-			if (slave.eyewear !== "corrective glasses" && slave.eyewear !== "corrective contacts")
+			if (slave.eyewear !== "corrective glasses" && slave.eyewear !== "corrective contacts") {
 				result -= 1;
-		} else if (slave.eyewear === "blurring glasses")
+			}
+		} else if (slave.eyewear === "blurring glasses") {
 			result -= 1;
-		else if (slave.eyewear === "blurring contacts")
+		} else if (slave.eyewear === "blurring contacts") {
 			result -= 1;
+		}
 	}
 
 	/** @param {App.Entity.SlaveState} slave */
 	function calcHearing(slave) {
 		if (!canHear(slave)) result -= 2;
 		else if (slave.hears <= -1) {
-			if (slave.earwear !== "hearing aids")
+			if (slave.earwear !== "hearing aids") {
 				result -= 1;
-		} else if (slave.earwear === "muffling ear plugs")
+			}
+		} else if (slave.earwear === "muffling ear plugs") {
 			result -= 1;
+		}
 	}
 
 	/** @param {App.Entity.SlaveState} slave */
 	function calcEgyptianBonus(slave) {
 		if (V.racialVarieties === undefined) V.racialVarieties = [];
-		if (!V.racialVarieties.includes(slave.race))
+		if (!V.racialVarieties.includes(slave.race)) {
 			V.racialVarieties.push(slave.race);
+		}
 	}
 
 	/** @param {App.Entity.SlaveState} slave */
 	function calcYouthBonus(slave) {
 		if (slave.visualAge < 30) {
-			if (slave.actualAge > 30)
-				result += 5; // experienced for her apparent age
-			if (slave.physicalAge > 30)
-				result -= slave.physicalAge/2; // too old :(
+			if (slave.actualAge > 30) {
+				result += 5;
+			} // experienced for her apparent age
+			if (slave.physicalAge > 30) {
+				result -= slave.physicalAge/2;
+			} // too old :(
 		}
 	}
 
 	/** @param {App.Entity.SlaveState} slave */
 	function calcMatureBonus(slave) {
-		if (slave.visualAge >= 30 && slave.actualAge >= 30 && slave.physicalAge < slave.visualAge)
-			result += Math.min((slave.physicalAge - slave.visualAge) * 2, 20); // looks and acts mature, but has a body that just won't quit
+		if (slave.visualAge >= 30 && slave.actualAge >= 30 && slave.physicalAge < slave.visualAge) {
+			result += Math.min((slave.physicalAge - slave.visualAge) * 2, 20);
+		} // looks and acts mature, but has a body that just won't quit
 	}
 
 	/** @param {App.Entity.SlaveState} slave */
 	function calcNotFuckdoll(slave) {
-		if (V.familyTesting === 1 && totalRelatives(slave) > 0)
+		if (V.familyTesting === 1 && totalRelatives(slave) > 0) {
 			calcWorksWithRelatives(slave);
-		else if(!V.familyTesting && slave.relation !==0)
+		} else if (!V.familyTesting && slave.relation !==0) {
 			calcWorksWithRelativesVanilla(slave);
+		}
 		if (slave.relationship > 0) calcWorksWithRelationship(slave);
 		if (slave.rivalry !== 0) calcWorksWithRival(slave);
 		calcHInjectionsDiet(slave);
@@ -1567,12 +1596,14 @@ window.FResult = (function() {
 		calcCareer(slave);
 		calcSight(slave);
 		calcHearing(slave);
-		if (V.arcologies[0].FSEgyptianRevivalist !== "unset")
+		if (V.arcologies[0].FSEgyptianRevivalist !== "unset") {
 			calcEgyptianBonus(slave);
-		if (V.arcologies[0].FSYouthPreferentialist !== "unset")
+		}
+		if (V.arcologies[0].FSYouthPreferentialist !== "unset") {
 			calcYouthBonus(slave);
-		else if (V.arcologies[0].FSMaturityPreferentialist !== "unset")
+		} else if (V.arcologies[0].FSMaturityPreferentialist !== "unset") {
 			calcMatureBonus(slave);
+		}
 	}
 
 	/** @param {App.Entity.SlaveState} slave */
@@ -1587,16 +1618,17 @@ window.FResult = (function() {
 			else if (slave.birthWeek < 4) result += 0.1*result;
 		} else if (slave.physicalAge === V.fertilityAge && canGetPregnant(slave) && (V.arcologies[0].FSRepopulationFocus !== "unset" || V.arcologies[0].FSGenderFundamentalist !== "unset")) {
 			result += 1;
-			if (slave.birthWeek === 0)
+			if (slave.birthWeek === 0) {
 				result += 0.5*result;
-			else if (slave.birthWeek < 4)
+			} else if (slave.birthWeek < 4) {
 				result += 0.1*result;
+			}
 		}
 	}
 
 	/** @param {App.Entity.SlaveState} slave */
 	function calcAmputation(slave) {
-		switch(slave.amp) {
+		switch (slave.amp) {
 			case 0:
 			case -2:
 			case -5:
@@ -1611,17 +1643,18 @@ window.FResult = (function() {
 
 	/** @param {App.Entity.SlaveState} slave */
 	function calcHedonismWeight(slave) {
-		if (slave.weight < 10)
+		if (slave.weight < 10) {
 			result -= 2;
-		else if (slave.weight > 190)
-			result -= 5; // too fat
+		} else if (slave.weight > 190) {
+			result -= 5;
+		} // too fat
 	}
 	return FResult;
 })();
 
 window.slaveCost = (function() {
 	"use strict";
-	let V, arcology, multiplier, cost;
+	let V; let arcology; let multiplier; let cost;
 
 	/** @param {App.Entity.SlaveState} slave */
 	function slaveCost(slave, isStartingSlave) {
@@ -1969,7 +2002,7 @@ window.slaveCost = (function() {
 
 	/** @param {App.Entity.SlaveState} slave */
 	function calcMiscCost(slave) {
-		let totalInt = Math.clamp(slave.intelligence + slave.intelligenceImplant,-130,130); /* make absolutely certain we do not use +-131 in the next line */
+		const totalInt = Math.clamp(slave.intelligence + slave.intelligenceImplant, -130, 130); /* make absolutely certain we do not use +-131 in the next line */
 		multiplier += Math.floor((Math.asin(totalInt/131))*50)/50;
 		if (slave.pubertyXY === 0 && slave.physicalAge >= V.potencyAge && slave.genes === "XY" && arcology.FSGenderRadicalist === "unset") {
 			multiplier += 0.5;
diff --git a/src/js/textInput.js b/src/js/textInput.js
index 2e4cbbe37898b4f4968f00742529ce14abb33929..a7371b2983e0f4841ab2b31245e1b8ffb04b6ac8 100644
--- a/src/js/textInput.js
+++ b/src/js/textInput.js
@@ -5,10 +5,10 @@ Macro.add("textinput", {
 
 	handler: function() {
 		if (this.args.length < 2) {
-			var errors = [];
+			const errors = [];
 			if (this.args.length < 1) { errors.push("variable name"); }
 			if (this.args.length < 2) { errors.push("default value"); }
-			return this.error("no " + errors.join(" or ") + " specified");
+			return this.error(`no ${errors.join(" or ")} specified`);
 		}
 
 		// Ensure that the variable name argument is a string.
@@ -16,16 +16,16 @@ Macro.add("textinput", {
 			return this.error("variable name argument is not a string");
 		}
 
-		var varName = this.args[0].trim();
+		const varName = this.args[0].trim();
 
 		// Try to ensure that we receive the variable's name (incl. sigil), not its value.
 		if (varName[0] !== "$" && varName[0] !== "_") {
-			return this.error("variable name '" + varName + "' is missing its sigil ($ or _)");
+			return this.error(`variable name '${varName}' is missing its sigil ($ or _)`);
 		}
 
-		var that = this;
-		var defaultValue = this.args[1];
-		var el = document.createElement("textarea");
+		const that = this;
+		const defaultValue = this.args[1];
+		const el = document.createElement("textarea");
 
 		// Setup and append the textarea element to the output buffer.
 		jQuery(el)
@@ -37,8 +37,9 @@ Macro.add("textinput", {
 			.addClass("macro-textarea") // "hijack" the .macro-textarea class
 			.on("input", function() {
 				Wikifier.setValue(varName, this.value);
-				if (that.payload[0].contents !== "")
+				if (that.payload[0].contents !== "") {
 					Wikifier.wikifyEval(that.payload[0].contents.trim());
+				}
 			})
 			.appendTo(this.output);
 
diff --git a/src/js/textbox2.js b/src/js/textbox2.js
index 6d605fa36c20c11d34ac8e3def99aebd91901170..a372a788e562f4eb1b58ea6b8d58bfa9a29d5fe4 100644
--- a/src/js/textbox2.js
+++ b/src/js/textbox2.js
@@ -1,22 +1,22 @@
 Macro.add("textbox2", {
 	handler: function() {
 		if (this.args.length < 2) {
-			var e = [];
-			return this.args.length < 1 && e.push("variable name"), this.args.length < 2 && e.push("default value"), this.error("no " + e.join(" or ") + " specified")
+			const e = [];
+			return this.args.length < 1 && e.push("variable name"), this.args.length < 2 && e.push("default value"), this.error(`no ${ e.join(" or ") } specified`);
 		}
-		if ("string" != typeof this.args[0]) return this.error("variable name argument is not a string");
-		var t = this.args[0].trim();
-		if ("$" !== t[0] && "_" !== t[0]) return this.error('variable name "' + this.args[0] + '" is missing its sigil ($ or _)');
+		if ("string" !== typeof this.args[0]) return this.error("variable name argument is not a string");
+		const t = this.args[0].trim();
+		if ("$" !== t[0] && "_" !== t[0]) return this.error(`variable name "${ this.args[0] }" is missing its sigil ($ or _)`);
 		Config.debug && this.debugView.modes({
 			block: true
 		});
-		var r = Util.slugify(t);
-		var a = this.args[1];
-		var isNumber = typeof(a) === "number";
-		var inputElement = document.createElement("input"),
-			autofocus = false,
-			passage = void 0;
-		var setargs = null;
+		const r = Util.slugify(t);
+		const a = this.args[1];
+		const isNumber = typeof(a) === "number";
+		const inputElement = document.createElement("input");
+		let autofocus = false;
+		let passage = void 0;
+		let setargs = null;
 		if (this.args.length > 3) {
 			passage = this.args[2];
 			autofocus = "autofocus" === this.args[3];
@@ -30,7 +30,7 @@ Macro.add("textbox2", {
 				passage = this.args[2];
 			}
 		}
-		if (passage !== (void 0) && _typeof(passage) === "object") {
+		if (passage !== (void 0) && typeof(passage) === "object") {
 			passage = passage.link;
 		}
 		if (!passage) {
@@ -39,34 +39,35 @@ Macro.add("textbox2", {
 
 		function gotoPassage() {
 			if (passage) {
-				var currentScrollPosition = window.pageYOffset;
-				var currentPassage = State.passage;
+				const currentScrollPosition = window.pageYOffset;
+				const currentPassage = State.passage;
 				if (setargs) {
 					Scripting.evalTwineScript(setargs);
 				}
 				Engine.play(passage);
-				if (currentPassage == passage) {
-					Scripting.evalJavaScript("window.scrollTo(0, " + currentScrollPosition + ");");
+				if (currentPassage === passage) {
+					Scripting.evalJavaScript(`window.scrollTo(0, ${ currentScrollPosition });`);
 				}
 			}
 		}
 
 		function valueToNumberIfSame(v) {
-			if (!isNumber)
-				return v; // Do nothing
+			if (!isNumber) {
+				return v;
+			} // Do nothing
 			try {
 				return parseInt(v, 10);
-			} catch(e) {
+			} catch (e) {
 				return v;
 			}
 		}
 
 		jQuery(inputElement).attr({
-			id: this.name + "-" + r,
-			name: this.name + "-" + r,
+			id: `${this.name }-${ r}`,
+			name: `${this.name }-${ r}`,
 			// type: isNumber ? "number" : "text", /* TODO - hide spinner if we do this */
 			tabindex: 0
-		}).addClass("macro-" + this.name)
+		}).addClass(`macro-${ this.name}`)
 			.on("change", function() {
 				State.setVar(t, valueToNumberIfSame(this.value));
 			}).on("blur", function() {
@@ -76,11 +77,11 @@ Macro.add("textbox2", {
 				}
 			})
 			.on("keypress", function(e) {
-				13 === e.which && (e.preventDefault(), State.setVar(t, valueToNumberIfSame(this.value)), gotoPassage())
-			}).appendTo(this.output), State.setVar(t, a), inputElement.value = a, autofocus && (inputElement.setAttribute("autofocus", "autofocus"), postdisplay["#autofocus:" + inputElement.id] = function(e) {
+				13 === e.which && (e.preventDefault(), State.setVar(t, valueToNumberIfSame(this.value)), gotoPassage());
+			}).appendTo(this.output), State.setVar(t, a), inputElement.value = a, autofocus && (inputElement.setAttribute("autofocus", "autofocus"), postdisplay[`#autofocus:${ inputElement.id}`] = function(e) {
 			delete postdisplay[e], setTimeout(function() {
-				return inputElement.focus()
-			}, Engine.minDomActionDelay)
-		})
+				return inputElement.focus();
+			}, Engine.minDomActionDelay);
+		});
 	}
-})
+});
diff --git a/src/js/textboxJS.js b/src/js/textboxJS.js
index d0798dbd0c6c486764a2a1a31904d9e40713e233..cb5213593f77e0f4021a7174b771459b7c0be3c0 100644
--- a/src/js/textboxJS.js
+++ b/src/js/textboxJS.js
@@ -1,27 +1,27 @@
 /* eslint-disable no-undef */
 /* Nicked off greyelf, works for replace textboxes */
 window.setReplaceTextboxMaxLength = function (storyVarName, maxLength) {
-	var textboxId = '#textbox-' + Util.slugify(storyVarName);
+	const textboxId = `#textbox-${ Util.slugify(storyVarName)}`;
 	$(textboxId)
-		.attr('maxlength', maxLength)
+		.attr("maxlength", maxLength)
 		.css({
-			'min-width' : 'initial',
-			width : maxLength + 'em',
-			padding : '3px 2px'
+			"min-width": "initial",
+			"width": `${maxLength }em`,
+			"padding": "3px 2px"
 		});
 };
 
 /* Nicked off TheMadExile, works for non-replace textboxes */
 window.setTextboxMaxLength = function (storyVarName, maxLength) {
-	var textboxId = '#textbox-' + Util.slugify(storyVarName);
-	postdisplay[textboxId + '-maxlength'] = function (taskName) {
+	const textboxId = `#textbox-${ Util.slugify(storyVarName)}`;
+	postdisplay[`${textboxId }-maxlength`] = function (taskName) {
 		delete postdisplay[taskName];
 		$(textboxId)
-			.attr('maxlength', maxLength)
+			.attr("maxlength", maxLength)
 			.css({
-				'min-width' : 'initial',
-				width : maxLength + 'em',
-				padding : '3px 2px'
+				"min-width": "initial",
+				"width": `${maxLength }em`,
+				"padding": "3px 2px"
 			});
 	};
 };
diff --git a/src/js/utilJS.js b/src/js/utilJS.js
index 5023d1952385d9337d8e258056c970fd538f0821..ab90e35637439342bf7db1a4342ea2be3e0a9125 100644
--- a/src/js/utilJS.js
+++ b/src/js/utilJS.js
@@ -54,7 +54,7 @@
  * There's also limitHeight which you're not using. It's basically limitMult in different units.
  */
 window.Height = (function() {
-	'use strict';
+	"use strict";
 
 	// Global configuration (for different game modes/options/types)
 	let minMult = -3.0;
@@ -90,62 +90,62 @@ window.Height = (function() {
 
 	/* if you can find an average for an undefined, add it in! */
 	const xxMeanHeight = {
-		'Afghan': 155.08, 'Albanian': 161.77, 'Algerian': 159.09, 'American.asian': 158.4, 'American.black': 163.6, 'American.latina': 158.9, 'American.white': 165, 'American': 163.54,
-		'Andorran': 162.90, 'Angolan': 157.31, 'Antiguan': 160.65, 'Argentinian': 159.18, 'Armenian': 158.09, 'Aruban': 158, 'Australian': 165.86, 'Austrian': 164.62, 'Azerbaijani': 158.25,
-		'Bahamian': 160.68, 'Bahraini': 156.69, 'Bangladeshi': 150.79, 'Barbadian': 165.28, 'Belarusian': 166.35, 'Belgian': 165.49, 'Belizean': 156.88, 'Beninese': 156.16, 'Bermudian': 160.69,
-		'Bhutanese': 153.63, 'Bissau-Guinean': 158.24, 'Bolivian': 153.89, 'Bosnian': 165.85, 'Brazilian': 160.86, 'British': 164.40, 'Bruneian': 153.98, 'Bulgarian': 164.80,
-		'Burkinabé': 160.19, 'Burmese': 154.37, 'Burundian': 154.02, 'Cambodian': 152.91, 'Cameroonian': 158.82, 'Canadian': 163.91, 'Cape Verdean': 161.65, 'Catalan': 163.4,
-		'Central African': 158.04, 'Chadian': 160.17, 'Chilean': 159.36, 'Chinese': 159.71, 'Colombian': 156.85, 'Comorian': 155.58, 'Congolese': 157.57, 'a Cook Islander': 163.19, 'Costa Rican': 156.37,
-		'Croatian': 165.63, 'Cuban': 157.98, 'Curaçaoan': 158, 'Cypriot': 162.27, 'Czech': 168.46, 'Danish': 167.21, 'Djiboutian': 156.11, 'Dominican': 159.03, 'Dominiquais': 164.34, 'Dutch': 168.72, 'East Timorese': 151.15,
-		'Ecuadorian': 154.23, 'Egyptian': 157.33, 'Emirati': 158.68, 'Equatoguinean': 157.33, 'Eritrean': 156.39, 'Estonian': 168.67, 'Ethiopian': 155.71, 'Fijian': 161.69, 'Filipina': 149.60,
-		'Finnish': 165.90, 'French Guianan': 157, 'French Polynesian': 164.52, 'French': 164.88, 'Gabonese': 158.84, 'Gambian': 160.93, 'Georgian': 162.98, 'German': 165.86, 'Ghanan': 157.91,
-		'Greek': 164.87, 'Greenlandic': 161.55, 'Grenadian': 164.51, 'Guamanian': 153.7, 'Guatemalan': 149.39, 'Guinean': 157.80, 'Guyanese': 157.92, 'Haitian': 158.72, 'Honduran': 153.84, 'Hungarian': 163.66,
-		'I-Kiribati': 157.00, 'Icelandic': 165.95, 'Indian': 152.59, 'Indonesian': 152.80, 'Iranian': 159.67, 'Iraqi': 158.67, 'Irish': 165.11, 'Israeli': 161.80, 'Italian': 164.61, 'Ivorian': 158.07,
-		'Jamaican': 163.12, 'Japanese': 158.31, 'Jordanian': 158.83, 'Kazakh': 158.58, 'Kenyan': 158.16, 'Kittitian': 159.20, 'Korean': 160.65, 'Kosovan': 165.7, 'Kurdish': 165, 'Kuwaiti': 159.43,
-		'Kyrgyz': 159.35, 'Laotian': 151.28, 'Latvian': 169.80, 'Lebanese': 162.43, 'Liberian': 157.3, 'Libyan': 162.08, 'a Liechtensteiner': 164.3, 'Lithuanian': 166.61, 'Luxembourgian': 164.43,
-		'Macedonian': 159.75, 'Malagasy': 151.18, 'Malawian': 154.40, 'Malaysian': 156.30, 'Maldivian': 155.02, 'Malian': 160.47, 'Maltese': 160.85, 'Marshallese': 151.31, 'Mauritanian': 157.72,
-		'Mauritian': 157.24, 'Mexican': 156.85, 'Micronesian': 156.09, 'Moldovan': 163.24, 'Monégasque': 164.61, 'Mongolian': 158.22, 'Montenegrin': 164.86, 'Moroccan': 157.82, 'Mosotho': 155.71,
-		'Motswana': 161.38, 'Mozambican': 153.96, 'Namibian': 158.78, 'Nauruan': 153.98, 'Nepalese': 150.86, 'New Caledonian': 158.0, 'a New Zealander': 164.94, 'Ni-Vanuatu': 158.17, 'Nicaraguan': 154.39, 'Nigerian': 156.32,
-		'Nigerien': 158.25, 'Niuean': 164.80, 'Norwegian': 165.56, 'Omani': 157.19, 'Pakistani': 153.84, 'Palauan': 156.22, 'Palestinian': 158.75, 'Panamanian': 155.47, 'Papua New Guinean': 154.87,
-		'Paraguayan': 159.86, 'Peruvian': 152.93, 'Polish': 164.59, 'Portuguese': 163.04, 'Puerto Rican': 159.20, 'Qatari': 159.38, 'Romanian': 162.73, 'Russian': 165.27, 'Rwandan': 154.79, 'Sahrawi': 157.82,
-		'Saint Lucian': 162.31, 'Salvadoran': 154.55, 'Sammarinese': 164.61, 'Samoan': 161.97, 'São Toméan': 158.91, 'Saudi': 155.88, 'Scottish': 163, 'Senegalese': 162.52, 'Serbian': 167.69,
-		'Seychellois': 162.08, 'Sierra Leonean': 156.60, 'Singaporean': 160.32, 'Slovak': 167.47, 'Slovene': 166.05, 'a Solomon Islander': 154.42, 'Somali': 156.06, 'South African': 158.03,
-		'South Sudanese': 169.0, 'Spanish': 163.40, 'Sri Lankan': 154.56, 'Sudanese': 156.04, 'Surinamese': 160.66, 'Swazi': 158.64, 'Swedish': 165.70, 'Swiss': 163.45, 'Syrian': 158.65, 'Taiwanese': 161.45,
-		'Tajik': 157.33, 'Tanzanian': 156.6, 'Thai': 157.87, 'Tibetan': 158.75, 'Togolese': 158.30, 'Tongan': 165.52, 'Trinidadian': 160.64, 'Tunisian': 160.35, 'Turkish': 160.50, 'Turkmen': 161.73,
-		'Tuvaluan': 158.10, 'Ugandan': 156.72, 'Ukrainian': 166.34, 'Uruguayan': 162.13, 'Uzbek': 157.82, 'Vatican': 162.5, 'Venezuelan': 157.44, 'Vietnamese': 153.59, 'Vincentian': 160.70, 'Yemeni': 153.97,
-		'Zairian': 155.25, 'Zambian': 155.82, 'Zimbabwean': 158.22,
-		'': 159.65, // default
+		"Afghan": 155.08, "Albanian": 161.77, "Algerian": 159.09, "American.asian": 158.4, "American.black": 163.6, "American.latina": 158.9, "American.white": 165, "American": 163.54,
+		"Andorran": 162.90, "Angolan": 157.31, "Antiguan": 160.65, "Argentinian": 159.18, "Armenian": 158.09, "Aruban": 158, "Australian": 165.86, "Austrian": 164.62, "Azerbaijani": 158.25,
+		"Bahamian": 160.68, "Bahraini": 156.69, "Bangladeshi": 150.79, "Barbadian": 165.28, "Belarusian": 166.35, "Belgian": 165.49, "Belizean": 156.88, "Beninese": 156.16, "Bermudian": 160.69,
+		"Bhutanese": 153.63, "Bissau-Guinean": 158.24, "Bolivian": 153.89, "Bosnian": 165.85, "Brazilian": 160.86, "British": 164.40, "Bruneian": 153.98, "Bulgarian": 164.80,
+		"Burkinabé": 160.19, "Burmese": 154.37, "Burundian": 154.02, "Cambodian": 152.91, "Cameroonian": 158.82, "Canadian": 163.91, "Cape Verdean": 161.65, "Catalan": 163.4,
+		"Central African": 158.04, "Chadian": 160.17, "Chilean": 159.36, "Chinese": 159.71, "Colombian": 156.85, "Comorian": 155.58, "Congolese": 157.57, "a Cook Islander": 163.19, "Costa Rican": 156.37,
+		"Croatian": 165.63, "Cuban": 157.98, "Curaçaoan": 158, "Cypriot": 162.27, "Czech": 168.46, "Danish": 167.21, "Djiboutian": 156.11, "Dominican": 159.03, "Dominiquais": 164.34, "Dutch": 168.72, "East Timorese": 151.15,
+		"Ecuadorian": 154.23, "Egyptian": 157.33, "Emirati": 158.68, "Equatoguinean": 157.33, "Eritrean": 156.39, "Estonian": 168.67, "Ethiopian": 155.71, "Fijian": 161.69, "Filipina": 149.60,
+		"Finnish": 165.90, "French Guianan": 157, "French Polynesian": 164.52, "French": 164.88, "Gabonese": 158.84, "Gambian": 160.93, "Georgian": 162.98, "German": 165.86, "Ghanan": 157.91,
+		"Greek": 164.87, "Greenlandic": 161.55, "Grenadian": 164.51, "Guamanian": 153.7, "Guatemalan": 149.39, "Guinean": 157.80, "Guyanese": 157.92, "Haitian": 158.72, "Honduran": 153.84, "Hungarian": 163.66,
+		"I-Kiribati": 157.00, "Icelandic": 165.95, "Indian": 152.59, "Indonesian": 152.80, "Iranian": 159.67, "Iraqi": 158.67, "Irish": 165.11, "Israeli": 161.80, "Italian": 164.61, "Ivorian": 158.07,
+		"Jamaican": 163.12, "Japanese": 158.31, "Jordanian": 158.83, "Kazakh": 158.58, "Kenyan": 158.16, "Kittitian": 159.20, "Korean": 160.65, "Kosovan": 165.7, "Kurdish": 165, "Kuwaiti": 159.43,
+		"Kyrgyz": 159.35, "Laotian": 151.28, "Latvian": 169.80, "Lebanese": 162.43, "Liberian": 157.3, "Libyan": 162.08, "a Liechtensteiner": 164.3, "Lithuanian": 166.61, "Luxembourgian": 164.43,
+		"Macedonian": 159.75, "Malagasy": 151.18, "Malawian": 154.40, "Malaysian": 156.30, "Maldivian": 155.02, "Malian": 160.47, "Maltese": 160.85, "Marshallese": 151.31, "Mauritanian": 157.72,
+		"Mauritian": 157.24, "Mexican": 156.85, "Micronesian": 156.09, "Moldovan": 163.24, "Monégasque": 164.61, "Mongolian": 158.22, "Montenegrin": 164.86, "Moroccan": 157.82, "Mosotho": 155.71,
+		"Motswana": 161.38, "Mozambican": 153.96, "Namibian": 158.78, "Nauruan": 153.98, "Nepalese": 150.86, "New Caledonian": 158.0, "a New Zealander": 164.94, "Ni-Vanuatu": 158.17, "Nicaraguan": 154.39, "Nigerian": 156.32,
+		"Nigerien": 158.25, "Niuean": 164.80, "Norwegian": 165.56, "Omani": 157.19, "Pakistani": 153.84, "Palauan": 156.22, "Palestinian": 158.75, "Panamanian": 155.47, "Papua New Guinean": 154.87,
+		"Paraguayan": 159.86, "Peruvian": 152.93, "Polish": 164.59, "Portuguese": 163.04, "Puerto Rican": 159.20, "Qatari": 159.38, "Romanian": 162.73, "Russian": 165.27, "Rwandan": 154.79, "Sahrawi": 157.82,
+		"Saint Lucian": 162.31, "Salvadoran": 154.55, "Sammarinese": 164.61, "Samoan": 161.97, "São Toméan": 158.91, "Saudi": 155.88, "Scottish": 163, "Senegalese": 162.52, "Serbian": 167.69,
+		"Seychellois": 162.08, "Sierra Leonean": 156.60, "Singaporean": 160.32, "Slovak": 167.47, "Slovene": 166.05, "a Solomon Islander": 154.42, "Somali": 156.06, "South African": 158.03,
+		"South Sudanese": 169.0, "Spanish": 163.40, "Sri Lankan": 154.56, "Sudanese": 156.04, "Surinamese": 160.66, "Swazi": 158.64, "Swedish": 165.70, "Swiss": 163.45, "Syrian": 158.65, "Taiwanese": 161.45,
+		"Tajik": 157.33, "Tanzanian": 156.6, "Thai": 157.87, "Tibetan": 158.75, "Togolese": 158.30, "Tongan": 165.52, "Trinidadian": 160.64, "Tunisian": 160.35, "Turkish": 160.50, "Turkmen": 161.73,
+		"Tuvaluan": 158.10, "Ugandan": 156.72, "Ukrainian": 166.34, "Uruguayan": 162.13, "Uzbek": 157.82, "Vatican": 162.5, "Venezuelan": 157.44, "Vietnamese": 153.59, "Vincentian": 160.70, "Yemeni": 153.97,
+		"Zairian": 155.25, "Zambian": 155.82, "Zimbabwean": 158.22,
+		"": 159.65, // default
 	};
 	const xyMeanHeight = {
-		'Afghan': 165.26, 'Albanian': 173.39, 'Algerian': 170.07, 'American.asian': 172.5, 'American.black': 177.4, 'American.latina': 172.5, 'American.white': 178.2, 'American': 177.13,
-		'Andorran': 176.06, 'Angolan': 167.31, 'Antiguan': 164.8, 'Argentinian': 174.62, 'Armenian': 172.00, 'Aruban': 165.1, 'Australian': 179.20, 'Austrian': 177.41, 'Azerbaijani': 169.75,
-		'Bahamian': 172.75, 'Bahraini': 167.74, 'Bangladeshi': 163.81, 'Barbadian': 175.92, 'Belarusian': 178.44, 'Belgian': 181.70, 'Belizean': 168.73, 'Beninese': 167.06, 'Bermudian': 172.69,
-		'Bhutanese': 165.31, 'Bissau-Guinean': 167.90, 'Bolivian': 166.85, 'Bosnian': 180.87, 'Brazilian': 173.55, 'British': 177.49, 'Bruneian': 165.01, 'Bulgarian': 178.24, 'Burkinabé': 169.33,
-		'Burmese': 164.67, 'Burundian': 166.64, 'Cambodian': 163.33, 'Cameroonian': 167.82, 'Canadian': 178.09, 'Cape Verdean': 173.22, 'Catalan': 175.8, 'Central African': 166.67,
-		'Chadian': 170.44, 'Chilean': 171.81, 'Chinese': 171.83, 'Colombian': 169.50, 'Comorian': 166.19, 'Congolese': 167.45, 'a Cook Islander': 174.77, 'Costa Rican': 168.93, 'Croatian': 180.78,
-		'Cuban': 172.00, 'Curaçaoan': 165.1, 'Cypriot': 174.99, 'Czech': 180.10, 'Danish': 181.39, 'Djiboutian': 166.57, 'Dominican': 172.75, 'Dominiquais': 176.31, 'Dutch': 182.54, 'East Timorese': 159.79, 'Ecuadorian': 167.08,
-		'Egyptian': 166.68, 'Emirati': 170.46, 'Equatoguinean': 167.36, 'Eritrean': 168.36, 'Estonian': 181.59, 'Ethiopian': 166.23, 'Fijian': 173.90, 'Filipina': 163.23, 'Finnish': 179.59,
-		'French Guianan': 168, 'French Polynesian': 177.41, 'French': 179.74, 'Gabonese': 167.94, 'Gambian': 165.40, 'Georgian': 174.34, 'German': 179.88, 'Ghanan': 168.85, 'Greek': 177.32, 'Greenlandic': 174.87,
-		'Grenadian': 176.97, 'Guamanian': 169.8, 'Guatemalan': 163.41, 'Guinean': 167.54, 'Guyanese': 170.21, 'Haitian': 172.64, 'Honduran': 166.39, 'Hungarian': 177.26, 'I-Kiribati': 169.20, 'Icelandic': 180.49,
-		'Indian': 164.95, 'Indonesian': 163.55, 'Iranian': 170.3, 'Iraqi': 170.43, 'Irish': 178.93, 'Israeli': 176.86, 'Italian': 177.77, 'Ivorian': 166.53, 'Jamaican': 174.53, 'Japanese': 170.82, 'Jordanian': 171.03,
-		'Kazakh': 171.14, 'Kenyan': 169.64, 'Kittitian': 169.62, 'Korean': 173.46, 'Kosovan': 179.5, 'Kurdish': 175, 'Kuwaiti': 172.07, 'Kyrgyz': 171.24, 'Laotian': 160.52, 'Latvian': 181.42, 'Lebanese': 174.39,
-		'Liberian': 163.66, 'Libyan': 173.53, 'a Liechtensteiner': 175.4, 'Lithuanian': 179.03, 'Luxembourgian': 177.86, 'Macedonian': 178.33, 'Malagasy': 161.55, 'Malawian': 166, 'Malaysian': 167.89,
-		'Maldivian': 167.68, 'Malian': 171.3, 'Maltese': 173.32, 'Marshallese': 162.81, 'Mauritanian': 163.28, 'Mauritian': 170.50, 'Mexican': 169.01, 'Micronesian': 168.51, 'Moldovan': 175.49,
-		'Monégasque': 177.77, 'Mongolian': 169.07, 'Montenegrin': 178.28, 'Moroccan': 170.40, 'Mosotho': 165.59, 'Motswana': 171.63, 'Mozambican': 164.80, 'Namibian': 166.96, 'Nauruan': 167.83,
-		'Nepalese': 162.32, 'New Caledonian': 171.0, 'a New Zealander': 177.74, 'Ni-Vanuatu': 168.09, 'Nicaraguan': 166.71, 'Nigerian': 165.91, 'Nigerien': 167.68, 'Niuean': 175.83, 'Norwegian': 179.75, 'Omani': 169.16, 'Pakistani': 166.95,
-		'Palauan': 167.69, 'Palestinian': 172.09, 'Panamanian': 168.49, 'Papua New Guinean': 163.57, 'Paraguayan': 172.83, 'Peruvian': 165.23, 'Polish': 177.33, 'Portuguese': 172.93, 'Puerto Rican': 172.08, 'Qatari': 170.48,
-		'Romanian': 174.74, 'Russian': 176.46, 'Rwandan': 162.68, 'Sahrawi': 170.40, 'Saint Lucian': 171.95, 'Salvadoran': 169.77, 'Sammarinese': 177.77, 'Samoan': 174.38, 'São Toméan': 167.38,
-		'Saudi': 167.67, 'Scottish': 177.6, 'Senegalese': 173.14, 'Serbian': 180.57, 'Seychellois': 174.21, 'Sierra Leonean': 164.41, 'Singaporean': 172.57, 'Slovak': 179.50, 'Slovene': 179.80,
-		'a Solomon Islander': 164.14, 'Somali': 166.60, 'South African': 166.68, 'South Sudanese': 175.9, 'Spanish': 176.59, 'Sri Lankan': 165.69, 'Sudanese': 166.63, 'Surinamese': 172.72, 'Swazi': 168.13,
-		'Swedish': 179.74, 'Swiss': 178.42, 'Syrian': 170.43, 'Taiwanese': 174.52, 'Tajik': 171.26, 'Tanzanian': 164.80, 'Thai': 169.16, 'Tibetan': 168.91, 'Togolese': 168.33, 'Tongan': 176.76,
-		'Trinidadian': 173.74, 'Tunisian': 173.95, 'Turkish': 174.21, 'Turkmen': 171.97, 'Tuvaluan': 169.64, 'Ugandan': 165.62, 'Ukrainian': 178.46, 'Uruguayan': 173.43, 'Uzbek': 169.38, 'Vatican': 176.5,
-		'Venezuelan': 171.59, 'Vietnamese': 164.45, 'Vincentian': 172.78, 'Yemeni': 159.89, 'Zairian': 166.80, 'Zambian': 166.52, 'Zimbabwean': 168.59,
-		'': 171.42, // defaults
+		"Afghan": 165.26, "Albanian": 173.39, "Algerian": 170.07, "American.asian": 172.5, "American.black": 177.4, "American.latina": 172.5, "American.white": 178.2, "American": 177.13,
+		"Andorran": 176.06, "Angolan": 167.31, "Antiguan": 164.8, "Argentinian": 174.62, "Armenian": 172.00, "Aruban": 165.1, "Australian": 179.20, "Austrian": 177.41, "Azerbaijani": 169.75,
+		"Bahamian": 172.75, "Bahraini": 167.74, "Bangladeshi": 163.81, "Barbadian": 175.92, "Belarusian": 178.44, "Belgian": 181.70, "Belizean": 168.73, "Beninese": 167.06, "Bermudian": 172.69,
+		"Bhutanese": 165.31, "Bissau-Guinean": 167.90, "Bolivian": 166.85, "Bosnian": 180.87, "Brazilian": 173.55, "British": 177.49, "Bruneian": 165.01, "Bulgarian": 178.24, "Burkinabé": 169.33,
+		"Burmese": 164.67, "Burundian": 166.64, "Cambodian": 163.33, "Cameroonian": 167.82, "Canadian": 178.09, "Cape Verdean": 173.22, "Catalan": 175.8, "Central African": 166.67,
+		"Chadian": 170.44, "Chilean": 171.81, "Chinese": 171.83, "Colombian": 169.50, "Comorian": 166.19, "Congolese": 167.45, "a Cook Islander": 174.77, "Costa Rican": 168.93, "Croatian": 180.78,
+		"Cuban": 172.00, "Curaçaoan": 165.1, "Cypriot": 174.99, "Czech": 180.10, "Danish": 181.39, "Djiboutian": 166.57, "Dominican": 172.75, "Dominiquais": 176.31, "Dutch": 182.54, "East Timorese": 159.79, "Ecuadorian": 167.08,
+		"Egyptian": 166.68, "Emirati": 170.46, "Equatoguinean": 167.36, "Eritrean": 168.36, "Estonian": 181.59, "Ethiopian": 166.23, "Fijian": 173.90, "Filipina": 163.23, "Finnish": 179.59,
+		"French Guianan": 168, "French Polynesian": 177.41, "French": 179.74, "Gabonese": 167.94, "Gambian": 165.40, "Georgian": 174.34, "German": 179.88, "Ghanan": 168.85, "Greek": 177.32, "Greenlandic": 174.87,
+		"Grenadian": 176.97, "Guamanian": 169.8, "Guatemalan": 163.41, "Guinean": 167.54, "Guyanese": 170.21, "Haitian": 172.64, "Honduran": 166.39, "Hungarian": 177.26, "I-Kiribati": 169.20, "Icelandic": 180.49,
+		"Indian": 164.95, "Indonesian": 163.55, "Iranian": 170.3, "Iraqi": 170.43, "Irish": 178.93, "Israeli": 176.86, "Italian": 177.77, "Ivorian": 166.53, "Jamaican": 174.53, "Japanese": 170.82, "Jordanian": 171.03,
+		"Kazakh": 171.14, "Kenyan": 169.64, "Kittitian": 169.62, "Korean": 173.46, "Kosovan": 179.5, "Kurdish": 175, "Kuwaiti": 172.07, "Kyrgyz": 171.24, "Laotian": 160.52, "Latvian": 181.42, "Lebanese": 174.39,
+		"Liberian": 163.66, "Libyan": 173.53, "a Liechtensteiner": 175.4, "Lithuanian": 179.03, "Luxembourgian": 177.86, "Macedonian": 178.33, "Malagasy": 161.55, "Malawian": 166, "Malaysian": 167.89,
+		"Maldivian": 167.68, "Malian": 171.3, "Maltese": 173.32, "Marshallese": 162.81, "Mauritanian": 163.28, "Mauritian": 170.50, "Mexican": 169.01, "Micronesian": 168.51, "Moldovan": 175.49,
+		"Monégasque": 177.77, "Mongolian": 169.07, "Montenegrin": 178.28, "Moroccan": 170.40, "Mosotho": 165.59, "Motswana": 171.63, "Mozambican": 164.80, "Namibian": 166.96, "Nauruan": 167.83,
+		"Nepalese": 162.32, "New Caledonian": 171.0, "a New Zealander": 177.74, "Ni-Vanuatu": 168.09, "Nicaraguan": 166.71, "Nigerian": 165.91, "Nigerien": 167.68, "Niuean": 175.83, "Norwegian": 179.75, "Omani": 169.16, "Pakistani": 166.95,
+		"Palauan": 167.69, "Palestinian": 172.09, "Panamanian": 168.49, "Papua New Guinean": 163.57, "Paraguayan": 172.83, "Peruvian": 165.23, "Polish": 177.33, "Portuguese": 172.93, "Puerto Rican": 172.08, "Qatari": 170.48,
+		"Romanian": 174.74, "Russian": 176.46, "Rwandan": 162.68, "Sahrawi": 170.40, "Saint Lucian": 171.95, "Salvadoran": 169.77, "Sammarinese": 177.77, "Samoan": 174.38, "São Toméan": 167.38,
+		"Saudi": 167.67, "Scottish": 177.6, "Senegalese": 173.14, "Serbian": 180.57, "Seychellois": 174.21, "Sierra Leonean": 164.41, "Singaporean": 172.57, "Slovak": 179.50, "Slovene": 179.80,
+		"a Solomon Islander": 164.14, "Somali": 166.60, "South African": 166.68, "South Sudanese": 175.9, "Spanish": 176.59, "Sri Lankan": 165.69, "Sudanese": 166.63, "Surinamese": 172.72, "Swazi": 168.13,
+		"Swedish": 179.74, "Swiss": 178.42, "Syrian": 170.43, "Taiwanese": 174.52, "Tajik": 171.26, "Tanzanian": 164.80, "Thai": 169.16, "Tibetan": 168.91, "Togolese": 168.33, "Tongan": 176.76,
+		"Trinidadian": 173.74, "Tunisian": 173.95, "Turkish": 174.21, "Turkmen": 171.97, "Tuvaluan": 169.64, "Ugandan": 165.62, "Ukrainian": 178.46, "Uruguayan": 173.43, "Uzbek": 169.38, "Vatican": 176.5,
+		"Venezuelan": 171.59, "Vietnamese": 164.45, "Vincentian": 172.78, "Yemeni": 159.89, "Zairian": 166.80, "Zambian": 166.52, "Zimbabwean": 168.59,
+		"": 171.42, // defaults
 	};
 
 	// Helper method - table lookup for nationality/race combinations
 	const nationalityMeanHeight = function(table, nationality, race, def) {
-		return table[`${nationality }.${ race}`] || table[nationality] || table[`.${ race}`] || table[''] || def;
+		return table[`${nationality }.${ race}`] || table[nationality] || table[`.${ race}`] || table[""] || def;
 	};
 
 	// Helper method: Generate a skewed normal random variable with the skew s
@@ -186,20 +186,20 @@ window.Height = (function() {
 		}
 		let minHeight = 0; let midHeight = 0; let midAge = 15;
 		switch (genes) {
-			case 'XX': // female
-			case 'XXX': // Triple X syndrome female
+			case "XX": // female
+			case "XXX": // Triple X syndrome female
 				minHeight = 85;
 				midHeight = height * 157 / 164;
 				midAge = 13;
 				break;
-			case 'XY': // male
-			case 'XXY': // Klinefelter syndrome male
-			case 'XYY': // XYY syndrome male
+			case "XY": // male
+			case "XXY": // Klinefelter syndrome male
+			case "XYY": // XYY syndrome male
 				minHeight = 86;
 				midHeight = height * 170 / 178;
 				midAge = 15;
 				break;
-			case 'X0': case 'X': // Turner syndrome female
+			case "X0": case "X": // Turner syndrome female
 				minHeight = 85 * 0.93;
 				midHeight = height * 157 / 164;
 				midAge = 13;
@@ -226,26 +226,26 @@ window.Height = (function() {
 		}
 		let result = 0;
 		switch (genes) {
-			case 'XX': // female
+			case "XX": // female
 				result = nationalityMeanHeight(xxMeanHeight, nationality, race);
 				break;
-			case 'XY': // male
+			case "XY": // male
 				result = nationalityMeanHeight(xyMeanHeight, nationality, race);
 				break;
 			// special cases. Extra SHOX genes on X and Y chromosomes make for larger people
-			case 'X0': case 'X': // Turner syndrome female
+			case "X0": case "X": // Turner syndrome female
 				result = nationalityMeanHeight(xxMeanHeight, nationality, race) * 0.93;
 				break;
-			case 'XXX': // Triple X syndrome female
+			case "XXX": // Triple X syndrome female
 				result = nationalityMeanHeight(xxMeanHeight, nationality, race) * 1.03;
 				break;
-			case 'XXY': // Klinefelter syndrome male
+			case "XXY": // Klinefelter syndrome male
 				result = nationalityMeanHeight(xyMeanHeight, nationality, race) * 1.03;
 				break;
-			case 'XYY': // XYY syndrome male
+			case "XYY": // XYY syndrome male
 				result = nationalityMeanHeight(xyMeanHeight, nationality, race) * 1.04;
 				break;
-			case 'Y': case 'Y0': case 'YY': case 'YYY':
+			case "Y": case "Y0": case "YY": case "YYY":
 				console.log(`Height.mean(): non-viable genes ${ genes}`);
 				break;
 			default:
@@ -319,7 +319,7 @@ window.Height = (function() {
  *  This was modeled using the Height generator above. For some more information, see the comments for that.
  */
 window.Intelligence = (function() {
-	'use strict';
+	"use strict";
 
 	// Global configuration (for different game modes/options/types)
 	let mean = 0;
@@ -448,7 +448,7 @@ As a categorizer
 window.Categorizer = function() {
 	this.cats = Array.prototype.slice.call(arguments)
 		.filter(function(e, i, a) {
-			return e instanceof Array && e.length === 2 && typeof e[0] === 'number' && !isNaN(e[0]) &&
+			return e instanceof Array && e.length === 2 && typeof e[0] === "number" && !isNaN(e[0]) &&
 				a.findIndex(function(val) {
 					return e[0] === val[0];
 				}) === i; /* uniqueness test */
@@ -460,7 +460,7 @@ window.Categorizer = function() {
 
 window.Categorizer.prototype.cat = function(val, def) {
 	let result = def;
-	if (typeof val === 'number' && !isNaN(val)) {
+	if (typeof val === "number" && !isNaN(val)) {
 		let foundCat = this.cats.find(function(e) {
 			return val >= e[0];
 		});
@@ -481,18 +481,18 @@ window.num = function(x) {
 	const max = V.showNumbersMax;
 
 	const ONE_TO_NINETEEN = [
-		'one', 'two', 'three', 'four', 'five',
-		'six', 'seven', 'eight', 'nine', 'ten',
-		'eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen',
-		'sixteen', 'seventeen', 'eighteen', 'nineteen',
+		"one", "two", "three", "four", "five",
+		"six", "seven", "eight", "nine", "ten",
+		"eleven", "twelve", "thirteen", "fourteen", "fifteen",
+		"sixteen", "seventeen", "eighteen", "nineteen",
 	];
 
 	const TENS = [
-		'ten', 'twenty', 'thirty', 'forty', 'fifty',
-		'sixty', 'seventy', 'eighty', 'ninety',
+		"ten", "twenty", "thirty", "forty", "fifty",
+		"sixty", "seventy", "eighty", "ninety",
 	];
 
-	const SCALES = ['thousand', 'million', 'billion', 'trillion'];
+	const SCALES = ["thousand", "million", "billion", "trillion"];
 
 	// helper function for use with Array.filter
 	function isTruthy(item) {
@@ -529,15 +529,15 @@ window.num = function(x) {
 			words.push(TENS[tens - 1]);
 			words.push(inEnglish(ones));
 
-			return words.filter(isTruthy).join('-');
+			return words.filter(isTruthy).join("-");
 		}
 
 		hundreds = number / 100 | 0;
 		words.push(inEnglish(hundreds));
-		words.push('hundred');
+		words.push("hundred");
 		words.push(inEnglish(number % 100));
 
-		return words.filter(isTruthy).join(' ');
+		return words.filter(isTruthy).join(" ");
 	}
 
 	// append the word for a scale. Made for use with Array.map
@@ -547,7 +547,7 @@ window.num = function(x) {
 			return null;
 		}
 		scale = SCALES[exp - 1];
-		return [chunk, scale].filter(isTruthy).join(' ');
+		return [chunk, scale].filter(isTruthy).join(" ");
 	}
 
 	function commaNum(s) {
@@ -557,13 +557,13 @@ window.num = function(x) {
 		if (State.variables.formatNumbers !== 1) {
 			return s;
 		} else {
-			return s.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
+			return s.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
 		}
 	}
 
 	if (V.showNumbers !== 2) {
 		if (x === 0) {
-			return 'zero';
+			return "zero";
 		}
 
 		let string = chunk(x)
@@ -571,7 +571,7 @@ window.num = function(x) {
 			.map(appendScale)
 			.filter(isTruthy)
 			.reverse()
-			.join(' ');
+			.join(" ");
 
 		if (V.showNumbers === 1) {
 			if (x <= max) {
@@ -604,7 +604,7 @@ window.cashFormat = function(s) {
 	if (s > 0) {
 		return `¤${ num(s)}`;
 	} else {
-		return `¤${ s.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')}`;
+		return `¤${ s.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")}`;
 	}
 };
 
@@ -623,27 +623,27 @@ window.repFormat = function(s) {
 		/* In order to calculate just how much any one category matters so we can show a "fuzzy" symbolic value to the player, we need to know how "busy" reputation was this week. To calculate this, I ADD income to expenses. Why? 100 - 100 and 10000 - 10000 BOTH are 0, but a +50 event matters a lot more in the first case than the second. I exclude overflow from the calculation because it's not a "real" expense for our purposes, and divide by half just to make percentages a bit easier. */
 		let weight = s/(((V.lastWeeksRepIncome.Total - V.lastWeeksRepExpenses.Total) + V.lastWeeksRepExpenses.overflow)/2);
 		if (weight > 0.60) {
-			return '@@.green;+++++ rep@@';
+			return "@@.green;+++++ rep@@";
 		} else if (weight > 0.45) {
-			return '@@.green;++++ rep@@';
+			return "@@.green;++++ rep@@";
 		} else if (weight > 0.30) {
-			return '@@.green;+++ rep@@';
+			return "@@.green;+++ rep@@";
 		} else if (weight > 0.15) {
-			return '@@.green;++ rep@@';
+			return "@@.green;++ rep@@";
 		} else if (weight > 0.0) {
-			return '@@.green;+ rep@@';
+			return "@@.green;+ rep@@";
 		} else if (weight === 0) {
-			return '0 rep';
+			return "0 rep";
 		} else if (weight < -0.60) {
-			return '@@.red;----- rep@@';
+			return "@@.red;----- rep@@";
 		} else if (weight < -0.45) {
-			return '@@.red;---- rep@@';
+			return "@@.red;---- rep@@";
 		} else if (weight < -0.30) {
-			return '@@.red;--- rep@@';
+			return "@@.red;--- rep@@";
 		} else if (weight < -0.15) {
-			return '@@.red;-- rep@@';
+			return "@@.red;-- rep@@";
 		} else if (weight < 0) {
-			return '@@.red;- rep@@';
+			return "@@.red;- rep@@";
 		}
 		/* return weight;*/
 	}
@@ -669,10 +669,10 @@ window.budgetLine = function(category, title) {
 	let income;
 	let expenses;
 	let profits;
-	if (passage() === 'Rep Budget') {
-		income = '$lastWeeksRepIncome';
-		expenses = '$lastWeeksRepExpenses';
-		profits = '$lastWeeksRepProfits';
+	if (passage() === "Rep Budget") {
+		income = "$lastWeeksRepIncome";
+		expenses = "$lastWeeksRepExpenses";
+		profits = "$lastWeeksRepProfits";
 
 		return `<<if ${income}.${category} || ${expenses}.${category}>><tr>\
 		<td>${title}</td>\
@@ -681,10 +681,10 @@ window.budgetLine = function(category, title) {
 		<<set ${profits}.${category} = (${income}.${category} + ${expenses}.${category})>>\
 		<td><<print repFormat(${profits}.${category})>></td>\
 		</tr><</if>>`;
-	} else if (passage() === 'Costs Budget') {
-		income = '$lastWeeksCashIncome';
-		expenses = '$lastWeeksCashExpenses';
-		profits = '$lastWeeksCashProfits';
+	} else if (passage() === "Costs Budget") {
+		income = "$lastWeeksCashIncome";
+		expenses = "$lastWeeksCashExpenses";
+		profits = "$lastWeeksCashProfits";
 
 		return `<<if ${income}.${category} || ${expenses}.${category}>><tr>\
 		<td>${title}</td>\
@@ -752,7 +752,7 @@ if(typeof Categorizer === 'function') {
 	jQuery(document).one('categorizer.ready', doSomething);
 }
 */
-jQuery(document).trigger('categorizer.ready');
+jQuery(document).trigger("categorizer.ready");
 
 window.hashChoice = function hashChoice(obj) {
 	let randint = Math.floor(Math.random()*hashSum(obj));
@@ -811,10 +811,10 @@ window.between = function between(a, low, high) {
 // generate a random, almost unique ID that is compliant (possibly) with RFC 4122
 window.generateNewID = function generateNewID() {
 	let date = Date.now(); // high-precision timer
-	let uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
+	let uuid = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(c) {
 		let r = (date + Math.random()*16)%16 | 0;
 		date = Math.floor(date/16);
-		return (c==='x' ? r : (r & 0x3 | 0x8)).toString(16);
+		return (c==="x" ? r : (r & 0x3 | 0x8)).toString(16);
 	});
 	return uuid;
 };
@@ -827,12 +827,12 @@ window.arraySwap = function arraySwap(array, a, b) {
 
 // circumvents sugarcube, allowing a plain HTML5 UI within it
 window.html5passage = function html5passage(passageFunction) {
-	$(document).one(':passagedisplay', (ev) => {
-		const element = document.createElement('div');
-		element.classList.add('passage');
-		document.getElementById('passages').appendChild(element);
+	$(document).one(":passagedisplay", (ev) => {
+		const element = document.createElement("div");
+		element.classList.add("passage");
+		document.getElementById("passages").appendChild(element);
 		passageFunction(element);
-		$(document).off(':passagedisplay');
+		$(document).off(":passagedisplay");
 	});
 };
 
@@ -853,23 +853,23 @@ window.getSlaveDevotionClass = /** @param {App.Entity.SlaveState} slave */ funct
 	if ((!slave) || (!State)) {
 		return undefined;
 	}
-	if ('mindbroken' === slave.fetish) {
-		return 'mindbroken';
+	if ("mindbroken" === slave.fetish) {
+		return "mindbroken";
 	}
 	if (slave.devotion < -95) {
-		return 'very-hateful';
+		return "very-hateful";
 	} else if (slave.devotion < -50) {
-		return 'hateful';
+		return "hateful";
 	} else if (slave.devotion < -20) {
-		return 'resistant';
+		return "resistant";
 	} else if (slave.devotion <= 20) {
-		return 'ambivalent';
+		return "ambivalent";
 	} else if (slave.devotion <= 50) {
-		return 'accepting';
+		return "accepting";
 	} else if (slave.devotion <= 95) {
-		return 'devoted';
+		return "devoted";
 	} else {
-		return 'worshipful';
+		return "worshipful";
 	}
 };
 
@@ -878,27 +878,27 @@ window.getSlaveTrustClass = /** @param {App.Entity.SlaveState} slave */ function
 		return undefined;
 	}
 
-	if ('mindbroken' === slave.fetish) {
-		return '';
+	if ("mindbroken" === slave.fetish) {
+		return "";
 	}
 
 	if (slave.trust < -95) {
-		return 'extremely-terrified';
+		return "extremely-terrified";
 	} else if (slave.trust < -50) {
-		return 'terrified';
+		return "terrified";
 	} else if (slave.trust < -20) {
-		return 'frightened';
+		return "frightened";
 	} else if (slave.trust <= 20) {
-		return 'fearful';
+		return "fearful";
 	} else if (slave.trust <= 50) {
-		if (slave.devotion < -20) return 'hate-careful';
-		else return 'careful';
+		if (slave.devotion < -20) return "hate-careful";
+		else return "careful";
 	} else if (slave.trust <= 95) {
-		if (slave.devotion < -20) return 'bold';
-		else return 'trusting';
+		if (slave.devotion < -20) return "bold";
+		else return "trusting";
 	} else {
-		if (slave.devotion < -20) return 'defiant';
-		else return 'profoundly-trusting';
+		if (slave.devotion < -20) return "defiant";
+		else return "profoundly-trusting";
 	}
 };
 
@@ -907,14 +907,14 @@ window.cmToInchString = function(s) {
 	let inches = Math.round(s/2.54);
 	if (inches === 0) {
 		if (s === 0) {
-			inches += ' inches';
+			inches += " inches";
 		} else {
-			inches = 'less than an inch';
+			inches = "less than an inch";
 		}
 	} else if (inches === 1) {
-		inches += ' inch';
+		inches += " inch";
 	} else {
-		inches += ' inches';
+		inches += " inches";
 	}
 	return inches;
 };
@@ -1016,7 +1016,7 @@ window.removeDuplicates = function removeDuplicates(array) {
 window.induceLactation = /** @param {App.Entity.SlaveState} slave */ function induceLactation(slave) {
 	let pronouns = getPronouns(slave);
 	let His = capFirstChar(pronouns.possessive);
-	let r = '';
+	let r = "";
 	if (slave.induceLactation >= 10) {
 		if (jsRandom(1, 100) < slave.induceLactation) {
 			r += `${His} breasts have been stimulated often enough to @@.lime;induce lactation.@@`;
@@ -1050,62 +1050,62 @@ window.ResearchLabStockPile = function() {
 window.originPronounReplace = /** @param {App.Entity.SlaveState} slave */ function(slave) {
 	let r = slave.origin;
 	switch (r) {
-		case 'She was the result of unprotected sex with a client. Her mother tracked you down years after her birth to force her upon you.':
+		case "She was the result of unprotected sex with a client. Her mother tracked you down years after her birth to force her upon you.":
 			return `${capFirstChar(slave.pronoun)} was the result of unprotected sex with a client. ${capFirstChar(slave.possessive)} mother tracked you down years after ${slave.possessive} birth to force ${slave.object} upon you.`;
-		case 'You kept her after her owner failed to pay your bill for performing surgery on her.':
+		case "You kept her after her owner failed to pay your bill for performing surgery on her.":
 			return `You kept ${slave.object} after ${slave.possessive} owner failed to pay your bill for performing surgery on ${slave.object}.`;
-		case 'She comes from old money and sold herself into slavery to satisfy her obsession with the practice, believing her family would buy her back out of slavery later.':
+		case "She comes from old money and sold herself into slavery to satisfy her obsession with the practice, believing her family would buy her back out of slavery later.":
 			return `${capFirstChar(slave.pronoun)} comes from old money and sold herself into slavery to satisfy ${slave.possessive} obsession with the practice, believing ${slave.possessive} family would buy ${slave.object} back out of slavery later.`;
-		case 'When you took her from her previous owner, she was locked into a beautiful rosewood box lined with red velvet, crying.':
+		case "When you took her from her previous owner, she was locked into a beautiful rosewood box lined with red velvet, crying.":
 			return `When you took ${slave.object} from ${slave.possessive} previous owner, ${slave.pronoun} was locked into a beautiful rosewood box lined with red velvet, crying.`;
-		case 'Her husband sold her into slavery to escape his debts.':
+		case "Her husband sold her into slavery to escape his debts.":
 			return `${capFirstChar(slave.possessive)} husband sold ${slave.object} into slavery to escape his debts.`;
-		case 'She was voluntarily enslaved after she decided that your arcology was the best place for her to get the steroids that she\'d allowed to define her life.':
+		case "She was voluntarily enslaved after she decided that your arcology was the best place for her to get the steroids that she'd allowed to define her life.":
 			return `${capFirstChar(slave.pronoun)} was voluntarily enslaved after ${slave.pronoun} decided that your arcology was the best place for ${slave.object} to get the steroids that ${slave.pronoun}'d allowed to define ${slave.possessive} life.`;
-		case 'She came to you to escape being sold to a cruel master after her producer informed her of her debt.':
+		case "She came to you to escape being sold to a cruel master after her producer informed her of her debt.":
 			return `${capFirstChar(slave.pronoun)} came to you to escape being sold to a cruel master after ${slave.possessive} producer informed ${slave.object} of ${slave.possessive} debt.`;
-		case 'You tricked her into enslavement, manipulating her based on her surgical addiction.':
+		case "You tricked her into enslavement, manipulating her based on her surgical addiction.":
 			return `You tricked ${slave.object} into enslavement, manipulating ${slave.object} based on ${slave.possessive} surgical addiction.`;
-		case 'You helped free her from a POW camp after being abandoned by her country, leaving her deeply indebted to you.':
+		case "You helped free her from a POW camp after being abandoned by her country, leaving her deeply indebted to you.":
 			return `You helped free ${slave.object} from a POW camp after being abandoned by ${slave.possessive} country, leaving ${slave.object} deeply indebted to you.`;
-		case 'You purchased her in order to pave the way for her brother to take the throne.':
+		case "You purchased her in order to pave the way for her brother to take the throne.":
 			return `You purchased ${slave.object} in order to pave the way for ${slave.possessive} brother to take the throne.`;
-		case 'You purchased her as a favor to her father.':
+		case "You purchased her as a favor to her father.":
 			return `You purchased ${slave.object} as a favor to ${slave.possessive} father.`;
-		case 'You purchased her from a King after his son put an illegitimate heir in her womb.':
+		case "You purchased her from a King after his son put an illegitimate heir in her womb.":
 			return `You purchased ${slave.object} from a King after his son put an illegitimate heir in ${slave.possessive} womb.`;
-		case 'You acquired her in the last stages of your career as a successful venture capitalist.':
-		case 'Drugs and alcohol can be a potent mix; the night that followed it can sometimes be hard to remember. Needless to say, once your belly began swelling with her, you had to temporarily switch to a desk job for your mercenary group.':
-		case 'You acquired her in the last stages of your career as a noted private military contractor.':
-		case 'You never thought you would be capable of impregnating yourself, but years of pleasuring yourself with yourself after missions managed to create her.':
-		case 'A fresh capture once overpowered you and had his way with you. You kept her as a painful reminder to never lower your guard again.':
-		case 'Your slaving troop kept several girls as fucktoys; you sired her in your favorite.':
-		case 'You enslaved her personally during the last stages of your slaving career.':
-		case 'You sired her in yourself after an arcology owner, impressed by your work, rewarded you with a night you\'ll never forget.':
-		case 'You conceived her after a male arcology owner, impressed by your work, rewarded you with a night you\'ll never forget.':
-		case 'You sired her after a female arcology owner, impressed by your work, rewarded you with a night you\'ll never forget.':
-		case 'You received her as a gift from an arcology owner impressed by your work.':
-		case 'You captured her during your transition to the arcology':
-		case 'You won her at cards, a memento from your life as one of the idle rich before you became an arcology owner.':
-		case 'You brought her into the arcology mindbroken, little more than a walking collection of fuckable holes.':
-		case 'You brought her into the arcology mindbroken, little more than a human onahole.':
-		case 'She grew up sheltered and submissive, making her an easy target for enslavement.':
-		case 'She was fresh from the slave markets when you acquired her.':
-		case 'She chose to be a slave because the romanticized view of it she had turns her on.':
-		case 'She was previously owned by a creative sadist, who has left a variety of mental scars on her.':
-		case 'She was taken as a slave by a Sultan, who presented her as a gift to a surveyor.':
-		case 'She is the winner of a martial arts slave tournament. You won her in a bet.':
-		case 'She was homeless and willing to do anything for food, which in the end resulted in her becoming a slave.':
-		case 'She was sold to you by an anonymous person who wanted her to suffer.':
-		case 'You received her from a surgeon who botched an implant operation on her and needed to get her out of sight.':
-		case 'She offered herself to you for enslavement to escape having plastic surgery foisted on her.':
-		case 'You turned her into a slave girl after she fell into debt to you.':
-		case 'She was raised in a radical slave school that treated her with drugs and surgery from a very young age.':
-		case 'She was raised in a radical slave school that treated her from a very young age, up to the point that she never experienced male puberty.':
-		case 'She was a runaway slave captured by a gang outside your arcology. You bought her cheap after she was harshly used by them.':
-		case 'She was the private slave of a con artist cult leader before he had to abandon her and flee.':
-		case 'You helped her give birth, leaving her deeply indebted to you.':
-		case 'You purchased her from a King after she expressed knowledge of the prince\'s affair with another servant.':
+		case "You acquired her in the last stages of your career as a successful venture capitalist.":
+		case "Drugs and alcohol can be a potent mix; the night that followed it can sometimes be hard to remember. Needless to say, once your belly began swelling with her, you had to temporarily switch to a desk job for your mercenary group.":
+		case "You acquired her in the last stages of your career as a noted private military contractor.":
+		case "You never thought you would be capable of impregnating yourself, but years of pleasuring yourself with yourself after missions managed to create her.":
+		case "A fresh capture once overpowered you and had his way with you. You kept her as a painful reminder to never lower your guard again.":
+		case "Your slaving troop kept several girls as fucktoys; you sired her in your favorite.":
+		case "You enslaved her personally during the last stages of your slaving career.":
+		case "You sired her in yourself after an arcology owner, impressed by your work, rewarded you with a night you'll never forget.":
+		case "You conceived her after a male arcology owner, impressed by your work, rewarded you with a night you'll never forget.":
+		case "You sired her after a female arcology owner, impressed by your work, rewarded you with a night you'll never forget.":
+		case "You received her as a gift from an arcology owner impressed by your work.":
+		case "You captured her during your transition to the arcology":
+		case "You won her at cards, a memento from your life as one of the idle rich before you became an arcology owner.":
+		case "You brought her into the arcology mindbroken, little more than a walking collection of fuckable holes.":
+		case "You brought her into the arcology mindbroken, little more than a human onahole.":
+		case "She grew up sheltered and submissive, making her an easy target for enslavement.":
+		case "She was fresh from the slave markets when you acquired her.":
+		case "She chose to be a slave because the romanticized view of it she had turns her on.":
+		case "She was previously owned by a creative sadist, who has left a variety of mental scars on her.":
+		case "She was taken as a slave by a Sultan, who presented her as a gift to a surveyor.":
+		case "She is the winner of a martial arts slave tournament. You won her in a bet.":
+		case "She was homeless and willing to do anything for food, which in the end resulted in her becoming a slave.":
+		case "She was sold to you by an anonymous person who wanted her to suffer.":
+		case "You received her from a surgeon who botched an implant operation on her and needed to get her out of sight.":
+		case "She offered herself to you for enslavement to escape having plastic surgery foisted on her.":
+		case "You turned her into a slave girl after she fell into debt to you.":
+		case "She was raised in a radical slave school that treated her with drugs and surgery from a very young age.":
+		case "She was raised in a radical slave school that treated her from a very young age, up to the point that she never experienced male puberty.":
+		case "She was a runaway slave captured by a gang outside your arcology. You bought her cheap after she was harshly used by them.":
+		case "She was the private slave of a con artist cult leader before he had to abandon her and flee.":
+		case "You helped her give birth, leaving her deeply indebted to you.":
+		case "You purchased her from a King after she expressed knowledge of the prince's affair with another servant.":
 			r = r.replace(/\bherself\b/g, slave.objectReflexive);
 			r = r.replace(/\bHerself\b/g, capFirstChar(slave.objectReflexive));
 			r = r.replace(/\bshe\b/g, slave.pronoun);
@@ -1156,17 +1156,17 @@ window.HackingSkillMultiplier = function() {
 window.opentab = function(evt, tabName) {
 	const V = State.variables;
 	/* var passage = passage().trim().replace(/ /g,"+");*/
-	const tabcontent = document.getElementsByClassName('tabcontent');
+	const tabcontent = document.getElementsByClassName("tabcontent");
 	for (let i = 0; i < tabcontent.length; i++) {
-		tabcontent[i].style.display = 'none';
+		tabcontent[i].style.display = "none";
 	}
-	const tablinks = document.getElementsByClassName('tablinks');
+	const tablinks = document.getElementsByClassName("tablinks");
 	for (let i = 0; i < tablinks.length; i++) {
-		tablinks[i].className = tablinks[i].className.replace(' active', '');
+		tablinks[i].className = tablinks[i].className.replace(" active", "");
 	}
-	V.tabChoice[passage().trim().replace(/ |'/g, '')] = tabName; /* The regex strips spaces and " ' " from passage names, making "Servants' Quarters" into "ServantsQuarters" and allowing it to be used as a label in this object. */
-	document.getElementById(tabName).style.display = 'block';
-	evt.currentTarget.className += ' active';
+	V.tabChoice[passage().trim().replace(/ |'/g, "")] = tabName; /* The regex strips spaces and " ' " from passage names, making "Servants' Quarters" into "ServantsQuarters" and allowing it to be used as a label in this object. */
+	document.getElementById(tabName).style.display = "block";
+	evt.currentTarget.className += " active";
 };
 
 /**
@@ -1186,7 +1186,7 @@ window.opentab = function(evt, tabName) {
  * App.UI.passageLink("Go to town", "Town")
  */
 App.UI.passageLink = function(linkText, passage, setter, elementType) {
-	if (!elementType) elementType = 'a';
+	if (!elementType) elementType = "a";
 
 	let res = `<${elementType} data-passage="${passage}"`;
 	if (setter) {
@@ -1210,7 +1210,7 @@ window.SkillIncrease = (function() {
 	function OralSkillIncrease(slave, skillIncrease) {
 		const He = capFirstChar(slave.pronoun);
 		const his = slave.possessivePronoun;
-		let r = '';
+		let r = "";
 		skillIncrease = skillIncrease || State.variables.skillIncrease || 1;
 
 		if (slave.oralSkill <= 10) {
@@ -1238,7 +1238,7 @@ window.SkillIncrease = (function() {
 	/** @param {App.Entity.SlaveState} slave */
 	function VaginalSkillIncrease(slave, skillIncrease) {
 		const He = capFirstChar(slave.pronoun);
-		let r = '';
+		let r = "";
 		skillIncrease = skillIncrease || State.variables.skillIncrease || 1;
 
 		if (slave.vaginalSkill <= 10) {
@@ -1267,7 +1267,7 @@ window.SkillIncrease = (function() {
 	function AnalSkillIncrease(slave, skillIncrease) {
 		const He = capFirstChar(slave.pronoun);
 		const his = slave.possessivePronoun;
-		let r ='';
+		let r ="";
 		skillIncrease = skillIncrease || State.variables.skillIncrease || 1;
 
 		if (slave.analSkill <= 10) {
@@ -1296,7 +1296,7 @@ window.SkillIncrease = (function() {
 	function WhoreSkillIncrease(slave, skillIncrease) {
 		const He = capFirstChar(slave.pronoun);
 		const his = slave.possessivePronoun;
-		let r ='';
+		let r ="";
 		skillIncrease = skillIncrease || State.variables.skillIncrease || 1;
 
 		if (slave.whoreSkill <= 10) {
@@ -1324,7 +1324,7 @@ window.SkillIncrease = (function() {
 	/** @param {App.Entity.SlaveState} slave */
 	function EntertainSkillIncrease(slave, skillIncrease) {
 		const He = capFirstChar(slave.pronoun);
-		let r ='';
+		let r ="";
 		skillIncrease = skillIncrease || State.variables.skillIncrease || 1;
 
 		if (slave.entertainSkill <= 10) {
diff --git a/src/uncategorized/costsWidgets.tw b/src/uncategorized/costsWidgets.tw
index 85fe9e2b7471b2f9cc406d9c27d954f68a91a187..0941a0542f188e4f8ae57652705c1f01c98dbc23 100644
--- a/src/uncategorized/costsWidgets.tw
+++ b/src/uncategorized/costsWidgets.tw
@@ -455,7 +455,7 @@
 		<<if ($args[0].lifetimeRepIncome != 0 || $args[0].lifetimeRepExpenses != 0)>>
 			<br>
 			<<set _repTotal = ($args[0].lifetimeRepIncome + $args[0].lifetimeRepExpenses)>>
-			<<if($cheatMode == 1 || $debugMode == 1)>>
+			<<if ($cheatMode == 1 || $debugMode == 1)>>
 				<<if $args[0].lifetimeRepIncome != 0>>
 					<br>&nbsp;&nbsp;&nbsp;&nbsp;
 					This week $he has
@@ -664,4 +664,4 @@ total: 0
 <<set $lastWeeksRepExpenses = clone($lastWeeksRepIncome)>>
 <<set $lastWeeksRepProfits = clone($lastWeeksRepIncome)>>
 
-<</widget>>
\ No newline at end of file
+<</widget>>