From 200676cd93f7cc21a5f6ee046c5ff11c7b9d8e03 Mon Sep 17 00:00:00 2001
From: DCoded <dcoded@live.com>
Date: Thu, 4 Apr 2019 18:25:42 -0400
Subject: [PATCH] Shut up ESlint

---
 src/endWeek/saServant.js          |  24 +--
 src/interaction/main/mainLinks.js |  25 ++-
 src/js/DefaultRules.js            | 253 ++++++++++++++++++++++++------
 src/js/assayJS.js                 |   3 +-
 src/js/extendedFamilyModeJS.js    |  61 +++++--
 src/js/food.js                    |  15 +-
 src/js/wombJS.js                  |  12 +-
 7 files changed, 295 insertions(+), 98 deletions(-)

diff --git a/src/endWeek/saServant.js b/src/endWeek/saServant.js
index c0b3fd603cb..00a6a262ebd 100644
--- a/src/endWeek/saServant.js
+++ b/src/endWeek/saServant.js
@@ -3,18 +3,22 @@
  * @returns {string} Description of week-end as servant
  */
 window.saServant = function saServant(slave) {
+	"use strict";
 	const V = State.variables;
-	const pronouns = getPronouns(slave);
-	const he = pronouns.pronoun;
-	const him = pronouns.object;
-	const his = pronouns.possessive;
-	const hers = pronouns.possessivePronoun;
-	const himself = pronouns.objectReflexive;
-	const boy = pronouns.noun;
-	const He = capFirstChar(he);
-	const His = capFirstChar(his);
+	let t = ``;
+	/* eslint-disable */
+	let pronouns = getPronouns(slave);
+	let he = pronouns.pronoun;
+	let him = pronouns.object;
+	let his = pronouns.possessive;
+	let hers = pronouns.possessivePronoun;
+	let himself = pronouns.objectReflexive;
+	let boy = pronouns.noun;
+	let He = capFirstChar(he);
+	let His = capFirstChar(his);
+	/* eslint-enable */
 
-	let t = `works as a servant. ${He} performs the lowest jobs in your penthouse, cleaning up after your other slaves, bathing them, helping them dress, and giving them sexual relief.`;
+	t += `works as a servant. ${He} performs the lowest jobs in your penthouse, cleaning up after your other slaves, bathing them, helping them dress, and giving them sexual relief.`;
 
 	if (V.servantsQuarters > 0) {
 		if ((V.universalRulesFacilityWork === 1 && slave.assignment === "be a servant" && V.servantsQuartersSpots > 0) || (slave.assignment === "work as a servant")) {
diff --git a/src/interaction/main/mainLinks.js b/src/interaction/main/mainLinks.js
index 4f151ef91c1..fe85af3891b 100644
--- a/src/interaction/main/mainLinks.js
+++ b/src/interaction/main/mainLinks.js
@@ -1,8 +1,3 @@
-/* eslint-disable no-unused-vars */
-/* eslint-disable no-undef */
-
-/** breaks in the last case in switches are not required, but are highly recommended */
-
 /* OPEN MAIN */
 App.UI.View.MainLinks = function () {
 	"use strict";
@@ -12,15 +7,17 @@ App.UI.View.MainLinks = function () {
 	}) : [];
 	let r = ``;
 	if (V.HeadGirl) {
-		var pronouns = getPronouns(V.HeadGirl),
-			he = pronouns.pronoun,
-			him = pronouns.object,
-			his = pronouns.possessive,
-			hers = pronouns.possessivePronoun,
-			himself = pronouns.objectReflexive,
-			boy = pronouns.noun,
-			He = capFirstChar(he),
-			His = capFirstChar(his);
+		/* eslint-disable */
+		var pronouns = getPronouns(V.HeadGirl);
+		let he = pronouns.pronoun;
+		let him = pronouns.object;
+		let his = pronouns.possessive;
+		let hers = pronouns.possessivePronoun;
+		let himself = pronouns.objectReflexive;
+		let boy = pronouns.noun;
+		let He = capFirstChar(he);
+		let His = capFirstChar(his);
+		/* eslint-enable */
 	}
 
 	if (V.PCWounded === 1) {
diff --git a/src/js/DefaultRules.js b/src/js/DefaultRules.js
index e72f3b1790e..1f96f43d131 100644
--- a/src/js/DefaultRules.js
+++ b/src/js/DefaultRules.js
@@ -11,7 +11,7 @@ window.DefaultRules = (function() {
 
 	/**
 	 * @param {App.Entity.SlaveState} slave
-	 * @returns {string}
+	 * @returns {object}
 	 */
 	function DefaultRules(slave) {
 		if (slave.useRulesAssistant === 0) return r; // exempted
@@ -80,7 +80,10 @@ window.DefaultRules = (function() {
 		return r;
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @returns {map} 
+	*/
 	function MergeRules(slave) {
 		// merge all rules applying on a slave into one big rule
 		const rules = V.defaultRules.filter((x) => ruleAppliesP(x.condition, slave));
@@ -88,7 +91,11 @@ window.DefaultRules = (function() {
 		return mergeRules(rules.map((x) => ProcessAssignments(slave, Object.assign({}, x.set))));
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule	// not sure about this
+	 * @returns {object}	// not sure about this
+	*/
 	function ProcessAssignments(slave, rule) {
 		// Before merging rules, we process assignments for each rule separately so we can remove slaves from facilities when they no longer qualify, even if the final "winning" rule assigns them elsewhere
 		// We also ignore inapplicable assignments for the current slave, so we only merge assignments that are valid
@@ -304,7 +311,10 @@ window.DefaultRules = (function() {
 		return rule;
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function AssignJobToSlave(slave, rule) {
 		// place slave on assignment defined by the rule
 		if ((rule.setAssignment !== undefined && rule.setAssignment !== "no default setting")) {
@@ -361,7 +371,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessClothing(slave, rule) {
 		// apply clothes to slave
 		if ((rule.clothes !== undefined) && (rule.clothes !== "no default setting")) {
@@ -379,7 +392,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessCollar(slave, rule) {
 		// apply collar to slave
 		if ((rule.collar !== undefined) && (rule.collar !== "no default setting")) {
@@ -407,7 +423,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessEyewear(slave, rule) {
 		// apply glasses, contacts to slave
 		if ((rule.eyewear !== undefined) && (rule.eyewear !== "no default setting")) {
@@ -498,7 +517,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessEarwear(slave, rule) {
 		// apply earplugs to slave
 		if ((rule.earwear !== undefined) && (rule.earwear !== "no default setting")) {
@@ -558,7 +580,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessDildos(slave, rule) {
 		// apply vaginal dildos to slave
 		if (slave.vagina === 0) {
@@ -571,7 +596,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessVVirginDildos(slave, rule) {
 		// apply vaginal dildos to vaginal virgins
 		if ((rule.virginAccessory !== undefined) && (rule.virginAccessory !== "no default setting")) {
@@ -629,7 +657,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessAVirginDildos(slave, rule) {
 		// apply vaginal dildos to anal virgins
 		if ((rule.aVirginAccessory !== undefined) && (rule.aVirginAccessory !== "no default setting")) {
@@ -687,7 +718,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessNonVirginDildos(slave, rule) {
 		// apply vaginal dildos to non-virgins
 		if ((rule.vaginalAccessory !== undefined) && (rule.vaginalAccessory !== "no default setting")) {
@@ -744,7 +778,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessVaginalAttachments(slave, rule) {
 		// apply vaginal accessories to slaves
 		if (slave.vaginalAccessory === "none" && slave.vaginalAttachment === "vibrator") {
@@ -783,7 +820,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessDickAccessories(slave, rule) {
 		// apply dick accessories to slave
 		if ((slave.dick > 0)) {
@@ -813,7 +853,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessChastity(slave, rule) {
 		// apply chastity to slave
 		if ((rule.chastityVagina !== undefined) && (rule.chastityVagina !== "no default setting")) {
@@ -852,7 +895,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessShoes(slave, rule) {
 		// apply shoes to slave
 		if ((rule.shoes !== undefined) && (rule.shoes !== "no default setting")) {
@@ -865,7 +911,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessBellyAccessories(slave, rule) {
 		// apply belly accessories to slave
 		if ((rule.bellyAccessory !== undefined) && (rule.bellyAccessory !== "no default setting")) {
@@ -885,7 +934,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessLegAccessory(slave, rule) {
 		if (rule.legAccessory !== undefined && rule.legAccessory !== "no default setting" && slave.amp !== 1 && slave.legAccessory !== rule.legAccessory) {
 			slave.legAccessory = rule.legAccessory;
@@ -893,7 +945,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessAnalAccessories(slave, rule) {
 		// apply buttplugs and buttplug accessories to slave
 		if (slave.chastityAnus !== 1) {
@@ -906,7 +961,10 @@ window.DefaultRules = (function() {
 		ProcessButtplugAttachments(slave, rule);
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessAnalVirginButtplugs(slave, rule) {
 		// apply buttplugs to virgins
 		if ((rule.aVirginButtplug !== undefined) && (rule.aVirginButtplug !== "no default setting")) {
@@ -964,7 +1022,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessNonVirginButtplugs(slave, rule) {
 		// apply buttplugs to non-virgins
 		if ((rule.buttplug !== undefined) && (rule.buttplug !== "no default setting")) {
@@ -1022,7 +1083,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessButtplugAttachments(slave, rule) {
 		// apply buttplug accessories to slaves
 		if (slave.buttplug === "none" && slave.buttplugAttachment !== "none") {
@@ -1043,7 +1107,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessBellyImplant(slave, rule) {
 		// Here is belly implant size control, it's used in Surgery Degradation passage to setup devotion and trust changes.
 		// silent calls to surgery degradation have been replaced with a js function, which is less hacky
@@ -1076,7 +1143,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} volume
+	*/
 	function BellySurgery(slave, volume) {
 		// this is a port of the belly implant portion of surgeryDegradation.tw
 		// that way, we don't have to use ugly hacks
@@ -1119,7 +1189,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessContraceptives(slave, rule) {
 		if ((rule.preg !== undefined) && (rule.preg !== "no default setting")) {
 			if (rule.preg === true && slave.preg === 0) {
@@ -1132,7 +1205,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessAbortions(slave, rule) {
 		if ((rule.abortion !== undefined) && (rule.abortion !== "no default setting")) {
 			if (rule.abortion === "all") {
@@ -1213,7 +1289,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessAssetGrowthDrugs(slave, rule) {
 		// Asset Growth
 		const growthDrugs = new Set(["breast injections", "breast redistributors", "butt injections", "butt redistributors", "hyper breast injections", "hyper butt injections", "hyper penis enhancement", "hyper testicle enhancement", "intensive breast injections", "intensive butt injections", "intensive penis enhancement", "intensive testicle enhancement", "lip atrophiers", "lip injections", "penis atrophiers", "penis enhancement", "testicle atrophiers", "testicle enhancement"]);
@@ -1434,7 +1513,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessOtherDrugs(slave, rule) {
 		// Other Drugs
 		if (slave.indentureRestrictions < 2 && rule.drug !== "no default setting" && slave.drugs !== rule.drug) {
@@ -1602,7 +1684,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessEnema(slave, rule) {
 		if ((rule.inflationType !== undefined) && (rule.inflationType !== "no default setting")) {
 			if (slave.inflationType !== rule.inflationType) {
@@ -1644,7 +1729,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessDiet(slave, rule) {
 		// Diet Setting
 		if (rule.diet !== undefined && rule.diet !== "no default setting") {
@@ -1822,7 +1910,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessCuratives(slave, rule) {
 		if ((rule.curatives !== undefined) && (rule.curatives !== "no default setting")) {
 			if (slave.curatives !== rule.curatives) {
@@ -1844,7 +1935,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessAphrodisiacs(slave, rule) {
 		if ((rule.aphrodisiacs !== undefined) && (rule.aphrodisiacs !== "no default setting")) {
 			if (slave.aphrodisiacs !== rule.aphrodisiacs) {
@@ -1854,7 +1948,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessPenisHormones(slave, rule) {
 		if ((slave.dick > 0)) {
 			if ((slave.balls === 0)) {
@@ -1893,7 +1990,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessFemaleHormones(slave, rule) {
 		if ((slave.vagina > -1) && (slave.dick === 0) && (rule.XX !== undefined) && (rule.XX !== "no default setting")) {
 			if ((slave.hormones !== rule.XX)) {
@@ -1909,7 +2009,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessPregnancyDrugs(slave, rule) {
 		if (slave.pregKnown === 1 && rule.pregSpeed !== "no default setting" && (slave.breedingMark !== 1 || V.propOutcome === 0) && slave.indentureRestrictions < 1 && slave.broodmother === 0) {
 			if (rule.pregSpeed === "slow" && slave.preg < slave.pregData.minLiveBirth) {
@@ -1936,7 +2039,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessLivingStandard(slave, rule) {
 		if ((rule.livingRules !== undefined) && (rule.livingRules !== "no default setting")) {
 			if (setup.facilityCareers.includes(slave.assignment)) {
@@ -1970,7 +2076,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessSpeech(slave, rule) {
 		if ((rule.speechRules !== undefined) && (rule.speechRules !== "no default setting") && (slave.speechRules !== rule.speechRules)) {
 			if (slave.fetish === "mindbroken") {
@@ -2001,7 +2110,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessRelationship(slave, rule) {
 		if ((slave.fetish !== "mindbroken")) {
 			if ((rule.relationshipRules !== undefined) && (rule.relationshipRules !== "no default setting")) {
@@ -2013,7 +2125,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessRelease(slave, rule) {
 		if ((rule.releaseRules !== undefined) && (rule.releaseRules !== "no default setting")) {
 			let _release = 0;
@@ -2036,7 +2151,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessPunishment(slave, rule) {
 		if ((rule.standardPunishment !== undefined) && (rule.standardPunishment !== "no default setting")) {
 			if ((slave.standardPunishment !== rule.standardPunishment)) {
@@ -2046,7 +2164,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessReward(slave, rule) {
 		if ((rule.standardReward !== undefined) && (rule.standardReward !== "no default setting")) {
 			if ((slave.standardReward !== rule.standardReward)) {
@@ -2056,7 +2177,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessToyHole(slave, rule) {
 		if ((rule.toyHole !== undefined) && (rule.toyHole !== "no default setting")) {
 			if (rule.toyHole === "pussy") {
@@ -2090,7 +2214,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessDietCum(slave, rule) {
 		if ((rule.dietCum !== undefined) && (rule.dietCum !== "no default setting")) {
 			if (slave.dietCum !== rule.dietCum) {
@@ -2107,7 +2234,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessDietMilk(slave, rule) {
 		if ((rule.dietMilk !== undefined) && (rule.dietMilk !== "no default setting")) {
 			if (slave.dietMilk !== rule.dietMilk) {
@@ -2124,7 +2254,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessSolidFood(slave, rule) {
 		if ((rule.onDiet !== undefined) && (rule.onDiet !== "no default setting")) {
 			if ((slave.onDiet !== rule.onDiet)) {
@@ -2138,7 +2271,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessTeeth(slave, rule) {
 		if ((rule.teeth !== undefined) && (rule.teeth !== "no default setting")) {
 			if ((rule.teeth === "universal")) {
@@ -2180,7 +2316,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessStyle(slave, rule) {
 		if (rule.eyeColor !== undefined && (rule.eyeColor !== "no default setting")) {
 			if ((slave.eyeColor !== rule.eyeColor)) {
@@ -2575,7 +2714,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessSmartPiercings(slave, rule) {
 		if ((slave.clitPiercing === 3)) {
 			let _used = 0;
@@ -2642,7 +2784,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessTattoos(slave, rule) {
 		if (rule.boobsTat !== undefined && (rule.boobsTat !== "no default setting")) {
 			if ((slave.boobsTat !== rule.boobsTat)) {
@@ -2749,7 +2894,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessPornFeedEnabled(slave, rule) {
 		if (rule.pornFeed === undefined || rule.pornFeed === "no default setting") {
 			return;
@@ -2776,7 +2924,10 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	/** @param {App.Entity.SlaveState} slave */
+	/**
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {object} rule
+	*/
 	function ProcessLabel(slave, rule) {
 		if (rule.label !== "no default setting" && !slave.customLabel.includes(`[${rule.label}]`)) {
 			slave.customLabel = `${slave.customLabel }[${ rule.label }]`;
diff --git a/src/js/assayJS.js b/src/js/assayJS.js
index 402edab333e..8057ae77c32 100644
--- a/src/js/assayJS.js
+++ b/src/js/assayJS.js
@@ -2078,10 +2078,9 @@ window.MenialPopCap = function MenialPopCap() {
 /**
  * @param {App.Entity.SlaveState} slave
  * @param {number} amount
- window.faceIncrease =
  * @returns {string}
  */
-function faceIncrease(slave, amount) {
+window.faceIncrease = function faceIncrease(slave, amount) {
 	const pronouns = getPronouns(slave);
 	const his = pronouns.possessive;
 	const His = capFirstChar(his);
diff --git a/src/js/extendedFamilyModeJS.js b/src/js/extendedFamilyModeJS.js
index 7a27c997341..95fb1d68101 100644
--- a/src/js/extendedFamilyModeJS.js
+++ b/src/js/extendedFamilyModeJS.js
@@ -138,7 +138,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;
 	}
@@ -260,55 +265,91 @@ window.randomRelatedSlave = function (slave, filterFunction) {
 	});
 };
 
-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;
 	});
 };
 
-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;
 	});
 };
 
-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);
 	});
diff --git a/src/js/food.js b/src/js/food.js
index 87f5f7b1f80..eb25a077860 100644
--- a/src/js/food.js
+++ b/src/js/food.js
@@ -1,5 +1,7 @@
-/* eslint-disable no-undef */
-/** @param {App.Entity.SlaveState} slave */
+/**
+ * @param {App.Entity.SlaveState} slave
+ * @returns {number}
+ */
 window.foodAmount = function(slave) {
 	const V = State.variables;
 	let food = 400;													// kg / food produced by base slave / week
@@ -8,7 +10,7 @@ window.foodAmount = function(slave) {
 	} else {
 		if (V.Farmer !== 0) {										// if a farmer is assigned
 			food *= 1.1;											// TODO: expand this to account for farmer XP and skill
-			if (V.Farmer.skill.farmer >= V.masteredXP) {					// if farmer is master
+			if (V.Farmer.skill.farmer >= V.masteredXP) {			// if farmer is master
 				food *= 1.1;
 			}
 		}
@@ -55,7 +57,10 @@ window.foodAmount = function(slave) {
 	}
 };
 
-/** @param {App.Entity.SlaveState} slave */
+/**
+ * @param {App.Entity.SlaveState} slave
+ * @returns {number}
+ */
 window.farmShowsIncome = function(slave) {
 																	// TODO: incorporate farmyardRestraints
 	const V = State.variables;
@@ -66,7 +71,7 @@ window.farmShowsIncome = function(slave) {
 	} else {
 		if (V.Farmer !== 0) {										// farmer is assigned
 			cash *= 1.1;
-			if (V.Farmer.skill.farmer >= V.masteredXP) {					// farmer is master
+			if (V.Farmer.skill.farmer >= V.masteredXP) {			// farmer is master
 				cash *= 1.1;
 			}
 		}
diff --git a/src/js/wombJS.js b/src/js/wombJS.js
index 19d78e3fa0e..0645ebd13d8 100644
--- a/src/js/wombJS.js
+++ b/src/js/wombJS.js
@@ -772,11 +772,11 @@ In summary she carry _wd.litters.length separate sets of children. Her most prog
 ---
 */
 window.WombGetLittersData = function (actor) {
-	var data = {};
-	var unicLiters = []; // array with realAges of separate litters.
-	var countLitter = [];
-	var litterData = [];
-	var tmp;
+	let data = {};
+	let unicLiters = []; // array with realAges of separate litters.
+	let countLitter = [];
+	let litterData = [];
+	let tmp;
 	
 	// in first place we need to know how many litters here (Assuming that unique litter is have similar .realAge). Also we will know their ages.
 	actor.womb.forEach(function(ft)
@@ -787,7 +787,7 @@ window.WombGetLittersData = function (actor) {
 	});
 	
 	// now we should find and store separate litters data (count of fetuses):
-	unicLiters.forEach(function(litter, i)
+	unicLiters.forEach(function(litter, i)	// TODO: i is defined but not used
 	{
 		tmp = actor.womb.filter(ft => Math.ceil(ft.realAge) === litter);
 		countLitter.push(tmp.length);
-- 
GitLab