diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt
index 49fb4ff6f9ba06dc6b6b4bd9e01fc82647ec7829..9db33ede8a5157a85cf703c0fe147d6ff9819004 100644
--- a/devNotes/twine JS.txt	
+++ b/devNotes/twine JS.txt	
@@ -271,14 +271,6 @@ window.canImpreg = function(slave1, slave2) {
 		return null;
 	} else if (slave2.dick < 1) {
 		return false;
-	} else if (slave2.ID === -1) {
-		if (slave1.eggType != "human") {
-			return false;
-		} else if (!canGetPregnant(slave1)) { /* includes chastity checks */
-			return false;
-		} else {
-			return true;
-		}
 	} else if (slave2.balls < 1) {
 		return false;
 	} else if (slave2.dickAccessory == "chastity") {
@@ -289,14 +281,6 @@ window.canImpreg = function(slave1, slave2) {
 		return false;
 	} else if (slave2.vasectomy == 1) {
 		return false;
-	} else if (slave1.ID === -1) {
-		if (slave2.ballType != "human") {
-			return false;
-		} else if (!isPlayerFertile(slave1)) {
-			return false;
-		} else {
-			return true;
-		}
 	} else if (!canBreed(slave1, slave2)) {
 		return false; /* pregmod end */
 	} else if (!canGetPregnant(slave1)) { /* includes chastity checks */
@@ -324,7 +308,7 @@ window.isFertile = function(slave) {
 		return false;
 	} else if (slave.ovaryAge >= 47) {
 		return false;
-	} else if (slave.inflation > 2) {
+	} else if (slave.inflation != 0) {
 		return false;
 	} else if (slave.bellyImplant != -1) {
 		return false;
@@ -747,6 +731,7 @@ window.expandFacilityAssignments = function(facilityAssignments) {
 		"serve in the master suite": "be your Concubine",
 		"learn in the schoolroom": "be the Schoolteacher",
 		"be confined in the cellblock": "be the Wardeness",
+		"be a nanny": "be the Matron",
 	};
 
 	if (!facilityAssignments || !facilityAssignments.length)
@@ -2256,15 +2241,6 @@ window.getSlaveCost = function(s) {
 			// TODO: Include them here anyway?
 		} else {
 			cost += foodCost * s.pregType * (s.pregControl === 'speed up' ? 3 : 1);
-			if (s.pregType >= 100) {
-				cost += foodCost * 5 * s.pregType * (s.pregControl === 'speed up' ? 3 : 1);
-			} else if (s.pregType >= 50) {
-				cost += foodCost * 3 * s.pregType * (s.pregControl === 'speed up' ? 3 : 1);
-			} else if (s.pregType >= 30) {
-				cost += foodCost * 2 * s.pregType * (s.pregControl === 'speed up' ? 3 : 1);
-			} else if (s.pregType >= 10) {
-				cost += foodCost * s.pregType * (s.pregControl === 'speed up' ? 3 : 1);
-			}
 		}
 	}
 	if(s.diet === 'XX' || s.diet === 'XY' || s.diet === 'fertility') {
@@ -2661,7 +2637,6 @@ window.emptyDefaultRule = function emptyDefaultRule() {
 		},
 		set: {
 			releaseRules: "no default setting",
-			toyHole: "no default setting",
 			clitSetting: "no default setting",
 			clitSettingXY: "no default setting",
 			clitSettingXX: "no default setting",
@@ -2721,7 +2696,6 @@ window.emptyDefaultRule = function emptyDefaultRule() {
 			diet: "no default setting",
 			dietCum: "no default setting",
 			dietMilk: "no default setting",
-			onDiet: "no default setting",
 			muscles: "no default setting",
 			XY: "no default setting",
 			XX: "no default setting",
@@ -2772,7 +2746,6 @@ window.emptyDefaultRule = function emptyDefaultRule() {
 			label: "no default setting",
 			removeLabel: "no default setting",
 			skinColor: "no default setting",
-			inflationType: "no default setting",
 		}
 	};
 	return rule;
@@ -3693,167 +3666,6 @@ window.ValidateFacilityDecoration = function ValidateFacilityDecoration(decorati
 	}
 };
 
-window.FSChange = function FSChange(FS, magnitude, bonus_multiplier) {
-	"use strict";
-	const V = State.variables;
-	let errorMessage = "";
-
-	switch (FS) {
-		case "Supremacist":
-			if (Number.isFinite(V.arcologies[0].FSSupremacist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSSupremacist / V.FSLockinLevel);
-				V.arcologies[0].FSSupremacist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
-			}
-			break;
-		case "Subjugationist":
-			if (Number.isFinite(V.arcologies[0].FSSubjugationist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSSubjugationist / V.FSLockinLevel);
-				V.arcologies[0].FSSubjugationist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
-			}
-			break;
-		case "GenderRadicalist":
-			if (Number.isFinite(V.arcologies[0].FSGenderRadicalist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSGenderRadicalist / V.FSLockinLevel);
-				V.arcologies[0].FSGenderRadicalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
-			}
-			break;
-		case "GenderFundamentalist":
-			if (Number.isFinite(V.arcologies[0].FSGenderFundamentalist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSGenderFundamentalist / V.FSLockinLevel);
-				V.arcologies[0].FSGenderFundamentalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
-			}
-			break;
-		case "Paternalist":
-			if (Number.isFinite(V.arcologies[0].FSPaternalist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSPaternalist / V.FSLockinLevel);
-				V.arcologies[0].FSPaternalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
-			}
-			break;
-		case "Degradationist":
-			if (Number.isFinite(V.arcologies[0].FSDegradationist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSDegradationist / V.FSLockinLevel);
-				V.arcologies[0].FSDegradationist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
-			}
-			break;
-		case "AssetExpansionist":
-			if (Number.isFinite(V.arcologies[0].FSAssetExpansionist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSAssetExpansionist / V.FSLockinLevel);
-				V.arcologies[0].FSAssetExpansionist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
-			}
-			break;
-		case "SlimnessEnthusiast":
-			if (Number.isFinite(V.arcologies[0].FSSlimnessEnthusiast)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSSlimnessEnthusiast / V.FSLockinLevel);
-				V.arcologies[0].FSSlimnessEnthusiast += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
-			}
-			break;
-		case "TransformationFetishist":
-			if (Number.isFinite(V.arcologies[0].FSTransformationFetishist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSTransformationFetishist / V.FSLockinLevel);
-				V.arcologies[0].FSTransformationFetishist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
-			}
-			break;
-		case "BodyPurist":
-			if (Number.isFinite(V.arcologies[0].FSBodyPurist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSBodyPurist / V.FSLockinLevel);
-				V.arcologies[0].FSBodyPurist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
-			}
-			break;
-		case "MaturityPreferentialist":
-			if (Number.isFinite(V.arcologies[0].FSMaturityPreferentialist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSMaturityPreferentialist / V.FSLockinLevel);
-				V.arcologies[0].FSMaturityPreferentialist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
-			}
-			break;
-		case "YouthPreferentialist":
-			if (Number.isFinite(V.arcologies[0].FSYouthPreferentialist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSYouthPreferentialist / V.FSLockinLevel);
-				V.arcologies[0].FSYouthPreferentialist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
-			}
-			break;
-		case "Pastoralist":
-			if (Number.isFinite(V.arcologies[0].FSPastoralist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSPastoralist / V.FSLockinLevel);
-				V.arcologies[0].FSPastoralist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
-			}
-			break;
-		case "PhysicalIdealist":
-			if (Number.isFinite(V.arcologies[0].FSPhysicalIdealist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSPhysicalIdealist / V.FSLockinLevel);
-				V.arcologies[0].FSPhysicalIdealist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
-			}
-			break;
-		case "ChattelReligionist":
-			if (Number.isFinite(V.arcologies[0].FSChattelReligionist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSChattelReligionist / V.FSLockinLevel);
-				V.arcologies[0].FSChattelReligionist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
-			}
-			break;
-		case "RomanRevivalist":
-			if (Number.isFinite(V.arcologies[0].FSRomanRevivalist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSRomanRevivalist / V.FSLockinLevel);
-				V.arcologies[0].FSRomanRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
-			}
-			break;
-		case "AztecRevivalist":
-			if (Number.isFinite(V.activeArcology.FSAztecRevivalist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSAztecRevivalist / V.FSLockinLevel);
-				V.arcologies[0].FSAztecRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
-			}
-			break;
-		case "EgyptianRevivalist":
-			if (Number.isFinite(V.arcologies[0].FSEgyptianRevivalist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSEgyptianRevivalist / V.FSLockinLevel);
-				V.arcologies[0].FSEgyptianRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
-			}
-			break;
-		case "EdoRevivalist":
-			if (Number.isFinite(V.arcologies[0].FSEdoRevivalist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSEdoRevivalist / V.FSLockinLevel);
-				V.arcologies[0].FSEdoRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
-			}
-			break;
-		case "ArabianRevivalist":
-			if (Number.isFinite(V.arcologies[0].FSArabianRevivalist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSArabianRevivalist / V.FSLockinLevel);
-				V.arcologies[0].FSArabianRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
-			}
-			break;
-		case "ChineseRevivalist":
-			if (Number.isFinite(V.arcologies[0].FSChineseRevivalist)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSChineseRevivalist / V.FSLockinLevel);
-				V.arcologies[0].FSChineseRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
-			}
-			break;
-		case "Repopulationist":
-			if (Number.isFinite(V.arcologies[0].FSRepopulationFocus)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSRepopulationFocus / V.FSLockinLevel);
-				V.arcologies[0].FSRepopulationFocus += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
-			}
-			break;
-		case "Eugenics":
-			if (Number.isFinite(V.arcologies[0].FSRestart)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSRestart / V.FSLockinLevel);
-				V.arcologies[0].FSRestart += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
-			}
-			break;
-		case "Hedonism":
-			if (Number.isFinite(V.arcologies[0].FSHedonisticDecadence)) {
-				V.rep += magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSHedonisticDecadence / V.FSLockinLevel);
-				V.arcologies[0].FSHedonisticDecadence += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
-			}
-			break;
-		default:
-			errorMessage += "<span class='red'>ERROR: bad FS reference</span>";
-	}
-	return errorMessage;
-};
-
-/* Currently unused, widget version routes directly through FSChange() */
-window.FSChangePorn = function FSChangePorn(FS, magnitude) {
-	return FSChange(FS, magnitude, State.variables.pornFameBonus);
-};
-
 window.ordinalSuffix = function ordinalSuffix(i) {
 	var j = i % 10,
 		k = i % 100;
@@ -8805,10 +8617,6 @@ window.SlaveSort = function SlaveSort(slaves, main=false) {
 	}
 };
 
