From 388c67a03860e49bc2bd5bead11cb0d0853d86b5 Mon Sep 17 00:00:00 2001
From: lowercasedonkey <lowercasedonkey@gmail.com>
Date: Sun, 23 Feb 2020 23:05:40 -0500
Subject: [PATCH] more

---
 src/js/slaveInteract.js | 250 ++++++++++++++++++++++------------------
 1 file changed, 141 insertions(+), 109 deletions(-)

diff --git a/src/js/slaveInteract.js b/src/js/slaveInteract.js
index 775e50bae41..1e8a616edf0 100644
--- a/src/js/slaveInteract.js
+++ b/src/js/slaveInteract.js
@@ -45,7 +45,7 @@ App.UI.SlaveInteract.fucktoyPref = function(slave) {
 		let row = document.createDocumentFragment();
 		for (let i = 0; i < toyHoleArray.length; i++) {
 			let link;
-			const separator  = document.createTextNode(` | `);
+			const separator = document.createTextNode(` | `);
 			const keys = Object.keys(toyHoleArray[i]);
 
 			// Test to see if there was a problem with the key
@@ -61,29 +61,29 @@ App.UI.SlaveInteract.fucktoyPref = function(slave) {
 			// is it just text?
 			if (toyHoleArray[i].disabled) {
 				link = App.UI.DOM.disabledLink(toyHoleArray[i].text, [toyHoleArray[i].disabled]);
-			// Are they already on this toyHole?
+				// Are they already on this toyHole?
 			} else if (toyHoleArray[i].toyHole === slave.toyHole) {
 				link = document.createTextNode(toyHoleArray[i].text);
-			// Set up the link
+				// Set up the link
 			} else {
 				link = App.UI.DOM.link(
 					toyHoleArray[i].text,
 					() => {
 						slave.toyHole = toyHoleArray[i].toyHole,
-						App.UI.SlaveInteract.fucktoyPref(slave);
+							App.UI.SlaveInteract.fucktoyPref(slave);
 					},
 				);
 
 				// add a note node if required
 				if (toyHoleArray[i].note) {
-					let note  = document.createElement('span');
+					let note = document.createElement('span');
 					note.textContent = `${toyHoleArray[i].note} `;
 					note.className = "note";
 					link.appendChild(note);
 				}
 			}
 			row.appendChild(link);
-			if (i < toyHoleArray.length-1) {
+			if (i < toyHoleArray.length - 1) {
 				row.appendChild(separator);
 			}
 		}
@@ -154,8 +154,8 @@ App.UI.SlaveInteract.drugs = function(slave) {
 	const drugOptions = [];
 	const drugLevelOptions = [];
 
-	if (slave.drugs !== "no drugs"){
-		drugLevelOptions.push({text: `None`, updateSlave:{drugs: `no drugs`}});
+	if (slave.drugs !== "no drugs") {
+		drugLevelOptions.push({text: `None`, updateSlave: {drugs: `no drugs`}});
 	}
 	if (slave.indentureRestrictions < 2) {
 		if (
@@ -166,23 +166,23 @@ App.UI.SlaveInteract.drugs = function(slave) {
 		) {
 			switch (slave.drugs) {
 				case "intensive breast injections":
-					drugLevelOptions.push({text: `Moderate`, updateSlave:{drugs: `breast injections`}});
+					drugLevelOptions.push({text: `Moderate`, updateSlave: {drugs: `breast injections`}});
 					break;
 				case "intensive butt injections":
-					drugLevelOptions.push({text: `Moderate`, updateSlave:{drugs: `butt injections`}});
+					drugLevelOptions.push({text: `Moderate`, updateSlave: {drugs: `butt injections`}});
 					break;
 				case "intensive penis enhancement":
-					drugLevelOptions.push({text: `Moderate`, updateSlave:{drugs: `penis enhancement`}});
+					drugLevelOptions.push({text: `Moderate`, updateSlave: {drugs: `penis enhancement`}});
 					break;
 				case "intensive testicle enhancement":
-					drugLevelOptions.push({text: `Moderate`, updateSlave:{drugs: `testicle enhancement`}});
+					drugLevelOptions.push({text: `Moderate`, updateSlave: {drugs: `testicle enhancement`}});
 					break;
 			}
 		} else if (slave.drugs === "breast injections" || slave.drugs === "butt injections" || slave.drugs === "penis enhancement" || slave.drugs === "testicle enhancement") {
-			drugLevelOptions.push({text: `Intensify`, updateSlave:{drugs: "intensive " + slave.drugs}});
+			drugLevelOptions.push({text: `Intensify`, updateSlave: {drugs: "intensive " + slave.drugs}});
 		}
 		if (slave.intelligence > -100 && slave.indentureRestrictions < 1) {
-			drugOptions.push({text: `Psychosuppressants`, updateSlave:{drugs: `psychosuppressants`}});
+			drugOptions.push({text: `Psychosuppressants`, updateSlave: {drugs: `psychosuppressants`}});
 		} else if (slave.intelligence > -100) {
 			drugOptions.push({text: `Psychosuppressants`, disabled: `Cannot suppress indentured slave`});
 		} else if (slave.indentureRestrictions < 1) {
@@ -192,86 +192,86 @@ App.UI.SlaveInteract.drugs = function(slave) {
 		}
 		if (V.arcologies[0].FSSlaveProfessionalismResearch === 1) {
 			if (canImproveIntelligence(slave)) {
-				drugOptions.push({text: `Psychostimulants`, updateSlave:{drugs: `psychostimulants`}});
+				drugOptions.push({text: `Psychostimulants`, updateSlave: {drugs: `psychostimulants`}});
 			} else {
 				drugOptions.push({text: `Psychostimulants`, disabled: `Cannot improve intelligence`});
 			}
 		}
 		if (slave.boobs < 48000) {
-			drugOptions.push({text: `Breasts`, updateSlave:{drugs: `breast injections`}});
+			drugOptions.push({text: `Breasts`, updateSlave: {drugs: `breast injections`}});
 		} else {
 			drugOptions.push({text: `Breasts`, disabled: `Boobs are too large`});
 		}
 		if (V.arcologies[0].FSAssetExpansionistResearch === 1) {
 			if (slave.boobs < 25000) {
-				drugOptions.push({text: `Hyper-Breasts`, updateSlave:{drugs: `hyper breast injections`}});
+				drugOptions.push({text: `Hyper-Breasts`, updateSlave: {drugs: `hyper breast injections`}});
 			} else {
 				drugOptions.push({text: `Hyper Breasts`, disabled: `Boobs are too large`});
 			}
 		}
 		if (V.arcologies[0].FSSlimnessEnthusiastResearch === 1) {
 			if ((slave.boobs - slave.boobsImplant - slave.boobsMilk) > 100) {
-				drugOptions.push({text: `Breast reducers`, updateSlave:{drugs: `breast redistributors`}});
+				drugOptions.push({text: `Breast reducers`, updateSlave: {drugs: `breast redistributors`}});
 			} else {
 				drugOptions.push({text: `Breast reducers`, disabled: `Boobs are too small`});
 			}
 			if (slave.nipples === "huge" || slave.nipples === "puffy" || slave.nipples === "cute") {
-				drugOptions.push({text: `Nipple reducers`, updateSlave:{drugs: `nipple atrophiers`}});
+				drugOptions.push({text: `Nipple reducers`, updateSlave: {drugs: `nipple atrophiers`}});
 			} else {
 				drugOptions.push({text: `Nipple reducers`, disabled: `Nipples are ${slave.nipples}`});
 			}
 		}
 		if (slave.butt < 9) {
-			drugOptions.push({text: `Buttocks`, updateSlave:{drugs: `butt injections`}});
+			drugOptions.push({text: `Buttocks`, updateSlave: {drugs: `butt injections`}});
 		} else {
 			drugOptions.push({text: `Buttocks`, disabled: `Butt is too large`});
 		}
 		if (V.arcologies[0].FSAssetExpansionistResearch === 1) {
 			if (slave.butt < 20) {
-				drugOptions.push({text: `Hyper-Buttocks`, updateSlave:{drugs: `hyper butt injections`}});
+				drugOptions.push({text: `Hyper-Buttocks`, updateSlave: {drugs: `hyper butt injections`}});
 			} else {
 				drugOptions.push({text: `Hyper Buttocks`, disabled: `Butt is too large`});
 			}
 		}
 		if (V.arcologies[0].FSSlimnessEnthusiastResearch === 1) {
 			if (slave.butt - slave.buttImplant > 0) {
-				drugOptions.push({text: `Butt reducers`, updateSlave:{drugs: `butt redistributors`}});
+				drugOptions.push({text: `Butt reducers`, updateSlave: {drugs: `butt redistributors`}});
 			} else {
 				drugOptions.push({text: `Butt reducers`, disabled: `Butt is too small`});
 			}
 		}
 		if (slave.lips <= 95 || (slave.lips <= 85 && V.seeExtreme !== 1)) {
-			drugOptions.push({text: `Lips`, updateSlave:{drugs: `lip injections`}});
+			drugOptions.push({text: `Lips`, updateSlave: {drugs: `lip injections`}});
 		} else {
 			drugOptions.push({text: `Lips`, disabled: `Lips are too large`});
 		}
 		if (V.arcologies[0].FSSlimnessEnthusiastResearch === 1) {
 			if (slave.lips - slave.lipsImplant > 0) {
-				drugOptions.push({text: `Lip reducers`, updateSlave:{drugs: `lip atrophiers`}});
+				drugOptions.push({text: `Lip reducers`, updateSlave: {drugs: `lip atrophiers`}});
 			} else {
 				drugOptions.push({text: `Lip reducers`, disabled: `Lips are too small`});
 			}
 		}
 		if (V.growthStim === 1) {
 			if (canImproveHeight(slave)) {
-				drugOptions.push({text: `Growth Stimulants`, updateSlave:{drugs: `growth stimulants`}});
+				drugOptions.push({text: `Growth Stimulants`, updateSlave: {drugs: `growth stimulants`}});
 			} else {
 				drugOptions.push({text: `Growth Stimulants`, disabled: `Cannot increase height further`});
 			}
 		}
-		drugOptions.push({text: `Fertility`, updateSlave:{drugs: `fertility drugs`}});
+		drugOptions.push({text: `Fertility`, updateSlave: {drugs: `fertility drugs`}});
 		if (V.seeHyperPreg === 1 && slave.indentureRestrictions < 1 && V.superFertilityDrugs === 1 && (slave.breedingMark !== 1 || V.propOutcome === 0 || V.eugenicsFullControl === 1 || V.arcologies[0].FSRestart === "unset")) {
-			drugOptions.push({text: `Fertility+`, updateSlave:{drugs: `super fertility drugs`}});
+			drugOptions.push({text: `Fertility+`, updateSlave: {drugs: `super fertility drugs`}});
 		}
 		if (slave.dick > 0) {
 			if (slave.dick < 10) {
-				drugOptions.push({text: `Penis enhancement`, updateSlave:{drugs: `penis enhancement`}});
+				drugOptions.push({text: `Penis enhancement`, updateSlave: {drugs: `penis enhancement`}});
 			} else {
 				drugOptions.push({text: `Penis enhancement`, disabled: `Dick is too large`});
 			}
 		} else {
 			if (slave.clit < 5) {
-				drugOptions.push({text: `Clitoris enhancement`, updateSlave:{drugs: `penis enhancement`}});
+				drugOptions.push({text: `Clitoris enhancement`, updateSlave: {drugs: `penis enhancement`}});
 			} else {
 				drugOptions.push({text: `Clitoris enhancement`, disabled: `Clit is too large`});
 			}
@@ -279,13 +279,13 @@ App.UI.SlaveInteract.drugs = function(slave) {
 		if (V.arcologies[0].FSAssetExpansionistResearch === 1) {
 			if (slave.dick > 0) {
 				if (slave.dick < 31) {
-					drugOptions.push({text: `Hyper penis enhancement`, updateSlave:{drugs: `hyper penis enhancement`}});
+					drugOptions.push({text: `Hyper penis enhancement`, updateSlave: {drugs: `hyper penis enhancement`}});
 				} else {
 					drugOptions.push({text: `Hyper penis enhancement`, disabled: `Dick is too large`});
 				}
 			} else {
 				if (slave.clit < 5) {
-					drugOptions.push({text: `Hyper clitoris enhancement`, updateSlave:{drugs: `penis enhancement`}});
+					drugOptions.push({text: `Hyper clitoris enhancement`, updateSlave: {drugs: `penis enhancement`}});
 				} else {
 					drugOptions.push({text: `Hyper clitoris enhancement`, disabled: `Clit is too large`});
 				}
@@ -293,60 +293,60 @@ App.UI.SlaveInteract.drugs = function(slave) {
 		}
 		if (V.arcologies[0].FSSlimnessEnthusiastResearch === 1) {
 			if (slave.dick > 1) {
-				drugOptions.push({text: `Penis reducers`, updateSlave:{drugs: `penis atrophiers`}});
+				drugOptions.push({text: `Penis reducers`, updateSlave: {drugs: `penis atrophiers`}});
 			} else if (slave.dick === 1) {
 				drugOptions.push({text: `Penis reducers`, disabled: `Dick is already at minimum size`});
 			}
 		}
 		if (slave.dick > 0 && slave.dick < 11 && !canAchieveErection(slave) && slave.chastityPenis !== 1) {
-			drugOptions.push({text: `Erectile dysfunction circumvention`, updateSlave:{drugs: `priapism agents`}});
+			drugOptions.push({text: `Erectile dysfunction circumvention`, updateSlave: {drugs: `priapism agents`}});
 		}
 		if (slave.balls > 0) {
-			drugOptions.push({text: `Testicle enhancement`, updateSlave:{drugs: `testicle enhancement`}});
+			drugOptions.push({text: `Testicle enhancement`, updateSlave: {drugs: `testicle enhancement`}});
 			if (V.arcologies[0].FSAssetExpansionistResearch === 1) {
-				drugOptions.push({text: `Hyper testicle enhancement`, updateSlave:{drugs: `hyper testicle enhancement`}});
+				drugOptions.push({text: `Hyper testicle enhancement`, updateSlave: {drugs: `hyper testicle enhancement`}});
 			}
 		}
 		if (V.arcologies[0].FSSlimnessEnthusiastResearch === 1) {
 			if (slave.balls > 1) {
-				drugOptions.push({text: `Testicle reducers`, updateSlave:{drugs: `testicle atrophiers`}});
+				drugOptions.push({text: `Testicle reducers`, updateSlave: {drugs: `testicle atrophiers`}});
 			} else if (slave.balls === 1) {
 				drugOptions.push({text: `Testicle reducers`, disabled: `Balls are already at minimum size`});
 			}
 			if (slave.clit > 0) {
-				drugOptions.push({text: `Clitoris reducers`, updateSlave:{drugs: `clitoris atrophiers`}});
+				drugOptions.push({text: `Clitoris reducers`, updateSlave: {drugs: `clitoris atrophiers`}});
 			}
 			if (slave.labia > 0) {
-				drugOptions.push({text: `Labia reducers`, updateSlave:{drugs: `labia atrophiers`}});
+				drugOptions.push({text: `Labia reducers`, updateSlave: {drugs: `labia atrophiers`}});
 			}
 		}
 		if (V.arcologies[0].FSYouthPreferentialistResearch === 1) {
 			if (slave.visualAge > 18) {
-				drugOptions.push({text: `Anti-aging cream`, updateSlave:{drugs: `anti-aging cream`}});
+				drugOptions.push({text: `Anti-aging cream`, updateSlave: {drugs: `anti-aging cream`}});
 			} else {
 				drugOptions.push({text: `Anti-aging cream`, disabled: `Slave already looks young enough`});
 			}
 		}
-		drugOptions.push({text: `Steroids`, updateSlave:{drugs: `steroids`}});
+		drugOptions.push({text: `Steroids`, updateSlave: {drugs: `steroids`}});
 		if (V.arcologies[0].FSSlimnessEnthusiastResearch === 1) {
 			if (slave.weight > -95) {
-				drugOptions.push({text: `Weight loss pills`, updateSlave:{drugs: `appetite suppressors`}});
+				drugOptions.push({text: `Weight loss pills`, updateSlave: {drugs: `appetite suppressors`}});
 			} else {
 				drugOptions.push({text: `Weight loss pills`, disabled: `Slave is already at low weight`});
 			}
 		}
 		if (V.precociousPuberty === 1 && V.pubertyHormones === 1 && (slave.breedingMark !== 1 || V.propOutcome === 0 || V.eugenicsFullControl === 1 || V.arcologies[0].FSRestart === "unset")) {
 			if ((slave.ovaries === 1 || slave.mpreg === 1) && slave.pubertyXX === 0) {
-				drugOptions.push({text: `Female hormone injections`, updateSlave:{drugs: `female hormone injections`}});
+				drugOptions.push({text: `Female hormone injections`, updateSlave: {drugs: `female hormone injections`}});
 			}
 			if (slave.balls > 0 && slave.pubertyXY === 0) {
-				drugOptions.push({text: `Male hormone injections`, updateSlave:{drugs: `male hormone injections`}});
+				drugOptions.push({text: `Male hormone injections`, updateSlave: {drugs: `male hormone injections`}});
 			}
 		}
-		drugOptions.push({text: `Hormone enhancers`, updateSlave:{drugs: `hormone enhancers`}});
-		drugOptions.push({text: `Hormone blockers`, updateSlave:{drugs: `hormone blockers`}});
+		drugOptions.push({text: `Hormone enhancers`, updateSlave: {drugs: `hormone enhancers`}});
+		drugOptions.push({text: `Hormone blockers`, updateSlave: {drugs: `hormone blockers`}});
 		if (slave.boobs > 250 && slave.boobShape !== "saggy" && V.purchasedSagBGone === 1) {
-			drugOptions.push({text: `Sag-B-Gone breast lifting cream`, updateSlave:{drugs: `sag-B-gone`}});
+			drugOptions.push({text: `Sag-B-Gone breast lifting cream`, updateSlave: {drugs: `sag-B-gone`}});
 		}
 	}
 
@@ -752,7 +752,7 @@ App.UI.SlaveInteract.useSlaveDisplay = function(slave) {
 		let row = document.createElement('span');
 		for (let i = 0; i < sexArray.length; i++) {
 			let link;
-			const separator  = document.createTextNode(` | `);
+			const separator = document.createTextNode(` | `);
 			const keys = Object.keys(sexArray[i]);
 
 			// Test to see if there was a problem with the key
@@ -784,14 +784,14 @@ App.UI.SlaveInteract.useSlaveDisplay = function(slave) {
 
 				// add a note node if required
 				if (sexArray[i].note) {
-					let note  = document.createElement('span');
+					let note = document.createElement('span');
 					note.textContent = `${sexArray[i].note} `;
 					note.className = "note";
 					link.appendChild(note);
 				}
 			}
 			row.appendChild(link);
-			if (i < sexArray.length-1) {
+			if (i < sexArray.length - 1) {
 				row.appendChild(separator);
 			}
 		}
@@ -899,6 +899,8 @@ App.UI.SlaveInteract.fertility = function(slave) {
 	} = getPronouns(slave);
 	const separator = document.createTextNode(` | `);
 	let fertilityblock = document.createElement('span');
+	let link = document.createElement('div');
+	link.className = "choices";
 	if (slave.ovaries === 1 || slave.mpreg === 1 || slave.preg > 0) {
 		let note = document.createTextNode(``);
 		note.className = "note";
@@ -920,7 +922,7 @@ App.UI.SlaveInteract.fertility = function(slave) {
 					note.textContent += `s`;
 				}
 				note.textContent += `.`;
-				let link = App.UI.DOM.link(
+				link.append(App.UI.DOM.link(
 					`Turn on implant`,
 					() => {
 						slave.broodmotherOnHold = 0,
@@ -928,13 +930,13 @@ App.UI.SlaveInteract.fertility = function(slave) {
 					},
 					[],
 					"Slave Interact"
-				);
+				));
 				fertilityblock.append(link);
 			}
 		} else if (slave.preg >= -1) {
 			fertilityblock.append("Contraception: ");
 			let fertility = document.createElement('span');
-			fertility.id = "fertility";
+			// fertility.id = "fertility";
 			fertility.style.fontWeight = "bold";
 			if (slave.preg === -1) {
 				fertility.textContent = "using contraceptives";
@@ -948,32 +950,33 @@ App.UI.SlaveInteract.fertility = function(slave) {
 				fertility.textContent = `${slave.preg} weeks pregnant`;
 			}
 			fertility.textContent += ". ";
+			fertilityblock.appendChild(fertility);
 			if (slave.preg > 0 && V.pregnancyMonitoringUpgrade === 1) {
 				fertilityblock.append(App.UI.DOM.passageLink("Inspect pregnancy", "Analyze Pregnancy"));
-				fertilityblock.append(` | `);
+				fertilityblock.append(separator);
 			}
 			if (slave.preg === 0) {
-				let link = App.UI.DOM.link(
+				link.appendChild(App.UI.DOM.link(
 					`Use contraceptives`,
 					() => {
 						slave.preg = -1,
 							App.UI.SlaveInteract.refreshAll(slave);
 					},
-				);
+				));
 				fertilityblock.append(link);
 			} else if (slave.preg === -1) {
-				let link = App.UI.DOM.link(
+				link.appendChild(App.UI.DOM.link(
 					`Let ${him} get pregnant`,
 					() => {
 						slave.preg = 0,
 							App.UI.SlaveInteract.refreshAll(slave);
 					},
-				);
+				));
 				fertilityblock.append(link);
 			} else if (slave.induce === 1) {
 				note.textContent += `Hormones are being slipped into ${his} food; ${he} will give birth suddenly and rapidly this week`;
 			} else if (slave.preg > slave.pregData.normalBirth - 2 && slave.preg > slave.pregData.minLiveBirth && slave.broodmother === 0 && slave.labor === 0) {
-				let link = App.UI.DOM.link(
+				link.appendChild(App.UI.DOM.link(
 					`Induce labor`,
 					() => {
 						slave.labor = 1,
@@ -982,19 +985,19 @@ App.UI.SlaveInteract.fertility = function(slave) {
 					},
 					[],
 					"Slave Interact"
-				);
+				));
 				fertilityblock.append(link);
 				fertilityblock.appendChild(separator);
 				fertilityblock.append(App.UI.DOM.passageLink(`Give ${him} a cesarean section`, "csec"));
 			} else if (slave.broodmother > 0) {
 				if (slave.broodmotherOnHold !== 1) {
-					let link = App.UI.DOM.link(
+					link.appendChild(App.UI.DOM.link(
 						`Turn off implant`,
 						() => {
 							slave.broodmotherOnHold = 1,
 								slave.broodmotherCountDown = 38 - WombMinPreg(slave);
 						},
-					);
+					));
 					fertilityblock.append(link);
 				}
 				if (slave.broodmotherOnHold !== 1 && slave.preg >= 36) {
@@ -1005,7 +1008,7 @@ App.UI.SlaveInteract.fertility = function(slave) {
 					fertilityblock.append(App.UI.DOM.passageLink(`Induce mass childbirth`, "BirthStorm"));
 				}
 			} else if (slave.preg > slave.pregData.minLiveBirth) {
-				let link = App.UI.DOM.link(
+				link.appendChild(App.UI.DOM.link(
 					`Give  ${him} a cesarean section`,
 					() => {
 						slave.broodmotherOnHold = 0,
@@ -1013,12 +1016,12 @@ App.UI.SlaveInteract.fertility = function(slave) {
 					},
 					[],
 					"csec"
-				);
+				));
 				fertilityblock.append(link);
 			} else if (slave.preg > 0 && slave.breedingMark === 1 && V.propOutcome === 1 && V.arcologies[0].FSRestart !== "unset" && V.eugenicsFullControl !== 1 && (slave.pregSource === -1 || slave.pregSource === -6)) {
 				note.textContent += "You are forbidden from aborting an Elite child";
 			} else if (slave.preg > 0) {
-				let link = App.UI.DOM.link(
+				link.appendChild(App.UI.DOM.link(
 					`Abort ${his} pregnancy`,
 					() => {
 						slave.broodmotherOnHold = 0,
@@ -1026,7 +1029,7 @@ App.UI.SlaveInteract.fertility = function(slave) {
 					},
 					[],
 					"Abort"
-				);
+				));
 				fertilityblock.append(link);
 			}
 			fertilityblock.append(note);
@@ -1045,80 +1048,76 @@ App.UI.SlaveInteract.fertility = function(slave) {
 		(slave.broodmother === 0) &&
 		V.seePreg !== 0
 	) {
-		let control = document.createElement('div');
+		let title = document.createElement('div');
 		let underline = document.createElement('span');
+		link =  document.createElement('div');
+		link.className = "choices";
 
 		underline.style.textDecoration = "underline";
 		underline.textContent = "Pregnancy control";
-		control.append(underline);
-		control.append(": ");
+		title.appendChild(underline);
+		title.append(": ");
 
 		if (slave.pregControl === "labor suppressors") {
-			control.append("Labor is suppressed. ");
+			title.append("Labor is suppressed. ");
 		} else if (slave.pregControl === "slow gestation") {
-			control.append("Slowed gestation speed. ");
+			title.append("Slowed gestation speed. ");
 		} else if (slave.pregControl === "speed up") {
-			control.append("Faster gestation speed, staffed clinic recommended. ");
+			title.append("Faster gestation speed, staffed clinic recommended. ");
 		} else {
-			control.append("Normal gestation and birth. ");
+			title.append("Normal gestation and birth. ");
 		}
-		fertilityblock.append(control);
-		control = document.createElement('div');
+		fertilityblock.appendChild(title);
 		if (slave.preg >= slave.pregData.minLiveBirth) {
 			if (slave.pregControl === "labor suppressors") {
-				let link = App.UI.DOM.link(
+				link.appendChild(App.UI.DOM.link(
 					`Normal Birth`,
 					() => {
 						slave.pregControl = "none",
 							App.UI.SlaveInteract.fertility(slave);
 					},
-				);
-				control.append(link);
+				));
 			} else {
-				let link = App.UI.DOM.link(
+				link.appendChild(App.UI.DOM.link(
 					`Suppress Labor`,
 					() => {
 						slave.pregControl = "labor suppressors",
 							App.UI.SlaveInteract.fertility(slave);
 					},
-				);
-				control.append(link);
+				));
 			}
 		} else if (slave.preg < slave.pregData.normalBirth) {
 			if (slave.pregControl !== "none") {
-				let link = App.UI.DOM.link(
+				link.appendChild(App.UI.DOM.link(
 					`Normal Gestation`,
 					() => {
 						slave.pregControl = "none",
 							App.UI.SlaveInteract.fertility(slave);
 					},
-				);
-				control.append(link);
+				));
 			}
 			if (slave.pregControl !== "slow gestation") {
-				control.append(separator);
-				let link = App.UI.DOM.link(
+				link.append(separator);
+				link.appendChild(App.UI.DOM.link(
 					`Slow Gestation`,
 					() => {
 						slave.pregControl = "slow gestation",
 							App.UI.SlaveInteract.fertility(slave);
 					},
-				);
-				control.append(link);
+				));
 			}
 			if (slave.pregControl !== "speed up") {
-				control.append(separator);
-				let link = App.UI.DOM.link(
+				link.append(separator);
+				link.appendChild(App.UI.DOM.link(
 					`Fast Gestation`,
 					() => {
 						slave.pregControl = "speed up",
 							App.UI.SlaveInteract.fertility(slave);
 					},
-				);
-				control.append(link);
+				));
 			}
 		}
-		fertilityblock.append(control);
+		fertilityblock.appendChild(link);
 	}
 	return jQuery('#fertilityblock').empty().append(fertilityblock);
 };
@@ -1137,9 +1136,9 @@ App.UI.SlaveInteract.curatives = function(slave) {
 	} = getPronouns(slave);
 	const curativeOptions = [];
 
-	curativeOptions.push({text: `None`, updateSlave:{curatives: 0}});
-	curativeOptions.push({text: `Preventatives`, updateSlave:{curatives: 1}});
-	curativeOptions.push({text: `Curatives`, updateSlave:{curatives: 2}});
+	curativeOptions.push({text: `None`, updateSlave: {curatives: 0}});
+	curativeOptions.push({text: `Preventatives`, updateSlave: {curatives: 1}});
+	curativeOptions.push({text: `Curatives`, updateSlave: {curatives: 2}});
 
 	let el = document.createElement('div');
 	let title = document.createElement('div');
@@ -1177,10 +1176,10 @@ App.UI.SlaveInteract.aphrodisiacs = function(slave) {
 	} = getPronouns(slave);
 	const aphrodisiacOptions = [];
 
-	aphrodisiacOptions.push({text: `None`, updateSlave:{aphrodisiacs: 0}});
-	aphrodisiacOptions.push({text: `Aphrodisiacs`, updateSlave:{aphrodisiacs: 1}});
-	aphrodisiacOptions.push({text: `Extreme aphrodisiacs`, updateSlave:{aphrodisiacs: 2}});
-	aphrodisiacOptions.push({text: `Anaphrodisiacs`, updateSlave:{aphrodisiacs: -1}, note: `Supresses libido`});
+	aphrodisiacOptions.push({text: `None`, updateSlave: {aphrodisiacs: 0}});
+	aphrodisiacOptions.push({text: `Aphrodisiacs`, updateSlave: {aphrodisiacs: 1}});
+	aphrodisiacOptions.push({text: `Extreme aphrodisiacs`, updateSlave: {aphrodisiacs: 2}});
+	aphrodisiacOptions.push({text: `Anaphrodisiacs`, updateSlave: {aphrodisiacs: -1}, note: `Supresses libido`});
 
 
 	let el = document.createElement('div');
@@ -1254,7 +1253,9 @@ App.UI.SlaveInteract.incubator = function(slave) {
 										WombAddToGenericReserve(slave, "incubator", 1);
 										V.slaves[V.slaveIndices[slave.ID]] = slave;
 										V.reservedChildren = FetusGlobalReserveCount("incubator");
+										App.UI.SlaveInteract.refreshAll(slave);
 									},
+									[],
 									"Slave Interact" // TODO: may no longer need to do this anymore if refreshing in DOM
 								)
 							);
@@ -1267,7 +1268,9 @@ App.UI.SlaveInteract.incubator = function(slave) {
 											WombCleanGenericReserve(slave, "incubator", 1);
 											V.slaves[V.slaveIndices[slave.ID]] = slave;
 											V.reservedChildren = FetusGlobalReserveCount("incubator");
+											App.UI.SlaveInteract.refreshAll(slave);
 										},
+										[],
 										"Slave Interact" // TODO: may no longer need to do this anymore if refreshing in DOM
 									)
 								);
@@ -1281,7 +1284,9 @@ App.UI.SlaveInteract.incubator = function(slave) {
 											WombCleanGenericReserve(slave, "incubator", 9999);
 											V.slaves[V.slaveIndices[slave.ID]] = slave;
 											V.reservedChildren = FetusGlobalReserveCount("incubator");
+											App.UI.SlaveInteract.refreshAll(slave);
 										},
+										[],
 										"Slave Interact" // TODO: may no longer need to do this anymore if refreshing in DOM
 									)
 								);
@@ -1295,7 +1300,9 @@ App.UI.SlaveInteract.incubator = function(slave) {
 											WombAddToGenericReserve(slave, "incubator", 9999);
 											V.slaves[V.slaveIndices[slave.ID]] = slave;
 											V.reservedChildren = FetusGlobalReserveCount("incubator");
+											App.UI.SlaveInteract.refreshAll(slave);
 										},
+										[],
 										"Slave Interact" // TODO: may no longer need to do this anymore if refreshing in DOM
 									)
 								);
@@ -1308,7 +1315,9 @@ App.UI.SlaveInteract.incubator = function(slave) {
 										WombCleanGenericReserve(slave, "incubator", 1);
 										V.slaves[V.slaveIndices[slave.ID]] = slave;
 										V.reservedChildren = FetusGlobalReserveCount("incubator");
+										App.UI.SlaveInteract.refreshAll(slave);
 									},
+									[],
 									"Slave Interact" // TODO: may no longer need to do this anymore if refreshing in DOM
 								)
 							);
@@ -1321,7 +1330,9 @@ App.UI.SlaveInteract.incubator = function(slave) {
 											WombCleanGenericReserve(slave, "incubator", 9999);
 											V.slaves[V.slaveIndices[slave.ID]] = slave;
 											V.reservedChildren = FetusGlobalReserveCount("incubator");
+											App.UI.SlaveInteract.refreshAll(slave);
 										},
+										[],
 										"Slave Interact" // TODO: may no longer need to do this anymore if refreshing in DOM
 									)
 								);
@@ -1347,10 +1358,13 @@ App.UI.SlaveInteract.incubator = function(slave) {
 									WombAddToGenericReserve(slave, "incubator", 1);
 									V.slaves[V.slaveIndices[slave.ID]] = slave;
 									V.reservedChildren = FetusGlobalReserveCount("incubator");
+									App.UI.SlaveInteract.refreshAll(slave);
 								},
+								[],
 								"Slave Interact" // TODO: may no longer need to do this anymore if refreshing in DOM
 							)
 						);
+						title.appendChild(tank);
 						if ((_WL > 1) && (V.reservedChildren + _WL) <= V.freeTanks) {
 							link.append(` | `);
 							link.appendChild(
@@ -1360,7 +1374,9 @@ App.UI.SlaveInteract.incubator = function(slave) {
 										WombAddToGenericReserve(slave, "incubator", 9999);
 										V.slaves[V.slaveIndices[slave.ID]] = slave;
 										V.reservedChildren = FetusGlobalReserveCount("incubator");
+										App.UI.SlaveInteract.refreshAll(slave);
 									},
+									[],
 									"Slave Interact" // TODO: may no longer need to do this anymore if refreshing in DOM
 								)
 							);
@@ -1422,9 +1438,11 @@ App.UI.SlaveInteract.nursery = function(slave) {
 									`Keep another child`,
 									() => {
 										WombAddToGenericReserve(slave, "nursery", 1);
-							V.slaves[V.slaveIndices[slave.ID]] = slave;
-							V.reservedChildren = FetusGlobalReserveCount("nursery");
+										V.slaves[V.slaveIndices[slave.ID]] = slave;
+										V.reservedChildren = FetusGlobalReserveCount("nursery");
+										App.UI.SlaveInteract.refreshAll(slave);
 									},
+									[],
 									"Slave Interact" // TODO: may no longer need to do this anymore if refreshing in DOM
 								)
 							);
@@ -1436,9 +1454,11 @@ App.UI.SlaveInteract.nursery = function(slave) {
 										`Keep one less child`,
 										() => {
 											WombCleanGenericReserve(slave, "nursery", 1);
-								V.slaves[V.slaveIndices[slave.ID]] = slave;
-								V.reservedChildren = FetusGlobalReserveCount("nursery");
+											V.slaves[V.slaveIndices[slave.ID]] = slave;
+											V.reservedChildren = FetusGlobalReserveCount("nursery");
+											App.UI.SlaveInteract.refreshAll(slave);
 										},
+										[],
 										"Slave Interact" // TODO: may no longer need to do this anymore if refreshing in DOM
 									)
 								);
@@ -1450,8 +1470,10 @@ App.UI.SlaveInteract.nursery = function(slave) {
 										`Keep none of ${his} children`,
 										() => {
 											WombCleanGenericReserve(slave, "nursery", 9999);
+											App.UI.SlaveInteract.refreshAll(slave);
 											// TODO: Copying this from the SC, but it's not three lines like the others? -LCD
 										},
+										[],
 										"Slave Interact" // TODO: may no longer need to do this anymore if refreshing in DOM
 									)
 								);
@@ -1463,8 +1485,10 @@ App.UI.SlaveInteract.nursery = function(slave) {
 										`Keep the rest of ${his} children`,
 										() => {
 											WombAddToGenericReserve(slave, "nursery", 9999);
+											App.UI.SlaveInteract.refreshAll(slave);
 											// TODO: Copying this from the SC, but it's not three lines like the others? -LCD
 										},
+										[],
 										"Slave Interact" // TODO: may no longer need to do this anymore if refreshing in DOM
 									)
 								);
