diff --git a/src/js/rulesAssistant.tw b/src/js/rulesAssistant.tw
index 9f595633523e4f1dca833391d031191fd6e55fa6..f63cfa08f992b13428a392513257a17391a83c80 100644
--- a/src/js/rulesAssistant.tw
+++ b/src/js/rulesAssistant.tw
@@ -60,30 +60,6 @@ window.lastPregRule = function(slave, rules) {
 	return null;
 };
 
-window.autoSurgerySelector = function(slave, ruleset) {
-
-	var appRules = ruleset.filter(function(rule){
-			return (rule.autoSurgery == 1) && this.currentRules.contains(rule.ID);
-		}, slave);
-
-	var surgery = {eyes: "no default setting", lactation: "no default setting", cosmetic: "no default setting", accent: "no default setting", shoulders: "no default setting", shouldersImplant: "no default setting", boobs: "no default setting", hips: "no default setting", hipsImplant: "no default setting", butt: "no default setting", faceShape: "no default setting", lips: "no default setting", holes: "no default setting", bodyhair: "no default setting", hair: "no default setting", bellyImplant: "no default setting"};
-	var i, key, ruleSurgery;
-
-	for (i in appRules)
-	{
-		ruleSurgery = appRules[i].surgery;
-		for (key in ruleSurgery)
-		{
-			if (ruleSurgery[key] != "no default setting" || ruleSurgery[key] != "no default setting")
-			{	
-				surgery[key] = ruleSurgery[key];
-			}
-		}
-	}
-
-	return surgery;
-}
-
 window.mergeRules = function(rules) {
     var combinedRule = {};
 
diff --git a/src/js/rulesAutosurgery.tw b/src/js/rulesAutosurgery.tw
new file mode 100644
index 0000000000000000000000000000000000000000..d079e7aa7ba2e2283fd4ab5ca6fe06424a14eae7
--- /dev/null
+++ b/src/js/rulesAutosurgery.tw
@@ -0,0 +1,464 @@
+:: rules autosurgery js [script]
+
+window.rulesAutosurgery = (function() {
+	"use strict"
+	let V
+	let r = ""
+	return rulesAutoSurgery
+
+	function rulesAutoSurgery() {
+		V = State.variables
+		V.surgeries = []
+		delete V.thisSurgery
+
+		ProcessHGTastes()
+	}
+	
+	function autoSurgerySelector(slave, ruleset) {
+		const apply = ruleset.filter(rule => rule.set.autoSurgery == 1 && slave.currentRules.contains(rule.ID));
+
+		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"
+		};
+		apply.forEach(rule => {
+			Object.keys(surgery).forEach(key => {
+				if (rule[key] !== "no default setting")
+					surgery[key] = rule[key];
+			})
+		})
+		return surgery;
+	}
+
+	function ProcessHGTastes() {
+		switch (V.HGTastes) {
+		case 1:
+			V.thisSurgery = {
+				surgery_lactation: 0,
+				surgery_cosmetic: 1,
+				surgery_faceShape: "cute",
+				surgery_lips: 10,
+				surgery_hips: 0,
+				surgery_hipsImplant: 0,
+				surgery_butt: 0,
+				surgery_accent: 0,
+				surgery_shoulders: 0,
+				surgery_shouldersImplant: 0,
+				surgery_boobs: 0,
+				surgery_holes: 0
+			}
+			break 
+		case 2:
+			V.thisSurgery = {
+				surgery_lactation: 0,
+				surgery_cosmetic: 1,
+				surgery_faceShape: "cute",
+				surgery_lips: 60,
+				surgery_hips: 0,
+				surgery_hipsImplant: 0,
+				surgery_butt: 4,
+				surgery_accent: 0,
+				surgery_shoulders: 0,
+				surgery_shouldersImplant: 0,
+				surgery_boobs: 1200,
+				surgery_holes: 0
+			}
+			break
+		case 3:
+			V.thisSurgery = {
+				surgery_lactation: 0,
+				surgery_cosmetic: 1,
+				surgery_faceShape: "cute",
+				surgery_lips: 95,
+				surgery_hips: 0,
+				surgery_hipsImplant: 0,
+				surgery_butt: 8,
+				surgery_accent: 0,
+				surgery_shoulders: 0,
+				surgery_shouldersImplant: 0,
+				surgery_boobs: 10000,
+				surgery_holes: 2
+			}
+			break
+		case 4:
+			V.thisSurgery = {
+				surgery_lactation: 1,
+				surgery_cosmetic: 1,
+				surgery_faceShape: "cute",
+				surgery_lips: 10,
+				surgery_hips: 3,
+				surgery_hipsImplant: 0,
+				surgery_butt: 0,
+				surgery_accent: 0,
+				surgery_shoulders: 0,
+				surgery_shouldersImplant: 0,
+				surgery_boobs: 0,
+				surgery_holes: 0
+			}
+			break
+		default:
+			V.thisSurgery = autoSurgerySelector(V.slaves[V.i], V.defaultRules)
+			if ((V.thisSurgery.surgery_hips !== "no default setting") && (V.thisSurgery.surgery_butt !== "no default setting")) {
+				if (V.slaves[V.i].hips < -1) {
+					if (V.thisSurgery.surgery_butt > 2)
+						V.thisSurgery.surgery_butt = 2
+				} else if (V.slaves[V.i].hips < 0) {
+					if (V.thisSurgery.surgery_butt > 4)
+						V.thisSurgery.surgery_butt = 4
+				} else if (V.slaves[V.i].hips > 0) {
+					if (V.thisSurgery.surgery_butt > 8)
+						V.thisSurgery.surgery_butt = 8
+				} else if (V.slaves[V.i].hips > 1) {
+					true
+				} else {
+					if (V.thisSurgery.surgery_butt > 6)
+						V.thisSurgery.surgery_butt = 6
+				}
+			}
+			break
+		}
+	}
+})()
+
+/*
+
+<<set $seed = 0>>
+<<for $seed == 0>>
+	<<if ($slaves[$i].health <= 20)>>
+		<<set $seed = 1>>
+	<<else>>
+		<<if ($slaves[$i].eyes == -1) && ($thisSurgery.eyes == 1)>>
+			<<set $surgeries.push("surgery to correct her vision"), $slaves[$i].eyes = 1, $cash -= $surgeryCost>>
+			<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+		<<elseif ($slaves[$i].eyes == 1) && ($thisSurgery.eyes == -1)>>
+			<<set $surgeries.push("surgery to blur her vision"), $slaves[$i].eyes = -1, $cash -= $surgeryCost>>
+			<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+		<<elseif ($slaves[$i].lactation == 2) && ($thisSurgery.lactation == 0)>>
+			<<set $surgeries.push("surgery to remove her lactation implants"), $slaves[$i].lactation = 0, $cash -= $surgeryCost>>
+			<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+		<<elseif $slaves[$i].lactation != 2 && ($thisSurgery.lactation == 1)>>
+			<<set $surgeries.push("lactation inducing implanted drugs"), $slaves[$i].lactation = 2, $cash -= $surgeryCost>>
+			<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+		<<elseif ($slaves[$i].prostate == 2) && ($thisSurgery.prostate == 0)>>
+			<<set $surgeries.push("surgery to remove her prostate implant"), $slaves[$i].prostate = 0, $cash -= $surgeryCost>>
+			<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+		<<elseif $slaves[$i].prostate == 1 && ($thisSurgery.prostate == 1)>>
+			<<set $surgeries.push("a precum production enhancing drug implant"), $slaves[$i].prostate = 2, $cash -= $surgeryCost>>
+			<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+		<<elseif ($slaves[$i].anus > 3) && ($thisSurgery.cosmetic > 0)>>
+			<<set $surgeries.push("a restored anus")>>
+			<<set $slaves[$i].anus = 3>>
+			<<if $slaves[$i].analSkill > 10>>
+				<<set $slaves[$i].analSkill -= 10>>
+			<</if>>
+			<<set $cash -= $surgeryCost>>
+			<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+		<<elseif ($slaves[$i].vagina > 3) && ($thisSurgery.cosmetic > 0)>>
+			<<set $surgeries.push("a restored pussy")>>
+			<<set $slaves[$i].vagina = 3>>
+			<<if $slaves[$i].vaginalSkill > 10>>
+				<<set $slaves[$i].vaginalSkill -= 10>>
+			<</if>>
+			<<set $cash -= $surgeryCost>>
+			<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+		<<elseif ($slaves[$i].faceImplant <= 15) && ($slaves[$i].face <= 95) && ($thisSurgery.cosmetic > 0)>>
+			<<set $surgeries.push("a nicer face")>>
+			<<if $slaves[$i].faceShape == "masculine">><<set $slaves[$i].faceShape = "androgynous">><</if>>
+			<<set $slaves[$i].faceImplant += 25-5*Math.trunc($PC.medicine/100)-5*$surgeryUpgrade>>
+			<<set $slaves[$i].face = Math.clamp($slaves[$i].face+20,-100,100)>>
+			<<set $cash -= $surgeryCost>>
+			<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+		<<elseif ($slaves[$i].faceImplant <= 15) && ($slaves[$i].ageImplant != 1) && ($slaves[$i].visualAge >= 25) && ($thisSurgery.cosmetic > 0)>>
+			<<set $surgeries.push("an age lift")>>
+			<<set $slaves[$i].ageImplant = 1>>
+			<<set $slaves[$i].faceImplant += 25-5*Math.trunc($PC.medicine/100)-5*$surgeryUpgrade>>
+			<<if $slaves[$i].visualAge > 80>>
+				<<set $slaves[$i].visualAge -= 40>>
+			<<elseif $slaves[$i].visualAge >= 70>>
+				<<set $slaves[$i].visualAge -= 30>>
+			<<elseif $slaves[$i].visualAge > 50>>
+				<<set $slaves[$i].visualAge -= 20>>
+			<<elseif $slaves[$i].visualAge > 36>>
+				<<set $slaves[$i].visualAge -= 10>>
+			<<else>>
+				<<set $slaves[$i].visualAge -= 5>>
+			<</if>>
+			<<set $cash -= $surgeryCost>>
+			<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+		<<elseif (($slaves[$i].underArmHStyle != "bald" && $slaves[$i].underArmHStyle != "hairless") || ($slaves[$i].pubicHStyle != "bald" && $slaves[$i].pubicHStyle != "hairless")) && ($thisSurgery.bodyhair == 2)>>
+			<<set $surgeries.push("body hair removal")>>
+			<<if $slaves[$i].underArmHStyle != "hairless">><<set $slaves[$i].underArmHStyle = "bald">><</if>>
+			<<if $slaves[$i].pubicHStyle != "hairless">><<set $slaves[$i].pubicHStyle = "bald">><</if>>
+			<<set $cash -= $surgeryCost>>
+		<<elseif ($slaves[$i].bald == 0 || $slaves[$i].hStyle != "bald") && ($thisSurgery.hair == 2)>>
+			<<set $surgeries.push("hair removal")>>
+			<<set $slaves[$i].hStyle = "bald", $slaves[$i].bald = 1>>
+			<<set $cash -= $surgeryCost>>
+		<<elseif ($slaves[$i].weight >= 10) && ($thisSurgery.cosmetic > 0)>>
+			<<set $surgeries.push("liposuction")>>
+			<<set $slaves[$i].weight -= 50>>
+			<<set $cash -= $surgeryCost>>
+			<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+		<<elseif ($slaves[$i].voice == 1) && ($slaves[$i].voiceImplant == 0) && ($thisSurgery.cosmetic > 0)>>
+			<<set $surgeries.push("a feminine voice")>>
+			<<set $slaves[$i].voice += 1>>
+			<<set $slaves[$i].voiceImplant += 1>>
+			<<set $cash -= $surgeryCost>>
+			<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+		<<elseif ($slaves[$i].waist >= -10) && ($thisSurgery.cosmetic > 0)>>
+			<<set $surgeries.push("a narrower waist")>>
+			<<set $slaves[$i].waist -= 20>>
+			<<set $cash -= $surgeryCost>>
+			<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+		<<elseif (($slaves[$i].boobShape == "saggy") || ($slaves[$i].boobShape == "downward-facing")) && ($thisSurgery.cosmetic > 0) && ($slaves[$i].breastMesh != 1)>>
+			<<set $surgeries.push("a breast lift")>>
+			<<set $slaves[$i].boobShape = "normal">>
+			<<set $cash -= $surgeryCost>>
+			<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+		<<elseif (($slaves[$i].boobShape == "normal") || ($slaves[$i].boobShape == "wide-set")) && ($thisSurgery.cosmetic > 0) && ($slaves[$i].breastMesh != 1)>>
+			<<if $slaves[$i].boobs > 800>>
+				<<set $slaves[$i].boobShape = "torpedo-shaped">>
+			<<else>>
+				<<set $slaves[$i].boobShape = "perky">>
+			<</if>>
+			<<set $surgeries.push("more interestingly shaped breasts")>>
+			<<set $cash -= $surgeryCost>>
+			<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+		<<elseif ($thisSurgery.lips == 0) && ($slaves[$i].lipsImplant > 0)>>
+			<<set $surgeries.push("surgery to remove her lip implants")>>
+			<<set $slaves[$i].lips -= $slaves[$i].lipsImplant>>
+			<<set $slaves[$i].lipsImplant = 0>>
+			<<if $slaves[$i].oralSkill > 10>>
+				<<set $slaves[$i].oralSkill -= 10>>
+			<</if>>
+			<<set $cash -= $surgeryCost>>
+			<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+		<<elseif ($slaves[$i].lips <= 95) && ($slaves[$i].lips < $thisSurgery.lips)>>
+			<<if $thisSurgery.lips !== "no default setting">>
+				<<set $surgeries.push("bigger lips")>>
+				<<set $slaves[$i].lipsImplant += 10>>
+				<<set $slaves[$i].lips += 10>>
+				<<if $slaves[$i].oralSkill > 10>>
+					<<set $slaves[$i].oralSkill -= 10>>
+				<</if>>
+				<<set $cash -= $surgeryCost>>
+				<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+			<</if>>
+		<<elseif ($slaves[$i].faceImplant <= 45) && ($slaves[$i].face <= 95) && ($thisSurgery.cosmetic == 2)>>
+			<<set $surgeries.push("a nicer face")>>
+			<<if $slaves[$i].faceShape == "masculine">><<set $slaves[$i].faceShape = "androgynous">><</if>>
+			<<set $slaves[$i].faceImplant += 25-5*Math.trunc($PC.medicine/100)-5*$surgeryUpgrade>>
+			<<set $slaves[$i].face = Math.clamp($slaves[$i].face+20,-100,100)>>
+			<<set $cash -= $surgeryCost>>
+			<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+		<<elseif ($slaves[$i].hips < 1) && ($slaves[$i].hips < $thisSurgery.hips) && ($surgeryUpgrade == 1)>>
+			<<set $surgeries.push("wider hips")>>
+			<<set $slaves[$i].hips++, $slaves[$i].hipsImplant++>>
+			<<set $cash -= $surgeryCost>>
+			<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+		<<elseif ($slaves[$i].faceImplant <= 45) && ($slaves[$i].ageImplant != 1) && ($slaves[$i].visualAge >= 25) && ($thisSurgery.cosmetic == 2)>>
+			<<set $surgeries.push("an age lift")>>
+			<<set $slaves[$i].ageImplant = 1>>
+			<<if $slaves[$i].visualAge > 80>>
+				<<set $slaves[$i].visualAge -= 40>>
+			<<elseif $slaves[$i].visualAge >= 70>>
+				<<set $slaves[$i].visualAge -= 30>>
+			<<elseif $slaves[$i].visualAge > 50>>
+				<<set $slaves[$i].visualAge -= 20>>
+			<<elseif $slaves[$i].visualAge > 36>>
+				<<set $slaves[$i].visualAge -= 10>>
+			<<else>>
+				<<set $slaves[$i].visualAge -= 5>>
+			<</if>>
+			<<set $slaves[$i].faceImplant += 25-5*Math.trunc($PC.medicine/100)-5*$surgeryUpgrade>>
+			<<set $cash -= $surgeryCost>>
+			<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+		<<elseif ($slaves[$i].waist >= -95) && ($thisSurgery.cosmetic == 2) && ($seeExtreme == 1)>>
+			<<set $surgeries.push("a narrower waist")>>
+			<<set $slaves[$i].waist = Math.clamp($slaves[$i].waist-20,-100,100)>>
+			<<set $cash -= $surgeryCost>>
+			<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+		<<elseif ($slaves[$i].voice < 3) && ($slaves[$i].voiceImplant == 0) && ($thisSurgery.cosmetic == 2)>>
+			<<set $surgeries.push("a bimbo's voice")>>
+			<<set $slaves[$i].voice += 1>>
+			<<set $slaves[$i].voiceImplant += 1>>
+			<<set $cash -= $surgeryCost>>
+			<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+		<<elseif ($thisSurgery.butt == 0) && ($slaves[$i].buttImplant > 0)>>
+			<<set $surgeries.push("surgery to remove her butt implants")>>
+			<<set $slaves[$i].butt -= $slaves[$i].buttImplant>>
+			<<set $slaves[$i].buttImplant = 0>>
+			<<set $slaves[$i].buttImplantType = 0>>
+			<<set $cash -= $surgeryCost>>
+			<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+		<<elseif ($thisSurgery.boobs == 0) && ($slaves[$i].boobsImplant > 0)>>
+			<<set $surgeries.push("surgery to remove her boob implants")>>
+			<<set $slaves[$i].boobs -= $slaves[$i].boobsImplant>>
+			<<set $slaves[$i].boobsImplant = 0>>
+			<<set $slaves[$i].boobsImplantType = 0>>
+			<<set $cash -= $surgeryCost>>
+			<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+		<<elseif ($slaves[$i].butt <= 3) && ($slaves[$i].butt < $thisSurgery.butt)>>
+			<<if $thisSurgery.butt !== "no default setting">>
+				<<set $surgeries.push("a bigger butt")>>
+				<<set $slaves[$i].buttImplant = 1>>
+				<<set $slaves[$i].butt += 1>>
+				<<set $cash -= $surgeryCost>>
+				<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+			<</if>>
+		<<elseif ($slaves[$i].boobs <= 600) && ($slaves[$i].lactation < 2) && ($slaves[$i].boobs+400 <= $thisSurgery.boobs)>>
+			<<if $thisSurgery.boobs !== "no default setting">>
+				<<set $surgeries.push("bigger boobs")>>
+				<<set $slaves[$i].boobsImplant += 400>>
+				<<set $slaves[$i].boobs += 400>>
+				<<set $cash -= $surgeryCost>>
+				<<if $PC.medicine >= 100>>
+				<<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+			<</if>>
+		<<elseif ($slaves[$i].boobs <= 600) && ($slaves[$i].lactation < 2) && ($slaves[$i].boobs+200 <= $thisSurgery.boobs)>>
+			<<if $thisSurgery.boobs !== "no default setting">>
+				<<set $surgeries.push("modestly bigger boobs")>>
+				<<set $slaves[$i].boobsImplant += 200>>
+				<<set $slaves[$i].boobs += 200>>
+				<<set $cash -= $surgeryCost>>
+				<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+			<</if>>
+		<<elseif ($slaves[$i].butt <= 5) && ($slaves[$i].butt < $thisSurgery.butt)>>
+			<<if $thisSurgery.butt !== "no default setting">>
+				<<set $surgeries.push("a bigger butt")>>
+				<<set $slaves[$i].buttImplant = 1>>
+				<<set $slaves[$i].butt += 1>>
+				<<set $cash -= $surgeryCost>>
+				<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+			<</if>>
+		<<elseif ($slaves[$i].boobs <= 2000) && ($slaves[$i].lactation < 2) && ($slaves[$i].boobs+400 < $thisSurgery.boobs)>>
+			<<if $thisSurgery.boobs !== "no default setting">>
+				<<set $surgeries.push("bigger boobs")>>
+				<<set $slaves[$i].boobsImplant += 400>>
+				<<set $slaves[$i].boobs += 400>>
+				<<set $cash -= $surgeryCost>>
+				<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+			<</if>>
+		<<elseif ($slaves[$i].anus > 0) && ($surgeryUpgrade == 1) && ($thisSurgery.holes == 2)>>
+			<<set $surgeries.push("a virgin anus")>>
+			<<set $slaves[$i].anus = 0>>
+			<<if $slaves[$i].analSkill > 10>>
+				<<set $slaves[$i].analSkill -= 10>>
+			<</if>>
+			<<set $cash -= $surgeryCost>>
+			<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+		<<elseif ($slaves[$i].vagina > 0) && ($surgeryUpgrade == 1) && ($thisSurgery.holes == 2)>>
+			<<set $surgeries.push("a virgin pussy")>>
+			<<set $slaves[$i].vagina = 0>>
+			<<if $slaves[$i].vaginalSkill > 10>>
+				<<set $slaves[$i].vaginalSkill -= 10>>
+			<</if>>
+			<<set $cash -= $surgeryCost>>
+			<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+		<<elseif ($slaves[$i].hips < 2) && ($slaves[$i].hips < $thisSurgery.hips) && ($surgeryUpgrade == 1)>>
+			<<set $surgeries.push("wider hips")>>
+			<<set $slaves[$i].hips++, $slaves[$i].hipsImplant++>>
+			<<set $cash -= $surgeryCost>>
+			<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+		<<elseif ($slaves[$i].anus > 1) && ($thisSurgery.holes == 1)>>
+			<<set $surgeries.push("a tighter anus")>>
+			<<set $slaves[$i].anus = 1>>
+			<<if $slaves[$i].analSkill > 10>>
+				<<set $slaves[$i].analSkill -= 10>>
+			<</if>>
+			<<set $cash -= $surgeryCost>>
+			<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+		<<elseif ($slaves[$i].vagina > 1) && ($thisSurgery.holes == 1)>>
+			<<set $surgeries.push("a tighter pussy")>>
+			<<set $slaves[$i].vagina = 1>>
+			<<if $slaves[$i].vaginalSkill > 10>>
+				<<set $slaves[$i].vaginalSkill -= 10>>
+			<</if>>
+			<<set $cash -= $surgeryCost>>
+			<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+		<<elseif ($slaves[$i].butt <= 8) && ($slaves[$i].butt < $thisSurgery.butt)>>
+			<<if $thisSurgery.butt !== "no default setting">>
+				<<set $surgeries.push("a bigger butt")>>
+				<<set $slaves[$i].buttImplant = 1>>
+				<<set $slaves[$i].butt += 1>>
+				<<set $cash -= $surgeryCost>>
+				<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+			<</if>>
+		<<elseif ($slaves[$i].boobs <= 9000) && ($slaves[$i].lactation < 2) && ($slaves[$i].boobs < $thisSurgery.boobs)>>
+			<<if $thisSurgery.boobs !== "no default setting">>
+				<<set $surgeries.push("bigger boobs")>>
+				<<set $slaves[$i].boobsImplant += 200>>
+				<<set $slaves[$i].boobs += 200>>
+				<<set $cash -= $surgeryCost>>
+				<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+			<</if>>
+		<<elseif ($slaves[$i].hips < 3) && ($slaves[$i].hips < $thisSurgery.hips) && ($surgeryUpgrade == 1)>>
+			<<set $surgeries.push("wider hips")>>
+			<<set $slaves[$i].hips++, $slaves[$i].hipsImplant++>>
+			<<set $cash -= $surgeryCost>>
+			<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+		<<elseif $slaves[$i].bellyImplant < 0 && $bellyImplants > 0 && $thisSurgery.bellyImplant == "install" && $slaves[$i].womb.length == 0 && $slaves[$i].broodmother == 0>>
+			<<set $slaves[$i].bellyImplant = 100>>
+			<<set $slaves[$i].preg = -2>>
+			<<set $cash -= $surgeryCost>>
+			<<if $activeSlave.ovaries == 1 || $activeSlave.mpreg == 1>>
+				<<set $surgeries.push("belly implant"), $surgeryType = "bellyIn">>
+				<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+			<<else>>
+				<<set $surgeries.push("male belly implant"), $surgeryType = "bellyInMale">>
+				<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 25>><<else>><<set $slaves[$i].health -= 50>><</if>>
+			<</if>>
+			<<silently>>
+				<<set _tmpNextL = $nextLink, _tmpNextB = $nextButton>>
+				<<include "Surgery Degradation">>
+				<<set $nextLink = _tmpNextL, $nextButton = _tmpNextB>>
+			<</silently>>
+		<<elseif $slaves[$i].bellyImplant >= 0 && $thisSurgery.bellyImplant == "remove">>
+			<<set $surgeries.push("belly implant removal"), $surgeryType = "bellyOut">>
+			<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
+			<<set $slaves[$i].preg = 0>>
+			<<set $slaves[$i].bellyImplant = -1>>
+			<<set $cash -= $surgeryCost>>
+			<<silently>>
+				<<set _tmpNextL = $nextLink, _tmpNextB = $nextButton>>
+				<<include "Surgery Degradation">>
+				<<set $nextLink = _tmpNextL, $nextButton = _tmpNextB>>
+			<</silently>>
+		<<else>>
+			<<set $seed = 1>>
+		<</if>>
+	<</if>>
+<</for>>
+
+<<if $surgeries.length > 0>>
+	<<set $surgeriesDisplay = "">>
+	<<for $j = 0; $j < $surgeries.length; $j++>>
+		<<set $seed = $surgeries[$j]>>
+		<<set $surgeriesDisplay = ($surgeriesDisplay + $seed)>>
+		<<if $j < $surgeries.length-2>>
+			<<set $surgeriesDisplay = ($surgeriesDisplay + ", ")>>
+		<<elseif $j < $surgeries.length-1>>
+			<<if $surgeries.length > 2>>
+				<<set $surgeriesDisplay = ($surgeriesDisplay + ", and ")>>
+			<<else>>
+				<<set $surgeriesDisplay = ($surgeriesDisplay + " and ")>>
+			<</if>>
+		<</if>>
+	<</for>>
+	<<if $assistantName == "your personal assistant">>Your personal assistant<<else>>$assistantName<</if>>, ordered to apply surgery, gives $slaves[$i].slaveName @@.lime;$surgeriesDisplay.@@
+<</if>>
+*/
diff --git a/src/uncategorized/rulesAutosurgery.tw b/src/uncategorized/rulesAutosurgery.tw
index 2a61403ba77ca4fca0beb4b5bca560f026243a55..5b3b8ceb2398a20e7dfdc64d75404fa8d3af7749 100644
--- a/src/uncategorized/rulesAutosurgery.tw
+++ b/src/uncategorized/rulesAutosurgery.tw
@@ -1,367 +1,3 @@
 :: Rules Autosurgery [nobr]
 
