diff --git a/src/js/economyJS.js b/src/js/economyJS.js
index 20ade11dc158f508561c794cf355214ea8c40f49..3bed3b385af57612276bc3157927559ee37a5e8d 100644
--- a/src/js/economyJS.js
+++ b/src/js/economyJS.js
@@ -936,23 +936,23 @@ window.slaveJobValues = function() {
 	});
 	if (V.DJ !== 0) {
 		if (!canTalk(V.DJ)) {
-			//''__@@.pink;$DJ.slaveName@@__'' can't speak @@.yellow;and cannot serve as your DJ any more.@@<br>
+			// <strong><u><span class=pink>$DJ.slaveName</span></u></strong> can't speak <span class=yellow>and cannot serve as your DJ any more.</span><br>
 			V.DJ = 0;
 			V.unDJ = 1;
 		} else if (V.DJ.preg > 37 && V.DJ.broodmother === 2) {
-			//''__@@.pink;$DJ.slaveName@@__'' spends so much time giving birth and laboring that @@.yellow;$he cannot effectively serve as your DJ any longer.@@
+			// <strong><u><span class=pink>$DJ.slaveName</span></u></strong> spends so much time giving birth and laboring that <span class=yellow>$he cannot effectively serve as your DJ any longer.</span>
 			V.DJ = 0;
 			V.unDJ = 2;
 		} else if (V.DJ.fetish === "mindbroken") {
-			//''__@@.pink;$DJ.slaveName@@__'' is mindbroken @@.yellow;and cannot serve as your DJ any more.@@<br>
+			// <strong><u><span class=pink>$DJ.slaveName</span></u></strong> is mindbroken <span class=yellow>and cannot serve as your DJ any more.</span><br>
 			V.DJ = 0;
 			V.unDJ = 3;
 		} else if (!canWalk(V.DJ)) {
-			//''__@@.pink;$DJ.slaveName@@__'' is no longer independently mobile @@.yellow;and cannot serve as your DJ any more.@@<br>
+			// <strong><u><span class=pink>$DJ.slaveName</span></u></strong> is no longer independently mobile <span class=yellow>and cannot serve as your DJ any more.</span><br>
 			V.DJ = 0;
 			V.unDJ = 4;
 		} else if (!canHear(V.DJ)) {
-			//''__@@.pink;$DJ.slaveName@@__'' can no longer hear @@.yellow;and cannot serve as your DJ any more.@@<br>
+			// <strong><u><span class=pink>$DJ.slaveName</span></u></strong> can no longer hear <span class=yellow>and cannot serve as your DJ any more.</span><br>
 			V.DJ = 0;
 			V.unDJ = 5;
 		}
@@ -966,16 +966,16 @@ window.slaveJobValues = function() {
 			DJRepBonus += 0.15;
 		}
 		if (V.DJ.skill.entertainment <= 10) {
-			//Though $DJ.slaveName does $his best to lead on the club, with $his lack of skill $he can do little.
+			// Though $DJ.slaveName does $his best to lead on the club, with $his lack of skill $he can do little.
 		} else if (V.DJ.skill.entertainment <= 30) {
 			DJRepBonus += 0.05;
-			//$DJ.slaveName's basic skills marginally @@.green;improve@@ the atmosphere on $clubName.
+			// $DJ.slaveName's basic skills marginally <span class=green>improve</span> the atmosphere on $clubName.
 		} else if (V.DJ.skill.entertainment <= 60) {
 			DJRepBonus += 0.1;
-			//$DJ.slaveName's skills @@.green;improve@@ the atmosphere on $clubName.
+			// $DJ.slaveName's skills <span class=green>improve</span> the atmosphere on $clubName.
 		} else if (V.DJ.skill.entertainment < 100) {
 			DJRepBonus += 0.15;
-			//$DJ.slaveName's skills greatly @@.green;improve@@ the atmosphere on $clubName.
+			// $DJ.slaveName's skills greatly <span class=green>improve</span> the atmosphere on $clubName.
 		} else if (V.DJ.skill.entertainment >= 100) {
 			DJRepBonus += 0.20;
 			// $DJ.slaveName's mastery immensely <span class=gree>;improves</span> the atmosphere on $clubName.
@@ -994,7 +994,7 @@ window.slaveJobValues = function() {
 		}
 		if (setup.DJCareers.includes(V.DJ.career)) {
 			DJRepBonus += 0.05;
-			//$He has musical experience from $his life before $he was a slave, a grounding that gives $his tracks actual depth.
+			// $He has musical experience from $his life before $he was a slave, a grounding that gives $his tracks actual depth.
 		} else if (V.DJ.skill.DJ >= V.masteredXP) {
 			DJRepBonus += 0.05;
 			// $He has musical experience from working for you, giving $his tracks actual depth.
@@ -1140,7 +1140,7 @@ window.slaveJobValues = function() {
 			// $His inability to move to the rhythm of the music is very off putting to those looking to party.
 		}
 
-		//Injuries
+		// Injuries
 		if (s.curatives < 1 || s.inflationType !== "curative") {
 			if (s.health < -50) {
 				s.health -= 8;
@@ -1458,7 +1458,7 @@ window.cashX = function(cost, what, who) {
 
 	// INCOME
 	if (cost > 0) {
-		//record the action
+		// record the action
 		if (typeof V.lastWeeksCashIncome[what] !== 'undefined') {
 			V.lastWeeksCashIncome[what] += cost;
 		} else {
@@ -1474,7 +1474,7 @@ window.cashX = function(cost, what, who) {
 
 	// EXPENSES
 	else if (cost < 0) {
-		//record the action
+		// record the action
 		if (typeof V.lastWeeksCashExpenses[what] !== 'undefined') {
 			V.lastWeeksCashExpenses[what] += cost;
 		} else {
@@ -1507,7 +1507,7 @@ window.repX = function(rep, what, who) {
 	// INCOME
 	// These are all scaled relative to current rep except when recording the who, to keep comparisons between slaves possible across times. This quite drastically reduces rep income at high levels of rep and only slightly at low levels.
 	if (rep > 0) {
-		//record the slave, if available
+		// record the slave, if available
 		if (typeof who !== 'undefined') {
 			who.lastWeeksRepIncome += rep;
 			who.lifetimeRepIncome += rep;
@@ -1527,7 +1527,7 @@ window.repX = function(rep, what, who) {
 
 	// EXPENSES
 	else if (rep < 0) {
-		//record the action
+		// record the action
 		if (typeof V.lastWeeksRepExpenses[what] !== 'undefined') {
 			V.lastWeeksRepExpenses[what] += rep;
 		} else {
diff --git a/src/js/extendedFamilyModeJS.js b/src/js/extendedFamilyModeJS.js
index de9c109f11b68c44985aa4eb36c1357a5a19b92c..a42ba83b21fac8cd4cc22b13e9493c944de66ed8 100644
--- a/src/js/extendedFamilyModeJS.js
+++ b/src/js/extendedFamilyModeJS.js
@@ -29,7 +29,12 @@ window.sameMom = function (slave1, slave2) {
 	}
 };
 
-window.isAunt = /** @param {App.Entity.SlaveState} niece, @param {App.Entity.SlaveState} aunt */ function (niece, aunt) {
+/**
+ * @param {App.Entity.SlaveState} niece
+ * @param {App.Entity.SlaveState} aunt
+ * @returns {boolean}
+ */
+window.isAunt = function (niece, aunt) {
 	if (!State.variables.showDistantRelatives) {
 		return false;
 	}
@@ -38,8 +43,8 @@ window.isAunt = /** @param {App.Entity.SlaveState} niece, @param {App.Entity.Sla
 		return false;
 	}
 
-	var mother;
-	var father;
+	let mother;
+	let father;
 
 	if ((mother = getSlave(niece.mother)) && (mother.ID !== aunt.ID) && !sameTParent(mother, aunt) && sameMom(mother, aunt) && sameDad(mother, aunt)) {
 		return true;
@@ -87,26 +92,26 @@ window.areTwins = function (slave1, slave2) {
 
 window.areSisters = function (slave1, slave2) {
 	if (slave1.ID === slave2.ID) {
-		return 0; //you are not your own sister
+		return 0; // you are not your own sister
 	} else if (((slave1.father === 0) || (slave1.father === -2)) && ((slave1.mother === 0) || (slave1.mother === -2))) {
-		return 0; //not related
+		return 0; // not related
 	} else {
 		if (!sameDad(slave1, slave2) && sameMom(slave1, slave2)) {
-			return 3; //half sisters
+			return 3; // half sisters
 		} else if (sameDad(slave1, slave2) && !sameMom(slave1, slave2)) {
-			return 3; //half sisters
+			return 3; // half sisters
 		} else if (sameTParent(slave1, slave2) === 3) {
-			return 3; //half sisters
+			return 3; // half sisters
 		} else if (sameTParent(slave1, slave2) === 2) {
-			return 2; //sisters
+			return 2; // sisters
 		} else if (sameDad(slave1, slave2) && sameMom(slave1, slave2)) {
 			if (slave1.actualAge === slave2.actualAge && slave1.birthWeek === slave2.birthWeek) {
-				return 1; //twins
+				return 1; // twins
 			} else {
-				return 2; //sisters
+				return 2; // sisters
 			}
 		} else {
-			return 0; //not related
+			return 0; // not related
 		}
 	}
 };
@@ -134,7 +139,12 @@ window.areSisters = function(c1, c2) {
 	}
 }
 */
-window.areCousins = /** @param {App.Entity.SlaveState} slave1, @param {App.Entity.SlaveState} slave2 */ function (slave1, slave2) {
+/**
+ * @param {App.Entity.SlaveState} slave1
+ * @param {App.Entity.SlaveState} slave2
+ * @returns {boolean}
+ */
+window.areCousins = function (slave1, slave2) {
 	if (!State.variables.showDistantRelatives) {
 		return false;
 	}
@@ -143,10 +153,10 @@ window.areCousins = /** @param {App.Entity.SlaveState} slave1, @param {App.Entit
 		return false;
 	}
 
-	var slave1Mom;
-	var slave1Dad;
-	var slave2Mom;
-	var slave2Dad;
+	let slave1Mom;
+	let slave1Dad;
+	let slave2Mom;
+	let slave2Dad;
 
 	if ((slave1Mom = getSlave(slave1.mother)) && (slave2Mom = getSlave(slave2.mother)) && !sameTParent(slave1Mom, slave2Mom) && sameMom(slave1Mom, slave2Mom) && sameDad(slave1Mom, slave2Mom)) {
 		return true;
@@ -161,13 +171,22 @@ window.areCousins = /** @param {App.Entity.SlaveState} slave1, @param {App.Entit
 	return false;
 };
 
-window.areRelated = /** @param {App.Entity.SlaveState} slave1, @param {App.Entity.SlaveState} slave2 */
+/**
+ * @param {App.Entity.SlaveState} slave1
+ * @param {App.Entity.SlaveState} slave2
+ * @returns {boolean}
+ */
+window.areRelated =
 	function (slave1, slave2) {
 		return (slave1.father === slave2.ID || slave1.mother === slave2.ID || slave2.father === slave1.ID || slave2.mother === slave1.ID || areSisters(slave1, slave2) > 0);
 	};
 
-window.totalRelatives = /** @param {App.Entity.SlaveState} slave */ function (slave) {
-	var relatives = 0;
+/**
+ * @param {App.Entity.SlaveState} slave
+ * @returns {number}
+ */
+window.totalRelatives = function (slave) {
+	let relatives = 0;
 	if (slave.mother > 0) {
 		relatives += 1;
 	}
@@ -187,6 +206,7 @@ window.totalRelatives = /** @param {App.Entity.SlaveState} slave */ function (sl
  * @param {App.Entity.SlaveState} slave1
  * @param {App.Entity.SlaveState} slave2
  * @param {App.Entity.SlaveState[]} slaves
+ * @returns {Array}	// I think
  */
 window.mutualChildren = function (slave1, slave2, slaves) {
 	return slaves.filter(function (s) {
@@ -194,7 +214,11 @@ window.mutualChildren = function (slave1, slave2, slaves) {
 	}).length;
 };
 
-window.isSlaveAvailable = /** @param {App.Entity.SlaveState} slave */ function (slave) {
+/**
+ * @param {App.Entity.SlaveState} slave
+ * @returns {boolean}
+ */
+window.isSlaveAvailable = function (slave) {
 	if (!slave) {
 		return null;
 	} else if (slave.assignment === "be your agent") {
@@ -218,16 +242,21 @@ window.randomRelatedSlave = function(slave, filterFunction) {
 }
 */
 
-window.randomRelatedSlave = /** @param {App.Entity.SlaveState} slave */ function (slave, filterFunction) {
+/**
+ * @param {App.Entity.SlaveState} slave
+ * @param {function} filterFunction	// I think
+ * @returns {object}	// I think
+ */
+window.randomRelatedSlave = function (slave, filterFunction) {
 	if (!slave || !SugarCube) {
 		return undefined;
 	}
 	if (typeof filterFunction !== 'function') {
-		filterFunction = function ( /*s, index, array*/ ) {
+		filterFunction = function ( /* s, index, array*/ ) {
 			return true;
 		};
 	}
-	var arr = State.variables.slaves.filter(filterFunction);
+	const arr = State.variables.slaves.filter(filterFunction);
 	arr.shuffle();
 	return arr.find(function (s) {
 		return areSisters(slave, s) ||
@@ -238,62 +267,98 @@ window.randomRelatedSlave = /** @param {App.Entity.SlaveState} slave */ function
 	});
 };
 
-window.randomRelatedAvailableSlave = /** @param {App.Entity.SlaveState} slave */ function (slave) {
+/**
+ * @param {App.Entity.SlaveState} slave
+ * @returns {object}
+ */
+window.randomRelatedAvailableSlave = function (slave) {
 	return randomRelatedSlave(slave, function (s) {
 		return isSlaveAvailable(s);
 	});
 };
 
-window.randomSister = /** @param {App.Entity.SlaveState} slave */ function (slave) {
+/**
+ * @param {App.Entity.SlaveState} slave
+ * @returns {object}
+ */
+window.randomSister = function (slave) {
 	return randomRelatedSlave(slave, function (s) {
 		return areSisters(slave, s);
 	});
 };
 
-window.randomTwinSister = /** @param {App.Entity.SlaveState} slave */ function (slave) {
+/**
+ * @param {App.Entity.SlaveState} slave
+ * @returns {object}
+ */
+window.randomTwinSister = function (slave) {
 	return randomRelatedSlave(slave, function (s) {
-		return areSisters(slave, s) === 1;
+		return areSisters(slave, s);
 	});
 };
 
-window.randomAvailableSister = /** @param {App.Entity.SlaveState} slave */ function (slave) {
+/**
+ * @param {App.Entity.SlaveState} slave
+ * @returns {object}
+ */
+window.randomAvailableSister = function (slave) {
 	return randomRelatedSlave(slave, function (s) {
 		return isSlaveAvailable(s) && areSisters(slave, s);
 	});
 };
 
-window.randomAvailableTwinSister = /** @param {App.Entity.SlaveState} slave */ function (slave) {
+/**
+ * @param {App.Entity.SlaveState} slave
+ * @returns {object}
+ */
+window.randomAvailableTwinSister = function (slave) {
 	return randomRelatedSlave(slave, function (s) {
-		return isSlaveAvailable(s) && areSisters(slave, s) === 1;
+		return isSlaveAvailable(s) && areSisters(slave, s);
 	});
 };
 
-window.randomDaughter = /** @param {App.Entity.SlaveState} slave */ function (slave) {
+/**
+ * @param {App.Entity.SlaveState} slave
+ * @returns {object}
+ */
+window.randomDaughter = function (slave) {
 	return randomRelatedSlave(slave, function (s) {
 		return s.mother === slave.ID || s.father === slave.ID;
 	});
 };
 
-window.randomAvailableDaughter = /** @param {App.Entity.SlaveState} slave */ function (slave) {
+/**
+ * @param {App.Entity.SlaveState} slave
+ * @returns {object}
+ */
+window.randomAvailableDaughter = function (slave) {
 	return randomRelatedSlave(slave, function (s) {
 		return isSlaveAvailable(s) && (s.mother === slave.ID || s.father === slave.ID);
 	});
 };
 
-window.randomParent = /** @param {App.Entity.SlaveState} slave */ function (slave) {
+/**
+ * @param {App.Entity.SlaveState} slave
+ * @returns {object}
+ */
+window.randomParent = function (slave) {
 	return randomRelatedSlave(slave, function (s) {
 		return s.ID === slave.mother || s.ID === slave.father;
 	});
 };
 
-window.randomAvailableParent = /** @param {App.Entity.SlaveState} slave */ function (slave) {
+/**
+ * @param {App.Entity.SlaveState} slave
+ * @returns {object}
+ */
+window.randomAvailableParent = function (slave) {
 	return randomRelatedSlave(slave, function (s) {
 		return isSlaveAvailable(s) && (s.ID === slave.mother || s.ID === slave.father);
 	});
 };
 
 window.totalPlayerRelatives = function (pc) {
-	var relatives = 0;
+	let relatives = 0;
 	if (pc.mother > 0) {
 		relatives += 1;
 	}
@@ -309,10 +374,15 @@ window.totalPlayerRelatives = function (pc) {
 	return relatives;
 };
 
-window.relativeTerm = /** @param {App.Entity.SlaveState} slave1 @param {App.Entity.SlaveState} slave2 */
+/**
+ * @param {App.Entity.SlaveState} slave1
+ * @param {App.Entity.SlaveState} slave2
+ * @returns {string}
+ */
+window.relativeTerm =
 	function (slave1, slave2) {
 		if (slave2.mother === slave1.ID || slave2.father === slave1.ID) {
-			if (slave2.genes === "XY" && State.variables.diversePronouns == 1) {
+			if (slave2.genes === "XY" && State.variables.diversePronouns) {
 				return "son";
 			} else {
 				return "daughter";
@@ -321,32 +391,32 @@ window.relativeTerm = /** @param {App.Entity.SlaveState} slave1 @param {App.Enti
 			return "mother";
 		} else if (slave1.father === slave2.ID) {
 			return "father";
-		} else if (areSisters(slave2, slave1) === 1) {
-			if (slave2.genes === "XY" && State.variables.diversePronouns == 1) {
+		} else if (areSisters(slave2, slave1)) {
+			if (slave2.genes === "XY" && State.variables.diversePronouns) {
 				return "twin brother";
 			} else {
 				return "twin sister";
 			}
 		} else if (areSisters(slave2, slave1) === 2) {
-			if (slave2.genes === "XY" && State.variables.diversePronouns == 1) {
+			if (slave2.genes === "XY" && State.variables.diversePronouns) {
 				return "brother";
 			} else {
 				return "sister";
 			}
 		} else if (areSisters(slave2, slave1) === 3) {
-			if (slave2.genes === "XY" && State.variables.diversePronouns == 1) {
+			if (slave2.genes === "XY" && State.variables.diversePronouns) {
 				return "half-brother";
 			} else {
 				return "half-sister";
 			}
 		} else if (isAunt(slave1, slave2)) {
-			if (slave2.genes === "XY" && State.variables.diversePronouns == 1) {
+			if (slave2.genes === "XY" && State.variables.diversePronouns) {
 				return "nephew";
 			} else {
 				return "niece";
 			}
 		} else if (isAunt(slave2, slave1)) {
-			if (slave2.genes === "XY" && State.variables.diversePronouns == 1) {
+			if (slave2.genes === "XY" && State.variables.diversePronouns) {
 				return "uncle";
 			} else {
 				return "aunt";