@@ -1475,8 +1499,9 @@ App.UI.SlaveInteract.nursery = function(slave) {
 									`Keep one less child`,
 									() => {
 										WombCleanGenericReserve(slave, "nursery", 1);
-							V.slaves[V.slaveIndices[slave.ID]] = slave;
-							V.reservedChildren = FetusGlobalReserveCount("nursery");
+										V.slaves[V.slaveIndices[slave.ID]] = slave;
+										V.reservedChildren = FetusGlobalReserveCount("nursery");
+										App.UI.SlaveInteract.refreshAll(slave);
 									},
 									"Slave Interact" // TODO: may no longer need to do this anymore if refreshing in DOM
 								)
@@ -1489,9 +1514,11 @@ App.UI.SlaveInteract.nursery = function(slave) {
 										`Keep none of ${his} children`,
 										() => {
 											WombCleanGenericReserve(slave, "nursery", 9999);
-								V.slaves[V.slaveIndices[slave.ID]] = slave;
-								V.reservedChildren = FetusGlobalReserveCount("nursery");
+											V.slaves[V.slaveIndices[slave.ID]] = slave;
+											V.reservedChildren = FetusGlobalReserveCount("nursery");
+											App.UI.SlaveInteract.refreshAll(slave);
 										},
+										[],
 										"Slave Interact" // TODO: may no longer need to do this anymore if refreshing in DOM
 									)
 								);