-<<set $surgeries = []>>
-<<unset $thisSurgery>>
-
-<<if (def $HGTastes) && $HGTastes > 0>>
-	<<if $HGTastes == 1>> 
-		<<set $thisSurgery = {lactation: 0, cosmetic: 1, faceShape: "cute", lips: 10, hips: 0, hipsImplant: 0, butt: 0, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 0, holes: 0}>>
-	<<elseif $HGTastes == 2>>
-		<<set $thisSurgery = {lactation: 0, cosmetic: 1, faceShape: "cute", lips: 60, hips: 0, hipsImplant: 0, butt: 4, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 1200, holes: 0}>>
-	<<elseif $HGTastes == 4>>
-		<<set $thisSurgery = {lactation: 1, cosmetic: 1, faceShape: "cute", lips: 10, hips: 3, hipsImplant: 0, butt: 0, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 0, holes: 0}>>
-	<<else>>
-		<<set $thisSurgery = {lactation: 0, cosmetic: 1, faceShape: "cute", lips: 95, hips: 0, hipsImplant: 0, butt: 8, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 10000, holes: 2}>>
-	<</if>>
-<<else>>
-	<<set $thisSurgery = autoSurgerySelector($slaves[$i], $defaultRules)>>
-	 <<if ($thisSurgery.hips !== "no default setting") && ($thisSurgery.butt !== "no default setting")>>
-		<<if $slaves[$i].hips < -1>>
-			<<if $thisSurgery.butt > 2>>
-				<<set $thisSurgery.butt = 2>>
-			<</if>>
-		<<elseif $slaves[$i].hips < 0>>
-			<<if $thisSurgery.butt > 4>>
-				<<set $thisSurgery.butt = 4>>
-			<</if>>
-		<<elseif $slaves[$i].hips > 0>>
-			<<if $thisSurgery.butt > 8>>
-				<<set $thisSurgery.butt = 8>>
-			<</if>>
-		<<elseif $slaves[$i].hips > 1>>
-		<<else>>
-			<<if $thisSurgery.butt > 6>>
-				<<set $thisSurgery.butt = 6>>
-			<</if>>
-		<</if>>
-	<</if>>
-<</if>>
-
-<<set $seed = 0>>
-<<for $seed == 0>>
-
-<<if ($slaves[$i].health <= 20)>>
-	<<set $seed = 1>>
-<<else>>
-<<if ($slaves[$i].eyes == -1) && ($thisSurgery.eyes == 1)>>
-	<<set $surgeries.push("surgery to correct her vision"), $slaves[$i].eyes = 1, $cash -= $surgeryCost>>
-	<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-<<elseif ($slaves[$i].eyes == 1) && ($thisSurgery.eyes == -1)>>
-	<<set $surgeries.push("surgery to blur her vision"), $slaves[$i].eyes = -1, $cash -= $surgeryCost>>
-	<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-<<elseif ($slaves[$i].lactation == 2) && ($thisSurgery.lactation == 0)>>
-	<<set $surgeries.push("surgery to remove her lactation implants"), $slaves[$i].lactation = 0, $cash -= $surgeryCost>>
-	<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-<<elseif $slaves[$i].lactation != 2 && ($thisSurgery.lactation == 1)>>
-	<<set $surgeries.push("lactation inducing implanted drugs"), $slaves[$i].lactation = 2, $cash -= $surgeryCost>>
-	<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-<<elseif ($slaves[$i].prostate == 2) && ($thisSurgery.prostate == 0)>>
-	<<set $surgeries.push("surgery to remove her prostate implant"), $slaves[$i].prostate = 0, $cash -= $surgeryCost>>
-	<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-<<elseif $slaves[$i].prostate == 1 && ($thisSurgery.prostate == 1)>>
-	<<set $surgeries.push("a precum production enhancing drug implant"), $slaves[$i].prostate = 2, $cash -= $surgeryCost>>
-	<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-<<elseif ($slaves[$i].anus > 3) && ($thisSurgery.cosmetic > 0)>>
-	<<set $surgeries.push("a restored anus")>>
-	<<set $slaves[$i].anus = 3>>
-	<<if $slaves[$i].analSkill > 10>>
-		<<set $slaves[$i].analSkill -= 10>>
-	<</if>>
-	<<set $cash -= $surgeryCost>>
-	<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-<<elseif ($slaves[$i].vagina > 3) && ($thisSurgery.cosmetic > 0)>>
-	<<set $surgeries.push("a restored pussy")>>
-	<<set $slaves[$i].vagina = 3>>
-	<<if $slaves[$i].vaginalSkill > 10>>
-		<<set $slaves[$i].vaginalSkill -= 10>>
-	<</if>>
-	<<set $cash -= $surgeryCost>>
-	<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-<<elseif ($slaves[$i].faceImplant <= 15) && ($slaves[$i].face <= 95) && ($thisSurgery.cosmetic > 0)>>
-	<<set $surgeries.push("a nicer face")>>
-	<<if $slaves[$i].faceShape == "masculine">><<set $slaves[$i].faceShape = "androgynous">><</if>>
-	<<set $slaves[$i].faceImplant += 25-5*Math.trunc($PC.medicine/100)-5*$surgeryUpgrade>>
-	<<set $slaves[$i].face = Math.clamp($slaves[$i].face+20,-100,100)>>
-	<<set $cash -= $surgeryCost>>
-	<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-<<elseif ($slaves[$i].faceImplant <= 15) && ($slaves[$i].ageImplant != 1) && ($slaves[$i].visualAge >= 25) && ($thisSurgery.cosmetic > 0)>>
-	<<set $surgeries.push("an age lift")>>
-	<<set $slaves[$i].ageImplant = 1>>
-	<<set $slaves[$i].faceImplant += 25-5*Math.trunc($PC.medicine/100)-5*$surgeryUpgrade>>
-	<<if $slaves[$i].visualAge > 80>>
-		<<set $slaves[$i].visualAge -= 40>>
-	<<elseif $slaves[$i].visualAge >= 70>>
-		<<set $slaves[$i].visualAge -= 30>>
-	<<elseif $slaves[$i].visualAge > 50>>
-		<<set $slaves[$i].visualAge -= 20>>
-	<<elseif $slaves[$i].visualAge > 36>>
-		<<set $slaves[$i].visualAge -= 10>>
-	<<else>>
-		<<set $slaves[$i].visualAge -= 5>>
-	<</if>>
-	<<set $cash -= $surgeryCost>>
-	<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-<<elseif (($slaves[$i].underArmHStyle != "bald" && $slaves[$i].underArmHStyle != "hairless") || ($slaves[$i].pubicHStyle != "bald" && $slaves[$i].pubicHStyle != "hairless")) && ($thisSurgery.bodyhair == 2)>>
-	<<set $surgeries.push("body hair removal")>>
-	<<if $slaves[$i].underArmHStyle != "hairless">><<set $slaves[$i].underArmHStyle = "bald">><</if>>
-	<<if $slaves[$i].pubicHStyle != "hairless">><<set $slaves[$i].pubicHStyle = "bald">><</if>>
-	<<set $cash -= $surgeryCost>>
-<<elseif ($slaves[$i].bald == 0 || $slaves[$i].hStyle != "bald") && ($thisSurgery.hair == 2)>>
-	<<set $surgeries.push("hair removal")>>
-	<<set $slaves[$i].hStyle = "bald", $slaves[$i].bald = 1>>
-	<<set $cash -= $surgeryCost>>
-<<elseif ($slaves[$i].weight >= 10) && ($thisSurgery.cosmetic > 0)>>
-	<<set $surgeries.push("liposuction")>>
-	<<set $slaves[$i].weight -= 50>>
-	<<set $cash -= $surgeryCost>>
-	<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-<<elseif ($slaves[$i].voice == 1) && ($slaves[$i].voiceImplant == 0) && ($thisSurgery.cosmetic > 0)>>
-	<<set $surgeries.push("a feminine voice")>>
-	<<set $slaves[$i].voice += 1>>
-	<<set $slaves[$i].voiceImplant += 1>>
-	<<set $cash -= $surgeryCost>>
-	<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-<<elseif ($slaves[$i].waist >= -10) && ($thisSurgery.cosmetic > 0)>>
-	<<set $surgeries.push("a narrower waist")>>
-	<<set $slaves[$i].waist -= 20>>
-	<<set $cash -= $surgeryCost>>
-	<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-<<elseif (($slaves[$i].boobShape == "saggy") || ($slaves[$i].boobShape == "downward-facing")) && ($thisSurgery.cosmetic > 0) && ($slaves[$i].breastMesh != 1)>>
-	<<set $surgeries.push("a breast lift")>>
-	<<set $slaves[$i].boobShape = "normal">>
-	<<set $cash -= $surgeryCost>>
-	<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-<<elseif (($slaves[$i].boobShape == "normal") || ($slaves[$i].boobShape == "wide-set")) && ($thisSurgery.cosmetic > 0) && ($slaves[$i].breastMesh != 1)>>
-	<<if $slaves[$i].boobs > 800>>
-		<<set $slaves[$i].boobShape = "torpedo-shaped">>
-	<<else>>
-		<<set $slaves[$i].boobShape = "perky">>
-	<</if>>
-	<<set $surgeries.push("more interestingly shaped breasts")>>
-	<<set $cash -= $surgeryCost>>
-	<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-<<elseif ($thisSurgery.lips == 0) && ($slaves[$i].lipsImplant > 0)>>
-	<<set $surgeries.push("surgery to remove her lip implants")>>
-	<<set $slaves[$i].lips -= $slaves[$i].lipsImplant>>
-	<<set $slaves[$i].lipsImplant = 0>>
-	<<if $slaves[$i].oralSkill > 10>>
-		<<set $slaves[$i].oralSkill -= 10>>
-	<</if>>
-	<<set $cash -= $surgeryCost>>
-	<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-<<elseif ($slaves[$i].lips <= 95) && ($slaves[$i].lips < $thisSurgery.lips)>>
-	<<if $thisSurgery.lips !== "no default setting">>
-		<<set $surgeries.push("bigger lips")>>
-		<<set $slaves[$i].lipsImplant += 10>>
-		<<set $slaves[$i].lips += 10>>
-		<<if $slaves[$i].oralSkill > 10>>
-			<<set $slaves[$i].oralSkill -= 10>>
-		<</if>>
-		<<set $cash -= $surgeryCost>>
-		<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-	<</if>>
-<<elseif ($slaves[$i].faceImplant <= 45) && ($slaves[$i].face <= 95) && ($thisSurgery.cosmetic == 2)>>
-	<<set $surgeries.push("a nicer face")>>
-	<<if $slaves[$i].faceShape == "masculine">><<set $slaves[$i].faceShape = "androgynous">><</if>>
-	<<set $slaves[$i].faceImplant += 25-5*Math.trunc($PC.medicine/100)-5*$surgeryUpgrade>>
-	<<set $slaves[$i].face = Math.clamp($slaves[$i].face+20,-100,100)>>
-	<<set $cash -= $surgeryCost>>
-	<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-<<elseif ($slaves[$i].hips < 1) && ($slaves[$i].hips < $thisSurgery.hips) && ($surgeryUpgrade == 1)>>
-	<<set $surgeries.push("wider hips")>>
-	<<set $slaves[$i].hips++, $slaves[$i].hipsImplant++>>
-	<<set $cash -= $surgeryCost>>
-	<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-<<elseif ($slaves[$i].faceImplant <= 45) && ($slaves[$i].ageImplant != 1) && ($slaves[$i].visualAge >= 25) && ($thisSurgery.cosmetic == 2)>>
-	<<set $surgeries.push("an age lift")>>
-	<<set $slaves[$i].ageImplant = 1>>
-	<<if $slaves[$i].visualAge > 80>>
-		<<set $slaves[$i].visualAge -= 40>>
-	<<elseif $slaves[$i].visualAge >= 70>>
-		<<set $slaves[$i].visualAge -= 30>>
-	<<elseif $slaves[$i].visualAge > 50>>
-		<<set $slaves[$i].visualAge -= 20>>
-	<<elseif $slaves[$i].visualAge > 36>>
-		<<set $slaves[$i].visualAge -= 10>>
-	<<else>>
-		<<set $slaves[$i].visualAge -= 5>>
-	<</if>>
-	<<set $slaves[$i].faceImplant += 25-5*Math.trunc($PC.medicine/100)-5*$surgeryUpgrade>>
-	<<set $cash -= $surgeryCost>>
-	<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-<<elseif ($slaves[$i].waist >= -95) && ($thisSurgery.cosmetic == 2) && ($seeExtreme == 1)>>
-	<<set $surgeries.push("a narrower waist")>>
-	<<set $slaves[$i].waist = Math.clamp($slaves[$i].waist-20,-100,100)>>
-	<<set $cash -= $surgeryCost>>
-	<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-<<elseif ($slaves[$i].voice < 3) && ($slaves[$i].voiceImplant == 0) && ($thisSurgery.cosmetic == 2)>>
-	<<set $surgeries.push("a bimbo's voice")>>
-	<<set $slaves[$i].voice += 1>>
-	<<set $slaves[$i].voiceImplant += 1>>
-	<<set $cash -= $surgeryCost>>
-	<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-<<elseif ($thisSurgery.butt == 0) && ($slaves[$i].buttImplant > 0)>>
-	<<set $surgeries.push("surgery to remove her butt implants")>>
-	<<set $slaves[$i].butt -= $slaves[$i].buttImplant>>
-	<<set $slaves[$i].buttImplant = 0>>
-	<<set $slaves[$i].buttImplantType = 0>>
-	<<set $cash -= $surgeryCost>>
-	<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-<<elseif ($thisSurgery.boobs == 0) && ($slaves[$i].boobsImplant > 0)>>
-	<<set $surgeries.push("surgery to remove her boob implants")>>
-	<<set $slaves[$i].boobs -= $slaves[$i].boobsImplant>>
-	<<set $slaves[$i].boobsImplant = 0>>
-	<<set $slaves[$i].boobsImplantType = 0>>
-	<<set $cash -= $surgeryCost>>
-	<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-<<elseif ($slaves[$i].butt <= 3) && ($slaves[$i].butt < $thisSurgery.butt)>>
-	<<if $thisSurgery.butt !== "no default setting">>
-		<<set $surgeries.push("a bigger butt")>>
-		<<set $slaves[$i].buttImplant = 1>>
-		<<set $slaves[$i].butt += 1>>
-		<<set $cash -= $surgeryCost>>
-		<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-	<</if>>
-<<elseif ($slaves[$i].boobs <= 600) && ($slaves[$i].lactation < 2) && ($slaves[$i].boobs+400 <= $thisSurgery.boobs)>>
-	<<if $thisSurgery.boobs !== "no default setting">>
-		<<set $surgeries.push("bigger boobs")>>
-		<<set $slaves[$i].boobsImplant += 400>>
-		<<set $slaves[$i].boobs += 400>>
-		<<set $cash -= $surgeryCost>>
-		<<if $PC.medicine >= 100>>
-		<<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-	<</if>>
-<<elseif ($slaves[$i].boobs <= 600) && ($slaves[$i].lactation < 2) && ($slaves[$i].boobs+200 <= $thisSurgery.boobs)>>
-	<<if $thisSurgery.boobs !== "no default setting">>
-		<<set $surgeries.push("modestly bigger boobs")>>
-		<<set $slaves[$i].boobsImplant += 200>>
-		<<set $slaves[$i].boobs += 200>>
-		<<set $cash -= $surgeryCost>>
-		<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-	<</if>>
-<<elseif ($slaves[$i].butt <= 5) && ($slaves[$i].butt < $thisSurgery.butt)>>
-	<<if $thisSurgery.butt !== "no default setting">>
-		<<set $surgeries.push("a bigger butt")>>
-		<<set $slaves[$i].buttImplant = 1>>
-		<<set $slaves[$i].butt += 1>>
-		<<set $cash -= $surgeryCost>>
-		<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-	<</if>>
-<<elseif ($slaves[$i].boobs <= 2000) && ($slaves[$i].lactation < 2) && ($slaves[$i].boobs+400 < $thisSurgery.boobs)>>
-	<<if $thisSurgery.boobs !== "no default setting">>
-		<<set $surgeries.push("bigger boobs")>>
-		<<set $slaves[$i].boobsImplant += 400>>
-		<<set $slaves[$i].boobs += 400>>
-		<<set $cash -= $surgeryCost>>
-		<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-	<</if>>
-<<elseif ($slaves[$i].anus > 0) && ($surgeryUpgrade == 1) && ($thisSurgery.holes == 2)>>
-	<<set $surgeries.push("a virgin anus")>>
-	<<set $slaves[$i].anus = 0>>
-	<<if $slaves[$i].analSkill > 10>>
-		<<set $slaves[$i].analSkill -= 10>>
-	<</if>>
-	<<set $cash -= $surgeryCost>>
-	<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-<<elseif ($slaves[$i].vagina > 0) && ($surgeryUpgrade == 1) && ($thisSurgery.holes == 2)>>
-	<<set $surgeries.push("a virgin pussy")>>
-	<<set $slaves[$i].vagina = 0>>
-	<<if $slaves[$i].vaginalSkill > 10>>
-		<<set $slaves[$i].vaginalSkill -= 10>>
-	<</if>>
-	<<set $cash -= $surgeryCost>>
-	<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-<<elseif ($slaves[$i].hips < 2) && ($slaves[$i].hips < $thisSurgery.hips) && ($surgeryUpgrade == 1)>>
-	<<set $surgeries.push("wider hips")>>
-	<<set $slaves[$i].hips++, $slaves[$i].hipsImplant++>>
-	<<set $cash -= $surgeryCost>>
-	<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-<<elseif ($slaves[$i].anus > 1) && ($thisSurgery.holes == 1)>>
-	<<set $surgeries.push("a tighter anus")>>
-	<<set $slaves[$i].anus = 1>>
-	<<if $slaves[$i].analSkill > 10>>
-		<<set $slaves[$i].analSkill -= 10>>
-	<</if>>
-	<<set $cash -= $surgeryCost>>
-	<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-<<elseif ($slaves[$i].vagina > 1) && ($thisSurgery.holes == 1)>>
-	<<set $surgeries.push("a tighter pussy")>>
-	<<set $slaves[$i].vagina = 1>>
-	<<if $slaves[$i].vaginalSkill > 10>>
-		<<set $slaves[$i].vaginalSkill -= 10>>
-	<</if>>
-	<<set $cash -= $surgeryCost>>
-	<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-<<elseif ($slaves[$i].butt <= 8) && ($slaves[$i].butt < $thisSurgery.butt)>>
-	<<if $thisSurgery.butt !== "no default setting">>
-		<<set $surgeries.push("a bigger butt")>>
-		<<set $slaves[$i].buttImplant = 1>>
-		<<set $slaves[$i].butt += 1>>
-		<<set $cash -= $surgeryCost>>
-		<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-	<</if>>
-<<elseif ($slaves[$i].boobs <= 9000) && ($slaves[$i].lactation < 2) && ($slaves[$i].boobs < $thisSurgery.boobs)>>
-	<<if $thisSurgery.boobs !== "no default setting">>
-		<<set $surgeries.push("bigger boobs")>>
-		<<set $slaves[$i].boobsImplant += 200>>
-		<<set $slaves[$i].boobs += 200>>
-		<<set $cash -= $surgeryCost>>
-		<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-	<</if>>
-<<elseif ($slaves[$i].hips < 3) && ($slaves[$i].hips < $thisSurgery.hips) && ($surgeryUpgrade == 1)>>
-	<<set $surgeries.push("wider hips")>>
-	<<set $slaves[$i].hips++, $slaves[$i].hipsImplant++>>
-	<<set $cash -= $surgeryCost>>
-	<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-<<elseif $slaves[$i].bellyImplant < 0 && $bellyImplants > 0 && $thisSurgery.bellyImplant == "install" && $slaves[$i].womb.length == 0 && $slaves[$i].broodmother == 0>>
-	<<set $slaves[$i].bellyImplant = 100>>
-	<<set $slaves[$i].preg = -2>>
-	<<set $cash -= $surgeryCost>>
-	<<if $activeSlave.ovaries == 1 || $activeSlave.mpreg == 1>>
-		<<set $surgeries.push("belly implant"), $surgeryType = "bellyIn">>
-		<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-	<<else>>
-		<<set $surgeries.push("male belly implant"), $surgeryType = "bellyInMale">>
-		<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 25>><<else>><<set $slaves[$i].health -= 50>><</if>>
-	<</if>>
-	<<silently>>
-		<<set _tmpNextL = $nextLink, _tmpNextB = $nextButton>>
-		<<include "Surgery Degradation">>
-		<<set $nextLink = _tmpNextL, $nextButton = _tmpNextB>>
-	<</silently>>
-<<elseif $slaves[$i].bellyImplant >= 0 && $thisSurgery.bellyImplant == "remove">>
-	<<set $surgeries.push("belly implant removal"), $surgeryType = "bellyOut">>
-	<<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>>
-	<<set $slaves[$i].preg = 0>>
-	<<set $slaves[$i].bellyImplant = -1>>
-	<<set $cash -= $surgeryCost>>
-	<<silently>>
-		<<set _tmpNextL = $nextLink, _tmpNextB = $nextButton>>
-		<<include "Surgery Degradation">>
-		<<set $nextLink = _tmpNextL, $nextButton = _tmpNextB>>
-	<</silently>>
-<<else>>
-
-<<set $seed = 1>>
-<</if>>
-<</if>>
-
-<</for>>
-
-<<if $surgeries.length > 0>>
-	<<set $surgeriesDisplay = "">>
-	<<for $j = 0; $j < $surgeries.length; $j++>>
-		<<set $seed = $surgeries[$j]>>
-		<<set $surgeriesDisplay = ($surgeriesDisplay + $seed)>>
-		<<if $j < $surgeries.length-2>>
-		<<set $surgeriesDisplay = ($surgeriesDisplay + ", ")>>
-		<<elseif $j < $surgeries.length-1>>
-		<<if $surgeries.length > 2>>
-			<<set $surgeriesDisplay = ($surgeriesDisplay + ", and ")>>
-		<<else>>
-			<<set $surgeriesDisplay = ($surgeriesDisplay + " and ")>>
-		<</if>>
-		<</if>>
-	<</for>>
-	<<if $assistantName == "your personal assistant">>Your personal assistant<<else>>$assistantName<</if>>, ordered to apply surgery, gives $slaves[$i].slaveName @@.lime;$surgeriesDisplay.@@
-<</if>>
+<<= rulesAutosurgery() >>