From a9098e3461346b71a1ed5b47602b8d88a35a69db Mon Sep 17 00:00:00 2001
From: Arkerthan <arkerthan@gmail.com>
Date: Mon, 1 Mar 2021 01:02:08 +0100
Subject: [PATCH] cleanup

---
 src/js/DefaultRules.js         | 115 +++++++++++++++------------------
 src/js/extendedFamilyModeJS.js |  22 ++-----
 src/js/findSlave.js            |   2 +
 3 files changed, 61 insertions(+), 78 deletions(-)

diff --git a/src/js/DefaultRules.js b/src/js/DefaultRules.js
index dda5938b36c..f0d6cbadd60 100644
--- a/src/js/DefaultRules.js
+++ b/src/js/DefaultRules.js
@@ -34,7 +34,7 @@ globalThis.DefaultRules = (function() {
 		r = "";
 		({he, him, his} = pronouns = getPronouns(slave));
 		const slaveReadOnly = createReadonlyProxy(slave);
-		const {rule, ruleIds} = runWithReadonlyProxy(()=>ProcessSlaveRules(slaveReadOnly));
+		const {rule, ruleIds} = runWithReadonlyProxy(() => ProcessSlaveRules(slaveReadOnly));
 		slave.currentRules = ruleIds;
 		if (ruleIds.length === 0) { return r; } // no rules apply
 
@@ -134,7 +134,7 @@ globalThis.DefaultRules = (function() {
 			r += `<span class="red">raWidgets missing case for assignment 'V.{rule.setAssignment}'.</span>`;
 			return rule;
 		}
-		const removeAssignment = ()=> {
+		const removeAssignment = () => {
 			if (job.facility !== App.Entity.facilities.penthouse) {
 				RAFacilityRemove(slave, rule); // before deleting rule.setAssignment
 			}
@@ -1185,12 +1185,11 @@ globalThis.DefaultRules = (function() {
 				rule.growth.dick,
 				rule.growth.balls
 			].every(r => r === null)  // Check if all objects in list equal null
-		){
+		) {
 			ProcessOtherDrugs(slave, rule);
 			return;
 		}
 
-
 		/** @typedef {"lips" | "boobs" | "butt" | "dick" | "balls"} DrugTarget */
 		// 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"]);
@@ -1741,7 +1740,7 @@ globalThis.DefaultRules = (function() {
 			}
 		}
 
-		if (rule.weight !== null || (rule.diet === "attractive") ) {
+		if (rule.weight !== null || (rule.diet === "attractive")) {
 			weightRule(slave, rule);
 		}
 		if (rule.weight === null && rule.diet !== "attractive" && rule.muscles !== null) {
@@ -1933,7 +1932,7 @@ globalThis.DefaultRules = (function() {
 	 */
 	function ProcessRest(slave, rule) {
 		if ((rule.restRules !== undefined) && (rule.restRules !== null)) {
-			if (slave.rules.rest !== rule.restRules ) {
+			if (slave.rules.rest !== rule.restRules) {
 				if ([Job.NURSE, Job.HEADGIRL, Job.TEACHER, Job.STEWARD, Job.MATRON, Job.FARMER, Job.MADAM, Job.WARDEN, Job.DJ, Job.MILKMAID].includes(slave.assignment)) {
 					// These assignments enforce "restrictive", do not let RA attempt to change it.
 				} else {
@@ -1985,7 +1984,7 @@ globalThis.DefaultRules = (function() {
 	function ProcessRelationship(slave, rule) {
 		if ((slave.fetish !== "mindbroken")) {
 			if ((rule.relationshipRules !== undefined) && (rule.relationshipRules !== null)) {
-				if (slave.rules.relationship !== rule.relationshipRules ) {
+				if (slave.rules.relationship !== rule.relationshipRules) {
 					slave.rules.relationship = rule.relationshipRules;
 					r += `<br>${slave.slaveName}'s relationship rules have been set to ${rule.relationshipRules}.`;
 				}
@@ -2009,6 +2008,7 @@ globalThis.DefaultRules = (function() {
 		if ((rule.releaseRules !== undefined) && (rule.releaseRules !== null) && processReleaseProp(releaseProperties)) {
 			r += `<br>${slave.slaveName}'s release rules have been set to: ${App.Utils.releaseSummaryLong(slave)}.`;
 		}
+
 		function processReleaseProp(releaseProperties) {
 			let changed = false;
 			for (const property of releaseProperties) {
@@ -2029,7 +2029,7 @@ globalThis.DefaultRules = (function() {
 	 */
 	function ProcessLactation(slave, rule) {
 		if ((rule.lactationRules !== undefined) && (rule.lactationRules !== null)) {
-			if (slave.rules.lactation !== rule.lactationRules ) {
+			if (slave.rules.lactation !== rule.lactationRules) {
 				if ((rule.lactationRules === "induce" && slave.lactation === 0) || (rule.lactationRules === "maintain" && slave.lactation === 1) || (rule.lactationRules === "none")) {
 					slave.rules.lactation = rule.lactationRules;
 					r += `<br>${slave.slaveName}'s lactation rules have been set to ${rule.lactationRules}.`;
@@ -2044,7 +2044,7 @@ globalThis.DefaultRules = (function() {
 	 */
 	function ProcessMobility(slave, rule) {
 		if ((rule.mobilityRules !== undefined) && (rule.mobilityRules !== null)) {
-			if (slave.rules.mobility !== rule.mobilityRules ) {
+			if (slave.rules.mobility !== rule.mobilityRules) {
 				slave.rules.mobility = rule.mobilityRules;
 				r += `<br>${slave.slaveName}'s usage of mobility aids has been set to ${rule.mobilityRules}.`;
 			}
@@ -2684,79 +2684,70 @@ globalThis.DefaultRules = (function() {
 	 */
 	function ProcessSmartPiercings(slave, rule) {
 		if (slave.clitPiercing === 3) {
-			let _used = 0;
 			if (rule.clitSetting !== undefined && rule.clitSetting !== null && rule.clitSetting !== "random") {
 				if (slave.clitSetting !== rule.clitSetting && slave.fetishStrength !== 100) {
 					slave.clitSetting = rule.clitSetting;
-					_used = 1;
 					r += `<br>${slave.slaveName}'s smart piercing has been set to ${slave.clitSetting}.`;
+					return;
 				} else if (slave.fetishStrength < 100) {
-					_used = 1;
+					return;
 				}
 			} else if (rule.clitSetting === "random") {
 				slave.clitSetting = either("vanilla", "oral", "anal", "boobs", "submissive", "dom", "humiliation", "pregnancy", "masochist", "sadist");
-				_used = 1;
 				r += `<br>${slave.slaveName}'s smart piercing has been set to ${slave.clitSetting}.`;
+				return;
 			}
-			if (_used === 0) {
-				if (rule.clitSettingEnergy !== undefined && (rule.clitSettingEnergy !== null)) {
-					if (slave.energy < rule.clitSettingEnergy) {
-						if (slave.clitSetting !== "all") {
-							r += `<br>${slave.slaveName}'s smart piercing has been set to enhance libido.`;
-						}
-						slave.clitSetting = "all";
-						_used = 1;
-					} else if (slave.energy >= rule.clitSettingEnergy + 10) {
-						if (slave.clitSetting !== "none") {
-							r += `<br>${slave.slaveName}'s smart piercing has been set to suppress libido.`;
-						}
-						slave.clitSetting = "none";
-						_used = 1;
+			if (rule.clitSettingEnergy !== undefined && (rule.clitSettingEnergy !== null)) {
+				if (slave.energy < rule.clitSettingEnergy) {
+					if (slave.clitSetting !== "all") {
+						r += `<br>${slave.slaveName}'s smart piercing has been set to enhance libido.`;
 					}
-				}
-			}
-			if (_used === 0) {
-				if (rule.clitSettingXY !== undefined && (rule.clitSettingXY !== null)) {
-					if (slave.attrXY < rule.clitSettingXY) {
-						if (slave.clitSetting !== "men") {
-							r += `<br>${slave.slaveName}'s smart piercing has been set to encourage attraction to men.`;
-						}
-						slave.clitSetting = "men";
-						_used = 1;
-					} else if (slave.attrXY >= rule.clitSettingXY + 10) {
-						if (slave.clitSetting !== "anti-men") {
-							r += `<br>${slave.slaveName}'s smart piercing has been set to discourage attraction to men.`;
-						}
-						slave.clitSetting = "anti-men";
-						_used = 1;
+					slave.clitSetting = "all";
+					return;
+				} else if (slave.energy >= rule.clitSettingEnergy + 10) {
+					if (slave.clitSetting !== "none") {
+						r += `<br>${slave.slaveName}'s smart piercing has been set to suppress libido.`;
 					}
+					slave.clitSetting = "none";
+					return;
 				}
 			}
-			if (_used === 0) {
-				if (rule.clitSettingXX !== undefined && (rule.clitSettingXX !== null)) {
-					if (slave.attrXX < rule.clitSettingXX) {
-						if (slave.clitSetting !== "women") {
-							r += `<br>${slave.slaveName}'s smart piercing has been set to encourage attraction to women.`;
-						}
-						slave.clitSetting = "women";
-						_used = 1;
-					} else if (slave.attrXX >= rule.clitSettingXX + 10) {
-						if (slave.clitSetting !== "anti-women") {
-							r += `<br>${slave.slaveName}'s smart piercing has been set to discourage attraction to women.`;
-						}
-						slave.clitSetting = "anti-women";
-						_used = 1;
+			if (rule.clitSettingXY !== undefined && (rule.clitSettingXY !== null)) {
+				if (slave.attrXY < rule.clitSettingXY) {
+					if (slave.clitSetting !== "men") {
+						r += `<br>${slave.slaveName}'s smart piercing has been set to encourage attraction to men.`;
 					}
+					slave.clitSetting = "men";
+					return;
+				} else if (slave.attrXY >= rule.clitSettingXY + 10) {
+					if (slave.clitSetting !== "anti-men") {
+						r += `<br>${slave.slaveName}'s smart piercing has been set to discourage attraction to men.`;
+					}
+					slave.clitSetting = "anti-men";
+					return;
 				}
 			}
-			if (_used === 0) {
-				if (rule.clitSetting !== undefined && rule.clitSetting !== null && slave.clitSetting !== rule.clitSetting) {
-					slave.clitSetting = rule.clitSetting;
-					_used = 1;
-					r += `<br>${slave.slaveName}'s smart piercing has been set to ${slave.clitSetting}.`;
+			if (rule.clitSettingXX !== undefined && (rule.clitSettingXX !== null)) {
+				if (slave.attrXX < rule.clitSettingXX) {
+					if (slave.clitSetting !== "women") {
+						r += `<br>${slave.slaveName}'s smart piercing has been set to encourage attraction to women.`;
+					}
+					slave.clitSetting = "women";
+					return;
+				} else if (slave.attrXX >= rule.clitSettingXX + 10) {
+					if (slave.clitSetting !== "anti-women") {
+						r += `<br>${slave.slaveName}'s smart piercing has been set to discourage attraction to women.`;
+					}
+					slave.clitSetting = "anti-women";
+					return;
 				}
 			}
 		}
+		if (rule.clitSetting !== undefined && rule.clitSetting !== null && slave.clitSetting !== rule.clitSetting) {
+			slave.clitSetting = rule.clitSetting;
+			r += `<br>${slave.slaveName}'s smart piercing has been set to ${slave.clitSetting}.`;
+			return;
+		}
 	}
 
 	/**
diff --git a/src/js/extendedFamilyModeJS.js b/src/js/extendedFamilyModeJS.js
index 023ece75ce1..55955af1b9f 100644
--- a/src/js/extendedFamilyModeJS.js
+++ b/src/js/extendedFamilyModeJS.js
@@ -46,10 +46,8 @@ globalThis.isParentP = function(daughter, parent) {
 globalThis.isGrandmotherP = function(granddaughter, grandmother) {
 	let father;
 	let mother;
-	if (((mother = getSlave(granddaughter.mother)) && (mother.mother === grandmother.ID)) || ((father = getSlave(granddaughter.father)) && (father.mother === grandmother.ID))) {
-		return true;
-	}
-	return false;
+	return ((mother = getSlave(granddaughter.mother)) && (mother.mother === grandmother.ID))
+		|| ((father = getSlave(granddaughter.father)) && (father.mother === grandmother.ID));
 };
 
 /** Returns true if grandfather is the grandfather of granddaughter
@@ -60,10 +58,8 @@ globalThis.isGrandmotherP = function(granddaughter, grandmother) {
 globalThis.isGrandfatherP = function(granddaughter, grandfather) {
 	let father;
 	let mother;
-	if (((mother = getSlave(granddaughter.mother)) && (mother.father === grandfather.ID)) || ((father = getSlave(granddaughter.father)) && (father.father === grandfather.ID))) {
-		return true;
-	}
-	return false;
+	return ((mother = getSlave(granddaughter.mother)) && (mother.father === grandfather.ID))
+		|| ((father = getSlave(granddaughter.father)) && (father.father === grandfather.ID));
 };
 
 /** Returns true if grandparent is the either the grandmother or grandfather of granddaughter
@@ -81,10 +77,7 @@ globalThis.isGrandparentP = function(granddaughter, grandparent) {
  * @returns {boolean}
  */
 globalThis.sameDad = function(slave1, slave2) {
-	if ((slave1.father === slave2.father) && (specificDad(slave1))) {
-		return true;
-	}
-	return false;
+	return (slave1.father === slave2.father) && (specificDad(slave1));
 };
 
 /** Returns true if slave1 and slave2 share the same mother
@@ -93,10 +86,7 @@ globalThis.sameDad = function(slave1, slave2) {
  * @returns {boolean}
  */
 globalThis.sameMom = function(slave1, slave2) {
-	if ((slave1.mother === slave2.mother) && (specificMom(slave1))) {
-		return true;
-	}
-	return false;
+	return (slave1.mother === slave2.mother) && (specificMom(slave1));
 };
 
 /** Returns true if slave1 and slave2 have at least one common parent
diff --git a/src/js/findSlave.js b/src/js/findSlave.js
index 3ce15a0cc31..44796f307e0 100644
--- a/src/js/findSlave.js
+++ b/src/js/findSlave.js
@@ -82,6 +82,8 @@ App.FindSlave.searchByExpression = function(query) {
 	if (query) {
 		const resultTitle = App.UI.DOM.appendNewElement("p", frag, "Query results from expression: ");
 		App.UI.DOM.appendNewElement("code", resultTitle, query);
+		/** @type {function(App.Entity.SlaveState):boolean} */
+		// @ts-ignore
 		const pred = new Function("slave", "return (" + query + ");");
 		const ids = runWithReadonlyProxy(() => { return this._slaveIDs(pred); });
 		this._appendResultList(ids, frag);
-- 
GitLab