@@ -1515,12 +1542,15 @@ App.UI.SlaveInteract.nursery = function(slave) {
 								`Keep ${_cCount} child`,
 								() => {
 									WombAddToGenericReserve(slave, "nursery", 1);
-						V.slaves[V.slaveIndices[slave.ID]] = slave;
-						V.reservedChildren = FetusGlobalReserveCount("nursery");
+									V.slaves[V.slaveIndices[slave.ID]] = slave;
+									V.reservedChildren = FetusGlobalReserveCount("nursery");
+									App.UI.SlaveInteract.refreshAll(slave);
 								},
+								[],
 								"Slave Interact" // TODO: may no longer need to do this anymore if refreshing in DOM
 							)
 						);
+						title.appendChild(crib);
 						if ((_WL > 1) && (V.reservedChildrenNursery + _WL) <= V.freeCribs) {
 							link.append(` | `);
 							link.appendChild(
@@ -1530,7 +1560,9 @@ App.UI.SlaveInteract.nursery = function(slave) {
 										WombAddToGenericReserve(slave, "nursery", 9999);
 										V.slaves[V.slaveIndices[slave.ID]] = slave;
 										V.reservedChildren = FetusGlobalReserveCount("nursery");
+										App.UI.SlaveInteract.refreshAll(slave);
 									},
+									[],
 									"Slave Interact" // TODO: may no longer need to do this anymore if refreshing in DOM
 								)
 							);
-- 
GitLab