diff --git a/TODO.txt b/TODO.txt
index 7af7d09e059bda25a0c6e457d7b541aac448b6e1..76cefd27d0f6d26d4d277acb20e1d9d529b08ad9 100644
--- a/TODO.txt
+++ b/TODO.txt
@@ -14,3 +14,9 @@ Bugs:
 Rules Assistant:
 - find a way for the new intense drugs to fit in
 - everything mentioned in https://gitgud.io/pregmodfan/fc-pregmod/issues/81
+
+main.tw porting:
+- slaveart
+- slavesummary
+- slavesummaryuncached
+- clothingSelectionJS.tw pronouns
diff --git a/devNotes/twine JS b/devNotes/twine JS
index 90e409224e76a22898691a140b162a4177d2d92b..a2ea363e0f813b893e4a019e9f4d4bf090f6aef6 100644
--- a/devNotes/twine JS	
+++ b/devNotes/twine JS	
@@ -1427,6 +1427,76 @@ window.setPregType = function(actor) {
 	}
 }
 
+/*
+ Penetrative ability, ability to become pregnant, and canBreed() must be checked outside of this. Designed to assume .eggType == "human".
+ target is the slave to get pregnant. Also accepts the PC.
+ chance is the % chance to conceive.
+ hole control's the hole involved (0 - vagina, 1 - ass, 2 - both). .mpreg did this.
+ fatherID is the ID of her sire or 0 if undefined.
+ displayOverride is an override if defined - fatherID must be defined in this case.
+*/
+window.knockMeUp = function(target, chance, hole, fatherID, displayOverride) {
+	const V = State.variables;
+	let r = "";
+	if (V.seePreg !== 0) {
+		if (jsRandom(0,99) < (chance + (V.reproductionFormula*((target.pregSource <= 0) ? ((target.ID == -1) ? 0 : 10) : 20)))) {
+			if (target.mpreg === hole) {
+			
+				target.preg = 1;
+				target.pregSource = (!fatherID ? 0 : fatherID);
+				
+				if (target.ID !== -1) {
+					target.pregWeek = 1;
+				}
+				
+				target.pregType = setPregType(target);
+				WombImpregnate(target, target.pregType, target.pregSource, 1);
+				
+				if (V.menstruation === 1) {}
+				else if (!displayOverride) {
+					target.pregKnown = 1;
+					if (target.ID === -1) {
+						/* r += "@@.lime;You have gotten pregnant.@@"; */
+					} else if (target.fuckdoll === 0) {
+						r += "@@.lime;She has become pregnant.@@";
+					} else {
+						r += "@@.lime;It has become pregnant.@@";
+					}
+				} else {
+					target.pregKnown = 1;
+				}
+				
+			} else if (hole === 2) {
+			
+				target.preg = 1;
+				target.pregSource = (!fatherID ? 0 : fatherID);
+				
+				if (target.ID !== -1) {
+					target.pregWeek = 1;
+				}
+				
+				target.pregType = setPregType(target);
+				WombImpregnate(target, target.pregType, target.pregSource, 1);
+				
+				if (V.menstruation === 1) {}
+				else if (!displayOverride) {
+					target.pregKnown = 1;
+					if (target.ID === -1) {
+						/* r += "@@.lime;You have gotten pregnant.@@"; */
+					} else if (target.fuckdoll === 0) {
+						r += "@@.lime;She has become pregnant.@@";
+					} else {
+						r += "@@.lime;It has become pregnant.@@";
+					}
+				} else {
+					target.pregKnown = 1;
+				}
+			}
+		}
+	}
+	return r;
+}
+
 window.getIncubatorReserved = function(slaves) {
 	var count = 0;
 	slaves.forEach(function(s){
diff --git a/src/init/setupVars.tw b/src/init/setupVars.tw
index 9866567a967f73d102aa936831df071408daa144..3c3044ea416a6b226c15bd1805b66630947b0262 100644
--- a/src/init/setupVars.tw
+++ b/src/init/setupVars.tw
@@ -1514,7 +1514,6 @@ Then pick _namePool.random(), or display those names as possible choices, or do
 
 <<set setup.badNames = ["Ass Kisser", "Ass Licker", "Ass", "Assfucker", "Asshole", "Bitch", "Cocksucker", "Creep", "Cunt", "Despoiler", "Dick", "Dicksucker", "Dipshit", "Douchebag", "Dumbass", "DumbFuck", "Fucker", "Fuckface", "Fuckhead", "Jackass", "Jerk", "Prick", "Pussy", "Rapist", "Retard", "Ruiner", "Slave", "Slaver", "Slut", "Sodomite", "Traitor", "Trash", "Whore"]>>
 
-<<set setup.drugs = [{name: "No default setting", value: "no default setting"}, {name: "None", value: "none"}, {name: "Psychosuppressants", value: "psychosuppressants"}, {name: "Steroids", value: "steroids"}, {name: "Natural hormone enhancers", value: "hormone enhancers"}, {name: "Hormone blockers", value: "hormone blockers"}, {name: "Growth Stimulants", value: "growth stimulants", rs: "growth"}, {name: "Sag-B-gone", value: "sag-B-gone", rs: "nosag"}, {name: "Female hormone injections", value: "female hormone injections", rs: "pubHorm"}, {name: "Male hormone injections", value: "male hormone injections", rs: "pubHorm"}, {name: "Anti-aging cream", value: "anti-aging cream", fs: "youth"}]>>
 <<set setup.harshCollars = [{name: "Tight steel", value: "tight steel"}, {name: "Cruel retirement counter", value: "cruel retirement counter", fs: "seeage"}, {name: "Uncomfortable leather", value: "uncomfortable leather"}, {name: "Pregnancy biometrics", value: "preg biometrics"}, {name: "Shock punishment", value: "shock punishment"}, {name: "Dildo gag", value: "dildo gag"}, {name: "Massive dildo gag", value: "massive dildo gag", rs: "buyGag"}, {name: "Ball gag", value: "ball gag"}, {name: "Bit gag", value: "bit gag"}, {name: "Neck corset", value: "neck corset"}, {name: "Porcelain mask", value: "porcelain mask"}]>>
 <<set setup.shoes = [{name: "No default footwear setting", value: "no default setting"}, {name: "Barefoot", value: "none"}, {name: "Flats", value: "flats"}, {name: "Heels", value: "heels"}, {name: "Pumps", value: "pumps"}, {name: "Thigh boots", value: "boots"}, {name: "Painfully extreme heels", value: "extreme heels"}]>>
 <<set setup.bellyAccessories = [{name: "No default setting", value: "no default setting"}, {name: "None", value: "none"}, {name: "Tight corset", value: "a corset"}, {name: "Extreme corset", value: "an extreme corset"}, {name: "1st Trimester belly", value: "a small empathy belly", fs: "repopulation", rs: "boughtBelly"}, {name: "2nd Trimester belly", value: "a medium empathy belly", fs: "repopulation", rs: "boughtBelly"}, {name: "3rd Trimester belly", value: "a large empathy belly", fs: "repopulation", rs: "boughtBelly"}, {name: "3rd Trimester twins belly", value: "a huge empathy belly", fs: "repopulation", rs: "boughtBelly"}]>>
@@ -1648,4 +1647,4 @@ Then pick _namePool.random(), or display those names as possible choices, or do
 "tan":"tan",
 "yellow":"yellow",
 "yellowgreen":"yellowgreen"
-}>>
\ No newline at end of file
+}>>
diff --git a/src/js/DefaultRules.tw b/src/js/DefaultRules.tw
index dedc4ad900f48b3e063f9fc793d5a6bc4bd2853f..fcfdba60287fb5d1f60889562967728961b355ac 100644
--- a/src/js/DefaultRules.tw
+++ b/src/js/DefaultRules.tw
@@ -27,7 +27,7 @@ window.DefaultRules = (function() {
 		}
 		ProcessBellyImplant(slave, rule);
 		if (isFertile(slave))
-			ProcessFertilityDrugs(slave, rule);
+			ProcessContraceptives(slave, rule);
 		ProcessAssetGrowthDrugs(slave, rule);
 		ProcessOtherDrugs(slave, rule);
 		ProcessDiet(slave, rule);
@@ -873,53 +873,14 @@ window.DefaultRules = (function() {
 		}
 	}
 
-	function ProcessFertilityDrugs(slave, rule) {
-		// Fertility 
+	function ProcessContraceptives(slave, rule) {
 		if ((rule.preg !== undefined) && (rule.preg !== "no default setting")) {
-			if ((rule.preg == -1)) {
-				if (slave.preg !== -1) {
-					r += `<br>${slave.slaveName} is fertile, so she has been put on the appropriate contraceptive regime.`;
-					slave.preg = -1;
-				}
-				if (slave.drugs == "fertility drugs" || slave.drugs == "super fertility drugs") {
-					slave.drugs = "no drugs";
-				}
-			} else if ((rule.preg === 0)) {
-				if (slave.preg !== 0) {
-					r += `<br>${slave.slaveName} is fertile, so she has been taken off contraceptives.`;
-					slave.preg = 0;
-				}
-				if (slave.drugs == "fertility drugs" || slave.drugs == "super fertility drugs") {
-					slave.drugs = "no drugs";
-				}
-			} else if ((rule.preg == 1)) {
-				if (slave.preg !== 0 || slave.drugs !== "fertility drugs" || slave.hormones !== 0) {
-					slave.preg = 0;
-					slave.drugs = "fertility drugs";
-					slave.hormones = 0;
-					r += `<br>${slave.slaveName} is fertile, so she has been put on the appropriate fertility regime.`;
-				}
-			} else if ((rule.preg == 2)) {
-				if (slave.preg !== 0 || slave.drugs !== "fertility drugs" || slave.hormones !== 2) {
-					slave.preg = 0;
-					slave.drugs = "fertility drugs";
-					slave.hormones = 2;
-					r += `<br>${slave.slaveName} is fertile, so she has been put on the appropriate fertility regime.`;
-				}
-			} else if ((rule.preg == 3) && slave.indentureRestrictions < 1) {
-				if (slave.preg !== 0 || slave.drugs !== "super fertility drugs" || slave.hormones !== 0) {
-					slave.preg = 0;
-					slave.drugs = "super fertility drugs";
-					slave.hormones = 0;
-					r += `<br>${slave.slaveName} is fertile, so she has been put on the appropriate fertility regime.`;
-				}
-			} else if ((rule.preg == 4) && slave.indentureRestrictions < 1) {
-				if (slave.preg !== 0 || slave.drugs !== "super fertility drugs" || slave.hormones !== 2) {
-					slave.preg = 0;
-					slave.drugs = "super fertility drugs";
-					slave.hormones = 2;
-					r += `<br>${slave.slaveName} is fertile, so she has been put on the appropriate fertility regime.`;
-				}
+			if (rule.preg === true && slave.preg === 0) {
+				r += `<br>${slave.slaveName} is being given contraceptives.`;
+				slave.preg = -1;
+			} else if (slave.preg === -1) {
+				r += `<br>${slave.slaveName} is no longer being put on contraceptives.`;
+				slave.preg = 0;
 			}
 		}
 	}
@@ -1137,65 +1098,62 @@ window.DefaultRules = (function() {
 
 	function ProcessOtherDrugs(slave, rule) {
 		// Other Drugs 
-		const drugs = new Set(["psychosuppressants", "no drugs", "steroids", "hormone enhancers", "hormone blockers", "anti-aging cream", "growth stimulants", "sag-B-gone", "male hormone injections", "female hormone injections", "none"]);
-		if (drugs.has(rule.drug)) {
-			if (drugs.has(slave.drugs) && (slave.drugs != rule.drug)) {
-				switch (rule.drug) {
-				case "anti-aging cream":
-					if (slave.visualAge > 18) {
-						slave.drugs = rule.drug ;
-						r += `<br>${slave.slaveName} has been put on ${slave.drugs}.`;
-					} else {
-						slave.drugs = "no drugs" ;
-						r += `<br>${slave.slaveName} cannot benefit from her assigned drug and has been defaulted to ${slave.drugs}.`;
-					}
-					break;
-
-				case "growth stimulants":
-					if (slave.height < 274 && slave.height < Math.clamp((Height.mean(slave) * 1.25),0,274)) {
-						slave.drugs = rule.drug;
-						r += `<br>${slave.slaveName} has been put on ${slave.drugs}.`;
-					} else {
-						slave.drugs = "no drugs";
-						r += `<br>${slave.slaveName} cannot benefit from her assigned drug and has been defaulted to ${slave.drugs}.`;
-					}
-					break;
+		if (rule.drug !== "no default setting" && slave.drugs !== rule.drug) {
+			switch (rule.drug) {
+			case "anti-aging cream":
+				if (slave.visualAge > 18) {
+					slave.drugs = rule.drug ;
+					r += `<br>${slave.slaveName} has been put on ${slave.drugs}.`;
+				} else {
+					slave.drugs = "no drugs" ;
+					r += `<br>${slave.slaveName} cannot benefit from her assigned drug and has been defaulted to ${slave.drugs}.`;
+				}
+				break;
 
-				case "sag-B-gone":
-					if (slave.boobs > 250 && slave.boobShape != "saggy") {
-						slave.drugs = rule.drug;
-						r += `<br>${slave.slaveName} has been put on ${slave.drugs}.`;
-					} else {
-						slave.drugs = "no drugs";
-						r += `<br>${slave.slaveName} cannot benefit from her assigned drug and has been defaulted to ${slave.drugs}.`;
-					}
-					break;
+			case "growth stimulants":
+				if (slave.height < 274 && slave.height < Math.clamp((Height.mean(slave) * 1.25),0,274)) {
+					slave.drugs = rule.drug;
+					r += `<br>${slave.slaveName} has been put on ${slave.drugs}.`;
+				} else {
+					slave.drugs = "no drugs";
+					r += `<br>${slave.slaveName} cannot benefit from her assigned drug and has been defaulted to ${slave.drugs}.`;
+				}
+				break;
 
-				case "female hormone injections":
-					if (slave.breedingMark != 1 && (slave.ovaries == 1 || slave.mpreg == 1) && slave.pubertyXX === 0) {
-						slave.drugs = rule.drug ;
-						r += `<br>${slave.slaveName} has been put on ${slave.drugs}.`;
-					} else {
-						slave.drugs = "no drugs";
-						r += `<br>${slave.slaveName} cannot benefit from her assigned drug and has been defaulted to ${slave.drugs}.`;
-					}
-					break;
+			case "sag-B-gone":
+				if (slave.boobs > 250 && slave.boobShape != "saggy") {
+					slave.drugs = rule.drug;
+					r += `<br>${slave.slaveName} has been put on ${slave.drugs}.`;
+				} else {
+					slave.drugs = "no drugs";
+					r += `<br>${slave.slaveName} cannot benefit from her assigned drug and has been defaulted to ${slave.drugs}.`;
+				}
+				break;
 
-				case "male hormone injections":
-					if (slave.breedingMark != 1 && slave.balls > 0 && slave.pubertyXY === 0) {
-						slave.drugs = rule.drug ;
-						r += `<br>${slave.slaveName} has been put on ${slave.drugs}.`;
-					} else {
-						slave.drugs = "no drugs";
-						r += `<br>${slave.slaveName} cannot benefit from her assigned drug and has been defaulted to ${slave.drugs}.`;
-					}
-					break;
+			case "female hormone injections":
+				if (slave.breedingMark != 1 && (slave.ovaries == 1 || slave.mpreg == 1) && slave.pubertyXX === 0) {
+					slave.drugs = rule.drug ;
+					r += `<br>${slave.slaveName} has been put on ${slave.drugs}.`;
+				} else {
+					slave.drugs = "no drugs";
+					r += `<br>${slave.slaveName} cannot benefit from her assigned drug and has been defaulted to ${slave.drugs}.`;
+				}
+				break;
 
-				default:
-					slave.drugs = rule.drug;
+			case "male hormone injections":
+				if (slave.breedingMark != 1 && slave.balls > 0 && slave.pubertyXY === 0) {
+					slave.drugs = rule.drug ;
 					r += `<br>${slave.slaveName} has been put on ${slave.drugs}.`;
-					break;
+				} else {
+					slave.drugs = "no drugs";
+					r += `<br>${slave.slaveName} cannot benefit from her assigned drug and has been defaulted to ${slave.drugs}.`;
 				}
+				break;
+
+			default:
+				slave.drugs = rule.drug;
+				r += `<br>${slave.slaveName} has been put on ${slave.drugs}.`;
+				break;
 			}
 		}
 	}
@@ -1369,10 +1327,10 @@ window.DefaultRules = (function() {
 			}
 		}
 
-		if (slave.drugs === "appetite suppressors" && slave.diet !== "slimming") {
+		if (slave.drugs === "appetite suppressors" && slave.diet !== "restricted") {
 			slave.drugs = "no drugs";
 			r += `<br>${slave.slaveName} is no longer losing weight, so she's no longer being given appetite suppressors.`;
-		} else if (slave.diet === "slimming" && V.arcologies[0].FSSlimnessEnthusiastResearch == 1 && (slave.drugs == "no drugs" || slave.drugs == "none")) {
+		} else if (slave.diet === "restricted" && V.arcologies[0].FSSlimnessEnthusiastResearch == 1 && (slave.drugs == "no drugs" || slave.drugs == "none")) {
 			slave.drugs = "appetite suppressors";
 			r += `<br>${slave.slaveName} is losing weight so she will be given weight loss pills.`;
 		}
@@ -1490,7 +1448,7 @@ window.DefaultRules = (function() {
 	function ProcessLivingStandard(slave, rule) {
 		if ((rule.livingRules !== undefined) && (rule.livingRules !== "no default setting")) {
 			if (setup.facilityCareers.includes(slave.assignment)) {
-				r += `` // `<br>${slave.slaveName}'s living standards are controlled by her assignment.`;
+				r += ``; // `<br>${slave.slaveName}'s living standards are controlled by her assignment.`;
 			} else if (((slave.assignment == "be your Head Girl") && (V.HGSuite == 1)) || ((slave.assignment == "guard you") && (V.dojo > 1))) {
 				r += `<br>${slave.slaveName} has a private room.`;
 			} else if ((slave.fetish == "mindbroken")) {
diff --git a/src/js/assayJS.tw b/src/js/assayJS.tw
index 7a58b23610e2a9ca6d72bbe198da11ea60c0c49a..7afefac529f6df3853b06ce535587934ddcd1527 100644
--- a/src/js/assayJS.tw
+++ b/src/js/assayJS.tw
@@ -257,3 +257,131 @@ window.getPronouns = function getPronouns(slave) {
 		objectReflexive: slave.objectReflexive,
 		noun: slave.noun };
 };
+
+window.WrittenMaster = function WrittenMaster(slave) {
+	const V = State.variables;
+	if (slave !== undefined)
+		Enunciate(slave);
+	else if (V.titleEnunciate === undefined)
+		Enunciate(V.activeSlave);
+	return V.writtenTitle;
+};
+
+window.Enunciate = function Enunciate(slave) {
+	const V = State.variables;
+	if (SlaveStatsChecker.checkForLisp(slave)) {
+		if (V.PC.customTitleLisp !== undefined)
+			V.titleEnunciate = V.PC.customTitleLisp;
+		else if (V.PC.title !== 0)
+			V.titleEnunciate = "Mathter";
+		else
+			V.titleEnunciate = "Mithtreth";
+		if (V.allowFamilyTitles === 1) {
+			if (slave.father == -1) {
+				if (slave.actualAge < 4 && slave.physicalAge < 4)
+					V.titleEnunciate = "Dadda";
+				else if (slave.actualAge < 9)
+					V.titleEnunciate = "Daddy";
+				else
+					V.titleEnunciate = "Dad";
+			} else if (slave.mother == -1) {
+				if (slave.actualAge < 4 && slave.physicalAge < 4)
+					V.titleEnunciate = "Mama";
+				else if (slave.actualAge < 9)
+					V.titleEnunciate = "Mommy";
+				else
+					V.titleEnunciate = "Mom";
+			} else if (V.PC.mother == slave.ID || V.PC.father == slave.ID) {
+				if (V.PC.title == 1)
+					V.titleEnunciate = "Thon";
+				else if (V.PC.title == 0)
+					V.titleEnunciate = "Daughter";
+			} else if (areSisters(slave, V.PC) > 0) {
+				if (V.PC.title == 1) {
+					if (slave.actualAge < 18)
+						V.titleEnunciate = "Bro";
+					else
+						V.titleEnunciate = "Brother";
+				} else if (V.PC.title == 0) {
+					if (slave.actualAge < 18)
+						V.titleEnunciate = "Thith";
+					else
+						V.titleEnunciate = "Thithter";
+				}
+			}
+		}
+		if (slave.customTitleLisp && slave.customTitleLisp !== "")
+			V.titleEnunciate = slave.customTitleLisp;
+		V.sayEnunciate = "lisp";
+		V.sEnunciate = "th";
+		V.SEnunciate = "Th";
+		V.ssEnunciate = "th";
+		V.cEnunciate = "th";
+		V.ccEnunciate = "th";
+		V.zEnunciate = "th";
+		V.shEnunciate = "th";
+		V.ShEnunciate = "Th";
+		V.xEnunciate = "kth";
+	} else {
+		if (V.PC.customTitle !== undefined)
+			V.titleEnunciate = V.PC.customTitle;
+		else if (V.PC.title != 0)
+			V.titleEnunciate = "Master";
+		else
+			V.titleEnunciate = "Mistress";
+		if (V.allowFamilyTitles == 1) {
+			if (slave.father == -1) {
+				if (slave.actualAge < 4 && slave.physicalAge < 4)
+					V.titleEnunciate = "Dadda";
+				else if (slave.actualAge < 9)
+					V.titleEnunciate = "Daddy";
+				else
+					V.titleEnunciate = "Dad";
+			} else if (slave.mother == -1) {
+				if (slave.actualAge < 4 && slave.physicalAge < 4)
+					V.titleEnunciate = "Mama";
+				else if (slave.actualAge < 9)
+					V.titleEnunciate = "Mommy";
+				else
+					V.titleEnunciate = "Mom";
+			} else if (V.PC.mother == slave.ID || V.PC.father == slave.ID) {
+				if (V.PC.title == 1)
+					V.titleEnunciate = "Son";
+				else if (V.PC.title == 0)
+					V.titleEnunciate = "Daughter";
+			} else if (areSisters(slave, V.PC) > 0) {
+				if (V.PC.title == 1) {
+					if (slave.actualAge < 18)
+						V.titleEnunciate = "Bro";
+					else
+						V.titleEnunciate = "Brother";
+				} else if (V.PC.title == 0) {
+					if (slave.actualAge < 18)
+						V.titleEnunciate = "Sis";
+					else
+						V.titleEnunciate = "Sister";
+				}
+			}
+		}
+		if (slave.customTitle !== undefined && slave.customTitle != "")
+			V.titleEnunciate = slave.customTitle;
+		if (V.PC.customTitle !== undefined)
+			V.writtenTitle = V.PC.customTitle;
+		else if (V.PC.title != 0)
+			V.writtenTitle = "Master";
+		else
+			V.writtenTitle = "Mistress";
+		if (slave.customTitle !== undefined && slave.customTitle != "" && slave.rudeTitle == 0)
+			V.writtenTitle = slave.customTitle;
+		V.sayEnunciate = "say";
+		V.sEnunciate = "s";
+		V.SEnunciate = "S";
+		V.ssEnunciate = "ss";
+		V.cEnunciate = "c";
+		V.ccEnunciate = "cc";
+		V.zEnunciate = "z";
+		V.shEnunciate = "sh";
+		V.ShEnunciate = "Sh";
+		V.xEnunciate = "x";
+	}
+};
diff --git a/src/js/clothingSelectionJS.tw b/src/js/clothingSelectionJS.tw
index a71191212cdbb50666751ea465f69828c8381501..eaf25295824a0a2b4fe80f0f0e8a53f98819979f 100644
--- a/src/js/clothingSelectionJS.tw
+++ b/src/js/clothingSelectionJS.tw
@@ -1,7 +1,6 @@
 :: clothingSelectionJS [script]
 
 window.todaysOutfit = function(slave) {
-
 	var ArcologyZero = State.variables.arcologies[0];
 	var player = State.variables.PC;
 	var clothing = [];
@@ -10,11 +9,19 @@ window.todaysOutfit = function(slave) {
 	var wardrobeTastes = [];
 	var selection;
 
-	/*for the time being, this will use female pronouns until the system is updated.*/
+	const pronouns = getPronouns(slave);
+	const he = pronouns.pronoun;
+	const him = pronouns.object;
+	const his = pronouns.possessive;
+	const hers = pronouns.posessivePronoun;
+	const himself = pronouns.objectReflexive;
+	const boy = pronouns.noun;
+	const He = capFirstChar(he);
+	const His = capFirstChar(his);
 
 	if(slave.fetish == 'mindbroken') {
 		if(ArcologyZero.FSChattelReligionist > 0) {
-			selection = {text: "she commonly sees others wearing chattel habits and is drawn to doing so herself.", clothes: "a chattel habit"};
+			selection = {text: `${he} commonly sees others wearing chattel habits and is drawn to doing so ${himself}.`, clothes: "a chattel habit"};
 		} else {
 			clothing.push('panties');
 			if(ArcologyZero.FSEgyptianRevivalist > 0) {
@@ -55,66 +62,66 @@ window.todaysOutfit = function(slave) {
 			clothing = jsEither(clothing);
 			switch(clothing) {
 			case 'egyptian':
-				selection = {text: "she commonly sees others wearing nothing but jewelry and is drawn to doing so herself.", clothes: "slutty jewelry"};
+				selection = {text: `${he} commonly sees others wearing nothing but jewelry and is drawn to doing so ${himself}.`, clothes: "slutty jewelry"};
 				break;
 			case 'roman':
-				selection = {text: "she commonly sees others wearing togas and is drawn to doing so herself.", clothes: "a toga"};
+				selection = {text: `${he} commonly sees others wearing togas and is drawn to doing so ${himself}.`, clothes: "a toga"};
 				break;
 			case 'aztec':
-				selection = {text: "she commonly sees others wearing huipils and is drawn to doing so herself.", clothes: "a huipil"};
+				selection = {text: `${he} commonly sees others wearing huipils and is drawn to doing so ${himself}.`, clothes: "a huipil"};
 				break;
 			case 'edo':
-				selection = {text: "she commonly sees others wearing kimonos and is drawn to doing so herself.", clothes: "a kimono"};
+				selection = {text: `${he} commonly sees others wearing kimonos and is drawn to doing so ${himself}.`, clothes: "a kimono"};
 				break;
 			case 'arabic':
-				selection = {text: "she commonly sees others wearing silk and is drawn to doing so herself.", clothes: "harem gauze"};
+				selection = {text: `${he} commonly sees others wearing silk and is drawn to doing so ${himself}.`, clothes: "harem gauze"};
 				break;
 			case 'chinese':
-				selection = {text: "she commonly sees others wearing qipaos and is drawn to doing so herself.", clothes: "a slutty qipao"};
+				selection = {text: `${he} commonly sees others wearing qipaos and is drawn to doing so ${himself}.`, clothes: "a slutty qipao"};
 				break;
 			case 'genderFund':
 				if(jsRandom(1,2) == 1) {
-					selection = {text: "she commonly sees cheerleaders around and instinctually follows along.", clothes: jsEither(['a cheerleader outfit', 'a schoolgirl outfit'])};
+					selection = {text: `${he} commonly sees cheerleaders around and instinctually follows along.`, clothes: jsEither(['a cheerleader outfit', 'a schoolgirl outfit'])};
 				} else {
-					selection = {text: "she commonly sees bunnies around and instinctually follows along.", clothes: "a bunny outfit"};
+					selection = {text: `${he} commonly sees bunnies around and instinctually follows along.`, clothes: "a bunny outfit"};
 				}
 				break;
 			case 'paternalist':
-				selection = {text: "she commonly sees others wearing clothing and is drawn to doing so herself.", clothes: "conservative clothing"};
+				selection = {text: `${he} commonly sees others wearing clothing and is drawn to doing so ${himself}.`, clothes: "conservative clothing"};
 				break;
 			case 'degradationist':
-				selection = {text: "she commonly sees others wearing chains and is drawn to doing so herself.", clothes: jsEither(['chains', 'uncomfortable straps', 'shibari ropes'])};
+				selection = {text: `${he} commonly sees others wearing chains and is drawn to doing so ${himself}.`, clothes: jsEither(['chains', 'uncomfortable straps', 'shibari ropes'])};
 				break;
 			case 'mature':
-				selection = {text: "she commonly sees others wearing suits and is drawn to doing so herself.", clothes: jsEither(['slutty business attire', 'a nice maid outfit', 'a military uniform', 'a schutzstaffel uniform', 'a slutty schutzstaffel uniform', 'a red army uniform', 'nice business attire'])};
+				selection = {text: `${he} commonly sees others wearing suits and is drawn to doing so ${himself}.`, clothes: jsEither(['slutty business attire', 'a nice maid outfit', 'a military uniform', 'a schutzstaffel uniform', 'a slutty schutzstaffel uniform', 'a red army uniform', 'nice business attire'])};
 				break;
 			case 'youth':
-				selection = {text: "she commonly sees schoolgirls around and instinctually follows along.", clothes: jsEither(['a schoolgirl outfit', 'a cheerleader outfit'])};
+				selection = {text: `${he} commonly sees schoolgirls around and instinctually follows along.`, clothes: jsEither(['a schoolgirl outfit', 'a cheerleader outfit'])};
 				break;
 			case 'physicalIdealist':
-				selection = {text: "she commonly sees naked girls around and seldom realizes they are coated in oil.", clothes: jsEither(['body oil', 'no clothing', 'no clothing'])};
+				selection = {text: `${he} commonly sees naked girls around and seldom realizes they are coated in oil.`, clothes: jsEither(['body oil', 'no clothing', 'no clothing'])};
 				break;
 			case 'pastoralist':
-				selection = {text: "she commonly sees cowgirls around and instinctually follows along.", clothes: "Western clothing"};
+				selection = {text: `${he} commonly sees cowgirls around and instinctually follows along.`, clothes: "Western clothing"};
 				break;
 			case 'bodyPurist':
-				selection = {text: "she commonly sees others wearing tight, form-fitting clothes and is drawn to doing so herself.", clothes: jsEither(['a leotard', 'a string bikini', 'a slave gown', 'a comfortable bodysuit', 'restrictive latex', 'clubslut netting', 'a leotard', 'a halter top dress'])};
+				selection = {text: `${he} commonly sees others wearing tight, form-fitting clothes and is drawn to doing so ${himself}.`, clothes: jsEither(['a leotard', 'a string bikini', 'a slave gown', 'a comfortable bodysuit', 'restrictive latex', 'clubslut netting', 'a leotard', 'a halter top dress'])};
 				break;
 			default:
-				selection = {text: "she chooses to put on underwear, the reasons lost to her, and moves on.", clothes: "attractive lingerie"};
+				selection = {text: `${he} chooses to put on underwear, the reasons lost to ${him}, and moves on.`, clothes: "attractive lingerie"};
 				break;
 			}
 		}
 	} else if(slave.devotion <= 20) {
-		clothing.push({text: "She uses the ability to select outfits to cover up with comfortable cutoffs and a t-shirt,", clothes: "cutoffs and a t-shirt"});
+		clothing.push({text: `${He} uses the ability to select outfits to cover up with comfortable cutoffs and a t-shirt,`, clothes: "cutoffs and a t-shirt"});
 		if(isItemAccessible("conservative clothing")) {
-			wardrobeAssignment.push({text: "She uses the ability to select outfits to cover up with the most conservative clothing she can find.", clothes: "conservative clothing"});
+			wardrobeAssignment.push({text: `${He} uses the ability to select outfits to cover up with the most conservative clothing ${he} can find.`, clothes: "conservative clothing"});
 		}
 		if(isItemAccessible("a kimono")) {
-			wardrobeAssignment.push({text: "She uses the ability to select outfits to cover herself with a kimono.", clothes: "a kimono"});
+			wardrobeAssignment.push({text: `${He} uses the ability to select outfits to cover ${himself} with a kimono.`, clothes: "a kimono"});
 		}
 		if(isItemAccessible("stretch pants and a crop-top")) {
-			wardrobeAssignment.push({text: "She uses the ability to select outfits to cover up with stretch pants and a crop-top, though she wishes it didn't have lewd comments printed on it.", clothes: "stretch pants and a crop-top"});
+			wardrobeAssignment.push({text: `${He} uses the ability to select outfits to cover up with stretch pants and a crop-top, though ${he} wishes it didn't have lewd comments printed on it.`, clothes: "stretch pants and a crop-top"});
 		}
 		selection = jsEither(clothing);
 	} else {
@@ -124,75 +131,75 @@ window.todaysOutfit = function(slave) {
 		/*Chooses clothes according to assignment (no exceptions)*/
 		else if(slave.assignment == "be the Nurse") {
 			if(slave.energy > 95 || slave.need > 100) {
-				wardrobeAssignment.push({text: "and wears a slutty nurse outfit to make it clear just how much this nurse needs her daily lay.", clothes: "a slutty nurse outfit"});
+				wardrobeAssignment.push({text: `and wears a slutty nurse outfit to make it clear just how much this nurse needs ${his} daily lay.`, clothes: "a slutty nurse outfit"});
 			} else if(slave.energy > 80) {
-				wardrobeAssignment.push({text: "and wears a slutty nurse outfit to show off her body and arouse her patients.", clothes: "a slutty nurse outfit"});
-				wardrobeAssignment.push({text: "and wears a nice nurse outfit to look professional before her patients.", clothes: "a nice nurse outfit"});
-				wardrobeAssignment.push({text: "and wears a slutty nurse outfit to show to a little skin as she cares for her patients.", clothes: "a slutty nurse outfit"});
+				wardrobeAssignment.push({text: `and wears a slutty nurse outfit to show off ${his} body and arouse ${his} patients.`, clothes: "a slutty nurse outfit"});
+				wardrobeAssignment.push({text: `and wears a nice nurse outfit to look professional before ${his} patients.`, clothes: "a nice nurse outfit"});
+				wardrobeAssignment.push({text: `and wears a slutty nurse outfit to show to a little skin as ${he} cares for ${his} patients.`, clothes: "a slutty nurse outfit"});
 			} else {
-				wardrobeAssignment.push({text: "and wears a nice nurse outfit to look professional before her patients.", clothes: "a nice nurse outfit"});
-				wardrobeAssignment.push({text: "and wears a slutty nurse outfit to show to a little skin as she cares for her patients.", clothes: "a slutty nurse outfit"});
+				wardrobeAssignment.push({text: `and wears a nice nurse outfit to look professional before ${his} patients.`, clothes: "a nice nurse outfit"});
+				wardrobeAssignment.push({text: `and wears a slutty nurse outfit to show to a little skin as ${he} cares for ${his} patients.`, clothes: "a slutty nurse outfit"});
 			}
 		} else if(slave.assignment == "be the Madam") {
 			if(slave.energy > 95 || slave.need > 100) {
-				wardrobeAssignment.push({text: "and wears a slutty suit to be certain nothing blocks her from getting the sex she needs.", clothes: "slutty business attire"});
+				wardrobeAssignment.push({text: `and wears a slutty suit to be certain nothing blocks ${his} from getting the sex ${he} needs.`, clothes: "slutty business attire"});
 			} else if(slave.energy > 80) {
-				wardrobeAssignment.push({text: "and wears a nice suit to show she means business.", clothes: "nice business attire"});
+				wardrobeAssignment.push({text: `and wears a nice suit to show ${he} means business.`, clothes: "nice business attire"});
 				wardrobeAssignment.push({text: "and wears a slutty suit to entice and arouse while still looking managerial.", clothes: "slutty business attire"});
 				wardrobeAssignment.push({text: "and wears a slutty suit to entice and arouse while still looking managerial.", clothes: "slutty business attire"});
 			} else {
-				wardrobeAssignment.push({text: "and wears a nice suit to show she means business.", clothes: "nice business attire"});
+				wardrobeAssignment.push({text: `and wears a nice suit to show ${he} means business.`, clothes: "nice business attire"});
 				wardrobeAssignment.push({text: "and wears a slutty suit to entice and arouse while still looking managerial.", clothes: "slutty business attire"});
 			}
 		} else if(slave.assignment == "be the Milkmaid") {
 			if(slave.energy > 95 || slave.need > 100) {
 				if(isItemAccessible("body oil")) {
-					wardrobeAssignment.push({text: "and coats herself with oil to better slip between her cows as she pleasures them.", clothes: "body oil"});
+					wardrobeAssignment.push({text: `and coats ${himself} with oil to better slip between ${his} cows as ${he} pleasures them.`, clothes: "body oil"});
 				}
-				wardrobeAssignment.push({text: "but goes nude to not be slowed down while moving between her charges.", clothes: "no clothing"});
+				wardrobeAssignment.push({text: `but goes nude to not be slowed down while moving between ${his} charges.`, clothes: "no clothing"});
 			} else {
-				wardrobeAssignment.push({text: "and wears a sturdy maid outfit, since anything else might be damaged by her hard work with the cows.", clothes: "a nice maid outfit"});
+				wardrobeAssignment.push({text: `and wears a sturdy maid outfit, since anything else might be damaged by ${his} hard work with the cows.`, clothes: "a nice maid outfit"});
 				wardrobeAssignment.push({text: "and decides to call it Casual Friday and wear nothing but cutoffs and a t-shirt. Not like the cows will mind.", clothes: "cutoffs and a t-shirt"});
 				wardrobeAssignment.push({text: "and opts to don a cheerleader outfit to help cheer the cows on.", clothes: "a cheerleader outfit"});
-				wardrobeAssignment.push({text: "and dresses up as a succubus since she'll be drawing plenty of fluids.", clothes: "a succubus outfit"});
-				wardrobeAssignment.push({text: "and slips into some spats and a tank top since she feels a workout coming on.", clothes: "spats and a tank top"});
+				wardrobeAssignment.push({text: `and dresses up as a succubus since ${he}'ll be drawing plenty of fluids.`, clothes: "a succubus outfit"});
+				wardrobeAssignment.push({text: `and slips into some spats and a tank top since ${he} feels a workout coming on.`, clothes: "spats and a tank top"});
 				if(isItemAccessible("Western clothing")) {
-					wardrobeAssignment.push({text: "and wears an appropriate cowgirl outfit. Her bare ass walking past is sure to amuse her charges.", clothes: "Western clothing"});
+					wardrobeAssignment.push({text: `and wears an appropriate cowgirl outfit. ${His} bare ass walking past is sure to amuse ${his} charges.`, clothes: "Western clothing"});
 				}
 				if(isItemAccessible("stretch pants and a crop-top")) {
-					wardrobeAssignment.push({text: "and slips into some comfy stretch pants to relax as she works the cows.", clothes: "stretch pants and a crop-top"});
+					wardrobeAssignment.push({text: `and slips into some comfy stretch pants to relax as ${he} works the cows.`, clothes: "stretch pants and a crop-top"});
 				}
 				if(State.variables.cumSlaves > 2) {
-					wardrobeAssignment.push({text: "and wears a slutty nurse outfit to help keep her charges hard.", clothes: "a slutty nurse outfit"});
-					wardrobeAssignment.push({text: "and wears nothing but sexy lingerie to help keep her charges hard.", clothes: "attractive lingerie"});
-					wardrobeAssignment.push({text: "and wears the skimpiest bikini on hand to help keep her charges hard.", clothes: "a string bikini"});
+					wardrobeAssignment.push({text: `and wears a slutty nurse outfit to help keep ${his} charges hard.`, clothes: "a slutty nurse outfit"});
+					wardrobeAssignment.push({text: `and wears nothing but sexy lingerie to help keep ${his} charges hard.`, clothes: "attractive lingerie"});
+					wardrobeAssignment.push({text: `and wears the skimpiest bikini on hand to help keep ${his} charges hard.`, clothes: "a string bikini"});
 					if(isItemAccessible("body oil")) {
-						wardrobeAssignment.push({text: "and coats herself in oil for her charges to savor.", clothes: "body oil"});
+						wardrobeAssignment.push({text: `and coats ${himself} in oil for ${his} charges to savor.`, clothes: "body oil"});
 					}
 				}
 			}
 		} else if(slave.assignment == "be your Head Girl") {
-			wardrobeAssignment.push({text: "and wears a military uniform to give her that extra touch of authority.", clothes: "a military uniform"});
-			wardrobeAssignment.push({text: "and wears a schutzstaffel uniform to give her that extra touch of authority.", clothes: "a schutzstaffel uniform"});
-			wardrobeAssignment.push({text: "and wears a slutty schutzstaffel uniform to give her that extra touch of authority.", clothes: "a slutty schutzstaffel uniform"});
-			wardrobeAssignment.push({text: "and wears a red army uniform to give her that extra touch of authority.", clothes: "a red army uniform"});			
-			wardrobeAssignment.push({text: "and wears a handsome suit to give her that extra touch of authority.", clothes: "nice business attire"});
+			wardrobeAssignment.push({text: `and wears a military uniform to give ${his} that extra touch of authority.`, clothes: "a military uniform"});
+			wardrobeAssignment.push({text: `and wears a schutzstaffel uniform to give ${his} that extra touch of authority.`, clothes: "a schutzstaffel uniform"});
+			wardrobeAssignment.push({text: `and wears a slutty schutzstaffel uniform to give ${his} that extra touch of authority.`, clothes: "a slutty schutzstaffel uniform"});
+			wardrobeAssignment.push({text: `and wears a red army uniform to give ${his} that extra touch of authority.`, clothes: "a red army uniform"});			
+			wardrobeAssignment.push({text: `and wears a handsome suit to give ${his} that extra touch of authority.`, clothes: "nice business attire"});
 			if(canPenetrate(slave)){
-				wardrobeAssignment.push({text: "and wears a slutty suit to make it perfectly clear that her dick is her main tool in her job.", clothes: "slutty business attire"});
+				wardrobeAssignment.push({text: `and wears a slutty suit to make it perfectly clear that ${his} dick is ${his} main tool in ${his} job.`, clothes: "slutty business attire"});
 			}
 		} else if(slave.assignment == "be the Schoolteacher") {
-			wardrobeAssignment.push({text: "and wears a handsome suit to give her that teacherly authority.", clothes: "nice business attire"});
-			wardrobeAssignment.push({text: "and wears a slutty suit to give her an air of authority will keeping all eyes focused on her.", clothes: "slutty business attire"});
-			wardrobeAssignment.push({text: "and wears a schoolgirl outfit to help keep her charges focused on her.", clothes: "a schoolgirl outfit"});
-			wardrobeAssignment.push({text: "and dresses up as a succubus to give her sex lessons an extra kick.", clothes: "a succubus outfit"});
+			wardrobeAssignment.push({text: `and wears a handsome suit to give ${his} that teacherly authority.`, clothes: "nice business attire"});
+			wardrobeAssignment.push({text: `and wears a slutty suit to give ${his} an air of authority will keeping all eyes focused on ${him}.`, clothes: "slutty business attire"});
+			wardrobeAssignment.push({text: `and wears a schoolgirl outfit to help keep ${his} charges focused on ${him}.`, clothes: "a schoolgirl outfit"});
+			wardrobeAssignment.push({text: `and dresses up as a succubus to give ${his} sex lessons an extra kick.`, clothes: "a succubus outfit"});
 			if(isItemAccessible("conservative clothing")) {
 				wardrobeAssignment.push({text: "and wears conservative clothes to not detract from this week's lesson.", clothes: "conservative clothing"});
 			}
 			if(isItemAccessible("a toga")) {
-				wardrobeAssignment.push({text: "and wraps herself in a toga to model herself after the philosophers of yore.", clothes: "a toga"});
+				wardrobeAssignment.push({text: `and wraps ${himself} in a toga to model ${himself} after the philosophers of yore.`, clothes: "a toga"});
 			}
 			if(isItemAccessible("a maternity dress") && slave.belly >= 10000) {
-				wardrobeAssignment.push({text: "and settles for a comfortable maternity dress to support her middle while she lectures in front of the class all week.", clothes: "a maternity dress"});
+				wardrobeAssignment.push({text: `and settles for a comfortable maternity dress to support ${his} middle while ${he} lectures in front of the class all week.`, clothes: "a maternity dress"});
 			}
 		} else if(slave.assignment == "be the Wardeness") {
 			wardrobeAssignment.push({text: "and dons battledress, the better to intimidate the prisoners.", clothes: "battledress"});
@@ -202,42 +209,42 @@ window.todaysOutfit = function(slave) {
 				wardrobeAssignment.push({text: "and decides to take it easy by slipping into some stretch pants. They come off just as quickly as they come on, just in case.", clothes: "stretch pants and a crop-top"});
 			}
 		} else if(slave.assignment == "be the Attendant") {
-			wardrobeAssignment.push({text: "and wears a string bikini, since it's all she can wear that won't be ruined by all the moisture in the spa.", clothes: "a string bikini"});
-			wardrobeAssignment.push({text: "but decides to go nude, since she'll be spending so much time in the water.", clothes: "no clothing"});
+			wardrobeAssignment.push({text: `and wears a string bikini, since it's all ${he} can wear that won't be ruined by all the moisture in the spa.`, clothes: "a string bikini"});
+			wardrobeAssignment.push({text: `but decides to go nude, since ${he}'ll be spending so much time in the water.`, clothes: "no clothing"});
 		} else if(slave.assignment == "rest") {
 			wardrobeAssignment.push({text: "and wears a comfortable t-shirt and cutoffs to relax.", clothes: "cutoffs and a t-shirt"});
-			wardrobeAssignment.push({text: "and slips into some attractive lingerie to enjoy herself as she unwinds.", clothes: "attractive lingerie"});
+			wardrobeAssignment.push({text: `and slips into some attractive lingerie to enjoy ${himself} as ${he} unwinds.`, clothes: "attractive lingerie"});
 			wardrobeAssignment.push({text: "but decides that clothing takes too much work and would rather sleep nude.", clothes: "no clothing"});
 			if(isItemAccessible("stretch pants and a crop-top")) {
 				wardrobeAssignment.push({text: "and slips into some comfy stretch pants to relax.", clothes: "stretch pants and a crop-top"});
 			}
 			if(isItemAccessible("attractive lingerie for a pregnant woman") && slave.belly >= 1500) {
-				wardrobeAssignment.push({text: "and slips into some attractive lingerie to enjoy herself as she unwinds.", clothes: "attractive lingerie for a pregnant woman"});
+				wardrobeAssignment.push({text: `and slips into some attractive lingerie to enjoy ${himself} as ${he} unwinds.`, clothes: "attractive lingerie for a pregnant woman"});
 			}
 			if(slave.fetish == "submissive") {
 				wardrobeAssignment.push({text: "and decides the best way to relax is tied up nice and tight.", clothes: "shibari ropes"});
 			}
 		} else if(slave.assignment == "get milked" || slave.assignment == "work in the dairy") {
-			wardrobeAssignment.push({text: "and wears sturdy lingerie to offer the best support to her sore, milk-filled udders.", clothes: "attractive lingerie"});
+			wardrobeAssignment.push({text: `and wears sturdy lingerie to offer the best support to ${his} sore, milk-filled udders.`, clothes: "attractive lingerie"});
 			if(isItemAccessible("attractive lingerie for a pregnant woman") && slave.belly >= 1500) {
 				wardrobeAssignment.push({text: "and wears lingerie designed for milky mothers.", clothes: "attractive lingerie for a pregnant woman"});
 			}
 			if(isItemAccessible("a maternity dress") && slave.belly >= 10000) {
-				wardrobeAssignment.push({text: "and chooses a maternity dress since it is easy to free her breasts from.", clothes: "a maternity dress"});
+				wardrobeAssignment.push({text: `and chooses a maternity dress since it is easy to free ${his} breasts from.`, clothes: "a maternity dress"});
 			}
-			wardrobeAssignment.push({text: "and wears a string bikini for easy access to her udders.", clothes: "a string bikini"});
+			wardrobeAssignment.push({text: `and wears a string bikini for easy access to ${his} udders.`, clothes: "a string bikini"});
 			if(slave.lactation > 1) {
-				wardrobeAssignment.push({text: "but goes nude. There's no time for clothing, her udders need to be drained now!", clothes: "no clothing"});
+				wardrobeAssignment.push({text: `but goes nude. There's no time for clothing, ${his} udders need to be drained now!`, clothes: "no clothing"});
 			}
-			wardrobeAssignment.push({text: "and dons a slutty outfit. If her breasts are going to hang out, might as well wear something to complement them.", clothes: "a slutty outfit"});
+			wardrobeAssignment.push({text: `and dons a slutty outfit. If ${his} breasts are going to hang out, might as well wear something to complement them.`, clothes: "a slutty outfit"});
 		} else if(slave.assignment == "guard you") {
-			wardrobeAssignment.push({text: "and wears a bodysuit to show off her curves without hindering her deadliness.", clothes: "a comfortable bodysuit"});
+			wardrobeAssignment.push({text: `and wears a bodysuit to show off ${his} curves without hindering ${his} deadliness.`, clothes: "a comfortable bodysuit"});
 			wardrobeAssignment.push({text: "and wears a military uniform to look the part of the honor guard.", clothes: "a military uniform"});
 			wardrobeAssignment.push({text: "and wears a schutzstaffel uniform to look the part of the honor guard.", clothes: "a schutzstaffel uniform"});
 			wardrobeAssignment.push({text: "and wears a slutty schutzstaffel uniform to look the part of the honor guard.", clothes: "a slutty schutzstaffel uniform"});
 			wardrobeAssignment.push({text: "and wears a red army uniform to look the part of the honor guard.", clothes: "a red army uniform"});
 			wardrobeAssignment.push({text: "and wears a nice suit to make it clear you mean business.", clothes: "nice business attire"});
-			wardrobeAssignment.push({text: "and wears a scalemail bikini to make herself look fierce.", clothes: "a scalemail bikini"});
+			wardrobeAssignment.push({text: `and wears a scalemail bikini to make ${himself} look fierce.`, clothes: "a scalemail bikini"});
 			if(isItemAccessible("a kimono")) {
 				wardrobeAssignment.push({text: "and wears a nice kimono to add an air of elegance to your presence.", clothes: "a kimono"});
 			}
@@ -251,7 +258,7 @@ window.todaysOutfit = function(slave) {
 				wardrobeAssignment.push({text: "and wears an opulent gown to showcase your wealth before those desperately seeking a better life.", clothes: "a ball gown"});
 				wardrobeAssignment.push({text: "and dresses as a succubus to attempt to lure any potential catches.", clothes: "a succubus outfit"});
 				if(isItemAccessible("harem gauze")) {
-					wardrobeAssignment.push({text: "and dons her finest silks to showcase the luxuries waiting would-be slaves.", clothes: "harem gauze"});
+					wardrobeAssignment.push({text: `and dons ${his} finest silks to showcase the luxuries waiting would-be slaves.`, clothes: "harem gauze"});
 				}
 				if(isItemAccessible("stretch pants and a crop-top")) {
 					wardrobeAssignment.push({text: "and wears comfortable stretch pants to and crop-top to appear carefree before those desperately seeking a better life.", clothes: "stretch pants and a crop-top"});
@@ -262,85 +269,85 @@ window.todaysOutfit = function(slave) {
 			} else if(slave.assignment == "be the DJ") {
 				wardrobeAssignment.push({text: "and wears clubslut netting to look like the perfect easy club girl.", clothes: "clubslut netting"});
 				wardrobeAssignment.push({text: "and wears cutoffs and a t-shirt to look like the perfect easy club girl.", clothes: "cutoffs and a t-shirt"});
-				wardrobeAssignment.push({text: "and wears the slutty outfit she can find to look like the perfect easy club girl.", clothes: "a slutty outfit"});
-				wardrobeAssignment.push({text: "and wears nothing but slutty jewelry since she loves the way it jingles to her moves.", clothes: "slutty jewelry"});
-				wardrobeAssignment.push({text: "and wears a skin tight bodysuit so nothing gets in the way of her moves.", clothes: "a comfortable bodysuit"});
+				wardrobeAssignment.push({text: `and wears the slutty outfit ${he} can find to look like the perfect easy club girl.`, clothes: "a slutty outfit"});
+				wardrobeAssignment.push({text: `and wears nothing but slutty jewelry since ${he} loves the way it jingles to ${his} moves.`, clothes: "slutty jewelry"});
+				wardrobeAssignment.push({text: `and wears a skin tight bodysuit so nothing gets in the way of ${his} moves.`, clothes: "a comfortable bodysuit"});
 				if(slave.boobs > 1000) {
-					wardrobeAssignment.push({text: "but decides to go naked and let her girls bounce free as she dances.", clothes: "no clothing"});
+					wardrobeAssignment.push({text: `but decides to go naked and let ${his} girls bounce free as ${he} dances.`, clothes: "no clothing"});
 				}
 				if(isItemAccessible("harem gauze")) {
-					wardrobeAssignment.push({text: "and wears the finest available silks to give her moves a sensual grace.", clothes: "harem gauze"});
+					wardrobeAssignment.push({text: `and wears the finest available silks to give ${his} moves a sensual grace.`, clothes: "harem gauze"});
 				}
 			} else if(slave.assignment == "be your Concubine") {
-				wardrobeAssignment.push({text: "and goes naked, since it's her honored role to be the chief object of your desire.", clothes: "no clothing"});
-				wardrobeAssignment.push({text: "and dresses as a slutty nurse as your genitals are always in need of her special treatment.", clothes: "a slutty nurse outfit"});
-				wardrobeAssignment.push({text: "and dresses as a schoolgirl in the hopes that you teach her how to be a woman.", clothes: "a schoolgirl outfit"});
-				wardrobeAssignment.push({text: "and dresses as a cheerleader so she may cheer you on as you blow her mind.", clothes: "a cheerleader outfit"});
+				wardrobeAssignment.push({text: `and goes naked, since it's ${his} honored role to be the chief object of your desire.`, clothes: "no clothing"});
+				wardrobeAssignment.push({text: `and dresses as a slutty nurse as your genitals are always in need of ${his} special treatment.`, clothes: "a slutty nurse outfit"});
+				wardrobeAssignment.push({text: `and dresses as a schoolgirl in the hopes that you teach ${his} how to be a woman.`, clothes: "a schoolgirl outfit"});
+				wardrobeAssignment.push({text: `and dresses as a cheerleader so ${he} may cheer you on as you blow ${his} mind.`, clothes: "a cheerleader outfit"});
 				if(player.dick == 1) {
 					wardrobeAssignment.push({text: "and dresses as a slutty maid as you always come home with a stiff package that needs a thorough polishing.", clothes: "a slutty maid outfit"});
 				}
-				wardrobeAssignment.push({text: "and, since you personally see that she never goes hungry, she dresses like the sex demoness she is.", clothes: "a succubus outfit"});
+				wardrobeAssignment.push({text: `and, since you personally see that ${he} never goes hungry, ${he} dresses like the sex demoness ${he} is.`, clothes: "a succubus outfit"});
 				if(isItemAccessible("attractive lingerie for a pregnant woman") && slave.belly >= 10000 && slave.pregSource == -1) {
-					wardrobeAssignment.push({text: "and chooses attractive lingerie to showcase the body you've given her in the hopes that you ravish her.", clothes: "attractive lingerie for a pregnant woman"});
+					wardrobeAssignment.push({text: `and chooses attractive lingerie to showcase the body you've given ${his} in the hopes that you ravish ${him}.`, clothes: "attractive lingerie for a pregnant woman"});
 				}
 				if(slave.toyHole == "dick" && canPenetrate(slave)) {
-					wardrobeAssignment.push({text: "and slips into a scalemail bikini so she can act the role of your conqueror as she bends you over.", clothes: "a scalemail bikini"});
+					wardrobeAssignment.push({text: `and slips into a scalemail bikini so ${he} can act the role of your conqueror as ${he} bends you over.`, clothes: "a scalemail bikini"});
 				}
 			} else if(slave.assignment == "be a subordinate slave") {
-				wardrobeAssignment.push({text: "but gives up and goes naked after the other slaves constantly tear whatever she's wearing off her.", clothes: "no clothing"});
+				wardrobeAssignment.push({text: `but gives up and goes naked after the other slaves constantly tear whatever ${he}'s wearing off ${him}.`, clothes: "no clothing"});
 				if(isItemAccessible("Western clothing")) {
-					wardrobeAssignment.push({text: "and chooses a pair of crotchless chaps so your other slaves don't have to waste time undressing her.", clothes: "Western clothing"});
+					wardrobeAssignment.push({text: `and chooses a pair of crotchless chaps so your other slaves don't have to waste time undressing ${him}.`, clothes: "Western clothing"});
 				}
 				if(slave.fetish == "submissive") {
-					wardrobeAssignment.push({text: "and chooses to slip on a pair of spats and a tank top in the hopes that she gets to be a violated schoolgirl.", clothes: "spats and a tank top"});
-					wardrobeAssignment.push({text: "and chooses to slip on a schoolgirl outfit in the hope that she gets held down and raped.", clothes: "a schoolgirl outfit"});
-					wardrobeAssignment.push({text: "and chooses to wear the sluttiest outfit available to make it clear what she wants done to her.", clothes: "a slutty outfit"});
+					wardrobeAssignment.push({text: `and chooses to slip on a pair of spats and a tank top in the hopes that ${he} gets to be a violated schoolgirl.`, clothes: "spats and a tank top"});
+					wardrobeAssignment.push({text: `and chooses to slip on a schoolgirl outfit in the hope that ${he} gets held down and raped.`, clothes: "a schoolgirl outfit"});
+					wardrobeAssignment.push({text: `and chooses to wear the sluttiest outfit available to make it clear what ${he} wants done to ${him}.`, clothes: "a slutty outfit"});
 				}
 			} else if(slave.assignment == "work a glory hole") {
-				wardrobeAssignment.push({text: "but doesn't bother wearing anything, since no one can see her clothing when she's immured inside a glory hole.", clothes: "no clothing"});
+				wardrobeAssignment.push({text: `but doesn't bother wearing anything, since no one can see ${his} clothing when ${he}'s immured inside a glory hole.`, clothes: "no clothing"});
 			} else if(slave.assignment == "take classes" || slave.assignment == "learn in the schoolroom") {
 				wardrobeAssignment.push({text: "and wears a schoolgirl outfit, since it seems most appropriate.", clothes: "a schoolgirl outfit"});
-				wardrobeAssignment.push({text: "and wears a cheerleader outfit, since she might as well be one of the popular girls.", clothes: "a cheerleader outfit"});
+				wardrobeAssignment.push({text: `and wears a cheerleader outfit, since ${he} might as well be one of the popular girls.`, clothes: "a cheerleader outfit"});
 				if(isItemAccessible("conservative clothing")) {
-					wardrobeAssignment.push({text: "and wears normal clothing to not distract from her lessons.", clothes: "conservative clothing"});
+					wardrobeAssignment.push({text: `and wears normal clothing to not distract from ${his} lessons.`, clothes: "conservative clothing"});
 				}
 			} else if((slave.assignment == "whore") || (slave.assignment == "work in the brothel")) {
 				 if(slave.belly >= 5000 && isItemAccessible("attractive lingerie for a pregnant woman")) {
-					wardrobeAssignment.push({text: "and wears pretty lingerie to show off her merchandise and accentuate her pregnancy while still looking a little classy.", clothes: "attractive lingerie for a pregnant woman"});
+					wardrobeAssignment.push({text: `and wears pretty lingerie to show off ${his} merchandise and accentuate ${his} pregnancy while still looking a little classy.`, clothes: "attractive lingerie for a pregnant woman"});
 				}
-				wardrobeAssignment.push({text: "and wears pretty lingerie to show off her merchandise and still look a little classy.", clothes: "attractive lingerie"});
+				wardrobeAssignment.push({text: `and wears pretty lingerie to show off ${his} merchandise and still look a little classy.`, clothes: "attractive lingerie"});
 				if(isItemAccessible("harem gauze")) {
-					wardrobeAssignment.push({text: "and dresses herself with harem gauze to add an exotic charm to her display.", clothes: "harem gauze"});
+					wardrobeAssignment.push({text: `and dresses ${himself} with harem gauze to add an exotic charm to ${his} display.`, clothes: "harem gauze"});
 				}
 				if(isItemAccessible("a kimono")) {
-					wardrobeAssignment.push({text: "and wraps herself in a kimono to add some elegance to her display.", clothes: "a kimono"});
+					wardrobeAssignment.push({text: `and wraps ${himself} in a kimono to add some elegance to ${his} display.`, clothes: "a kimono"});
 				}
-				wardrobeAssignment.push({text: "and adorns herself in fine dress to show off how much of a high class whore she is.", clothes: "a slave gown"});
-				wardrobeAssignment.push({text: "and dresses herself in a slutty suit to show she's in it for the ¤.", clothes: "slutty business attire"});
-				wardrobeAssignment.push({text: "and wears a flattering mini dress to really strut her stuff.", clothes: "a mini dress"});
+				wardrobeAssignment.push({text: `and adorns ${himself} in fine dress to show off how much of a high class whore ${he} is.`, clothes: "a slave gown"});
+				wardrobeAssignment.push({text: `and dresses ${himself} in a slutty suit to show ${he}'s in it for the ¤.`, clothes: "slutty business attire"});
+				wardrobeAssignment.push({text: `and wears a flattering mini dress to really strut ${his} stuff.`, clothes: "a mini dress"});
 			} else if(slave.assignment == "serve the public" || slave.assignment == "serve in the club") {
 				wardrobeAssignment.push({text: "and wears string lingerie to look fun and fuckable.", clothes: "a string bikini"});
 				wardrobeAssignment.push({text: "and throws together the sluttiest outfit since if you're going to slut you might as well go all out.", clothes: "a slutty outfit"});
-				wardrobeAssignment.push({text: "and tosses on a slutty suit that screams she needs a good fuck after a long day.", clothes: "slutty business attire"});
-				wardrobeAssignment.push({text: "and dresses up as a slutty nurse; she has just the technique to cure penile swelling.", clothes: "a slutty nurse outfit"});
+				wardrobeAssignment.push({text: `and tosses on a slutty suit that screams ${he} needs a good fuck after a long day.`, clothes: "slutty business attire"});
+				wardrobeAssignment.push({text: `and dresses up as a slutty nurse; ${he} has just the technique to cure penile swelling.`, clothes: "a slutty nurse outfit"});
 				wardrobeAssignment.push({text: "and wears a cheerleader outfit to look energetic and fuckable.", clothes: "a cheerleader outfit"});
 				if(isItemAccessible("a bunny outfit")) {
-					wardrobeAssignment.push({text: "and slips into a teddy to add some class to her post.", clothes: "a bunny outfit"});
+					wardrobeAssignment.push({text: `and slips into a teddy to add some class to ${his} post.`, clothes: "a bunny outfit"});
 				}
-				wardrobeAssignment.push({text: "and dresses up as a succubus to clearly advertise her promiscuity.", clothes: "a succubus outfit"});
+				wardrobeAssignment.push({text: `and dresses up as a succubus to clearly advertise ${his} promiscuity.`, clothes: "a succubus outfit"});
 				if(slave.bellyPreg >= 10000) {
-					wardrobeAssignment.push({text: "and struggles into a schoolgirl outfit. Her gravid belly just screams that she is a slutty little student who cares more for dick than lessons.", clothes: "a succubus outfit"});
+					wardrobeAssignment.push({text: `and struggles into a schoolgirl outfit. ${His} gravid belly just screams that ${he} is a slutty little student who cares more for dick than lessons.`, clothes: "a succubus outfit"});
 				}
 			} else if(slave.assignment == "be a servant" || slave.assignment == "work as a servant") {
 				if(slave.energy > 95 || slave.need > 100) {
-					wardrobeAssignment.push({text: "and wears a skimpy maid outfit hoping that someone sneaks up behind her as she works and fulfills her desires.", clothes: "a slutty maid outfit"});
+					wardrobeAssignment.push({text: `and wears a skimpy maid outfit hoping that someone sneaks up behind ${his} as ${he} works and fulfills ${his} desires.`, clothes: "a slutty maid outfit"});
 				} else if(slave.energy > 80) {
-					wardrobeAssignment.push({text: "and wears a skimpy maid outfit to tempt anyone watching her work.", clothes: "a slutty maid outfit"});
-					wardrobeAssignment.push({text: "and wears a sturdy maid outfit, since anything else might be damaged by her hard work around the penthouse.", clothes: "a nice maid outfit"});
-					wardrobeAssignment.push({text: "and wears a skimpy maid outfit to tempt anyone watching her work.", clothes: "a slutty maid outfit"});
+					wardrobeAssignment.push({text: `and wears a skimpy maid outfit to tempt anyone watching ${his} work.`, clothes: "a slutty maid outfit"});
+					wardrobeAssignment.push({text: `and wears a sturdy maid outfit, since anything else might be damaged by ${his} hard work around the penthouse.`, clothes: "a nice maid outfit"});
+					wardrobeAssignment.push({text: `and wears a skimpy maid outfit to tempt anyone watching ${his} work.`, clothes: "a slutty maid outfit"});
 				} else {
-					wardrobeAssignment.push({text: "and wears a sturdy maid outfit, since anything else might be damaged by her hard work around the penthouse.", clothes: "a nice maid outfit"});
-					wardrobeAssignment.push({text: "and wears a skimpy maid outfit to tempt anyone watching her work.", clothes: "a slutty maid outfit"});
+					wardrobeAssignment.push({text: `and wears a sturdy maid outfit, since anything else might be damaged by ${his} hard work around the penthouse.`, clothes: "a nice maid outfit"});
+					wardrobeAssignment.push({text: `and wears a skimpy maid outfit to tempt anyone watching ${his} work.`, clothes: "a slutty maid outfit"});
 				}
 			}
 			
@@ -356,31 +363,31 @@ window.todaysOutfit = function(slave) {
 			} else if(ArcologyZero.FSChineseRevivalist > 0) {
 				wardrobeFS.push({text: "and wears a brief qipao to show off and look Chinese at the same time.", clothes: "a slutty qipao"});
 			} else if(ArcologyZero.FSAztecRevivalist > 0) {
-				wardrobeFS.push({text: "and drapes a huipil over herself to fit in with your Aztec revivalism.", clothes: "a huipil"});
+				wardrobeFS.push({text: `and drapes a huipil over ${himself} to fit in with your Aztec revivalism.`, clothes: "a huipil"});
 			}
 			if(ArcologyZero.FSGenderFundamentalist > 0) {
 				wardrobeFS.push({text: "and wears a cheerleader outfit to look like a hot slut.", clothes: "a cheerleader outfit"});
 				wardrobeFS.push({text: "and wears a bunny outfit to look like a slut from the glory days.", clothes: "a bunny outfit"});
 				if(slave.bellyPreg >= 5000) {
-					wardrobeFS.push({text: "but decides to wear nothing at all; she's already pregnant, so she just needs to be barefoot and naked to complete her look.", clothes: "no clothing"});
+					wardrobeFS.push({text: `but decides to wear nothing at all; ${he}'s already pregnant, so ${he} just needs to be barefoot and naked to complete ${his} look.`, clothes: "no clothing"});
 				}
 			} else if(ArcologyZero.FSGenderRadicalist > 0) {
-				wardrobeFS.push({text: "and eagerly slips into a skimpy maid outfit so she can take advantage of its short skirt and her lack of underwear", clothes: "a slutty maid outfit"});
-				wardrobeFS.push({text: "and wears a cheerleader outfit that clearly shows off her ass.", clothes: "a cheerleader outfit"});
+				wardrobeFS.push({text: `and eagerly slips into a skimpy maid outfit so ${he} can take advantage of its short skirt and ${his} lack of underwear`, clothes: "a slutty maid outfit"});
+				wardrobeFS.push({text: `and wears a cheerleader outfit that clearly shows off ${his} ass.`, clothes: "a cheerleader outfit"});
 				wardrobeFS.push({text: "and settles for some sexy succubutt.", clothes: "a succubus outfit"});
 			}
 			if(ArcologyZero.FSPaternalist > 0) {
 				wardrobeFS.push({text: "and wears conservative clothing, as permitted by your paternalism.", clothes: "conservative clothing"});
 				if(isItemAccessible("stretch pants and a crop-top")) {
-					wardrobeAssignment.push({text: "and wears the most comfortable stretch pants she can find.", clothes: "stretch pants and a crop-top"});
+					wardrobeAssignment.push({text: `and wears the most comfortable stretch pants ${he} can find.`, clothes: "stretch pants and a crop-top"});
 				}
 			} else if(ArcologyZero.FSDegradationist > 0) {
-				wardrobeFS.push({text: "and wears chains, to degrade herself as required by your societal goals.", clothes: "chains"});
+				wardrobeFS.push({text: `and wears chains, to degrade ${himself} as required by your societal goals.`, clothes: "chains"});
 			}
 			if(ArcologyZero.FSMaturityPreferentialist > 0) {
 				if(slave.visualAge >= 30) {
 					wardrobeFS.push({text: "and wears a slutty suit to look like the ideal horny older woman.", clothes: "slutty business attire"});
-					wardrobeFS.push({text: "and wears only an apron to make herself seem more matronly.", clothes: "an apron"});
+					wardrobeFS.push({text: `and wears only an apron to make ${himself} seem more matronly.`, clothes: "an apron"});
 				} else {
 					wardrobeFS.push({text: "and wears a formal suit to look more mature.", clothes: "nice business attire"});
 				}
@@ -390,45 +397,45 @@ window.todaysOutfit = function(slave) {
 				wardrobeFS.push({text: "and wears spats and a tank top to look younger and more energetic.", clothes: "spats and a tank top"});
 			}
 			if(ArcologyZero.FSPhysicalIdealist > 0) {
-				wardrobeFS.push({text: "and coats herself in body oil to show off how she's part of your physical idealism.", clothes: "body oil"});
-				wardrobeFS.push({text: "and slips into some spats for her next workout.", clothes: "spats and a tank top"});
+				wardrobeFS.push({text: `and coats ${himself} in body oil to show off how ${he}'s part of your physical idealism.`, clothes: "body oil"});
+				wardrobeFS.push({text: `and slips into some spats for ${his} next workout.`, clothes: "spats and a tank top"});
 			} else if(ArcologyZero.FSHedonisticDecadence > 0) {
 				wardrobeFS.push({text: "and throws on a very casual getup.", clothes: "stretch pants and a crop-top"});
 				wardrobeFS.push({text: "but decides against putting forth the effort and goes nude.", clothes: "no clothing"});
 			}
 			if(ArcologyZero.FSPastoralist > 0) {
-				wardrobeFS.push({text: "and wears Western clothing, since she thinks it fits with pastoralism.", clothes: "Western clothing"});
-				wardrobeFS.push({text: "and wears a swimsuit that leaves her breasts uncovered.", clothes: "a monokini"});
+				wardrobeFS.push({text: `and wears Western clothing, since ${he} thinks it fits with pastoralism.`, clothes: "Western clothing"});
+				wardrobeFS.push({text: `and wears a swimsuit that leaves ${his} breasts uncovered.`, clothes: "a monokini"});
 				if(slave.lactation > 0) {
 					wardrobeFS.push({text: "and dresses up as a slutty wet nurse.", clothes: "a slutty nurse outfit"});
 				}
-				wardrobeFS.push({text: "but decides to let her breasts be free. Clothes will just get in the way.", clothes: "no clothing"});
+				wardrobeFS.push({text: `but decides to let ${his} breasts be free. Clothes will just get in the way.`, clothes: "no clothing"});
 			}
 			if(ArcologyZero.FSBodyPurist > 0) {
-				wardrobeFS.push({text: "and wears a leotard to show off the purity of her body.", clothes: "a leotard"});
-				wardrobeFS.push({text: "but decides her body is too nice to hide with clothing.", clothes: "no clothing"});
+				wardrobeFS.push({text: `and wears a leotard to show off the purity of ${his} body.`, clothes: "a leotard"});
+				wardrobeFS.push({text: `but decides ${his} body is too nice to hide with clothing.`, clothes: "no clothing"});
 			} else if(ArcologyZero.FSTransormationFetishest > 0) {
 				if(isItemAccessible("body oil")) {
-					wardrobeAssignment.push({text: "and coats her assets in body oil to give them some extra shine.", clothes: "body oil"});
+					wardrobeAssignment.push({text: `and coats ${his} assets in body oil to give them some extra shine.`, clothes: "body oil"});
 				}
-				wardrobeFS.push({text: "and decides squeezing into a latex suit will only complement her unnatural appearance.", clothes: "restrictive latex"});
+				wardrobeFS.push({text: `and decides squeezing into a latex suit will only complement ${his} unnatural appearance.`, clothes: "restrictive latex"});
 			}
 			if(ArcologyZero.FSAssetExpansioninst > 0) {
 				wardrobeFS.push({text: "and decides to dress up like a young man's wet dream.", clothes: "a succubus outfit"});
-				wardrobeFS.push({text: "and decides to wear a skimpy bikini to make her assets look even larger.", clothes: "a string bikini"});
-				wardrobeFS.push({text: "and decides to throw together a slutty outfit that highlight her assets.", clothes: "a slutty outfit"});
+				wardrobeFS.push({text: `and decides to wear a skimpy bikini to make ${his} assets look even larger.`, clothes: "a string bikini"});
+				wardrobeFS.push({text: `and decides to throw together a slutty outfit that highlight ${his} assets.`, clothes: "a slutty outfit"});
 				wardrobeFS.push ({text: "and decides to wear a monokini that clings to the assets it actually does conceal.", clothes: "a monokini"});
 			} else if(ArcologyZero.FSSlimnessEnthusiast > 0) {
 				if(slave.boobs < 300) {
-					wardrobeFS.push({text: "and wears a string bikini to show off just how flat she is.", clothes: "a string bikini"});
+					wardrobeFS.push({text: `and wears a string bikini to show off just how flat ${he} is.`, clothes: "a string bikini"});
 				}
 				if(slave.boobs < 600 && slave.butt < 3) {
-					wardrobeFS.push({text: "and wears a leotard to show off her lithe body.", clothes: "a leotard"});
-					wardrobeFS.push({text: "and wears a form fitting bodysuit to show off her lithe figure.", clothes: "a comfortable bodysuit"});
-					wardrobeFS.push({text: "and wears spats to hug her tight butt.", clothes: "spats and a tank top"});
-					wardrobeFS.push({text: "and wears an apron that covers her front while leaving her rear free.", clothes: "an apron"});
+					wardrobeFS.push({text: `and wears a leotard to show off ${his} lithe body.`, clothes: "a leotard"});
+					wardrobeFS.push({text: `and wears a form fitting bodysuit to show off ${his} lithe figure.`, clothes: "a comfortable bodysuit"});
+					wardrobeFS.push({text: `and wears spats to hug ${his} tight butt.`, clothes: "spats and a tank top"});
+					wardrobeFS.push({text: `and wears an apron that covers ${his} front while leaving ${his} rear free.`, clothes: "an apron"});
 				} else {
-					wardrobeFS.push({text: "and squeezes into a form fitting bodysuit in the hopes that it squishes down her assets.", clothes: "restrictive latex"});
+					wardrobeFS.push({text: `and squeezes into a form fitting bodysuit in the hopes that it squishes down ${his} assets.`, clothes: "restrictive latex"});
 				}
 			}
 			
@@ -439,23 +446,23 @@ window.todaysOutfit = function(slave) {
 					wardrobeTastes.push({text: "and wears nothing but pretty lingerie to attract boys.", clothes: "attractive lingerie"});
 					wardrobeTastes.push({text: "and selects a slutty outfit that's sure to have men drooling.", clothes: "a slutty outfit"});
 					if(slave.butt > 3){
-						wardrobeTastes.push({text: "and slips on some cutoffs that are sure to have men checking out her ass.", clothes: "cutoffs and a t-shirt"});
+						wardrobeTastes.push({text: `and slips on some cutoffs that are sure to have men checking out ${his} ass.`, clothes: "cutoffs and a t-shirt"});
 					}
 					if(isItemAccessible("a bunny outfit")) {
-						wardrobeAssignment.push({text: "and slips into a bunny outfit that she knows will have men lining up.", clothes: "a bunny outfit"});
+						wardrobeAssignment.push({text: `and slips into a bunny outfit that ${he} knows will have men lining up.`, clothes: "a bunny outfit"});
 					}
 					if(slave.boobs > 800) {
-						wardrobeTastes.push({text: "and dresses up as a busty succubus that pulls eyes the her chest and leaves pants feeling tight.", clothes: "a succubus outfit"});
+						wardrobeTastes.push({text: `and dresses up as a busty succubus that pulls eyes the ${his} chest and leaves pants feeling tight.`, clothes: "a succubus outfit"});
 					}
 				} else {
 					wardrobeTastes.push({text: "and selects a schoolgirl outfit that shows off some T&A.", clothes: "a schoolgirl outfit"});
-					wardrobeTastes.push({text: "and wears pretty lingerie that shows off her body.", clothes: "attractive lingerie"});
+					wardrobeTastes.push({text: `and wears pretty lingerie that shows off ${his} body.`, clothes: "attractive lingerie"});
 					wardrobeTastes.push({text: "and selects a slutty outfit that's sure to draw attention.", clothes: "a slutty outfit"});
 					if(slave.butt > 3){
-						wardrobeTastes.push({text: "and slips on some cutoffs that shows off her ass.", clothes: "cutoffs and a t-shirt"});
+						wardrobeTastes.push({text: `and slips on some cutoffs that shows off ${his} ass.`, clothes: "cutoffs and a t-shirt"});
 					}
 					if(isItemAccessible("a bunny outfit")) {
-						wardrobeAssignment.push({text: "and slips into a bunny outfit that hugs her curves.", clothes: "a bunny outfit"});
+						wardrobeAssignment.push({text: `and slips into a bunny outfit that hugs ${his} curves.`, clothes: "a bunny outfit"});
 					}
 					if(slave.boobs > 800) {
 						wardrobeTastes.push({text: "and dresses up as a busty succubus that's sure to draw eyes.", clothes: "a succubus outfit"});
@@ -469,74 +476,74 @@ window.todaysOutfit = function(slave) {
 					wardrobeTastes.push({text: "and wears a nice suit, since girls appreciate nice clothes.", clothes: "nice business attire"});
 				} else {
 					wardrobeTastes.push({text: "and wears a fashionable gown.", clothes: "a slave gown"});
-					wardrobeTastes.push({text: "and wears pretty lingerie that shows off her body.", clothes: "attractive lingerie"});
+					wardrobeTastes.push({text: `and wears pretty lingerie that shows off ${his} body.`, clothes: "attractive lingerie"});
 					wardrobeTastes.push({text: "and wears a nice suit, the reasons not entirely clear to you.", clothes: "nice business attire"});
 				}
 			}
 			
 			/* need */
 			if(slave.need > 90) {
-				wardrobeTastes.push({text: "but goes naked. She needs sex now and clothing will only get in the way.", clothes: "no clothing"});
-				wardrobeTastes.push({text: "and throws on a slutty suit. She hopes that it gets the point across that she needs sex now.", clothes: "slutty business attire"});
-				wardrobeTastes.push({text: "and dons a slutty nurse outfit. She's been infected and the only cure is a strong dicking.", clothes: "a slutty nurse outfit"});
-				wardrobeTastes.push({text: "and dresses up as a slutty maid. Maybe if she does her job poorly enough, someone will bend her over and fuck some sense into her.", clothes: "a slutty maid outfit"});
-				wardrobeTastes.push({text: "and dresses up as a succubus in the hopes it screams that she needs sex now.", clothes: "a succubus outfit"});
+				wardrobeTastes.push({text: `but goes naked. ${He} needs sex now and clothing will only get in the way.`, clothes: "no clothing"});
+				wardrobeTastes.push({text: `and throws on a slutty suit. ${He} hopes that it gets the point across that ${he} needs sex now.`, clothes: "slutty business attire"});
+				wardrobeTastes.push({text: `and dons a slutty nurse outfit. ${He}'s been infected and the only cure is a strong dicking.`, clothes: "a slutty nurse outfit"});
+				wardrobeTastes.push({text: `and dresses up as a slutty maid. Maybe if ${he} does ${his} job poorly enough, someone will bend ${his} over and fuck some sense into ${him}.`, clothes: "a slutty maid outfit"});
+				wardrobeTastes.push({text: `and dresses up as a succubus in the hopes it screams that ${he} needs sex now.`, clothes: "a succubus outfit"});
 			}
 			
 			/* quirks n flaws */
 			if(slave.behavioralQuirk == "sinful") {
 				wardrobeTastes.push({text: "and dresses up like a succubus because it makes $object feel naughty.", clothes: "a succubus outfit"});
 			} else if(slave.behavioralQuirk == "fitness") {
-				wardrobeTastes.push({text: "and wears spats and a tank top to give herself a sporty look.", clothes: "spats and a tank top"});
+				wardrobeTastes.push({text: `and wears spats and a tank top to give ${himself} a sporty look.`, clothes: "spats and a tank top"});
 			}
 
 			/* age stuff */
 			if(slave.actualAge < 10) {
-				wardrobeTastes.push({text: "and puts on a pretty dress so she can be a princess.", clothes: "a ball gown"});
-				wardrobeTastes.push({text: "and dresses up like a cheerleader since she thinks it looks cute.", clothes: "a cheerleader outfit"});
+				wardrobeTastes.push({text: `and puts on a pretty dress so ${he} can be a princess.`, clothes: "a ball gown"});
+				wardrobeTastes.push({text: `and dresses up like a cheerleader since ${he} thinks it looks cute.`, clothes: "a cheerleader outfit"});
 				if(isItemAccessible("a kimono")) {
-					wardrobeAssignment.push({text: "and wraps herself in a kimono, since it feels so good on her skin.", clothes: "a kimono"});
+					wardrobeAssignment.push({text: `and wraps ${himself} in a kimono, since it feels so good on ${his} skin.`, clothes: "a kimono"});
 				}
 			}
 			
 			/* fetishes */
 			if(slave.fetishKnown == 1) {
 				if(slave.fetish == "submissive") {
-					wardrobeTastes.push({text: "and wears restrictive latex to encourage others to dominate her.", clothes: "restrictive latex"});
-					wardrobeTastes.push({text: "and wears shibari ropes to encourage others to dominate her.", clothes: "shibari ropes"});
+					wardrobeTastes.push({text: `and wears restrictive latex to encourage others to dominate ${him}.`, clothes: "restrictive latex"});
+					wardrobeTastes.push({text: `and wears shibari ropes to encourage others to dominate ${him}.`, clothes: "shibari ropes"});
 				} else if(slave.fetish == "dom") {
-					wardrobeTastes.push({text: "and wears a handsome suit, since she likes other slaves to look up to her.", clothes: "nice business attire"});
+					wardrobeTastes.push({text: `and wears a handsome suit, since ${he} likes other slaves to look up to ${him}.`, clothes: "nice business attire"});
 					wardrobeTastes.push({text: "and wears a full body latex catsuit to look the part of the whip cracking dom.", clothes: "a latex catsuit"});
 				} else if(slave.fetish == "masochist") {
-					wardrobeTastes.push({text: "and wears painfully restrictive bondage gear, since she likes the torment.", clothes: "uncomfortable straps"});
+					wardrobeTastes.push({text: `and wears painfully restrictive bondage gear, since ${he} likes the torment.`, clothes: "uncomfortable straps"});
 					if(isItemAccessible("chains")) {
-						wardrobeAssignment.push({text: "and wears painfully tight chains, since she likes the torment.", clothes: "chains"});
+						wardrobeAssignment.push({text: `and wears painfully tight chains, since ${he} likes the torment.`, clothes: "chains"});
 					}
 				} else if(slave.fetish == "sadist") {
-					wardrobeTastes.push({text: "and wears an elegant gown, since she thinks it makes her look the part of the femme fatale.", clothes: "a slave gown"});
-					wardrobeTastes.push({text: "and wears a scalemail bikini, since she thinks it makes her look fierce.", clothes: "a scalemail bikini"});
+					wardrobeTastes.push({text: `and wears an elegant gown, since ${he} thinks it makes ${his} look the part of the femme fatale.`, clothes: "a slave gown"});
+					wardrobeTastes.push({text: `and wears a scalemail bikini, since ${he} thinks it makes ${his} look fierce.`, clothes: "a scalemail bikini"});
 				} else if(slave.fetish == "cumslut") {
-					wardrobeTastes.push({text: "and wears cutoffs and a t-shirt, because the fun yet relatively conservative outfit seems to encourage others to ask her for blowjobs.", clothes: "cutoffs and a t-shirt"});
+					wardrobeTastes.push({text: `and wears cutoffs and a t-shirt, because the fun yet relatively conservative outfit seems to encourage others to ask ${his} for blowjobs.`, clothes: "cutoffs and a t-shirt"});
 				} else if(slave.fetish == "humiliation") {
-					wardrobeTastes.push({text: "and wears leather straps with rings over her private parts because she enjoys the embarrassment such a humiliating outfit causes her.", clothes: "uncomfortable straps"});
+					wardrobeTastes.push({text: `and wears leather straps with rings over ${his} private parts because ${he} enjoys the embarrassment such a humiliating outfit causes ${him}.`, clothes: "uncomfortable straps"});
 				} else if(slave.fetish == "buttslut") {
-					wardrobeTastes.push({text: "and wears nothing other than slutty bangles, because she likes to catch the eye without putting anything between cocks and her rear end.", clothes: "slutty jewelry"});
+					wardrobeTastes.push({text: `and wears nothing other than slutty bangles, because ${he} likes to catch the eye without putting anything between cocks and ${his} rear end.`, clothes: "slutty jewelry"});
 				} else if(slave.fetish == "pregnancy") {
-					wardrobeTastes.push({text: "and wears a short maid dress, because she wants to look motherly and fuckable at the same time.", clothes: "a slutty maid outfit"});
+					wardrobeTastes.push({text: `and wears a short maid dress, because ${he} wants to look motherly and fuckable at the same time.`, clothes: "a slutty maid outfit"});
 					if(isItemAccessible("a maternity dress") && canGetPregnant(slave)) {
 						wardrobeAssignment.push({text: "and wears a maternity dress in the hope someone fills out its middle.", clothes: "a maternity dress"});
 					}
 				} else if(slave.fetish == "boobs") {
-					wardrobeTastes.push({text: "and wears a cheerleader outfit, since she loves the way it hugs her tits as she moves.", clothes: "a cheerleader outfit"});
-					wardrobeTastes.push({text: "and wears a monokini, since she loves how it leaves her breasts totally bare.", clothes: "a monokini"});
+					wardrobeTastes.push({text: `and wears a cheerleader outfit, since ${he} loves the way it hugs ${his} tits as ${he} moves.`, clothes: "a cheerleader outfit"});
+					wardrobeTastes.push({text: `and wears a monokini, since ${he} loves how it leaves ${his} breasts totally bare.`, clothes: "a monokini"});
 				}
 			} else {
 				if(slave.fetish == "submissive") {
 					wardrobeTastes.push({text: "and strangely opts for restrictive latex.", clothes: "restrictive latex"});
 					wardrobeTastes.push({text: "and strangely opts for shibari ropes.", clothes: "shibari ropes"});
 				} else if(slave.fetish == "dom") {
-					wardrobeTastes.push({text: "and wears a handsome suit; she seems to think highly of herself in it.", clothes: "nice business attire"});
-					wardrobeTastes.push({text: "and wears a full body latex catsuit; there is a strange look on her face as she wears it.", clothes: "a latex catsuit"});
+					wardrobeTastes.push({text: `and wears a handsome suit; ${he} seems to think highly of ${himself} in it.`, clothes: "nice business attire"});
+					wardrobeTastes.push({text: `and wears a full body latex catsuit; there is a strange look on ${his} face as ${he} wears it.`, clothes: "a latex catsuit"});
 				} else if(slave.fetish == "masochist") {
 					wardrobeTastes.push({text: "and strangely opts for painfully restrictive bondage gear.", clothes: "uncomfortable straps"});
 					if(isItemAccessible("chains")) {
@@ -546,53 +553,53 @@ window.todaysOutfit = function(slave) {
 					wardrobeTastes.push({text: "and wears an elegant gown for some reason.", clothes: "a slave gown"});
 					wardrobeTastes.push({text: "and wears a scalemail bikini; an odd choice.", clothes: "a scalemail bikini"});
 				} else if(slave.fetish == "cumslut") {
-					wardrobeTastes.push({text: "and wears cutoffs and a t-shirt; she can't stop licking her lips.", clothes: "cutoffs and a t-shirt"});
+					wardrobeTastes.push({text: `and wears cutoffs and a t-shirt; ${he} can't stop licking ${his} lips.`, clothes: "cutoffs and a t-shirt"});
 				} else if(slave.fetish == "humiliation") {
-					wardrobeTastes.push({text: "and strangely opts for leather straps with rings over her private parts.", clothes: "uncomfortable straps"});
+					wardrobeTastes.push({text: `and strangely opts for leather straps with rings over ${his} private parts.`, clothes: "uncomfortable straps"});
 				} else if(slave.fetish == "buttslut") {
-					wardrobeTastes.push({text: "and wears nothing other than slutty bangles, an odd choice; her ass is completely exposed.", clothes: "slutty jewelry"});
+					wardrobeTastes.push({text: `and wears nothing other than slutty bangles, an odd choice; ${his} ass is completely exposed.`, clothes: "slutty jewelry"});
 				} else if(slave.fetish == "pregnancy") {
-					wardrobeTastes.push({text: "and wears a short maid dress; you frequently notice her observing her stomach.", clothes: "a slutty maid outfit"});
+					wardrobeTastes.push({text: `and wears a short maid dress; you frequently notice ${his} observing ${his} stomach.`, clothes: "a slutty maid outfit"});
 					if(isItemAccessible("a maternity dress") && canGetPregnant(slave)) {
-						wardrobeAssignment.push({text: "and wears a maternity dress even though she isn't pregnant.", clothes: "a maternity dress"});
+						wardrobeAssignment.push({text: `and wears a maternity dress even though ${he} isn't pregnant.`, clothes: "a maternity dress"});
 					}
 				} else if(slave.fetish == "boobs") {
-					wardrobeTastes.push({text: "and wears a cheerleader outfit; she seems to enjoy jiggling her breasts in it.", clothes: "a cheerleader outfit"});
-					wardrobeTastes.push({text: "and strangely decides to wear a monokini, which leaves her breasts totally bare.", clothes: "a cheerleader outfit"});
+					wardrobeTastes.push({text: `and wears a cheerleader outfit; ${he} seems to enjoy jiggling ${his} breasts in it.`, clothes: "a cheerleader outfit"});
+					wardrobeTastes.push({text: `and strangely decides to wear a monokini, which leaves ${his} breasts totally bare.`, clothes: "a cheerleader outfit"});
 				}
 			}
 
 			/* energy */
 			if(slave.energy > 95) {
-				wardrobeTastes.push({text: "but goes nude, since as a nympho she gets plenty of attention anyway, and considers clothes an unnecessary hindrance.", clothes: "no clothing"});
+				wardrobeTastes.push({text: `but goes nude, since as a nympho ${he} gets plenty of attention anyway, and considers clothes an unnecessary hindrance.`, clothes: "no clothing"});
 			}
 
 			/* pregnancy */
 			if(slave.belly >= 5000) {
-				wardrobeTastes.push({text: "and wears pretty lingerie to show off her merchandise while giving her protruding belly plenty of room to hang free.", clothes: "attractive lingerie"});
+				wardrobeTastes.push({text: `and wears pretty lingerie to show off ${his} merchandise while giving ${his} protruding belly plenty of room to hang free.`, clothes: "attractive lingerie"});
 				if(isItemAccessible("attractive lingerie for a pregnant woman") && slave.energy > 70) {
-					wardrobeTastes.push({text: "and wears pretty lingerie to show off her merchandise and accentuate her pregnancy while giving it plenty of room to hang free.", clothes: "attractive lingerie for a pregnant woman"});
+					wardrobeTastes.push({text: `and wears pretty lingerie to show off ${his} merchandise and accentuate ${his} pregnancy while giving it plenty of room to hang free.`, clothes: "attractive lingerie for a pregnant woman"});
 				} else if(isItemAccessible("a maternity dress")) {
-					wardrobeTastes.push({text: "and wears a conservative dress with plenty of give for her belly to stretch it.", clothes: "a maternity dress"});
+					wardrobeTastes.push({text: `and wears a conservative dress with plenty of give for ${his} belly to stretch it.`, clothes: "a maternity dress"});
 				}
-				wardrobeTastes.push({text: "and wears string lingerie to look fun and fuckable while giving her protruding belly plenty of room to hang free.", clothes: "a string bikini"});
+				wardrobeTastes.push({text: `and wears string lingerie to look fun and fuckable while giving ${his} protruding belly plenty of room to hang free.`, clothes: "a string bikini"});
 			} else {
-				wardrobeTastes.push({text: "and wears string lingerie to show off her body.", clothes: "a string bikini"});
+				wardrobeTastes.push({text: `and wears string lingerie to show off ${his} body.`, clothes: "a string bikini"});
 			}
 		}
 		/*Separated in three categories in case you want to, say, increase the probability of choosing _wardrobeAssignment to look more professional*/
 		if(wardrobeAssignment.length > 0) {
-			for (var i = 0; i < wardrobeAssignment.length; i++) {
+			for (let i = 0; i < wardrobeAssignment.length; i++) {
 				clothing.push(wardrobeAssignment[i]);
 			}
 		}
 		if(wardrobeFS.length > 0) {
-			for (var i = 0; i < wardrobeFS.length; i++) {
+			for (let i = 0; i < wardrobeFS.length; i++) {
 				clothing.push(wardrobeFS[i]);
 			}
 		}
 		if(wardrobeTastes.length > 0) {
-			for (var i = 0; i < wardrobeTastes.length; i++) {
+			for (let i = 0; i < wardrobeTastes.length; i++) {
 				clothing.push(wardrobeTastes[i]);
 			}
 		}
@@ -600,7 +607,7 @@ window.todaysOutfit = function(slave) {
 	}
 
 	return selection;
-}
+};
 
 window.todaysShoes = function(slave) {
 	var ArcologyZero = State.variables.arcologies[0];
@@ -609,42 +616,42 @@ window.todaysShoes = function(slave) {
 	
 	if(slave.fetish == 'mindbroken') {
 		if(slave.amp != 1 && slave.heels == 1) {
-			shoes.push({text: "She finds she can inexplicably walk if she wears heels; a daily lesson for her, as she forgets shortly after leaving.", shoes: jsEither(["heels", "pumps", "extreme heels", "boots"])});
+			shoes.push({text: `${He} finds ${he} can inexplicably walk if ${he} wears heels; a daily lesson for ${him}, as ${he} forgets shortly after leaving.`, shoes: jsEither(["heels", "pumps", "extreme heels", "boots"])});
 		}
-		shoes.push({text: "She vaguely remembers putting things on her feet, so she does.", shoes: jsEither(["heels", "pumps", "extreme heels", "boots", "flats"])});
-		shoes.push({text: "She entered without shoes, and will leave the same.", shoes: "none"});
+		shoes.push({text: `${He} vaguely remembers putting things on ${his} feet, so ${he} does.`, shoes: jsEither(["heels", "pumps", "extreme heels", "boots", "flats"])});
+		shoes.push({text: `${He} entered without shoes, and will leave the same.`, shoes: "none"});
 	} else if(slave.devotion <= 20) {
 		if(slave.heels == 0) {
 			shoes.push({text: "and wears comfortable flats,", shoes: "flats"});
 		} else {
-			shoes.push({text: "and angrily wears the heels she needs to walk,", shoes: "heels"});
+			shoes.push({text: `and angrily wears the heels ${he} needs to walk,`, shoes: "heels"});
 		}
 	} else {
 		if(slave.fetishKnown == 1 && slave.fetish == "dom") {
-			shoes.push({text: "She wears boots to look like a proper dominant.", shoes: "boots"});
+			shoes.push({text: `${He} wears boots to look like a proper dominant.`, shoes: "boots"});
 		} else if(slave.fetishKnown == 1 && slave.fetish == "sadist") {
-			shoes.push({text: "She wears boots, since she thinks they make her look dangerous.", shoes: "boots"});
+			shoes.push({text: `${He} wears boots, since ${he} thinks they make ${his} look dangerous.`, shoes: "boots"});
 		} else if(slave.fetishKnown == 1 && slave.fetish == "masochist") {
-			shoes.push({text: "She wears painfully tall heels, since she enjoys the twinge of pain with each step.", shoes: "extreme heels"});
+			shoes.push({text: `${He} wears painfully tall heels, since ${he} enjoys the twinge of pain with each step.`, shoes: "extreme heels"});
 		} else if(slave.heels == 1) {
-			shoes.push({text: "She wears the heels she needs to walk.", shoes: "heels"});
+			shoes.push({text: `${He} wears the heels ${he} needs to walk.`, shoes: "heels"});
 		} else if(slave.fetishKnown == 1 && slave.fetish == "pregnancy" && slave.bellyPreg >= 500) {
-			shoes.push({text: "She goes barefoot to complement her pregnancy.", shoes: "none"});
+			shoes.push({text: `${He} goes barefoot to complement ${his} pregnancy.`, shoes: "none"});
 		} else if(slave.fetishKnown == 1 && slave.fetish == "none") {
-			shoes.push({text: "She wears comfortable flats, since she doesn't have a fetish to show off.", shoes: "flats"});
+			shoes.push({text: `${He} wears comfortable flats, since ${he} doesn't have a fetish to show off.`, shoes: "flats"});
 		} else if(slave.actualAge < 13){
-			shoes.push({text: "She puts on boots so she can stomp around.", shoes: "boots"});
-			shoes.push({text: "She playfully puts on heels to be like all the other girls.", shoes: "heels"});
-			shoes.push({text: "She wears flats as they are comfortable and easy to take on and off.", shoes: "flats"});
-			shoes.push({text: "Going barefoot is fun, so no shoes for her.", shoes: "none"});
+			shoes.push({text: `${He} puts on boots so ${he} can stomp around.`, shoes: "boots"});
+			shoes.push({text: `${He} playfully puts on heels to be like all the other girls.`, shoes: "heels"});
+			shoes.push({text: `${He} wears flats as they are comfortable and easy to take on and off.`, shoes: "flats"});
+			shoes.push({text: `Going barefoot is fun, so no shoes for ${him}.`, shoes: "none"});
 		} else {
-			shoes.push({text: "She wears heels to strut her stuff.", shoes: "heels"});
-			shoes.push({text: "She wears comfortable flats to take it easy.", shoes: "flats"});
-			shoes.push({text: "She goes barefoot to show off her toes.", shoes: "none"});
+			shoes.push({text: `${He} wears heels to strut ${his} stuff.`, shoes: "heels"});
+			shoes.push({text: `${He} wears comfortable flats to take it easy.`, shoes: "flats"});
+			shoes.push({text: `${He} goes barefoot to show off ${his} toes.`, shoes: "none"});
 		}
 	}
 	return jsEither(shoes);
-}
+};
 
 window.todaysCollar = function(slave) {
 	var ArcologyZero = State.variables.arcologies[0];
@@ -660,21 +667,21 @@ window.todaysCollar = function(slave) {
 			neck.push({text: "dons a wesekh to support your ancient Egyptian pretensions,", collar: "ancient Egyptian"});
 		}
 		if(slave.fetish == "masochist") {
-			neck.push({text: "dons a tight steel collar around her neck,", collar: "tight steel"});
+			neck.push({text: `dons a tight steel collar around ${his} neck,`, collar: "tight steel"});
 			neck.push({text: "dons a painful leather collar,", collar: "uncomfortable leather"});
 			neck.push({text: "dons a painfully tight neck corset,", collar: "neck corset"});
 		} else if(slave.fetish == "pregnancy" && (canGetPregnant(slave) || slave.pregKnown == 1)) {
-			neck.push({text: "dons a digital display that tells everything about her womb,", collar: "preg biometrics"});
+			neck.push({text: `dons a digital display that tells everything about ${his} womb,`, collar: "preg biometrics"});
 		} else if(slave.fetish == "boobs" && slave.boobs >= 1000) {
-			neck.push({text: "dons a cowbell to draw attention to her luscious udders,", collar: "leather with cowbell"});
+			neck.push({text: `dons a cowbell to draw attention to ${his} luscious udders,`, collar: "leather with cowbell"});
 		}
-		neck.push({text: "decides her neck needs no accenting,", collar: "none"});
+		neck.push({text: `decides ${his} neck needs no accenting,`, collar: "none"});
 		neck.push({text: "dons some pretty jewelry,", collar: "pretty jewelry"});
 		neck.push({text: "dons a lovely gold collar,", collar: "heavy gold"});
-		neck.push({text: "dons a simple silk ribbon around her neck,", collar: "silk ribbon"});
+		neck.push({text: `dons a simple silk ribbon around ${his} neck,`, collar: "silk ribbon"});
 	}
 	return jsEither(neck);
-}
+};
 
 window.todaysCorset = function(slave) {
 	var ArcologyZero = State.variables.arcologies[0];
@@ -685,9 +692,9 @@ window.todaysCorset = function(slave) {
 	if(slave.fetish == 'mindbroken') {
 		if(ArcologyZero.FSRepopulationFocus > 0 && slave.belly < 1500) {
 			if(slave.weight > 130) {
-				belly.push({text: "She notices the fake bellies; since every girl she has ever met has a rounded middle, it's only natural she is compelled to wear one. She struggles to fit it around her huge gut, only stopping when another slave takes it away from her so she moves on and stops blocking the wardrobe with her fat ass.", bellyAccessory: "none"});
+				belly.push({text: `${He} notices the fake bellies; since every girl ${he} has ever met has a rounded middle, it's only natural ${he} is compelled to wear one. ${He} struggles to fit it around ${his} huge gut, only stopping when another slave takes it away from ${his} so ${he} moves on and stops blocking the wardrobe with ${his} fat ass.`, bellyAccessory: "none"});
 			} else {
-				belly.push({text: "She notices the fake bellies; since every girl she has ever met has a rounded middle, it's only natural she is compelled to wear one.", bellyAccessory: jsEither(["a small empathy belly", "a medium empathy belly", "a large empathy belly", "a huge empathy belly"])});
+				belly.push({text: `${He} notices the fake bellies; since every girl ${he} has ever met has a rounded middle, it's only natural ${he} is compelled to wear one.`, bellyAccessory: jsEither(["a small empathy belly", "a medium empathy belly", "a large empathy belly", "a huge empathy belly"])});
 			}
 		} else {
 			belly.push({text: "", bellyAccessory: slave.bellyAccessory}); /*compatibility for no output, will likely get deprecated in the future as content is added*/
@@ -697,27 +704,27 @@ window.todaysCorset = function(slave) {
 	} else {
 		if(ArcologyZero.FSRepopulationFocus > 0 && slave.belly < 1500 && slave.sexualFlaw != "breeder") {
 			if(slave.weight > 130) {
-				belly.push({text: "struggles to fit a fake pregnant belly around her gut before giving up and hoping she can pass as fecund,", bellyAccessory: "none"});
+				belly.push({text: `struggles to fit a fake pregnant belly around ${his} gut before giving up and hoping ${he} can pass as fecund,`, bellyAccessory: "none"});
 			} else {
 				belly.push({text: "straps on a fake pregnant belly to fit in with all the other pregnant girls,", bellyAccessory: jsEither(["a small empathy belly", "a medium empathy belly", "a large empathy belly"])});
 			}
 		} else if(slave.belly < 1500 && slave.fetish == "pregnancy" && isItemAccessible("a small empathy belly") && slave.sexualFlaw != "breeder" && slave.weight <= 130) {
 			if(slave.fetishStrength <= 30) {
-				belly.push({text: "straps on a 1st trimester belly to sate her curiosity,", bellyAccessory: "a small empathy belly"});
-				belly.push({text: "straps on a 2nd trimester belly to sate her curiosity,", bellyAccessory: "a medium empathy belly"});
-				belly.push({text: "straps on a 3rd trimester belly to sate her curiosity,", bellyAccessory: "a large empathy belly"});
+				belly.push({text: `straps on a 1st trimester belly to sate ${his} curiosity,`, bellyAccessory: "a small empathy belly"});
+				belly.push({text: `straps on a 2nd trimester belly to sate ${his} curiosity,`, bellyAccessory: "a medium empathy belly"});
+				belly.push({text: `straps on a 3rd trimester belly to sate ${his} curiosity,`, bellyAccessory: "a large empathy belly"});
 			} else if(slave.fetishStrength <= 95) {
-				belly.push({text: "straps on a 3rd trimester belly to satisfy her pregnancy fetish,", bellyAccessory: "a large empathy belly"});
+				belly.push({text: `straps on a 3rd trimester belly to satisfy ${his} pregnancy fetish,`, bellyAccessory: "a large empathy belly"});
 			} else if(slave.fetishStrength > 95) {
-				belly.push({text: "straps on the largest belly she can find to satisfy her pregnancy fetish,", bellyAccessory: "a huge empathy belly"});
+				belly.push({text: `straps on the largest belly ${he} can find to satisfy ${his} pregnancy fetish,`, bellyAccessory: "a huge empathy belly"});
 			}
 		} else if(empathyBellies.includes(slave.bellyAccessory) && slave.fetish != "pregnancy") {
-			belly.push({text: "removes her fake belly, since she dislikes it,", bellyAccessory: "none"});
+			belly.push({text: `removes ${his} fake belly, since ${he} dislikes it,`, bellyAccessory: "none"});
 		} else if(empathyBellies.includes(slave.bellyAccessory) && slave.sexualFlaw == "breeder") {
-			belly.push({text: "pulls her fake belly off, disgusted by it,", bellyAccessory: "none"});
+			belly.push({text: `pulls ${his} fake belly off, disgusted by it,`, bellyAccessory: "none"});
 		} else {
 			belly.push({text: "", bellyAccessory: slave.bellyAccessory}); /*compatibility for no output, will likely get deprecated in the future as content is added*/
 		}
 	}
 	return jsEither(belly);
-}
+};
diff --git a/src/js/pregJS.tw b/src/js/pregJS.tw
index 016e35ec3a05c785577ccb74f885c40acdf877db..9a1b78df150478564bca570a1b39ab0ae32d3f15 100644
--- a/src/js/pregJS.tw
+++ b/src/js/pregJS.tw
@@ -141,6 +141,76 @@ window.setPregType = function(actor) {
 	return ovum;
 }
 
+/*
+ Penetrative ability, ability to become pregnant, and canBreed() must be checked outside of this. Designed to assume .eggType == "human".
+ target is the slave to get pregnant. Also accepts the PC.
+ chance is the % chance to conceive.
+ hole control's the hole involved (0 - vagina, 1 - ass, 2 - both). .mpreg did this.
+ fatherID is the ID of her sire or 0 if undefined.
+ displayOverride is an override if defined - fatherID must be defined in this case.
+*/
+window.knockMeUp = function(target, chance, hole, fatherID, displayOverride) {
+	const V = State.variables;
+	let r = "";
+	if (V.seePreg !== 0) {
+		if (jsRandom(0,99) < (chance + (V.reproductionFormula*((target.pregSource <= 0) ? ((target.ID == -1) ? 0 : 10) : 20)))) {
+			if (target.mpreg === hole) {
+			
+				target.preg = 1;
+				target.pregSource = (!fatherID ? 0 : fatherID);
+				
+				if (target.ID !== -1) {
+					target.pregWeek = 1;
+				}
+				
+				target.pregType = setPregType(target);
+				WombImpregnate(target, target.pregType, target.pregSource, 1);
+				
+				if (V.menstruation === 1) {}
+				else if (!displayOverride) {
+					target.pregKnown = 1;
+					if (target.ID === -1) {
+						/* r += "@@.lime;You have gotten pregnant.@@"; */
+					} else if (target.fuckdoll === 0) {
+						r += "@@.lime;She has become pregnant.@@";
+					} else {
+						r += "@@.lime;It has become pregnant.@@";
+					}
+				} else {
+					target.pregKnown = 1;
+				}
+				
+			} else if (hole === 2) {
+			
+				target.preg = 1;
+				target.pregSource = (!fatherID ? 0 : fatherID);
+				
+				if (target.ID !== -1) {
+					target.pregWeek = 1;
+				}
+				
+				target.pregType = setPregType(target);
+				WombImpregnate(target, target.pregType, target.pregSource, 1);
+				
+				if (V.menstruation === 1) {}
+				else if (!displayOverride) {
+					target.pregKnown = 1;
+					if (target.ID === -1) {
+						/* r += "@@.lime;You have gotten pregnant.@@"; */
+					} else if (target.fuckdoll === 0) {
+						r += "@@.lime;She has become pregnant.@@";
+					} else {
+						r += "@@.lime;It has become pregnant.@@";
+					}
+				} else {
+					target.pregKnown = 1;
+				}
+			}
+		}
+	}
+	return r;
+}
+
 window.getIncubatorReserved = function(slaves) {
 	var count = 0;
 	slaves.forEach(function(s){
diff --git a/src/js/rulesAssistant.tw b/src/js/rulesAssistant.tw
index dd43be996834a5a70ea4c5fe8d9779cd85232b9a..2b3d71b94141fabfb05d43d6be2e02c7037d6712 100644
--- a/src/js/rulesAssistant.tw
+++ b/src/js/rulesAssistant.tw
@@ -191,9 +191,11 @@ window.ruleAppliesP = function ruleAppliesP(cond, slave) {
 		break;
 	}
 	// assignment / facility / special slaves / specific slaves check
+	let assignment = slave.assignment;
+	if (assignment === "be your Concubine") assignment = "serve in the master suite";
 	flag = flag &&
 		!(cond.excludeSpecialSlaves && isLeaderP(slave)) &&
-		(cond.assignment.length === 0 || cond.assignment.includes(slave.assignment)) &&
+		(cond.assignment.length === 0 || cond.assignment.includes(assignment)) &&
 		(cond.selectedSlaves.length === 0 || cond.selectedSlaves.includes(slave.ID)) &&
 		!(cond.excludedSlaves.includes(slave.ID));
 	return flag;
diff --git a/src/js/rulesAssistantOptions.tw b/src/js/rulesAssistantOptions.tw
index f848ceaacf3b744f544c72cccf3cc579155d487f..8b54164871a115813608f3c2e891c460cb705de9 100644
--- a/src/js/rulesAssistantOptions.tw
+++ b/src/js/rulesAssistantOptions.tw
@@ -389,7 +389,7 @@ window.rulesAssistantOptions = (function() {
 			try {
 				const rule = JSON.parse(text);
 				if (rule instanceof Array)
-					rule.forEach(r => V.defaultRules.push(r))
+					rule.forEach(r => V.defaultRules.push(r));
 				else
 					V.defaultRules.push(rule);
 				reload(this.root);
@@ -641,9 +641,14 @@ window.rulesAssistantOptions = (function() {
 		}
 
 		render(data) {
-			const elem = document.createElement("textarea");
-			elem.innerHTML = data;
-			elem.onblur = () => current_rule.condition.data = elem.value;
+			const elem = document.createElement("div");
+			const textarea = document.createElement("textarea");
+			textarea.innerHTML = data;
+			textarea.onblur = () => current_rule.condition.data = textarea.value;
+			elem.appendChild(textarea);
+			const explanation = document.createElement("div");
+			explanation.innerHTML = "Insert a valid <a target='_blank' class='link-external' href='https://www.w3schools.com/js/js_comparisons.asp'>JavaScript comparison and/or logical operation</a>.";
+			elem.appendChild(explanation);
 			return elem;
 		}
 	}
@@ -1518,15 +1523,9 @@ window.rulesAssistantOptions = (function() {
 		constructor() {
 			const drugs =  [
 				["No default setting", "no default setting"],
-				["Contraceptives", -1],
-				["Fertile", 0],
-				["Very fertile", 1],
-				["Extremely fertile", 2],
-			];
-			if (V.seeHyperPreg === 1 && V.superFertilityDrugs === 1) {
-				drugs.push(["Hyper fertile", 3]);
-				drugs.push(["Maximize fertility", 4]);
-			}
+				["Contraceptives", true],
+				["Fertile", false],
+			];
 			super("Contraceptives for fertile slaves", drugs);
 			this.setValue(current_rule.set.preg);
 			this.onchange = (value) => current_rule.set.preg = value;
@@ -1599,22 +1598,31 @@ window.rulesAssistantOptions = (function() {
 
 	class OtherDrugsList extends List {
 		constructor() {
-			const drugs = [];
-			setup.drugs.forEach(drug => {
-				if (drug.fs === undefined && drug.rs === undefined)
-					drugs.push([drug.name, drug.value]);
-				else if (drug.rs === "growth" && V.growthStim === 1)
-					drugs.push([drug.name + " (Research)", drug.value]);
-				else if (drug.rs === "pubHorm" && V.precociousPuberty === 1 && V.pubertyHormones === 1)
-					drugs.push([drug.name + " (Research)", drug.value]);
-				else if (drug.rs === "nosag" && V.purchasedSagBGone === 1)
-					drugs.push([drug.name + " (Product)", drug.value]);
-				else if (drug.fs === "slimness" && V.arcologies[0].FSSlimnessEnthusiastResearch === 1)
-					drugs.push([drug.name + " (FS)", drug.value]);
-				else if (drug.fs === "youth" && V.arcologies[0].FSYouthPreferentialistResearch === 1)
-					drugs.push([drug.name + " (FS)", drug.value]);
-			});
-			super("Other drugs (Will be overriden by hormones and other drugs where applicable)", drugs);
+			const drugs = [
+				["No default setting", "no default setting"],
+				["None", "none"],
+				["Fertility drugs", "fertility drugs"],
+				["Psychosuppressants", "psychosuppressants"],
+				["Steroids", "steroids"],
+				["Natural hormone enhancers", "hormone enhancers"],
+				["Hormone blockers", "hormone blockers"],
+			];
+
+			if (V.growthStim === 1)
+				drugs.push(["Growth Stimulants (Research)", "growth stimulants"]);
+			if (V.precociousPuberty === 1 && V.pubertyHormones) {
+				drugs.push(["Female hormone injections (Research)", "female hormone injections"]);
+				drugs.push(["Male hormone injections (Research)", "male hormone injections"]);
+			}
+			if (V.purchasedSagBGone === 1)
+				drugs.push(["Sag-B-gone (Product)", "sag-B-gone"]);
+			if (V.arcologies[0].FSSlimnessEnthusiastResearch === 1)
+				drugs.push(["Weight loss pills (FS)", "appetite suppressors"]);
+			if (V.arcologies[0].FSYouthPreferentialistResearch === 1)
+				drugs.push(["Anti-aging cream (FS)", "anti-aging cream"]);
+			if (V.seeHyperPreg === 1 && V.superFertilityDrugs === 1)
+				drugs.push(["Super fertility drugs", "super fertility drugs"]);
+			super("Other drugs", drugs);
 			this.setValue(current_rule.set.drug);
 			this.onchange = (value) => current_rule.set.drug = value;
 		}
diff --git a/src/js/rulesAutosurgery.tw b/src/js/rulesAutosurgery.tw
index 957d3289b7c2f992fbf3f98b5ff28ac2575cf678..e108414d57d251f983e2c6df47edcc2a0c2bf30b 100644
--- a/src/js/rulesAutosurgery.tw
+++ b/src/js/rulesAutosurgery.tw
@@ -15,34 +15,17 @@ window.rulesAutosurgery = (function() {
 			CommitSurgery(slave, thisSurgery, surgeries);
 		if (surgeries.length > 0)
 			PrintResult(slave, thisSurgery, surgeries);
-		return r
+		return r;
 	}
 	
 	function autoSurgerySelector(slave, ruleset) {
-		const surgery = {
-			surgery_eyes: "no default setting",
-			surgery_lactation: "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: "no default setting",
-			surgery_bodyhair: "no default setting",
-			surgery_hair: "no default setting",
-			surgery_bellyImplant: "no default setting",
-			surgery_vasectomy: "no default setting",
-		};
+		const surgery = {};
 		ruleset.forEach(rule => {
-			Object.keys(surgery).forEach(key => {
-				if (rule[key] !== "no default setting")
+			Object.keys(rule)
+				.filter(key => key.startsWith("surgery_") && rule[key] !== "no default setting")
+				.forEach(key => {
 					surgery[key] = rule[key];
-			})
+				});
 		});
 		return surgery;
 	}
@@ -136,7 +119,7 @@ window.rulesAutosurgery = (function() {
 					if (thisSurgery.surgery_butt > 6)
 						thisSurgery.surgery_butt = 6;
 				}
-			};
+			}
 			break;
 		}
 		return thisSurgery;
@@ -205,7 +188,7 @@ window.rulesAutosurgery = (function() {
 			
 		} else if ((slave.faceImplant <= 15) && (slave.face <= 95) && (thisSurgery.surgery_cosmetic > 0)) {
 			surgeries.push("a nicer face");
-			if (slave.faceShape == "masculine") {slave.faceShape = "androgynous"};
+			if (slave.faceShape == "masculine") slave.faceShape = "androgynous";
 			slave.faceImplant += 25-5*Math.trunc(V.PC.medicine/50)-5*V.surgeryUpgrade;
 			slave.face = Math.clamp(slave.face+20,-100,100);
 			V.cash -= V.surgeryCost;
@@ -227,8 +210,8 @@ window.rulesAutosurgery = (function() {
 			
 		} else if (((slave.underArmHStyle != "bald" && slave.underArmHStyle != "hairless") || (slave.pubicHStyle != "bald" && slave.pubicHStyle != "hairless")) && (thisSurgery.surgery_bodyhair == 2)) {
 			surgeries.push("body hair removal");
-			if (slave.underArmHStyle != "hairless") {slave.underArmHStyle = "bald"};
-			if (slave.pubicHStyle != "hairless") {slave.pubicHStyle = "bald"};
+			if (slave.underArmHStyle != "hairless") slave.underArmHStyle = "bald";
+			if (slave.pubicHStyle != "hairless") slave.pubicHStyle = "bald";
 			V.cash -= V.surgeryCost;
 			
 		} else if ((slave.bald == 0 || slave.hStyle != "bald") && (thisSurgery.surgery_hair == 2)) {
@@ -523,7 +506,7 @@ window.rulesAutosurgery = (function() {
 				slave.health -= 5;
 			else
 				slave.health -= 10;
-			slave.vasectomy = 1
+			slave.vasectomy = 1;
 			V.cash -= V.surgeryCost;
 		} else if (slave.balls > 0 && slave.vasectomy === 1 && thisSurgery.surgery_vasectomy === false) {
 			surgery.push("undo vasectomy");
diff --git a/src/js/saChoosesOwnClothes.tw b/src/js/saChoosesOwnClothes.tw
new file mode 100644
index 0000000000000000000000000000000000000000..d257adbd98a77d1184c0d723491495e97261c56e
--- /dev/null
+++ b/src/js/saChoosesOwnClothes.tw
@@ -0,0 +1,80 @@
+:: saChoosesOwnClothes [script]
+
+window.saChoosesOwnClothes = function saChoosesOwnClothes(slave) {
+	"use strict";
+	const V = State.variables;
+	let r = "";
+	if (slave.choosesOwnClothes !== 1) return r;
+	const pronouns = getPronouns(slave);
+	const he = pronouns.pronoun;
+	const him = pronouns.object;
+	const his = pronouns.possessive;
+	const hers = pronouns.posessivePronoun;
+	const himself = pronouns.objectReflexive;
+	const boy = pronouns.noun;
+	const He = capFirstChar(he);
+	const His = capFirstChar(his);
+
+	const belly_accessory = slave.bellyAccesory;
+
+	if (slave.fetish === "mindbroken") {
+		let corsetChoice = todaysCorset(slave);
+		let clothingChoice = todaysOutfit(slave);
+		slave.bellyAccesory = corsetChoice.bellyAccesory;
+		slave.clothes = clothingChoice.clothes;
+		r += `${He} is fundamentally broken, but still follows some faint memories of standing within the wardrobe. `;
+		if (slave.amp !== 1) {
+			let shoeChoice = todaysShoes(slave);
+			r += `${shoeChoice.text} `;
+			slave.shoes = shoeChoice.shoes;
+		}
+		r += `${corsetChoice.text} Faced with so many choices and no thought on the matter; ${clothingChoice.text}. `;
+	} else if (slave.devotion <= 20) {
+		let clothingChoice = todaysOutfit(slave);
+		slave.clothes = clothingChoice.clothes;
+		r += `${clothingChoice.text} `;
+		if (slave.amp !== 1) {
+			let shoeChoice = todaysShoes(slave);
+			r += `${shoeChoice.text} `;
+			slave.shoes = shoeChoice.shoes;
+		}
+		r += `<span class="mediumorchid">increasing ${his} independence.</span>`;
+		slave.devotion -= 5;
+	} else {
+		let neckChoice = todaysCollar(slave);
+		let corsetChoice = todaysCorset(slave);
+		let clothingChoice = todaysOutfit(slave);
+		slave.collar = neckChoice.collar;
+		slave.bellyAccesory = corsetChoice.bellyAccesory;
+		slave.clothes = clothingChoice.clothes;
+		r += `${He} <span class="hotpink">loves</span> being able to dress ${himself}, ${neckChoice.text} ${corsetChoice.text} ${clothingChoice.text} `;
+		slave.devotion += 1;
+
+		if (V.arcologies[0].FSRestart !== "unset" && slave.choosesOwnChastity == 1) {
+			if (slave.vagina > -1 && slave.breedingMark === 1 && (slave.vaginalAccessory === "chastity belt" || slave.vaginalAccessory === "combined chastity")) {
+				r += `${He} unfastens ${his} chastity belt knowing full well ${his} role in life is to carry ${his} ${WrittenMaster(slave)}'s children. `;
+				slave.vaginalAccessory = "none";
+			} else if (slave.vagina > -1 && slave.ovaries === 1 && slave.preg === 0 && slave.vaginalAccessory !== "chastity belt") {
+				r += `${He} also affixes a chastity belt over ${his} vagina to discourage use of ${his} reproductive organ. `;
+				slave.vaginalAccessory = "chastity belt";
+			} else if (slave.vagina > -1 && (slave.ovaries === 0 || slave.preg < -1) && slave.vaginalAccessory === "chastity belt") {
+				r += `${He} removes ${his} chastity belt since no matter how hard someone tries, ${he} can never become pregnant. `;
+				slave.vaginalAccessory = "none";
+			}
+			if (slave.dick > 0 && slave.balls > 0 && slave.dickAccessory !== "chastity") {
+				r += `${He} also affixes a chastity cage onto ${his} dick to discourage use of ${his} reproductive organ. `;
+				slave.dickAccessory = "chastity";
+			} else if (slave.dick > 0 && slave.balls === 0 && slave.dickAccessory === "chastity") {
+				r += `${He} removes ${his} chastity cage since even if ${he} could get erect, ${he} only shoots blanks. `;
+				slave.dickAccessory = "none";
+			}
+		}
+
+		if (slave.amp !== 1) {
+			let shoeChoice = todaysShoes(slave);
+			r += `${shoeChoice.text}`;
+			slave.shoes = shoeChoice.shoes;
+		}
+	}
+	return r;
+};
diff --git a/src/js/summaryWidgets.tw b/src/js/summaryWidgets.tw
new file mode 100644
index 0000000000000000000000000000000000000000..41cc8e8d6993557b00a4459a8e9e00d44773ed36
--- /dev/null
+++ b/src/js/summaryWidgets.tw
@@ -0,0 +1,59 @@
+:: Summary Widgets JS [script]
+
+window.SlaveStatClamp = function SlaveStatClamp(slave) {
+	slave.energy = Math.clamp(slave.energy, 0, 100);
+
+	if (slave.devotion > 100) {
+		if (slave.trust < -95)
+			slave.trust = -100;
+		else if ((slave.trust < 100) && (slave.trust >= 20))
+			slave.trust += (Math.trunc((slave.devotion-100)*5)/10);
+		else
+			V.rep += 10*(slave.devotion-100);
+		slave.devotion = 100;
+	} else if (slave.devotion < -95)
+		slave.devotion = -100;
+	if (slave.trust > 100) {
+		if (slave.devotion < -95)
+			slave.devotion = -100;
+		else if (slave.devotion < 100 && slave.devotion >= 20)
+			slave.devotion += Math.trunc(slave.trust-100);
+		else
+			V.rep += 10*(slave.trust-100);
+		slave.trust = 100;
+	} else if (slave.trust < -95)
+		slave.trust = -100;
+	if (slave.trust < -100)
+		slave.trust = -100;
+	if (slave.devotion < -100)
+		slave.devotion = -100;
+	if (isNaN(slave.oralCount)) {
+		slave.oralCount = 0;
+		alert("Oral count has broken, report what you just did!");
+	}
+	if (isNaN(slave.analCount)) {
+		slave.analCount = 0;
+		alert("Anal count has broken, report what you just did!");
+	}
+	if (isNaN(slave.vaginalCount)) {
+		slave.vaginalCount = 0;
+		alert("Vaginal count has broken, report what you just did!");
+	}
+	if (isNaN(slave.mammaryCount)) {
+		slave.mammaryCount = 0;
+		alert("Titfuck count has broken, report what you just did!");
+	}
+	if (isNaN(slave.penetrativeCount)) {
+		slave.penetrativeCount = 0;
+		alert("Penetration count has broken, report what you just did!");
+	}
+	if (slave.foreskin === undefined)
+		slave.foreskin = 0;
+	if (slave.amp != 0 && slave.heels == 1)
+		slave.heels = 0;
+	if (slave.vagina < 0 && slave.mpreg == 0 && slave.preg == -1) {
+		slave.preg = 0;
+		WombFlush(slave);
+	}
+
+};
diff --git a/src/js/vectorRevampedArtControlJS.tw b/src/js/vectorRevampedArtControlJS.tw
index 902f1a569e542358971ed6cc0fcc32345bda471a..b319ea119999946c7466e7514e81bd37c4a58530 100644
--- a/src/js/vectorRevampedArtControlJS.tw
+++ b/src/js/vectorRevampedArtControlJS.tw
@@ -1293,16 +1293,6 @@ class RevampedArtControl {
 	get boobLayer() {
 		var result = [];
 
-		var artScaleFactor = 0.804354*Math.log(0.00577801*this.artSlave.boobs);
-
-		var boobRightArtTranslationX = 270*((-1*artScaleFactor) + 1);
-		var boobLeftArtTranslationX = 320*((-1*artScaleFactor) + 1);
-		var artTranslationX = -283.841*artScaleFactor+285.349;
-		var artTranslationY = 198*((-1*artScaleFactor) + 1);
-		var artBoobTransform = "matrix(" + artScaleFactor +",0,0," + artScaleFactor + "," + artTranslationX + "," + artTranslationY + ")";
-
-		this.artTransform = artBoobTransform;
-		
 		if (this.artSlave.boobs < 300)
 		{
 			if (this.showNipples)
@@ -1338,6 +1328,16 @@ class RevampedArtControl {
 		}
 		else 
 		{
+			var artScaleFactor = 0.804354*Math.log(0.00577801*this.artSlave.boobs);
+			
+			var boobRightArtTranslationX = 270*((-1*artScaleFactor) + 1);
+			var boobLeftArtTranslationX = 320*((-1*artScaleFactor) + 1);
+			var artTranslationX = -283.841*artScaleFactor+285.349;
+			var artTranslationY = 198*((-1*artScaleFactor) + 1);
+			var artBoobTransform = "matrix(" + artScaleFactor +",0,0," + artScaleFactor + "," + artTranslationX + "," + artTranslationY + ")";
+
+			this.artTransform = artBoobTransform;
+			
 			if (!this.showBoobs)
 				return result;
 				
diff --git a/src/npc/descriptions/fAnus.tw b/src/npc/descriptions/fAnus.tw
index da0ee38046aa68999f544004eaac28cb6f09cd76..9a51bc6bb1a8c29568d55167819b6d6e933a4868 100644
--- a/src/npc/descriptions/fAnus.tw
+++ b/src/npc/descriptions/fAnus.tw
@@ -166,7 +166,7 @@ $His anus is invitingly bleached,
 <</if>>
 
 <<if canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-	<<KnockMeUp $activeSlave 5 1 -1>>
+	<<= knockMeUp($activeSlave, 5, 1, -1)>>
 <</if>>
 
 <<if canWalk($activeSlave)>>
diff --git a/src/npc/descriptions/fFuckdollWidgets.tw b/src/npc/descriptions/fFuckdollWidgets.tw
index 8a0ae55acb9862d1acb7d36cbec2c17316dd33cd..529abb47d1572dd9312cfc75b41a247249983b52 100644
--- a/src/npc/descriptions/fFuckdollWidgets.tw
+++ b/src/npc/descriptions/fFuckdollWidgets.tw
@@ -73,7 +73,7 @@ You climax<<if $PC.dick == 1>>, your cum shooting forward to splash against its
 	<<else>>Its tight front hole retains almost every drop of your cum. A few escape and run down the material of its suit.
 	<</if>>
 	<<if canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-		<<KnockMeUp $activeSlave 5 1 -1>>
+		<<= knockMeUp($activeSlave, 5, 1, -1)>>
 	<</if>>
 	The Fuckdoll will be cleaned by another slave.
 <</if>>
@@ -165,7 +165,7 @@ You climax, your cum shooting forward to splash against its womb, and return it
 
 You repeat this ritual throughout the week, ensuring that it will be an @@.lime;incubator for your child.@@
 
-<<KnockMeUp $activeSlave 100 2 -1 1>>
+<<= knockMeUp($activeSlave, 100, 2, -1, 1)>>
 
 <<if $arcologies[0].FSRestart != "unset">>
 	<<if $activeSlave.breedingMark != 1>>
@@ -216,7 +216,7 @@ You climax<<if $PC.dick == 1>>, filling its rectum with your cum,<</if>> and ret
 	<<else>>Its tight rear hole retains every drop of your cum.
 	<</if>>
 	<<if canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-		<<KnockMeUp $activeSlave 5 0 -1>>
+		<<= knockMeUp($activeSlave, 5, 0, -1)>>
 	<</if>>
 	The Fuckdoll will be cleaned by another slave.
 <</if>>
diff --git a/src/npc/fPCImpreg.tw b/src/npc/fPCImpreg.tw
index ef6e7577d4d2aa532dee793661e1420892d3f559..df5df085ccbd583b8751fafef2f3b30970c004bf 100644
--- a/src/npc/fPCImpreg.tw
+++ b/src/npc/fPCImpreg.tw
@@ -112,7 +112,7 @@ You call $him over so you can
 
 You repeat this ritual throughout the week, ensuring that $activeSlave.slaveName is @@.lime;carrying your child.@@
 
-<<KnockMeUp $activeSlave 100 2 -1 1>>
+<<= knockMeUp($activeSlave, 100, 2, -1, 1)>>
 
 <<if $arcologies[0].FSRestart != "unset">>
 	<<if $activeSlave.breedingMark != 1>>
diff --git a/src/npc/fSlaveImpregConsummate.tw b/src/npc/fSlaveImpregConsummate.tw
index dd13e6fa8288f7f83ef2e78d4fa54a22cb654714..207450934817e2e34c84dcbe106da032e16b6889 100644
--- a/src/npc/fSlaveImpregConsummate.tw
+++ b/src/npc/fSlaveImpregConsummate.tw
@@ -130,7 +130,7 @@ Next, you see to $activeSlave.slaveName.
 <</if>>
 
 
-<<KnockMeUp $activeSlave 100 2 $impregnatrix.ID 1>>
+<<= knockMeUp($activeSlave, 100, 2, $impregnatrix.ID, 1)>>
 
 
 <br><br>
@@ -180,7 +180,7 @@ Next, you see to $activeSlave.slaveName.
 				<<set $impregnatrix.devotion += 4, $impregnatrix.vagina = 1>>
 			<</if>>
 			<<if $PC.dick == 1 && $impregnatrix.eggType == "human" && canGetPregnant($impregnatrix)>>
-				<<KnockMeUp $impregnatrix 10 0 -1 1>>
+				<<= knockMeUp($impregnatrix, 10, 0, -1, 1)>>
 			<</if>>
 			<<set $impregnatrix.vaginalCount += _penCountBonus, $vaginalTotal += _penCountBonus>>
 		<<elseif canDoAnal($impregnatrix)>>
@@ -190,7 +190,7 @@ Next, you see to $activeSlave.slaveName.
 				<<set $impregnatrix.devotion += 4, $impregnatrix.anus = 1>>
 			<</if>>
 			<<if $PC.dick == 1 && $impregnatrix.eggType == "human" && canGetPregnant($impregnatrix)>>
-				<<KnockMeUp $impregnatrix 10 1 -1 1>>
+				<<= knockMeUp($impregnatrix, 10, 1, -1, 1)>>
 			<</if>>
 			<<set $impregnatrix.analCount += _penCountBonus, $analTotal += _penCountBonus>>
 		<<else>>
@@ -250,7 +250,7 @@ Next, you see to $activeSlave.slaveName.
 		<</if>>
 		<<set $impregnatrix.vaginalCount += _penCountBonus, $vaginalTotal += _penCountBonus>>
 		<<if $PC.dick == 1 && $impregnatrix.eggType == "human" && canGetPregnant($impregnatrix)>>
-			<<KnockMeUp $impregnatrix 10 0 -1 1>>
+			<<= knockMeUp($impregnatrix, 10, 0, -1, 1)>>
 		<</if>>
 	<<elseif _didImpregnatrix == 2>>
 		<<if ($impregnatrix.anus == 0)>>
@@ -259,7 +259,7 @@ Next, you see to $activeSlave.slaveName.
 		<</if>>
 		<<set $impregnatrix.analCount += _penCountBonus, $analTotal += _penCountBonus>>
 		<<if $PC.dick == 1 && $impregnatrix.eggType == "human" && canGetPregnant($impregnatrix)>>
-			<<KnockMeUp $impregnatrix 10 1 -1 1>>
+			<<= knockMeUp($impregnatrix, 10, 1, -1, 1)>>
 		<</if>>
 	<</if>>
 	<<if ($activeSlave.anus == 0) && canDoAnal($activeSlave)>>
diff --git a/src/pregmod/MpregSelf.tw b/src/pregmod/MpregSelf.tw
index f3a035c1bffe313712366aec09757466bb55746d..8ecbadc963ccd86f69ff6b978970113886ab668e 100644
--- a/src/pregmod/MpregSelf.tw
+++ b/src/pregmod/MpregSelf.tw
@@ -49,7 +49,7 @@
 	
 	<</if>>
 	<<set _selfPreg = 30+($PC.balls*20)>>
-	<<KnockMeUp $PC _selfPreg 0 -6>>
+	<<= knockMeUp($PC, _selfPreg, 0, -6)>>
 <<else>>
 	<<if $PC.balls > 2>>
 		Calling over your closest slave, you order her to bring you one of the high-volume enema syringes from the slave quarters. She rushes off, and you set about getting naked before lying down on your luxurious bed. Your cock is already rock-hard, sending rivulets of precum running down to pool on your massive balls. Your pussy is similarly soaked, imagining your belly swelling after your knock yourself up has it practically puddling. Just as you start to think about punishing your slave for taking too long, you hear a knock before she enters carrying the extra-long enema syringe. Impatient, you give her your instructions: "pull out the plunger and keep the syringe handy. You're going to suck me off, but I want every drop of my cum to go into that syringe. No spilling. Now get started." 
@@ -96,5 +96,5 @@
 		You feel her soft lips pressed to your vulva as she works to retrieve her treat. You hear some soft slurping noises and feel a warm tongue worming its way inside you to retrieve any lingering cum. You relax and enjoy the afterglow of your orgasms while she works, proud of your ingenious idea to take advantage of your own balls for a satisfying creampie. There's always a slave to do that, of course, but why use slave cum when you have such obviously superior material available?
 	
 	<</if>>
-	<<KnockMeUp $PC 100 0 -6>>
-<</if>>
\ No newline at end of file
+	<<= knockMeUp($PC, 100, 0, -6)>>
+<</if>>
diff --git a/src/pregmod/fDick.tw b/src/pregmod/fDick.tw
index 9e1203922189939bb23f57435478451e74a55acb..f4ed7b612f18bc10bc87780a64cdbd8d02f1f26c 100644
--- a/src/pregmod/fDick.tw
+++ b/src/pregmod/fDick.tw
@@ -126,7 +126,7 @@
 			Such audacity takes you entirely by surprise and gives $him the edge $he needs to pull it off. $He vigorously pistons in and out of you with little regard for you<<if $PC.pregKnown == 1>> or your pregnancy<</if>>, fucking you senseless until $he has had enough and cums deep inside your <<if $PC.vagina == 1>>pussy<<else>>ass<</if>>.
 			<<if isPlayerFertile($PC) && ($activeSlave.ballType == "human") && $activeSlave.vasectomy == 0 && $activeSlave.fetish == "pregnancy">>
 				Running a hand across your firm belly, $he decides $his job is not yet done and begins reaming you once more, dead set on taking this opportunity to @@.orangered;show you your place by knocking you up with $his child.@@ $He manages to empty $his balls in your womb several more times before exhaustion kicks in, forcing $him to leave you twitching and drooling cum.
-				<<KnockMeUp $PC 100 0 $activeSlave.ID>>
+				<<= knockMeUp($PC, 100, 0, $activeSlave.ID)>>
 				<<set $activeSlave.penetrationCount += 5, $penetrativeTotal += 5>>
 			<<else>>
 				Contently sighing, $he pulls $his still very hard cock from your overwhelmed body and forces it into your mouth, ready to blow a second load and give you a @@.orangered;taste of your place,@@ before leaving you twitching and drooling cum.
@@ -239,7 +239,7 @@
 	<<case "work in the brothel">>
 		$He goes to wash $his dick so $his next customer has no idea what $he's been up to.
 	<<case "serve in the club">>
-		$He goes to wash $his dick to make it appear unsed.
+		$He goes to wash $his dick to make it appear unused.
 	<<case "work in the dairy">>
 		$He goes off to carefully wash $his dick to avoid besmirching the nice clean dairy.
 	<<case "work as a servant">>
@@ -251,10 +251,10 @@
 <<if isPlayerFertile($PC) && ($activeSlave.ballType == "human") && $activeSlave.vasectomy == 0>>
 	<<if $activeSlave.diet == "cum production">>
 		<<set _pregChance = ($activeSlave.balls * 5 * 1.2)>>
-		<<KnockMeUp $PC _pregChance 0 $activeSlave.ID>>
+		<<= knockMeUp($PC, _pregChance, 0, $activeSlave.ID)>>
 	<<else>>
 		<<set _pregChance = ($activeSlave.balls * 5)>>
-		<<KnockMeUp $PC _pregChance 0 $activeSlave.ID>>
+		<<= knockMeUp($PC, _pregChance, 0, $activeSlave.ID)>>
 	<</if>>
 <</if>>
 <<if $sexualOpeness == 0>>
diff --git a/src/pregmod/fSelf.tw b/src/pregmod/fSelf.tw
index 53225e915f39c416e8fa74ab6e3e62b93f883061..0ce34db9dbcc054cc006e77d3a7a45bc8e646068 100644
--- a/src/pregmod/fSelf.tw
+++ b/src/pregmod/fSelf.tw
@@ -47,6 +47,6 @@ Taking the hose and attaching your favorite cockhead to it, you eagerly drag it
 
 <<set $PC.cumTap++>>
 <<set $CumSources = $CumSources.random()>>
-<<KnockMeUp $PC 50 0 $CumSources>>
+<<= knockMeUp($PC, 50, 0, $CumSources)>>
 <<set $CumSources = 0>>
 
diff --git a/src/pregmod/fSlaveFeed.tw b/src/pregmod/fSlaveFeed.tw
index 200333011f19330ed7c37d3e1ac33add66708358..51c76bbe247453815df6943056b473484d3d9419 100644
--- a/src/pregmod/fSlaveFeed.tw
+++ b/src/pregmod/fSlaveFeed.tw
@@ -215,13 +215,13 @@ Next, you see to $activeSlave.slaveName.
 		Moving behind the restrained cow while<<if $PC.dick == 0>> donning a strap-on<<else>>teasing your erect cock<</if>>, you push _him2 forward to allow you to insert yourself into _his2 <<if $milkTap.vagina == 0>>virgin <</if>>pussy. Getting comfortable, you reach around to _his2 immense mammaries and begin kneading them in time to your thrusts. After some time, and several orgasms in both yourself and the sobbing cow, is $activeSlave.slaveName bloated with enough milk.
 		<<set $milkTap.vaginalCount++, $vaginalTotal++>>
 		<<if $PC.dick == 1 && canGetPregnant($milkTap) && $milkTap.eggType == "human">>
-			<<KnockMeUp $milkTap 40 0 -1>>
+			<<= knockMeUp($milkTap, 40, 0, -1)>>
 		<</if>>
 	<<elseif canDoAnal($milkTap)>>
 		Moving behind the restrained cow while<<if $PC.dick == 0>> donning a strap-on<<else>> teasing your erect cock<</if>>, you push _him2 forward to allow you to insert yourself into _his2 <<if $milkTap.anus == 0>>virgin <</if>>rear. Getting comfortable, you reach around to _his2 immense mammaries and begin kneading them in time to your thrusts. After some time, and several orgasms in both yourself and the sobbing cow, is $activeSlave.slaveName bloated with enough milk.
 		<<set $milkTap.analCount++, $analTotal++>>
 		<<if $PC.dick == 1 && canGetPregnant($milkTap) && $milkTap.eggType == "human">>
-			<<KnockMeUp $milkTap 40 1 -1>>
+			<<= knockMeUp($milkTap, 40, 1, -1)>>
 		<</if>>
 	<<elseif $PC.dick == 1 && $milkTap.butt > 4>>
 		Moving behind the restrained cow while teasing your erect cock, you push _him2 forward to allow you to press your dick between _his2 huge butt cheeks. Getting comfortable, you reach around to _his2 immense mammaries and begin kneading them in time to your thrusts. After some time, and several orgasms across the back of the sobbing cow, is $activeSlave.slaveName bloated with enough milk.
@@ -444,7 +444,7 @@ The first necessary step is to prepare the cum slave and $his cock and balls.
 	<<set $milkTap.devotion -= 5, $milkTap.trust -= 5>>
 	<<if canDoAnal($milkTap)>>
 		<<if $PC.dick == 1 && canGetPregnant($milkTap) && $milkTap.eggType == "human">>
-			<<KnockMeUp $milkTap 40 1 -1>>
+			<<= knockMeUp($milkTap, 40, 1, -1)>>
 		<</if>>
 		<<if ($milkTap.anus == 0)>>
 			$milkTap.slaveName feels @@.mediumorchid;especially violated@@ having just @@.lime;lost $his anal virginity@@ in such a manner.
diff --git a/src/pregmod/fSlaveSelfImpreg.tw b/src/pregmod/fSlaveSelfImpreg.tw
index ede8365bd639f6b0dea2f9d63c3446a43f729f44..4e8825fa764844777c129ada5a50908c3944291d 100644
--- a/src/pregmod/fSlaveSelfImpreg.tw
+++ b/src/pregmod/fSlaveSelfImpreg.tw
@@ -171,7 +171,7 @@
 
 You repeat this ritual throughout the week, ensuring that $activeSlave.slaveName is carrying $his own child.
 
-<<KnockMeUp $activeSlave 100 2 $activeSlave.ID 1>>
+<<= knockMeUp($activeSlave, 100, 2, $activeSlave.ID, 1)>>
 
 <<if $arcologies[0].FSRestart != "unset">>
 	<<if $activeSlave.breedingMark != 1>>
diff --git a/src/pregmod/fSlaveSlaveDickConsummate.tw b/src/pregmod/fSlaveSlaveDickConsummate.tw
index 3fe71925d893f9ffc55e362a3b65fdeca5521fce..36fce85289aea1b0ae347249e4177fa9a56bf4d4 100644
--- a/src/pregmod/fSlaveSlaveDickConsummate.tw
+++ b/src/pregmod/fSlaveSlaveDickConsummate.tw
@@ -518,7 +518,7 @@ You call $slaverapistx.slaveName into the room.
 		penetrate $slaverapistx.slaveName's free asshole with your <<if $PC.dick == 1>>dick<<else>>strap-on<</if>>. With the extra stimulus of double penetration, _he2 comes indecently hard. The two of them collapse into an exhausted, satisfied pile of slave flesh.
 		<<set $slaverapistx.analCount++, $analTotal++>>
 		<<if $PC.dick == 1 && canGetPregnant($slaverapistx) && $slaverapistx.eggType == "human">>
-			<<KnockMeUp $slaverapistx 5 1 -1 1>>
+			<<= knockMeUp($slaverapistx, 5, 1, -1, 1)>>
 		<</if>>
 	<<elseif canDoVaginal($activeSlave)>>
 		penetrate $activeSlave.slaveName's free pussy with your <<if $PC.dick == 1>>dick<<else>>strap-on<</if>>. With the double stimulus of penetrating a tight vagina and being penetrated while restrained, $he comes indecently hard. The two of them collapse into an exhausted, satisfied pile of slave flesh.
@@ -545,7 +545,7 @@ You call $slaverapistx.slaveName into the room.
 
 /% pregnancy test %/
 <<if canImpreg($slaverapistx, $activeSlave)>>
-	<<KnockMeUp $slaverapistx 25 0 $activeSlave.ID>>
+	<<= knockMeUp($slaverapistx, 25, 0, $activeSlave.ID)>>
 <</if>>
 
 /% save changes %/
diff --git a/src/pregmod/fSlaveSlaveVagConsummate.tw b/src/pregmod/fSlaveSlaveVagConsummate.tw
index 07f8af205eb65963b7584043af2caccddbd42183..67bb1ed0552c7b1d74f9e933afa17599d6208899 100644
--- a/src/pregmod/fSlaveSlaveVagConsummate.tw
+++ b/src/pregmod/fSlaveSlaveVagConsummate.tw
@@ -248,7 +248,7 @@ Next, you see to $activeSlave.slaveName.
 <</if>>
 
 <<if canImpreg($activeSlave, $slaverapistx)>>
-	<<KnockMeUp $activeSlave 25 0 $slaverapistx.ID>>
+	<<= knockMeUp($activeSlave, 25, 0, $slaverapistx.ID)>>
 <</if>>
 
 <<set $slaves[$slaveIndices[$slaverapistx.ID]] = $slaverapistx>>
diff --git a/src/pregmod/newChildIntro.tw b/src/pregmod/newChildIntro.tw
index ef88765aadcc69c4b472361ba46c74c9d7b147b8..2dbec62e0ae83fd930c92edbe2fd9d3fba7482ab 100644
--- a/src/pregmod/newChildIntro.tw
+++ b/src/pregmod/newChildIntro.tw
@@ -787,7 +787,7 @@ As she begins to moan with lust, you grip down tightly and force her to the floo
 		<<set $activeSlave.fetishStrength = 20>>
 	<</if>>
 	<<if isPlayerFertile($PC)>>
-		<<KnockMeUp $PC 100 0 $activeSlave.ID>>
+		<<= knockMeUp($PC, 100, 0, $activeSlave.ID)>>
 		You groan as you rub your belly. You were fertile and are now likely @@.lime;quite pregnant.@@
 	<</if>>
 	<span id="result2">
diff --git a/src/pregmod/pRaped.tw b/src/pregmod/pRaped.tw
index 2eb32e8b27081f190f2199bf08da28bcbf4b2214..d81735acd6036a86d59489ac231c2572fac5b51b 100644
--- a/src/pregmod/pRaped.tw
+++ b/src/pregmod/pRaped.tw
@@ -109,7 +109,7 @@ While returning from a meeting with a prospective investor, an unfortunate wrong
 <br><br>
 You can feel the head of his cock teasing your pussy lips; you hope it feels bigger than it really is. As he struggles to force it into you, you regret thinking about it. He must have undergone surgery or something because he fills you completely. You feel weak just from him sticking it in, you can't fathom what will happen once he starts thrusting. You soon find out as he wastes no time starting slow. He violently rams his oversized cock deep into you, threatening to penetrate your cervix with each thrust. He quickens his pace, fucking you like a beast.<<if $PC.preg < 1>><<if random(1,100) > 60>> His hand rises to your lips and forces something into your mouth. "Swallow it." You obey, hoping to just get this over with.<<set $PC.forcedFertDrugs += 3>><</if>> With one final thrust, he forces through your battered cervix and unloads in the depths of your <<if isPlayerFertile($PC)>>fertile <</if>>womb<<else>> With one final thrust, he forces it in as deep as he can into you and blows his seed deep in your aching cunt<</if>>. <<if $PC.preg >= 20 || $PC.belly >= 5000>>"Now your child will know what a real man's sperm is like!" <</if>>He shoves you to the ground, pussy gaping from the size of his shaft and leaking his huge load all over yourself. By the time you loosen your bindings, he is long gone.
 <br><br>
-It would be prudent to up security in your arcology. That or take a guard along when you leave the penthouse. Such a thing, happening to you. You can't allow such an indignity to happen again, you think to yourself, as you try to coax his sperm from your abused pussy.<<if isPlayerFertile($PC)>> For some reason your body feels really satisfied, despite not climaxing... Is this what it feels like to be bred by someone so dominant? You should take a pregnancy test right away and make sure he didn't knock you up.<<KnockMeUp $PC 100 0 0 1>><</if>>
+It would be prudent to up security in your arcology. That or take a guard along when you leave the penthouse. Such a thing, happening to you. You can't allow such an indignity to happen again, you think to yourself, as you try to coax his sperm from your abused pussy.<<if isPlayerFertile($PC)>> For some reason your body feels really satisfied, despite not climaxing... Is this what it feels like to be bred by someone so dominant? You should take a pregnancy test right away and make sure he didn't knock you up.<<= knockMeUp($PC, 100, 0, 0, 1)>><</if>>
 
 <<else>>
 
diff --git a/src/pregmod/reMaleArcologyOwner.tw b/src/pregmod/reMaleArcologyOwner.tw
index fe711ada74036c689464cdef2d02f8677f75d007..2c09cee69af65118bb9a9bb3b4bc781d3db03b8b 100644
--- a/src/pregmod/reMaleArcologyOwner.tw
+++ b/src/pregmod/reMaleArcologyOwner.tw
@@ -21,7 +21,7 @@ He strikes a fine balance in conversation with you, firm enough to not overpower
 	<<replace "#result">>
 	You walk past him and out onto a balcony. He politely disengages himself and follows, meeting your gaze with a twinkle in his eye. You start talking of nothing of real consequence, but you find that you do have a fair amount to discuss and joke about, since there are oddities to your life that only another slaveowning arcology owner can really understand. You discover that he is very willing to share $PC.refreshment, and you break out some of your best. The party takes notice of your tete-a-tete, but his judgment was obviously correct. Rather than looking down on you, the other prominent guests seem respectfully envious of his access to you. This is still the case even when he starts to get flirty, leaning into you, brushing against you, and more. <<if $assistantName == "your personal assistant">>Your personal assistant<<else>>$assistantName<</if>> cleared your suite long ago, so when he finally nudges his hip against yours and does not take it away, you take him by the hand and lead him there. He stops you with a hand at the door to the suite and unbuttons his shirt, revealing a triathlete's tanned and sculpted body. As you begin to strip, he embraces you, whispering, "You have no idea how nice this is." It's clear it's been a long time since you've let someone else take the lead, and he sometimes has to snap wrestle you for dominance. He leaves a few hours later with a satisfied expression, giving you a deep kiss on his way out in full public view. @@.green;Your reputation has greatly improved.@@
 	<<if isPlayerFertile($PC)>>
-		<<KnockMeUp $PC 60 0 -4>>
+		<<= knockMeUp($PC, 60, 0, -4)>>
 	<</if>>
 	<<set $rep += 1000>>
 	<<set $desc = "a cologned thank-you note from a male arcology owner of your acquaintance">>
@@ -35,7 +35,7 @@ He strikes a fine balance in conversation with you, firm enough to not overpower
 	<<set $desc = "a flirtatious thank-you note from a male arcology owner of your acquaintance">>
 	<<set $trinkets.push($desc)>>
 	<<if isPlayerFertile($PC)>>
-		<<KnockMeUp $PC 60 0 -4>>
+		<<= knockMeUp($PC, 60, 0, -4)>>
 	<</if>>
 	<<set $rep += 1000>>
 	<</replace>>
diff --git a/src/pregmod/reMaleCitizenHookup.tw b/src/pregmod/reMaleCitizenHookup.tw
index 7a631fb877a81f6da6d2edcb72d25899db402df8..91a93c753628203dfa9c2b4b288c9e10b6c0e4c2 100644
--- a/src/pregmod/reMaleCitizenHookup.tw
+++ b/src/pregmod/reMaleCitizenHookup.tw
@@ -303,11 +303,11 @@ He's clearly attracted to you; even the most consummate actor would have difficu
 	<<if isPlayerFertile($PC)>>
 		<<switch _FS>>
 		<<case "Asset Expansionist" "Repopulationist">>
-			<<KnockMeUp $PC 100 0 -5>>
+			<<= knockMeUp($PC, 100, 0, -5)>>
 		<<case "Gender Fundamentalist" "Eugenics" "Paternalist" "Maturity Preferentialist" "Physical Idealist">>
-			<<KnockMeUp $PC 60 0 -5>>
+			<<= knockMeUp($PC, 60, 0, -5)>>
 		<<default>>
-			<<KnockMeUp $PC 40 0 -5>>
+			<<= knockMeUp($PC, 40, 0, -5)>>
 		<</switch>>
 	<</if>>
 	<<if _FS != "none">>
@@ -408,7 +408,7 @@ He's clearly attracted to you; even the most consummate actor would have difficu
 	<</switch>>
 	is obvious to everyone. The message is clear, and your guest of honor is the center of attention as you take him there in view of the arcology's leading citizens. Naturally, the story percolates, making it clear that there's nothing you won't do to @@.green;further acceptance of _FS principles.@@
 	<<if isPlayerFertile($PC)>>
-		<<KnockMeUp $PC 40 0 -5>>
+		<<= knockMeUp($PC, 40, 0, -5)>>
 	<</if>>
 	<</replace>>
 <</link>>
diff --git a/src/pregmod/seFCTVshows.tw b/src/pregmod/seFCTVshows.tw
index 5cac0d35f072ffb38aff53fe9bc99d8f6473a99a..893654e33877f55555ed01385efdfa451773aadb 100644
--- a/src/pregmod/seFCTVshows.tw
+++ b/src/pregmod/seFCTVshows.tw
@@ -986,7 +986,7 @@ The offered price is <<print cashFormat($slaveCost)>>.
 				<<set _fctvs = $slaveIndices[$Concubine.ID]>>
 				<<set $slaves[_fctvs].vaginalCount += 1, $vaginalTotal += 1>>
 				<<if $Concubine.eggType == "human" && canGetPregnant($Concubine)>>
-					<<KnockMeUp $slaves[_fctvs] 10 0 -1 1>>
+					<<= knockMeUp($slaves[_fctvs], 10, 0, -1, 1)>>
 				<</if>>
 			<<elseif $fuckSlaves > 0>>
 				grab the nearest slave watching with you, who is overjoyed to recreate the entire ending with you.
@@ -998,7 +998,7 @@ The offered price is <<print cashFormat($slaveCost)>>.
 			Stunned and soaking wet, you hurry to
 			<<if $Concubine != 0 && canPenetrate($Concubine) && isPlayerFertile($PC) && $Concubine.ballType == "human" && $Concubine.vasectomy == 0 && ($sexualOpeness == 1 || $Concubine.toyHole == "dick")>>
 				get $Concubine.slaveName nice and hard before recreating the entire ending with her. You've never had a more hope-filled orgasm.
-				<<KnockMeUp $PC 10 0 $Concubine.ID 1>>
+				<<= knockMeUp($PC, 10, 0, $Concubine.ID, 1)>>
 				<<set _fctvs = $slaveIndices[$Concubine.ID]>>
 				<<set $slaves[_fctvs].penetrativeCount += 1, $penetrativeTotal += 1>>
 			<<elseif $sexualOpeness == 1>>
diff --git a/src/pregmod/widgets/slaveSummaryWidgets.tw b/src/pregmod/widgets/slaveSummaryWidgets.tw
index 0d44465022795f0633466c212c456c2774889a25..14a34675a589e675827ab384a2176a72bb1a4e12 100644
--- a/src/pregmod/widgets/slaveSummaryWidgets.tw
+++ b/src/pregmod/widgets/slaveSummaryWidgets.tw
@@ -3187,12 +3187,8 @@ _Slave.faceShape face.
 <<if _Slave.useRulesAssistant == 0>>
 	@@.lightgreen;RA-Exempt@@
 <<elseif $abbreviateRulesets == 2 && (def _Slave.currentRules) && (_Slave.currentRules.length > 0)>>
-	<<for _s = 0; _s < $defaultRules.length; _s++>>
-		<<set _currentRule = $defaultRules[_s], _num = (_s+1)>>
-		<<if ruleApplied(_Slave, _currentRule.ID)>>
-			Rule _num (_currentRule.name).
-		<</if>>
-	<</for>>
+	Rules: 
+	<<= $defaultRules.filter(x => ruleApplied(_Slave, x)).map(x => x.name).join(" ") >>
 <</if>>
 
 <<if $abbreviateOrigins == 2 && _Slave.origin != 0>>
diff --git a/src/pregmod/widgets/slaveTradePresetWidgets.tw b/src/pregmod/widgets/slaveTradePresetWidgets.tw
index 6059db4f9c6306bd48feabfbf057588b64ae277c..c74c1333e26f920a142cdc3fa7066386102434ed 100644
--- a/src/pregmod/widgets/slaveTradePresetWidgets.tw
+++ b/src/pregmod/widgets/slaveTradePresetWidgets.tw
@@ -819,3 +819,45 @@
 	<<goto _gotoPassage>>
 <</link>>
 <</widget>>
+
+<<widget "NationalityPresetModMediterranean">>
+<<link Mediterranean>>
+    <<set $nationalities = {
+        Albanian: 29,
+        Algerian: 404,
+        Andorran: 1,
+        Bosnian: 35,
+        British: 1,
+        Bulgarian: 71,
+        Catalan: 75,
+        Croatian: 42,
+        Cypriot: 12,
+        Egyptian: 948,
+        French: 671,
+        Georgian: 49,
+        Greek: 108,
+        Israeli: 89,
+        Italy: 605,
+        Lebanese: 60,
+        Libyan: 63,
+        Maltese: 5,
+        Monégasque: 1,
+        Montenegrin: 7,
+        Moroccan: 358,
+        Palestinian: 18,
+        Portuguese: 102,
+        Romanian: 132,
+        Russian: 40,
+        Sammarinese: 1,
+        Slovene: 21,
+        Spanish: 466,
+        Syrian: 171,
+        Tunisian: 113,
+        Turkish: 808,
+        Ukrainian: 105,
+        Vatican: 1,
+        }>>
+    <<set _gotoPassage = passage()>>
+	<<goto _gotoPassage>>
+<</link>>
+<</widget>>
\ No newline at end of file
diff --git a/src/societies/aztec/slaveSacrifice.tw b/src/societies/aztec/slaveSacrifice.tw
index ebc0d47b2b208c336cf6f552d57e02277a475dee..a4dc6975517f03ce8a8f05ce366212345dfd68bd 100644
--- a/src/societies/aztec/slaveSacrifice.tw
+++ b/src/societies/aztec/slaveSacrifice.tw
@@ -98,7 +98,7 @@
 		<</if>>
 		<<if canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
 			Her lover tried her best to plant her seed deep within her. She's likely pregnant after last night.
-			<<KnockMeUp $activeSlave 70 2 0>>
+			<<= knockMeUp($activeSlave, 70, 2, 0)>>
 		<</if>>
 	<<elseif canDoVaginal($activeSlave)>>
 		<<set _randomVag = random(1,3)>>
@@ -110,7 +110,7 @@
 		<</if>>
 		<<if canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
 			Her lover tried her best to plant her seed deep within her. She's likely pregnant after last night.
-			<<KnockMeUp $activeSlave 70 0 0>>
+			<<= knockMeUp($activeSlave, 70, 0, 0)>>
 		<</if>>
 	<<elseif canDoAnal($activeSlave)>>
 		<<set _randomAnal = random(1,3)>>
@@ -122,7 +122,7 @@
 		<</if>>
 		<<if canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
 			Her lover tried her best to plant her seed deep within her. She's likely pregnant after last night.
-			<<KnockMeUp $activeSlave 70 1 0>>
+			<<= knockMeUp($activeSlave, 70, 1, 0)>>
 		<</if>>
 	<<else>>
 		<<set _randomOral = random(2,6)>>
diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
index c5c6985ff8466bb380f32de70580f12aa40bfab4..2b9f041ecadc9c2b3368cc2efccd093bdc9967c4 100644
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ b/src/uncategorized/BackwardsCompatibility.tw
@@ -2930,3 +2930,8 @@ Done!
 <<if $brothelAdsSpending > 0 && $brothel == 0>>
 	<<set $brothelAdsSpending = 0>>
 <</if>>
+
+<<run $defaultRules.filter(x => !([true, false, "no default setting"].includes(x.set.preg))).forEach(x => {
+	if (x.set.preg === -1) x.set.preg = true;
+	else x.set.preg = false;
+})>>
diff --git a/src/uncategorized/REFI.tw b/src/uncategorized/REFI.tw
index 721bf8fcaaf766c03b1cab81bc1b749fb971eafe..69e775df70f07794d11e37f3fc3977b7bc43f586 100644
--- a/src/uncategorized/REFI.tw
+++ b/src/uncategorized/REFI.tw
@@ -73,12 +73,12 @@
 <<if canDoAnal($slaves[_refi]) && $slaves[_refi].anus > 0>>
 	<<set $slaves[_refi].analCount++, $analTotal++>>
 	<<if $PC.dick == 1 && $slaves[_refi].eggType == "human" && canGetPregnant($slaves[_refi])>>
-		<<KnockMeUp $slaves[_refi] 5 1 -1 1>>
+		<<= knockMeUp($slaves[_refi], 5, 1, -1, 1)>>
 	<</if>>
 <<else>>
 	<<set $slaves[_refi].vaginalCount++, $vaginalTotal++>>
 	<<if $PC.dick == 1 && $slaves[_refi].eggType == "human" && canGetPregnant($slaves[_refi])>>
-		<<KnockMeUp $slaves[_refi] 5 0 -1 1>>
+		<<= knockMeUp($slaves[_refi], 5, 0, -1, 1)>>
 	<</if>>
 <</if>>
 
@@ -395,12 +395,12 @@ It seems she passed by while you were drinking from $subSlave.slaveName and foun
 <<if canDoVaginal($slaves[_refi]) && ($slaves[_refi].vagina > 0)>>
 	<<set $slaves[_refi].vaginalCount++, $vaginalTotal++>>
 	<<if $PC.dick == 1 && $slaves[_refi].eggType == "human" && canGetPregnant($slaves[_refi])>>
-		<<KnockMeUp $slaves[_refi] 5 0 -1 1>>
+		<<= knockMeUp($slaves[_refi], 5, 0, -1, 1)>>
 	<</if>>
 <<else>>
 	<<set $slaves[_refi].analCount++, $analTotal++>>
 	<<if $PC.dick == 1 && $slaves[_refi].eggType == "human" && canGetPregnant($slaves[_refi])>>
-		<<KnockMeUp $slaves[_refi] 5 1 -1 1>>
+		<<= knockMeUp($slaves[_refi], 5, 1, -1, 1)>>
 	<</if>>
 <</if>>
 <<set $subSlave = $slaves[_refi]>>
@@ -461,7 +461,7 @@ It seems she passed by while you were dominating $subSlave.slaveName. <<if $acti
 
 <<set _refi = $slaveIndices[$buttslutID]>>
 <<if $PC.dick == 1 && $slaves[_refi].eggType == "human" && canGetPregnant($slaves[_refi])>>
-	<<KnockMeUp $slaves[_refi] 5 1 -1 1>>
+	<<= knockMeUp($slaves[_refi], 5, 1, -1, 1)>>
 <</if>>
 <<set $slaves[_refi].analCount++, $analTotal++>>
 <<set $subSlave = $slaves[_refi]>>
@@ -1021,7 +1021,7 @@ There was a glint of envy <<if canSee($activeSlave)>>in her eyes when she saw<<e
 		<<if $activeSlave.toyHole == "dick">>
 			You push her onto the couch, line yourself up with her throbbing erection, and ask if she wants to impregnate a girl. She's almost beside herself, shuddering at the titillation, but before she can answer, you tell her that getting to use her dick is a very special reward for very good slaves, and you might give it to her one day - but that she doesn't deserve it yet. With that, you tease the tip of her penis with your pussy; a clear mistake, as this sets her over the edge. She can only gasp wordlessly over having just accidentally came in her <<WrittenMaster>>, something you take full advantage of. You clearly inform her that you were fertile. //Were.// You continue to tease the blooming impregnation fetishist with descriptions of how hard it will be for you so heavily laden with child and how she had better plan on taking responsibility. She can't take it and releases another spurt of cum, this time onto herself; 
 			<<if isPlayerFertile($PC) && $activeSlave.ballType == "human" && $activeSlave.vasectomy == 0>>
-				<<KnockMeUp $PC 20 0 $activeSlave.ID 1>>
+				<<= knockMeUp($PC, 20, 0, $activeSlave.ID, 1)>>
 				you aren't taking more chances with her.
 			<<else>>
 				you can't actually get pregnant right now, but she doesn't need to know that.
diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw
index d5eacfe332ae8f16b162a1cbd17663cee47be522..799c1408ac5f57c9ce8a8d21c2e282328f3b9f8d 100644
--- a/src/uncategorized/RESS.tw
+++ b/src/uncategorized/RESS.tw
@@ -4354,7 +4354,7 @@ May I plea<<s>>e try out <<s>>omething <<s>>kimpier today?"
 	<</if>>
 	<<set $activeSlave.devotion += 10, $activeSlave.trust += 20, $activeSlave.penetrativeCount++, $penetrativeTotal++>>
 	<<if isPlayerFertile($PC) && $activeSlave.ballType == "human" && $activeSlave.vasectomy != 1>>
-		<<KnockMeUp $PC 60 0 $activeSlave.ID>>
+		<<= knockMeUp($PC, 60, 0, $activeSlave.ID)>>
 	<</if>>
 	<</replace>>
 <</link>>//This option will use your cunt//
@@ -4436,7 +4436,7 @@ May I plea<<s>>e try out <<s>>omething <<s>>kimpier today?"
 		<<set $activeSlave.vaginalCount++>>
 		<<set $vaginalTotal++>>
 		<<if $PC.dick == 1 && $activeSlave.eggType == "human" && canGetPregnant($activeSlave)>>
-			<<KnockMeUp $activeSlave 5 0 -1 1>>
+			<<= knockMeUp($activeSlave, 5, 0, -1, 1)>>
 		<</if>>
 	<<elseif canDoAnal($activeSlave)>>
 		force her ass into the air.
@@ -4449,7 +4449,7 @@ May I plea<<s>>e try out <<s>>omething <<s>>kimpier today?"
 		<</if>>
 		She doesn't move from this position and barely reacts to your prodding; it seems her mind was still fragile, she'll likely be back to her usual blank self when you awake.
 		<<if $PC.dick == 1 && $activeSlave.eggType == "human" && canGetPregnant($activeSlave)>>
-			<<KnockMeUp $activeSlave 5 1 -1 1>>
+			<<= knockMeUp($activeSlave, 5, 1, -1, 1)>>
 		<</if>>
 		<<set $activeSlave.analCount++>>
 		<<set $analTotal++>>
@@ -4661,7 +4661,7 @@ May I plea<<s>>e try out <<s>>omething <<s>>kimpier today?"
 		dick in without a second thought. You make sure to clamp down as hard as possible so the experience is not all that pleasant for her, but she continues to thrust in a daze.
 		<<if $activeSlave.balls > 0 && $activeSlave.vasectomy == 0 && $activeSlave.ballType == "human" && isPlayerFertile($PC)>>
 			You make one last plea for her not to cum inside, it's a danger day. If anything, it only encourages her to thrust deeper before painting the insides of your pussy with her load.
-			<<KnockMeUp $PC 100 0 $activeSlave.ID>>
+			<<= knockMeUp($PC, 100, 0, $activeSlave.ID)>>
 		<</if>>
 		Once spent, she shoves you to the ground and crashes into your office chair. The moment she lets down her guard, you slam the heaviest object you can find into her head. Now that you have her controlled, it's time she learned her place; when she wakes up, of course. It's more fun that way.
 		<<set $mutinery = 2>>
@@ -4909,7 +4909,7 @@ May I plea<<s>>e try out <<s>>omething <<s>>kimpier today?"
 			You struggle underneath her grip and manage to wriggle your arms free. You push at the amorous bull and attempt to lift the heavy girl off you. $activeSlave.slaveName takes this poorly and rams her gigantic dick straight into your vagina and through your cervix. You pass out from the pain.
 			<br><br>
 			You awaken some time later, your crotch extremely sore and your belly slightly bloated. Most of her deposit has flowed back out of you, but you still feel a fair amount sloshing inside you. You sigh to yourself, knowing you have nobody to blame but yourself for this. She's a breeding bull and you a fertile woman. She only did what she was conditioned for; the fault is on you for ignoring the warning signs and not taking the proper precautions. Still, there is no doubt in your mind that @@.lime;you're pregnant@@ with her child.
-			<<KnockMeUp $PC 100 0 $activeSlave.ID 1>>
+			<<= knockMeUp($PC, 100, 0, $activeSlave.ID, 1)>>
 			<<set $activeSlave.penetrativeCount += 4, $penetrativeTotal += 4>>
 		<</if>>
 	<</replace>>
@@ -4920,7 +4920,7 @@ May I plea<<s>>e try out <<s>>omething <<s>>kimpier today?"
 		She is far stronger than you expected and has you trapped in a compromising position. You've seen $activeSlave.slaveName fuck before; she's a quick shot, only in it to get her mate pregnant. She cums so hard she nearly blacks out; that will be your best chance to escape her. You question your choice as her gigantic dick pokes at your crotch, eager to find the egg at the end of the tunnel. She lacks even the basic understanding of foreplay, you realize, as she drives her cock deep into your pussy. You groan with pain at the sheer size of the rod stretching out your poor hole and struggle to hold back the tears once she starts thrusting. There is no pleasure for you here as she batters your cervix; should she force through it, you may not be able to throw her off. With a loud grunt, she does just that. She may be deep seated now, but you aren't going to give up. You feel her tense up; now's your chance! As she climaxes, you slip a leg around her side and push her with all your might. She flops over, pulling out as she spurts her massive load and nailing you right in the face. You spit the jism out of your mouth and quickly restrain the dribbling bull.
 		<br><br>
 		Panting, you look over the damage: Your pussy is gaping, there is semen everywhere, and given the steady flow from you, she likely got some of that ejaculation in you. You sigh to yourself, knowing you have nobody to blame but yourself for this. She's a breeding bull and you, a fertile woman. She only did what she was conditioned for; the blame is on you for ignoring the warning signs and not taking the proper precautions. Still, she knew you were fertile and went right for the prize; it would be wise to assume you've been impregnated.
-		<<KnockMeUp $PC 20 0 $activeSlave.ID 1>>
+		<<= knockMeUp($PC, 20, 0, $activeSlave.ID, 1)>>
 		<<set $activeSlave.penetrativeCount++, $penetrativeTotal++>>
 	<</replace>>
 <</link>>
@@ -4937,7 +4937,7 @@ May I plea<<s>>e try out <<s>>omething <<s>>kimpier today?"
 			<<set $slaves[_c].health -= 40, $slaves[_c].trust -= 5>>
 		<<else>>
 			and cums directly into your exposed womb. She backs off, possibly startled by the shouting, giving you the chance to slip away to safety. You sigh to yourself, knowing you have nobody to blame but yourself for this. She's a breeding bull and you a fertile woman. She only did what she was conditioned for; the fault is on you for ignoring the warning signs and not taking the proper precautions. Still, she knew you were fertile and went right for the prize; it would be wise to assume she's done her job well.
-			<<KnockMeUp $PC 50 0 $activeSlave.ID>>
+			<<= knockMeUp($PC, 50, 0, $activeSlave.ID)>>
 			<<set $activeSlave.penetrativeCount++, $penetrativeTotal++>>
 		<</if>>
 	<</replace>>
@@ -4969,7 +4969,7 @@ May I plea<<s>>e try out <<s>>omething <<s>>kimpier today?"
 		<<else>>
 			to $activeSlave.slaveName snoring beside you, her massive cock soft and slightly drooling cum. Most of her deposit has flowed back out of you, but you're still heavy with sperm. You sigh to yourself, knowing you have nobody to blame but yourself for this. She's a breeding bull and you a fertile woman. She only did what she was conditioned for; the fault is on you for ignoring the warning signs and not taking the proper precautions. Still, there is no doubt in your mind that @@.lime;you're pregnant@@ with her child.
 		<</if>>
-		<<KnockMeUp $PC 100 0 $activeSlave.ID 1>>
+		<<= knockMeUp($PC, 100, 0, $activeSlave.ID, 1)>>
 		<<set $activeSlave.penetrativeCount += 4, $penetrativeTotal += 4>>
 	<</replace>>
 <</link>>
@@ -5529,7 +5529,7 @@ May I plea<<s>>e try out <<s>>omething <<s>>kimpier today?"
 		"my cock i<<s>> getting <<s>>unburnt! Plea<<s>>e, <<Master>>, help me find <<s>>omepla<<c>>e to hide it!" She wiggles her pelvis around to make herself bounce enticingly, and then giggles happily as you get on top of her and slip her sun-warmed dick deep into your <<if $PC.vagina == 1>>pussy<<else>>asshole<</if>><<if $PC.dick == 1>>, shuddering with delight at the warmth tickling your prostate<</if>>.
 		<<set $activeSlave.penetrativeCount++, $penetrativeTotal++>>
 		<<if isPlayerFertile($PC) && $activeSlave.ballType == "human" && $activeSlave.vasectomy == 0>>
-			<<KnockMeUp $PC 20 0 $activeSlave.ID>>
+			<<= knockMeUp($PC, 20, 0, $activeSlave.ID)>>
 		<</if>>
 	<<elseif ($activeSlave.vagina <= 0)>>
 		"my butt i<<s>> getting <<s>>unburnt! Plea<<s>>e, <<Master>>, help me!" She rolls over and spreads her buttocks, begging you to cover her up. She moans as she feels <<if $PC.dick == 1>>your cockhead<<else>>a strap-on<</if>> penetrate her asshole, her sun-warmed buttocks clenching wonderfully against your crotch.
@@ -6384,11 +6384,11 @@ May I plea<<s>>e try out <<s>>omething <<s>>kimpier today?"
 			<<set $penetrativeTotal++, _totalFuckers++>>
 			<<if canImpreg($activeSlave, $slaves[_RESS])>>
 				<<if canDoAnal($activeSlave) && canDoVaginal($activeSlave)>>
-					<<KnockMeUp $activeSlave 5 2 $slaves[_RESS].ID>>
+					<<= knockMeUp($activeSlave, 5, 2, $slaves[_RESS].ID)>>
 				<<elseif canDoVaginal($activeSlave)>>
-					<<KnockMeUp $activeSlave 5 0 $slaves[_RESS].ID>>
+					<<= knockMeUp($activeSlave, 5, 0, $slaves[_RESS].ID)>>
 				<<elseif canDoAnal($activeSlave)>>
-					<<KnockMeUp $activeSlave 5 1 $slaves[_RESS].ID>>
+					<<= knockMeUp($activeSlave, 5, 1, $slaves[_RESS].ID)>>
 				<</if>>
 			<</if>>
 		<</if>>
@@ -6858,7 +6858,7 @@ May I plea<<s>>e try out <<s>>omething <<s>>kimpier today?"
 	<</if>>
 	<<set $activeSlave.trust += 4, $activeSlave.penetrativeCount++, $penetrativeTotal++>>
 	<<if isPlayerFertile($PC) && $activeSlave.ballType == "human" && $activeSlave.vasectomy == 0>>
-		<<KnockMeUp $PC 20 0 $activeSlave.ID>>
+		<<= knockMeUp($PC, 20, 0, $activeSlave.ID)>>
 	<</if>>
 	<</replace>>
 <</link>> //This option will penetrate you//
@@ -7046,7 +7046,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 				<<set $activeSlave.trust -= 5, $activeSlave.devotion -= 5, $activeSlave.anus++>>
 			<</if>>
 			<<if canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-				<<KnockMeUp $activeSlave 25 2 -2 1>>
+				<<= knockMeUp($activeSlave, 25, 2, -2, 1)>>
 			<</if>>
 		<<else>>
 			<<if $activeSlave.vagina == 0>>
@@ -7054,7 +7054,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 				<<set $activeSlave.trust -= 5, $activeSlave.devotion -= 5, $activeSlave.vagina++>>
 			<</if>>
 			<<if canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-				<<KnockMeUp $activeSlave 25 0 -2 1>>
+				<<= knockMeUp($activeSlave, 25, 0, -2, 1)>>
 			<</if>>
 		<</if>>
 	<<elseif canDoAnal($activeSlave)>>
@@ -7063,7 +7063,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 			After the patrons have their way with her, @@.lime;she's certainly no longer an anal virgin.@@ She @@.mediumorchid;hates@@ losing her anal virginity in such an indignified manner and @@.gold;fears@@ what will be taken from her next.
 			<<set $activeSlave.trust -= 5, $activeSlave.devotion -= 5, $activeSlave.anus++>>
 			<<if canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-				<<KnockMeUp $activeSlave 50 1 -2 1>>
+				<<= knockMeUp($activeSlave, 50, 1, -2, 1)>>
 			<</if>>
 		<</if>>
 	<</if>>
@@ -7367,7 +7367,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 		<</if>>
 		<<set $activeSlave.vagina++, $activeSlave.anus++, $activeSlave.vaginalCount += 10, $vaginalTotal += 10, $activeSlave.analCount += 10, $analTotal += 10>>
 		<<if $activeSlave.eggType == "human" && canGetPregnant($activeSlave)>>
-			<<KnockMeUp $activeSlave 25 2 -2>>
+			<<= knockMeUp($activeSlave, 25, 2, -2)>>
 		<</if>>
 	<<elseif canDoAnal($activeSlave)>>
 		<<if $activeSlave.anus == 0>>
@@ -7375,7 +7375,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 		<</if>>
 		<<set $activeSlave.anus++, $activeSlave.analCount += 20, $analTotal += 20>>
 		<<if $activeSlave.eggType == "human" && canGetPregnant($activeSlave)>>
-			<<KnockMeUp $activeSlave 50 1 -2>>
+			<<= knockMeUp($activeSlave, 50, 1, -2)>>
 		<</if>>
 	<<else>>
 		<<if $activeSlave.vagina == 0>>
@@ -7383,7 +7383,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 		<</if>>
 		<<set $activeSlave.vagina++, $activeSlave.vaginalCount += 20, $vaginalTotal += 20>>
 		<<if $activeSlave.eggType == "human" && canGetPregnant($activeSlave)>>
-			<<KnockMeUp $activeSlave 50 0 -2>>
+			<<= knockMeUp($activeSlave, 50, 0, -2)>>
 		<</if>>
 	<</if>>
 	<<set $activeSlave.devotion += 4, $activeSlave.publicCount += 20>>
@@ -7441,17 +7441,17 @@ You tell her kindly that you understand, and that she'll be trained to address t
 	<<if canDoVaginal($activeSlave) && canDoAnal($activeSlave)>>
 		<<set $activeSlave.vaginalCount += 10, $vaginalTotal += 10, $activeSlave.analCount += 10, $analTotal += 10>>
 		<<if $activeSlave.eggType == "human" && canGetPregnant($activeSlave)>>
-			<<KnockMeUp $activeSlave 25 2 -2>>
+			<<= knockMeUp($activeSlave, 25, 2, -2)>>
 		<</if>>
 	<<elseif canDoVaginal($activeSlave)>>
 		<<set $activeSlave.vaginalCount += 20, $vaginalTotal += 20>>
 		<<if $activeSlave.eggType == "human" && canGetPregnant($activeSlave)>>
-			<<KnockMeUp $activeSlave 50 0 -2>>
+			<<= knockMeUp($activeSlave, 50, 0, -2)>>
 		<</if>>
 	<<else>>
 		<<set $activeSlave.analCount += 20, $analTotal += 20>>
 		<<if $activeSlave.eggType == "human" && canGetPregnant($activeSlave)>>
-			<<KnockMeUp $activeSlave 50 1 -2>>
+			<<= knockMeUp($activeSlave, 50, 1, -2)>>
 		<</if>>
 	<</if>>
 	<</replace>>
@@ -7532,7 +7532,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 		<</if>>
 		<<set $activeSlave.vagina++, $activeSlave.anus++, $activeSlave.publicCount += 10, $activeSlave.vaginalCount += 5, $vaginalTotal += 5, $activeSlave.analCount += 5, $analTotal += 5>>
 		<<if $activeSlave.eggType == "human" && canGetPregnant($activeSlave)>>
-			<<KnockMeUp $activeSlave 10 2 -2>>
+			<<= knockMeUp($activeSlave, 10, 2, -2)>>
 		<</if>>
 	<<elseif canDoAnal($activeSlave)>>
 		<<if $activeSlave.anus == 0>>
@@ -7540,7 +7540,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 		<</if>>
 		<<set $activeSlave.anus++, $activeSlave.publicCount += 10, $activeSlave.analCount += 10, $analTotal += 10>>
 		<<if $activeSlave.eggType == "human" && canGetPregnant($activeSlave)>>
-			<<KnockMeUp $activeSlave 25 1 -2>>
+			<<= knockMeUp($activeSlave, 25, 1, -2)>>
 		<</if>>
 	<<else>>
 		<<if $activeSlave.vagina == 0>>
@@ -7548,7 +7548,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 		<</if>>
 		<<set $activeSlave.vagina++, $activeSlave.publicCount += 10, $activeSlave.vaginalCount += 10, $vaginalTotal += 10>>
 		<<if $activeSlave.eggType == "human" && canGetPregnant($activeSlave)>>
-			<<KnockMeUp $activeSlave 25 0 -2>>
+			<<= knockMeUp($activeSlave, 25, 0, -2)>>
 		<</if>>
 	<</if>>
 	<<set $rep += 500>>
@@ -7711,10 +7711,10 @@ You tell her kindly that you understand, and that she'll be trained to address t
 	<<set $activeSlave.devotion += 4, $activeSlave.analCount += 2, $analTotal += 2>>
 	<<set $HeadGirl.devotion += 4, $HeadGirl.penetrativeCount++, $penetrativeTotal++>>
 	<<if $PC.dick == 1 && $activeSlave.eggType == "human" && canGetPregnant($activeSlave)>>
-		<<KnockMeUp $activeSlave 5 0 -1 1>>
+		<<= knockMeUp($activeSlave, 5, 0, -1, 1)>>
 	<</if>>
 	<<if canImpreg($activeSlave, $HeadGirl)>>
-		<<KnockMeUp $activeSlave 5 0 $HeadGirl.ID 1>>
+		<<= knockMeUp($activeSlave, 5, 0, $HeadGirl.ID, 1)>>
 	<</if>>
 	<<set $slaves[$slaveIndices[$HeadGirl.ID]] = $HeadGirl>>
 	<</replace>>
@@ -7764,7 +7764,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 			<</if>>
 			<<set $activeSlave.vaginalCount++, $vaginalTotal++, $activeSlave.analCount++, $analTotal++, $activeSlave.oralCount++, $oralTotal++>>
 			<<if $activeSlave.eggType == "human" && canGetPregnant($activeSlave)>>
-				<<KnockMeUp $activeSlave 10 2 -1>>
+				<<= knockMeUp($activeSlave, 10, 2, -1)>>
 			<</if>>
 		<<elseif canDoAnal($activeSlave)>>
 			<<if $activeSlave.anus == 0>>
@@ -7773,7 +7773,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 			<</if>>
 			<<set $activeSlave.analCount++, $analTotal++, $activeSlave.oralCount++, $oralTotal++>>
 			<<if $activeSlave.eggType == "human" && canGetPregnant($activeSlave)>>
-				<<KnockMeUp $activeSlave 15 1 -1>>
+				<<= knockMeUp($activeSlave, 15, 1, -1)>>
 			<</if>>
 		<<else>>
 			<<if $activeSlave.vagina == 0>>
@@ -7782,7 +7782,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 			<</if>>
 			<<set $activeSlave.vaginalCount++, $vaginalTotal++, $activeSlave.oralCount++, $oralTotal++>>
 			<<if $activeSlave.eggType == "human" && canGetPregnant($activeSlave)>>
-				<<KnockMeUp $activeSlave 15 0 -1>>
+				<<= knockMeUp($activeSlave, 15, 0, -1)>>
 			<</if>>
 		<</if>>
 		<<set $activeSlave.devotion += 10>>
@@ -8218,22 +8218,22 @@ You tell her kindly that you understand, and that she'll be trained to address t
 	<<if _didAnal == 1>>
 		<<set $activeSlave.analCount++, $activeSlave.anus++, $analTotal++>>
 		<<if canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-			<<KnockMeUp $activeSlave 10 1 -2>>
+			<<= knockMeUp($activeSlave, 10, 1, -2)>>
 		<</if>>
 	<<elseif _didVaginal == 1>>
 		<<set $activeSlave.vaginalCount++, $activeSlave.vagina++, $vaginalTotal++>>
 		<<if canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-			<<KnockMeUp $activeSlave 10 0 -2>>
+			<<= knockMeUp($activeSlave, 10, 0, -2)>>
 		<</if>>
 	<<elseif canDoVaginal($activeSlave)>>
 		<<set $activeSlave.vaginalCount++, $vaginalTotal++>>
 		<<if canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-			<<KnockMeUp $activeSlave 10 0 -2>>
+			<<= knockMeUp($activeSlave, 10, 0, -2)>>
 		<</if>>
 	<<elseif canDoAnal($activeSlave)>>
 		<<set $activeSlave.analCount++, $analTotal++>>
 		<<if canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-			<<KnockMeUp $activeSlave 10 1 -2>>
+			<<= knockMeUp($activeSlave, 10, 1, -2)>>
 		<</if>>
 	<<else>>
 		<<set $activeSlave.oralCount++, $oralTotal++>>
@@ -8853,7 +8853,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 	<<set $activeSlave.devotion += 10, $activeSlave.vaginalCount++, $activeSlave.vagina = 1, $vaginalTotal++>>
 	<<if ["chastity belt", "combined chastity"].includes($activeSlave.vaginalAccessory)>><<set $activeSlave.vaginalAccessory = "none">><</if>>
 	<<if $PC.dick == 1 && $activeSlave.eggType == "human" && canGetPregnant($activeSlave)>>
-		<<KnockMeUp $activeSlave 25 0 -1>>
+		<<= knockMeUp($activeSlave, 25, 0, -1)>>
 	<</if>>
 	<</replace>>
 <</link>><<if ["chastity belt", "combined chastity"].includes($activeSlave.vaginalAccessory)>> //This option will remove her chastity belt//<</if>>
@@ -9084,7 +9084,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 	<<else>>
 		<<set $activeSlave.vaginalCount++, $vaginalTotal++>>
 	<</if>>
-	<<KnockMeUp $activeSlave 50 2 -1 1>>
+	<<= knockMeUp($activeSlave, 50, 2, -1, 1)>>
 	<</replace>>
 <</link>>
 <<if $activeSlave.mpreg == 0>>
@@ -9117,7 +9117,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 		seed.
 	<</if>>
 	<<set $activeSlave.devotion += 4, $activeSlave.analCount++, $analTotal++, $activeSlave.vaginalCount++, $vaginalTotal++>>
-	<<KnockMeUp $activeSlave 50 0 -1 1>>
+	<<= knockMeUp($activeSlave, 50, 0, -1, 1)>>
 	<</replace>>
 <</link>>
 <br><<link "Sneak it into her ass instead">>
@@ -9190,7 +9190,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 	<<set _cumSlaves = $slaves.filter(function(s) { return (s.assignment == "get milked" || s.assignment == "work in the dairy") && s.balls > 0 && s.ballType == "human"; })>>
 	<<if _cumSlaves.length > 0>>
 		<<set _cumSlave = _cumSlaves.random()>>
-		<<KnockMeUp $activeSlave 90 2 _cumSlave.ID 1>>
+		<<= knockMeUp($activeSlave, 90, 2, _cumSlave.ID, 1)>>
 	<</if>>
 	<</replace>>
   <</link>>
@@ -9373,7 +9373,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 	<</if>>
 	<<set $activeSlave.devotion += 3, $activeSlave.trust += 3, $activeSlave.vagina = 1, $activeSlave.vaginalCount++, $vaginalTotal++>>
 	<<if $PC.dick == 1 && $activeSlave.eggType == "human" && isFertile($activeSlave) && $activeSlave.preg == 0>>
-		<<KnockMeUp $activeSlave 15 0 -1>>
+		<<= knockMeUp($activeSlave, 15, 0, -1)>>
 	<</if>>
 	<</replace>>
 <</link>>
@@ -9387,7 +9387,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 	<</if>>
 	<<set $activeSlave.trust -= 5, $activeSlave.vagina = 1, $activeSlave.vaginalCount++, $vaginalTotal++>>
 	<<if $PC.dick == 1 && $activeSlave.eggType == "human" && isFertile($activeSlave) && $activeSlave.preg == 0>>
-		<<KnockMeUp $activeSlave 25 0 -1>>
+		<<= knockMeUp($activeSlave, 25, 0, -1)>>
 	<</if>>
 	<</replace>>
 <</link>>
@@ -9426,7 +9426,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 	<</if>>
 	<<set $activeSlave.devotion += 3, $activeSlave.trust += 3, $activeSlave.anus = 1, $activeSlave.analCount++, $analTotal++>>
 	<<if $PC.dick == 1 && $activeSlave.eggType == "human" && isFertile($activeSlave) && $activeSlave.preg == 0>>
-		<<KnockMeUp $activeSlave 15 1 -1>>
+		<<= knockMeUp($activeSlave, 15, 1, -1)>>
 	<</if>>
 	<</replace>>
 <</link>>
@@ -9440,7 +9440,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 	<</if>>
 	<<set $activeSlave.trust -= 5, $activeSlave.anus = 1, $activeSlave.analCount++, $analTotal++>>
 	<<if $PC.dick == 1 && $activeSlave.eggType == "human" && isFertile($activeSlave) && $activeSlave.preg == 0>>
-		<<KnockMeUp $activeSlave 25 1 -1>>
+		<<= knockMeUp($activeSlave, 25, 1, -1)>>
 	<</if>>
 	<</replace>>
 <</link>>
@@ -10942,18 +10942,18 @@ You tell her kindly that you understand, and that she'll be trained to address t
 		<<if canDoAnal($activeSlave)>>
 			<<set $activeSlave.vaginalCount += 10, $vaginalTotal += 10, $activeSlave.analCount += 10, $analTotal += 10, $activeSlave.oralTotal += 10, $oralTotal += 10>>
 			<<if canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-				<<KnockMeUp $activeSlave 10 2 -2>>
+				<<= knockMeUp($activeSlave, 10, 2, -2)>>
 			<</if>>
 		<<else>>
 			<<set $activeSlave.vaginalCount += 20, $vaginalTotal += 20, $activeSlave.oralTotal += 10, $oralTotal += 10>>
 			<<if canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-				<<KnockMeUp $activeSlave 25 0 -2>>
+				<<= knockMeUp($activeSlave, 25, 0, -2)>>
 			<</if>>
 		<</if>>
 	<<else>>
 		<<set $activeSlave.analCount += 20, $analTotal += 20, $activeSlave.oralTotal += 10, $oralTotal += 10>>
 		<<if canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-			<<KnockMeUp $activeSlave 20 1 -2>>
+			<<= knockMeUp($activeSlave, 20, 1, -2)>>
 		<</if>>
 	<</if>>
 	<<if $activeSlave.vagina == 0 && $activeSlave.anus == 0>>
@@ -10977,27 +10977,27 @@ You tell her kindly that you understand, and that she'll be trained to address t
 		<<if canDoAnal($activeSlave)>>
 			<<set $activeSlave.vaginalCount += 6, $vaginalTotal += 6, $activeSlave.analCount += 6, $analTotal += 6, $activeSlave.oralTotal += 6, $oralTotal += 6>>
 			<<if $PC.dick == 1 && $activeSlave.eggType == "human" && canGetPregnant($activeSlave)>>
-				<<KnockMeUp $activeSlave 5 2 -1>>
+				<<= knockMeUp($activeSlave, 5, 2, -1)>>
 			<</if>>
 			<<if canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-				<<KnockMeUp $activeSlave 10 2 -2>>
+				<<= knockMeUp($activeSlave, 10, 2, -2)>>
 			<</if>>
 		<<else>>
 			<<set $activeSlave.vaginalCount += 9, $vaginalTotal += 9, $activeSlave.oralTotal += 9, $oralTotal += 9>>
 			<<if $PC.dick == 1 && $activeSlave.eggType == "human" && canGetPregnant($activeSlave)>>
-				<<KnockMeUp $activeSlave 10 0 -1>>
+				<<= knockMeUp($activeSlave, 10, 0, -1)>>
 			<</if>>
 			<<if canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-				<<KnockMeUp $activeSlave 15 0 -2>>
+				<<= knockMeUp($activeSlave, 15, 0, -2)>>
 			<</if>>
 		<</if>>
 	<<else>>
 		<<set $activeSlave.analCount += 9, $analTotal += 9, $activeSlave.oralTotal += 9, $oralTotal += 9>>
 		<<if $PC.dick == 1 && $activeSlave.eggType == "human" && canGetPregnant($activeSlave)>>
-			<<KnockMeUp $activeSlave 5 1 -1>>
+			<<= knockMeUp($activeSlave, 5, 1, -1)>>
 		<</if>>
 		<<if canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-			<<KnockMeUp $activeSlave 10 1 -2>>
+			<<= knockMeUp($activeSlave, 10, 1, -2)>>
 		<</if>>
 	<</if>>
 	<<if $activeSlave.vagina == 0 && $activeSlave.anus == 0>>
@@ -11074,7 +11074,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 			<<set $activeSlave.vagina = 1>>
 		<</if>>
 		<<if canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-			<<KnockMeUp $activeSlave 10 0 -2>>
+			<<= knockMeUp($activeSlave, 10, 0, -2)>>
 		<</if>>
 	<<else>>
 		<<set $activeSlave.oralCount += 5, $oralTotal += 5, $activeSlave.publicCount += 5>>
@@ -11663,7 +11663,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 			<<if isPlayerFertile($PC)>>
 				"Plea<<s>>e, can I try to get you pregnant, <<Master>>?" Her eyes are glued to your middle. You could let her seed you, and you do, enjoying the feeling of her hot cum jetting into your fertile pussy.
 				<<if $activeSlave.ballType == "human" && $activeSlave.vasectomy == 0>>
-					<<KnockMeUp $PC 20 0 $activeSlave.ID>>
+					<<= knockMeUp($PC, 20, 0, $activeSlave.ID)>>
 				<</if>>
 			<<elseif $PC.belly >= 1500>>
 				"Plea<<s>>e, could I play with your pregnan<<c>>y while I fuck you, <<Master>>?" Her eyes are glued to your gravid middle. You could let your play with your pregnancy, and you do, enjoying her fondling as she fucks your pussy.
@@ -11700,7 +11700,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 			"Plea<<s>>e, could I bang you, <<Master>>?" She bounces on her heels, rock-hard and biting her lip with anticipation. You could let her fuck your brains out, and you do, enjoying playing the sub for once.
 			<<set $activeSlave.penetrativeCount++, $penetrativeTotal++>>
 			<<if isPlayerFertile($PC) && $activeSlave.ballType == "human" && $activeSlave.vasectomy == 0>>
-				<<KnockMeUp $PC 20 0 $activeSlave.ID>>
+				<<= knockMeUp($PC, 20, 0, $activeSlave.ID)>>
 			<</if>>
 		<<else>>
 			"Plea<<s>>e, would you fuck my brain<<s>> out, <<Master>>?" She bounces on her heels, biting her lip with anticipation. You could fuck her brains out, and you do, enjoying the dominant slave's constant sexual one-upsmanship.
@@ -11718,7 +11718,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 			<<if $PC.vagina == 1>>
 				pussy.
 				<<if isPlayerFertile($PC) && $activeSlave.ballType == "human" && $activeSlave.vasectomy == 0>>
-					<<KnockMeUp $PC 20 0 $activeSlave.ID>>
+					<<= knockMeUp($PC, 20, 0, $activeSlave.ID)>>
 				<</if>>
 			<<else>>
 				ass.
@@ -11732,7 +11732,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 			"Plea<<s>>e, would you rape me, <<Master>>?" Her eyes are hungry. You could rape her, and you do, throwing her across the couch and riding her through so many orgasms that she begs for mercy.
 			<<set $activeSlave.penetrativeCount++, $penetrativeTotal++>>
 			<<if isPlayerFertile($PC) && $activeSlave.ballType == "human" && $activeSlave.vasectomy == 0>>
-				<<KnockMeUp $PC 20 0 $activeSlave.ID>>
+				<<= knockMeUp($PC, 20, 0, $activeSlave.ID)>>
 			<</if>>
 		<<else>>
 			"Plea<<s>>e, would you rape me, <<Master>>?" Her eyes are hungry. You could rape her, and you do, throwing her across the couch and fucking her so hard she begs for mercy as she orgasms.
@@ -12524,7 +12524,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 			<br><br>
 			Over the week, you require her to repeat this sexually confusing performance daily. It's difficult, having to savor a compliant slave's penis every day, but you make the necessary sacrifice.
 			<<if isPlayerFertile($PC) && $activeSlave.ballType == "human" && $activeSlave.vasectomy == 0>>
-				<<KnockMeUp $PC 40 0 $activeSlave.ID>>
+				<<= knockMeUp($PC, 40, 0, $activeSlave.ID)>>
 			<</if>>
 		<<elseif $activeSlave.belly >= 150000>>
 			You walk forward, pressing her against the far wall, and then turn yourself around, pinning her against the wall with your butt, working your way under her _belly belly. As she hesitates, wondering what to do about this, you grab her hands and place them on your
@@ -12614,7 +12614,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 	"Oh <<Master>>, owner, protector, and father of my children, forgive my <<s>>in<<s>>, ju<<s>>t a<<s>> you forgave my <<s>>i<<s>>ter<<s>> in <<s>>lavery before me. Count not my tran<<s>>gre<<ss>>ion<<s>> again<<s>>t your rule<<s>>, but, rather, the tear<<s>> of my womb. Remember not my iniquitie<<s>> but my willingne<<ss>> to be bred by you. I long to <<s>>erve your <<if $PC.vagina == 1>>futa <</if>>dick, and beg that you will u<<s>>e me and ble<<ss>> my body with your off<<s>>pring. I promi<<s>>e to <<s>>ubmit to you a<<s>> your breeding <<s>>lut all the day<<s>> of my <<s>>ervitude, and to grow heavy with child, again and again."
 	She moans with relief when she feels you withdraw your penetrating digits partway through her recitation, but by the time she's finished, you've shoved your dick up her waiting <<if $activeSlave.mpreg == 1>>asshole<<else>>pussy<</if>> and are close so blessing her with a load of cum. She @@.hotpink;does her best@@ to relax and resumes, "Oh <<Master>>..."
 	<<if $activeSlave.mpreg == 1>><<AnalVCheck>><<else>><<VaginalVCheck>><</if>>
-	<<KnockMeUp $activeSlave 100 2 -1 1>>
+	<<= knockMeUp($activeSlave, 100, 2, -1, 1)>>
 	<<if ($activeSlave.fetish != "humiliation") && (random(1,100) > 50)>>
 		<<set $activeSlave.fetish = "humiliation", $activeSlave.fetishKnown = 1, $activeSlave.fetishStrength = 10>>
 		She has come to associate @@.lightcoral;humiliation@@ with sexual fulfillment.
@@ -12933,7 +12933,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 	She dominantly fucks you, her muscles flexing powerfully with every thrust. You're no slouch when it comes to muscles yourself, so when you feel her tense with orgasm you wrap your legs around her and hilt her deep inside you. This only encourages her to fuck you harder, quickly bring you to climax as well. She gently carries you to your couch, where she slides in behind you for a little post-coitus spooning. You definitely appreciate her gains after such a good fuck. @@.mediumaquamarine;Her confidence in her place has increased,@@ as has her @@.hotpink;love for you.@@
 	<<set $activeSlave.trust += 4, $activeSlave.devotion += 4, $activeSlave.penetrativeCount++, $penetrativeTotal++>>
 	<<if isPlayerFertile($PC) && $activeSlave.ballType == "human" && $activeSlave.vasectomy == 0>>
-		<<KnockMeUp $PC 50 0 $activeSlave.ID>>
+		<<= knockMeUp($PC, 50, 0, $activeSlave.ID)>>
 	<</if>>
 	<</replace>>
 <</link>> //This option will penetrate you//
@@ -14038,10 +14038,10 @@ You tell her kindly that you understand, and that she'll be trained to address t
 					<<set _virgins = 1, _anusOnly = 1>>
 					<<set $slaves[_ress].analCount += 2, $analTotal += 2>>
 					<<if $PC.dick == 1 && $slaves[_ress].eggType == "human" && canGetPregnant($slaves[_ress])>>
-						<<KnockMeUp $slaves[_ress] 5 1 -1 1>>
+						<<= knockMeUp($slaves[_ress], 5, 1, -1, 1)>>
 					<</if>>
 					<<if canImpreg($slaves[_ress])>>
-						<<KnockMeUp $slaves[_ress] 5 1 $activeSlave.ID 1>>
+						<<= knockMeUp($slaves[_ress], 5, 1, $activeSlave.ID, 1)>>
 					<</if>>
 					<<if ($slaves[_ress].anus == 1)>>
 						<<set $slaves[_ress].trust -= 2>>
@@ -14051,10 +14051,10 @@ You tell her kindly that you understand, and that she'll be trained to address t
 					<<set _virgins = 1, _pussyOnly = 1>>
 					<<set $slaves[_ress].vaginalCount += 2, $vaginalTotal += 2>>
 					<<if $PC.dick == 1 && $slaves[_ress].eggType == "human" && canGetPregnant($slaves[_ress])>>
-						<<KnockMeUp $slaves[_ress] 5 0 -1 1>>
+						<<= knockMeUp($slaves[_ress], 5, 0, -1, 1)>>
 					<</if>>
 					<<if canImpreg($slaves[_ress])>>
-						<<KnockMeUp $slaves[_ress] 5 0 $activeSlave.ID 1>>
+						<<= knockMeUp($slaves[_ress], 5, 0, $activeSlave.ID, 1)>>
 					<</if>>
 					<<if ($slaves[_ress].vagina == 1)>>
 						<<set $slaves[_ress].trust -= 2>>
@@ -14063,20 +14063,20 @@ You tell her kindly that you understand, and that she'll be trained to address t
 				<<else>>
 					<<set $slaves[_ress].vaginalCount++, $vaginalTotal++, $slaves[_ress].analCount++, $analTotal++>>
 					<<if $PC.dick == 1 && $slaves[_ress].eggType == "human" && canGetPregnant($slaves[_ress])>>
-						<<KnockMeUp $slaves[_ress] 5 2 -1 1>>
+						<<= knockMeUp($slaves[_ress], 5, 2, -1, 1)>>
 					<</if>>
 					<<if canImpreg($slaves[_ress])>>
-						<<KnockMeUp $slaves[_ress] 5 1 $activeSlave.ID 1>>
+						<<= knockMeUp($slaves[_ress], 5, 1, $activeSlave.ID, 1)>>
 					<</if>>
 				<</if>>
 			<<elseif canDoVaginal($slaves[_ress])>>
 				<<set _pussyOnly = 1>>
 				<<set $slaves[_ress].vaginalCount += 2, $vaginalTotal += 2>>
 				<<if $PC.dick == 1 && $slaves[_ress].eggType == "human" && canGetPregnant($slaves[_ress])>>
-					<<KnockMeUp $slaves[_ress] 5 0 -1 1>>
+					<<= knockMeUp($slaves[_ress], 5, 0, -1, 1)>>
 				<</if>>
 				<<if canImpreg($slaves[_ress])>>
-					<<KnockMeUp $slaves[_ress] 5 0 $activeSlave.ID 1>>
+					<<= knockMeUp($slaves[_ress], 5, 0, $activeSlave.ID, 1)>>
 				<</if>>
 				<<if ($slaves[_ress].vagina == 1)>>
 					<<set $slaves[_ress].trust -= 2>>
@@ -14086,10 +14086,10 @@ You tell her kindly that you understand, and that she'll be trained to address t
 				<<set _anusOnly = 1>>
 				<<set $slaves[_ress].analCount += 2, $analTotal += 2>>
 				<<if $PC.dick == 1 && $slaves[_ress].eggType == "human" && canGetPregnant($slaves[_ress])>>
-					<<KnockMeUp $slaves[_ress] 5 1 -1 1>>
+					<<= knockMeUp($slaves[_ress], 5, 1, -1, 1)>>
 				<</if>>
 				<<if canImpreg($slaves[_ress])>>
-					<<KnockMeUp $slaves[_ress] 5 1 $activeSlave.ID 1>>
+					<<= knockMeUp($slaves[_ress], 5, 1, $activeSlave.ID, 1)>>
 				<</if>>
 				<<if ($slaves[_ress].anus == 1)>>
 					<<set $slaves[_ress].trust -= 2>>
@@ -14148,7 +14148,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 		<<for _ress = _sourceSeed + 1; _ress != _sourceSeed; _ress++>>
 			<<if _ress == $slaves.length>><<set _ress = 0>><</if>> /* wrap around */
 			<<if canImpreg($activeSlave, $slaves[_ress]) && _targetJobs.includes($slaves[_ress].assignment) && $slaves[_ress].ID != $activeSlave.ID>>
-				<<KnockMeUp $activeSlave 50 1 $slaves[_ress].ID 1>>
+				<<= knockMeUp($activeSlave, 50, 1, $slaves[_ress].ID, 1)>>
 				<<break>>
 			<</if>>
 		<</for>>
@@ -14790,7 +14790,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 	<<if ($activeSlave.toyHole == "dick" || $sexualOpeness == 1) && canPenetrate($activeSlave)>>
 		<<set $activeSlave.penetrativeCount++, $penetrativeTotal++>>
 		<<if isPlayerFertile($PC) && $activeSlave.ballType == "human" && $activeSlave.vasectomy == 0>>
-			<<KnockMeUp $PC 20 0 $activeSlave.ID>>
+			<<= knockMeUp($PC, 20, 0, $activeSlave.ID)>>
 		<</if>>
 	<<elseif canDoVaginal($activeSlave)>>
 		<<VaginalVCheck>>
@@ -15695,14 +15695,14 @@ You tell her kindly that you understand, and that she'll be trained to address t
 		You maneuver the massive thing into your own <<if $PC.preg == 0 && $PC.vagina == 1>>pussy<<else>>asshole<</if>>, slide a finger in alongside the monstrous thing as she <<if $activeSlave.voice == 0>>moans with expectation<<else>>begs abjectly to unleash her<</if>>, and pop the elastic off. You get to watch her face as she floods your <<if $PC.preg == 0 && $PC.vagina == 1>>womanhood<<else>>bowels<</if>> with cum, your stomach taking on a distinctive swell as her pentup load empties into you.
 		<<set $activeSlave.penetrativeCount++, $penetrativeTotal++>>
 		<<if isPlayerFertile($PC) && $activeSlave.ballType == "human" && $activeSlave.vasectomy == 0>>
-			<<KnockMeUp $PC 50 0 $activeSlave.ID>>
+			<<= knockMeUp($PC, 50, 0, $activeSlave.ID)>>
 		<</if>>
 	<<else>>
 		You maneuver the massive thing inside the slave's own well-fucked <<if $activeSlave.vagina > -1>>pussy<<else>>asshole<</if>>, and then slide fingers in alongside the monstrous thing as she <<if $activeSlave.voice == 0>>cries desperately<<else>>begs abjectly for mercy<</if>>. Popping the elastic off, you get to watch her face as she floods her own <<if $activeSlave.vagina > -1>>womanhood<<else>>bowels<</if>> with cum.
 		<<if canDoVaginal($activeSlave)>>
 			<<set $activeSlave.vaginalCount++, $vaginalTotal++>>
 			<<if canGetPregnant($activeSlave) && canBreed($activeSlave, $activeSlave) && $activeSlave.vasectomy != 1>> /* can't miss the opportunity to knock herself up */
-				<<KnockMeUp $activeSlave 20 0 $activeSlave.ID 1>>
+				<<= knockMeUp($activeSlave, 20, 0, $activeSlave.ID, 1)>>
 			<</if>>
 		<<else>>
 			<<set $activeSlave.analCount++, $analTotal++>>
@@ -16976,7 +16976,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 	<<if $activeSlave.vagina > -1>>
 		<<set $activeSlave.vagina++, $activeSlave.vaginalCount += 20, $vaginalTotal += 20, $activeSlave.publicCount += 20>>
 	<</if>>
-	<<KnockMeUp $activeSlave 100 2 -2 1>>
+	<<= knockMeUp($activeSlave, 100, 2, -2, 1)>>
     <<set $cash -= $surgeryCost>>
     <<set $activeSlave.health -= 20>>
     <<if ($arcologies[0].FSSubjugationistRace == "white")>>
@@ -17626,7 +17626,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 		<</if>>
 		She <<if $activeSlave.voice > 0>>squeals<<else>>rasps<</if>> with displeasure as you roughly plow her into her distended breasts until you cum deep inside her fertile hole. You return to your desk, leaving her to sob into her unwelcome bust as cum pools from her abused <<if $activeSlave.mpreg == 1>>ass<<else>>pussy<</if>>. She knows full well what you meant now, and @@.hotpink;lets you have your way@@ with her body every time you catch her in a vulnerable moment or complaining about her tits. By the week's end, scans reveal that your seed has taken root; @@.lime;she's pregnant.@@ As her breasts grow to feed her coming child, she will likely be too distracted by her swelling middle to complain about their added weight.
 		<<set $activeSlave.trust -= 5, $activeSlave.devotion += 5>>
-		<<KnockMeUp $activeSlave 100 2 -1 1>>
+		<<= knockMeUp($activeSlave, 100, 2, -1, 1)>>
 	<</replace>>
 <</link>><<if $activeSlave.vagina == 0>> //This option will take virginity//<<elseif $activeSlave.anus == 0 && $activeSlave.mpreg == 1>> //This option will take anal virginity//<</if>>
 <</if>>
@@ -17705,7 +17705,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 				<<replace "#result2">>
 					Her ass is yours all over again. As soon as her newly tight rosebud has recovered enough, you visit her in the surgery, without even waiting for her to leave it. You flip her over on the recovery bed and force <<if $PC.dick == 1>>your cock<<else>>a strap-on<</if>> up her butt while she wriggles with eager discomfort, squealing in pretended horror. Her renewed anal virginity was very brief; her ass is once again @@.lime;broken in for penetration.@@ For her part, she @@.hotpink;thoroughly enjoyed losing her anal cherry,@@ again.
 					<<set $activeSlave.devotion += 5, $activeSlave.analCount++, $analTotal++, $activeSlave.anus = 1>>
-					<<KnockMeUp $activeSlave 5 1 -1 1>>
+					<<= knockMeUp($activeSlave, 5, 1, -1, 1)>>
 				<</replace>>
 			<</link>> //This option will take anal virginity//
 		</span>
@@ -17761,7 +17761,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 		<<set $activeSlave.devotion += 4>>
 		<<AnalVCheck 2>>
 		<<if canImpreg($activeSlave, $HeadGirl)>>
-			<<KnockMeUp $activeSlave 5 1 $HeadGirl.ID 1>>
+			<<= knockMeUp($activeSlave, 5, 1, $HeadGirl.ID, 1)>>
 		<</if>>
 		<<set $slaves[$slaveIndices[$HeadGirl.ID]].devotion += 4>>
 		<<EventFetish $activeSlave "buttslut">>
@@ -18218,7 +18218,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 					turns around and lovingly lowers her pussy onto you. <<if $PC.dick == 1>><<if $activeSlave.pregKnown == 1>>She's already pregnant, so this isn't a direct satisfaction of her impregnation fetish, but being fucked while pregnant is almost as good as far as she's concerned.<<elseif canGetPregnant($activeSlave)>>This might be the moment she gets pregnant, and she's quivering with anticipations.<<else>>She knows she isn't fertile, but she's good at fantasizing.<</if>><<else>>Your strap-on might not be able to impregnate anyone, but she's good at fantasizing.<</if>> She rides you hungrily,
 					<<VaginalVCheck>>
 					<<if canGetPregnant($activeSlave) && $PC.dick == 1 && $activeSlave.eggType == "human">>
-						<<KnockMeUp $activeSlave 40 0 -1>>
+						<<= knockMeUp($activeSlave, 40, 0, -1)>>
 					<</if>>
 				<<else>>
 					turns around and carefully perches herself on <<if $PC.dick == 1>>your cock<<else>>the phallus<</if>>, putting it between her thighs. She rides you caringly,
@@ -18947,7 +18947,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 		<</if>>
 	<</if>>
 	<<if $activeSlave.eggType == "human" && canGetPregnant($activeSlave)>>
-		<<KnockMeUp $activeSlave 15 2 0 1>>
+		<<= knockMeUp($activeSlave, 15, 2, 0, 1)>>
 	<</if>>
 	<<set $activeSlave.oralCount += 2, $oralTotal += 2, $cash += 2000>>
 	<<set $activeSlave.publicCount += 2>>
diff --git a/src/uncategorized/RETS.tw b/src/uncategorized/RETS.tw
index c7b89aae8929317517b13592b91fb55cc1af5c0a..e565a615f411781a4e39c07dd60a701929b7b5d4 100644
--- a/src/uncategorized/RETS.tw
+++ b/src/uncategorized/RETS.tw
@@ -416,7 +416,7 @@ You pass by the slave quarters during a busy time. Girls are hurrying back and f
 			<</if>>
 			<<set $subSlave.analCount++, $analTotal++>>
 			<<if canImpreg($subSlave, $activeSlave)>>
-				<<KnockMeUp $subSlave 5 1 $activeSlave.ID 1>>
+				<<= knockMeUp($subSlave, 5, 1, $activeSlave.ID, 1)>>
 			<</if>>
 		<<else>>
 			pushes $subSlave.slaveName's legs apart to rotate her hips, reaches down, and
@@ -427,7 +427,7 @@ You pass by the slave quarters during a busy time. Girls are hurrying back and f
 			<</if>>
 			<<set $subSlave.analCount++, $analTotal++>>
 			<<if canImpreg($subSlave, $activeSlave)>>
-				<<KnockMeUp $subSlave 5 1 $activeSlave.ID 1>>
+				<<= knockMeUp($subSlave, 5, 1, $activeSlave.ID, 1)>>
 			<</if>>
 		<</if>>
 	<<else>>
@@ -442,7 +442,7 @@ You pass by the slave quarters during a busy time. Girls are hurrying back and f
 			<</if>>
 			<<set $subSlave.vaginalCount++, $vaginalTotal++>>
 			<<if canImpreg($subSlave, $activeSlave)>>
-				<<KnockMeUp $subSlave 5 0 $activeSlave.ID 1>>
+				<<= knockMeUp($subSlave, 5, 0, $activeSlave.ID, 1)>>
 			<</if>>
 		<<else>>
 			reaches down
@@ -453,7 +453,7 @@ You pass by the slave quarters during a busy time. Girls are hurrying back and f
 			<</if>>
 			<<set $subSlave.vaginalCount++, $vaginalTotal++>>
 			<<if canImpreg($subSlave, $activeSlave)>>
-				<<KnockMeUp $subSlave 5 0 $activeSlave.ID 1>>
+				<<= knockMeUp($subSlave, 5, 0, $activeSlave.ID, 1)>>
 			<</if>>
 		<</if>>
 	<</if>>
@@ -630,7 +630,7 @@ $subSlave.slaveName has been a very good girl this week, so when her <<if $subSl
 $activeSlave.slaveName coughs and looks doubtful, like she's mulling over a question. You let the poor repressed girl chew on it for a while, and eventually she bursts out, "<<Master $activeSlave>>, what were you doing with $subSlave.slaveName?" The absurdity gives you a moment's pause, but you answer gamely that you were fucking her ass. $activeSlave.slaveName blushes furiously but plunges on, "I'm <<s>>-<<s>>orry, <<Master>>, but I <<s>>till don't under<<s>>tand. I thought <<s>>e<<x>> happened in a v-vagina. I d-didn't think b-butt<<s>> were - were for, you know, that."
 <<set $subSlave.analCount++, $analTotal++>>
 <<if $PC.dick == 1 && canGetPregnant($subSlave) && $subSlave.eggType == "human">>
-	<<KnockMeUp $subSlave 5 1 -1 1>>
+	<<= knockMeUp($subSlave, 5, 1, -1, 1)>>
 <</if>>
 <<set $slaves[$slaveIndices[$subSlave.ID]] = $subSlave>>
 
@@ -658,7 +658,7 @@ For her part, $activeSlave.slaveName is playing an utterly passive role. She eve
 				She can take her lover's modest cock easily.
 			<</if>>
 			<<if canImpreg($activeSlave, $subSlave)>>
-				<<KnockMeUp $activeSlave 10 1 $subSlave.ID 1>>
+				<<= knockMeUp($activeSlave, 10, 1, $subSlave.ID, 1)>>
 			<</if>>
 		<<else>>
 			Her lover is using a formidable phallus, but she was clearly fucked into a nice relaxed gape a while ago.
@@ -671,7 +671,7 @@ For her part, $activeSlave.slaveName is playing an utterly passive role. She eve
 				Her lover's little dick is well suited to her tight butt, and she's taking her anal pounding just fine.
 			<</if>>
 			<<if canImpreg($activeSlave, $subSlave)>>
-				<<KnockMeUp $activeSlave 10 1 $subSlave.ID 1>>
+				<<= knockMeUp($activeSlave, 10, 1, $subSlave.ID, 1)>>
 			<</if>>
 		<<else>>
 			Her lover is using a formidable phallus, but her tight ass has clearly been worked in gradually tonight, and she's taking it just fine.
@@ -688,7 +688,7 @@ For her part, $activeSlave.slaveName is playing an utterly passive role. She eve
 				She can take her lover's modest cock easily.
 			<</if>>
 			<<if canImpreg($activeSlave, $subSlave)>>
-				<<KnockMeUp $activeSlave 10 0 $subSlave.ID 1>>
+				<<= knockMeUp($activeSlave, 10, 0, $subSlave.ID, 1)>>
 			<</if>>
 		<<else>>
 			Her lover is using a formidable phallus, but she's relaxed and taking it easily.
@@ -701,7 +701,7 @@ For her part, $activeSlave.slaveName is playing an utterly passive role. She eve
 				Her lover's little dick is well suited to her tight little pussy, and she's taking her pounding just fine.
 			<</if>>
 			<<if canImpreg($activeSlave, $subSlave)>>
-				<<KnockMeUp $activeSlave 10 0 $subSlave.ID 1>>
+				<<= knockMeUp($activeSlave, 10, 0, $subSlave.ID, 1)>>
 			<</if>>
 		<<else>>
 			Her lover is using a formidable phallus, but her tight little pussy has clearly been worked in gradually tonight, and she's taking it just fine.
@@ -1061,10 +1061,10 @@ she adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 	<<set $analTotal += 4>>
 	<<if $PC.dick == 1>>
 		<<if canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-			<<KnockMeUp $activeSlave 5 1 -1 1>>
+			<<= knockMeUp($activeSlave, 5, 1, -1, 1)>>
 		<</if>>
 		<<if canGetPregnant($subSlave) && $subSlave.eggType == "human">>
-			<<KnockMeUp $subSlave 5 1 -1 1>>
+			<<= knockMeUp($subSlave, 5, 1, -1, 1)>>
 		<</if>>
 	<</if>>
 	<<set $slaves[$slaveIndices[$subSlave.ID]] = $subSlave>>
@@ -1153,7 +1153,7 @@ she adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 	<<set $activeSlave.penetrativeCount++>>
 	<<set $penetrativeTotal++>>
 	<<if canImpreg($subSlave, $activeSlave)>>
-		<<KnockMeUp $subSlave 5 1 $activeSlave.ID 1>>
+		<<= knockMeUp($subSlave, 5, 1, $activeSlave.ID, 1)>>
 	<</if>>
 	<<set $slaves[$slaveIndices[$subSlave.ID]] = $subSlave>>
 	<</replace>>
@@ -1168,26 +1168,26 @@ she adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 	<<if $subSlave.vagina > 0>>
 		With $activeSlave.slaveName occupying $subSlave.slaveName's rear hole, your next step is obvious to everyone involved, and she groans with fullness as she feels her cunt accommodate you. $activeSlave.slaveName matches her rhythm to yours, and <<if canPenetrate($activeSlave)>>orgasms promptly, since she's less accustomed than you are to the delectable sensation of a girl tightened by a phallus in her other hole<<else>>climaxes quickly despite having no sensation in her fake dick, since she finds the situation so arousing<</if>>.
 		<<if $PC.dick == 1 && canGetPregnant($subSlave) && $subSlave.eggType == "human">>
-			<<KnockMeUp $subSlave 5 0 -1 1>>
+			<<= knockMeUp($subSlave, 5, 0, -1, 1)>>
 		<</if>>
 		<<if canPenetrate($activeSlave) && canImpreg($subSlave, $activeSlave)>>
-			<<KnockMeUp $subSlave 5 1 $activeSlave.ID 1>>
+			<<= knockMeUp($subSlave, 5, 1, $activeSlave.ID, 1)>>
 		<</if>>
 	<<elseif $subSlave.anus > 2>>
 		$subSlave.slaveName's rear hole is such a loose slit that double anal shouldn't be too much trouble for her. It isn't, though her breath definitely quickens as she feels a second rod push its way past her stretched sphincter. $activeSlave.slaveName <<if canPenetrate($activeSlave)>>orgasms promptly, unable to prolong sex when she's feeling her cock slide against you inside another slave's anus<<else>>climaxes quickly despite having no sensation in her fake dick, since she finds the situation so arousing<</if>>.
 		<<if $PC.dick == 1 && canGetPregnant($subSlave) && $subSlave.eggType == "human">>
-			<<KnockMeUp $subSlave 5 1 -1 1>>
+			<<= knockMeUp($subSlave, 5, 1, -1, 1)>>
 		<</if>>
 		<<if canPenetrate($activeSlave) && canImpreg($subSlave, $activeSlave)>>
-			<<KnockMeUp $subSlave 5 1 $activeSlave.ID 1>>
+			<<= knockMeUp($subSlave, 5, 1, $activeSlave.ID, 1)>>
 		<</if>>
 	<<else>>
 		$subSlave.slaveName's rear hole is a bit tight for double anal, and she's already quite dominated; you mean to use her thoroughly, not destroy her. So, you and $activeSlave.slaveName switch off: you use $subSlave.slaveName's butt while $activeSlave.slaveName pins her for you, and then you go back to $subSlave.slaveName's mouth for a while and let $activeSlave.slaveName take over sodomizing duties. She <<if canPenetrate($activeSlave)>>orgasms promptly, since she finds a hole warm from your use very hot<<else>>climaxes quickly despite having no sensation in her fake dick, since she finds the situation so arousing<</if>>.
 		<<if $PC.dick == 1 && canGetPregnant($subSlave) && $subSlave.eggType == "human">>
-			<<KnockMeUp $subSlave 5 1 -1 1>>
+			<<= knockMeUp($subSlave, 5, 1, -1, 1)>>
 		<</if>>
 		<<if canPenetrate($activeSlave) && canImpreg($subSlave, $activeSlave)>>
-			<<KnockMeUp $subSlave 5 1 $activeSlave.ID 1>>
+			<<= knockMeUp($subSlave, 5, 1, $activeSlave.ID, 1)>>
 		<</if>>
 	<</if>>
 	When $subSlave.slaveName has stumbled off to the shower, $activeSlave.slaveName presents herself for inspection, smelling of sex and @@.mediumaquamarine;smiling trustingly.@@
@@ -1218,13 +1218,13 @@ she adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 			push your cock against $activeSlave.slaveName's tight asshole, causing her to stiffen and struggle momentarily before it pops inside her. After giving her butt a thorough fuck, you move your wet cockhead down her soft perineum
 			<<set $activeSlave.analCount++, $analTotal++>>
 			<<if $PC.dick == 1 && canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-				<<KnockMeUp $activeSlave 5 1 -1 1>>
+				<<= knockMeUp($activeSlave, 5, 1, -1, 1)>>
 			<</if>>
 		<<else>>
 			push your cock up $activeSlave.slaveName's asspussy, which accepts it with ease. After giving it a good hard reaming, you move your wet cockhead down her soft perineum
 			<<set $activeSlave.analCount++, $analTotal++>>
 			<<if $PC.dick == 1 && canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-				<<KnockMeUp $activeSlave 5 1 -1 1>>
+				<<= knockMeUp($activeSlave, 5, 1, -1, 1)>>
 			<</if>>
 		<</if>>
 		<<if !canDoVaginal($activeSlave) || ($activeSlave.vagina == 0)>>
@@ -1233,7 +1233,7 @@ she adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 			and into her cunt, giving it a good hard fuck.
 			<<set $activeSlave.vaginalCount++, $vaginalTotal++>>
 			<<if $PC.dick == 1 && canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-				<<KnockMeUp $activeSlave 5 0 -1 1>>
+				<<= knockMeUp($activeSlave, 5, 0, -1, 1)>>
 			<</if>>
 		<</if>>
 		Then you see to $subSlave.slaveName beneath her,
@@ -1242,7 +1242,7 @@ she adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 			giving her a turn with her owner's cock inside her womanhood before
 			<<set $subSlave.vaginalCount++, $vaginalTotal++>>
 			<<if $PC.dick == 1 && canGetPregnant($subSlave) && $subSlave.eggType == "human">>
-				<<KnockMeUp $subSlave 5 0 -1 1>>
+				<<= knockMeUp($subSlave, 5, 0, -1, 1)>>
 			<</if>>
 		<</if>>
 		<<if $subSlave.anus == 0 || !canDoAnal($subSlave)>>
@@ -1251,7 +1251,7 @@ she adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 			giving her as hard a buttfuck as you can manage with $activeSlave.slaveName between you.
 			<<set $subSlave.analCount++, $analTotal++>>
 			<<if $PC.dick == 1 && canGetPregnant($subSlave) && $subSlave.eggType == "human">>
-				<<KnockMeUp $subSlave 5 1 -1 1>>
+				<<= knockMeUp($subSlave, 5, 1, -1, 1)>>
 			<</if>>
 		<</if>>
 	<</if>>
@@ -1293,10 +1293,10 @@ she adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 		<<set $subSlave.penetrativeCount++>>
 		<<set $penetrativeTotal++>>
 		<<if $PC.dick == 1 && canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-			<<KnockMeUp $activeSlave 5 1 -1 1>>
+			<<= knockMeUp($activeSlave, 5, 1, -1, 1)>>
 		<</if>>
 		<<if canImpreg($activeSlave, $subSlave)>>
-			<<KnockMeUp $activeSlave 5 1 $subSlave.ID 1>>
+			<<= knockMeUp($activeSlave, 5, 1, $subSlave.ID, 1)>>
 		<</if>>
 	<<else>>
 		fingerfuck her. $subSlave.slaveName obeys hurriedly, reaching inward and
@@ -1312,7 +1312,7 @@ she adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 		<<set $penetrativeTotal++>>
 		Once you're satisfied that she can take what's coming, you<<if $PC.dick == 0>> put on a strap-on,<</if>> steady her hips<<if $PC.dick == 0>>,<</if>> and shove her <<if $activeSlave.bellyPreg >= 1500>>gravid <<elseif $activeSlave.belly >= 1500>>bloated <</if>>torso back down against $subSlave.slaveName's boobs. $subSlave.slaveName pulls to either side, gaping $activeSlave.slaveName's hole for you. $activeSlave.slaveName takes a deep breath and lets it out slowly as she feels <<if $PC.dick == 0>>the head of the strap-on<<else>>your cockhead<</if>> slide between $subSlave.slaveName's fingers, centimeter by agonizing centimeter, and seat itself up her butt. She shudders when you begin to thrust. $subSlave.slaveName keeps her fingers where they are, doing her best to use them to give you a handjob inside $activeSlave.slaveName's ass.
 		<<if $PC.dick == 1 && canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-			<<KnockMeUp $activeSlave 5 1 -1 1>>
+			<<= knockMeUp($activeSlave, 5, 1, -1, 1)>>
 		<</if>>
 	<</if>>
 	<<Enunciate $subSlave>>
@@ -1376,7 +1376,7 @@ she adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 	<<set $subSlave.analCount += 4, $subSlave.fetish = "buttslut", $subSlave.fetishKnown = 1, $subSlave.fetishStrength = 65>>
 	<<set $analTotal += 4>>
 	<<if canPenetrate($activeSlave) && canImpreg($subSlave, $activeSlave)>>
-		<<KnockMeUp $subSlave 20 1 $activeSlave.ID 1>>
+		<<= knockMeUp($subSlave, 20, 1, $activeSlave.ID, 1)>>
 	<</if>>
 	<<set $slaves[$slaveIndices[$subSlave.ID]] = $subSlave>>
 	<</replace>>
@@ -1436,7 +1436,7 @@ she adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 	<<set $subSlave.analCount++, $subSlave.oralCount++, $subSlave.trust -= 4, $subSlave.devotion += 4>>
 	<<set $analTotal++, $oralTotal++>>
 	<<if canPenetrate($activeSlave) && canImpreg($subSlave, $activeSlave)>>
-		<<KnockMeUp $subSlave 20 1 $activeSlave.ID 1>>
+		<<= knockMeUp($subSlave, 20, 1, $activeSlave.ID, 1)>>
 	<</if>>
 	<<set $slaves[$slaveIndices[$subSlave.ID]] = $subSlave>>
 	<</replace>>
@@ -1454,7 +1454,7 @@ she adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 	<<set $subSlave.trust -= 10, $subSlave.devotion -= 5, $subSlave.analCount++, $subSlave.anus = 1>>
 	<<set $analTotal++>>
 	<<if $PC.dick == 1 && canGetPregnant($subSlave) && $subSlave.eggType == "human">>
-		<<KnockMeUp $subSlave 5 1 -1 1>>
+		<<= knockMeUp($subSlave, 5, 1, -1, 1)>>
 	<</if>>
 	<<set $slaves[$slaveIndices[$subSlave.ID]] = $subSlave>>
 	<</replace>>
@@ -1468,7 +1468,7 @@ she adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 	<<set $activeSlave.devotion += 5, $activeSlave.analCount++>>
 	<<set $analTotal++>>
 	<<if $PC.dick == 1 && canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-		<<KnockMeUp $activeSlave 5 1 -1 1>>
+		<<= knockMeUp($activeSlave, 5, 1, -1, 1)>>
 	<</if>>
 	<<set $subSlave.trust -= 5, $subSlave.devotion += 5>>
 	<<set $slaves[$slaveIndices[$subSlave.ID]] = $subSlave>>
@@ -1487,7 +1487,7 @@ she adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 	<<set $subSlave.analCount++, $subSlave.trust += 4>>
 	<<set $analTotal++>>
 	<<if canPenetrate($activeSlave) && canImpreg($subSlave, $activeSlave)>>
-		<<KnockMeUp $subSlave 5 1 $activeSlave.ID 1>>
+		<<= knockMeUp($subSlave, 5, 1, $activeSlave.ID, 1)>>
 	<</if>>
 	<<set $slaves[$slaveIndices[$subSlave.ID]] = $subSlave>>
 	<</replace>>
@@ -1503,10 +1503,10 @@ she adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 	<<set $subSlave.analCount += 2, $subSlave.trust -= 5>>
 	<<set $analTotal += 2>>
 	<<if $PC.dick == 1 && canGetPregnant($subSlave) && $subSlave.eggType == "human">>
-		<<KnockMeUp $subSlave 5 1 -1 1>>
+		<<= knockMeUp($subSlave, 5, 1, -1, 1)>>
 	<</if>>
 	<<if canPenetrate($activeSlave) && canImpreg($subSlave, $activeSlave)>>
-		<<KnockMeUp $subSlave 5 1 $activeSlave.ID 1>>
+		<<= knockMeUp($subSlave, 5, 1, $activeSlave.ID, 1)>>
 	<</if>>
 	<<set $slaves[$slaveIndices[$subSlave.ID]] = $subSlave>>
 	<</replace>>
@@ -1551,7 +1551,7 @@ she adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 	<<set $activeSlave.devotion += 5, $activeSlave.anus += 1, $activeSlave.analCount++>>
 	<<set $analTotal++>>
 	<<if $PC.dick == 1 && canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-		<<KnockMeUp $activeSlave 5 1 -1 1>>
+		<<= knockMeUp($activeSlave, 5, 1, -1, 1)>>
 	<</if>>
 	<</replace>>
 <</link>> //This option will take anal virginity//
@@ -1562,7 +1562,7 @@ she adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 	<<set $activeSlave.behavioralFlaw = 0, $activeSlave.sexualFlaw = "hates anal", $activeSlave.trust -= 5, $activeSlave.anus += 1, $activeSlave.analCount++>>
 	<<set $analTotal++>>
 	<<if $PC.dick == 1 && canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-		<<KnockMeUp $activeSlave 5 1 -1 1>>
+		<<= knockMeUp($activeSlave, 5, 1, -1, 1)>>
 	<</if>>
 	<</replace>>
 <</link>> //This option will take anal virginity//
@@ -1580,7 +1580,7 @@ she adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 	<<set $activeSlave.sexualFlaw = "hates anal", $activeSlave.trust -= 5, $activeSlave.anus += 1, $activeSlave.analCount++, $activeSlave.publicCount++>>
 	<<set $analTotal++>>
 	<<if canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-		<<KnockMeUp $activeSlave 5 1 -2 1>>
+		<<= knockMeUp($activeSlave, 5, 1, -2, 1)>>
 	<</if>>
 	<</replace>>
 <</link>> //This option will take anal virginity//
@@ -1597,14 +1597,14 @@ she adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 	<<set $activeSlave.devotion += 4>>
 	<<if canPenetrate($subSlave)>>
 		<<if canImpreg($activeSlave, $subSlave)>>
-			<<KnockMeUp $activeSlave 5 1 $subSlave.ID 1>>
+			<<= knockMeUp($activeSlave, 5, 1, $subSlave.ID, 1)>>
 		<</if>>
 		<<if $PC.dick == 1 && canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-			<<KnockMeUp $activeSlave 5 1 -1 1>>
+			<<= knockMeUp($activeSlave, 5, 1, -1, 1)>>
 		<</if>>
 	<<else>>
 		<<if $PC.dick == 1 && canGetPregnant($subSlave) && $subSlave.eggType == "human">>
-			<<KnockMeUp $subSlave 5 1 -1 1>>
+			<<= knockMeUp($subSlave, 5, 1, -1, 1)>>
 		<</if>>
 	<</if>>
 	<<set $subSlave.analCount++, $subSlave.penetrativeCount++, $subSlave.devotion += 4>>
@@ -1674,24 +1674,24 @@ she adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 	<<if $activeSlave.vagina != 0 && canDoVaginal($activeSlave)>>
 		<<set $activeSlave.vaginalCount++, $vaginalTotal++>>
 		<<if $PC.dick == 1 && canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-			<<KnockMeUp $activeSlave 5 0 -1 1>>
+			<<= knockMeUp($activeSlave, 5, 0, -1, 1)>>
 		<</if>>
 	<<else>>
 		<<set $activeSlave.analCount++, $analTotal++>>
 		<<if $PC.dick == 1 && canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-			<<KnockMeUp $activeSlave 5 1 -1 1>>
+			<<= knockMeUp($activeSlave, 5, 1, -1, 1)>>
 		<</if>>
 	<</if>>
 	<<set $subSlave.trust -= 4>>
 	<<if _vaginal>>
 		<<set $subSlave.vaginalCount++, $vaginalTotal++>>
 		<<if canPenetrate($activeSlave) && canImpreg($subSlave, $activeSlave)>>
-			<<KnockMeUp $subSlave 5 0 $activeSlave.ID 1>>
+			<<= knockMeUp($subSlave, 5, 0, $activeSlave.ID, 1)>>
 		<</if>>
 	<<else>>
 		<<set $subSlave.analCount++, $analTotal++>>
 		<<if canPenetrate($activeSlave) && canImpreg($subSlave, $activeSlave)>>
-			<<KnockMeUp $subSlave 5 1 $activeSlave.ID 1>>
+			<<= knockMeUp($subSlave, 5, 1, $activeSlave.ID, 1)>>
 		<</if>>
 	<</if>>
 	<<set $slaves[$slaveIndices[$subSlave.ID]] = $subSlave>>
@@ -1722,18 +1722,18 @@ she adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 	<<if _vaginal>>
 		<<set $subSlave.vaginalCount++, $vaginalTotal++>>
 		<<if $PC.dick == 1 && canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-			<<KnockMeUp $activeSlave 5 0 -1 1>>
+			<<= knockMeUp($activeSlave, 5, 0, -1, 1)>>
 		<</if>>
 		<<if canPenetrate($activeSlave) && canImpreg($subSlave, $activeSlave)>>
-			<<KnockMeUp $subSlave 5 0 $activeSlave.ID 1>>
+			<<= knockMeUp($subSlave, 5, 0, $activeSlave.ID, 1)>>
 		<</if>>
 	<<else>>
 		<<set $subSlave.analCount++, $analTotal++>>
 		<<if $PC.dick == 1 && canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-			<<KnockMeUp $activeSlave 5 1 -1 1>>
+			<<= knockMeUp($activeSlave, 5, 1, -1, 1)>>
 		<</if>>
 		<<if canPenetrate($activeSlave) && canImpreg($subSlave, $activeSlave)>>
-			<<KnockMeUp $subSlave 5 1 $activeSlave.ID 1>>
+			<<= knockMeUp($subSlave, 5, 1, $activeSlave.ID, 1)>>
 		<</if>>
 	<</if>>
 	<<if !_fit>><<if _vaginal>><<set $subSlave.vagina++>><<else>><<set $subSlave.anus++>><</if>><</if>>
@@ -1763,7 +1763,7 @@ she adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 	<<replace "#result">>
 	<<set $subSlave.analCount++, $analTotal++>>
 	<<if $PC.dick == 1 && canGetPregnant($subSlave) && $subSlave.eggType == "human">>
-		<<KnockMeUp $subSlave 5 1 -1 1>>
+		<<= knockMeUp($subSlave, 5, 1, -1, 1)>>
 	<</if>>
 	You command the machine to cease stimulating<<if $subSlave.anus < 3 || canDoVaginal($subSlave)>> and leave $subSlave.slaveName's ass alone for now. She<<else>>, but leave its dildo where it is, for now. $subSlave.slaveName<</if>> <<if $subSlave.voice != 0>>moans with frustration<<else>>wriggles uncomfortably<</if>>, incipient orgasm ruined. Below her, $activeSlave.slaveName makes a whining noise past her mouth full of dick, not understanding what's happened. She makes to start getting out from under $subSlave.slaveName and the machine, to investigate, but before she can even put the dick down, she <<if canSee($activeSlave)>>sees a pair of <<if $PC.title>>strong<<else>>feminine<</if>> hands reach around either side of $subSlave.slaveName's torso and seize hold of her <<else>>hears a pair of hands seize hold of $subSlave.slaveName's <</if>><<if $subSlave.lactation == 0>>milkless breasts<<else>>milk-filled udders<</if>>. $activeSlave.slaveName can't see<<if canSee($activeSlave)>> who it is<</if>>, but she knows it's you. "Mhhf, hi, <<Master>>," she manages, letting $subSlave.slaveName's <<if canAchieveErection($subSlave)>>hard cockhead spring free of her mouth with a pop<<else>>soft dick fall out of her mouth with a wet noise<</if>>. "Should I, um, get out from under here?"
 	<br><br>
@@ -1782,7 +1782,7 @@ she adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 		"I need to be milked now, too," she <<say>>s flirtily, and turns to mount the machine in turn. "Plea<<s>>e, plea<<s>>e do me too!" The machine hasn't had a turn first, this time, so she's much tighter<<if $PC.dick>>, and when she's done being milked, she's got a load of your cum inside her<</if>>.
 		<<set $activeSlave.analCount++, $analTotal++>>
 		<<if $PC.dick == 1 && canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-			<<KnockMeUp $activeSlave 5 1 -1 1>>
+			<<= knockMeUp($activeSlave, 5, 1, -1, 1)>>
 		<</if>>
 	<<else>>
 		"Plea<<s>>e, plea<<s>>e let me drink your<<s>>, too," she moans, and gets down on her knees, opening her mouth and sticking out her tongue, begging for <<if $PC.dick>>your cock. You stick it straight down her throat, and soon add a second load of cum<<else>>you to mount her face. You do, and soon add a generous helping of femcum<</if>> to her breakfast.
@@ -1877,12 +1877,12 @@ she adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 	<<if _vaginal>>
 		<<set $subSlave.vaginalCount++, $vaginalTotal++>>
 		<<if canPenetrate($activeSlave) && canImpreg($subSlave, $activeSlave)>>
-			<<KnockMeUp $subSlave 5 0 $activeSlave.ID 1>>
+			<<= knockMeUp($subSlave, 5, 0, $activeSlave.ID, 1)>>
 		<</if>>
 	<<else>>
 		<<set $subSlave.analCount++, $analTotal++>>
 		<<if canPenetrate($activeSlave) && canImpreg($subSlave, $activeSlave)>>
-			<<KnockMeUp $subSlave 5 1 $activeSlave.ID 1>>
+			<<= knockMeUp($subSlave, 5, 1, $activeSlave.ID, 1)>>
 		<</if>>
 	<</if>>
 	<<set $slaves[$slaveIndices[$subSlave.ID]] = $subSlave>>
@@ -1972,12 +1972,12 @@ she adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 	<<if _vaginal>>
 		<<set $subSlave.vaginalCount++, $vaginalTotal++>>
 		<<if canPenetrate($activeSlave) && canImpreg($subSlave, $activeSlave)>>
-			<<KnockMeUp $subSlave 5 0 $activeSlave.ID 1>>
+			<<= knockMeUp($subSlave, 5, 0, $activeSlave.ID, 1)>>
 		<</if>>
 	<<else>>
 		<<set $subSlave.analCount++, $analTotal++>>
 		<<if canPenetrate($activeSlave) && canImpreg($subSlave, $activeSlave)>>
-			<<KnockMeUp $subSlave 5 1 $activeSlave.ID 1>>
+			<<= knockMeUp($subSlave, 5, 1, $activeSlave.ID, 1)>>
 		<</if>>
 	<</if>>
 	<<set $slaves[$slaveIndices[$subSlave.ID]] = $subSlave>>
@@ -2035,23 +2035,23 @@ she adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 	<<if canDoVaginal($activeSlave)>>
 		<<set $activeSlave.vaginalCount++, $vaginalTotal++>>
 		<<if $PC.dick == 1 && canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-			<<KnockMeUp $activeSlave 5 0 -1 1>>
+			<<= knockMeUp($activeSlave, 5, 0, -1, 1)>>
 		<</if>>
 	<<else>>
 		<<set $activeSlave.analCount++, $analTotal++>>
 		<<if $PC.dick == 1 && canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-			<<KnockMeUp $activeSlave 5 1 -1 1>>
+			<<= knockMeUp($activeSlave, 5, 1, -1, 1)>>
 		<</if>>
 	<</if>>
 	<<if _vaginal>>
 		<<set $subSlave.devotion += 3, $subSlave.vaginalCount++, $vaginalTotal++>>
 		<<if $PC.dick == 1 && canGetPregnant($subSlave) && $subSlave.eggType == "human">>
-			<<KnockMeUp $subSlave 5 0 -1 1>>
+			<<= knockMeUp($subSlave, 5, 0, -1, 1)>>
 		<</if>>
 	<<else>>
 		<<set $subSlave.devotion += 3, $subSlave.analCount++, $analTotal++>>
 		<<if $PC.dick == 1 && canGetPregnant($subSlave) && $subSlave.eggType == "human">>
-			<<KnockMeUp $subSlave 5 1 -1 1>>
+			<<= knockMeUp($subSlave, 5, 1, -1, 1)>>
 		<</if>>
 	<</if>>
 	<<set $slaves[$slaveIndices[$subSlave.ID]] = $subSlave>>
@@ -2076,12 +2076,12 @@ she adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 	<<if _vaginal>>
 		<<set $subSlave.trust -= 3, $subSlave.vaginalCount++, $vaginalTotal++>>
 		<<if canPenetrate($activeSlave) && canImpreg($subSlave, $activeSlave)>>
-			<<KnockMeUp $subSlave 5 1 $activeSlave.ID 1>>
+			<<= knockMeUp($subSlave, 5, 1, $activeSlave.ID, 1)>>
 		<</if>>
 	<<else>>
 		<<set $subSlave.trust -= 3, $subSlave.analCount++, $analTotal++>>
 		<<if canPenetrate($activeSlave) && canImpreg($subSlave, $activeSlave)>>
-			<<KnockMeUp $subSlave 5 1 $activeSlave.ID 1>>
+			<<= knockMeUp($subSlave, 5, 1, $activeSlave.ID, 1)>>
 		<</if>>
 	<</if>>
 	<<set $slaves[$slaveIndices[$subSlave.ID]] = $subSlave>>
@@ -2152,7 +2152,7 @@ she adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 			<<if canPenetrate($subSlave)>>
 				<<set $subSlave.penetrativeCount++, $penetrativeTotal++>>
 				<<if canImpreg($activeSlave, $subSlave)>>
-					<<KnockMeUp $activeSlave 5 1 $subSlave.ID 1>>
+					<<= knockMeUp($activeSlave, 5, 1, $subSlave.ID, 1)>>
 				<</if>>
 			<<else>>
 				<<set $subSlave.oralCount++, $oralTotal++>>
@@ -2175,13 +2175,13 @@ she adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 				"fill my pu<<ss>>y with your cum. Make a <<s>>i<<s>>ter for your<<s>>elf."
 				<<set $activeSlave.vaginalCount++, $vaginalTotal++, $subSlave.penetrativeCount++, $penetrativeTotal++>>
 				<<if canImpreg($activeSlave, $subSlave)>>
-					<<KnockMeUp $activeSlave 5 0 $subSlave.ID 1>>
+					<<= knockMeUp($activeSlave, 5, 0, $subSlave.ID, 1)>>
 				<</if>>
 			<<elseif canDoAnal($activeSlave) && canPenetrate($subSlave) && $activeSlave.mpreg == 1>>
 				"fill my a<<ss>> with your cum. I know it <<s>>eem<<s>> wrong, but that'<<s>> where my babie<<s>> come from. <<S>>o plea<<s>>e, make a <<s>>i<<s>>ter for your<<s>>elf."
 				<<set $activeSlave.analCount++, $analTotal++, $subSlave.penetrativeCount++, $penetrativeTotal++>>
 				<<if canImpreg($activeSlave, $subSlave)>>
-					<<KnockMeUp $activeSlave 5 1 $subSlave.ID 1>>
+					<<= knockMeUp($activeSlave, 5, 1, $subSlave.ID, 1)>>
 				<</if>>
 			<<elseif $activeSlave.pregKnown == 1>>
 				"and keep doing that. Ju<<s>>t, ju<<s>>t touch my belly, too.
diff --git a/src/uncategorized/jeSlaveDispute.tw b/src/uncategorized/jeSlaveDispute.tw
index c7927307d4868229c5c36460ccfd2a99997cee4c..8a7dd20ecd2a586ec50c5fc17c8a2c216627d515 100644
--- a/src/uncategorized/jeSlaveDispute.tw
+++ b/src/uncategorized/jeSlaveDispute.tw
@@ -126,7 +126,7 @@
 		<<set $activeSlave.vagina = 2>>
 		<<set $activeSlave.ovaries = 1>>
 		<<if isFertile($activeSlave)>>
-			<<KnockMeUp $activeSlave 100 2 -2 1>>
+			<<= knockMeUp($activeSlave, 100, 2, -2, 1)>>
 		<</if>>
 	<</if>>
 <</switch>>
diff --git a/src/uncategorized/main.tw b/src/uncategorized/main.tw
index c5f905e53f874d033cd0822429c927b6f634ae27..29742ce6149512fe37b35bd76ea28b7ebec8450b 100644
--- a/src/uncategorized/main.tw
+++ b/src/uncategorized/main.tw
@@ -14,6 +14,9 @@
 	''@@.red;INCOMPATIBLE SAVE WARNING:@@'' your saved game was created using version $ver and you are using later version which New Game Plus cannot reconcile. Please start a new game.
 	<br><br>
 <</if>>
+<<if $defaultRules.length > 0 && $defaultRules[0].condition == undefined>>
+	''@@.red;INCOMPATIBILITY WARNING:@@'' the rules assistant format has changed. In the Options Menu, please ''Reset RA Rules''
+<</if>>
 
 <<if def $organsCompleted>>
 	<<unset $organsCompleted>>
diff --git a/src/uncategorized/persBusiness.tw b/src/uncategorized/persBusiness.tw
index 419b16aa3799d34f6bb0a60fb7cb016ce8905af1..09380818993df3af7a19cc14567341e6e4dda918 100644
--- a/src/uncategorized/persBusiness.tw
+++ b/src/uncategorized/persBusiness.tw
@@ -79,7 +79,7 @@
 				Your client this week offered you some free pills to make sex more fun. He was right; it made bareback sex feel amazing.
 				<<set $PC.forcedFertDrugs += 2>>
 			<</if>>
-			<<KnockMeUp $PC 20 0 -2>>
+			<<= knockMeUp($PC, 20, 0, -2)>>
 		<</if>>
 	<</if>>
 	<<set $enduringRep *= .5>>
diff --git a/src/uncategorized/reFullBed.tw b/src/uncategorized/reFullBed.tw
index 961db3e3e32d205c8f57be1f4949c8177d612f1e..b6bc56bb948e28d4bd34f07dd531e8e147294fb5 100644
--- a/src/uncategorized/reFullBed.tw
+++ b/src/uncategorized/reFullBed.tw
@@ -32,10 +32,10 @@ Today was an unusually relaxing day, and you aren't particularly tired.
 		<<set $slaves[_bedSlaveOne].analCount++, $slaves[_bedSlaveTwo].analCount++>>
 		<<set $analTotal += 2>>
 		<<if $PC.dick == 1 && $slaves[_bedSlaveOne].eggType == "human" && canGetPregnant($slaves[_bedSlaveOne])>>
-			<<KnockMeUp $slaves[_bedSlaveOne] 10 1 -1 1>>
+			<<= knockMeUp($slaves[_bedSlaveOne], 10, 1, -1, 1)>>
 		<</if>>
 		<<if $PC.dick == 1 && $slaves[_bedSlaveTwo].eggType == "human" && canGetPregnant($slaves[_bedSlaveTwo])>>
-			<<KnockMeUp $slaves[_bedSlaveTwo] 10 1 -1 1>>
+			<<= knockMeUp($slaves[_bedSlaveTwo], 10, 1, -1, 1)>>
 		<</if>>
 	<</replace>>
 <</link>>
@@ -78,24 +78,24 @@ Today was an unusually relaxing day, and you aren't particularly tired.
 			<<if $slaves[_bedSlaveOne].anus == 0>>Your endeavors have @@.lime;taken her anal virginity.@@ @@.hotpink;She couldn't be happier.@@ <<set $slaves[_bedSlaveOne].devotion += 10>><</if>>
 			<<set $slaves[_bedSlaveOne].analCount += 3>>
 			<<set $analTotal += 3>>
-			<<KnockMeUp $slaves[_bedSlaveOne] 100 1 -1>>
+			<<= knockMeUp($slaves[_bedSlaveOne], 100, 1, -1)>>
 		<<else>>
 			<<if $slaves[_bedSlaveOne].vagina == 0>>Your endeavors have @@.lime;taken her virginity.@@ @@.hotpink;She couldn't be happier.@@ <<set $slaves[_bedSlaveOne].devotion += 10>><</if>>
 			<<set $slaves[_bedSlaveOne].vaginalCount += 3>>
 			<<set $vaginalTotal += 3>>
-			<<KnockMeUp $slaves[_bedSlaveOne] 100 0 -1>>
+			<<= knockMeUp($slaves[_bedSlaveOne], 100, 0, -1)>>
 		<</if>>
 		$slaves[_bedSlaveTwo].slaveName is @@.hotpink;thrilled to carry your child@@ and @@.mediumaquamarine;happily embraces the gift inside her.@@
 		<<if $slaves[_bedSlaveTwo].mpreg == 1>>
 			<<if $slaves[_bedSlaveTwo].anus == 0>>Your endeavors have @@.lime;taken her anal virginity.@@ @@.hotpink;She couldn't be happier.@@ <<set $slaves[_bedSlaveTwo].devotion += 10>><</if>>
 			<<set $slaves[_bedSlaveTwo].analCount += 3>>
 			<<set $analTotal += 3>>
-			<<KnockMeUp $slaves[_bedSlaveTwo] 100 1 -1>>
+			<<= knockMeUp($slaves[_bedSlaveTwo], 100, 1, -1)>>
 		<<else>>
 			<<if $slaves[_bedSlaveTwo].vagina == 0>>Your endeavors have @@.lime;taken her virginity.@@ @@.hotpink;She couldn't be happier.@@ <<set $slaves[_bedSlaveTwo].devotion += 10>><</if>>
 			<<set $slaves[_bedSlaveTwo].vaginalCount += 3>>
 			<<set $vaginalTotal += 3>>
-			<<KnockMeUp $slaves[_bedSlaveTwo] 100 0 -1>>
+			<<= knockMeUp($slaves[_bedSlaveTwo], 100, 0, -1)>>
 		<</if>>
 	<</replace>>
 <</link>>
@@ -111,13 +111,13 @@ Today was an unusually relaxing day, and you aren't particularly tired.
 			<<set $slaves[_bedSlaveOne].analCount++>>
 			<<set $analTotal++>>
 			<<if $PC.dick == 1 && $slaves[_bedSlaveOne].eggType == "human" && canGetPregnant($slaves[_bedSlaveOne])>>
-				<<KnockMeUp $slaves[_bedSlaveOne] 10 2 -1 1>>
+				<<= knockMeUp($slaves[_bedSlaveOne], 10, 2, -1, 1)>>
 			<</if>>
 		<<else>>
 			<<set $slaves[_bedSlaveOne].analCount += 3>>
 			<<set $analTotal += 3>>
 			<<if $PC.dick == 1 && $slaves[_bedSlaveOne].eggType == "human" && canGetPregnant($slaves[_bedSlaveOne])>>
-				<<KnockMeUp $slaves[_bedSlaveOne] 15 1 -1 1>>
+				<<= knockMeUp($slaves[_bedSlaveOne], 15, 1, -1, 1)>>
 			<</if>>
 		<</if>>
 		<<if canDoVaginal(_bedSlaveTwo)>>
@@ -126,13 +126,13 @@ Today was an unusually relaxing day, and you aren't particularly tired.
 			<<set $slaves[_bedSlaveTwo].analCount++>>
 			<<set $analTotal++>>
 			<<if $PC.dick == 1 && $slaves[_bedSlaveTwo].eggType == "human" && canGetPregnant($slaves[_bedSlaveTwo])>>
-				<<KnockMeUp $slaves[_bedSlaveTwo] 10 2 -1 1>>
+				<<= knockMeUp($slaves[_bedSlaveTwo], 10, 2, -1, 1)>>
 			<</if>>
 		<<else>>
 			<<set $slaves[_bedSlaveTwo].analCount += 3>>
 			<<set $analTotal += 3>>
 			<<if $PC.dick == 1 && $slaves[_bedSlaveTwo].eggType == "human" && canGetPregnant($slaves[_bedSlaveTwo])>>
-				<<KnockMeUp $slaves[_bedSlaveTwo] 15 1 -1 1>>
+				<<= knockMeUp($slaves[_bedSlaveTwo], 15, 1, -1, 1)>>
 			<</if>>
 		<</if>>
 	<</replace>>
diff --git a/src/uncategorized/reMalefactor.tw b/src/uncategorized/reMalefactor.tw
index 286e90c5b38a16986d58cd25133c372eb3f5d350..6e0b73eaa78fd92258bd7893b0032234269d5741 100644
--- a/src/uncategorized/reMalefactor.tw
+++ b/src/uncategorized/reMalefactor.tw
@@ -286,7 +286,7 @@
 		<<if $activeSlave.vagina > -1>>
 			<<set $activeSlave.vagina = 2>>
 			<<if isFertile($activeSlave) && $activeSlave.eggType == "human">>
-				<<KnockMeUp $activeSlave 40 2 -2>>
+				<<= knockMeUp($activeSlave, 40, 2, -2)>>
 			<</if>>
 		<</if>>
 		<<if $activeSlave.publicCount>><<set $activeSlave.publicCount += 47>><<else>><<set $activeSlave.publicCount = 47>><</if>>
diff --git a/src/uncategorized/reShowerPunishment.tw b/src/uncategorized/reShowerPunishment.tw
index 15472465d9523d069b174bbcb68e9fe3f6d3e0df..c6ebadb1317c1e67d2cd2058283c35440c1cdf05 100644
--- a/src/uncategorized/reShowerPunishment.tw
+++ b/src/uncategorized/reShowerPunishment.tw
@@ -61,7 +61,7 @@ $activeSlave.slaveName is being very thorough. When you first appeared, she was
 	<<if $PC.dick == 1>>groin so she can suck you off<<if $PC.vagina == 1>> and stroke your cunt<</if>><<else>>cunt so she can eat you out<</if>>. $activeSlave.slaveName complies, and afterward, she seems to feel that @@.mediumaquamarine;she came off reasonably well;@@ it could have been worse.
 	<<set $activeSlave.analCount += 1>>
 	<<set $analTotal += 1>>
-	<<KnockMeUp $activeSlave 10 1 $HeadGirl.ID>>
+	<<= knockMeUp($activeSlave, 10, 1, $HeadGirl.ID)>>
 	<<set $activeSlave.oralCount += 1>>
 	<<set $oralTotal += 1>>
 	<<set $activeSlave.trust += 4>>
diff --git a/src/uncategorized/saChoosesOwnClothes.tw b/src/uncategorized/saChoosesOwnClothes.tw
index 53b7fc4a6550028a457c4107759338eec7c21191..60382b60d4d422a825d92871ec17e56eabd1ebbf 100644
--- a/src/uncategorized/saChoosesOwnClothes.tw
+++ b/src/uncategorized/saChoosesOwnClothes.tw
@@ -1,76 +1,3 @@
 :: SA chooses own clothes [nobr]
 
-/*for the time being, this will use female pronouns until the system is updated.*/
-<<if $slaves[$i].choosesOwnClothes == 1>>
-
-<<SlavePronouns $slaves[$i]>>
-
-<<set $bellyAccessory = $slaves[$i].bellyAccessory>>
-
-<<if $slaves[$i].fetish == "mindbroken">>
-	<<set _corsetChoice = todaysCorset($slaves[$i]), _clothingChoice = todaysOutfit($slaves[$i])>>
-	<<set $slaves[$i].bellyAccessory = _corsetChoice.bellyAccessory, $slaves[$i].clothes = _clothingChoice.clothes>>
-	
-	$pronounCap is fundamentally broken, but still follows some faint memories of standing within the wardrobe.
-	<<if $slaves[$i].amp != 1>>
-		<<set _shoeChoice = todaysShoes($slaves[$i])>>
-		_shoeChoice.text
-		<<set $slaves[$i].shoes = _shoeChoice.shoes>>
-	<</if>>
-	_corsetChoice.text Faced with so many choices and no thought on the matter; _clothingChoice.text
-	
-<<elseif ($slaves[$i].devotion <= 20)>>
-
-	<<set _clothingChoice = todaysOutfit($slaves[$i])>>
-	<<set $slaves[$i].clothes = _clothingChoice.clothes>>
-	_clothingChoice.text
-
-	<<if $slaves[$i].amp != 1>>
-		<<set _shoeChoice = todaysShoes($slaves[$i])>>
-		_shoeChoice.text
-		<<set $slaves[$i].shoes = _shoeChoice.shoes>>
-	<</if>>
-	
-	@@.mediumorchid;increasing $possessive independence.@@
-	<<set $slaves[$i].devotion -= 5>>
-
-<<else>>
-	<<set _neckChoice = todaysCollar($slaves[$i]), _corsetChoice = todaysCorset($slaves[$i]), _clothingChoice = todaysOutfit($slaves[$i])>>
-	<<set $slaves[$i].collar = _neckChoice.collar, $slaves[$i].bellyAccessory = _corsetChoice.bellyAccessory, $slaves[$i].clothes = _clothingChoice.clothes>>
-	
-	$pronounCap @@.hotpink;loves@@ being able to dress <<print $object>>self, _neckChoice.text _corsetChoice.text _clothingChoice.text
-	<<set $slaves[$i].devotion += 1>>
-
-	/* this'll require <<WrittenMaster>> to become JS to work. Maybe later on when it beomces a widespread need */
-	<<if $arcologies[0].FSRestart != "unset">>
-		<<if $slaves[$i].choosesOwnChastity == 1>>
-			<<if $slaves[$i].vagina > -1 && $slaves[$i].breedingMark == 1 && ($slaves[$i].vaginalAccessory == "chastity belt" || $slaves[$i].vaginalAccessory == "combined chastity")>>
-				$pronounCap unfastens $possessive chastity belt knowing full well $possessive role in life is to carry $possessive <<WrittenMaster $slaves[$i]>>'s children.
-				<<set $slaves[$i].vaginalAccessory = "none">>
-			<<elseif $slaves[$i].vagina > -1 && $slaves[$i].ovaries == 1 && $slaves[$i].preg == 0 && $slaves[$i].vaginalAccessory != "chastity belt">>
-				$pronounCap also affixes a chastity belt over $possessive vagina to discourage use of $possessive reproductive organ.
-				<<set $slaves[$i].vaginalAccessory = "chastity belt">>
-			<<elseif $slaves[$i].vagina > -1 && ($slaves[$i].ovaries == 0 || $slaves[$i].preg < -1) && $slaves[$i].vaginalAccessory == "chastity belt">>
-				$pronounCap removes $possessive chastity belt since no matter how hard someone tries, $pronoun can never become pregnant.
-				<<set $slaves[$i].vaginalAccessory = "none">>
-			<</if>>
-			<<if $slaves[$i].dick > 0 && $slaves[$i].balls > 0 && $slaves[$i].dickAccessory != "chastity">>
-				$pronounCap also affixes a chastity cage onto $possessive dick to discourage use of $possessive reproductive organ.
-				<<set $slaves[$i].dickAccessory = "chastity">>
-			<<elseif $slaves[$i].dick > 0 && $slaves[$i].balls == 0 && $slaves[$i].dickAccessory == "chastity">>
-				$pronounCap removes $possessive chastity cage since even if $pronoun could get erect, $pronoun only shoots blanks.
-				<<set $slaves[$i].dickAccessory = "none">>
-			<</if>>
-		<</if>>
-	<</if>>
-
-	<<if $slaves[$i].amp != 1>>
-		<<set _shoeChoice = todaysShoes($slaves[$i])>>
-		_shoeChoice.text
-		<<set $slaves[$i].shoes = _shoeChoice.shoes>>
-	<</if>>
-
-<</if>> /* closes MB check & devotion <= 20*/
-
-<</if>> /* closes choosesOwnClothes check */
-
+<<= saChoosesOwnClothes($slaves[$i]) >>
diff --git a/src/uncategorized/saDevotion.tw b/src/uncategorized/saDevotion.tw
index ecf482650e01e7b235e511c1a4df64ca204c1eb9..e7a184688a83b7be506a49d6d825fd739b5bbee8 100644
--- a/src/uncategorized/saDevotion.tw
+++ b/src/uncategorized/saDevotion.tw
@@ -514,7 +514,7 @@
 		<<set $slaves[$i].penetrativeCount += $freeSexualEnergy>>
 		<<set $penetrativeTotal += $freeSexualEnergy>>
 		<<if isPlayerFertile($PC) && ($slaves[$i].ballType == "human") && ($slaves[$i].vasectomy != 1)>>
-			<<KnockMeUp $PC $freeSexualEnergy 0 $slaves[$i].ID 1>>
+			<<= knockMeUp($PC, $freeSexualEnergy, 0, $slaves[$i].ID, 1)>>
 		<</if>>
 		<<if $sexualOpeness == 0>>
 			<<set $PC.degeneracy++>>
diff --git a/src/uncategorized/saLiveWithHG.tw b/src/uncategorized/saLiveWithHG.tw
index 5a7be4825dba51794b441ad47c0bfd7678a59bc7..fec187c047e74eabc686ec814b2ff6afa5f79cd3 100644
--- a/src/uncategorized/saLiveWithHG.tw
+++ b/src/uncategorized/saLiveWithHG.tw
@@ -300,10 +300,10 @@
 				$slaves[$i].slaveName. Her eagerness completely exposes her hidden @@.lightcoral;pregnancy kink.@@
 				<<set $HeadGirl.fetishKnown = 1>>
 			<</if>>
-			<<KnockMeUp $slaves[$i] 100 2 $HeadGirl.ID>>
+			<<= knockMeUp($slaves[$i], 100, 2, $HeadGirl.ID)>>
 			<<if ($HeadGirl.fetishStrength > 70) && canImpreg($HeadGirl, $slaves[$i])>>
 				Unsurprisingly, she gives in to her own cravings and also takes $slaves[$i].slaveName's loads until she @@.lime;gets pregnant@@ too.
-				<<KnockMeUp $HeadGirl 100 2 $slaves[$i].ID>>
+				<<= knockMeUp($HeadGirl, 100, 2, $slaves[$i].ID)>>
 			<</if>>
 		<<elseif $HeadGirl.fetishKnown == 1>>
 			$HeadGirl.slaveName knows better than to even consider knocking up $slaves[$i].slaveName.
@@ -318,7 +318,7 @@
 				seed. Her @@.hotpink;pride@@ over her new pregnancy and eagerness to get pregnant completely exposes her hidden, and powerful, @@.lightcoral;pregnancy fetish.@@
 				<<set $HeadGirl.fetishKnown = 1, $HeadGirl.devotion += 4>>
 			<</if>>
-			<<KnockMeUp $HeadGirl 100 2 $slaves[$i].ID>>
+			<<= knockMeUp($HeadGirl, 100, 2, $slaves[$i].ID)>>
 		<<elseif  $HeadGirl.fetishKnown == 1>>
 			$HeadGirl.slaveName knows better than to even consider getting knocked up by $slaves[$i].slaveName.
 		<</if>>
@@ -392,7 +392,7 @@
 		<<if canDoAnal($slaves[$i])>>
 			<<set _analUse += 5>>
 			<<if canImpreg($slaves[$i], $HeadGirl)>>
-				<<KnockMeUp $slaves[$i] 5 1 $HeadGirl.ID>>
+				<<= knockMeUp($slaves[$i], 5, 1, $HeadGirl.ID)>>
 			<</if>>
 		<<elseif $slaves[$i] >= 500>>
 			<<set _mammaryUse += 5>>
@@ -402,13 +402,13 @@
 		<<if ($slaves[$i].vagina > 0) && canDoVaginal($slaves[$i])>>
 			<<set _vaginalUse += 5>>
 			<<if canImpreg($slaves[$i], $HeadGirl)>>
-				<<KnockMeUp $slaves[$i] 5 0 $HeadGirl.ID>>
+				<<= knockMeUp($slaves[$i], 5, 0, $HeadGirl.ID)>>
 			<</if>>
 			<<set _cervixPump += 5>>
 		<<elseif canDoAnal($slaves[$i])>>
 			<<set _analUse += 5>>
 			<<if canImpreg($slaves[$i], $HeadGirl)>>
-				<<KnockMeUp $slaves[$i] 5 1 $HeadGirl.ID>>
+				<<= knockMeUp($slaves[$i], 5, 1, $HeadGirl.ID)>>
 			<</if>>
 		<<else>>
 			<<set _oralUse += 5>>
@@ -420,7 +420,7 @@
 		<<if canDoAnal($slaves[$i])>>
 			<<set _analUse += 3>>
 			<<if canImpreg($slaves[$i], $HeadGirl)>>
-				<<KnockMeUp $slaves[$i] 3 1 $HeadGirl.ID>>
+				<<= knockMeUp($slaves[$i], 3, 1, $HeadGirl.ID)>>
 			<</if>>
 		<<elseif $slaves[$i] >= 500>>
 			<<set _mammaryUse += 3>>
@@ -430,13 +430,13 @@
 		<<if ($slaves[$i].vagina > 0) && canDoVaginal($slaves[$i])>>
 			<<set _vaginalUse += 3>>
 			<<if canImpreg($slaves[$i], $HeadGirl)>>
-				<<KnockMeUp $slaves[$i] 3 0 $HeadGirl.ID>>
+				<<= knockMeUp($slaves[$i], 3, 0, $HeadGirl.ID)>>
 			<</if>>
 			<<set _cervixPump += 3>>
 		<<elseif canDoAnal($slaves[$i])>>
 			<<set _analUse += 3>>
 			<<if canImpreg($slaves[$i], $HeadGirl)>>
-				<<KnockMeUp $slaves[$i] 3 1 $HeadGirl.ID>>
+				<<= knockMeUp($slaves[$i], 3, 1, $HeadGirl.ID)>>
 			<</if>>
 		<<else>>
 			<<set _oralUse += 3>>
@@ -448,7 +448,7 @@
 		<<if canDoAnal($slaves[$i])>>
 			<<set _analUse += 3>>
 			<<if canImpreg($slaves[$i], $HeadGirl)>>
-				<<KnockMeUp $slaves[$i] 3 1 $HeadGirl.ID>>
+				<<= knockMeUp($slaves[$i], 3, 1, $HeadGirl.ID)>>
 			<</if>>
 		<<elseif $slaves[$i] >= 500>>
 			<<set _mammaryUse += 3>>
@@ -458,13 +458,13 @@
 		<<if ($slaves[$i].vagina > 0) && canDoVaginal($slaves[$i])>>
 			<<set _vaginalUse += 3>>
 			<<if canImpreg($slaves[$i], $HeadGirl)>>
-				<<KnockMeUp $slaves[$i] 3 0 $HeadGirl.ID>>
+				<<= knockMeUp($slaves[$i], 3, 0, $HeadGirl.ID)>>
 			<</if>>
 			<<set _cervixPump += 3>>
 		<<elseif canDoAnal($slaves[$i])>>
 			<<set _analUse += 3>>
 			<<if canImpreg($slaves[$i], $HeadGirl)>>
-				<<KnockMeUp $slaves[$i] 3 1 $HeadGirl.ID>>
+				<<= knockMeUp($slaves[$i], 3, 1, $HeadGirl.ID)>>
 			<</if>>
 		<<else>>
 			<<set _oralUse += 3>>
@@ -476,7 +476,7 @@
 		<<if canDoAnal($slaves[$i])>>
 			<<set _analUse += 3>>
 			<<if canImpreg($slaves[$i], $HeadGirl)>>
-				<<KnockMeUp $slaves[$i] 3 1 $HeadGirl.ID>>
+				<<= knockMeUp($slaves[$i], 3, 1, $HeadGirl.ID)>>
 			<</if>>
 		<<elseif $slaves[$i] >= 500>>
 			<<set _mammaryUse += 3>>
@@ -486,13 +486,13 @@
 		<<if ($slaves[$i].vagina > 0) && canDoVaginal($slaves[$i])>>
 			<<set _vaginalUse += 3>>
 			<<if canImpreg($slaves[$i], $HeadGirl)>>
-				<<KnockMeUp $slaves[$i] 3 0 $HeadGirl.ID>>
+				<<= knockMeUp($slaves[$i], 3, 0, $HeadGirl.ID)>>
 			<</if>>
 			<<set _cervixPump += 3>>
 		<<elseif canDoAnal($slaves[$i])>>
 			<<set _analUse += 3>>
 			<<if canImpreg($slaves[$i], $HeadGirl)>>
-				<<KnockMeUp $slaves[$i] 3 1 $HeadGirl.ID>>
+				<<= knockMeUp($slaves[$i], 3, 1, $HeadGirl.ID)>>
 			<</if>>
 		<<else>>
 			<<set _oralUse += 3>>
@@ -509,7 +509,7 @@
 			<<set _analUse += 10>>
 			<<set $HeadGirl.penetrativeCount += 10, $penetrativeTotal += 10>>
 			<<if canImpreg($slaves[$i], $HeadGirl)>>
-				<<KnockMeUp $slaves[$i] 10 1 $HeadGirl.ID>>
+				<<= knockMeUp($slaves[$i], 10, 1, $HeadGirl.ID)>>
 			<</if>>
 		<</if>>
 	<<elseif ($HeadGirl.fetish == "cumslut")>>
@@ -522,7 +522,7 @@
 		<<if canDoAnal($slaves[$i])>>
 			<<set _analUse += 10>>
 			<<if canImpreg($slaves[$i], $HeadGirl)>>
-				<<KnockMeUp $slaves[$i] 10 1 $HeadGirl.ID>>
+				<<= knockMeUp($slaves[$i], 10, 1, $HeadGirl.ID)>>
 			<</if>>
 		<<else>>
 			<<set _oralUse += 10>>
@@ -534,7 +534,7 @@
 		<<if canDoAnal($slaves[$i])>>
 			<<set _analUse++>>
 			<<if canImpreg($slaves[$i], $HeadGirl)>>
-				<<KnockMeUp $slaves[$i] 1 1 $HeadGirl.ID>>
+				<<= knockMeUp($slaves[$i], 1, 1, $HeadGirl.ID)>>
 			<</if>>
 		<<elseif $slaves[$i] >= 500>>
 			<<set _mammaryUse++>>
@@ -544,13 +544,13 @@
 		<<if ($slaves[$i].vagina > 0) && canDoVaginal($slaves[$i])>>
 			<<set _vaginalUse++>>
 			<<if canImpreg($slaves[$i], $HeadGirl)>>
-				<<KnockMeUp $slaves[$i] 1 0 $HeadGirl.ID>>
+				<<= knockMeUp($slaves[$i], 1, 0, $HeadGirl.ID)>>
 			<</if>>
 			<<set _cervixPump++>>
 		<<elseif canDoAnal($slaves[$i])>>
 			<<set _analUse++>>
 			<<if canImpreg($slaves[$i], $HeadGirl)>>
-				<<KnockMeUp $slaves[$i] 1 1 $HeadGirl.ID>>
+				<<= knockMeUp($slaves[$i], 1, 1, $HeadGirl.ID)>>
 			<</if>>
 		<<else>>
 			<<set _oralUse++>>
@@ -562,7 +562,7 @@
 		<<if canDoAnal($slaves[$i])>>
 			<<set _analUse += 3>>
 			<<if canImpreg($slaves[$i], $HeadGirl)>>
-				<<KnockMeUp $slaves[$i] 3 1 $HeadGirl.ID>>
+				<<= knockMeUp($slaves[$i], 3, 1, $HeadGirl.ID)>>
 			<</if>>
 		<<elseif $slaves[$i] >= 300>>
 			<<set _mammaryUse += 3>>
@@ -572,13 +572,13 @@
 		<<if ($slaves[$i].vagina > 0) && canDoVaginal($slaves[$i])>>
 			<<set _vaginalUse += 3>>
 			<<if canImpreg($slaves[$i], $HeadGirl)>>
-				<<KnockMeUp $slaves[$i] 3 0 $HeadGirl.ID>>
+				<<= knockMeUp($slaves[$i], 3, 0, $HeadGirl.ID)>>
 			<</if>>
 			<<set _cervixPump += 3>>
 		<<elseif canDoAnal($slaves[$i])>>
 			<<set _analUse += 3>>
 			<<if canImpreg($slaves[$i], $HeadGirl)>>
-				<<KnockMeUp $slaves[$i] 3 1 $HeadGirl.ID>>
+				<<= knockMeUp($slaves[$i], 3, 1, $HeadGirl.ID)>>
 			<</if>>
 		<<elseif $slaves[$i] >= 300>>
 			<<set _mammaryUse += 3>>
diff --git a/src/uncategorized/saPleaseYou.tw b/src/uncategorized/saPleaseYou.tw
index f835794b8fbaf4392cce30d75392b9cbc4fe655f..d0c1289426766524724e18dd96b5faf966192ada 100644
--- a/src/uncategorized/saPleaseYou.tw
+++ b/src/uncategorized/saPleaseYou.tw
@@ -128,7 +128,7 @@ serves you this week.
 				<</if>>
 				<<set _cervixPump = _vaginalUse>>
 				<<if $slaves[$i].eggType == "human" && canGetPregnant($slaves[$i])>>
-					<<KnockMeUp $slaves[$i] _vaginalUse 0 -1 1>>
+					<<= knockMeUp($slaves[$i], _vaginalUse, 0, -1, 1)>>
 				<</if>>
 			<</if>>
 			<<set $slaves[$i].vaginalCount += _vaginalUse, $vaginalTotal += _vaginalUse>>
@@ -156,7 +156,7 @@ serves you this week.
 			<<if $PC.dick == 1>>
 				<<set _cervixPump = _vaginalUse>>
 				<<if $slaves[$i].eggType == "human" && canGetPregnant($slaves[$i])>>
-					<<KnockMeUp $slaves[$i] _vaginalUse 0 -1 1>>
+					<<= knockMeUp($slaves[$i], _vaginalUse, 0, -1, 1)>>
 				<</if>>
 			<</if>>
 			<<set $slaves[$i].vaginalCount += _vaginalUse, $vaginalTotal += _vaginalUse>>
@@ -268,7 +268,7 @@ serves you this week.
 				<</if>>
 			<</if>>
 			<<if $PC.dick == 1 && $slaves[$i].eggType == "human" && canGetPregnant($slaves[$i])>>
-				<<KnockMeUp $slaves[$i] _analUse 1 -1 1>>
+				<<= knockMeUp($slaves[$i], _analUse, 1, -1, 1)>>
 			<</if>>
 			<<set $slaves[$i].analCount += _analUse, $analTotal += _analUse>>
 		<<else>>
@@ -287,7 +287,7 @@ serves you this week.
 			<<if $PC.dick == 1>>
 				<<set _cervixPump = _analUse>>
 				<<if $slaves[$i].eggType == "human" && canGetPregnant($slaves[$i])>>
-					<<KnockMeUp $slaves[$i] _analUse 1 -1 1>>
+					<<= knockMeUp($slaves[$i], _analUse, 1, -1, 1)>>
 				<</if>>
 			<</if>>
 			<<set $slaves[$i].analCount += _analUse, $analTotal += _analUse>>
@@ -859,7 +859,7 @@ serves you this week.
 		<</if>>
 		<<set $slaves[$i].penetrativeCount += _penetrativeUse, $penetrativeTotal += _penetrativeUse>>
 		<<if isPlayerFertile($PC) && ($slaves[$i].ballType == "human") && ($slaves[$i].vasectomy != 1)>>
-			<<KnockMeUp $PC _penetrativeUse 0 $slaves[$i].ID>>
+			<<= knockMeUp($PC, _penetrativeUse, 0, $slaves[$i].ID)>>
 		<</if>>
 		<<if $sexualOpeness == 0>>
 			Rumors spread that you @@.red;enjoy taking it from slaves.@@
diff --git a/src/uncategorized/saRules.tw b/src/uncategorized/saRules.tw
index 3efbb06fc28f32d198d5eba0af6a260d6a6571f9..aafc51dcd87cd387f2a3b6ed8f8c50bef7b67c7b 100644
--- a/src/uncategorized/saRules.tw
+++ b/src/uncategorized/saRules.tw
@@ -1100,7 +1100,7 @@
 				is well taken care of during her stay in $clinicName; you make sure your wife's every sexual need is handled personally.
 				<<set $slaves[$i].need = 0>>
 				<<if $PC.dick == 1 && $slaves[$i].eggType == "human" && canGetPregnant($slaves[$i]) && (($slaves[$i].vagina > 0 && $slaves[$i].ovaries == 1)||($slaves[$i].anus != 0 && $slaves[$i].mpreg == 1))>>
-					<<KnockMeUp $slaves[$i] 10 0 -1 1>>
+					<<= knockMeUp($slaves[$i], 10, 0, -1, 1)>>
 					<<if ($slaves[$i].vagina > 0 && $slaves[$i].ovaries == 1)>>
 						<<set $slaves[$i].vaginalCount += 7, $vaginalTotal += 7>>
 					<<else>>
@@ -1443,7 +1443,7 @@
 				You make sure your troublesome wife's sexual needs are handled, openly, in the middle of $cellblockName, where everyone can see, hear, and smell your dominance.
 				<<set $slaves[$i].need = 0>>
 				<<if $PC.dick == 1 && $slaves[$i].eggType == "human" && canGetPregnant($slaves[$i]) && (($slaves[$i].vagina > 0 && $slaves[$i].ovaries == 1)||($slaves[$i].anus != 0 && $slaves[$i].mpreg == 1))>>
-					<<KnockMeUp $slaves[$i] 10 0 -1 1>>
+					<<= knockMeUp($slaves[$i], 10, 0, -1, 1)>>
 					<<if ($slaves[$i].vagina > 0 && $slaves[$i].ovaries == 1)>>
 						<<set $slaves[$i].vaginalCount += 7, $vaginalTotal += 7>>
 					<<else>>
@@ -1463,11 +1463,11 @@
 					<<set $slaves[_FLs].penetrativeCount += _wardenFunTimes, $penetrativeTotal += _wardenFunTimes>>
 					<<if _wardenFunTimes > 0 && canImpreg($slaves[$i], $Wardeness) && ($cellblockWardenCumsInside == 1 || $Wardeness.fetish == "mindbroken") && (($slaves[$i].vagina > 0 && $slaves[$i].ovaries == 1) || ($slaves[$i].anus > 0 && $slaves[$i].mpreg == 1))>>
 						<<if ($slaves[$i].vagina > 0 && $slaves[$i].ovaries == 1)>>
-							<<KnockMeUp $slaves[$i] 10 0 $Wardeness.ID 1>>
+							<<= knockMeUp($slaves[$i], 10, 0, $Wardeness.ID, 1)>>
 							<<set $slaves[$i].vaginalCount++, $vaginalTotal++>>
 							<<set $slaves[_FLs].penetrativeCount += 1, $penetrativeTotal += 1>>
 						<<else>>
-							<<KnockMeUp $slaves[$i] 10 1 $Wardeness.ID 1>>
+							<<= knockMeUp($slaves[$i], 10, 1, $Wardeness.ID, 1)>>
 							<<set $slaves[$i].analCount++, $analTotal++>>
 							<<set $slaves[_FLs].penetrativeCount += 1, $penetrativeTotal += 1>>
 						<</if>>
@@ -1488,11 +1488,11 @@
 					<<set $slaves[_FLs].penetrativeCount += _wardenFunTimes, $penetrativeTotal += _wardenFunTimes>>
 					<<if _wardenFunTimes > 0 && canImpreg($slaves[$i], $Wardeness) && ($cellblockWardenCumsInside == 1 || $Wardeness.fetish == "mindbroken") && (($slaves[$i].vagina > 0 && $slaves[$i].ovaries == 1) || ($slaves[$i].anus > 0 && $slaves[$i].mpreg == 1))>>
 						<<if ($slaves[$i].vagina > 0 && $slaves[$i].ovaries == 1)>>
-							<<KnockMeUp $slaves[$i] 10 0 $Wardeness.ID 1>>
+							<<= knockMeUp($slaves[$i], 10, 0, $Wardeness.ID, 1)>>
 							<<set $slaves[$i].vaginalCount++, $vaginalTotal++>>
 							<<set $slaves[_FLs].penetrativeCount += 1, $penetrativeTotal += 1>>
 						<<else>>
-							<<KnockMeUp $slaves[$i] 10 1 $Wardeness.ID 1>>
+							<<= knockMeUp($slaves[$i], 10, 1, $Wardeness.ID, 1)>>
 							<<set $slaves[$i].analCount++, $analTotal++>>
 							<<set $slaves[_FLs].penetrativeCount += 1, $penetrativeTotal += 1>>
 						<</if>>
@@ -2210,7 +2210,7 @@
 					<<if $slaves[$i].vagina != 0>>
 						<<set $slaves[$i].vaginalCount += 7, $vaginalTotal += 7>>
 						<<if canImpreg($slaves[$i], $Schoolteacher) && $slaves[$i].breedingMark == 0 && $slaves[$i].vagina != 0>>
-							<<KnockMeUp $slaves[$i] 5 0 $Schoolteacher.ID 1>>
+							<<= knockMeUp($slaves[$i], 5, 0, $Schoolteacher.ID, 1)>>
 						<</if>>
 					<</if>>
 					<<set $slaves[$i].need -= 10>>
@@ -2219,7 +2219,7 @@
 					<<if $slaves[$i].anus != 0>>
 						<<set $slaves[$i].analCount += 7, $analTotal += 7>>
 						<<if canImpreg($slaves[$i], $Schoolteacher) && $slaves[$i].breedingMark == 0 && $slaves[$i].anus != 0>>
-							<<KnockMeUp $slaves[$i] 5 1 $Schoolteacher.ID 1>>
+							<<= knockMeUp($slaves[$i], 5, 1, $Schoolteacher.ID, 1)>>
 						<</if>>
 					<</if>>
 					<<set $slaves[$i].need -= 10>>
@@ -2229,9 +2229,9 @@
 					<<set $slaves[$i].need -= 10>>
 					<<if canImpreg($Schoolteacher, $slaves[$i]) && $Schoolteacher.breedingMark == 0>>
 						<<if $Schoolteacher.vagina != 0 && $Schoolteacher.ovaries == 1>>
-							<<KnockMeUp $slaves[_FLs] 5 0 $slaves[$i].ID 1>>
+							<<= knockMeUp($slaves[_FLs], 5, 0, $slaves[$i].ID, 1)>>
 						<<elseif $Schoolteacher.anus != 0 && $Schoolteacher.mpreg == 1>>
-							<<KnockMeUp $slaves[_FLs] 5 1 $slaves[$i].ID 1>>
+							<<= knockMeUp($slaves[_FLs], 5, 1, $slaves[$i].ID, 1)>>
 						<</if>>
 					<</if>>
 				<</if>>
diff --git a/src/uncategorized/saServeYourOtherSlaves.tw b/src/uncategorized/saServeYourOtherSlaves.tw
index ca1c4c7d46249c3b7abc49de549b7be022f173e5..e92c8abfbed94f6771d1a093c97180d8f002825c 100644
--- a/src/uncategorized/saServeYourOtherSlaves.tw
+++ b/src/uncategorized/saServeYourOtherSlaves.tw
@@ -161,7 +161,7 @@ is serving ''$slaves[_dom].slaveName'' this week.
 		<<set _penetrativeUse = random(9,12)>>
 		<<set $slaves[_dom].analCount += _penetrativeUse, $analTotal += _penetrativeUse>>
 		<<if canImpreg($slaves[_dom], $slaves[$i])>>
-			<<KnockMeUp $slaves[_dom] 30 1 $slaves[$i].ID 1>>
+			<<= knockMeUp($slaves[_dom], 30, 1, $slaves[$i].ID, 1)>>
 			<<if $slaves[_dom].pregKnown == 1>>
 				With so many potent deposits into her fertile rear, it comes as little surprise when @@.lime;she ends up pregnant with $slaves[$i].slaveName's child.@@
 			<</if>>
@@ -194,7 +194,7 @@ is serving ''$slaves[_dom].slaveName'' this week.
 				$slaves[_dom].slaveName finds herself under the weight of $slaves[$i].slaveName's limbless body and her _domRace slit accommodating an eager _subRace cock. Afterward, $slaves[_dom].slaveName lavishes kisses on her satisfactory top for her efforts. $slaves[_dom].slaveName @@.hotpink;enjoys a week of constant submission,@@ and even though she's technically being used, $slaves[$i].slaveName @@.hotpink;doesn't mind@@ being expected to fuck a willing pussy.
 				<<set $slaves[_dom].vaginalCount += _penetrativeUse, $vaginalTotal += _penetrativeUse>>
 				<<if canImpreg($slaves[_dom], $slaves[$i])>>
-					<<KnockMeUp $slaves[_dom] 30 0 $slaves[$i].ID 1>>
+					<<= knockMeUp($slaves[_dom], 30, 0, $slaves[$i].ID, 1)>>
 					<<if $slaves[_dom].pregKnown == 1>>
 						With so many potent loads kissing her cervix, it comes as little surprise when @@.lime;she ends up pregnant with $slaves[$i].slaveName's child.@@
 					<</if>>
@@ -203,7 +203,7 @@ is serving ''$slaves[_dom].slaveName'' this week.
 				$slaves[_dom].slaveName finds herself under the weight of $slaves[$i].slaveName's limbless body and her _domRace ass accommodating an eager _subRace cock. Afterward, $slaves[_dom].slaveName lavishes kisses on her satisfactory top for her efforts. $slaves[_dom].slaveName @@.hotpink;enjoys a week of constant submission,@@ and even though she's technically being used, $slaves[$i].slaveName @@.hotpink;doesn't mind@@ being expected to fuck a willing asshole.
 				<<set $slaves[_dom].analCount += _penetrativeUse, $analTotal += _penetrativeUse>>
 				<<if canImpreg($slaves[_dom], $slaves[$i])>>
-					<<KnockMeUp $slaves[_dom] 30 1 $slaves[$i].ID 1>>
+					<<= knockMeUp($slaves[_dom], 30, 1, $slaves[$i].ID, 1)>>
 					<<if $slaves[_dom].pregKnown == 1>>
 						With so many potent deposits into her fertile rear, it comes as little surprise when @@.lime;she ends up pregnant with $slaves[$i].slaveName's child.@@
 					<</if>>
@@ -217,7 +217,7 @@ is serving ''$slaves[_dom].slaveName'' this week.
 				$slaves[_dom].slaveName finds herself with her face pushed firmly into her bedsheets and her _domRace slit accommodating $slaves[$i].slaveName's eager _subRace cock. Afterward, $slaves[_dom].slaveName lavishes kisses on her satisfactory top. $slaves[_dom].slaveName @@.hotpink;enjoys a week of constant submission,@@ and even though she's technically being used, $slaves[$i].slaveName @@.hotpink;doesn't mind@@ being expected to fuck a willing pussy.
 				<<set $slaves[_dom].vaginalCount += _penetrativeUse, $vaginalTotal += _penetrativeUse>>
 				<<if canImpreg($slaves[_dom], $slaves[$i])>>
-					<<KnockMeUp $slaves[_dom] 30 0 $slaves[$i].ID>>
+					<<= knockMeUp($slaves[_dom], 30, 0, $slaves[$i].ID)>>
 					<<if $slaves[_dom].pregKnown == 1>>
 						With so many potent loads kissing her cervix, it comes as little surprise when @@.lime;she ends up pregnant with $slaves[$i].slaveName's child.@@
 					<</if>>
@@ -226,7 +226,7 @@ is serving ''$slaves[_dom].slaveName'' this week.
 				$slaves[_dom].slaveName finds herself with her face pushed firmly into her bedsheets and her _domRace ass accommodating $slaves[$i].slaveName's eager _subRace cock. Afterward, $slaves[_dom].slaveName lavishes kisses on her satisfactory top. $slaves[_dom].slaveName @@.hotpink;enjoys a week of constant submission,@@ and even though she's technically being used, $slaves[$i].slaveName @@.hotpink;doesn't mind@@ being expected to fuck a willing asshole.
 				<<set $slaves[_dom].analCount += _penetrativeUse, $analTotal += _penetrativeUse>>
 				<<if canImpreg($slaves[_dom], $slaves[$i])>>
-					<<KnockMeUp $slaves[_dom] 30 1 $slaves[$i].ID>>
+					<<= knockMeUp($slaves[_dom], 30, 1, $slaves[$i].ID)>>
 					<<if $slaves[_dom].pregKnown == 1>>
 						With so many potent deposits into her fertile rear, it comes as little surprise when @@.lime;she ends up pregnant with $slaves[$i].slaveName's child.@@
 					<</if>>
diff --git a/src/uncategorized/seNonlethalPit.tw b/src/uncategorized/seNonlethalPit.tw
index dcbb2d769ff8d3acb857750a69b120153fbe1945..67812f221313f8906ed73406f61a10f692493758 100644
--- a/src/uncategorized/seNonlethalPit.tw
+++ b/src/uncategorized/seNonlethalPit.tw
@@ -535,7 +535,7 @@ You throw the victor's strap-on down to _winner.slaveName.
 		<<set _loser.analCount += 1, $analTotal += 1>>
 		<<if canImpreg(_loser, _winner) && canPenetrate(_winner) && _loser.mpreg == 1>>
 			<<if !canTalk(_loser)>>_loser.slaveName tries to gesture a protest before _winner.slaveName fills her fertile asspussy with cum, but _winner.slaveName grabs her hands and pins them to keep her from complaining.<<else>>_loser.slaveName starts to scream a protest to stop _winner.slaveName raping her pregnant, but _winner.slaveName grinds her face into the mat to shut her up.<</if>>
-			<<KnockMeUp _loser 50 1 _winner.ID>>
+			<<= knockMeUp(_loser, 50, 1, _winner.ID)>>
 		<</if>>
 	<<elseif (_loser.anus == 0) && canDoVaginal(_loser) && canDoAnal(_loser)>>
 		She pushes _loser.slaveName's back down onto the mat, forces her legs apart, 
@@ -547,21 +547,21 @@ You throw the victor's strap-on down to _winner.slaveName.
 		<<set _loser.vaginalCount += 1, $vaginalTotal += 1>>
 		<<if canImpreg(_loser, _winner) && canPenetrate(_winner)>>
 			<<if !canTalk(_loser)>>_loser.slaveName tries to gesture a protest before _winner.slaveName fills her fertile pussy with cum, but _winner.slaveName grabs her hands and pins them to keep her from complaining.<<else>>_loser.slaveName starts to scream a protest to stop _winner.slaveName raping her pregnant, but _winner.slaveName grinds her face into the mat to shut her up.<</if>>
-			<<KnockMeUp _loser 50 0 _winner.ID>>
+			<<= knockMeUp(_loser, 50, 0, _winner.ID)>>
 		<</if>>
 	<<elseif canDoVaginal(_loser)>>
 		She pushes _loser.slaveName's back down onto the mat, forces her legs apart, and penetrates the loser's cunt.
 		<<set _loser.vaginalCount += 1, $vaginalTotal += 1>>
 		<<if canImpreg(_loser, _winner) && canPenetrate(_winner)>>
 			<<if !canTalk(_loser)>>_loser.slaveName tries to gesture a protest before _winner.slaveName fills her fertile pussy with cum, but _winner.slaveName grabs her hands and pins them to keep her from complaining.<<else>>_loser.slaveName starts to scream a protest to stop _winner.slaveName raping her pregnant, but _winner.slaveName grinds her face into the mat to shut her up.<</if>>
-			<<KnockMeUp _loser 50 0 _winner.ID>>
+			<<= knockMeUp(_loser, 50, 0, _winner.ID)>>
 		<</if>>
 	<<elseif canDoAnal(_loser)>>
 		She pushes _loser.slaveName's back down onto the mat, forces her legs apart, and penetrates the loser's anus.
 		<<set _loser.analCount += 1, $analTotal += 1>>
 		<<if canImpreg(_loser, _winner) && canPenetrate(_winner) && _loser.mpreg == 1>>
 			<<if !canTalk(_loser)>>_loser.slaveName tries to gesture a protest before _winner.slaveName fills her fertile asspussy with cum, but _winner.slaveName grabs her hands and pins them to keep her from complaining.<<else>>_loser.slaveName starts to scream a protest to stop _winner.slaveName raping her pregnant, but _winner.slaveName grinds her face into the mat to shut her up.<</if>>
-			<<KnockMeUp _loser 50 1 _winner.ID>>
+			<<= knockMeUp(_loser, 50, 1, _winner.ID)>>
 		<</if>>
 	<<else>>
 		She considers her options briefly, then hauls the loser to her knees for a facefuck.
@@ -579,7 +579,7 @@ You throw the victor's strap-on down to _winner.slaveName.
 		<<set _loser.vagina++>>
 		<<if canImpreg(_loser, _winner) && canPenetrate(_winner)>>
 			<<if !canTalk(_loser)>>_loser.slaveName tries to gesture a protest before _winner.slaveName fills her fertile pussy with cum, but _winner.slaveName grabs her hands and pins them to keep her from complaining.<<else>>_loser.slaveName starts to scream a protest to stop _winner.slaveName raping her pregnant, but _winner.slaveName grinds her face into the mat to shut her up.<</if>>
-			<<KnockMeUp _loser 50 0 _winner.ID>>
+			<<= knockMeUp(_loser, 50, 0, _winner.ID)>>
 		<</if>>
 	<<elseif (_loser.anus == 0) && canDoAnal(_loser)>>
 		She pushes _loser.slaveName's back down onto the mat, forces her legs apart,
@@ -589,7 +589,7 @@ You throw the victor's strap-on down to _winner.slaveName.
 				<<set _loser.vaginalCount += 1, $vaginalTotal += 1>>
 				<<if canImpreg(_loser, _winner) && canPenetrate(_winner)>>
 					<<if !canTalk(_loser)>>_loser.slaveName tries to gesture a protest before _winner.slaveName fills her fertile pussy with cum, but _winner.slaveName grabs her hands and pins them to keep her from complaining.<<else>>_loser.slaveName starts to scream a protest to stop _winner.slaveName raping her pregnant, but _winner.slaveName grinds her face into the mat to shut her up.<</if>>
-					<<KnockMeUp _loser 50 0 _winner.ID>>
+					<<= knockMeUp(_loser, 50, 0, _winner.ID)>>
 				<</if>>
 			<<else>>
 				and hungrily eyes her anal virginity before hauling the loser onto her knees for a facefuck.
@@ -601,7 +601,7 @@ You throw the victor's strap-on down to _winner.slaveName.
 				<<set _loser.vaginalCount += 1, $vaginalTotal += 1>>
 				<<if canImpreg(_loser, _winner) && canPenetrate(_winner)>>
 					<<if !canTalk(_loser)>>_loser.slaveName tries to gesture a protest before _winner.slaveName fills her fertile pussy with cum, but _winner.slaveName grabs her hands and pins them to keep her from complaining.<<else>>_loser.slaveName starts to scream a protest to stop _winner.slaveName raping her pregnant, but _winner.slaveName grinds her face into the mat to shut her up.<</if>>
-					<<KnockMeUp _loser 50 0 _winner.ID>>
+					<<= knockMeUp(_loser, 50, 0, _winner.ID)>>
 				<</if>>
 			<<else>>
 				and finds only a pristine butthole waiting for her. Respecting her anal virginity, she hauls the loser onto her knees for a facefuck.
@@ -613,14 +613,14 @@ You throw the victor's strap-on down to _winner.slaveName.
 		<<set _loser.vaginalCount += 1, $vaginalTotal += 1>>
 		<<if canImpreg(_loser, _winner) && canPenetrate(_winner)>>
 			<<if !canTalk(_loser)>>_loser.slaveName tries to gesture a protest before _winner.slaveName fills her fertile pussy with cum, but _winner.slaveName grabs her hands and pins them to keep her from complaining.<<else>>_loser.slaveName starts to scream a protest to stop _winner.slaveName raping her pregnant, but _winner.slaveName grinds her face into the mat to shut her up.<</if>>
-			<<KnockMeUp _loser 50 0 _winner.ID>>
+			<<= knockMeUp(_loser, 50, 0, _winner.ID)>>
 		<</if>>
 	<<elseif canDoAnal(_loser)>>
 		She pushes _loser.slaveName's back down onto the mat, forces her legs apart, and penetrates the loser's anus.
 		<<set _loser.analCount += 1, $analTotal += 1>>
 		<<if canImpreg(_loser, _winner) && canPenetrate(_winner) && _loser.mpreg == 1>>
 			<<if !canTalk(_loser)>>_loser.slaveName tries to gesture a protest before _winner.slaveName fills her fertile asspussy with cum, but _winner.slaveName grabs her hands and pins them to keep her from complaining.<<else>>_loser.slaveName starts to scream a protest to stop _winner.slaveName raping her pregnant, but _winner.slaveName grinds her face into the mat to shut her up.<</if>>
-			<<KnockMeUp _loser 50 1 _winner.ID>>
+			<<= knockMeUp(_loser, 50, 1, _winner.ID)>>
 		<</if>>
 	<<else>>
 		She considers her options briefly, then hauls the loser to her knees for a facefuck.
@@ -635,7 +635,7 @@ You throw the victor's strap-on down to _winner.slaveName.
 				<<set _loser.analCount += 1, $analTotal += 1>>
 				<<if canImpreg(_loser, _winner) && canPenetrate(_winner) && _loser.mpreg == 1>>
 					<<if !canTalk(_loser)>>_loser.slaveName tries to gesture a protest before _winner.slaveName fills her fertile asspussy with cum, but _winner.slaveName grabs her hands and pins them to keep her from complaining.<<else>>_loser.slaveName starts to scream a protest to stop _winner.slaveName raping her pregnant, but _winner.slaveName grinds her face into the mat to shut her up.<</if>>
-					<<KnockMeUp _loser 50 1 _winner.ID>>
+					<<= knockMeUp(_loser, 50, 1, _winner.ID)>>
 				<</if>>
 			<<else>>
 				and hungrily eyes her pristine vagina before hauling the loser onto her knees for a facefuck.
@@ -647,7 +647,7 @@ You throw the victor's strap-on down to _winner.slaveName.
 				<<set _loser.vaginalCount += 1, $vaginalTotal += 1>>
 				<<if canImpreg(_loser, _winner) && canPenetrate(_winner)>>
 					<<if !canTalk(_loser)>>_loser.slaveName tries to gesture a protest before _winner.slaveName fills her fertile asspussy with cum, but _winner.slaveName grabs her hands and pins them to keep her from complaining.<<else>>_loser.slaveName starts to scream a protest to stop _winner.slaveName raping her pregnant, but _winner.slaveName grinds her face into the mat to shut her up.<</if>>
-					<<KnockMeUp _loser 50 1 _winner.ID>>
+					<<= knockMeUp(_loser, 50, 1, _winner.ID)>>
 				<</if>>
 			<<else>>
 				and finds only a pristine butthole waiting for her. Respecting her anal virginity, she hauls the loser onto her knees for a facefuck.
@@ -665,21 +665,21 @@ You throw the victor's strap-on down to _winner.slaveName.
 		<<set _loser.anus++>>
 		<<if canImpreg(_loser, _winner) && canPenetrate(_winner) && _loser.mpreg == 1>>
 			<<if !canTalk(_loser)>>_loser.slaveName tries to gesture a protest before _winner.slaveName fills her fertile asspussy with cum, but _winner.slaveName grabs her hands and pins them to keep her from complaining.<<else>>_loser.slaveName starts to scream a protest to stop _winner.slaveName raping her pregnant, but _winner.slaveName grinds her face into the mat to shut her up.<</if>>
-			<<KnockMeUp _loser 50 1 _winner.ID>>
+			<<= knockMeUp(_loser, 50, 1, _winner.ID)>>
 		<</if>>
 	<<elseif canDoVaginal(_loser)>>
 		She pushes _loser.slaveName's back down onto the mat, forces her legs apart, and penetrates the loser's cunt.
 		<<set _loser.vaginalCount += 1, $vaginalTotal += 1>>
 		<<if canImpreg(_loser, _winner) && canPenetrate(_winner)>>
 			<<if !canTalk(_loser)>>_loser.slaveName tries to gesture a protest before _winner.slaveName fills her fertile pussy with cum, but _winner.slaveName grabs her hands and pins them to keep her from complaining.<<else>>_loser.slaveName starts to scream a protest to stop _winner.slaveName raping her pregnant, but _winner.slaveName grinds her face into the mat to shut her up.<</if>>
-			<<KnockMeUp _loser 50 0 _winner.ID>>
+			<<= knockMeUp(_loser, 50, 0, _winner.ID)>>
 		<</if>>
 	<<elseif canDoAnal(_loser)>>
 		She pushes _loser.slaveName's back down onto the mat, forces her legs apart, and penetrates the loser's anus.
 		<<set _loser.analCount += 1, $analTotal += 1>>
 		<<if canImpreg(_loser, _winner) && canPenetrate(_winner) && _loser.mpreg == 1>>
 			<<if !canTalk(_loser)>>_loser.slaveName tries to gesture a protest before _winner.slaveName fills her fertile asspussy with cum, but _winner.slaveName grabs her hands and pins them to keep her from complaining.<<else>>_loser.slaveName starts to scream a protest to stop _winner.slaveName raping her pregnant, but _winner.slaveName grinds her face into the mat to shut her up.<</if>>
-			<<KnockMeUp _loser 50 1 _winner.ID>>
+			<<= knockMeUp(_loser, 50, 1, _winner.ID)>>
 		<</if>>
 	<<else>>
 		She considers her options briefly, then hauls the loser to her knees for a facefuck.
@@ -697,7 +697,7 @@ You throw the victor's strap-on down to _winner.slaveName.
 		<<set _loser.vagina++>>
 		<<if canImpreg(_loser, _winner) && canPenetrate(_winner)>>
 			<<if !canTalk(_loser)>>_loser.slaveName tries to gesture a protest before _winner.slaveName fills her fertile pussy with cum, but _winner.slaveName grabs her hands and pins them to keep her from complaining.<<else>>_loser.slaveName starts to scream a protest to stop _winner.slaveName raping her pregnant, but _winner.slaveName grinds her face into the mat to shut her up.<</if>>
-			<<KnockMeUp _loser 50 0 _winner.ID>>
+			<<= knockMeUp(_loser, 50, 0, _winner.ID)>>
 		<</if>>
 	<<elseif (_loser.anus == 0) && canDoAnal(_loser)>>
 		She pushes _loser.slaveName's back down onto the mat, forces her legs apart, 
@@ -710,21 +710,21 @@ You throw the victor's strap-on down to _winner.slaveName.
 		<<set _loser.anus++>>
 		<<if canImpreg(_loser, _winner) && canPenetrate(_winner) && _loser.mpreg == 1>>
 			<<if !canTalk(_loser)>>_loser.slaveName tries to gesture a protest before _winner.slaveName fills her fertile asspussy with cum, but _winner.slaveName grabs her hands and pins them to keep her from complaining.<<else>>_loser.slaveName starts to scream a protest to stop _winner.slaveName raping her pregnant, but _winner.slaveName grinds her face into the mat to shut her up.<</if>>
-			<<KnockMeUp _loser 50 1 _winner.ID>>
+			<<= knockMeUp(_loser, 50, 1, _winner.ID)>>
 		<</if>>
 	<<elseif canDoVaginal(_loser)>>
 		She pushes _loser.slaveName's back down onto the mat, forces her legs apart, and penetrates the loser's cunt.
 		<<set _loser.vaginalCount += 1, $vaginalTotal += 1>>
 		<<if canImpreg(_loser, _winner) && canPenetrate(_winner)>>
 			<<if !canTalk(_loser)>>_loser.slaveName tries to gesture a protest before _winner.slaveName fills her fertile pussy with cum, but _winner.slaveName grabs her hands and pins them to keep her from complaining.<<else>>_loser.slaveName starts to scream a protest to stop _winner.slaveName raping her pregnant, but _winner.slaveName grinds her face into the mat to shut her up.<</if>>
-			<<KnockMeUp _loser 50 0 _winner.ID>>
+			<<= knockMeUp(_loser, 50, 0, _winner.ID)>>
 		<</if>>
 	<<elseif canDoAnal(_loser)>>
 		She pushes _loser.slaveName's back down onto the mat, forces her legs apart, and penetrates the loser's anus.
 		<<set _loser.analCount += 1, $analTotal += 1>>
 		<<if canImpreg(_loser, _winner) && canPenetrate(_winner) && _loser.mpreg == 1>>
 			<<if !canTalk(_loser)>>_loser.slaveName tries to gesture a protest before _winner.slaveName fills her fertile asspussy with cum, but _winner.slaveName grabs her hands and pins them to keep her from complaining.<<else>>_loser.slaveName starts to scream a protest to stop _winner.slaveName raping her pregnant, but _winner.slaveName grinds her face into the mat to shut her up.<</if>>
-			<<KnockMeUp _loser 50 1 _winner.ID>>
+			<<= knockMeUp(_loser, 50, 1, _winner.ID)>>
 		<</if>>
 	<<else>>
 		She considers her options briefly, then hauls the loser to her knees for a facefuck.
diff --git a/src/uncategorized/seWedding.tw b/src/uncategorized/seWedding.tw
index 4ec6fc4b24faeac101b47dd368b51fae7954590b..ec2b416352515ea8044e4307f50d1e6c77f7409f 100644
--- a/src/uncategorized/seWedding.tw
+++ b/src/uncategorized/seWedding.tw
@@ -644,7 +644,7 @@
 	<<set $analTotal += 50>>
 	<<set $activeSlave.publicCount += 100>>
 	<<if canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
-		<<KnockMeUp $activeSlave 20 2 -2>>
+		<<= knockMeUp($activeSlave, 20, 2, -2)>>
 	<</if>>
 	<<set $rep += 1000>>
 	<<if $activeSlave.fetish == "mindbroken">>
diff --git a/src/uncategorized/servantsQuartersReport.tw b/src/uncategorized/servantsQuartersReport.tw
index 4c616c8524407d86e147fc8e2451900dce701849..35bfb07d8b138cc1a7c70b3c41f01eeaeda93fce 100644
--- a/src/uncategorized/servantsQuartersReport.tw
+++ b/src/uncategorized/servantsQuartersReport.tw
@@ -50,7 +50,7 @@
 		<<for _dI = 0; _dI < _DL; _dI++>>
 			<<set $i = $slaveIndices[$ServQiIDs[_dI]]>>
 			<<if (canImpreg($slaves[$i], $Stewardess))>>
-				<<KnockMeUp $slaves[$i] 100 2 $Stewardess.ID>>
+				<<= knockMeUp($slaves[$i], 100, 2, $Stewardess.ID)>>
 				<<set $slaves[$i].preg = 1, $slaves[$i].pregKnown = 1, $slaves[$i].pregWeek = 1, $slaves[$i].pregSource = $Stewardess.ID>><<set $slaves[$i].pregType = setPregType($slaves[$i])>>
 				<<set WombImpregnate($slaves[$i], $slaves[$i].pregType, $slaves[$i].pregSource, 1)>>
 				<<set $slaves[$i].vagina = Math.clamp($slaves[$i].vagina,1,10), _stewardessImpregnated++, $slaves[$i].vaginalCount += 10, $vaginalTotal += 10>>
diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw
index 2218123a44cb6a1a61620963a6f84cb1776db5d8..84a0ba8f37c1c7e1904ffe2037401560bf4bf214 100644
--- a/src/uncategorized/slaveInteract.tw
+++ b/src/uncategorized/slaveInteract.tw
@@ -387,11 +387,7 @@
 
 	<<if (def $activeSlave.currentRules) && ($activeSlave.currentRules.length > 0)>>
 		<ul>
-		<<for _r = 0; _r < $defaultRules.length; _r++>>
-			<<if ruleApplied($activeSlave, $defaultRules[_r].ID)>>
-				<li>Rule <<print (_r+1)>>: $defaultRules[_r].name applied.</li>
-			<</if>>
-		<</for>>
+			<<= $defaultRules.filter(x => ruleApplied($activeSlave, x)).map(x => `<li>Rule "${x.name}" applied</li>`).join(" ") >>
 		</ul>
 	<</if>>
 	<<link "//Apply rules//">>
diff --git a/src/uncategorized/slaveSummary.tw b/src/uncategorized/slaveSummary.tw
index f3d0c130816ca67ae0ccb50e5cd955761a4d4b65..e0a3c313e861cad7260225dc55582326e0fa231d 100644
--- a/src/uncategorized/slaveSummary.tw
+++ b/src/uncategorized/slaveSummary.tw
@@ -194,8 +194,8 @@
 	<</if>>
 
 	<<if (_Slave.choosesOwnClothes == 1) && (_Slave.clothes == "choosing her own clothes")>>
-		<<set $i = _ssi, _oldDevotion = _Slave.devotion>>
-		<<silently>><<include "SA chooses own clothes">><</silently>>
+		<<set _oldDevotion = _Slave.devotion>>
+		<<run saChoosesOwnClothes(_Slave) >>
 		<<set $slaves[_ssi].devotion = _oldDevotion, _Slave = $slaves[_ssi]>> /* restore devotion value so repeatedly changing clothes isn't an exploit */
 	<</if>>
 	<br style="clear:both" /><<if $lineSeparations == 0>><br><<else>><hr style="margin:0"><</if>><<if ($seeImages == 1) && ($seeSummaryImages == 1)>><div class="imageRef smlImg"><<SlaveArt _Slave 1>></div><</if>>
@@ -556,7 +556,7 @@
 	[[_slaveName|Slave Interact][$activeSlave = $slaves[_ssi]]]
 <</switch>>
 
-<<SlaveStatClamp _Slave>>
+<<run SlaveStatClamp(_Slave)>>
 
 <<set _Slave.trust = Math.trunc(_Slave.trust), _Slave.devotion = Math.trunc(_Slave.devotion), _Slave.health = Math.trunc(_Slave.health)>>
 
diff --git a/src/utility/miscWidgets.tw b/src/utility/miscWidgets.tw
index 8838a12b030fbdeda58c97f7462b2f3c6d0c5175..da06ddc97d5a2e2a25dd5904a0d60f72db0264b4 100644
--- a/src/utility/miscWidgets.tw
+++ b/src/utility/miscWidgets.tw
@@ -68,7 +68,7 @@
 <</if>>
 <<if canDoAnal($activeSlave)>>
 	<<if $PC.dick == 1 && canGetPregnant($activeSlave) && ($activeSlave.eggType == "human")>>
-		<<KnockMeUp $activeSlave 10 1 -1 1>>
+		<<= knockMeUp($activeSlave, 10, 1, -1, 1)>>
 	<</if>>
 	<<if $args[0]>>
 		<<set $analTotal += $args[0],
@@ -123,7 +123,7 @@
 		$activeSlave.vaginalCount++>>
 	<</if>>
 	<<if $PC.dick == 1 && canGetPregnant($activeSlave) && ($activeSlave.eggType == "human")>>
-		<<KnockMeUp $activeSlave 10 0 -1 1>>
+		<<= knockMeUp($activeSlave, 10, 0, -1, 1)>>
 	<</if>>
 <</if>>
 <</widget>>
@@ -203,7 +203,7 @@
 			<<set $vaginalTotal++, $analTotal++, $activeSlave.vaginalCount++, $activeSlave.analCount++>>
 		<</if>>
 		<<if $PC.dick == 1 && canGetPregnant($activeSlave) && ($activeSlave.eggType == "human")>>
-			<<KnockMeUp $activeSlave 10 1 -1 1>>
+			<<= knockMeUp($activeSlave, 10, 1, -1, 1)>>
 		<</if>>
 	<<else>>
 		<<if $args[1]>>
@@ -212,7 +212,7 @@
 			<<set $vaginalTotal++, $activeSlave.vaginalCount++>>
 		<</if>>
 		<<if $PC.dick == 1 && canGetPregnant($activeSlave) && ($activeSlave.eggType == "human")>>
-			<<KnockMeUp $activeSlave 10 0 -1 1>>
+			<<= knockMeUp($activeSlave, 10, 0, -1, 1)>>
 		<</if>>
 	<</if>>
 <<elseif canDoAnal($activeSlave)>>
@@ -245,7 +245,7 @@
 		$activeSlave.analCount++>>
 	<</if>>
 	<<if $PC.dick == 1 && canGetPregnant($activeSlave) && ($activeSlave.eggType == "human")>>
-		<<KnockMeUp $activeSlave 10 1 -1 1>>
+		<<= knockMeUp($activeSlave, 10, 1, -1, 1)>>
 	<</if>>
 <</if>>
 <</widget>>
@@ -283,7 +283,7 @@
 		$activeSlave.vaginalCount++>>
 	<</if>>
 	<<if $PC.dick == 1 && canGetPregnant($activeSlave) && ($activeSlave.eggType == "human")>>
-		<<KnockMeUp $activeSlave 10 0 -1 1>>
+		<<= knockMeUp($activeSlave, 10, 0, -1, 1)>>
 	<</if>>
 <<elseif canDoAnal($activeSlave)>>
 	<<if ($activeSlave.anus == 0)>>
@@ -315,7 +315,7 @@
 		$activeSlave.analCount++>>
 	<</if>>
 	<<if $PC.dick == 1 && canGetPregnant($activeSlave) && ($activeSlave.eggType == "human")>>
-		<<KnockMeUp $activeSlave 10 1 -1 1>>
+		<<= knockMeUp($activeSlave, 10, 1, -1, 1)>>
 	<</if>>
 <</if>>
 <</widget>>
@@ -335,12 +335,12 @@
 		<<elseif canDoVaginal($args[0]) && $args[0].vagina > 0 && _fuckTarget > 33>>
 			<<set $vaginalTotal++, $args[0].vaginalCount++>>
 			<<if $PC.dick == 1 && canGetPregnant($args[0]) && ($args[0].eggType == "human")>>
-				<<KnockMeUp $args[0] 10 0 -1 1>>
+				<<= knockMeUp($args[0], 10, 0, -1, 1)>>
 			<</if>>
 		<<elseif canDoAnal($args[0]) && $args[0].anus > 0 && _fuckTarget > 10>>
 			<<set $analTotal++, $args[0].analCount++>>
 			<<if $PC.dick == 1 && canGetPregnant($args[0]) && ($args[0].eggType == "human")>>
-				<<KnockMeUp $args[0] 10 1 -1 1>>
+				<<= knockMeUp($args[0], 10, 1, -1, 1)>>
 			<</if>>
 		<<else>>
 			<<set $oralTotal++, $args[0].oralCount++>>
@@ -353,12 +353,12 @@
 	<<elseif canDoVaginal($args[0]) && $args[0].vagina > 0 && _fuckTarget > 33>>
 		<<set $vaginalTotal++, $args[0].vaginalCount++>>
 		<<if $PC.dick == 1 && canGetPregnant($args[0]) && ($args[0].eggType == "human")>>
-			<<KnockMeUp $args[0] 10 0 -1 1>>
+			<<= knockMeUp($args[0], 10, 0, -1, 1)>>
 		<</if>>
 	<<elseif canDoAnal($args[0]) && $args[0].anus > 0 && _fuckTarget > 10>>
 		<<set $analTotal++, $args[0].analCount++>>
 		<<if $PC.dick == 1 && canGetPregnant($args[0]) && ($args[0].eggType == "human")>>
-			<<KnockMeUp $args[0] 10 1 -1 1>>
+			<<= knockMeUp($args[0], 10, 1, -1, 1)>>
 		<</if>>
 	<<else>>
 		<<set $oralTotal++, $args[0].oralCount++>>
@@ -438,11 +438,11 @@
 				<<set $penetrativeTotal++, $args[1].penetrativeCount++>>
 			<</if>>
 			<<if canImpreg($args[0], $args[1])>>
-				<<KnockMeUp $args[0] 3 0 $args[1].ID 1>>
+				<<= knockMeUp($args[0], 3, 0, $args[1].ID, 1)>>
 			<</if>>
 		<<elseif canDoAnal($args[0]) && $args[0].anus > 0 && canPenetrate($args[1]) && _fuckTarget > 10>>
 			<<if canImpreg($args[0], $args[1])>>
-				<<KnockMeUp $args[0] 3 1 $args[1].ID 1>>
+				<<= knockMeUp($args[0], 3, 1, $args[1].ID, 1)>>
 			<</if>>
 			<<if passage() == "SA serve your other slaves">>
 				<<if $args[0].ID == $slaves[$i].ID>>
@@ -489,7 +489,7 @@
 			<<set $penetrativeTotal++, $args[1].penetrativeCount++>>
 		<</if>>
 		<<if canImpreg($args[0], $args[1])>>
-			<<KnockMeUp $args[0] 3 0 $args[1].ID 1>>
+			<<= knockMeUp($args[0], 3, 0, $args[1].ID, 1)>>
 		<</if>>
 	<<elseif canDoAnal($args[0]) && $args[0].anus > 0 && canPenetrate($args[1]) && _fuckTarget > 10>>
 		<<if passage() == "SA serve your other slaves">>
@@ -505,7 +505,7 @@
 			<<set $penetrativeTotal++, $args[1].penetrativeCount++>>
 		<</if>>
 		<<if canImpreg($args[0], $args[1])>>
-			<<KnockMeUp $args[0] 3 1 $args[1].ID 1>>
+			<<= knockMeUp($args[0], 3, 1, $args[1].ID, 1)>>
 		<</if>>
 	<<else>>
 		<<set $oralTotal++, $args[0].oralCount++>>
@@ -574,7 +574,7 @@
 			<<set $vaginalTotal++, $analTotal++, $slaves[$partner].vaginalCount++, $slaves[$partner].analCount++>>
 		<</if>>
 		<<if $PC.dick == 1 && canGetPregnant($slaves[$partner]) && ($slaves[$partner].eggType == "human")>>
-			<<KnockMeUp $slaves[$partner] 10 2 -1>>
+			<<= knockMeUp($slaves[$partner], 10, 2, -1)>>
 		<</if>>
 	<<else>>
 		<<if $args[1]>>
@@ -583,7 +583,7 @@
 			<<set $vaginalTotal++, $slaves[$partner].vaginalCount++>>
 		<</if>>
 		<<if $PC.dick == 1 && canGetPregnant($slaves[$partner]) && ($slaves[$partner].eggType == "human")>>
-			<<KnockMeUp $slaves[$partner] 10 0 -1>>
+			<<= knockMeUp($slaves[$partner], 10, 0, -1)>>
 		<</if>>
 	<</if>>
 <<elseif canDoAnal($slaves[$partner])>>
@@ -599,7 +599,7 @@
 		$slaves[$partner].analCount++>>
 	<</if>>
 	<<if $PC.dick == 1 && canGetPregnant($slaves[$partner]) && ($slaves[$partner].eggType == "human")>>
-		<<KnockMeUp $slaves[$partner] 10 1 -1>>
+		<<= knockMeUp($slaves[$partner], 10, 1, -1)>>
 	<</if>>
 <</if>>
 @@
@@ -2000,122 +2000,15 @@
  $args[0]: Slave.
 %/
 <<widget "Enunciate">>
-	<<if SlaveStatsChecker.checkForLisp($args[0])>>
-		<<if def $PC.customTitleLisp>><<set $titleEnunciate = $PC.customTitleLisp>><<elseif $PC.title != 0>><<set $titleEnunciate = "Mathter">><<else>><<set $titleEnunciate = "Mithtreth">><</if>>
-		<<if $allowFamilyTitles == 1>>
-			<<if $args[0].father == -1>>
-				<<if $args[0].actualAge < 4 && $args[0].physicalAge < 4>>
-					<<set $titleEnunciate = "Dadda">>
-				<<elseif $args[0].actualAge < 9>>
-					<<set $titleEnunciate = "Daddy">>
-				<<else>>
-					<<set $titleEnunciate = "Dad">>
-				<</if>>
-			<<elseif $args[0].mother == -1>>
-				<<if $args[0].actualAge < 4 && $args[0].physicalAge < 4>>
-					<<set $titleEnunciate = "Mama">>
-				<<elseif $args[0].actualAge < 9>>
-					<<set $titleEnunciate = "Mommy">>
-				<<else>>
-					<<set $titleEnunciate = "Mom">>
-				<</if>>
-			<<elseif $PC.mother == $args[0].ID || $PC.father == $args[0].ID>>
-				<<if $PC.title == 1>>
-					<<set $titleEnunciate = "Thon">>
-				<<elseif $PC.title == 0>>
-					<<set $titleEnunciate = "Daughter">>
-				<</if>>
-			<<elseif areSisters($args[0], $PC) > 0>>
-				<<if $PC.title == 1>>
-					<<if $args[0].actualAge < 18>>
-						<<set $titleEnunciate = "Bro">>
-					<<else>>
-						<<set $titleEnunciate = "Brother">>
-					<</if>>
-				<<elseif $PC.title == 0>>
-					<<if $args[0].actualAge < 18>>
-						<<set $titleEnunciate = "Thith">>
-					<<else>>
-						<<set $titleEnunciate = "Thithter">>
-					<</if>>
-				<</if>>
-			<</if>>
-		<</if>>
-		<<if def $args[0].customTitleLisp && $args[0].customTitleLisp != "">>
-			<<set $titleEnunciate = $args[0].customTitleLisp>>
-		<</if>>
-		<<set $sayEnunciate = "lisp">>
-		<<set $sEnunciate = "th">>
-		<<set $SEnunciate = "Th">>
-		<<set $ssEnunciate = "th">>
-		<<set $cEnunciate = "th">>
-		<<set $ccEnunciate = "th">>
-		<<set $zEnunciate = "th">>
-		<<set $shEnunciate = "th">>
-		<<set $ShEnunciate = "Th">>
-		<<set $xEnunciate = "kth">>
-	<<else>>
-		<<if def $PC.customTitle>><<set $titleEnunciate = $PC.customTitle>><<elseif $PC.title != 0>><<set $titleEnunciate = "Master">><<else>><<set $titleEnunciate = "Mistress">><</if>>
-		<<if $allowFamilyTitles == 1>>
-			<<if $args[0].father == -1>>
-				<<if $args[0].actualAge < 4 && $args[0].physicalAge < 4>>
-					<<set $titleEnunciate = "Dadda">>
-				<<elseif $args[0].actualAge < 9>>
-					<<set $titleEnunciate = "Daddy">>
-				<<else>>
-					<<set $titleEnunciate = "Dad">>
-				<</if>>
-			<<elseif $args[0].mother == -1>>
-				<<if $args[0].actualAge < 4 && $args[0].physicalAge < 4>>
-					<<set $titleEnunciate = "Mama">>
-				<<elseif $args[0].actualAge < 9>>
-					<<set $titleEnunciate = "Mommy">>
-				<<else>>
-					<<set $titleEnunciate = "Mom">>
-				<</if>>
-			<<elseif $PC.mother == $args[0].ID || $PC.father == $args[0].ID>>
-				<<if $PC.title == 1>>
-					<<set $titleEnunciate = "Son">>
-				<<elseif $PC.title == 0>>
-					<<set $titleEnunciate = "Daughter">>
-				<</if>>
-			<<elseif areSisters($args[0], $PC) > 0>>
-				<<if $PC.title == 1>>
-					<<if $args[0].actualAge < 18>>
-						<<set $titleEnunciate = "Bro">>
-					<<else>>
-						<<set $titleEnunciate = "Brother">>
-					<</if>>
-				<<elseif $PC.title == 0>>
-					<<if $args[0].actualAge < 18>>
-						<<set $titleEnunciate = "Sis">>
-					<<else>>
-						<<set $titleEnunciate = "Sister">>
-					<</if>>
-				<</if>>
-			<</if>>
-		<</if>>
-		<<if def $args[0].customTitle && $args[0].customTitle != "">>
-			<<set $titleEnunciate = $args[0].customTitle>>
-		<</if>>
-		<<if def $PC.customTitle>><<set $writtenTitle = $PC.customTitle>><<elseif $PC.title != 0>><<set $writtenTitle = "Master">><<else>><<set $writtenTitle = "Mistress">><</if>>
-		<<if def $args[0].customTitle && $args[0].customTitle != "" && $args[0].rudeTitle == 0>>
-			<<set $writtenTitle = $args[0].customTitle>>
-		<</if>>
-		<<set $sayEnunciate = "say">>
-		<<set $sEnunciate = "s">>
-		<<set $SEnunciate = "S">>
-		<<set $ssEnunciate = "ss">>
-		<<set $cEnunciate = "c">>
-		<<set $ccEnunciate = "cc">>
-		<<set $zEnunciate = "z">>
-		<<set $shEnunciate = "sh">>
-		<<set $ShEnunciate = "Sh">>
-		<<set $xEnunciate = "x">>
-	<</if>>
+	<<run Enunciate($args[0]) >>
 <</widget>>
+
 <<widget "Master">><<if def $args[0]>><<Enunciate $args[0]>><<elseif ndef $titleEnunciate>><<Enunciate $activeSlave>><</if>>$titleEnunciate<</widget>>
-<<widget "WrittenMaster">><<if def $args[0]>><<Enunciate $args[0]>><<elseif ndef $titleEnunciate>><<Enunciate $activeSlave>><</if>>$writtenTitle<</widget>>
+
+<<widget "WrittenMaster">>
+	<<= WrittenMaster($args[0]) >>
+<</widget>>
+
 <<widget "say">><<if def $args[0] && $sayEnunciate != "lisp">>$args[0]<<else>>$sayEnunciate<</if>><</widget>>
 <<widget "s">>$sEnunciate<</widget>>
 <<widget "S">>$SEnunciate<</widget>>
@@ -2773,64 +2666,6 @@ This experience
 	<</if>>
 <</widget>>
 
-/*
- Penetrative ability, ability to become pregnant, and canBreed() must be checked outside of this. Designed to assume .eggType == "human".
- $args[0] is the target to get pregnant.
- $args[1] is the % chance to concieve.
- $args[2] control's the hole involved (0 - vagina, 1 - ass, 2 - both). .mpreg did this.
- $args[3] is the ID of her sire or 0 if undefined.
- $args[4] is an override if defined - $args[3] must be defined in this case.
-*/
-<<widget "KnockMeUp">>
-	<<if $seePreg != 0>>
-		<<if random(0,99) < ($args[1]+($reproductionFormula*(($args[0].pregSource <= 0) ? (($args[0].ID == -1) ? 0 : 10) : 20)))>>
-			<<if $args[0].mpreg === $args[2]>>
-				<<set $args[0].preg = 1>>
-				<<set $args[0].pregSource = $args[3] || 0>>
-				<<if $args[0].ID != -1>>
-					<<set $args[0].pregWeek = 1>>
-				<</if>>
-				<<set $args[0].pregType = setPregType($args[0])>>
-				<<set WombImpregnate($args[0], $args[0].pregType, $args[0].pregSource, 1)>>
-				<<if $menstruation == 1>>
-				<<elseif ndef $args[4]>>
-					<<set $args[0].pregKnown = 1>>
-					<<if $args[0].ID == -1>>
-						/*@@.lime;You have gotten pregnant.@@*/
-					<<elseif $args[0].fuckdoll == 0>>
-						@@.lime;She has become pregnant.@@
-					<<else>>
-						@@.lime;It has become pregnant.@@
-					<</if>>
-				<<else>>
-					<<set $args[0].pregKnown = 1>>
-				<</if>>
-			<<elseif $args[2] == 2>>
-				<<set $args[0].preg = 1>>
-				<<set $args[0].pregSource = $args[3] || 0>>
-				<<if $args[0].ID != -1>>
-					<<set $args[0].pregWeek = 1>>
-				<</if>>
-				<<set $args[0].pregType = setPregType($args[0])>>
-				<<set WombImpregnate($args[0], $args[0].pregType, $args[0].pregSource, 1)>>
-				<<if $menstruation == 1>>
-				<<elseif ndef $args[4]>>
-					<<set $args[0].pregKnown = 1>>
-					<<if $args[0].ID == -1>>
-						/*@@.lime;You have gotten pregnant.@@*/
-					<<elseif $args[0].fuckdoll == 0>>
-						@@.lime;She has become pregnant.@@
-					<<else>>
-						@@.lime;It has become pregnant.@@
-					<</if>>
-				<<else>>
-					<<set $args[0].pregKnown = 1>>
-				<</if>>
-			<</if>>
-		<</if>>
-	<</if>>
-<</widget>>
-
 /* see how they are on a single line? This permits "."s and other things to be appended directly onto the widget result */
 <<widget "PlayerName">><<if $surnameOrder != 1>><<switch $PC.nationality>><<case "Cambodian" "Chinese" "Hungarian" "Japanese" "Korean" "Mongolian" "Taiwanese" "Vietnamese">><<if $PC.surname>>$PC.surname <</if>>$PC.name<<default>>$PC.name<<if $PC.surname>> $PC.surname<</if>><</switch>><<else>>$PC.name<<if $PC.surname>> $PC.surname<</if>><</if>><</widget>>
 
diff --git a/src/utility/saRulesWidgets.tw b/src/utility/saRulesWidgets.tw
index d386b237c2fe67a897570e1c97938d58d3e9ede6..08195319e28921145e18b0d6ffb76a488bde8160 100644
--- a/src/utility/saRulesWidgets.tw
+++ b/src/utility/saRulesWidgets.tw
@@ -359,7 +359,7 @@ and
 						<<if $slaves[$i].dick > 9>>
 							leaving her @@.mediumorchid;desperately fucking herself@@ in an effort to get pregnant since @@.gold;you won't <<if $PC.dick == 1>>give her<<else>>let her find<</if>> the dick she needs.@@
 							<<if canImpregnate($slaves[$i], $slaves[$i])>>
-								<<KnockMeUp $slaves[$i] 5 2 $slaves[$i].ID 1>>
+								<<= knockMeUp($slaves[$i], 5, 2, $slaves[$i].ID, 1)>>
 							<</if>>
 							<<if $slaves[$i].mpreg == 1 && $slaves[$i].anus == 0>>
 								@@.lime;She is so baby crazed she takes her own anal virginity.@@
diff --git a/src/utility/summaryWidgets.tw b/src/utility/summaryWidgets.tw
index 81230ca90974a906092b73ded418f265264afea2..366e4ed72bee24e60e7a9127c9a38adf2d02495e 100644
--- a/src/utility/summaryWidgets.tw
+++ b/src/utility/summaryWidgets.tw
@@ -4,40 +4,5 @@
  Call as <<SlaveStatClamp $slave>>
 %/
 <<widget "SlaveStatClamp">>
-<<set $args[0].energy = Math.clamp($args[0].energy, 0, 100)>>
-
-<<if $args[0].devotion > 100>>
-	<<if $args[0].trust < -95>>
-		<<set $args[0].trust = -100>>
-	<<elseif ($args[0].trust < 100) && ($args[0].trust >= 20)>>
-		<<set $args[0].trust += (Math.trunc(($args[0].devotion-100)*5)/10)>>
-	<<else>>
-		<<set $rep += 10*($args[0].devotion-100)>>
-	<</if>>
-	<<set $args[0].devotion = 100>>
-<<elseif $args[0].devotion < -95>>
-	<<set $args[0].devotion = -100>>
-<</if>>
-<<if $args[0].trust > 100>>
-	<<if $args[0].devotion < -95>>
-		<<set $args[0].devotion = -100>>
-	<<elseif $args[0].devotion < 100 && $args[0].devotion >= 20>>
-		<<set $args[0].devotion += Math.trunc($args[0].trust-100)>>
-	<<else>>
-		<<set $rep += 10*($args[0].trust-100)>>
-	<</if>>
-	<<set $args[0].trust = 100>>
-<<elseif $args[0].trust < -95>>
-	<<set $args[0].trust = -100>>
-<</if>>
-<<if $args[0].trust < -100>><<set $args[0].trust = -100>><</if>>
-<<if $args[0].devotion < -100>><<set $args[0].devotion = -100>><</if>>
-<<if isNaN($args[0].oralCount)>><<set $args[0].oralCount = 0>>//Oral count has broken, report what you just did!<</if>>
-<<if isNaN($args[0].analCount)>><<set $args[0].analCount = 0>>//Anal count has broken, report what you just did!<</if>>
-<<if isNaN($args[0].vaginalCount)>><<set $args[0].vaginalCount = 0>>//Vaginal count has broken, report what you just did!<</if>>
-<<if isNaN($args[0].mammaryCount)>><<set $args[0].mammaryCount = 0>>//Titfuck count has broken, report what you just did!<</if>>
-<<if isNaN($args[0].penetrativeCount)>><<set $args[0].penetrativeCount = 0>>//Penetration count has broken, report what you just did!<</if>>
-<<if ndef $args[0].foreskin>><<set $args[0].foreskin = 0>><</if>>
-<<if $args[0].amp != 0 && $args[0].heels == 1>><<set $args[0].heels = 0>><</if>>
-<<if $args[0].vagina < 0 && $args[0].mpreg == 0 && $args[0].preg == -1>><<set $args[0].preg = 0, WombFlush($args[0])>><</if>>
+<<run SlaveStatClamp($args[0]) >>
 <</widget>>