-window.slaveSortMinor = function slaveSortMinor(slaves) {
-	slaves = slaves.sort((a, b) => a.slaveName < b.slaveName ? -1 : 1);
-}
-
 window.MenialPopCap = function MenialPopCap () {
 	const V = State.variables;
 	let popCap = 500;
@@ -12089,16 +11897,6 @@ window.HSM = function() {
 		return .75;
 	}
 	
-	window.TierTwoUnlockCalc = function() {
-		const V = State.variables;
-		if (V.securityForceInfantryPower > 5) V.securityForceInfantryPower = 5;
-		if (V.securityForceArcologyUpgrades > 5) V.securityForceArcologyUpgrades = 5;
-		if (V.securityForceVehiclePower > 5) V.securityForceVehiclePower = 5;
-		if (V.securityForceDronePower > 5) V.securityForceDronePower = 5;
-		if (V.securityForceStimulantPower > 5) V.securityForceStimulantPower = 5;
-		if (V.securityForceAircraftPower > 5) V.securityForceAircraftPower = 5;
-	}
-	
 /*:: colorModeJS [script]*/
 
 window.flipColors = function (lightColorMap){
@@ -12319,7 +12117,6 @@ window.DefaultRules = (function() {
 			ProcessContraceptives(slave, rule);
 		ProcessOtherDrugs(slave, rule);
 		ProcessAssetGrowthDrugs(slave, rule);
-		ProcessEnema(slave, rule);
 		ProcessDiet(slave, rule);
 		ProcessCuratives(slave, rule);
 		ProcessAphrodisiacs(slave, rule);
@@ -12334,11 +12131,8 @@ window.DefaultRules = (function() {
 			ProcessPunishment(slave, rule);
 			ProcessReward(slave, rule);
 		}
-		ProcessToyHole(slave, rule);
 		ProcessDietCum(slave, rule);
 		ProcessDietMilk(slave, rule);
-		if (V.arcologies[0].FSHedonisticDecadenceResearch === 1)
-			ProcessSolidFood(slave, rule);
 		ProcessTeeth(slave, rule);
 		ProcessStyle(slave, rule);
 		ProcessPiercings(slave, rule);
@@ -13580,7 +13374,7 @@ window.DefaultRules = (function() {
 				break;
 			
 			case "appetite suppressors":
-				if (!(slave.weight <= -95))
+				if (!(slave.weight > -95))
 					flag = false;
 				break;
 				
@@ -13607,46 +13401,6 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	function ProcessEnema(slave, rule) {
-		if ((rule.inflationType !== undefined) && (rule.inflationType !== "no default setting")) {
-			if (slave.inflationType !== rule.inflationType) {
-				if ((slave.inflationType === "curative" && slave.health > 90) || (slave.inflationType === "tightener" && slave.anus <= 1 && slave.vagina <= 1)) {
-					r += `<br>${slave.slaveName} cannot benefit from her assigned enema and has been defaulted to none.`;
-					slave.inflation = 0;
-					slave.inflationType = "none";
-					slave.inflationMethod = 0;
-					slave.milkSource = 0;
-					slave.cumSource = 0;
-					SetBellySize(slave);
-				} else if ((rule.inflationType === "curative" && slave.health > 90) || (rule.inflationType === "tightener" && slave.anus <= 1 && slave.vagina <= 1)) {
-				} else {
-					r += `<br>${slave.slaveName}'s current enema regimen has been set to ${rule.inflationType}.`;
-					slave.inflation = 1;
-					slave.inflationType = rule.inflationType;
-					slave.inflationMethod = 2;
-					slave.milkSource = 0;
-					slave.cumSource = 0;
-					SetBellySize(slave);
-				}
-			}
-			if (slave.inflationType !== "none" && slave.inflation > 1 && slave.health < -50) {
-				r += `<br>${slave.slaveName}'s current enema regimen risks death, so it has been reduced to a less threatening level.`;
-				slave.inflation = 1;
-				SetBellySize(slave);
-			} else if (slave.inflation > 1 && (slave.bellyPreg >= 1500 || slave.bellyImplant >= 1500)) {
-				r += `<br>${slave.slaveName}'s current enema is too much for her body, so it has been reduced.`;
-				slave.inflation = 1;
-				SetBellySize(slave);
-			} else if (slave.inflationType === "none") {
-				slave.inflation = 0;
-				slave.inflationMethod = 0;
-				slave.milkSource = 0;
-				slave.cumSource = 0;
-				SetBellySize(slave);
-			}
-		}
-	}
-
 	function ProcessDiet(slave, rule) {
 		// Diet Setting 
 		if (rule.diet !== undefined && rule.diet !== "no default setting") {
@@ -14030,39 +13784,6 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	function ProcessToyHole(slave, rule) {
-		if ((rule.toyHole !== undefined) && (rule.toyHole !== "no default setting")) {
-			if (rule.toyHole === "pussy") {
-				if (slave.vagina > 0 && canDoVaginal(slave)) {
-					slave.toyHole = rule.toyHole ;
-					r += `<br>${slave.slaveName} has been instructed to use her ${rule.toyHole} to please you.`;
-				} else if (slave.toyHole !== "all her holes") {
-					slave.toyHole = "all her holes" ;
-					r += `<br>${slave.slaveName}'s hole preference has defaulted to all her holes.`;
-				}
-			} else if (rule.toyHole === "ass") {
-				if (slave.anus > 0 && canDoAnal(slave)) {
-					slave.toyHole = rule.toyHole ;
-					r += `<br>${slave.slaveName} has been instructed to use her ${rule.toyHole} to please you.`;
-				} else if (slave.toyHole !== "all her holes") {
-					slave.toyHole = "all her holes" ;
-					r += `<br>${slave.slaveName}'s hole preference has defaulted to all her holes.`;
-				}
-			} else if (rule.toyHole === "dick") {
-				if (slave.dick > 0 && canPenetrate(slave)) {
-					slave.toyHole = rule.toyHole ;
-					r += `<br>${slave.slaveName} has been instructed to use her ${rule.toyHole} to please you.`;
-				} else if (slave.toyHole !== "all her holes") {
-					slave.toyHole = "all her holes" ;
-					r += `<br>${slave.slaveName}'s hole preference has defaulted to all her holes.`;
-				}
-			} else if ((slave.toyHole !== rule.toyHole)) {
-				slave.toyHole = rule.toyHole ;
-				r += `<br>${slave.slaveName} has been instructed to use her ${rule.toyHole} to please you.`;
-			}
-		}
-	}
-
 	function ProcessDietCum(slave, rule) {
 		if ((rule.dietCum !== undefined) && (rule.dietCum !== "no default setting")) {
 			if (slave.dietCum != rule.dietCum) {
@@ -14095,18 +13816,6 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	function ProcessSolidFood(slave, rule) {
-		if ((rule.onDiet !== undefined) && (rule.onDiet !== "no default setting")) {
-			if ((slave.onDiet !== rule.onDiet)) {
-				slave.onDiet = rule.onDiet ;
-				if (slave.onDiet == 1)
-					r += `<br>${slave.slaveName} is permitted to eat the solid slave food.`;
-				else
-					r += `<br>${slave.slaveName} is not permitted to eat the solid slave food.`;
-			}
-		}
-	}
-
 	function ProcessTeeth(slave, rule) {
 		if ((rule.teeth !== undefined) && (rule.teeth !== "no default setting")) {
 			if ((rule.teeth == "universal")) {
@@ -14655,7 +14364,6 @@ window.DefaultRules = (function() {
 		}
 		slave.pornFeed = rule.pornFeed;
 		let yesno = slave.pornFeed ? "are now" : "are no longer";
-		if (slave.pornFeed === 0) {slave.pornFameSpending = 0};
 		r += `<br>Highlights of ${slave.slaveName}'s sex life ${yesno} being released.`;
 	}
 
@@ -15623,15 +15331,9 @@ window.rulesAssistantOptions = (function() {
 			this.appendChild(new ShemaleHormonesList());
 			this.appendChild(new GeldingHormonesList());
 			this.appendChild(new OtherDrugsList());
-			if (V.enema === 1) {
-				this.appendChild(new EnemaList());
-			}
 			this.appendChild(new DietList());
 			this.appendChild(new DietGrowthList());
 			this.appendChild(new DietBaseList());
-			if (V.arcologies[0].FSHedonisticDecadenceResearch === 1) {
-				this.appendChild(new DietSolidFoodList());
-			}
 			this.appendChild(new MuscleList());
 			this.appendChild(new BraceList());
 		}
@@ -15645,7 +15347,6 @@ window.rulesAssistantOptions = (function() {
 			this.appendChild(new PunishmentList());
 			this.appendChild(new RewardList());
 			this.appendChild(new ReleaseList());
-			this.appendChild(new ToyHoleList());
 			this.appendChild(new SmartFetishList());
 			this.appendChild(new SmartXYAttractionList());
 			this.appendChild(new SmartXXAttractionList());
@@ -16348,12 +16049,9 @@ window.rulesAssistantOptions = (function() {
 				drugs.push(["Weight loss pills (FS)", "appetite suppressors"]);
 				drugs.push(["breast redistributors"]);
 				drugs.push(["butt redistributors"]);
-				drugs.push(["nipple atrophiers"]);
 				drugs.push(["lip atrophiers"]);
 				drugs.push(["penis atrophiers"]);
 				drugs.push(["testicle atrophiers"]);
-				drugs.push(["clitoris atrophiers"]);
-				drugs.push(["labia atrophiers"]);
 			}
 			if (V.arcologies[0].FSAssetExpansionistResearch === 1) {
 				drugs.push(["hyper breast injections"]);
@@ -16371,26 +16069,6 @@ window.rulesAssistantOptions = (function() {
 		}
 	}
 
-	class EnemaList extends List {
-		constructor() {
-			const enemas = [
-				["No default setting", "no default setting"],
-				["None", "none"],
-				["Water", "water"]
-			];
-			if (V.medicalEnema === 1) {
-				enemas.push(
-				["Aphrodisiac", "aphrodisiac"],
-				["Curative", "curative"],
-				["Tightener", "tightener"]
-				);
-			}
-			super("Enemas", enemas);
-			this.setValue(current_rule.set.inflationType);
-			this.onchange = (value) => current_rule.set.inflationType = value;
-		}
-	}
-
 	class DietList extends List {
 		constructor() {
 			const diets = [
@@ -16465,19 +16143,6 @@ window.rulesAssistantOptions = (function() {
 
 	}
 
-	class DietSolidFoodList extends List {
-		constructor() {
-			const pairs = [
-				["No default setting", "no default setting"],
-				["Permitted", 1],
-				["Forbidden", 0],
-			];
-			super("Solid food access", pairs);
-			this.setValue(current_rule.set.onDiet);
-			this.onchange = (value) => current_rule.set.onDiet = value;
-		}
-	}
-
 	class MuscleList extends List {
 		constructor() {
 			const pairs = [
@@ -16567,23 +16232,6 @@ window.rulesAssistantOptions = (function() {
 		}
 	}
 
-	class ToyHoleList extends List {
-		constructor() {
-			const pairs = [
-				["No default setting", "no default setting"],
-				["All her holes", "all her holes"],
-				["Mouth", "mouth"],
-				["Boobs", "boobs"],
-				["Pussy", "pussy"],
-				["Ass", "ass"],
-				["Dick", "dick"]
-			];
-			super("Fucktoy use preference", pairs);
-			this.setValue(current_rule.set.toyHole);
-			this.onchange = (value) => current_rule.set.toyHole = value;
-		}
-	}
-
 	class SmartFetishList extends List {
 		constructor() {
 			const pairs = [
@@ -16815,7 +16463,6 @@ window.rulesAssistantOptions = (function() {
 	class EarwearList extends List {
 		constructor() {
 			const pairs = [
-				["no default setting"],
 				["correct with hearing aids"],
 				["muffle with ear plugs"],
 				["deafen with ear plugs"]
@@ -17798,7 +17445,6 @@ window.rulesAssistantOptions = (function() {
 	class CosmeticSurgeryList extends List {
 		constructor() {
 			const items = [
-				["no default setting"],
 				["none", 0],
 				["subtle", 1],
 				["invasive", 2],
@@ -18595,7 +18241,7 @@ window.AnalVCheck = function AnalVCheck(times) {
 		slave.anus = 1;
 	}
 	if (canDoAnal(slave)) {
-		if (canImpreg(slave, V.PC)) {
+		if (V.PC.dick === 1 && canGetPregnant(slave) && slave.eggType == "human") {
 			r += knockMeUp(slave, 10, 1, -1, 1);
 		}
 		if (!times) {
@@ -18651,7 +18297,7 @@ window.VaginalVCheck = function VaginalVCheck(times) {
 		}
 		slave.vagina = 1;
 
-		if (canImpreg(slave, V.PC)) {
+		if (V.PC.dick === 1 && canGetPregnant(slave) && slave.eggType == "human") {
 			r += knockMeUp(slave, 10, 0, -1, 1);
 		}
 		if (!times) {
@@ -18761,7 +18407,7 @@ window.BothVCheck = function BothVCheck(analTimes, bothTimes) {
 				slave.vaginalCount += bothTimes;
 				slave.analCount += bothTimes;
 			}
-			if (canImpreg(slave, V.PC)) {
+			if (V.PC.dick === 1 && canGetPregnant(slave) && slave.eggType == "human") {
 				r += knockMeUp(slave, 10, 2, -1, 1);
 			}
 		}
@@ -18774,7 +18420,7 @@ window.BothVCheck = function BothVCheck(analTimes, bothTimes) {
 				V.vaginalTotal += bothTimes;
 				slave.vaginalCount += bothTimes;
 			}
-			if (canImpreg(slave, V.PC)) {
+			if (V.PC.dick == 1 && canGetPregnant(slave) && slave.eggType == "human") {
 				r += knockMeUp(slave, 10, 0, -1, 1);
 			}
 		}
@@ -18814,7 +18460,7 @@ window.BothVCheck = function BothVCheck(analTimes, bothTimes) {
 			V.analTotal += analTimes;
 			slave.analCount += analTimes;
 		}
-		if (canImpreg(slave, V.PC)) {
+		if (V.PC.dick === 1 && canGetPregnant(slave) && slave.eggType == "human") {
 			r += knockMeUp(slave, 10, 1, -1, 1);
 		}
 	}
@@ -18882,7 +18528,7 @@ window.PartnerVCheck = function PartnerVCheck(analTimes, bothTimes) {
 				partner.vaginalCount += bothTimes;
 				partner.analCount += bothTimes;
 			}
-			if (canImpreg(partner, V.PC)) {
+			if (V.PC.dick === 1 && canGetPregnant(partner) && partner.eggType == "human") {
 				r += knockMeUp(partner, 10, 2, -1);
 			}
 		}
@@ -18895,7 +18541,7 @@ window.PartnerVCheck = function PartnerVCheck(analTimes, bothTimes) {
 				V.vaginalTotal += bothTimes;
 				partner.vaginalCount += bothTimes;
 			}
-			if (canImpreg(partner, V.PC)) {
+			if (V.PC.dick === 1 && canGetPregnant(partner) && partner.eggType == "human") {
 				r += knockMeUp(partner, 10, 0, -1);
 			}
 		}
@@ -18906,14 +18552,14 @@ window.PartnerVCheck = function PartnerVCheck(analTimes, bothTimes) {
 			partner.anus = 1;
 		}
 		if (!analTimes) {
-			V.analTotal += 1;
-			partner.analCount += 1;
-		}
-		else {
 			V.analTotal += analTimes;
 			partner.analCount += analTimes;
 		}
-		if (canImpreg(partner, V.PC)) {
+		else {
+			V.analTotal += 1;
+			partner.analCount += 1;
+		}
+		if (V.PC.dick === 1 && canGetPregnant(partner) && partner.eggType == "human") {
 			r += knockMeUp(partner, 10, 1, -1);
 		}
 	}
@@ -18942,14 +18588,14 @@ window.SimpleSexAct = function SimpleSexAct(slave, count) {
 		else if (canDoVaginal(slave) && slave.vagina > 0 && fuckTarget > 33) {
 			V.vaginalTotal += 1;
 			slave.vaginalCount += 1;
-			if (canImpreg(slave, V.PC)) {
+			if (V.PC.dick === 1 && canGetPregnant(slave) && slave.eggType == "human") {
 				r += knockMeUp(slave, 10, 0, -1, 1);
 			}
 		}
 		else if (canDoAnal(slave) && slave.anus > 0 && fuckTarget > 10) {
 			V.analTotal += 1;
 			slave.analCount += 1;
-			if (canImpreg(slave, V.PC)) {
+			if (V.PC.dick == 1 && canGetPregnant(slave) && slave.eggType == "human") {
 				r += knockMeUp(slave, 10, 1, -1, 1);
 			}
 		}
@@ -21108,10 +20754,10 @@ window.SlaveSummaryUncached = (function(){
 			r += slave.actualAge;
 		}
 		if (slave.actualAge !== slave.physicalAge) {
-			r += ` w${slave.physicalAge}y-bdy`;
+			r += `${slave.physicalAge}y-bdy`;
 		}
 		if (slave.visualAge !== slave.physicalAge) {
-			r += ` Lks${slave.visualAge}`;
+			r += `Lks${slave.visualAge}`;
 		}
 		r += " ";
 	}
@@ -21181,10 +20827,6 @@ window.SlaveSummaryUncached = (function(){
 			r += `Rem Teeth`;
 		} else if (slave.teeth === "pointy") {
 			r += `Fangs`;
-		} else if (slave.teeth === "baby") {
-			r += `Baby`;
-		} else if (slave.teeth === "mixed") {
-			r += `Mixed`;
 		}
 		r += " ";
 	}
@@ -21499,10 +21141,6 @@ window.SlaveSummaryUncached = (function(){
 			r += `Removable teeth.`;
 		} else if (slave.teeth === "pointy") {
 			r += `Sharp fangs.`;
-		} else if (slave.teeth === "baby") {
-			r += `Baby teeth.`;
-		} else if (slave.teeth === "mixed") {
-			r += `Mixed teeth.`;
 		}
 		r += " ";
 	}
@@ -22889,7 +22527,6 @@ window.SlaveSummaryUncached = (function(){
 				r += ` & lover`;
 				handled = 1;
 			}
-			r += " ";
 		}
 		if (slave.daughters === 1) {
 			let _ssj = V.slaves.findIndex(function(s) {
@@ -24112,13 +23749,13 @@ sizePlacement: Image size/center.
 */
 window.assistantArt = function assistantArt(sizePlacement) {
 	const V = State.variables;
-	let fileName = "";
+	let fileName = "'";
 
 	if (V.imageChoice === 0 || V.imageChoice === 1) {
 		if (V.imageChoice === 1) {
-			fileName += "'resources/vector/avatar/";
+			fileName += "resources/vector/avatar/";
 		} else /* V.imageChoice === 0*/ {
-			fileName += "'resources/renders/assistant ";
+			fileName += "resources/renders/assistant ";
 		}
 		switch (V.assistantAppearance) {
 			case "monstergirl":
@@ -24186,9 +23823,6 @@ window.ArtControlRendered = function ArtControlRendered(slave, sizePlacement) {
 	let fileName = "'resources/renders/";
 	let r = "";
 
-	if (slave.belly > 1500) {
-		fileName += "preg ";
-	}
 	if (slave.vagina > -1) {
 		if (slave.dick > 0) {
 			if (slave.balls > 0) {
@@ -24206,6 +23840,9 @@ window.ArtControlRendered = function ArtControlRendered(slave, sizePlacement) {
 			fileName += "gelding";
 		}
 	}
+	if (slave.belly > 1500) {
+		fileName = `preg ${fileName}`;
+	}
 	if (slave.boobs < 400) {
 		fileName = `${fileName} small`;
 	} else if (slave.boobs < 800) {
@@ -25725,7 +25362,7 @@ window.GetVignette = function GetVignette(slave) {
 	const He = capFirstChar(he);
 	const His = capFirstChar(his);
 
-	if (slave.assignment === "whore" || slave.assignment === window.Job.BROTHEL || slave.assignment === window.Job.MADAM) {
+	if (slave.assignment === "whore" || slave.assignment === "work in the brothel") {
 		let seed = jsRandom(1, 10);
 		switch (seed) {
 			case 1:
@@ -27301,7 +26938,7 @@ window.GetVignette = function GetVignette(slave) {
 			type: "trust",
 			effect: -1,
 		});
-	} else if (slave.assignment === "serve the public" || slave.assignment === window.Job.CLUB || slave.assignment === window.Job.DJ) {
+	} else if (slave.assignment === "serve the public" || slave.assignment === "serve in the club") {
 		let seed = jsRandom(1, 10);
 		switch (seed) {
 			case 1: