diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt
index 91996f10379462c4436e663ad9e1c16c944aca24..b687a202446d14b24bb41dfff67446042f9d54f2 100644
--- a/devNotes/twine JS.txt	
+++ b/devNotes/twine JS.txt	
@@ -35231,3 +35231,1240 @@ window.FacilityNameCleanup = function FacilityNameCleanup() {
 	V.farmyardName = V.farmyardName || "the Farmyard";
 	V.farmyardNameCaps = V.farmyardNameCaps || "The Farmyard";
 };
+
+/*:: Beauty [script]*/
+
+window.Beauty = (function() {
+	"use strict";
+	let V, arcology, beauty;
+
+	function Beauty(slave) {
+		V = State.variables;
+		arcology = V.arcologies[0];
+		modScore(slave);
+
+		beauty = 120;
+		calcInitBeauty(slave);
+		if (slave.fuckdoll === 0) {
+			beauty += 30;
+			calcFaceBeauty(slave);
+			calcTeethBeauty(slave);
+			calcModBeauty(slave);
+			calcCosmeticsBeauty(slave);
+			calcFSNotFuckdollBeauty(slave);
+			calcMiscNotFuckdollBeauty(slave);
+		}
+		if (slave.dick > 0) {
+			calcDickBeauty(slave);
+		}
+		if (slave.balls > 0) {
+			calcBallsBeauty(slave);
+		}
+		calcButtBeauty(slave);
+		calcHipsBeauty(slave);
+		calcBoobsBeauty(slave);
+		calcWeightBeauty(slave);
+		calcMusclesBeauty(slave);
+		calcBodyHairBeauty(slave);
+		calcImplantBeauty(slave);
+		if (arcology.FSRepopulationFocus > 40) {
+			calcRepopulationPregBeauty(slave);
+		} else if (arcology.FSRestart > 40) {
+			calcRestartPregBeauty(slave);
+		}
+		if (arcology.FSGenderRadicalistLawFuta !== 0) {
+			calcFutaLawBeauty(slave);
+		}
+		calcBodyProportionBeauty(slave);
+		calcVoiceBeauty(slave);
+		if (slave.amp !== 0) {
+			calcLimbsBeauty(slave);
+		}
+		calcPubertyBeauty(slave);
+		calcFSMiscBeauty(slave);
+
+		calcPurityBeauty(slave);
+		calcPhysiqueBeauty(slave);
+		if (arcology.FSSlimnessEnthusiastLaw === 1) {
+			calcSlimBeauty(slave);
+		}
+		if (arcology.FSGenderFundamentalistLawBeauty + arcology.FSGenderRadicalistLawBeauty > 0) {
+			calcGenderLawBeauty(slave);
+		}
+
+		calcMultipliersBeauty(slave);
+		beauty = Math.max(1, Math.trunc(0.5*beauty));
+
+		V.beauty = beauty;
+	};
+
+	function calcInitBeauty(slave) {
+		beauty -= slave.waist/20;
+		beauty -= slave.muscles/30;
+		beauty += slave.lips/10;
+		beauty += slave.clit;
+		beauty += (slave.height-160)/10;
+		beauty += 2*slave.hips;
+		beauty -= 3*slave.visualAge;
+		if (slave.anus > 3) {
+			beauty -= 10 + (slave.anus*2); /*-20*/
+		}
+		if (slave.vagina > 3) {
+			beauty -= 10 + (slave.vagina*2); /*-20*/
+		}
+
+	};
+
+	function calcFaceBeauty(slave) {
+		beauty += slave.face/5;
+		switch (slave.faceShape) {
+			case "masculine":
+				if (arcology.FSGenderRadicalist !== "unset") {
+					beauty -= (2 - (arcology.FSGenderRadicalist/25))*(slave.face/30);
+				} else if (arcology.FSGenderFundamentalist !== "unset") {
+					beauty -= (2 + (arcology.FSGenderFundamentalist/25))*(slave.face/30);
+				} else {
+					beauty -= 2*(slave.face/30);
+				}
+				break;
+			case "androgynous":
+				if (arcology.FSGenderRadicalist !== "unset") {
+					beauty += 2 - ((1 - (arcology.FSGenderRadicalist/25))*(slave.face/30));
+				} else if (arcology.FSGenderFundamentalist !== "unset") {
+					beauty += 2 - ((1 + (arcology.FSGenderFundamentalist/25))*(slave.face/30));
+				} else {
+					beauty += 2 - (slave.face/30);
+				}
+				break;
+			case "exotic":
+				beauty += 2*(slave.face/30);
+				break;
+			case "sensual":
+				beauty += 2 + (slave.face/30);
+				break;
+			case "cute":
+				beauty += 8/3;
+				break;
+		}
+	};
+
+	function calcTeethBeauty(slave) {
+		switch (slave.teeth) {
+			case "crooked":
+				beauty -= 3;
+				break;
+			case "braces":
+			case "cosmetic braces":
+				if (slave.visualAge > 14 && slave.visualAge < 18) {
+					beauty += 1;
+				}
+				break;
+			case "removable":
+			case "pointy":
+			case "baby":
+			case "mixed":
+				beauty -= 1;
+				break;
+		}
+	};
+
+	function calcModBeauty(slave) {
+		if (arcology.FSTransformationFetishist > 20 || arcology.FSDegradationist > 20) {
+			if (V.modScore > 15 || (V.piercingScore > 8 && V.tatScore > 5)) {
+				beauty += 8 + (V.modScore*0.25);
+			} else if (V.modScore > 7) {
+				beauty += V.modScore - 7;
+			}
+		} else if (arcology.FSBodyPurist > 20 || arcology.FSPaternalist > 20) {
+			if (V.modScore <= 7) {
+				beauty += 10;
+			} else {
+				beauty += 15 - V.modScore;
+			}
+		} else {
+			if (V.modScore <= 7) {
+				beauty += V.modScore;
+			} else if (V.modScore > 15 || (V.piercingScore > 8 && V.tatScore > 5)) {
+				beauty += 11;
+			} else {
+				beauty += 7 + (0.5*(V.modScore - 7));
+			}
+		}
+	};
+
+	function calcCosmeticsBeauty(slave) {
+		if (slave.brand !== 0) {
+			if (V.rep > 10000) {
+				beauty += 1;
+			} else if (V.rep < 5000) {
+				beauty -= 1;
+			}
+		}
+		if (slave.minorInjury !== 0) {
+			beauty -= 2;
+		}
+		if (slave.cSec === 1) {
+			beauty -= 2;
+		}
+		if (slave.nails > 0) {
+			beauty += 1;
+		}
+		if (slave.makeup > 0) {
+			beauty += 1;
+		}
+		switch (slave.markings) {
+			case "beauty mark":
+				if (slave.face > 40) {
+					beauty += 6;
+				} else if (slave.face < -10) {
+					beauty -= 6;
+				}
+				break;
+			case "birthmark":
+				if (slave.prestige > 0 || slave.pornPrestige > 1) {
+					beauty += 4;
+				} else {
+					beauty -= 4;
+				}
+				break;
+			case "freckles":
+			case "heavily freckled":
+				if (slave.skin === "pale" || slave.skin === "fair") {
+					beauty += 2;
+					if (slave.hColor === "red") {
+						beauty += 2;
+					}
+				}
+				break;
+		}
+	};
+
+	function calcFSNotFuckdollBeauty(slave) {
+		if (arcology.FSSupremacist !== "unset") {
+			if (slave.race === arcology.FSSupremacistRace) {
+				beauty += (arcology.FSSupremacist/3) + (arcology.FSSupremacistLawME*10);
+			}
+		}
+		if (arcology.FSSubjugationist !== "unset") {
+			if (slave.race === arcology.FSSubjugationistRace) {
+				beauty -= (arcology.FSSubjugationist/2) - (arcology.FSSubjugationistLawME*10);
+			}
+		}
+		if (arcology.FSDegradationist !== "unset") {
+			beauty -= (arcology.FSDegradationist/10)*((slave.intelligence + slave.intelligenceImplant)/20);
+		}
+		if (arcology.FSGenderFundamentalistLawBimbo === 1) {
+			beauty -= (slave.intelligence + slave.intelligenceImplant)/2;
+		}
+		if (arcology.FSYouthPreferentialist !== "unset") {
+			beauty += (30 - slave.visualAge)/(30 - V.minimumSlaveAge)*((arcology.FSYouthPreferentialist/2) + (arcology.FSYouthPreferentialistLaw*10)); /*max 60*/
+		} else if (arcology.FSMaturityPreferentialist !== "unset") {
+			if (V.retirementAge > 30) {
+				beauty += (30 - slave.visualAge)/(30 - V.retirementAge)*((arcology.FSMaturityPreferentialist/2) + (arcology.FSMaturityPreferentialistLaw*10)); /*max 60, problems if retirementAge is 30 or under*/
+			}
+		}
+		if (arcology.FSBodyPurist > 20) { /*bonus for virgin slaves*/
+			if (slave.vagina === 0 && slave.vaginalCount === 0) {
+				beauty += 30*(arcology.FSBodyPurist/100);
+			}
+			if (slave.anus === 0 && slave.analCount === 0) {
+				beauty += 30*(arcology.FSBodyPurist/100);
+			}
+		}
+		if (arcology.FSEdoRevivalist !== "unset") {
+			if (slave.nationality === "Japanese" || slave.nationality === "Edo Revivalist") {
+				beauty += arcology.FSEdoRevivalist/2;
+			} else if (slave.race === "asian") {
+				beauty += arcology.FSEdoRevivalist/5;
+			} else {
+				beauty -= arcology.FSEdoRevivalist/4;
+			}
+			if (V.language === "Japanese" && canTalk(slave)) {
+				if (slave.accent > 1) {
+					beauty -= arcology.FSEdoRevivalist/2;
+				} else if (slave.accent > 0) {
+					beauty -= arcology.FSEdoRevivalist/5;
+				} else {
+					beauty += arcology.FSEdoRevivalist/10;
+				}
+			}
+		} else if (arcology.FSChineseRevivalist !== "unset") {
+			if (slave.nationality === "Chinese" || slave.nationality === "Ancient Chinese Revivalist") {
+				beauty += arcology.FSChineseRevivalist/2;
+			} else if (slave.race === "asian") {
+				beauty += arcology.FSChineseRevivalist/5;
+			} else {
+				beauty -= arcology.FSChineseRevivalist/4;
+			}
+			if (V.language === "Chinese" && canTalk(slave)) {
+				if (slave.accent > 1) {
+					beauty -= arcology.FSChineseRevivalist/2;
+				} else if (slave.accent > 0) {
+					beauty -= arcology.FSChineseRevivalist/5;
+				} else {
+					beauty += arcology.FSChineseRevivalist/10;
+				}
+			}
+		}
+	};
+
+	function calcMiscNotFuckdollBeauty(slave) {
+		beauty += Math.min(slave.health, 100)/5;
+		beauty += slave.voice;
+		beauty += (slave.intelligence + slave.intelligenceImplant)/10;
+		beauty += slave.entertainSkill/10;
+		beauty += slave.whoreSkill/10;
+		if (setup.entertainmentCareers.includes(slave.career)) {
+			beauty += 20;
+		} else if (V.week - slave.weekAcquired >= 20 && slave.entertainSkill >= 100) {
+			beauty += 10;
+		}
+		if (slave.race === "white" && slave.origRace === "white") {
+			beauty += 4;
+		} else if (slave.race === "white") {
+			beauty += 2;
+		}
+	};
+
+	function calcDickBeauty(slave) {
+		if (arcology.FSAssetExpansionist > 20 && arcology.FSGenderFundamentalist === "unset") {
+			if (slave.dick >= 20) {
+				beauty += 17 + (slave.dick*(arcology.FSAssetExpansionist/500)); /*23*/
+			} else if (slave.dick >= 10) {
+				beauty += 10 + (slave.dick*(arcology.FSAssetExpansionist/300)); /*16.3*/
+			} else if (slave.dick > 6) {
+				beauty += slave.dick*(1 + (arcology.FSAssetExpansionist/100)); /*10*/
+			}
+		} else if (arcology.FSGenderFundamentalist !== "unset") {
+			if (slave.dick > 0) {
+				beauty += 3 - slave.dick;
+			}
+		} else if (arcology.FSGenderRadicalist !== "unset") {
+			if (slave.dick > 20) {
+				beauty += 20 + (slave.dick*(arcology.FSGenderRadicalist/400)); /*27.5*/
+			} else if (slave.dick >= 10) {
+				beauty += 10 + (slave.dick*(arcology.FSGenderRadicalist/200)); /*20*/
+			} else if (slave.dick > 0) {
+				beauty += slave.dick*(1 + (arcology.FSGenderRadicalist/100)); /*10*/
+			}
+		} else {
+			beauty -= 2*slave.dick;
+		}
+	};
+
+	function calcBallsBeauty(slave) {
+		if (arcology.FSAssetExpansionist > 20 && arcology.FSGenderFundamentalist === "unset") {
+			if (slave.balls > 100) {
+				beauty += 41 + (slave.balls*(arcology.FSAssetExpansionist/500)); /*66*/
+			} else if (slave.balls > 80) {
+				beauty += 16 + (slave.balls*(arcology.FSAssetExpansionist/400)); /*41*/
+			} else if (slave.balls > 60) {
+				beauty += 6 + (slave.balls*(arcology.FSAssetExpansionist/800)); /*16*/
+			} else if (slave.balls > 10) {
+				beauty += slave.balls*((arcology.FSAssetExpansionist/1000)); /*6*/
+			}
+		} else if (arcology.FSGenderFundamentalist !== "unset") {
+			if (slave.scrotum > 0) {
+				beauty -= slave.balls*(1 + (arcology.FSGenderFundamentalist/200));
+			}
+		} else if (arcology.FSGenderRadicalist !== "unset") {
+			if (slave.scrotum > 0) {
+				if (slave.balls > 100) {
+					beauty += 40 + (slave.balls*(arcology.FSGenderRadicalist/2000)); /*46.25*/
+				} else if (slave.balls > 60) {
+					beauty += 30 + (slave.balls*(arcology.FSGenderRadicalist/1000)); /*40*/
+				} else if (slave.balls > 10) {
+					beauty += 15 + (slave.balls*(arcology.FSGenderRadicalist/400)); /*30*/
+				} else {
+					beauty += slave.balls*(1 + (arcology.FSGenderRadicalist/200)); /*15*/
+				}
+			}
+		} else {
+			if (slave.scrotum > 0) {
+				beauty -= slave.balls;
+			}
+		}
+		if (arcology.FSRestart !== "unset") { /* Eugenics does not like slaves having working balls */
+			if (slave.ballType === "human") {
+				beauty -= slave.balls*(1 + (arcology.FSRestart/100));
+			}
+		}
+	};
+
+	function calcButtBeauty(slave) {
+		if (slave.butt <= 10) {
+			beauty += 1.5*slave.butt; /*max 15*/
+		} else {
+			beauty += 15 + (slave.butt/4); /*max 20*/
+		}
+		if ((arcology.FSTransformationFetishist > 20 && arcology.FSSlimnessEnthusiast === "unset") || arcology.FSAssetExpansionist > 20) {
+			if (slave.butt <= 2) {
+				beauty += 2*(slave.butt - 1); /*2*/
+			} else if (slave.butt <= 4) {
+				beauty += 2 + 1.5*(slave.butt - 2); /*5*/
+			} else if (slave.butt <= 10) {
+				beauty += 5 + 1*(slave.butt - 4); /*11*/
+			} else {
+				beauty += 7 + 0.5*(slave.butt - 5); /*14.5*/
+			} /* maybe buff butts? */
+		} else if (arcology.FSSlimnessEnthusiast > 20) {
+			if (slave.butt <= 3) {
+				beauty += 12 + 3*(slave.butt - 1); /*18 buff if asses get buffed*/
+			} else if (slave.butt <= 5) {
+				beauty += 9;
+			} else {
+				beauty -= 10 + 3*slave.butt; /*-70*/
+			}
+		} else {
+			if (slave.butt <= 2) {
+				beauty += 2*(slave.butt-1); /*2*/
+			} else if (slave.butt <= 4) {
+				beauty += 2 + (1.5*(slave.butt - 2)); /*5*/
+			} else if (slave.butt <= 8) {
+				beauty += 2 + (1.5*(slave.butt - 2)); /*11*/
+			} else {
+				beauty += 9;
+			}
+		}
+		if (arcology.FSTransformationFetishist > 20) { /* the cost of using AE's values */
+			if (arcology.FSSlimnessEnthusiast !== "unset") {
+				if (slave.butt >= 3) {
+					if (slave.buttImplant/slave.butt < 0.25) {
+						beauty -= 2*(slave.butt - 1) + 10;
+					}
+				}
+			} else {
+				if (slave.butt >= 6) {
+					if (slave.buttImplant/slave.butt < 0.50) {
+						beauty -= (1.5*slave.butt) + 6; /* will get nasty at huge sizes */
+					}
+				}
+			}
+		}
+	};
+
+	function calcHipsBeauty(slave) { /* butts in general may need buffs */
+		switch (slave.hips) {
+			case -2:
+				if (slave.butt > 2) {
+					if (arcology.FSTransformationFetishist === "unset" && arcology.FSHedonisticDecadence === "unset") {
+						beauty += 2 - slave.butt;
+					} else {
+						beauty += 1;
+					}
+				} else {
+					beauty += 1;
+				}
+				break;
+			case -1:
+				if (slave.butt > 4) {
+					if (arcology.FSTransformationFetishist === "unset" && arcology.FSHedonisticDecadence === "unset") {
+						beauty += 4 - slave.butt;
+					} else {
+						beauty += 1;
+					}
+				} else {
+					beauty += 1;
+				}
+				break;
+			case 0:
+				if (slave.butt > 6) {
+					if (arcology.FSTransformationFetishist === "unset" && arcology.FSHedonisticDecadence === "unset") {
+						beauty += 6 - slave.butt;
+					} else {
+						beauty += 1;
+					}
+				} else if (slave.butt <= 1) {
+					beauty += slave.butt - 2;
+				} else {
+					beauty += 1;
+				}
+				break;
+			case 1:
+				if (slave.butt > 8) {
+					if (arcology.FSTransformationFetishist === "unset" && arcology.FSHedonisticDecadence === "unset") {
+						beauty += 8 - slave.butt;
+					} else {
+						beauty += 1;
+					}
+				} else if (slave.butt <= 2) {
+					beauty += slave.butt - 3;
+				} else {
+					beauty += 1;
+				}
+				break;
+			case 2:
+				if (slave.butt <= 3) {
+					beauty += slave.butt - 4;
+				} else {
+					beauty += 1;
+				}
+				break;
+			case 3:
+				if (slave.butt <= 8) {
+					beauty += slave.butt - 8;
+				} else {
+					beauty += 1;
+				}
+				break;
+		}
+	};
+
+	function calcBoobsBeauty(slave) {
+		if ((arcology.FSTransformationFetishist > 20 && arcology.FSSlimnessEnthusiast === "unset") || arcology.FSAssetExpansionist > 20) {
+			if (slave.boobs <= 500) {
+				beauty += 0.02*(slave.boobs - 250); /*5*/
+			} else if (slave.boobs <= 1500) {
+				beauty += 5 + 0.015*(slave.boobs - 500); /*20*/
+			} else if (slave.boobs <= 3000) {
+				beauty += 20 + 0.01*(slave.boobs - 1500); /*42.5*/
+			} else if (slave.boobs <= 25000) {
+				beauty += 50 + 0.005*(slave.boobs - 3000); /*160 - this might need to be lowered. Maybe drop the 50? Otherwise break it down more.*/
+			} else {
+				beauty += 145 + 0.001*(slave.boobs - 10000); /* 185 */
+			}
+		} else if (arcology.FSSlimnessEnthusiast > 20) {
+			if (slave.boobs <= 500) {
+				beauty += 0.08*(slave.boobs); /*40 - buff me to be in line with higher end asset exp*/
+			} else if (slave.boobs <= 1000) {
+				beauty += 10;
+			} else if (slave.boobs <= 3000) {
+				beauty += 5;
+			} else {
+				beauty -= 5 + 0.005*(slave.boobs - 3000); /*-110*/
+			}
+		} else {
+			if (slave.boobs <= 1200) {
+				beauty += 0.02*(slave.boobs - 200); /*20*/
+			} else if (slave.boobs <= 2400) {
+				beauty += 20 + (0.01*(slave.boobs - 1200)); /*32*/
+			} else if (slave.boobs <= 3600) {
+				beauty += 32 + (0.005*(slave.boobs - 2400)); /*38*/
+			} else if (slave.boobs <= 10000) {
+				beauty += 38;
+			} else if (slave.boobs <= 25000) {
+				beauty += 30;
+			} else {
+				beauty += 20;
+			}
+		}
+		if (arcology.FSTransformationFetishist > 20) { /* the cost of using AE's values */
+			if (arcology.FSSlimnessEnthusiast !== "unset") {
+				if (slave.boobs >= 400) {
+					if (slave.boobs >= 10000) {
+						if (slave.boobsImplant/slave.boobs < 0.75) {
+							beauty -= (0.05*slave.boobs) + 10;
+						}
+					} else if (slave.boobs >= 2000) {
+						if (slave.boobsImplant/slave.boobs < 0.50) {
+							beauty -= (0.05*slave.boobs) + 10;
+						}
+					} else if (slave.boobs >= 1000) {
+						if (slave.boobsImplant/slave.boobs < 0.25) {
+							beauty -= (0.05*slave.boobs) + 10;
+						}
+					} else {
+						if (slave.boobsImplant/slave.boobs < 0.10) {
+							beauty -= (0.05*slave.boobs) + 10;
+						}
+					}
+				}
+			} else {
+				if (slave.boobs >= 600) {
+					if (slave.boobs >= 10000) {
+						if (slave.boobsImplant/slave.boobs < 0.75) {
+							beauty -= 30 + (0.005*slave.boobs); /* will get nasty at huge sizes */
+						}
+					} else if (slave.boobs >= 2000) {
+						if (slave.boobsImplant/slave.boobs < 0.50) {
+							beauty -= 30 + (0.005*slave.boobs); /* will get nasty at huge sizes */
+						}
+					} else if (slave.boobs >= 1000) {
+						if (slave.boobsImplant/slave.boobs < 0.25) {
+							beauty -= 30 + (0.005*slave.boobs); /* will get nasty at huge sizes */
+						}
+					} else {
+						if (slave.boobsImplant/slave.boobs < 0.10) {
+							beauty -= 30 + (0.005*slave.boobs); /* will get nasty at huge sizes */
+						}
+					}
+				}
+			}
+		}
+		if (slave.boobs > 250) {
+			if (slave.boobShape === "perky") {
+				beauty += 6;
+			} else if (slave.boobShape === "torpedo-shaped") {
+				beauty += 6;
+			} else if (slave.boobShape === "downward-facing") {
+				beauty -= 4;
+			} else if (slave.boobShape === "saggy") {
+				beauty -= 4;
+			}
+		}
+		if (slave.nipples === "huge") {
+			beauty += 4;
+		} else if (slave.nipples === "inverted") {
+			beauty += 2;
+		} else if (slave.nipples === "puffy") {
+			beauty += 2;
+		} else if (slave.nipples === "tiny") {
+			beauty -= 2;
+		} else if (slave.nipples === "fuckable") {
+			if (arcology.FSTransformationFetishist !== "unset") {
+				beauty += arcology.FSTransformationFetishist/10;
+			}
+		}
+	};
+
+	function calcWeightBeauty(slave) {
+		if (arcology.FSHedonisticDecadence > 20) {
+			if (slave.weight < -95) {
+				beauty += -70 + (slave.weight/10); /*-80*/
+			} else if (slave.weight < -30) {
+				beauty += -30 + (slave.weight/3); /*-61*/
+			} else if (slave.weight < -10) {
+				beauty += (slave.weight); /*-30*/
+			} else if (slave.weight <= 10) {
+				/* no effect */
+			} else if (slave.weight <= 30) {
+				beauty += (slave.weight/2); /*15*/
+			} else if (slave.weight <= 95) {
+				beauty += 15 + (slave.weight/7); /*28.5*/
+			} else if (slave.weight <= 130) {
+				beauty += 28 + (slave.weight/10); /*41*/
+			} else if (slave.weight <= 160) {
+				beauty += 42 + (slave.weight/20); /*50*/
+			} else if (slave.weight <= 190) {
+				beauty += 50 - (slave.weight/25); /*42.5*/
+			} else {
+				beauty += 40 - (slave.weight/20); /*30*/
+			}
+		} else {
+			if (slave.weight > 130) {
+				beauty -= Math.abs(slave.weight)/5;
+			} else if (slave.hips === 3) {
+				if (slave.weight < -10) {
+					beauty -= Math.abs(slave.weight)/10;
+				}
+			} else if (slave.hips === 2) {
+				if (slave.weight > 95) {
+					beauty -= Math.abs(slave.weight)/15;
+				} else if (slave.weight < -30) {
+					beauty -= Math.abs(slave.weight)/10;
+				}
+			} else if (slave.hips === -2) {
+				if (slave.weight < -95 || slave.weight > 30) {
+					beauty -= Math.abs(slave.weight)/10;
+				}
+			} else {
+				if (Math.abs(slave.weight) > 30) {
+					beauty -= Math.abs(slave.weight)/10;
+				}
+			}
+		}
+		if (arcology.FSPhysicalIdealist !== "unset") {
+			if (arcology.FSPhysicalIdealistStrongFat === 1) {
+				if (slave.weight > 10 && slave.weight <= 130) {
+					beauty += slave.weight*(arcology.FSPhysicalIdealist/200); /*65*/
+				} else {
+					beauty -= Math.abs(slave.weight)/2;
+				}
+			}
+		}
+	};
+
+	function calcMusclesBeauty(slave) {
+		if (arcology.FSPhysicalIdealist !== "unset") {
+			if (arcology.FSPhysicalIdealistLaw === 1) {
+				if (Math.abs(slave.weight) <= 30 && slave.health >= 20 && slave.muscles >= 20 && slave.muscles <= 50) {
+					beauty += (slave.muscles + (Math.min(slave.health,300)/5))*(arcology.FSPhysicalIdealist/100);
+				} else {
+					beauty -= 30;
+				}
+			} else {
+				if (slave.muscles > 30 || slave.muscles <= -5) {
+					beauty += slave.muscles*(arcology.FSPhysicalIdealist/120); /*+-83*/
+				}
+			}
+		} else if (arcology.FSHedonisticDecadence !== "unset") {
+			if (slave.muscles < -10) {
+				beauty += Math.abs(slave.muscles)*(arcology.FSHedonisticDecadence/160); /*62.5*/
+			} else if (slave.muscles > 5) {
+				if (arcology.FSHedonisticDecadenceStrongFat === 1) {
+					beauty += slave.muscles*(arcology.FSHedonisticDecadence/200); /*50*/
+				} else {
+					beauty -= slave.muscles*(arcology.FSHedonisticDecadence/200); /*-50*/
+				}
+			}
+		}
+	};
+
+	function calcBodyHairBeauty(slave) {
+		if (slave.physicalAge < 11) {
+			beauty += 4;
+		} else if (slave.physicalAge >= 13) {
+			switch (slave.underArmHStyle) {
+				case "hairless":
+				case "bald":
+				case "waxed":
+				case "shaved":
+					beauty += 2;
+					break;
+				case "bushy":
+					if (arcology.FSBodyPurist > 0) {
+						beauty += 4;
+					} else {
+						beauty -= 2;
+					}
+					break;
+			}
+			switch (slave.pubicHStyle) {
+				case "hairless":
+				case "bald":
+				case "waxed":
+					beauty += 2;
+					break;
+				case "bushy":
+					if (arcology.FSBodyPurist > 0) {
+						beauty += 2;
+					} else {
+						beauty -= 4;
+					}
+					break;
+				case "bushy in the front and neat in the rear":
+					if (arcology.FSBodyPurist > 0) {
+						beauty += 4;
+					} else {
+						beauty -= 2;
+					}
+					break;
+				case "very bushy":
+					if (arcology.FSBodyPurist > 0) {
+						beauty += 2;
+					} else {
+						beauty -= 6;
+					}
+					break;
+			}
+		}
+	};
+
+	function calcImplantBeauty(slave) {
+		if (arcology.FSTransformationFetishist !== "unset") {
+			if (Math.abs(slave.shouldersImplant) > 1) {
+				beauty += (arcology.FSTransformationFetishist/20) + Math.abs(slave.shouldersImplant);
+			}
+			if (Math.abs(slave.hipsImplant) > 1) {
+				beauty += (arcology.FSTransformationFetishist/20) + Math.abs(slave.hipsImplant);
+			}
+			if (slave.race !== slave.origRace) {
+				beauty += arcology.FSTransformationFetishist/20;
+			}
+			if (slave.faceImplant > 95 && slave.face > 40) {
+				beauty += arcology.FSTransformationFetishist/4;
+			}
+		} else if (arcology.FSBodyPurist !== "unset") {
+			if (slave.faceImplant > 5) {
+				beauty -= (arcology.FSBodyPurist/100)*(slave.faceImplant/10);
+			}
+			if (slave.race === slave.origRace) {
+				beauty -= arcology.FSBodyPurist/20;
+			}
+		} else {
+			if (slave.faceImplant > 30) {
+				beauty -= (slave.faceImplant - 30)/10;
+			}
+		}
+	};
+
+	function calcRepopulationPregBeauty(slave) {
+		if (slave.preg > 30) { /*limited huge boost for full term */
+			if (slave.broodmother > 0) {
+				beauty += 0.4*(slave.broodmother*arcology.FSRepopulationFocus); /*40-80 limited due to constant presence. Also good breeders, but subpar mothers*/
+			} else if (slave.bellyPreg >= 600000) {
+				beauty += 1.5*arcology.FSRepopulationFocus; /*150*/
+			} else if (slave.bellyPreg >= 300000) {
+				beauty += arcology.FSRepopulationFocus; /*100*/
+			} else if (slave.bellyPreg >= 120000) {
+				beauty += 0.9*arcology.FSRepopulationFocus; /*90*/
+			} else {
+				beauty += 0.8*arcology.FSRepopulationFocus; /*80*/
+			}
+		} else if (slave.preg > 20) {
+			if (slave.pregType >= 20) {
+				beauty += 10*(arcology.FSRepopulationFocus/40); /*25*/
+			} else if (slave.pregType >= 10) {
+				beauty += 9*(arcology.FSRepopulationFocus/40); /*22.5*/
+			} else {
+				beauty += 8*(arcology.FSRepopulationFocus/40); /*20*/
+			}
+		} else if (slave.preg > 10) {
+			if (slave.pregType >= 20) {
+				beauty += arcology.FSRepopulationFocus/5; /*20*/
+			} else if (slave.pregType >= 10) {
+				beauty += arcology.FSRepopulationFocus/6.25; /*16*/
+			} else {
+				beauty += arcology.FSRepopulationFocus/10; /*10*/
+			}
+		} else if (slave.pregWeek < 0) {
+			beauty += arcology.FSRepopulationFocus/10; /*10*/
+		} else if (slave.preg > 0 && slave.collar === "preg biometrics") {
+			beauty += arcology.FSRepopulationFocus/12; /*8.33*/
+		} else {
+			beauty -= arcology.FSRepopulationFocus/2.5; /*-40*/
+		}
+		if (slave.births > 50) {
+			beauty += arcology.FSRepopulationFocus/1.5; /*66.6*/
+		} else {
+			beauty += slave.births*(arcology.FSRepopulationFocus/75);
+		}
+	};
+
+	function calcRestartPregBeauty(slave) {
+		if (slave.breedingMark === 1 && V.propOutcome === 1) {
+			if (slave.preg > 5 && slave.pregSource === -1) {
+				beauty += arcology.FSRestart; /*100*/
+			}
+		} else {
+			if (slave.preg > 30) {
+				if (slave.bellyPreg >= 600000) {
+					beauty -= 2.5*arcology.FSRestart; /*-250*/
+				} else if (slave.bellyPreg >= 300000) {
+					beauty -= 1.25*arcology.FSRestart; /*-125*/
+				} else if (slave.bellyPreg >= 120000) {
+					beauty -= arcology.FSRestart; /*-100*/
+				} else {
+					beauty -= 0.75*arcology.FSRestart; /*-75*/
+				}
+			} else if (slave.preg > 20) {
+				if (slave.pregType >= 20) {
+					beauty -= arcology.FSRestart/1.5; /*-66.6*/
+				} else if (slave.pregType >= 10) {
+					beauty -= arcology.FSRestart/2; /*-50*/
+				} else {
+					beauty -= arcology.FSRestart/3; /*-33.3*/
+				}
+			} else if (slave.preg > 10) {
+				if (slave.pregType >= 20) {
+					beauty -= 3*(arcology.FSRestart/8); /*-37.5*/
+				} else if (slave.pregType >= 10) {
+					beauty -= arcology.FSRestart/4; /*-25*/
+				} else {
+					beauty -= arcology.FSRestart/8; /*-12.5*/
+				}
+			} else if (slave.preg === -2) {
+				beauty += arcology.FSRestart/7; /*14.2*/
+			} else if (slave.preg < 1) {
+				beauty += arcology.FSRestart/5; /*20*/
+			}
+			if (slave.births > 50) {
+				beauty -= arcology.FSRestart; /*-100*/
+			} else {
+				beauty -= slave.births*(arcology.FSRestart/50);
+			}
+		}
+	};
+
+	function calcFutaLawBeauty(slave) {
+		switch (arcology.FSGenderRadicalistLawFuta) {
+			case 1:
+				if (slave.dick > 0 && slave.vagina > -1) { /* herms */
+					calcFutaLawTrueFutaBeauty(slave);
+				}
+				break;
+			case 2:
+				if (canAchieveErection(slave) && slave.balls > 0 && slave.scrotum > 0) { /* erection! */
+					calcFutaLawBigDickBeauty(slave);
+				}
+				break;
+			case 3:
+				calcFutaLawBigBootyBeauty(slave);
+				break;
+			case 4:
+				if (slave.dick > 0 && slave.vagina === -1 && slave.faceShape !== "masculine") {
+					if (slave.boobs < 500 && slave.dick < 4 && slave.balls < 4) {
+						calcFutaLawFemboyBeauty(slave);
+					}
+				}
+				break;
+		}
+	};
+
+	function calcFutaLawTrueFutaBeauty(slave) {
+		if (slave.dick <= 10) {
+			beauty += slave.dick;
+		} else if (slave.dick > 20) {
+			beauty += 2;
+		} else {
+			beauty += 4;
+		}
+	};
+
+	function calcFutaLawBigDickBeauty(slave) {
+		beauty += slave.dick;
+		if (slave.balls > 120) {
+			beauty += 14;
+		} else if (slave.balls > 100) {
+			beauty += 12;
+		} else if (slave.balls > 80) {
+			beauty += 10;
+		} else if (slave.balls > 60) {
+			beauty += 8;
+		} else if (slave.balls > 40) {
+			beauty += 6;
+		} else if (slave.balls > 20) {
+			beauty += 4;
+		} else if (slave.balls > 10) {
+			beauty += 2;
+		} else {
+			beauty += slave.balls;
+		}
+	};
+
+	function calcFutaLawBigBootyBeauty(slave) {
+		if (slave.hips >= 1) {
+			beauty += 4*(slave.hips - 1); /*8*/
+			if (arcology.FSSlimnessEnthusiast !== "unset") {
+				beauty += 4*(slave.hips - 1); /*8*/ /* offsets the malus for big butts */
+			}
+		}
+		if (slave.analSkill > 60 && slave.anus >= 2) {
+			beauty += 2*(slave.anus-2); /*6*/
+			if (arcology.FSSlimnessEnthusiast != "unset") {
+				beauty += 2*(slave.anus-2); /*6*/ /* offsets the malus for big butts */
+			}
+		}
+		if (slave.butt >= 5) {
+			beauty += (slave.butt - 5); /*15*/
+		}
+	};
+
+	function calcFutaLawFemboyBeauty(slave) {
+		if (arcology.FSSlimnessEnthusiast === "unset") { /*balance with slimness*/
+			beauty += 20;
+			if (slave.boobs < 300) {
+				beauty += 12;
+			} else if (slave.boobs < 400) {
+				beauty += 6;
+			}
+		}
+		if (slave.dick === 1) {
+			beauty += 12;
+		} else if (slave.dick === 2) {
+			beauty += 6;
+		}
+		if (slave.balls <= 2) {
+			beauty += 8;
+		}
+		if (slave.faceShape === "cute" && slave.face > 0) { /*uggos need not apply, maybe a small boost for other faceShapes*/
+			beauty += ((arcology.FSGenderRadicalist/25)*(slave.face/30)) - 2; /*gives a slightly better boost than androgynous does with gendrad boost, 15.3*/
+		}
+		if (slave.nipples === "tiny") {
+			beauty += 5;
+		} else if (slave.nipples === "cute") {
+			beauty += 2;
+		} else {
+			beauty -= 5;
+		}
+	};
+
+	function calcBodyProportionBeauty(slave) {
+		if (arcology.FSGenderFundamentalist !== "unset") {
+			if (slave.shoulders > slave.hips) {
+				if (slave.boobs <= 2000*(slave.shoulders - slave.hips)) {
+					beauty -= (slave.shoulders - slave.hips)*(1 + (arcology.FSGenderFundamentalist/200));
+				}
+			}
+		} else if (arcology.FSGenderRadicalist === "unset") {
+			if (slave.shoulders > slave.hips) {
+				if (slave.boobs <= 2000*(slave.shoulders - slave.hips)) {
+					beauty -= slave.shoulders - slave.hips;
+				}
+			}
+		}
+	};
+
+	function calcVoiceBeauty(slave) {
+		if (canTalk(slave)) {
+			if (slave.accent >= 3) {
+				beauty -= 1;
+			} else if (slave.accent === 1) {
+				beauty += 1;
+			}
+		} else {
+			beauty -= 2;
+		}
+	};
+
+	function calcLimbsBeauty(slave) {
+		switch (slave.amp) {
+			case 1:
+				beauty -= 10;
+				break;
+			case -1:
+			case -2:
+			case -4:
+				beauty -= 2;
+				break;
+		}
+	};
+
+	function calcPubertyBeauty(slave) {
+		if (slave.pubertyXX === 1) {
+			beauty += 5;
+		}
+		if (slave.pubertyXY === 0 && slave.physicalAge > V.potencyAge && slave.balls > 0) {
+			beauty += 10;
+			if (arcology.FSGenderFundamentalist !== "unset") {
+				beauty += 5;
+			}
+		}
+	};
+
+	function calcFSMiscBeauty(slave) {
+		if (arcology.FSTransformationFetishist > 20) {
+			if (slave.lips > 70) {
+				if (slave.lipsImplant/slave.lips < 0.5) {
+					beauty -= ((slave.lips/10) + (arcology.FSTransformationFetishist/20));
+				}
+			}
+			if (slave.hips === 3) {
+				beauty += 10;
+			}
+		}
+		if ((arcology.FSGenderRadicalist > 20 && arcology.FSGenderRadicalistLawFuta !== 3) || arcology.FSSlimnessEnthusiast > 20) {
+			if (slave.hips < 0) {
+				beauty += Math.abs(slave.hips);
+			}
+		}
+		if (arcology.FSPhysicalIdealist !== "unset") {
+			if (slave.height > Height.mean(slave)) {
+				beauty += 10;
+			}
+		}
+		if (arcology.FSHedonisticDecadenceLaw2 === 1) {
+			if (slave.boobs >= 2000 && slave.butt >= 5 && slave.weight > 95) {
+				beauty += 5 + (arcology.FSHedonisticDecadence/20); /*10*/
+			} else {
+				beauty -= 15 + (arcology.FSHedonisticDecadence/20); /*-20*/
+			}
+		}
+		if (arcology.FSChattelReligionistCreed === 1) {
+			if (V.nicaeaAssignment === slave.assignment) {
+				beauty += 2*V.nicaeaPower;
+			}
+		}
+	};
+
+	function calcPurityBeauty(slave) {
+		if (isPure(slave)) {
+			V.pure = V.pure++ || 1;
+			if (arcology.FSBodyPurist !== "unset") {
+				beauty += arcology.FSBodyPurist/5;
+			}
+			if (arcology.FSTransformationFetishist === "unset") {
+				beauty += 2;
+			}
+		} else if (arcology.FSTransformationFetishist !== "unset") {
+			beauty += arcology.FSTransformationFetishist/40;
+		}
+	};
+
+	function calcPhysiqueBeauty(slave) {
+		let physiquePass = 0;
+
+		if (slave.boobs < 500 && slave.butt < 3) {
+			if (slave.muscles <= 30 && arcology.FSPhysicalIdealist === "unset" && slave.weight <= 10 && arcology.FSHedonisticDecadence === "unset") {
+				physiquePass = 1;
+			} else if (arcology.FSPhysicalIdealist !== "unset") { /* no muscle malus for muscle loving societies */
+				if (arcology.FSPhysicalIdealistStrongFat === 1 && slave.weight <= 30) { /* reduced weight malus for fat loving societies */
+					physiquePass = 1;
+				} else if (slave.weight <= 10) {
+					physiquePass = 1;
+				}
+			} else if (arcology.FSHedonisticDecadence !== "unset" && slave.weight <= 30) { /* reduced weight malus for fat loving societies */
+				if (arcology.FSHedonisticDecadenceStrongFat === 1) { /* no muscle malus for muscle loving societies */
+					physiquePass = 1;
+				} else if (slave.muscles <= 30) {
+					physiquePass = 1;
+				}
+			}
+		}
+		if (physiquePass === 1) {
+			beauty += 40;
+			if (arcology.FSSlimnessEnthusiast > 20) {
+				beauty += arcology.FSSlimnessEnthusiast/20;
+				if (canTalk(slave) && slave.voice === 3) {
+					beauty += arcology.FSSlimnessEnthusiast/40;
+				}
+			}
+		} else if (slave.butt > 4 && slave.boobs > 800) {
+			if (arcology.FSSlimnessEnthusiast === "unset") {
+				beauty += 1;
+			}
+			if (arcology.FSAssetExpansionist > 20) {
+				beauty += arcology.FSAssetExpansionist/20;
+				if (canTalk(slave) && slave.voice === 3) {
+					beauty += arcology.FSAssetExpansionist/40;
+				}
+			}
+		}
+	};
+
+	function calcSlimBeauty(slave) {
+		let slimPass;
+
+		if (slave.boobs < 300 && slave.butt <= 1 && slave.waist <= 10) {
+			if (arcology.FSPhysicalIdealist === "unset" && arcology.FSHedonisticDecadenceStrongFat === 0 && slave.muscles > 30) { /*muscle check*/
+				slimPass = 0;
+			} else if (arcology.FSHedonisticDecadence !== "unset" || arcology.FSPhysicalIdealistStrongFat === 1) { /*weight check*/
+				if (slave.weight > 30) {
+					slimPass = 0;
+				}
+			} else if (slave.weight > 10) {
+				slimPass = 0;
+			} else {
+				slimPass = 1;
+			}
+		}
+		if (slimPass === 1) {
+			beauty += 40 + (arcology.FSSlimnessEnthusiast/20); /*45*/
+		} else {
+			beauty -= arcology.FSSlimnessEnthusiast/20;
+		}
+	};
+
+	function calcGenderLawBeauty(slave) {
+		V.genderLawPass = 1;
+
+		if (arcology.FSPhysicalIdealist === "unset" && arcology.FSHedonisticDecadenceStrongFat === 0 && slave.muscles > 30) { /*muscle check*/
+			V.genderLawPass = 0;
+		} else if (arcology.FSHedonisticDecadence !== "unset" || arcology.FSPhysicalIdealistStrongFat === 1) { /*weight check*/
+			if (slave.weight > 130 || slave.weight <= -30) {
+				V.genderLawPass = 0;
+			}
+		} else if (Math.abs(slave.weight) > 30) {
+			V.genderLawPass = 0;
+		} else if (arcology.FSAssetExpansionist !== "unset") {
+			if (slave.boobs < 500 || slave.boobs > 1600 || slave.butt < 3 || slave.butt > 6) {
+				V.genderLawPass = 0;
+			}
+		} else if (slave.boobs < 500 || slave.boobs > 800 || slave.butt < 3 || slave.butt > 4) {
+			V.genderLawPass = 0;
+		}
+		if (V.genderLawPass === 1) {
+			beauty += 60;
+		} else {
+			beauty -= 10;
+		}
+	};
+
+	function calcMultipliersBeauty(slave) {
+		calcBellyBeauty(slave);
+		if (arcology.FSGenderRadicalist !== "unset") {
+			if (slave.bellyPreg >= 500 && arcology.FSRepopulationFocus === "unset" && arcology.FSRestart === "unset") {
+				if (slave.mpreg === 1) {
+					beauty = 0.9*beauty;
+				} else {
+					beauty = 0.7*beauty;
+				}
+			}
+		} else if (arcology.FSGenderFundamentalist === "unset") {
+			if (slave.preg > 10 && arcology.FSRepopulationFocus === "unset" && arcology.FSRestart === "unset") {
+				beauty = 0.8*beauty;
+			}
+		}
+		if (slave.breedingMark === 1) {
+			if (V.propOutcome === 1) {
+				beauty = 2*beauty;
+			} else {
+				beauty += 2;
+			}
+		}
+		if (slave.fuckdoll === 0 && V.seeAge === 1) {
+			calcAgeBeauty(slave);
+		}
+		if (slave.prestige + slave.pornPrestige > 0) {
+			calcPrestigeBeauty(slave);
+		}
+	};
+
+	function calcBellyBeauty(slave) {
+		if (slave.bellySag > 0) {
+			if (slave.belly < 100) {
+				if (arcology.FSRepopulationFocus === "unset") {
+					beauty -= 20;
+				}
+			}
+		}
+		if (slave.bellyImplant >= 1500) {
+			if (arcology.FSTransformationFetishist > 20) {
+				beauty += Math.min(Math.trunc(slave.bellyImplant/1000), 50); /*50*/
+			} else if (arcology.FSRepopulationFocus > 60) {
+				if ((slave.ovaries === 0 && slave.mpreg === 0) || slave.preg < -1) {
+					beauty += 20;
+				}
+			} else {
+				if (slave.bellyImplant >= 750000) { /* multipliers */
+					beauty = 0.2*beauty;
+				} else if (slave.bellyImplant >= 450000) {
+					beauty = 0.5*beauty;
+				} else if (slave.bellyImplant >= 300000) {
+					beauty = 0.7*beauty;
+				} else if (slave.bellyImplant >= 100000) {
+					beauty = 0.8*beauty;
+				} else if (slave.bellyImplant >= 50000) {
+					beauty = 0.85*beauty;
+				} else {
+					beauty = 0.9*beauty;
+				}
+			}
+		}
+	};
+
+	function calcAgeBeauty(slave) {
+		if (slave.physicalAge === V.minimumSlaveAge) {
+			beauty += 1;
+			if (slave.physicalAge === V.fertilityAge && canGetPregnant(slave) && (arcology.FSRepopulationFocus !== "unset" || arcology.FSGenderFundamentalist !== "unset") && arcology.FSRestart === "unset") {
+				if (slave.birthWeek === 0) {
+					beauty += 1.6*beauty;
+				} else if (slave.birthWeek < 4) {
+					beauty += 0.2*beauty;
+				}
+			} else {
+				if (slave.birthWeek === 0) {
+					beauty += 0.8*beauty;
+				} else if (slave.birthWeek < 4) {
+					beauty += 0.1*beauty;
+				}
+			}
+		} else if (slave.physicalAge === V.fertilityAge && canGetPregnant(slave) && (arcology.FSRepopulationFocus !== "unset" || arcology.FSGenderFundamentalist !== "unset") && arcology.FSRestart === "unset") {
+			beauty += 1;
+			if (slave.birthWeek === 0) {
+				beauty += 0.8*beauty;
+			} else if (slave.birthWeek < 4) {
+				beauty += 0.1*beauty;
+			}
+		}
+	};
+
+	function calcPrestigeBeauty(slave) { /* multipliers */
+		if (slave.prestige >= 3) {
+			beauty += 2*beauty;
+		} else if (slave.prestige === 2) {
+			beauty += 0.5*beauty;
+		} else if (slave.prestige === 1) {
+			beauty += 0.25*beauty;
+		}
+		if (slave.pornPrestige === 3) {
+			beauty += beauty;
+		} else if (slave.pornPrestige === 2) {
+			beauty += 0.5*beauty;
+		} else if (slave.pornPrestige === 1) {
+			beauty += 0.1*beauty;
+		}
+	};
+
+	return Beauty;
+})();
diff --git a/src/js/assayJS.tw b/src/js/assayJS.tw
index 309257eaeac979a7eb46ff36f3da3380b63b78c3..cfcec7dce764a9a7c9d3969d3fd37d23b391b949 100644
--- a/src/js/assayJS.tw
+++ b/src/js/assayJS.tw
@@ -179,11 +179,11 @@ window.slimPass = function(slave) {
 
 	if (ArcologyZero.FSSlimnessEnthusiastLaw === 1) {
 		if ((slave.boobs < 300) && (slave.butt <= 1) && (slave.waist <= 10)) {
-			State.variables.slimPass = 1;
+			slimPass = 1;
 			if ((ArcologyZero.FSPhysicalIdealist === "unset") && (ArcologyZero.FSHedonisticDecadenceStrongFat === 0) && (slave.muscles > 30)) { /*muscle check*/
 				slimPass = 0;
 			}
-			if (State.variables.slimPass === 1) {
+			if (slimPass === 1) {
 				if ((ArcologyZero.FSHedonisticDecadence !== "unset") || (ArcologyZero.FSPhysicalIdealistStrongFat === 1)) { /*weight check*/
 					if (slave.weight > 30) {
 						slimPass = 0;
diff --git a/src/js/beautyJS.tw b/src/js/beautyJS.tw
new file mode 100644
index 0000000000000000000000000000000000000000..f1461649e87230bfcd2d97a616b11c798b386e1d
--- /dev/null
+++ b/src/js/beautyJS.tw
@@ -0,0 +1,1236 @@
+:: Beauty [script]
+
+window.Beauty = (function() {
+	"use strict";
+	let V, arcology, beauty;
+
+	function Beauty(slave) {
+		V = State.variables;
+		arcology = V.arcologies[0];
+		modScore(slave);
+
+		beauty = 120;
+		calcInitBeauty(slave);
+		if (slave.fuckdoll === 0) {
+			beauty += 30;
+			calcFaceBeauty(slave);
+			calcTeethBeauty(slave);
+			calcModBeauty(slave);
+			calcCosmeticsBeauty(slave);
+			calcFSNotFuckdollBeauty(slave);
+			calcMiscNotFuckdollBeauty(slave);
+		}
+		if (slave.dick > 0) {
+			calcDickBeauty(slave);
+		}
+		if (slave.balls > 0) {
+			calcBallsBeauty(slave);
+		}
+		calcButtBeauty(slave);
+		calcHipsBeauty(slave);
+		calcBoobsBeauty(slave);
+		calcWeightBeauty(slave);
+		calcMusclesBeauty(slave);
+		calcBodyHairBeauty(slave);
+		calcImplantBeauty(slave);
+		if (arcology.FSRepopulationFocus > 40) {
+			calcRepopulationPregBeauty(slave);
+		} else if (arcology.FSRestart > 40) {
+			calcRestartPregBeauty(slave);
+		}
+		if (arcology.FSGenderRadicalistLawFuta !== 0) {
+			calcFutaLawBeauty(slave);
+		}
+		calcBodyProportionBeauty(slave);
+		calcVoiceBeauty(slave);
+		if (slave.amp !== 0) {
+			calcLimbsBeauty(slave);
+		}
+		calcPubertyBeauty(slave);
+		calcFSMiscBeauty(slave);
+
+		calcPurityBeauty(slave);
+		calcPhysiqueBeauty(slave);
+		if (arcology.FSSlimnessEnthusiastLaw === 1) {
+			calcSlimBeauty(slave);
+		}
+		if (arcology.FSGenderFundamentalistLawBeauty + arcology.FSGenderRadicalistLawBeauty > 0) {
+			calcGenderLawBeauty(slave);
+		}
+
+		calcMultipliersBeauty(slave);
+		beauty = Math.max(1, Math.trunc(0.5*beauty));
+
+		V.beauty = beauty;
+	};
+
+	function calcInitBeauty(slave) {
+		beauty -= slave.waist/20;
+		beauty -= slave.muscles/30;
+		beauty += slave.lips/10;
+		beauty += slave.clit;
+		beauty += (slave.height-160)/10;
+		beauty += 2*slave.hips;
+		beauty -= 3*slave.visualAge;
+		if (slave.anus > 3) {
+			beauty -= 10 + (slave.anus*2); /*-20*/
+		}
+		if (slave.vagina > 3) {
+			beauty -= 10 + (slave.vagina*2); /*-20*/
+		}
+
+	};
+
+	function calcFaceBeauty(slave) {
+		beauty += slave.face/5;
+		switch (slave.faceShape) {
+			case "masculine":
+				if (arcology.FSGenderRadicalist !== "unset") {
+					beauty -= (2 - (arcology.FSGenderRadicalist/25))*(slave.face/30);
+				} else if (arcology.FSGenderFundamentalist !== "unset") {
+					beauty -= (2 + (arcology.FSGenderFundamentalist/25))*(slave.face/30);
+				} else {
+					beauty -= 2*(slave.face/30);
+				}
+				break;
+			case "androgynous":
+				if (arcology.FSGenderRadicalist !== "unset") {
+					beauty += 2 - ((1 - (arcology.FSGenderRadicalist/25))*(slave.face/30));
+				} else if (arcology.FSGenderFundamentalist !== "unset") {
+					beauty += 2 - ((1 + (arcology.FSGenderFundamentalist/25))*(slave.face/30));
+				} else {
+					beauty += 2 - (slave.face/30);
+				}
+				break;
+			case "exotic":
+				beauty += 2*(slave.face/30);
+				break;
+			case "sensual":
+				beauty += 2 + (slave.face/30);
+				break;
+			case "cute":
+				beauty += 8/3;
+				break;
+		}
+	};
+
+	function calcTeethBeauty(slave) {
+		switch (slave.teeth) {
+			case "crooked":
+				beauty -= 3;
+				break;
+			case "braces":
+			case "cosmetic braces":
+				if (slave.visualAge > 14 && slave.visualAge < 18) {
+					beauty += 1;
+				}
+				break;
+			case "removable":
+			case "pointy":
+			case "baby":
+			case "mixed":
+				beauty -= 1;
+				break;
+		}
+	};
+
+	function calcModBeauty(slave) {
+		if (arcology.FSTransformationFetishist > 20 || arcology.FSDegradationist > 20) {
+			if (V.modScore > 15 || (V.piercingScore > 8 && V.tatScore > 5)) {
+				beauty += 8 + (V.modScore*0.25);
+			} else if (V.modScore > 7) {
+				beauty += V.modScore - 7;
+			}
+		} else if (arcology.FSBodyPurist > 20 || arcology.FSPaternalist > 20) {
+			if (V.modScore <= 7) {
+				beauty += 10;
+			} else {
+				beauty += 15 - V.modScore;
+			}
+		} else {
+			if (V.modScore <= 7) {
+				beauty += V.modScore;
+			} else if (V.modScore > 15 || (V.piercingScore > 8 && V.tatScore > 5)) {
+				beauty += 11;
+			} else {
+				beauty += 7 + (0.5*(V.modScore - 7));
+			}
+		}
+	};
+
+	function calcCosmeticsBeauty(slave) {
+		if (slave.brand !== 0) {
+			if (V.rep > 10000) {
+				beauty += 1;
+			} else if (V.rep < 5000) {
+				beauty -= 1;
+			}
+		}
+		if (slave.minorInjury !== 0) {
+			beauty -= 2;
+		}
+		if (slave.cSec === 1) {
+			beauty -= 2;
+		}
+		if (slave.nails > 0) {
+			beauty += 1;
+		}
+		if (slave.makeup > 0) {
+			beauty += 1;
+		}
+		switch (slave.markings) {
+			case "beauty mark":
+				if (slave.face > 40) {
+					beauty += 6;
+				} else if (slave.face < -10) {
+					beauty -= 6;
+				}
+				break;
+			case "birthmark":
+				if (slave.prestige > 0 || slave.pornPrestige > 1) {
+					beauty += 4;
+				} else {
+					beauty -= 4;
+				}
+				break;
+			case "freckles":
+			case "heavily freckled":
+				if (slave.skin === "pale" || slave.skin === "fair") {
+					beauty += 2;
+					if (slave.hColor === "red") {
+						beauty += 2;
+					}
+				}
+				break;
+		}
+	};
+
+	function calcFSNotFuckdollBeauty(slave) {
+		if (arcology.FSSupremacist !== "unset") {
+			if (slave.race === arcology.FSSupremacistRace) {
+				beauty += (arcology.FSSupremacist/3) + (arcology.FSSupremacistLawME*10);
+			}
+		}
+		if (arcology.FSSubjugationist !== "unset") {
+			if (slave.race === arcology.FSSubjugationistRace) {
+				beauty -= (arcology.FSSubjugationist/2) - (arcology.FSSubjugationistLawME*10);
+			}
+		}
+		if (arcology.FSDegradationist !== "unset") {
+			beauty -= (arcology.FSDegradationist/10)*((slave.intelligence + slave.intelligenceImplant)/20);
+		}
+		if (arcology.FSGenderFundamentalistLawBimbo === 1) {
+			beauty -= (slave.intelligence + slave.intelligenceImplant)/2;
+		}
+		if (arcology.FSYouthPreferentialist !== "unset") {
+			beauty += (30 - slave.visualAge)/(30 - V.minimumSlaveAge)*((arcology.FSYouthPreferentialist/2) + (arcology.FSYouthPreferentialistLaw*10)); /*max 60*/
+		} else if (arcology.FSMaturityPreferentialist !== "unset") {
+			if (V.retirementAge > 30) {
+				beauty += (30 - slave.visualAge)/(30 - V.retirementAge)*((arcology.FSMaturityPreferentialist/2) + (arcology.FSMaturityPreferentialistLaw*10)); /*max 60, problems if retirementAge is 30 or under*/
+			}
+		}
+		if (arcology.FSBodyPurist > 20) { /*bonus for virgin slaves*/
+			if (slave.vagina === 0 && slave.vaginalCount === 0) {
+				beauty += 30*(arcology.FSBodyPurist/100);
+			}
+			if (slave.anus === 0 && slave.analCount === 0) {
+				beauty += 30*(arcology.FSBodyPurist/100);
+			}
+		}
+		if (arcology.FSEdoRevivalist !== "unset") {
+			if (slave.nationality === "Japanese" || slave.nationality === "Edo Revivalist") {
+				beauty += arcology.FSEdoRevivalist/2;
+			} else if (slave.race === "asian") {
+				beauty += arcology.FSEdoRevivalist/5;
+			} else {
+				beauty -= arcology.FSEdoRevivalist/4;
+			}
+			if (V.language === "Japanese" && canTalk(slave)) {
+				if (slave.accent > 1) {
+					beauty -= arcology.FSEdoRevivalist/2;
+				} else if (slave.accent > 0) {
+					beauty -= arcology.FSEdoRevivalist/5;
+				} else {
+					beauty += arcology.FSEdoRevivalist/10;
+				}
+			}
+		} else if (arcology.FSChineseRevivalist !== "unset") {
+			if (slave.nationality === "Chinese" || slave.nationality === "Ancient Chinese Revivalist") {
+				beauty += arcology.FSChineseRevivalist/2;
+			} else if (slave.race === "asian") {
+				beauty += arcology.FSChineseRevivalist/5;
+			} else {
+				beauty -= arcology.FSChineseRevivalist/4;
+			}
+			if (V.language === "Chinese" && canTalk(slave)) {
+				if (slave.accent > 1) {
+					beauty -= arcology.FSChineseRevivalist/2;
+				} else if (slave.accent > 0) {
+					beauty -= arcology.FSChineseRevivalist/5;
+				} else {
+					beauty += arcology.FSChineseRevivalist/10;
+				}
+			}
+		}
+	};
+
+	function calcMiscNotFuckdollBeauty(slave) {
+		beauty += Math.min(slave.health, 100)/5;
+		beauty += slave.voice;
+		beauty += (slave.intelligence + slave.intelligenceImplant)/10;
+		beauty += slave.entertainSkill/10;
+		beauty += slave.whoreSkill/10;
+		if (setup.entertainmentCareers.includes(slave.career)) {
+			beauty += 20;
+		} else if (V.week - slave.weekAcquired >= 20 && slave.entertainSkill >= 100) {
+			beauty += 10;
+		}
+		if (slave.race === "white" && slave.origRace === "white") {
+			beauty += 4;
+		} else if (slave.race === "white") {
+			beauty += 2;
+		}
+	};
+
+	function calcDickBeauty(slave) {
+		if (arcology.FSAssetExpansionist > 20 && arcology.FSGenderFundamentalist === "unset") {
+			if (slave.dick >= 20) {
+				beauty += 17 + (slave.dick*(arcology.FSAssetExpansionist/500)); /*23*/
+			} else if (slave.dick >= 10) {
+				beauty += 10 + (slave.dick*(arcology.FSAssetExpansionist/300)); /*16.3*/
+			} else if (slave.dick > 6) {
+				beauty += slave.dick*(1 + (arcology.FSAssetExpansionist/100)); /*10*/
+			}
+		} else if (arcology.FSGenderFundamentalist !== "unset") {
+			if (slave.dick > 0) {
+				beauty += 3 - slave.dick;
+			}
+		} else if (arcology.FSGenderRadicalist !== "unset") {
+			if (slave.dick > 20) {
+				beauty += 20 + (slave.dick*(arcology.FSGenderRadicalist/400)); /*27.5*/
+			} else if (slave.dick >= 10) {
+				beauty += 10 + (slave.dick*(arcology.FSGenderRadicalist/200)); /*20*/
+			} else if (slave.dick > 0) {
+				beauty += slave.dick*(1 + (arcology.FSGenderRadicalist/100)); /*10*/
+			}
+		} else {
+			beauty -= 2*slave.dick;
+		}
+	};
+
+	function calcBallsBeauty(slave) {
+		if (arcology.FSAssetExpansionist > 20 && arcology.FSGenderFundamentalist === "unset") {
+			if (slave.balls > 100) {
+				beauty += 41 + (slave.balls*(arcology.FSAssetExpansionist/500)); /*66*/
+			} else if (slave.balls > 80) {
+				beauty += 16 + (slave.balls*(arcology.FSAssetExpansionist/400)); /*41*/
+			} else if (slave.balls > 60) {
+				beauty += 6 + (slave.balls*(arcology.FSAssetExpansionist/800)); /*16*/
+			} else if (slave.balls > 10) {
+				beauty += slave.balls*((arcology.FSAssetExpansionist/1000)); /*6*/
+			}
+		} else if (arcology.FSGenderFundamentalist !== "unset") {
+			if (slave.scrotum > 0) {
+				beauty -= slave.balls*(1 + (arcology.FSGenderFundamentalist/200));
+			}
+		} else if (arcology.FSGenderRadicalist !== "unset") {
+			if (slave.scrotum > 0) {
+				if (slave.balls > 100) {
+					beauty += 40 + (slave.balls*(arcology.FSGenderRadicalist/2000)); /*46.25*/
+				} else if (slave.balls > 60) {
+					beauty += 30 + (slave.balls*(arcology.FSGenderRadicalist/1000)); /*40*/
+				} else if (slave.balls > 10) {
+					beauty += 15 + (slave.balls*(arcology.FSGenderRadicalist/400)); /*30*/
+				} else {
+					beauty += slave.balls*(1 + (arcology.FSGenderRadicalist/200)); /*15*/
+				}
+			}
+		} else {
+			if (slave.scrotum > 0) {
+				beauty -= slave.balls;
+			}
+		}
+		if (arcology.FSRestart !== "unset") { /* Eugenics does not like slaves having working balls */
+			if (slave.ballType === "human") {
+				beauty -= slave.balls*(1 + (arcology.FSRestart/100));
+			}
+		}
+	};
+
+	function calcButtBeauty(slave) {
+		if (slave.butt <= 10) {
+			beauty += 1.5*slave.butt; /*max 15*/
+		} else {
+			beauty += 15 + (slave.butt/4); /*max 20*/
+		}
+		if ((arcology.FSTransformationFetishist > 20 && arcology.FSSlimnessEnthusiast === "unset") || arcology.FSAssetExpansionist > 20) {
+			if (slave.butt <= 2) {
+				beauty += 2*(slave.butt - 1); /*2*/
+			} else if (slave.butt <= 4) {
+				beauty += 2 + 1.5*(slave.butt - 2); /*5*/
+			} else if (slave.butt <= 10) {
+				beauty += 5 + 1*(slave.butt - 4); /*11*/
+			} else {
+				beauty += 7 + 0.5*(slave.butt - 5); /*14.5*/
+			} /* maybe buff butts? */
+		} else if (arcology.FSSlimnessEnthusiast > 20) {
+			if (slave.butt <= 3) {
+				beauty += 12 + 3*(slave.butt - 1); /*18 buff if asses get buffed*/
+			} else if (slave.butt <= 5) {
+				beauty += 9;
+			} else {
+				beauty -= 10 + 3*slave.butt; /*-70*/
+			}
+		} else {
+			if (slave.butt <= 2) {
+				beauty += 2*(slave.butt-1); /*2*/
+			} else if (slave.butt <= 4) {
+				beauty += 2 + (1.5*(slave.butt - 2)); /*5*/
+			} else if (slave.butt <= 8) {
+				beauty += 2 + (1.5*(slave.butt - 2)); /*11*/
+			} else {
+				beauty += 9;
+			}
+		}
+		if (arcology.FSTransformationFetishist > 20) { /* the cost of using AE's values */
+			if (arcology.FSSlimnessEnthusiast !== "unset") {
+				if (slave.butt >= 3) {
+					if (slave.buttImplant/slave.butt < 0.25) {
+						beauty -= 2*(slave.butt - 1) + 10;
+					}
+				}
+			} else {
+				if (slave.butt >= 6) {
+					if (slave.buttImplant/slave.butt < 0.50) {
+						beauty -= (1.5*slave.butt) + 6; /* will get nasty at huge sizes */
+					}
+				}
+			}
+		}
+	};
+
+	function calcHipsBeauty(slave) { /* butts in general may need buffs */
+		switch (slave.hips) {
+			case -2:
+				if (slave.butt > 2) {
+					if (arcology.FSTransformationFetishist === "unset" && arcology.FSHedonisticDecadence === "unset") {
+						beauty += 2 - slave.butt;
+					} else {
+						beauty += 1;
+					}
+				} else {
+					beauty += 1;
+				}
+				break;
+			case -1:
+				if (slave.butt > 4) {
+					if (arcology.FSTransformationFetishist === "unset" && arcology.FSHedonisticDecadence === "unset") {
+						beauty += 4 - slave.butt;
+					} else {
+						beauty += 1;
+					}
+				} else {
+					beauty += 1;
+				}
+				break;
+			case 0:
+				if (slave.butt > 6) {
+					if (arcology.FSTransformationFetishist === "unset" && arcology.FSHedonisticDecadence === "unset") {
+						beauty += 6 - slave.butt;
+					} else {
+						beauty += 1;
+					}
+				} else if (slave.butt <= 1) {
+					beauty += slave.butt - 2;
+				} else {
+					beauty += 1;
+				}
+				break;
+			case 1:
+				if (slave.butt > 8) {
+					if (arcology.FSTransformationFetishist === "unset" && arcology.FSHedonisticDecadence === "unset") {
+						beauty += 8 - slave.butt;
+					} else {
+						beauty += 1;
+					}
+				} else if (slave.butt <= 2) {
+					beauty += slave.butt - 3;
+				} else {
+					beauty += 1;
+				}
+				break;
+			case 2:
+				if (slave.butt <= 3) {
+					beauty += slave.butt - 4;
+				} else {
+					beauty += 1;
+				}
+				break;
+			case 3:
+				if (slave.butt <= 8) {
+					beauty += slave.butt - 8;
+				} else {
+					beauty += 1;
+				}
+				break;
+		}
+	};
+
+	function calcBoobsBeauty(slave) {
+		if ((arcology.FSTransformationFetishist > 20 && arcology.FSSlimnessEnthusiast === "unset") || arcology.FSAssetExpansionist > 20) {
+			if (slave.boobs <= 500) {
+				beauty += 0.02*(slave.boobs - 250); /*5*/
+			} else if (slave.boobs <= 1500) {
+				beauty += 5 + 0.015*(slave.boobs - 500); /*20*/
+			} else if (slave.boobs <= 3000) {
+				beauty += 20 + 0.01*(slave.boobs - 1500); /*42.5*/
+			} else if (slave.boobs <= 25000) {
+				beauty += 50 + 0.005*(slave.boobs - 3000); /*160 - this might need to be lowered. Maybe drop the 50? Otherwise break it down more.*/
+			} else {
+				beauty += 145 + 0.001*(slave.boobs - 10000); /* 185 */
+			}
+		} else if (arcology.FSSlimnessEnthusiast > 20) {
+			if (slave.boobs <= 500) {
+				beauty += 0.08*(slave.boobs); /*40 - buff me to be in line with higher end asset exp*/
+			} else if (slave.boobs <= 1000) {
+				beauty += 10;
+			} else if (slave.boobs <= 3000) {
+				beauty += 5;
+			} else {
+				beauty -= 5 + 0.005*(slave.boobs - 3000); /*-110*/
+			}
+		} else {
+			if (slave.boobs <= 1200) {
+				beauty += 0.02*(slave.boobs - 200); /*20*/
+			} else if (slave.boobs <= 2400) {
+				beauty += 20 + (0.01*(slave.boobs - 1200)); /*32*/
+			} else if (slave.boobs <= 3600) {
+				beauty += 32 + (0.005*(slave.boobs - 2400)); /*38*/
+			} else if (slave.boobs <= 10000) {
+				beauty += 38;
+			} else if (slave.boobs <= 25000) {
+				beauty += 30;
+			} else {
+				beauty += 20;
+			}
+		}
+		if (arcology.FSTransformationFetishist > 20) { /* the cost of using AE's values */
+			if (arcology.FSSlimnessEnthusiast !== "unset") {
+				if (slave.boobs >= 400) {
+					if (slave.boobs >= 10000) {
+						if (slave.boobsImplant/slave.boobs < 0.75) {
+							beauty -= (0.05*slave.boobs) + 10;
+						}
+					} else if (slave.boobs >= 2000) {
+						if (slave.boobsImplant/slave.boobs < 0.50) {
+							beauty -= (0.05*slave.boobs) + 10;
+						}
+					} else if (slave.boobs >= 1000) {
+						if (slave.boobsImplant/slave.boobs < 0.25) {
+							beauty -= (0.05*slave.boobs) + 10;
+						}
+					} else {
+						if (slave.boobsImplant/slave.boobs < 0.10) {
+							beauty -= (0.05*slave.boobs) + 10;
+						}
+					}
+				}
+			} else {
+				if (slave.boobs >= 600) {
+					if (slave.boobs >= 10000) {
+						if (slave.boobsImplant/slave.boobs < 0.75) {
+							beauty -= 30 + (0.005*slave.boobs); /* will get nasty at huge sizes */
+						}
+					} else if (slave.boobs >= 2000) {
+						if (slave.boobsImplant/slave.boobs < 0.50) {
+							beauty -= 30 + (0.005*slave.boobs); /* will get nasty at huge sizes */
+						}
+					} else if (slave.boobs >= 1000) {
+						if (slave.boobsImplant/slave.boobs < 0.25) {
+							beauty -= 30 + (0.005*slave.boobs); /* will get nasty at huge sizes */
+						}
+					} else {
+						if (slave.boobsImplant/slave.boobs < 0.10) {
+							beauty -= 30 + (0.005*slave.boobs); /* will get nasty at huge sizes */
+						}
+					}
+				}
+			}
+		}
+		if (slave.boobs > 250) {
+			if (slave.boobShape === "perky") {
+				beauty += 6;
+			} else if (slave.boobShape === "torpedo-shaped") {
+				beauty += 6;
+			} else if (slave.boobShape === "downward-facing") {
+				beauty -= 4;
+			} else if (slave.boobShape === "saggy") {
+				beauty -= 4;
+			}
+		}
+		if (slave.nipples === "huge") {
+			beauty += 4;
+		} else if (slave.nipples === "inverted") {
+			beauty += 2;
+		} else if (slave.nipples === "puffy") {
+			beauty += 2;
+		} else if (slave.nipples === "tiny") {
+			beauty -= 2;
+		} else if (slave.nipples === "fuckable") {
+			if (arcology.FSTransformationFetishist !== "unset") {
+				beauty += arcology.FSTransformationFetishist/10;
+			}
+		}
+	};
+
+	function calcWeightBeauty(slave) {
+		if (arcology.FSHedonisticDecadence > 20) {
+			if (slave.weight < -95) {
+				beauty += -70 + (slave.weight/10); /*-80*/
+			} else if (slave.weight < -30) {
+				beauty += -30 + (slave.weight/3); /*-61*/
+			} else if (slave.weight < -10) {
+				beauty += (slave.weight); /*-30*/
+			} else if (slave.weight <= 10) {
+				/* no effect */
+			} else if (slave.weight <= 30) {
+				beauty += (slave.weight/2); /*15*/
+			} else if (slave.weight <= 95) {
+				beauty += 15 + (slave.weight/7); /*28.5*/
+			} else if (slave.weight <= 130) {
+				beauty += 28 + (slave.weight/10); /*41*/
+			} else if (slave.weight <= 160) {
+				beauty += 42 + (slave.weight/20); /*50*/
+			} else if (slave.weight <= 190) {
+				beauty += 50 - (slave.weight/25); /*42.5*/
+			} else {
+				beauty += 40 - (slave.weight/20); /*30*/
+			}
+		} else {
+			if (slave.weight > 130) {
+				beauty -= Math.abs(slave.weight)/5;
+			} else if (slave.hips === 3) {
+				if (slave.weight < -10) {
+					beauty -= Math.abs(slave.weight)/10;
+				}
+			} else if (slave.hips === 2) {
+				if (slave.weight > 95) {
+					beauty -= Math.abs(slave.weight)/15;
+				} else if (slave.weight < -30) {
+					beauty -= Math.abs(slave.weight)/10;
+				}
+			} else if (slave.hips === -2) {
+				if (slave.weight < -95 || slave.weight > 30) {
+					beauty -= Math.abs(slave.weight)/10;
+				}
+			} else {
+				if (Math.abs(slave.weight) > 30) {
+					beauty -= Math.abs(slave.weight)/10;
+				}
+			}
+		}
+		if (arcology.FSPhysicalIdealist !== "unset") {
+			if (arcology.FSPhysicalIdealistStrongFat === 1) {
+				if (slave.weight > 10 && slave.weight <= 130) {
+					beauty += slave.weight*(arcology.FSPhysicalIdealist/200); /*65*/
+				} else {
+					beauty -= Math.abs(slave.weight)/2;
+				}
+			}
+		}
+	};
+
+	function calcMusclesBeauty(slave) {
+		if (arcology.FSPhysicalIdealist !== "unset") {
+			if (arcology.FSPhysicalIdealistLaw === 1) {
+				if (Math.abs(slave.weight) <= 30 && slave.health >= 20 && slave.muscles >= 20 && slave.muscles <= 50) {
+					beauty += (slave.muscles + (Math.min(slave.health,300)/5))*(arcology.FSPhysicalIdealist/100);
+				} else {
+					beauty -= 30;
+				}
+			} else {
+				if (slave.muscles > 30 || slave.muscles <= -5) {
+					beauty += slave.muscles*(arcology.FSPhysicalIdealist/120); /*+-83*/
+				}
+			}
+		} else if (arcology.FSHedonisticDecadence !== "unset") {
+			if (slave.muscles < -10) {
+				beauty += Math.abs(slave.muscles)*(arcology.FSHedonisticDecadence/160); /*62.5*/
+			} else if (slave.muscles > 5) {
+				if (arcology.FSHedonisticDecadenceStrongFat === 1) {
+					beauty += slave.muscles*(arcology.FSHedonisticDecadence/200); /*50*/
+				} else {
+					beauty -= slave.muscles*(arcology.FSHedonisticDecadence/200); /*-50*/
+				}
+			}
+		}
+	};
+
+	function calcBodyHairBeauty(slave) {
+		if (slave.physicalAge < 11) {
+			beauty += 4;
+		} else if (slave.physicalAge >= 13) {
+			switch (slave.underArmHStyle) {
+				case "hairless":
+				case "bald":
+				case "waxed":
+				case "shaved":
+					beauty += 2;
+					break;
+				case "bushy":
+					if (arcology.FSBodyPurist > 0) {
+						beauty += 4;
+					} else {
+						beauty -= 2;
+					}
+					break;
+			}
+			switch (slave.pubicHStyle) {
+				case "hairless":
+				case "bald":
+				case "waxed":
+					beauty += 2;
+					break;
+				case "bushy":
+					if (arcology.FSBodyPurist > 0) {
+						beauty += 2;
+					} else {
+						beauty -= 4;
+					}
+					break;
+				case "bushy in the front and neat in the rear":
+					if (arcology.FSBodyPurist > 0) {
+						beauty += 4;
+					} else {
+						beauty -= 2;
+					}
+					break;
+				case "very bushy":
+					if (arcology.FSBodyPurist > 0) {
+						beauty += 2;
+					} else {
+						beauty -= 6;
+					}
+					break;
+			}
+		}
+	};
+
+	function calcImplantBeauty(slave) {
+		if (arcology.FSTransformationFetishist !== "unset") {
+			if (Math.abs(slave.shouldersImplant) > 1) {
+				beauty += (arcology.FSTransformationFetishist/20) + Math.abs(slave.shouldersImplant);
+			}
+			if (Math.abs(slave.hipsImplant) > 1) {
+				beauty += (arcology.FSTransformationFetishist/20) + Math.abs(slave.hipsImplant);
+			}
+			if (slave.race !== slave.origRace) {
+				beauty += arcology.FSTransformationFetishist/20;
+			}
+			if (slave.faceImplant > 95 && slave.face > 40) {
+				beauty += arcology.FSTransformationFetishist/4;
+			}
+		} else if (arcology.FSBodyPurist !== "unset") {
+			if (slave.faceImplant > 5) {
+				beauty -= (arcology.FSBodyPurist/100)*(slave.faceImplant/10);
+			}
+			if (slave.race === slave.origRace) {
+				beauty -= arcology.FSBodyPurist/20;
+			}
+		} else {
+			if (slave.faceImplant > 30) {
+				beauty -= (slave.faceImplant - 30)/10;
+			}
+		}
+	};
+
+	function calcRepopulationPregBeauty(slave) {
+		if (slave.preg > 30) { /*limited huge boost for full term */
+			if (slave.broodmother > 0) {
+				beauty += 0.4*(slave.broodmother*arcology.FSRepopulationFocus); /*40-80 limited due to constant presence. Also good breeders, but subpar mothers*/
+			} else if (slave.bellyPreg >= 600000) {
+				beauty += 1.5*arcology.FSRepopulationFocus; /*150*/
+			} else if (slave.bellyPreg >= 300000) {
+				beauty += arcology.FSRepopulationFocus; /*100*/
+			} else if (slave.bellyPreg >= 120000) {
+				beauty += 0.9*arcology.FSRepopulationFocus; /*90*/
+			} else {
+				beauty += 0.8*arcology.FSRepopulationFocus; /*80*/
+			}
+		} else if (slave.preg > 20) {
+			if (slave.pregType >= 20) {
+				beauty += 10*(arcology.FSRepopulationFocus/40); /*25*/
+			} else if (slave.pregType >= 10) {
+				beauty += 9*(arcology.FSRepopulationFocus/40); /*22.5*/
+			} else {
+				beauty += 8*(arcology.FSRepopulationFocus/40); /*20*/
+			}
+		} else if (slave.preg > 10) {
+			if (slave.pregType >= 20) {
+				beauty += arcology.FSRepopulationFocus/5; /*20*/
+			} else if (slave.pregType >= 10) {
+				beauty += arcology.FSRepopulationFocus/6.25; /*16*/
+			} else {
+				beauty += arcology.FSRepopulationFocus/10; /*10*/
+			}
+		} else if (slave.pregWeek < 0) {
+			beauty += arcology.FSRepopulationFocus/10; /*10*/
+		} else if (slave.preg > 0 && slave.collar === "preg biometrics") {
+			beauty += arcology.FSRepopulationFocus/12; /*8.33*/
+		} else {
+			beauty -= arcology.FSRepopulationFocus/2.5; /*-40*/
+		}
+		if (slave.births > 50) {
+			beauty += arcology.FSRepopulationFocus/1.5; /*66.6*/
+		} else {
+			beauty += slave.births*(arcology.FSRepopulationFocus/75);
+		}
+	};
+
+	function calcRestartPregBeauty(slave) {
+		if (slave.breedingMark === 1 && V.propOutcome === 1) {
+			if (slave.preg > 5 && slave.pregSource === -1) {
+				beauty += arcology.FSRestart; /*100*/
+			}
+		} else {
+			if (slave.preg > 30) {
+				if (slave.bellyPreg >= 600000) {
+					beauty -= 2.5*arcology.FSRestart; /*-250*/
+				} else if (slave.bellyPreg >= 300000) {
+					beauty -= 1.25*arcology.FSRestart; /*-125*/
+				} else if (slave.bellyPreg >= 120000) {
+					beauty -= arcology.FSRestart; /*-100*/
+				} else {
+					beauty -= 0.75*arcology.FSRestart; /*-75*/
+				}
+			} else if (slave.preg > 20) {
+				if (slave.pregType >= 20) {
+					beauty -= arcology.FSRestart/1.5; /*-66.6*/
+				} else if (slave.pregType >= 10) {
+					beauty -= arcology.FSRestart/2; /*-50*/
+				} else {
+					beauty -= arcology.FSRestart/3; /*-33.3*/
+				}
+			} else if (slave.preg > 10) {
+				if (slave.pregType >= 20) {
+					beauty -= 3*(arcology.FSRestart/8); /*-37.5*/
+				} else if (slave.pregType >= 10) {
+					beauty -= arcology.FSRestart/4; /*-25*/
+				} else {
+					beauty -= arcology.FSRestart/8; /*-12.5*/
+				}
+			} else if (slave.preg === -2) {
+				beauty += arcology.FSRestart/7; /*14.2*/
+			} else if (slave.preg < 1) {
+				beauty += arcology.FSRestart/5; /*20*/
+			}
+			if (slave.births > 50) {
+				beauty -= arcology.FSRestart; /*-100*/
+			} else {
+				beauty -= slave.births*(arcology.FSRestart/50);
+			}
+		}
+	};
+
+	function calcFutaLawBeauty(slave) {
+		switch (arcology.FSGenderRadicalistLawFuta) {
+			case 1:
+				if (slave.dick > 0 && slave.vagina > -1) { /* herms */
+					calcFutaLawTrueFutaBeauty(slave);
+				}
+				break;
+			case 2:
+				if (canAchieveErection(slave) && slave.balls > 0 && slave.scrotum > 0) { /* erection! */
+					calcFutaLawBigDickBeauty(slave);
+				}
+				break;
+			case 3:
+				calcFutaLawBigBootyBeauty(slave);
+				break;
+			case 4:
+				if (slave.dick > 0 && slave.vagina === -1 && slave.faceShape !== "masculine") {
+					if (slave.boobs < 500 && slave.dick < 4 && slave.balls < 4) {
+						calcFutaLawFemboyBeauty(slave);
+					}
+				}
+				break;
+		}
+	};
+
+	function calcFutaLawTrueFutaBeauty(slave) {
+		if (slave.dick <= 10) {
+			beauty += slave.dick;
+		} else if (slave.dick > 20) {
+			beauty += 2;
+		} else {
+			beauty += 4;
+		}
+	};
+
+	function calcFutaLawBigDickBeauty(slave) {
+		beauty += slave.dick;
+		if (slave.balls > 120) {
+			beauty += 14;
+		} else if (slave.balls > 100) {
+			beauty += 12;
+		} else if (slave.balls > 80) {
+			beauty += 10;
+		} else if (slave.balls > 60) {
+			beauty += 8;
+		} else if (slave.balls > 40) {
+			beauty += 6;
+		} else if (slave.balls > 20) {
+			beauty += 4;
+		} else if (slave.balls > 10) {
+			beauty += 2;
+		} else {
+			beauty += slave.balls;
+		}
+	};
+
+	function calcFutaLawBigBootyBeauty(slave) {
+		if (slave.hips >= 1) {
+			beauty += 4*(slave.hips - 1); /*8*/
+			if (arcology.FSSlimnessEnthusiast !== "unset") {
+				beauty += 4*(slave.hips - 1); /*8*/ /* offsets the malus for big butts */
+			}
+		}
+		if (slave.analSkill > 60 && slave.anus >= 2) {
+			beauty += 2*(slave.anus-2); /*6*/
+			if (arcology.FSSlimnessEnthusiast != "unset") {
+				beauty += 2*(slave.anus-2); /*6*/ /* offsets the malus for big butts */
+			}
+		}
+		if (slave.butt >= 5) {
+			beauty += (slave.butt - 5); /*15*/
+		}
+	};
+
+	function calcFutaLawFemboyBeauty(slave) {
+		if (arcology.FSSlimnessEnthusiast === "unset") { /*balance with slimness*/
+			beauty += 20;
+			if (slave.boobs < 300) {
+				beauty += 12;
+			} else if (slave.boobs < 400) {
+				beauty += 6;
+			}
+		}
+		if (slave.dick === 1) {
+			beauty += 12;
+		} else if (slave.dick === 2) {
+			beauty += 6;
+		}
+		if (slave.balls <= 2) {
+			beauty += 8;
+		}
+		if (slave.faceShape === "cute" && slave.face > 0) { /*uggos need not apply, maybe a small boost for other faceShapes*/
+			beauty += ((arcology.FSGenderRadicalist/25)*(slave.face/30)) - 2; /*gives a slightly better boost than androgynous does with gendrad boost, 15.3*/
+		}
+		if (slave.nipples === "tiny") {
+			beauty += 5;
+		} else if (slave.nipples === "cute") {
+			beauty += 2;
+		} else {
+			beauty -= 5;
+		}
+	};
+
+	function calcBodyProportionBeauty(slave) {
+		if (arcology.FSGenderFundamentalist !== "unset") {
+			if (slave.shoulders > slave.hips) {
+				if (slave.boobs <= 2000*(slave.shoulders - slave.hips)) {
+					beauty -= (slave.shoulders - slave.hips)*(1 + (arcology.FSGenderFundamentalist/200));
+				}
+			}
+		} else if (arcology.FSGenderRadicalist === "unset") {
+			if (slave.shoulders > slave.hips) {
+				if (slave.boobs <= 2000*(slave.shoulders - slave.hips)) {
+					beauty -= slave.shoulders - slave.hips;
+				}
+			}
+		}
+	};
+
+	function calcVoiceBeauty(slave) {
+		if (canTalk(slave)) {
+			if (slave.accent >= 3) {
+				beauty -= 1;
+			} else if (slave.accent === 1) {
+				beauty += 1;
+			}
+		} else {
+			beauty -= 2;
+		}
+	};
+
+	function calcLimbsBeauty(slave) {
+		switch (slave.amp) {
+			case 1:
+				beauty -= 10;
+				break;
+			case -1:
+			case -2:
+			case -4:
+				beauty -= 2;
+				break;
+		}
+	};
+
+	function calcPubertyBeauty(slave) {
+		if (slave.pubertyXX === 1) {
+			beauty += 5;
+		}
+		if (slave.pubertyXY === 0 && slave.physicalAge > V.potencyAge && slave.balls > 0) {
+			beauty += 10;
+			if (arcology.FSGenderFundamentalist !== "unset") {
+				beauty += 5;
+			}
+		}
+	};
+
+	function calcFSMiscBeauty(slave) {
+		if (arcology.FSTransformationFetishist > 20) {
+			if (slave.lips > 70) {
+				if (slave.lipsImplant/slave.lips < 0.5) {
+					beauty -= ((slave.lips/10) + (arcology.FSTransformationFetishist/20));
+				}
+			}
+			if (slave.hips === 3) {
+				beauty += 10;
+			}
+		}
+		if ((arcology.FSGenderRadicalist > 20 && arcology.FSGenderRadicalistLawFuta !== 3) || arcology.FSSlimnessEnthusiast > 20) {
+			if (slave.hips < 0) {
+				beauty += Math.abs(slave.hips);
+			}
+		}
+		if (arcology.FSPhysicalIdealist !== "unset") {
+			if (slave.height > Height.mean(slave)) {
+				beauty += 10;
+			}
+		}
+		if (arcology.FSHedonisticDecadenceLaw2 === 1) {
+			if (slave.boobs >= 2000 && slave.butt >= 5 && slave.weight > 95) {
+				beauty += 5 + (arcology.FSHedonisticDecadence/20); /*10*/
+			} else {
+				beauty -= 15 + (arcology.FSHedonisticDecadence/20); /*-20*/
+			}
+		}
+		if (arcology.FSChattelReligionistCreed === 1) {
+			if (V.nicaeaAssignment === slave.assignment) {
+				beauty += 2*V.nicaeaPower;
+			}
+		}
+	};
+
+	function calcPurityBeauty(slave) {
+		if (isPure(slave)) {
+			V.pure = V.pure++ || 1;
+			if (arcology.FSBodyPurist !== "unset") {
+				beauty += arcology.FSBodyPurist/5;
+			}
+			if (arcology.FSTransformationFetishist === "unset") {
+				beauty += 2;
+			}
+		} else if (arcology.FSTransformationFetishist !== "unset") {
+			beauty += arcology.FSTransformationFetishist/40;
+		}
+	};
+
+	function calcPhysiqueBeauty(slave) {
+		let physiquePass = 0;
+
+		if (slave.boobs < 500 && slave.butt < 3) {
+			if (slave.muscles <= 30 && arcology.FSPhysicalIdealist === "unset" && slave.weight <= 10 && arcology.FSHedonisticDecadence === "unset") {
+				physiquePass = 1;
+			} else if (arcology.FSPhysicalIdealist !== "unset") { /* no muscle malus for muscle loving societies */
+				if (arcology.FSPhysicalIdealistStrongFat === 1 && slave.weight <= 30) { /* reduced weight malus for fat loving societies */
+					physiquePass = 1;
+				} else if (slave.weight <= 10) {
+					physiquePass = 1;
+				}
+			} else if (arcology.FSHedonisticDecadence !== "unset" && slave.weight <= 30) { /* reduced weight malus for fat loving societies */
+				if (arcology.FSHedonisticDecadenceStrongFat === 1) { /* no muscle malus for muscle loving societies */
+					physiquePass = 1;
+				} else if (slave.muscles <= 30) {
+					physiquePass = 1;
+				}
+			}
+		}
+		if (physiquePass === 1) {
+			beauty += 40;
+			if (arcology.FSSlimnessEnthusiast > 20) {
+				beauty += arcology.FSSlimnessEnthusiast/20;
+				if (canTalk(slave) && slave.voice === 3) {
+					beauty += arcology.FSSlimnessEnthusiast/40;
+				}
+			}
+		} else if (slave.butt > 4 && slave.boobs > 800) {
+			if (arcology.FSSlimnessEnthusiast === "unset") {
+				beauty += 1;
+			}
+			if (arcology.FSAssetExpansionist > 20) {
+				beauty += arcology.FSAssetExpansionist/20;
+				if (canTalk(slave) && slave.voice === 3) {
+					beauty += arcology.FSAssetExpansionist/40;
+				}
+			}
+		}
+	};
+
+	function calcSlimBeauty(slave) {
+		let slimPass;
+
+		if (slave.boobs < 300 && slave.butt <= 1 && slave.waist <= 10) {
+			if (arcology.FSPhysicalIdealist === "unset" && arcology.FSHedonisticDecadenceStrongFat === 0 && slave.muscles > 30) { /*muscle check*/
+				slimPass = 0;
+			} else if (arcology.FSHedonisticDecadence !== "unset" || arcology.FSPhysicalIdealistStrongFat === 1) { /*weight check*/
+				if (slave.weight > 30) {
+					slimPass = 0;
+				}
+			} else if (slave.weight > 10) {
+				slimPass = 0;
+			} else {
+				slimPass = 1;
+			}
+		}
+		if (slimPass === 1) {
+			beauty += 40 + (arcology.FSSlimnessEnthusiast/20); /*45*/
+		} else {
+			beauty -= arcology.FSSlimnessEnthusiast/20;
+		}
+	};
+
+	function calcGenderLawBeauty(slave) {
+		V.genderLawPass = 1;
+
+		if (arcology.FSPhysicalIdealist === "unset" && arcology.FSHedonisticDecadenceStrongFat === 0 && slave.muscles > 30) { /*muscle check*/
+			V.genderLawPass = 0;
+		} else if (arcology.FSHedonisticDecadence !== "unset" || arcology.FSPhysicalIdealistStrongFat === 1) { /*weight check*/
+			if (slave.weight > 130 || slave.weight <= -30) {
+				V.genderLawPass = 0;
+			}
+		} else if (Math.abs(slave.weight) > 30) {
+			V.genderLawPass = 0;
+		} else if (arcology.FSAssetExpansionist !== "unset") {
+			if (slave.boobs < 500 || slave.boobs > 1600 || slave.butt < 3 || slave.butt > 6) {
+				V.genderLawPass = 0;
+			}
+		} else if (slave.boobs < 500 || slave.boobs > 800 || slave.butt < 3 || slave.butt > 4) {
+			V.genderLawPass = 0;
+		}
+		if (V.genderLawPass === 1) {
+			beauty += 60;
+		} else {
+			beauty -= 10;
+		}
+	};
+
+	function calcMultipliersBeauty(slave) {
+		calcBellyBeauty(slave);
+		if (arcology.FSGenderRadicalist !== "unset") {
+			if (slave.bellyPreg >= 500 && arcology.FSRepopulationFocus === "unset" && arcology.FSRestart === "unset") {
+				if (slave.mpreg === 1) {
+					beauty = 0.9*beauty;
+				} else {
+					beauty = 0.7*beauty;
+				}
+			}
+		} else if (arcology.FSGenderFundamentalist === "unset") {
+			if (slave.preg > 10 && arcology.FSRepopulationFocus === "unset" && arcology.FSRestart === "unset") {
+				beauty = 0.8*beauty;
+			}
+		}
+		if (slave.breedingMark === 1) {
+			if (V.propOutcome === 1) {
+				beauty = 2*beauty;
+			} else {
+				beauty += 2;
+			}
+		}
+		if (slave.fuckdoll === 0 && V.seeAge === 1) {
+			calcAgeBeauty(slave);
+		}
+		if (slave.prestige + slave.pornPrestige > 0) {
+			calcPrestigeBeauty(slave);
+		}
+	};
+
+	function calcBellyBeauty(slave) {
+		if (slave.bellySag > 0) {
+			if (slave.belly < 100) {
+				if (arcology.FSRepopulationFocus === "unset") {
+					beauty -= 20;
+				}
+			}
+		}
+		if (slave.bellyImplant >= 1500) {
+			if (arcology.FSTransformationFetishist > 20) {
+				beauty += Math.min(Math.trunc(slave.bellyImplant/1000), 50); /*50*/
+			} else if (arcology.FSRepopulationFocus > 60) {
+				if ((slave.ovaries === 0 && slave.mpreg === 0) || slave.preg < -1) {
+					beauty += 20;
+				}
+			} else {
+				if (slave.bellyImplant >= 750000) { /* multipliers */
+					beauty = 0.2*beauty;
+				} else if (slave.bellyImplant >= 450000) {
+					beauty = 0.5*beauty;
+				} else if (slave.bellyImplant >= 300000) {
+					beauty = 0.7*beauty;
+				} else if (slave.bellyImplant >= 100000) {
+					beauty = 0.8*beauty;
+				} else if (slave.bellyImplant >= 50000) {
+					beauty = 0.85*beauty;
+				} else {
+					beauty = 0.9*beauty;
+				}
+			}
+		}
+	};
+
+	function calcAgeBeauty(slave) {
+		if (slave.physicalAge === V.minimumSlaveAge) {
+			beauty += 1;
+			if (slave.physicalAge === V.fertilityAge && canGetPregnant(slave) && (arcology.FSRepopulationFocus !== "unset" || arcology.FSGenderFundamentalist !== "unset") && arcology.FSRestart === "unset") {
+				if (slave.birthWeek === 0) {
+					beauty += 1.6*beauty;
+				} else if (slave.birthWeek < 4) {
+					beauty += 0.2*beauty;
+				}
+			} else {
+				if (slave.birthWeek === 0) {
+					beauty += 0.8*beauty;
+				} else if (slave.birthWeek < 4) {
+					beauty += 0.1*beauty;
+				}
+			}
+		} else if (slave.physicalAge === V.fertilityAge && canGetPregnant(slave) && (arcology.FSRepopulationFocus !== "unset" || arcology.FSGenderFundamentalist !== "unset") && arcology.FSRestart === "unset") {
+			beauty += 1;
+			if (slave.birthWeek === 0) {
+				beauty += 0.8*beauty;
+			} else if (slave.birthWeek < 4) {
+				beauty += 0.1*beauty;
+			}
+		}
+	};
+
+	function calcPrestigeBeauty(slave) { /* multipliers */
+		if (slave.prestige >= 3) {
+			beauty += 2*beauty;
+		} else if (slave.prestige === 2) {
+			beauty += 0.5*beauty;
+		} else if (slave.prestige === 1) {
+			beauty += 0.25*beauty;
+		}
+		if (slave.pornPrestige === 3) {
+			beauty += beauty;
+		} else if (slave.pornPrestige === 2) {
+			beauty += 0.5*beauty;
+		} else if (slave.pornPrestige === 1) {
+			beauty += 0.1*beauty;
+		}
+	};
+
+	return Beauty;
+})();
diff --git a/src/utility/assayWidgets.tw b/src/utility/assayWidgets.tw
index d5ed14327d91d29604038d6133c3f47f75698e48..3c9b49adef97a8eb247fe5e89b6f863e06d842cc 100644
--- a/src/utility/assayWidgets.tw
+++ b/src/utility/assayWidgets.tw
@@ -1,1110 +1,7 @@
 :: assay widgets [widget nobr]
 
 <<widget "Beauty">>
-
-<<run modScore($args[0])>>
-
-<<set $beauty = 0>>
-
-<<if $args[0].fuckdoll == 0>> /* NOT A FUCKDOLL */
-
-<<set $beauty += 150 - ($args[0].visualAge*3) + (Math.min($args[0].health,100)/5) - ($args[0].waist/20) - ($args[0].muscles/30) +($args[0].lips/10) + ($args[0].face/5) + ($args[0].clit) + (($args[0].height-160)/10) + ($args[0].voice) + (($args[0].intelligence+$args[0].intelligenceImplant)/10) + ($args[0].entertainSkill/10) + ($args[0].whoreSkill/10) + (2*$args[0].hips)>>
-
-<<if $arcologies[0].FSDegradationist != "unset">>
-	<<set $beauty -= ($arcologies[0].FSDegradationist/10)*(($args[0].intelligence+$args[0].intelligenceImplant)/20)>>
-<</if>>
-
-<<if $arcologies[0].FSGenderFundamentalistLawBimbo == 1>>
-	<<set $beauty -= ($args[0].intelligence+$args[0].intelligenceImplant)/2>>
-<</if>>
-
-<<if $args[0].teeth == "crooked">>
-	<<set $beauty -= 3>>
-<<elseif ($args[0].teeth == "braces" || $args[0].teeth == "cosmetic braces") && ($args[0].visualAge > 14) && ($args[0].visualAge < 18)>>
-	<<set $beauty += 1>>
-<<elseif $args[0].teeth != "normal">>
-	<<set $beauty -= 1>>
-<</if>>
-
-<<if $args[0].faceShape == "masculine">>
-	<<if ($arcologies[0].FSGenderRadicalist != "unset")>>
-	<<set $beauty -= (2-($arcologies[0].FSGenderRadicalist/25))*($args[0].face/30)>>
-	<<elseif ($arcologies[0].FSGenderFundamentalist != "unset")>>
-	<<set $beauty -= (2+($arcologies[0].FSGenderFundamentalist/25))*($args[0].face/30)>>
-	<<else>>
-	<<set $beauty -= 2*($args[0].face/30)>>
-	<</if>>
-<<elseif $args[0].faceShape == "androgynous">>
-	<<if ($arcologies[0].FSGenderRadicalist != "unset")>>
-	<<set $beauty += 2-((1-($arcologies[0].FSGenderRadicalist/25))*($args[0].face/30))>>
-	<<elseif ($arcologies[0].FSGenderFundamentalist != "unset")>>
-	<<set $beauty += 2-((1+($arcologies[0].FSGenderFundamentalist/25))*($args[0].face/30))>>
-	<<else>>
-	<<set $beauty += 2-($args[0].face/30)>>
-	<</if>>
-<<elseif $args[0].faceShape == "exotic">>
-	<<set $beauty += 2*($args[0].face/30)>>
-<<elseif $args[0].faceShape == "sensual">>
-	<<set $beauty += 2+($args[0].face/30)>>
-<<elseif $args[0].faceShape == "cute">>
-	<<set $beauty += 8/3>>
-<</if>>
-
-<<if $args[0].brand != 0>>
-	<<if $rep > 10000>>
-	<<set $beauty += 1>>
-	<<elseif $rep < 5000>>
-	<<set $beauty -= 1>>
-	<</if>>
-<</if>>
-
-<<if $args[0].minorInjury != 0>>
-	<<set $beauty -= 2>>
-<</if>>
-
-<<if $args[0].cSec == 1>>
-	<<set $beauty -= 2>>
-<</if>>
-
-<<if $args[0].nails > 0>><<set $beauty += 1>><</if>>
-<<if $args[0].makeup > 0>><<set $beauty += 1>><</if>>
-
-<<if ($arcologies[0].FSTransformationFetishist > 20) || ($arcologies[0].FSDegradationist > 20)>>
-	<<if $modScore > 15 || ($piercingScore > 8 && $tatScore > 5)>>
-	<<set $beauty += 8+($modScore*0.25)>>
-	<<elseif $modScore > 7>>
-	<<set $beauty += $modScore-7>>
-	<</if>>
-<<elseif ($arcologies[0].FSBodyPurist > 20) || ($arcologies[0].FSPaternalist > 20)>>
-	<<if $modScore <= 7>>
-	<<set $beauty += 10>>
-	<<else>>
-	<<set $beauty += 15-$modScore>>
-	<</if>>
-<<else>>
-	<<if $modScore <= 7>>
-	<<set $beauty += $modScore>>
-	<<elseif $modScore > 15 || ($piercingScore > 8 && $tatScore > 5)>>
-	<<set $beauty += 11>>
-	<<else>>
-	<<set $beauty += 7+(0.5*($modScore-7))>>
-	<</if>>
-<</if>>
-
-<<if $arcologies[0].FSSupremacist != "unset">>
-	<<if $args[0].race == $arcologies[0].FSSupremacistRace>>
-		<<set $beauty += ($arcologies[0].FSSupremacist/3)+($arcologies[0].FSSupremacistLawME*10)>>
-	<</if>>
-<</if>>
-<<if $arcologies[0].FSSubjugationist != "unset">>
-	<<if $args[0].race == $arcologies[0].FSSubjugationistRace>>
-		<<set $beauty -= ($arcologies[0].FSSubjugationist/2)-($arcologies[0].FSSubjugationistLawME*10)>>
-	<</if>>
-<</if>>
-<<if $arcologies[0].FSEdoRevivalist != "unset">>
-<<if ($args[0].nationality == "Japanese") || ($args[0].nationality == "Edo Revivalist")>>
-	<<set $beauty += ($arcologies[0].FSEdoRevivalist/2)>>
-<<elseif $args[0].race == "asian">>
-	<<set $beauty += ($arcologies[0].FSEdoRevivalist/5)>>
-<<else>>
-	<<set $beauty -= ($arcologies[0].FSEdoRevivalist/4)>>
-<</if>>
-<<if $language == "Japanese" && canTalk($args[0])>>
-	<<if $args[0].accent > 1>>
-		<<set $beauty -= ($arcologies[0].FSEdoRevivalist/2)>>
-	<<elseif $args[0].accent > 0>>
-		<<set $beauty -= ($arcologies[0].FSEdoRevivalist/5)>>
-	<<else>>
-		<<set $beauty += ($arcologies[0].FSEdoRevivalist/10)>>
-	<</if>>
-<</if>>
-<</if>>
-<<if $arcologies[0].FSChineseRevivalist != "unset">>
-<<if ($args[0].nationality == "Chinese") || ($args[0].nationality == "Ancient Chinese Revivalist")>>
-	<<set $beauty += ($arcologies[0].FSChineseRevivalist/2)>>
-<<elseif $args[0].race == "asian">>
-	<<set $beauty += ($arcologies[0].FSChineseRevivalist/5)>>
-<<else>>
-	<<set $beauty -= ($arcologies[0].FSChineseRevivalist/4)>>
-<</if>>
-<<if $language == "Chinese" && canTalk($args[0])>>
-	<<if $args[0].accent > 1>>
-		<<set $beauty -= ($arcologies[0].FSChineseRevivalist/2)>>
-	<<elseif $args[0].accent > 0>>
-		<<set $beauty -= ($arcologies[0].FSChineseRevivalist/5)>>
-	<<else>>
-		<<set $beauty += ($arcologies[0].FSChineseRevivalist/10)>>
-	<</if>>
-<</if>>
-<</if>>
-
-<<if ($args[0].race == "white") && ($args[0].origRace == "white")>>
-	<<set $beauty += 4>>
-<<elseif $args[0].race == "white">>
-	<<set $beauty += 2>>
-<</if>>
-
-<<if $arcologies[0].FSYouthPreferentialist != "unset">>
-	<<set $beauty += (30-$args[0].visualAge)/(30-$minimumSlaveAge)*(($arcologies[0].FSYouthPreferentialist/2)+($arcologies[0].FSYouthPreferentialistLaw*10))>> /*60*/
-<<elseif $arcologies[0].FSMaturityPreferentialist != "unset">>
-	<<set $beauty += (30-$args[0].visualAge)/(30-$retirementAge)*(($arcologies[0].FSMaturityPreferentialist/2)+($arcologies[0].FSMaturityPreferentialistLaw*10))>> /*60*/
-<</if>>
-
-<<if ($args[0].markings != "none")>>
-	<<if ($args[0].markings == "beauty mark")>>
-	<<if ($args[0].face > 40)>>
-		<<set $beauty += 6>>
-	<<elseif ($args[0].face < -10)>>
-		<<set $beauty -= 6>>
-	<</if>>
-	<<elseif ($args[0].markings == "birthmark")>>
-	<<if ($args[0].prestige > 0 || $args[0].pornPrestige > 1)>>
-		<<set $beauty += 4>>
-	<<else>>
-		<<set $beauty -= 4>>
-	<</if>>
-	<<else>>
-	<<if ($args[0].skin == "pale") || ($args[0].skin == "fair")>>
-		<<set $beauty += 2>>
-		<<if ($args[0].hColor == "red")>>
-		<<set $beauty += 2>>
-		<</if>>
-	<</if>>
-	<</if>>
-<</if>>
-
-<<if setup.entertainmentCareers.includes($args[0].career)>>
-	<<set $beauty += 20>>
-<<elseif ($week-$args[0].weekAcquired >= 20) && ($args[0].entertainSkill >= 100)>>
-	<<set $beauty += 10>>
-<</if>>
-
-<<if ($arcologies[0].FSBodyPurist > 20)>> /*bonus for virgin slaves*/
-	<<if $args[0].vagina == 0 && $args[0].vaginalCount == 0>>
-		<<set $beauty += 30*($arcologies[0].FSBodyPurist/100)>>
-	<</if>>
-	<<if $args[0].anus == 0 && $args[0].analCount == 0>>
-		<<set $beauty += 30*($arcologies[0].FSBodyPurist/100)>>
-	<</if>>
-<</if>>
-
-<<if $seeAge == 1>>
-<<if $args[0].physicalAge == $minimumSlaveAge && $args[0].physicalAge == $fertilityAge && canGetPregnant($args[0]) && ($arcologies[0].FSRepopulationFocus != "unset" || $arcologies[0].FSGenderFundamentalist != "unset") && $arcologies[0].FSRestart == "unset">>
-	<<set $beauty += 1>>
-	<<if $args[0].birthWeek == 0>>
-		<<set $beauty += 1.6*$beauty>>
-	<<elseif $args[0].birthWeek < 4>>
-		<<set $beauty += 0.2*$beauty>>
-	<</if>>
-<<elseif $args[0].physicalAge == $minimumSlaveAge>>
-	<<set $beauty += 1>>
-	<<if $args[0].birthWeek == 0>>
-		<<set $beauty += 0.8*$beauty>>
-	<<elseif $args[0].birthWeek < 4>>
-		<<set $beauty += 0.1*$beauty>>
-	<</if>>
-<<elseif $args[0].physicalAge == $fertilityAge && canGetPregnant($args[0]) && ($arcologies[0].FSRepopulationFocus != "unset" || $arcologies[0].FSGenderFundamentalist != "unset")>>
-	<<set $beauty += 1>>
-	<<if $args[0].birthWeek == 0>>
-		<<set $beauty += 0.8*$beauty>>
-	<<elseif $args[0].birthWeek < 4>>
-		<<set $beauty += 0.1*$beauty>>
-	<</if>>
-<</if>>
-<</if>>
-
-<<else>> /* FUCKDOLL */
-
-<<set $beauty += 120 - ($args[0].waist/20) - ($args[0].muscles/30) + ($args[0].lips/10) + ($args[0].clit) + (($args[0].height-160)/10) + (2*$args[0].hips)>>
-
-<</if>> /* CLOSES FUCKDOLL CHECK */
-
-<<if ($arcologies[0].FSTransformationFetishist > 20)>>
-	<<if $args[0].lips > 70>>
-	<<if ($args[0].lipsImplant/$args[0].lips < .50)>>
-		<<set $beauty -= (($args[0].lips/10)+($arcologies[0].FSTransformationFetishist/20))>>
-	<</if>>
-	<</if>>
-<</if>>
-
-<<if $args[0].butt <= 10>>
-	<<set $beauty += (1.5*$args[0].butt)>> /*15*/
-<<else>>
-	<<set $beauty += (15+($args[0].butt/4))>> /*20*/
-<</if>>
-
-/* Cock + Balls */
-
-<<if ($arcologies[0].FSAssetExpansionist > 20) && $arcologies[0].FSGenderFundamentalist == "unset">>
-	<<if $args[0].dick >= 20>>
-		<<set $beauty += 17+($args[0].dick*($arcologies[0].FSAssetExpansionist/500))>> /*23*/
-	<<elseif $args[0].dick >= 10>>
-		<<set $beauty += 10+($args[0].dick*($arcologies[0].FSAssetExpansionist/300))>> /*16.3*/
-	<<elseif $args[0].dick > 6>>
-		<<set $beauty += $args[0].dick*(1+($arcologies[0].FSAssetExpansionist/100))>> /*10*/
-	<</if>>
-	<<if $args[0].balls > 100>>
-		<<set $beauty += 41+($args[0].balls*($arcologies[0].FSAssetExpansionist/500))>> /*66*/
-	<<elseif $args[0].balls > 80>>
-		<<set $beauty += 16+($args[0].balls*($arcologies[0].FSAssetExpansionist/400))>> /*41*/
-	<<elseif $args[0].balls > 60>>
-		<<set $beauty += 6+($args[0].balls*($arcologies[0].FSAssetExpansionist/800))>> /*16*/
-	<<elseif $args[0].balls > 10>>
-		<<set $beauty += $args[0].balls*(($arcologies[0].FSAssetExpansionist/1000))>> /*6*/
-	<</if>>
-<<elseif $arcologies[0].FSGenderFundamentalist != "unset">>
-	<<if $args[0].dick > 0>>
-		<<set $beauty += 3-$args[0].dick>>
-	<</if>>
-	<<if $args[0].scrotum > 0>>
-		<<set $beauty -= $args[0].balls*(1+($arcologies[0].FSGenderFundamentalist/200))>>
-		<<if $args[0].pubertyXY == 0>>
-			<<set $beauty += 5>>
-		<</if>>
-	<</if>>
-<<elseif $arcologies[0].FSGenderRadicalist != "unset">>
-	<<if $args[0].dick > 20>>
-		<<set $beauty += 20+($args[0].dick*($arcologies[0].FSGenderRadicalist/400))>> /*27.5*/
-	<<elseif $args[0].dick >= 10>>
-		<<set $beauty += 10+($args[0].dick*($arcologies[0].FSGenderRadicalist/200))>> /*20*/
-	<<elseif $args[0].dick > 0>>
-		<<set $beauty += $args[0].dick*(1+($arcologies[0].FSGenderRadicalist/100))>> /*10*/
-	<</if>>
-	<<if $args[0].scrotum > 0>>
-		<<if $args[0].balls > 100>>
-			<<set $beauty += 40+($args[0].balls*($arcologies[0].FSGenderRadicalist/2000))>> /*46.25*/
-		<<elseif $args[0].balls > 60>>
-			<<set $beauty += 30+($args[0].balls*($arcologies[0].FSGenderRadicalist/1000))>> /*40*/
-		<<elseif $args[0].balls > 10>>
-			<<set $beauty += 15+($args[0].balls*($arcologies[0].FSGenderRadicalist/400))>> /*30*/
-		<<else>>
-			<<set $beauty += $args[0].balls*(1+($arcologies[0].FSGenderRadicalist/200))>> /*15*/
-		<</if>>
-	<</if>>
-<<else>>
-	<<set $beauty -= 2*$args[0].dick>>
-	<<if $args[0].scrotum > 0>>
-		<<set $beauty -= $args[0].balls>>
-	<</if>>
-<</if>>
-
-/* bonus for dick focused genderrads */
-<<if $arcologies[0].FSGenderRadicalistLawFuta != 0>>
-	<<if ($arcologies[0].FSGenderRadicalistLawFuta == 1)>>
-		<<if $args[0].dick > 0>>
-			<<if $args[0].vagina > -1>>
-				<<if $args[0].dick > 0 && $args[0].dick <= 10>>
-					<<set $beauty += $args[0].dick>> /*10*/
-				<</if>>
-				<<if $args[0].dick > 20>>
-					<<set $beauty += 2>>
-				<<elseif $args[0].dick > 10>>
-					<<set $beauty += 4>>
-				<</if>>
-			<</if>>
-		<</if>>
-	<<elseif ($arcologies[0].FSGenderRadicalistLawFuta == 2)>> /* erection! */
-		<<if $args[0].dick > 0>>
-		<<if $args[0].balls > 0>>
-		<<if $args[0].scrotum > 0>>
-		<<if canAchieveErection($args[0])>>
-			<<set $beauty += $args[0].dick>>
-			<<if $args[0].balls > 0 && $args[0].balls <= 10>>
-				<<set $beauty += $args[0].balls>> /*10*/
-			<</if>>
-			<<if $args[0].balls > 120>>
-				<<set $beauty += 14>>
-			<<elseif $args[0].balls > 100>>
-				<<set $beauty += 12>>
-			<<elseif $args[0].balls > 80>>
-				<<set $beauty += 10>>
-			<<elseif $args[0].balls > 60>>
-				<<set $beauty += 8>>
-			<<elseif $args[0].balls > 40>>
-				<<set $beauty += 6>>
-			<<elseif $args[0].balls > 20>>
-				<<set $beauty += 4>>
-			<<elseif $args[0].balls > 10>>
-				<<set $beauty += 2>>
-			<</if>>
-		<</if>>
-		<</if>>
-		<</if>>
-		<</if>>
-	<<elseif ($arcologies[0].FSGenderRadicalistLawFuta == 3)>>
-		<<if $args[0].butt >= 5>>
-			<<set $beauty += ($args[0].butt-5)>> /*15*/
-		<</if>>
-		<<if $args[0].hips >= 1>>
-			<<set $beauty += 4*($args[0].hips-1)>> /*8*/
-			<<if $arcologies[0].FSSlimnessEnthusiast != "unset">>
-				<<set $beauty += 4*($args[0].hips-1)>> /*8*/ /* offsets the malus for big butts */
-			<</if>>
-		<</if>>
-		<<if $args[0].analSkill > 60 && $args[0].anus >= 2>>
-			<<set $beauty += 2*($args[0].anus-2)>> /*6*/
-			<<if $arcologies[0].FSSlimnessEnthusiast != "unset">>
-				<<set $beauty += 2*($args[0].anus-2)>> /*6*/ /* offsets the malus for big butts */
-			<</if>>
-		<</if>>
-	<<elseif ($arcologies[0].FSGenderRadicalistLawFuta == 4)>>
-		<<if $args[0].dick > 0 && $args[0].vagina == -1 && $args[0].faceShape != "masculine">>
-			<<if $args[0].boobs < 500 && $args[0].dick < 4 && $args[0].balls < 4>>
-				<<if $arcologies[0].FSSlimnessEnthusiast == "unset">> /*balance with slimness*/
-					<<set $beauty += 20>>
-					<<if $args[0].boobs < 300>>
-						<<set $beauty += 12>>
-					<<elseif $args[0].boobs < 400>>
-						<<set $beauty += 6>>
-					<</if>>
-				<</if>>
-				<<if $args[0].dick == 1>>
-					<<set $beauty += 12>>
-				<<elseif $args[0].dick == 2>>
-					<<set $beauty += 6>>
-				<</if>>
-				<<if $args[0].balls <= 2>>
-					<<set $beauty += 8>>
-				<</if>>
-				<<if $args[0].faceShape == "cute" && $args[0].face > 0>> /*uggos need not apply, maybe a small boost for other faceShapes*/
-					<<set $beauty += ((($arcologies[0].FSGenderRadicalist/25)*($args[0].face/30))-2)>> /*gives a slightly better boost than androgynous does with gendrad boost, 15.3*/
-				<</if>>
-				<<if $args[0].nipples == "tiny">>
-					<<set $beauty += 5>>
-				<<elseif $args[0].nipples == "cute">>
-					<<set $beauty += 2>>
-				<<else>>
-					<<set $beauty -= 5>>
-				<</if>>
-			<</if>>
-		<</if>>
-	<</if>>
-<</if>>
-
-<<if ($arcologies[0].FSTransformationFetishist > 20 && $arcologies[0].FSSlimnessEnthusiast == "unset") || ($arcologies[0].FSAssetExpansionist > 20)>>
-	<<if $args[0].boobs <= 500>>
-		<<set $beauty += (0.02*($args[0].boobs-250))>> /*5*/
-	<<elseif $args[0].boobs <= 1500>>
-		<<set $beauty += 5+(0.015*($args[0].boobs-500))>> /*20*/
-	<<elseif $args[0].boobs <= 3000>>
-		<<set $beauty += 20+(0.01*($args[0].boobs-1500))>> /*42.5*/
-	<<elseif $args[0].boobs <= 25000>>
-		<<set $beauty += 50+(0.005*($args[0].boobs-3000))>> /*160 - this might need to be lowered. Maybe drop the 50? Otherwise break it down more.*/
-	<<else>>
-		<<set $beauty += 145+(0.001*($args[0].boobs-10000))>> /* 185 */
-	<</if>>
-	<<if $args[0].butt <= 2>>
-		<<set $beauty += (2*($args[0].butt-1))>> /*2*/
-	<<elseif $args[0].butt <= 4>>
-		<<set $beauty += 2+(1.5*($args[0].butt-2))>> /*5*/
-	<<elseif $args[0].butt <= 10>>
-		<<set $beauty += 5+(1*($args[0].butt-4))>> /*11*/
-	<<else>>
-		<<set $beauty += 7+(.5*($args[0].butt-5))>> /*14.5*/
-	<</if>> /* maybe buff butts? */
-<<elseif ($arcologies[0].FSSlimnessEnthusiast > 20)>>
-	<<if $args[0].boobs <= 500>>
-		<<set $beauty += (0.08*($args[0].boobs))>> /*40 - buff me to be in line with higher end asset exp*/
-	<<elseif $args[0].boobs <= 1000>>
-		<<set $beauty += 10>>
-	<<elseif $args[0].boobs <= 3000>>
-		<<set $beauty += 5>>
-	<<else>>
-		<<set $beauty -= 5+(0.005*($args[0].boobs-3000))>> /*-110*/
-	<</if>>
-	<<if $args[0].butt <= 3>>
-		<<set $beauty += 12+(3*($args[0].butt-1))>> /*18 buff if asses get buffed*/
-	<<elseif $args[0].butt <= 5>>
-		<<set $beauty += 9>>
-	<<else>>
-		<<set $beauty -= 10+($args[0].butt*3)>> /*-70*/
-	<</if>>
-<<else>>
-	<<if $args[0].boobs <= 1200>>
-		<<set $beauty += (0.02*($args[0].boobs-200))>> /*20*/
-	<<elseif $args[0].boobs <= 2400>>
-		<<set $beauty += 20+(0.01*($args[0].boobs-1200))>> /*32*/
-	<<elseif $args[0].boobs <= 3600>>
-		<<set $beauty += 32+(0.005*($args[0].boobs-2400))>> /*38*/
-	<<elseif $args[0].boobs <= 10000>>
-		<<set $beauty += 38>>
-	<<elseif $args[0].boobs <= 25000>>
-		<<set $beauty += 30>>
-	<<else>>
-		<<set $beauty += 20>>
-	<</if>>
-	<<if $args[0].butt <= 2>>
-		<<set $beauty += (2*($args[0].butt-1))>> /*2*/
-	<<elseif $args[0].butt <= 4>>
-		<<set $beauty += 2+(1.5*($args[0].butt-2))>> /*5*/
-	<<elseif $args[0].butt <= 8>>
-		<<set $beauty += 2+(1.5*($args[0].butt-2))>> /*11*/
-	<<else>>
-		<<set $beauty += 9>>
-	<</if>>
-<</if>>
-<<if $arcologies[0].FSTransformationFetishist > 20>> /* the cost of using AE's values */
-	<<if ($arcologies[0].FSSlimnessEnthusiast != "unset")>>
-		<<if $args[0].boobs >= 400>>
-			<<if $args[0].boobs >= 10000>>
-				<<if $args[0].boobsImplant/$args[0].boobs < .75>>
-					<<set $beauty -= ((0.05*($args[0].boobs))+10)>>
-				<</if>>
-			<<elseif $args[0].boobs >= 2000>>
-				<<if $args[0].boobsImplant/$args[0].boobs < .50>>
-					<<set $beauty -= ((0.05*($args[0].boobs))+10)>>
-				<</if>>
-			<<elseif $args[0].boobs >= 1000>>
-				<<if $args[0].boobsImplant/$args[0].boobs < .25>>
-					<<set $beauty -= ((0.05*($args[0].boobs))+10)>>
-				<</if>>
-			<<else>>
-				<<if $args[0].boobsImplant/$args[0].boobs < .10>>
-					<<set $beauty -= ((0.05*($args[0].boobs))+10)>>
-				<</if>>
-			<</if>>
-		<</if>>
-		<<if $args[0].butt >= 3>>
-			<<if $args[0].buttImplant/$args[0].butt < .25>>
-				<<set $beauty -= ((2*($args[0].butt-1))+10)>>
-			<</if>>
-		<</if>>
-	<<else>>
-		<<if $args[0].butt >= 6>>
-			<<if $args[0].buttImplant/$args[0].butt < .50>>
-				<<set $beauty -= ((1.5*$args[0].butt)+6)>> /* will get nasty at huge sizes */
-			<</if>>
-		<</if>>
-		<<if $args[0].boobs >= 600>>
-			<<if $args[0].boobs >= 10000>>
-				<<if $args[0].boobsImplant/$args[0].boobs < .75>>
-					<<set $beauty -= 30+(0.005*($args[0].boobs))>> /* will get nasty at huge sizes */
-				<</if>>
-			<<elseif $args[0].boobs >= 2000>>
-				<<if $args[0].boobsImplant/$args[0].boobs < .50>>
-					<<set $beauty -= 30+(0.005*($args[0].boobs))>> /* will get nasty at huge sizes */
-				<</if>>
-			<<elseif $args[0].boobs >= 1000>>
-				<<if $args[0].boobsImplant/$args[0].boobs < .25>>
-					<<set $beauty -= 30+(0.005*($args[0].boobs))>> /* will get nasty at huge sizes */
-				<</if>>
-			<<else>>
-				<<if $args[0].boobsImplant/$args[0].boobs < .10>>
-					<<set $beauty -= 30+(0.005*($args[0].boobs))>> /* will get nasty at huge sizes */
-				<</if>>
-			<</if>>
-		<</if>>
-	<</if>>
-<</if>>
-
-<<if ($arcologies[0].FSTransformationFetishist > 20)>>
-	<<if $args[0].hips >= 3>>
-		<<set $beauty += 10>>
-	<</if>>
-<</if>>
-
-<<if $args[0].hips < -1>> /* butts in general may need buffs */
-	<<if $args[0].butt > 2>>
-	<<if $arcologies[0].FSTransformationFetishist == "unset" && $arcologies[0].FSHedonisticDecadence == "unset">>
-		<<set $beauty += 2-$args[0].butt>>
-	<<else>>
-		<<set $beauty += 1>>
-	<</if>>
-	<<else>>
-	<<set $beauty += 1>>
-	<</if>>
-<<elseif $args[0].hips < 0>>
-	<<if $args[0].butt > 4>>
-	<<if $arcologies[0].FSTransformationFetishist == "unset" && $arcologies[0].FSHedonisticDecadence == "unset">>
-		<<set $beauty += 4-$args[0].butt>>
-	<<else>>
-		<<set $beauty += 1>>
-	<</if>>
-	<<else>>
-	<<set $beauty += 1>>
-	<</if>>
-<<elseif $args[0].hips > 2>>
-	<<if $args[0].butt <= 8>>
-	<<set $beauty += $args[0].butt-8>>
-	<<else>>
-	<<set $beauty += 1>>
-	<</if>>
-<<elseif $args[0].hips > 1>>
-	<<if $args[0].butt <= 3>>
-	<<set $beauty += $args[0].butt-4>>
-	<<else>>
-	<<set $beauty += 1>>
-	<</if>>
-<<elseif $args[0].hips > 0>>
-	<<if $args[0].butt > 8>>
-	<<if $arcologies[0].FSTransformationFetishist == "unset" && $arcologies[0].FSHedonisticDecadence == "unset">>
-		<<set $beauty += 8-$args[0].butt>>
-	<<else>>
-		<<set $beauty += 1>>
-	<</if>>
-	<<elseif $args[0].butt <= 2>>
-	<<set $beauty += $args[0].butt-3>>
-	<<else>>
-	<<set $beauty += 1>>
-	<</if>>
-<<else>>
-	<<if $args[0].butt > 6>>
-	<<if $arcologies[0].FSTransformationFetishist == "unset" && $arcologies[0].FSHedonisticDecadence == "unset">>
-		<<set $beauty += 6-$args[0].butt>>
-	<<else>>
-		<<set $beauty += 1>>
-	<</if>>
-	<<elseif $args[0].butt <= 1>>
-	<<set $beauty += $args[0].butt-2>>
-	<<else>>
-	<<set $beauty += 1>>
-	<</if>>
-<</if>>
-
-<<if $args[0].boobs > 250>>
-<<if $args[0].boobShape == "perky">>
-	<<set $beauty += 6>>
-<<elseif $args[0].boobShape == "torpedo-shaped">>
-	<<set $beauty += 6>>
-<<elseif $args[0].boobShape == "downward-facing">>
-	<<set $beauty -= 4>>
-<<elseif $args[0].boobShape == "saggy">>
-	<<set $beauty -= 4>>
-<</if>>
-<</if>>
-
-<<if $args[0].nipples == "huge">>
-	<<set $beauty += 4>>
-<<elseif $args[0].nipples == "inverted">>
-	<<set $beauty += 2>>
-<<elseif $args[0].nipples == "puffy">>
-	<<set $beauty += 2>>
-<<elseif $args[0].nipples == "tiny">>
-	<<set $beauty -= 2>>
-<</if>>
-
-<<if $args[0].anus > 3>>
-	<<set $beauty -= 10+($args[0].anus*2)>> /*-20*/
-<</if>>
-<<if $args[0].vagina > 3>>
-	<<set $beauty -= 10+($args[0].vagina*2)>> /*-20*/
-<</if>>
-
-<<if $arcologies[0].FSHedonisticDecadence > 20>>
-	<<if $args[0].weight < -95>>
-		<<set $beauty += -70+($args[0].weight/10)>> /*-80*/
-	<<elseif $args[0].weight < -30>>
-		<<set $beauty += -30+($args[0].weight/3)>> /*-61*/
-	<<elseif $args[0].weight < -10>>
-		<<set $beauty += ($args[0].weight)>> /*-30*/
-	<<elseif $args[0].weight <= 10>>
-	<<elseif $args[0].weight <= 30>>
-		<<set $beauty += ($args[0].weight/2)>> /*15*/
-	<<elseif $args[0].weight <= 95>>
-		<<set $beauty += 15+($args[0].weight/7)>> /*28.5*/
-	<<elseif $args[0].weight <= 130>>
-		<<set $beauty += 28+($args[0].weight/10)>> /*41*/
-	<<elseif $args[0].weight <= 160>>
-		<<set $beauty += 42+($args[0].weight/20)>> /*50*/
-	<<elseif $args[0].weight <= 190>>
-		<<set $beauty += 50-($args[0].weight/25)>> /*42.5*/
-	<<else>>
-		<<set $beauty += 40-($args[0].weight/20)>> /*30*/
-	<</if>>
-<<else>>
-	<<if ($args[0].weight > 130)>>
-		<<set $beauty -= Math.abs($args[0].weight)/5>>
-	<<elseif ($args[0].hips > 2)>>
-		<<if ($args[0].weight < -10)>>
-			<<set $beauty -= Math.abs($args[0].weight)/10>>
-		<</if>>
-	<<elseif ($args[0].hips > 1)>>
-		<<if ($args[0].weight > 95)>>
-			<<set $beauty -= Math.abs($args[0].weight)/15>>
-		<<elseif ($args[0].weight < -30)>>
-			<<set $beauty -= Math.abs($args[0].weight)/10>>
-		<</if>>
-	<<elseif ($args[0].hips < -1)>>
-		<<if ($args[0].weight < -95) || ($args[0].weight > 30)>>
-			<<set $beauty -= Math.abs($args[0].weight)/10>>
-		<</if>>
-	<<else>>
-		<<if Math.abs($args[0].weight) > 30>>
-			<<set $beauty -= Math.abs($args[0].weight)/10>>
-		<</if>>
-	<</if>>
-<</if>>
-
-<<if ($arcologies[0].FSGenderRadicalist > 20 && $arcologies[0].FSGenderRadicalistLawFuta != 3) || ($arcologies[0].FSSlimnessEnthusiast > 20)>>
-	<<if $args[0].hips < 0>>
-	<<set $beauty += Math.abs($args[0].hips)>>
-	<</if>>
-<</if>>
-<<if $arcologies[0].FSRestart != "unset">> /* Eugenics does not like slaves having working balls */
-	<<if $args[0].balls > 0 && $args[0].ballType == "human">>
-		<<set $beauty -= $args[0].balls*(1+($arcologies[0].FSRestart/100))>>
-	<</if>>
-<</if>>
-<<if $arcologies[0].FSGenderRadicalist != "unset">>
-	<<if ($args[0].bellyPreg >= 500) && $arcologies[0].FSRepopulationFocus == "unset" && $arcologies[0].FSRestart == "unset" && $args[0].mpreg == 0>>
-		<<if $args[0].mpreg == 1>>
-			<<set $beauty = ($beauty*0.9)>>
-		<<else>>
-			<<set $beauty = ($beauty*0.7)>>
-		<</if>>
-	<</if>>
-<<elseif $arcologies[0].FSGenderFundamentalist != "unset">>
-	<<if $args[0].shoulders > $args[0].hips>>
-	<<if $args[0].boobs <= 2000*($args[0].shoulders-$args[0].hips)>>
-		<<set $beauty -= ($args[0].shoulders-$args[0].hips)*(1+($arcologies[0].FSGenderFundamentalist/200))>>
-	<</if>>
-	<</if>>
-<<else>>
-	<<if $args[0].shoulders > $args[0].hips>>
-	<<if $args[0].boobs <= 2000*($args[0].shoulders-$args[0].hips)>>
-		<<set $beauty -= $args[0].shoulders-$args[0].hips>>
-	<</if>>
-	<</if>>
-	<<if $args[0].preg > 10 && $arcologies[0].FSRepopulationFocus == "unset" && $arcologies[0].FSRestart == "unset">>
-		<<set $beauty = ($beauty*0.8)>>
-	<</if>>
-<</if>>
-
-<<if $arcologies[0].FSPhysicalIdealist != "unset">>
-	<<if $arcologies[0].FSPhysicalIdealistLaw == 1>>
-		<<if (Math.abs($args[0].weight) <= 30) && $args[0].health >= 20 && $args[0].muscles >= 20 && $args[0].muscles <= 50>>
-			<<set $beauty += ($args[0].muscles+(Math.min($args[0].health,300)/5))*($arcologies[0].FSPhysicalIdealist/100)>>
-		<<else>>
-			<<set $beauty -= 30>>
-		<</if>>
-	<<else>>
-		<<if $args[0].muscles > 30 || $args[0].muscles <= -5>>
-			<<set $beauty += ($args[0].muscles*($arcologies[0].FSPhysicalIdealist/120))>> /*+-83*/
-		<</if>>
-	<</if>>
-	<<if $arcologies[0].FSPhysicalIdealistStrongFat == 1>>
-		<<if $args[0].weight > 10 && $args[0].weight <= 130>>
-			<<set $beauty += ($args[0].weight*($arcologies[0].FSPhysicalIdealist/200))>> /*65*/
-		<<else>>
-			<<set $beauty -= Math.abs($args[0].weight)/2>>
-		<</if>>
-	<</if>>
-	<<if $args[0].height > Height.mean($args[0])>>
-		<<set $beauty += 10>>
-	<</if>>
-<<elseif $arcologies[0].FSHedonisticDecadence != "unset">>
-	<<if $args[0].muscles < -10>>
-		<<set $beauty += (Math.abs($args[0].muscles)*($arcologies[0].FSHedonisticDecadence/160))>> /*62.5*/
-	<<elseif $args[0].muscles > 5>>
-		<<if $arcologies[0].FSHedonisticDecadenceStrongFat == 1>>
-			<<set $beauty += ($args[0].muscles*($arcologies[0].FSHedonisticDecadence/200))>> /*50*/
-		<<else>>
-			<<set $beauty -= ($args[0].muscles*($arcologies[0].FSHedonisticDecadence/200))>> /*-50*/
-		<</if>>
-	<</if>>
-<</if>>
-<<if $args[0].vagina == 10>>
-	<<set $beauty -= 30>>
-<</if>>
-
-<<if $arcologies[0].FSRepopulationFocus > 40>>
-<<if $args[0].preg > 30>> /*limited huge boost for full term */
-	<<if $args[0].broodmother > 0>>
-		<<set $beauty += 10*$args[0].broodmother*($arcologies[0].FSRepopulationFocus/25)>> /*40-80 limited due to constant presence. Also good breeders, but subpar mothers*/
-	<<elseif $args[0].bellyPreg >= 600000>>
-		<<set $beauty += 15*($arcologies[0].FSRepopulationFocus/10)>> /*150*/
-	<<elseif $args[0].bellyPreg >= 300000>>
-		<<set $beauty += 10*($arcologies[0].FSRepopulationFocus/10)>> /*100*/
-	<<elseif $args[0].bellyPreg >= 120000>>
-		<<set $beauty += 9*($arcologies[0].FSRepopulationFocus/10)>> /*90*/
-	<<else>>
-		<<set $beauty += 8*($arcologies[0].FSRepopulationFocus/10)>> /*80*/
-	<</if>>
-<<elseif $args[0].preg > 20>>
-	<<if $args[0].pregType >= 20>>
-		<<set $beauty += 10*($arcologies[0].FSRepopulationFocus/40)>> /*25*/
-	<<elseif $args[0].pregType >= 10>>
-		<<set $beauty += 9*($arcologies[0].FSRepopulationFocus/40)>> /*22.5*/
-	<<else>>
-		<<set $beauty += 8*($arcologies[0].FSRepopulationFocus/40)>> /*20*/
-	<</if>>
-<<elseif $args[0].preg > 10>>
-	<<if $args[0].pregType >= 20>>
-		<<set $beauty += 10*($arcologies[0].FSRepopulationFocus/50)>> /*20*/
-	<<elseif $args[0].pregType >= 10>>
-		<<set $beauty += 8*($arcologies[0].FSRepopulationFocus/50)>> /*16*/
-	<<else>>
-		<<set $beauty += 5*($arcologies[0].FSRepopulationFocus/50)>> /*10*/
-	<</if>>
-<<elseif $args[0].pregWeek < 0>>
-	<<set $beauty += $arcologies[0].FSRepopulationFocus/10>> /*10*/
-<<elseif $args[0].preg > 0 && $args[0].collar == "preg biometrics">>
-	<<set $beauty += $arcologies[0].FSRepopulationFocus/12>> /*8.33*/
-<<else>>
-	<<set $beauty -= 2*($arcologies[0].FSRepopulationFocus/5)>> /*-40*/
-<</if>>
-<<if $args[0].births > 50>>
-	<<set $beauty += 50*($arcologies[0].FSRepopulationFocus/75)>> /*66.6*/
-<<else>>
-	<<set $beauty += $args[0].births*($arcologies[0].FSRepopulationFocus/75)>>
-<</if>>
-<<elseif $arcologies[0].FSRestart > 40>>
-<<if $args[0].breedingMark == 1 && $propOutcome == 1>>
-	<<if $args[0].preg > 5 && $args[0].pregSource == -1>>
-		<<set $beauty += $arcologies[0].FSRestart>> /*100*/
-	<</if>>
-<<else>>
-<<if $args[0].preg > 30>>
-	<<if $args[0].bellyPreg >= 600000>>
-		<<set $beauty -= 100*($arcologies[0].FSRestart/40)>> /*-250*/
-	<<elseif $args[0].bellyPreg >= 300000>>
-		<<set $beauty -= 50*($arcologies[0].FSRestart/40)>> /*-125*/
-	<<elseif $args[0].bellyPreg >= 120000>>
-		<<set $beauty -= 40*($arcologies[0].FSRestart/40)>> /*-100*/
-	<<else>>
-		<<set $beauty -= 30*($arcologies[0].FSRestart/40)>> /*-75*/
-	<</if>>
-<<elseif $args[0].preg > 20>>
-	<<if $args[0].pregType >= 20>>
-		<<set $beauty -= 40*($arcologies[0].FSRestart/60)>> /*-66.6*/
-	<<elseif $args[0].pregType >= 10>>
-		<<set $beauty -= 30*($arcologies[0].FSRestart/60)>> /*-50*/
-	<<else>>
-		<<set $beauty -= 20*($arcologies[0].FSRestart/60)>> /*-33.3*/
-	<</if>>
-<<elseif $args[0].preg > 10>>
-	<<if $args[0].pregType >= 20>>
-		<<set $beauty -= 30*($arcologies[0].FSRestart/80)>> /*-37.5*/
-	<<elseif $args[0].pregType >= 10>>
-		<<set $beauty -= 20*($arcologies[0].FSRestart/80)>> /*-25*/
-	<<else>>
-		<<set $beauty -= 10*($arcologies[0].FSRestart/80)>> /*-12.5*/
-	<</if>>
-<<elseif $args[0].preg == -2>>
-	<<set $beauty += 10*($arcologies[0].FSRestart/70)>> /*14.2*/
-<<elseif $args[0].preg < 1>>
-	<<set $beauty += 10*($arcologies[0].FSRestart/50)>> /*20*/
-<</if>>
-<<if $args[0].births > 50>>
-	<<set $beauty -= 50*($arcologies[0].FSRestart/50)>> /*-100*/
-<<else>>
-	<<set $beauty -= $args[0].births*($arcologies[0].FSRestart/50)>>
-<</if>>
-<</if>>
-<</if>>
-
-<<if $args[0].bellyImplant >= 1500>>
-	<<if $arcologies[0].FSTransformationFetishist > 20>>
-		<<set $beauty += Math.min(Math.trunc($args[0].bellyImplant/1000), 50)>> /*50*/
-	<<elseif $arcologies[0].FSRepopulationFocus > 60>>
-		<<if ($args[0].ovaries == 0 && $args[0].mpreg == 0) || $args[0].preg < -1>>
-			<<set $beauty += 20>>
-		<</if>>
-	<<else>>
-		<<if $args[0].bellyImplant >= 750000>>
-			<<set $beauty = ($beauty*0.2)>>
-		<<elseif $args[0].bellyImplant >= 450000>>
-			<<set $beauty = ($beauty*0.5)>>
-		<<elseif $args[0].bellyImplant >= 300000>>
-			<<set $beauty = ($beauty*0.7)>>
-		<<elseif $args[0].bellyImplant >= 100000>>
-			<<set $beauty = ($beauty*0.80)>>
-		<<elseif $args[0].bellyImplant >= 50000>>
-			<<set $beauty = ($beauty*0.85)>>
-		<<else>>
-			<<set $beauty = ($beauty*0.9)>>
-		<</if>>
-	<</if>>
-<</if>>
-
-<<if $args[0].bellySag > 0>>
-<<if $args[0].belly < 100>>
-<<if $arcologies[0].FSRepopulationFocus != "unset">>
-<<else>>
-	<<set $beauty -= 20>>
-<</if>>
-<</if>>
-<</if>>
-
-<<if $args[0].pubertyXX == 1>>
-	<<set $beauty += 5>>
-<</if>>
-<<if $args[0].pubertyXY == 0 && $args[0].physicalAge > $potencyAge && $args[0].balls > 0>>
-	<<set $beauty += 10>>
-<</if>>
-
-<<if ($args[0].butt > 4) && ($args[0].boobs > 800)>>
-	<<if $arcologies[0].FSSlimnessEnthusiast == "unset">>
-	<<set $beauty += 1>>
-	<</if>>
-	<<if $arcologies[0].FSAssetExpansionist != "unset">>
-	<<set $beauty += ($arcologies[0].FSAssetExpansionist/20)>>
-	<<if canTalk($args[0])>>
-	<<if $args[0].voice == 3>>
-		<<set $beauty += ($arcologies[0].FSAssetExpansionist/40)>>
-	<</if>>
-	<</if>>
-	<</if>>
-<</if>>
-
-<<if ($args[0].boobs < 500) && ($args[0].butt < 3)>>
-	<<if ($args[0].muscles <= 30) && $arcologies[0].FSPhysicalIdealist == "unset" && ($args[0].weight <= 10) && $arcologies[0].FSHedonisticDecadence == "unset">>
-		<<set $beauty += 40>>
-		<<if $arcologies[0].FSSlimnessEnthusiast > 20>>
-		<<set $beauty += ($arcologies[0].FSSlimnessEnthusiast/20)>>
-		<<if canTalk($args[0])>>
-		<<if $args[0].voice == 3>>
-			<<set $beauty += ($arcologies[0].FSSlimnessEnthusiast/40)>>
-		<</if>>
-		<</if>>
-		<</if>>
-	<<elseif $arcologies[0].FSPhysicalIdealist != "unset">> /* no muscle malus for muscle loving societies */
-		<<if $arcologies[0].FSPhysicalIdealistStrongFat == 1 && ($args[0].weight <= 30)>> /* reduced weight malus for fat loving societies */
-			<<set $beauty += 40>>
-			<<if $arcologies[0].FSSlimnessEnthusiast > 20>>
-				<<set $beauty += ($arcologies[0].FSSlimnessEnthusiast/20)>>
-				<<if canTalk($args[0]) && $args[0].voice == 3>>
-					<<set $beauty += ($arcologies[0].FSSlimnessEnthusiast/40)>>
-				<</if>>
-			<</if>>
-		<<elseif ($args[0].weight <= 10)>>
-			<<set $beauty += 40>>
-			<<if $arcologies[0].FSSlimnessEnthusiast > 20>>
-				<<set $beauty += ($arcologies[0].FSSlimnessEnthusiast/20)>>
-				<<if canTalk($args[0]) && $args[0].voice == 3>>
-					<<set $beauty += ($arcologies[0].FSSlimnessEnthusiast/40)>>
-				<</if>>
-			<</if>>
-		<</if>>
-	<<elseif $arcologies[0].FSHedonisticDecadence != "unset" && ($args[0].weight <= 30)>> /* reduced weight malus for fat loving societies */
-		<<if $arcologies[0].FSHedonisticDecadenceStrongFat == 1>> /* no muscle malus for muscle loving societies */
-			<<set $beauty += 40>>
-			<<if $arcologies[0].FSSlimnessEnthusiast > 20>>
-				<<set $beauty += ($arcologies[0].FSSlimnessEnthusiast/20)>>
-				<<if canTalk($args[0]) && $args[0].voice == 3>>
-					<<set $beauty += ($arcologies[0].FSSlimnessEnthusiast/40)>>
-				<</if>>
-			<</if>>
-		<<elseif ($args[0].muscles <= 30)>>
-			<<set $beauty += 40>>
-			<<if $arcologies[0].FSSlimnessEnthusiast > 20>>
-				<<set $beauty += ($arcologies[0].FSSlimnessEnthusiast/20)>>
-				<<if canTalk($args[0]) && $args[0].voice == 3>>
-					<<set $beauty += ($arcologies[0].FSSlimnessEnthusiast/40)>>
-				<</if>>
-			<</if>>
-		<</if>>
-	<</if>>
-<</if>>
-
-
-<<if $arcologies[0].FSGenderFundamentalistLawBeauty + $arcologies[0].FSGenderRadicalistLawBeauty > 0>>
-	<<set $genderLawPass = 1>>
-	<<if $arcologies[0].FSPhysicalIdealist == "unset" && $arcologies[0].FSHedonisticDecadenceStrongFat == 0 && $args[0].muscles > 30>> /*muscle check*/
-		<<set $genderLawPass = 0>>
-	<</if>>
-	<<if $genderLawPass == 1>>
-		<<if $arcologies[0].FSHedonisticDecadence != "unset" || $arcologies[0].FSPhysicalIdealistStrongFat == 1>> /*weight check*/
-			<<if $args[0].weight > 130 || $args[0].weight <= -30>>
-				<<set $genderLawPass = 0>>
-			<</if>>
-		<<elseif (Math.abs($args[0].weight) > 30)>>
-			<<set $genderLawPass = 0>>
-		<</if>>
-	<</if>>
-	<<if $genderLawPass == 1>> /*asset check*/
-		<<if $arcologies[0].FSAssetExpansionist != "unset">>
-			<<if $args[0].boobs < 500 || $args[0].boobs > 1600 || $args[0].butt < 3 || $args[0].butt > 6>>
-				<<set $genderLawPass = 0>>
-			<</if>>
-		<<elseif $args[0].boobs < 500 || $args[0].boobs > 800 || $args[0].butt < 3 || $args[0].butt > 4>>
-			<<set $genderLawPass = 0>>
-		<</if>>
-	<</if>>
-	<<if $genderLawPass == 1>>
-		<<set $beauty += 60>>
-	<<else>>
-		<<set $beauty -= 10>>
-	<</if>>
-<</if>>
-
-<<if $arcologies[0].FSSlimnessEnthusiastLaw == 1>>
-	<<if ($args[0].boobs < 300) && ($args[0].butt <= 1) && ($args[0].waist <= 10)>>
-		<<set _slimPass = 1>>
-		<<if $arcologies[0].FSPhysicalIdealist == "unset" && $arcologies[0].FSHedonisticDecadenceStrongFat == 0 && $args[0].muscles > 30>> /*muscle check*/
-			<<set _slimPass = 0>>
-		<</if>>
-		<<if _slimPass == 1>>
-			<<if $arcologies[0].FSHedonisticDecadence != "unset" || $arcologies[0].FSPhysicalIdealistStrongFat == 1>> /*weight check*/
-				<<if $args[0].weight > 30>>
-					<<set _slimPass = 0>>
-				<</if>>
-			<<elseif $args[0].weight > 10>>
-				<<set _slimPass = 0>>
-			<</if>>
-		<</if>>
-		<<if _slimPass == 1>>
-			<<set $beauty += 40+($arcologies[0].FSSlimnessEnthusiast/20)>> /*45*/
-		<<else>>
-			<<set $beauty -= ($arcologies[0].FSSlimnessEnthusiast/20)>>
-		<</if>>
-	<</if>>
-<</if>>
-
-<<if $arcologies[0].FSHedonisticDecadenceLaw2 == 1>>
-	<<if ($args[0].boobs >= 2000) && ($args[0].butt >= 5) && ($args[0].weight > 95)>>
-		<<set $beauty += 5+($arcologies[0].FSHedonisticDecadence/20)>> /*10*/
-	<<else>>
-		<<set $beauty -= 15+($arcologies[0].FSHedonisticDecadence/20)>> /*-20*/
-	<</if>>
-<</if>>
-
-<<if ($args[0].boobsImplant == 0) && ($args[0].buttImplant == 0) && ($args[0].waist >= -95) && ($args[0].lipsImplant == 0) && ($args[0].faceImplant < 30) && ($args[0].bellyImplant == -1) && (Math.abs($args[0].shouldersImplant) < 2) && (Math.abs($args[0].hipsImplant) < 2)>>
-	<<if def $pure>><<set $pure += 1>><<else>><<set $pure = 1>><</if>>
-	<<if $arcologies[0].FSBodyPurist != "unset">>
-	<<set $beauty += ($arcologies[0].FSBodyPurist/5)>>
-	<</if>>
-	<<if $arcologies[0].FSTransformationFetishist == "unset">>
-	<<set $beauty += 2>>
-	<</if>>
-<<else>>
-	<<if $arcologies[0].FSTransformationFetishist != "unset">>
-	<<set $beauty += ($arcologies[0].FSTransformationFetishist/40)>>
-	<</if>>
-<</if>>
-
-<<if $arcologies[0].FSTransformationFetishist != "unset">>
-	<<if (Math.abs($args[0].shouldersImplant) > 1)>>
-		<<set $beauty += ($arcologies[0].FSTransformationFetishist/20)+(Math.abs($args[0].shouldersImplant))>>
-	<</if>>
-	<<if (Math.abs($args[0].hipsImplant) > 1)>>
-		<<set $beauty += ($arcologies[0].FSTransformationFetishist/20)+(Math.abs($args[0].hipsImplant))>>
-	<</if>>
-	<<if $args[0].race != $args[0].origRace>>
-		<<set $beauty += ($arcologies[0].FSTransformationFetishist/20)>>
-	<</if>>
-	<<if $args[0].faceImplant > 95 && $args[0].face > 40>>
-		<<set $beauty += ($arcologies[0].FSTransformationFetishist/4)>>
-	<</if>>
-	<<if $args[0].nipples == "fuckable">>
-		<<set $beauty += ($arcologies[0].FSTransformationFetishist/10)>>
-	<</if>>
-<</if>>
-
-<<if $arcologies[0].FSBodyPurist != "unset">>
-	<<if $args[0].faceImplant > 5>>
-		<<set $beauty -= ($arcologies[0].FSBodyPurist/100)*($args[0].faceImplant/10)>>
-	<</if>>
-	<<if $args[0].race == $args[0].origRace>>
-		<<set $beauty -= ($arcologies[0].FSBodyPurist/20)>>
-	<</if>>
-<<elseif $arcologies[0].FSTransformationFetishist == "unset">>
-	<<if $args[0].faceImplant > 30>>
-		<<set $beauty -= ($args[0].faceImplant-30)/10>>
-	<</if>>
-<</if>>
-
-<<if !canTalk($args[0])>>
-	<<set $beauty -= 2>>
-<<else>>
-	<<if ($args[0].accent >= 3)>>
-	<<set $beauty -= 1>>
-	<<elseif ($args[0].accent == 1)>>
-	<<set $beauty += 1>>
-	<</if>>
-<</if>>
-
-<<if ($args[0].physicalAge < 11)>>
-	<<set $beauty += 2>>
-<<elseif ($args[0].physicalAge < 13)>>
-<<elseif $args[0].underArmHStyle == "neat">>
-<<elseif $args[0].underArmHStyle == "hairless">>
-	<<set $beauty += 2>>
-<<elseif $args[0].underArmHStyle == "bald">>
-	<<set $beauty += 2>>
-<<elseif $args[0].underArmHStyle == "waxed">>
-	<<set $beauty += 2>>
-<<elseif $args[0].underArmHStyle == "shaved">>
-	<<set $beauty += 2>>
-<<elseif $args[0].underArmHStyle == "bushy">>
-	<<if $arcologies[0].FSBodyPurist > 0>>
-		<<set $beauty += 4>>
-	<<else>>
-		<<set $beauty -= 2>>
-	<</if>>
-<</if>>
-
-<<if ($args[0].physicalAge < 11)>>
-	<<set $beauty += 2>>
-<<elseif ($args[0].physicalAge < 13)>>
-<<elseif $args[0].pubicHStyle == "neat">>
-<<elseif $args[0].pubicHStyle == "in a strip">>
-<<elseif $args[0].pubicHStyle == "hairless">>
-	<<set $beauty += 2>>
-<<elseif $args[0].pubicHStyle == "bald">>
-	<<set $beauty += 2>>
-<<elseif $args[0].pubicHStyle == "waxed">>
-	<<set $beauty += 2>>
-<<elseif $args[0].pubicHStyle == "bushy">>
-	<<if $arcologies[0].FSBodyPurist > 0>>
-		<<set $beauty += 2>>
-	<<else>>
-		<<set $beauty -= 4>>
-	<</if>>
-<<elseif $args[0].pubicHStyle == "bushy in the front and neat in the rear">>
-	<<if $arcologies[0].FSBodyPurist > 0>>
-		<<set $beauty += 4>>
-	<<else>>
-		<<set $beauty -= 2>>
-	<</if>>
-<<elseif $args[0].pubicHStyle == "very bushy">>
-	<<if $arcologies[0].FSBodyPurist > 0>>
-		<<set $beauty += 2>>
-	<<else>>
-		<<set $beauty -= 6>>
-	<</if>>
-<</if>>
-
-<<if $args[0].amp == 0>>
-<<elseif $args[0].amp == 1>>
-	<<set $beauty -= 10>>
-<<elseif $args[0].amp == -3>>
-<<elseif $args[0].amp == -5>>
-<<else>>
-	<<set $beauty -= 2>>
-<</if>>
-
-<<if $arcologies[0].FSChattelReligionistCreed == 1>>
-<<if $nicaeaAssignment == $args[0].assignment>>
-	<<set $beauty += $nicaeaPower*2>>
-<</if>>
-<</if>>
-
-<<if $args[0].prestige >= 3>>
-	<<set $beauty += ($beauty*2)>>
-<<elseif $args[0].prestige == 2>>
-	<<set $beauty += ($beauty*0.5)>>
-<<elseif $args[0].prestige == 1>>
-	<<set $beauty += ($beauty*0.25)>>
-<</if>>
-<<if $args[0].pornPrestige == 3>>
-	<<set $beauty += ($beauty*1.0)>>
-<<elseif $args[0].pornPrestige == 2>>
-	<<set $beauty += ($beauty*0.5)>>
-<<elseif $args[0].pornPrestige == 1>>
-	<<set $beauty += ($beauty*0.1)>>
-<</if>>
-
-<<if $args[0].breedingMark == 1>>
-	<<if $propOutcome == 1>>
-		<<set $beauty = Math.trunc($beauty*2)>>
-	<<else>>
-		<<set $beauty += 2>>
-	<</if>>
-<</if>>
-
-<<set $beauty = Math.max(1, Math.trunc($beauty*0.5))>>
-
+	<<run Beauty($args[0])>>
 <</widget>>
 
 <<widget "Deadliness">>