From 91a14e29d737c6e7571ed60d7939845aad20d243 Mon Sep 17 00:00:00 2001
From: Vasileios Pasialiokis <whiterocket@outlook.com>
Date: Mon, 2 Apr 2018 19:34:06 +0300
Subject: [PATCH] fix some bugs

---
 src/js/DefaultRules.tw              | 108 ++++++++++++++--------------
 src/js/assayJS.tw                   |   2 +-
 src/js/rulesAssistant.tw            |  25 +++++--
 src/js/rulesAssistantOptions.tw     |  21 +++---
 src/uncategorized/initRules.tw      |  42 +++++------
 src/uncategorized/rulesAssistant.tw |  15 ++--
 6 files changed, 115 insertions(+), 98 deletions(-)

diff --git a/src/js/DefaultRules.tw b/src/js/DefaultRules.tw
index 6627ed3f8f1..81ba6af24f2 100644
--- a/src/js/DefaultRules.tw
+++ b/src/js/DefaultRules.tw
@@ -7,12 +7,12 @@ window.DefaultRules = (function() {
 	let r = ""
 
 	function DefaultRules(slave) {
-		let V = State.variables
-		let combinedRule = MergeRules(slave)
+		V = State.variables
+		let rule = MergeRules(slave)
 
-		if (Object.keys(combinedRule).length === 0) return r // no rules apply
+		if (Object.keys(rule).length === 0) return r // no rules apply
 
-		AssignJobToSlave(slave, combinedRule)
+		AssignJobToSlave(slave, rule)
 		if(slave.fuckdoll === 0) {
 			ProcessClothing(slave, rule)
 			ProcessCollar(slave, rule)
@@ -23,7 +23,7 @@ window.DefaultRules = (function() {
 			ProcessShoes(slave, rule)
 			ProcessBellyAccessories(slave, rule)
 		}
-		ProcessBellyImplant(slave, combinedRule)
+		ProcessBellyImplant(slave, rule)
 		if (isFertile(slave))
 			ProcessFertilityDrugs(slave, rule)
 		ProcessAssetGrowthDrugs(slave, rule)
@@ -57,7 +57,7 @@ window.DefaultRules = (function() {
 		// merge all rules applying on a slave into one big rule
 		let combinedRule = {}
 		V.defaultRules.forEach(rule => {
-			rule = clone(rule)
+			rule = Object.assign({}, rule.set)
 			
 			// skip inapplicable rules 
 			if (!ruleApplied(slave, rule)) return
@@ -910,54 +910,54 @@ window.DefaultRules = (function() {
 		if ((slave.drugs == "super fertility drugs" || slave.drugs == "fertility drugs") && isFertile(slave)) {
 			r += `<br>slave.slaveName is on slave.drugs and will not be considered for drug enhancement until that regime is complete.`
 			return
-		} else if ((rule.growth.boobs == "no default setting" && rule.growth.butt == "no default setting" && rule.growth.lips == "no default setting" && rule.growth.dick == "no default setting" && rule.growth.dick == "no default setting" && rule.growth.balls == "no default setting")) {
+		} else if ((rule.growth_boobs == "no default setting" && rule.growth_butt == "no default setting" && rule.growth_lips == "no default setting" && rule.growth_dick == "no default setting" && rule.growth_dick == "no default setting" && rule.growth_balls == "no default setting")) {
 			return
 		}
 		if (slave.assignmentVisible) { // More resource intensive version with prioritizing. Possible to give this a toggle rather than basing it on visibility. 
 			let _priorities = []
-			if (rule.growth.boobs != "no default setting") {
+			if (rule.growth_boobs != "no default setting") {
 				let _priority
-				if (slave.boobs < rule.growth.boobs) {
-					_priority = {drug: "breast injections", weight: (rule.growth.boobs-slave.boobs)/rule.growth.boobs}
+				if (slave.boobs < rule.growth_boobs) {
+					_priority = {drug: "breast injections", weight: (rule.growth_boobs-slave.boobs)/rule.growth_boobs}
 					_priorities.push(_priority)
-				} else if ((slave.boobs > rule.growth.boobs+200) && slave.weight < 100 && (V.arcologies[0].FSSlimnessEnthusiastResearch == 1)) {
-					_priority = {drug: "breast redistributors", weight: (1+((slave.boobs-slave.boobsImplant-rule.growth.boobs)/rule.growth.boobs))}, _priorities.push(_priority)
+				} else if ((slave.boobs > rule.growth_boobs+200) && slave.weight < 100 && (V.arcologies[0].FSSlimnessEnthusiastResearch == 1)) {
+					_priority = {drug: "breast redistributors", weight: (1+((slave.boobs-slave.boobsImplant-rule.growth_boobs)/rule.growth_boobs))}, _priorities.push(_priority)
 				}
 			}
-			if (rule.growth.butt != "no default setting") {
+			if (rule.growth_butt != "no default setting") {
 				let _priority
-				if (slave.butt < rule.growth.butt) {
-					_priority = {drug: "butt injections", weight: (rule.growth.butt-slave.butt)/rule.growth.butt}
+				if (slave.butt < rule.growth_butt) {
+					_priority = {drug: "butt injections", weight: (rule.growth_butt-slave.butt)/rule.growth_butt}
 					_priorities.push(_priority)
-				} else if ((Math.trunc(slave.butt) > rule.growth.butt) && slave.weight < 100 && (V.arcologies[0].FSSlimnessEnthusiastResearch == 1)) {
-					_priority = {drug: "butt redistributors", weight: (1+((slave.butt-slave.buttImplant-rule.growth.butt)/rule.growth.butt))}, _priorities.push(_priority)
+				} else if ((Math.trunc(slave.butt) > rule.growth_butt) && slave.weight < 100 && (V.arcologies[0].FSSlimnessEnthusiastResearch == 1)) {
+					_priority = {drug: "butt redistributors", weight: (1+((slave.butt-slave.buttImplant-rule.growth_butt)/rule.growth_butt))}, _priorities.push(_priority)
 				}
 			}
-			if (rule.growth.lips != "no default setting") {
+			if (rule.growth_lips != "no default setting") {
 				let _priority
-				if (slave.lips < rule.growth.lips) {
-					_priority = {drug: "lip injections", weight: (rule.growth.lips-slave.lips)/rule.growth.lips}
+				if (slave.lips < rule.growth_lips) {
+					_priority = {drug: "lip injections", weight: (rule.growth_lips-slave.lips)/rule.growth_lips}
 					_priorities.push(_priority)
-				} else if ((slave.lips > rule.growth.lips) && (V.arcologies[0].FSSlimnessEnthusiastResearch == 1)) {
-					_priority = {drug: "lip atrophiers", weight: (1+((slave.lips-slave.lipsImplant-rule.growth.lips)/rule.growth.lips))}, _priorities.push(_priority)
+				} else if ((slave.lips > rule.growth_lips) && (V.arcologies[0].FSSlimnessEnthusiastResearch == 1)) {
+					_priority = {drug: "lip atrophiers", weight: (1+((slave.lips-slave.lipsImplant-rule.growth_lips)/rule.growth_lips))}, _priorities.push(_priority)
 				}
 			}
-			if (rule.growth.dick != "no default setting" && slave.dick) {
+			if (rule.growth_dick != "no default setting" && slave.dick) {
 				let _priority
-				if (slave.dick < rule.growth.dick) {
-					_priority = {drug: "penis enhancement", weight: (rule.growth.dick-slave.dick)/rule.growth.dick}
+				if (slave.dick < rule.growth_dick) {
+					_priority = {drug: "penis enhancement", weight: (rule.growth_dick-slave.dick)/rule.growth_dick}
 					_priorities.push(_priority)
-				} else if ((slave.dick > rule.growth.dick) && (V.arcologies[0].FSSlimnessEnthusiastResearch == 1)) {
-					_priority = {drug: "penis atrophiers", weight: (1+((slave.dick-rule.growth.dick)/rule.growth.dick))}, _priorities.push(_priority)
+				} else if ((slave.dick > rule.growth_dick) && (V.arcologies[0].FSSlimnessEnthusiastResearch == 1)) {
+					_priority = {drug: "penis atrophiers", weight: (1+((slave.dick-rule.growth_dick)/rule.growth_dick))}, _priorities.push(_priority)
 				}
 			}
-			if (rule.growth.balls != "no default setting" && slave.balls) {
+			if (rule.growth_balls != "no default setting" && slave.balls) {
 				let _priority
-				if (slave.balls < rule.growth.balls) {
-					_priority = {drug: "testicle enhancement", weight: (rule.growth.balls-slave.balls)/rule.growth.balls}
+				if (slave.balls < rule.growth_balls) {
+					_priority = {drug: "testicle enhancement", weight: (rule.growth_balls-slave.balls)/rule.growth_balls}
 					_priorities.push(_priority)
-				} else if ((slave.balls > rule.growth.balls) && (V.arcologies[0].FSSlimnessEnthusiastResearch == 1)) {
-					_priority = {drug: "testicle atrophiers", weight: (1+((slave.balls-rule.growth.balls)/rule.growth.balls))}, _priorities.push(_priority)
+				} else if ((slave.balls > rule.growth_balls) && (V.arcologies[0].FSSlimnessEnthusiastResearch == 1)) {
+					_priority = {drug: "testicle atrophiers", weight: (1+((slave.balls-rule.growth_balls)/rule.growth_balls))}, _priorities.push(_priority)
 				}
 			}
 			if (_priorities.length > 1) {
@@ -965,7 +965,7 @@ window.DefaultRules = (function() {
 				if (slave.drugs != _priorities[0].drug) {
 					slave.drugs = _priorities[0].drug
 					r += `<br>${slave.slaveName} has been put on `
-					if (rule.growth.intensity && slave.drugs != "lip injections" && slave.health > 0) {
+					if (rule.growth_intensity && slave.drugs != "lip injections" && slave.health > 0) {
 						slave.drugs = "intensive " + slave.drugs
 						r += `${slave.drugs}, since she's healthy enough to take them, and `
 					} else {
@@ -981,7 +981,7 @@ window.DefaultRules = (function() {
 				if (slave.drugs != _priorities[0].drug) {
 					slave.drugs = _priorities[0].drug
 					r += `<br>${slave.slaveName} has been put on `
-					if (rule.growth.intensity && slave.drugs != "lip injections" && slave.health > 0) {
+					if (rule.growth_intensity && slave.drugs != "lip injections" && slave.health > 0) {
 						slave.drugs = "intensive " + slave.drugs
 						r += `${slave.drugs}, since she's healthy enough to take them, and `
 					} else
@@ -1000,8 +1000,8 @@ window.DefaultRules = (function() {
 				_hyper = "hyper "
 			else
 				_hyper = ""
-			if (rule.growth.boobs != "no default setting") {
-				if (slave.boobs < rule.growth.boobs) {
+			if (rule.growth_boobs != "no default setting") {
+				if (slave.boobs < rule.growth_boobs) {
 					if (slave.drugs != _hyper + "breast injections") {
 						slave.drugs = _hyper + "breast injections"
 						r += `<br>${slave.slaveName} has been put on ${slave.drugs}.`
@@ -1009,8 +1009,8 @@ window.DefaultRules = (function() {
 					return
 				}
 			}
-			if (rule.growth.butt != "no default setting") {
-				if (slave.butt < rule.growth.butt) {
+			if (rule.growth_butt != "no default setting") {
+				if (slave.butt < rule.growth_butt) {
 					if (slave.drugs != _hyper + "butt injections") {
 						slave.drugs = _hyper + "butt injections"
 						r += `<br>${slave.slaveName} has been put on ${slave.drugs}.`
@@ -1018,8 +1018,8 @@ window.DefaultRules = (function() {
 					return
 				}
 			}
-			if (rule.growth.lips != "no default setting") {
-				if (slave.lips < rule.growth.lips) {
+			if (rule.growth_lips != "no default setting") {
+				if (slave.lips < rule.growth_lips) {
 					if (slave.drugs != "lip injections") {
 						slave.drugs = "lip injections"
 						r += `<br>${slave.slaveName} has been put on ${slave.drugs}.`
@@ -1027,8 +1027,8 @@ window.DefaultRules = (function() {
 					return
 				}
 			}
-			if (rule.growth.dick != "no default setting" && slave.dick) {
-				if (slave.dick < rule.growth.dick) {
+			if (rule.growth_dick != "no default setting" && slave.dick) {
+				if (slave.dick < rule.growth_dick) {
 					if (slave.drugs != _hyper + "penis enhancement") {
 						slave.drugs = _hyper + "penis enhancement"
 						r += `<br>${slave.slaveName} has been put on ${slave.drugs}.`
@@ -1036,8 +1036,8 @@ window.DefaultRules = (function() {
 					return
 				}
 			}
-			if (rule.growth.balls != "no default setting" && slave.balls) {
-				if (slave.balls < rule.growth.balls) {
+			if (rule.growth_balls != "no default setting" && slave.balls) {
+				if (slave.balls < rule.growth_balls) {
 					if (slave.drugs != _hyper + "testicle enhancement") {
 						slave.drugs = _hyper + "testicle enhancement"
 						r += `<br>${slave.slaveName} has been put on ${slave.drugs}.`
@@ -1046,8 +1046,8 @@ window.DefaultRules = (function() {
 				}
 			}
 			if (V.arcologies[0].FSSlimnessEnthusiastResearch == 1) {
-				if (rule.growth.boobs != "no default setting") {
-					if (slave.boobs-slave.boobsImplant > rule.growth.boobs+200 && slave.weight < 100) {
+				if (rule.growth_boobs != "no default setting") {
+					if (slave.boobs-slave.boobsImplant > rule.growth_boobs+200 && slave.weight < 100) {
 						if (slave.drugs != "breast redistributors") {
 							slave.drugs = "breast redistributors"
 							r += `<br>${slave.slaveName} has been put on ${slave.drugs}.`
@@ -1055,8 +1055,8 @@ window.DefaultRules = (function() {
 						return
 					}
 				}
-				if (rule.growth.butt != "no default setting") {
-					if (Math.trunc(slave.butt-slave.buttImplant) > rule.growth.butt && slave.weight < 100) {
+				if (rule.growth_butt != "no default setting") {
+					if (Math.trunc(slave.butt-slave.buttImplant) > rule.growth_butt && slave.weight < 100) {
 						if (slave.drugs != "butt redistributors") {
 							slave.drugs = "butt redistributors"
 							r += `<br>${slave.slaveName} has been put on ${slave.drugs}.`
@@ -1064,8 +1064,8 @@ window.DefaultRules = (function() {
 						return
 					}
 				}
-				if (rule.growth.lips != "no default setting") {
-					if (slave.lips-slave.lipsImplant > rule.growth.lips) {
+				if (rule.growth_lips != "no default setting") {
+					if (slave.lips-slave.lipsImplant > rule.growth_lips) {
 						if (slave.drugs != "lip atrophiers") {
 							slave.drugs = "lip atrophiers"
 							r += `<br>${slave.slaveName} has been put on ${slave.drugs}.`
@@ -1073,8 +1073,8 @@ window.DefaultRules = (function() {
 						return
 					}
 				}
-				if (rule.growth.dick != "no default setting" && slave.dick) {
-					if (slave.dick > rule.growth.dick) {
+				if (rule.growth_dick != "no default setting" && slave.dick) {
+					if (slave.dick > rule.growth_dick) {
 						if (slave.drugs != "penis atrophiers") {
 							slave.drugs = "penis atrophiers"
 							r += `<br>${slave.slaveName} has been put on ${slave.drugs}.`
@@ -1082,8 +1082,8 @@ window.DefaultRules = (function() {
 						return
 					}
 				}
-				if (rule.growth.balls != "no default setting" && slave.balls) {
-					if (slave.balls > rule.growth.balls) {
+				if (rule.growth_balls != "no default setting" && slave.balls) {
+					if (slave.balls > rule.growth_balls) {
 						if (slave.drugs != "testicle atrophiers") {
 							slave.drugs = "testicle atrophiers"
 							r += `<br>${slave.slaveName} has been put on ${slave.drugs}.`
diff --git a/src/js/assayJS.tw b/src/js/assayJS.tw
index 3638873b6ef..103dc892014 100644
--- a/src/js/assayJS.tw
+++ b/src/js/assayJS.tw
@@ -229,6 +229,6 @@ window.isLeaderP = function isLeaderP(slave) {
 window.properTitle = function properTitle() {
 	const PC = State.variables.PC
 	if (PC.customTitle) return PC.customTitle;
-	else if (V.PC.title !== 0) return "Sir";
+	else if (PC.title !== 0) return "Sir";
 	else return "Ma'am";
 };
diff --git a/src/js/rulesAssistant.tw b/src/js/rulesAssistant.tw
index 25481e8c743..9278e161f2c 100644
--- a/src/js/rulesAssistant.tw
+++ b/src/js/rulesAssistant.tw
@@ -422,13 +422,28 @@ window.printError = function(exprStr, error) {
 }
 */
 
+window.mergeRules = function mergeRules(rules) {
+	const combinedRule = {};
+	rules.forEach(rule => {
+		// A rule overrides any preceding ones if,
+		//   * there are no preceding ones,
+		//   * or it sets autoBrand,
+		//   * or it does not set autoBrand and is not "no default setting"
+		Object.keys(rule).forEach(key => {
+			const applies = (combinedRule[key] === undefined ||
+				(key === "autoBrand" && rule[key]) ||
+				(key !== "autoBrand" && rule[key] !== "no default setting"));
+			if (!applies) return
+			combinedRule[key] = rule[key]
+		})
+	})
+}
+
 // return if a rule is applied on a slave
 window.ruleApplied = function(slave, rule) {
 	return slave.currentRules.includes(rule.ID);
 };
 
-
-
 // checks if any rules apply on the slave, and applies them
 window.CheckAutoRulesActivate = function CheckAutoRulesActivate(slave) {
 	const V = State.variables
@@ -450,11 +465,10 @@ window.CheckAutoRulesActivate = function CheckAutoRulesActivate(slave) {
 // remove the RA rule from the slave
 window.RARemoveRule = function RARemoveRule(slave, rule) {
 	let r = ""
-	const idx = slave.currentRules.indexOf(
 	slave.currentRules.some((rule, i) => {
 		if (rule.ID === rule) {
 			slave.currentRules.splice(i, 1)
-			r += `<br><span class="tan">Rule ${rule.ID} (${rule.name}) no longer applies to {slave.slaveName}, who is assignmed to ${slave.assignment}</span>`
+			r += `<br><span class="tan">Rule ${rule.ID} (${rule.name}) no longer applies to ${slave.slaveName}, who is assignmed to ${slave.assignment}</span>`
 			r += RAFacilityRemove(slave, rule.set)
 			return true
 		} else return false
@@ -491,7 +505,7 @@ window.RAFacilityRemove = function RAFacilityRemove(slave, rule) {
 
 	case "work in the dairy":
 		if (slave.assignment === rule.setAssignment) {
-			r += `<br>${slave.slaveName} has been removed from ${V.dairyName} and has been assigned to $rule.removalAssignment}.`
+			r += `<br>${slave.slaveName} has been removed from ${V.dairyName} and has been assigned to ${rule.removalAssignment}.`
 			assignJob(slave, rule.removalAssignment)
 		}
 		break;
@@ -718,3 +732,4 @@ window.growAdvSelectorSlim = function(slave, rule) {
 
 	return ret;
 }
+*/
diff --git a/src/js/rulesAssistantOptions.tw b/src/js/rulesAssistantOptions.tw
index 1da76e1cdbe..ef112e33fe6 100644
--- a/src/js/rulesAssistantOptions.tw
+++ b/src/js/rulesAssistantOptions.tw
@@ -4,13 +4,12 @@
 // uses an object-oriented widget pattern
 // wrapped in a closure so as not to polute the global namespace
 // the widgets are generic enough to be reusable; if similar user interfaces are ported to JS, we could move the classes to the global scope
-j
+
 window.rulesAssistantOptions = (function() {
 	"use strict"
 	
 	let V
 	let r = ""
-	let root
 
 	function rulesAssistantOptions() {
 		V = State.variables
@@ -20,9 +19,13 @@ window.rulesAssistantOptions = (function() {
 		V.showEncyclopedia = 1
 		V.encyclopedia = "Personal Assistant"
 		
-		root = new Element(document.querySelector("#passage-rules-assistant"))
-		let tmp = document.createElement("p")
-		tmp.innerHTML = `${propertTitle()}, I will review your slaves and make changes that will have a beneficial effect. Apologies, ${properTitle()}, but this function is... not fully complete. It may have some serious limitations. Please use the 'no default setting' option to identify areas I should not address.`
+		let tmp = document.createElement("div")
+		tmp.classList.add("passage")
+		document.getElementById("passages").appendChild(tmp)
+		const root = new Element(tmp)
+
+		tmp = document.createElement("p")
+		tmp.innerHTML = `<em>${properTitle()}, I will review your slaves and make changes that will have a beneficial effect. Apologies, ${properTitle()}, but this function is... not fully complete. It may have some serious limitations. Please use the 'no default setting' option to identify areas I should not address.</em>`
 		root.appendChild(new Element(tmp))
 	}
 
@@ -61,8 +64,8 @@ window.rulesAssistantOptions = (function() {
 		
 		render(prefix, textinput) {
 			const elem = document.createElement("div")
-			const prefix = document.createElement("span")
-			prefix.innerHTML = prefix
+			const label = document.createElement("span")
+			label.innerHTML = prefix
 			let value
 			if (textinput) {
 				value = document.createElement("input")
@@ -74,7 +77,7 @@ window.rulesAssistantOptions = (function() {
 				value = document.createElement("strong")
 			}
 			value.setAttribute("type", "text")
-			elem.appendChild(prefix)
+			elem.appendChild(label)
 			elem.appendChild(value)
 			elem.classList.add("rajs-list")
 			return elem
@@ -141,7 +144,7 @@ window.rulesAssistantOptions = (function() {
 	// children are bound to the master list
 	class ListSubSection extends Element {
 		render(label) {
-			const elem document.createElement("em")
+			const elem = document.createElement("em")
 			elem.innerText = label + ":"
 			return elem
 		}
diff --git a/src/uncategorized/initRules.tw b/src/uncategorized/initRules.tw
index cae54f70b60..97f0eda7b92 100644
--- a/src/uncategorized/initRules.tw
+++ b/src/uncategorized/initRules.tw
@@ -84,13 +84,11 @@
 		XX: "no default setting",
 		gelding: "no default setting",
 		preg: "no default setting",
-		growth: {
-			boobs: "no default setting",
-			butt: "no default setting",
-			lips: "no default setting",
-			dick: "no default setting",
-			balls: "no default setting"
-		},
+		growth_boobs: "no default setting",
+		growth_butt: "no default setting",
+		growth_lips: "no default setting",
+		growth_dick: "no default setting",
+		growth_balls: "no default setting",
 		aphrodisiacs: "no default setting",
 		autoSurgery: 0,
 		autoBrand: 0,
@@ -100,22 +98,20 @@
 		setAssignment: "no default setting",
 		facilityRemove: false,
 		removalAssignment: "rest",
-		surgery: {
-			eyes: "no default setting",
-			lactation: "no default setting",
-			prostate: "no default setting",
-			cosmetic: "nds",
-			accent: "no default setting",
-			shoulders: "no default setting",
-			shouldersImplant: "no default setting",
-			boobs: "no default setting",
-			hips: "no default setting",
-			hipsImplant: "no default setting",
-			butt: "no default setting",
-			faceShape: "no default setting",
-			lips: "no default setting",
-			holes: "nds"
-		},
+		surgery_eyes: "no default setting",
+		surgery_lactation: "no default setting",
+		surgery_prostate: "no default setting",
+		surgery_cosmetic: "no default setting",
+		surgery_accent: "no default setting",
+		surgery_shoulders: "no default setting",
+		surgery_shouldersImplant: "no default setting",
+		surgery_boobs: "no default setting",
+		surgery_hips: "no default setting",
+		surgery_hipsImplant: "no default setting",
+		surgery_butt: "no default setting",
+		surgery_faceShape: "no default setting",
+		surgery_lips: "no default setting",
+		surgery_holes: "not default setting",
 		underArmHColor: "no default setting",
 		underArmHStyle: "no default setting",
 		drug: "no default setting"
diff --git a/src/uncategorized/rulesAssistant.tw b/src/uncategorized/rulesAssistant.tw
index 94acc3234c3..6b4c290ed74 100644
--- a/src/uncategorized/rulesAssistant.tw
+++ b/src/uncategorized/rulesAssistant.tw
@@ -1,5 +1,7 @@
 :: Rules Assistant [nobr]
 
+<<script>>$(document).one(':passagedisplay', ev => { rulesAssistantOptions(); $(document).off(':passagedisplay') })<</script>>
+/*
 <<set $nextButton = "Back to Main", $nextLink = "Main", $returnTo = "Main">>
 <<set $showEncyclopedia = 1, $encyclopedia = "Personal Assistant">>
 
@@ -17,7 +19,7 @@
 	<<if ndef $currentRule.drug>>                     <<set $currentRule.drug = "no default setting">>  <</if>>
 	<<if ndef $currentRule.pregSpeed>>                <<set $currentRule.pregSpeed = "nds">>			<</if>>
 
-	/* Sanitize textbox inputs. */
+	
 	<<if $currentRule.growth.boobs != "no default setting">><<set $currentRule.growth.boobs = Number($currentRule.growth.boobs), $currentRule.growth.boobs = Math.clamp($currentRule.growth.boobs,0,48000)>><</if>>
 	<<if $currentRule.growth.butt != "no default setting">><<set $currentRule.growth.butt = Number($currentRule.growth.butt), $currentRule.growth.butt = Math.clamp($currentRule.growth.butt,0,10)>><</if>>
 	<<if $currentRule.growth.lips != "no default setting">><<set $currentRule.growth.lips = Number($currentRule.growth.lips), $currentRule.growth.lips = Math.clamp($currentRule.growth.lips,0,100)>><</if>>
@@ -115,13 +117,13 @@
 			<</if>>
 		</span>
 	</center>
-<</if>> /* closes if _length > 0 */
+<</if>> 
 
 <br>
 
 //<<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Sir<<else>>Ma'am<</if>>, I will review your slaves and make changes that will have a beneficial effect. Apologies, sir, but this function is... not fully complete. It may have some serious limitations. Please use the 'no default setting' option to identify areas I should not address.//
 
-<br><br> /* Control method for quick switching to specific rule in list */
+<br><br> 
 List of rules: <br>
 <<if _length > 1>>
 	<<set _crule = $r-1>>
@@ -140,7 +142,7 @@ List of rules: <br>
 
 		<<set _tempRule = {aphrodisiacs: "no default setting", condition: {id: "false"}, releaseRules: "no default setting", clitSetting: "no default setting", clitSettingXY: "no default setting", clitSettingXX: "no default setting", clitSettingEnergy: "no default setting", speechRules: "no default setting", clothes: "no default setting", collar: "no default setting", shoes: "no default setting", virginAccessory: "no default setting", aVirginAccessory: "no default setting", vaginalAccessory: "no default setting", aVirginDickAccessory: "no default setting", dickAccessory: "no default setting", bellyAccessory: "no default setting", aVirginButtplug: "no default setting", buttplug: "no default setting", eyeColor: "no default setting", makeup: "no default setting", nails: "no default setting", hColor: "no default setting", hLength: "no default setting", hStyle: "no default setting", pubicHColor: "no default setting", pubicHStyle: "no default setting", nipplesPiercing: "no default setting", areolaePiercing: "no default setting", clitPiercing: "no default setting", vaginaLube: "no default setting", vaginaPiercing: "no default setting", dickPiercing: "no default setting", anusPiercing: "no default setting", lipsPiercing: "no default setting", tonguePiercing: "no default setting", earPiercing: "no default setting", nosePiercing: "no default setting", eyebrowPiercing: "no default setting", navelPiercing: "no default setting", corsetPiercing: "no default setting", boobsTat: "no default setting", buttTat: "no default setting", vaginaTat: "no default setting", dickTat: "no default setting", lipsTat: "no default setting", anusTat: "no default setting", shouldersTat: "no default setting", armsTat: "no default setting", legsTat: "no default setting", backTat: "no default setting", stampTat: "no default setting", curatives: "no default setting", livingRules: "no default setting", relationshipRules: "no default setting", standardPunishment: "no default setting", standardReward: "no default setting", diet: "no default setting", dietCum: "no default setting", dietMilk: "no default setting", muscles: "no default setting", XY: "no default setting", XX: "no default setting", gelding: "no default setting", preg: "no default setting", growth: {boobs: "no default setting", butt: "no default setting", lips: "no default setting", dick: "no default setting", balls: "no default setting"}, autoSurgery: 0, autoBrand: 0, pornFameSpending: "no default setting", dietGrowthSupport: 0, eyewear: "no default setting", assignment: [], excludeAssignment: [], setAssignment: "no default setting", facility: [], excludeFacility: [], excludeSpecialSlaves: true, facilityRemove: false, removalAssignment: "rest", selectedSlaves: [], excludedSlaves: [], surgery: {eyes: "no default setting", lactation: "no default setting", prostate: "no default setting", cosmetic: "nds", accent: "no default setting", shoulders: "no default setting", shouldersImplant: "no default setting", boobs: "no default setting", hips: "no default setting", hair: "nds", bodyhair:"nds", hipsImplant: "no default setting", butt: "no default setting", faceShape: "no default setting", lips: "no default setting", holes: "nds", bellyImplant: "no default setting"}, underArmHColor: "no default setting", underArmHStyle: "no default setting", drug: "no default setting", eyes: "no default setting", pregSpeed: "nds", bellyImplantVol: -1}>>
 
-		/* pick an ID higher than the highest ID of any existing rule */
+		
 		<<for _tempRule.ID = 1, _r = 0; _r < _length; _r++>>
 			<<set _tempRule.ID = Math.max(_tempRule.ID, $defaultRules[_r].ID + 1)>>
 		<</for>>
@@ -1171,7 +1173,7 @@ Drug regimes will be
 <<else>>
 	''moderate'' for all slaves. <<link "Intensify" "Rules Assistant">><<set $currentRule.growth.intensity = 1>><</link>>
 <</if>>
-*/
+%/
 
 <br>
 
@@ -2528,7 +2530,7 @@ Relationship rules: <span id="relation">''$currentRule.relationshipRules.''</spa
 		<</for>>
 		<<goto "Rules Assistant">>
 	<</link>>
-<</if>> /* closes if _length > 0 */
+<</if>> 
 
 <br><br>
 
@@ -2547,3 +2549,4 @@ Relationship rules: <span id="relation">''$currentRule.relationshipRules.''</spa
 <</if>>
 
 [[Import a rule|Import Rule]]
+*/
-- 
GitLab