diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt
index be73806c9c547d66e68e435b31a230f94bebaec2..3c806b04612c749fff92281e8b3846c3703de953 100644
--- a/devNotes/twine JS.txt	
+++ b/devNotes/twine JS.txt	
@@ -34061,98 +34061,51 @@ window.walkPasts = function(slave, _seed) {
 			if (typeof slave.value !== "string") slave.value = default;
 */
 window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) {
+	slaveAgeDatatypeCleanup(slave);
+	slavePhysicalDatatypeCleanup(slave);
+	slaveFaceDatatypeCleanup(slave);
+	slaveHairDatatypeCleanup(slave);
+	slaveBoobsDatatypeCleanup(slave);
+	slaveButtDatatypeCleanup(slave);
+	slavePregnancyDatatypeCleanup(slave);
+	slaveBellyDatatypeCleanup(slave);
+	slaveGenitaliaDatatypeCleanup(slave);
+	slaveImplantsDatatypeCleanup(slave);
+	slavePiercingsDatatypeCleanup(slave);
+	slaveTattooDatatypeCleanup(slave);
+	slaveCosmeticsDatatypeCleanup(slave);
+	slaveDietDatatypeCleanup(slave);
+	slavePornDatatypeCleanup(slave);
+	slaveRelationDatatypeCleanup(slave);
+	slaveSkillsDatatypeCleanup(slave);
+	slaveStatCountDatatypeCleanup(slave);
+	slavePreferencesDatatypeCleanup(slave);
+	slaveRulesDatatypeCleanup(slave);
+	slaveCustomStatsDatatypeCleanup(slave);
+	slaveMiscellaneousDatatypeCleanup(slave);
+	generatePronouns(slave);
+};
+
+window.slaveAgeDatatypeCleanup = function slaveAgeDatatypeCleanup(slave) {
 	const V = State.variables;
 	
-	slave.weekAcquired = Math.max(+slave.weekAcquired, 1) || 1;
-	slave.prestige = Math.clamp(+slave.prestige, 0, 3) || 0;
-	slave.pornFeed = Math.clamp(+slave.pornFeed, 0, 1) || 0;
-	slave.pornFame = Math.max(+slave.pornFame, 0) || 0;
-	slave.pornFameSpending = Math.max(+slave.pornFameSpending, 0) || 0;
-	slave.pornPrestige = Math.clamp(+slave.pornPrestige, 0, 3) || 0;
-	if (typeof slave.pornPrestigeDesc !== "string") {
-		slave.pornPrestigeDesc = 0;
-	}
-	if (typeof slave.pornFameType !== "string") {
-		slave.pornFameType = "none";
-	}
-	if (typeof slave.pornFocus !== "string") {
-		slave.pornFocus = "none";
-	}
-	slave.pornTypeGeneral = Math.max(+slave.pornTypeGeneral, 0) || 0;
-	slave.pornTypeFuckdoll = Math.max(+slave.pornTypeFuckdoll, 0) || 0;
-	slave.pornTypeRape = Math.max(+slave.pornTypeRape, 0) || 0;
-	slave.pornTypePreggo = Math.max(+slave.pornTypePreggo, 0) || 0;
-	slave.pornTypeBBW = Math.max(+slave.pornTypeBBW, 0) || 0;
-	slave.pornTypeGainer = Math.max(+slave.pornTypeGainer, 0) || 0;
-	slave.pornTypeStud = Math.max(+slave.pornTypeStud, 0) || 0;
-	slave.pornTypeLoli = Math.max(+slave.pornTypeLoli, 0) || 0;
-	slave.pornTypeDeepThroat = Math.max(+slave.pornTypeDeepThroat, 0) || 0;
-	slave.pornTypeStruggleFuck = Math.max(+slave.pornTypeStruggleFuck, 0) || 0;
-	slave.pornTypePainal = Math.max(+slave.pornTypePainal, 0) || 0;
-	slave.pornTypeTease = Math.max(+slave.pornTypeTease, 0) || 0;
-	slave.pornTypeRomantic = Math.max(+slave.pornTypeRomantic, 0) || 0;
-	slave.pornTypePervert = Math.max(+slave.pornTypePervert, 0) || 0;
-	slave.pornTypeCaring = Math.max(+slave.pornTypeCaring, 0) || 0;
-	slave.pornTypeUnflinching = Math.max(+slave.pornTypeUnflinching, 0) || 0;
-	slave.pornTypeSizeQueen = Math.max(+slave.pornTypeSizeQueen, 0) || 0;
-	slave.pornTypeNeglectful = Math.max(+slave.pornTypeNeglectful, 0) || 0;
-	slave.pornTypeCumAddict = Math.max(+slave.pornTypeCumAddict, 0) || 0;
-	slave.pornTypeAnalAddict = Math.max(+slave.pornTypeAnalAddict, 0) || 0;
-	slave.pornTypeAttentionWhore = Math.max(+slave.pornTypeAttentionWhore, 0) || 0;
-	slave.pornTypeBreastGrowth = Math.max(+slave.pornTypeBreastGrowth, 0) || 0;
-	slave.pornTypeAbusive = Math.max(+slave.pornTypeAbusive, 0) || 0;
-	slave.pornTypeMalicious = Math.max(+slave.pornTypeMalicious, 0) || 0;
-	slave.pornTypeSelfHating = Math.max(+slave.pornTypeSelfHating, 0) || 0;
-	slave.pornTypeBreeder = Math.max(+slave.pornTypeBreeder, 0) || 0;
-	slave.pornTypeSub = Math.max(+slave.pornTypeSub, 0) || 0;
-	slave.pornTypeCumSlut = Math.max(+slave.pornTypeCumSlut, 0) || 0;
-	slave.pornTypeAnal = Math.max(+slave.pornTypeAnal, 0) || 0;
-	slave.pornTypeHumiliation = Math.max(+slave.pornTypeHumiliation, 0) || 0;
-	slave.pornTypeBoobs = Math.max(+slave.pornTypeBoobs, 0) || 0;
-	slave.pornTypeDom = Math.max(+slave.pornTypeDom, 0) || 0;
-	slave.pornTypeSadist = Math.max(+slave.pornTypeSadist, 0) || 0;
-	slave.pornTypeMasochist = Math.max(+slave.pornTypeMasochist, 0) || 0;
-	slave.pornTypePregnancy = Math.max(+slave.pornTypePregnancy, 0) || 0;
-	slave.mother = +slave.mother || 0;
-	slave.father = +slave.father || 0;
-	if (V.familyTesting == 0) {
-		slave.relationTarget = Math.max(+slave.relationTarget, 0) || 0;
-	}
-	slave.relationship = Math.clamp(+slave.relationship, -3, 5) || 0;
-	slave.relationshipTarget = Math.max(+slave.relationshipTarget, 0) || 0;
-	slave.rivalryTarget = Math.max(+slave.rivalryTarget, 0) || 0;
-	slave.rivalry = Math.clamp(+slave.rivalry, 0, 3) || 0;
-	slave.subTarget = Math.max(+slave.subTarget, 0) || 0;
-	slave.canRecruit = Math.clamp(+slave.canRecruit, 0, 1) || 0;
-	slave.choosesOwnAssignment = Math.clamp(+slave.choosesOwnAssignment, 0) || 0;
-	slave.sentence = Math.max(+slave.sentence, 0) || 0;
-	slave.training = Math.clamp(+slave.training, 0, 150) || 0;
-	if (slave.indenture !== 0) {
-		slave.indenture = Math.max(+slave.indenture, -1) || -1;
-	}
-	slave.indentureRestrictions = Math.clamp(+slave.indentureRestriction, 0, 2) || 0;
 	slave.birthWeek = Math.clamp(+slave.birthWeek, 0, 51) || 0;
 	if (slave.age > 0) {
-		slave.actualAge = Math.max(+slave.actualAge, 0) || slave.age; /* if negative or undefined, this sets to slave.age */
+		slave.actualAge = Math.clamp(+slave.actualAge, V.minimumSlaveAge, Infinity) || slave.age; /* if undefined, this sets to slave.age */
 	} else {
-		slave.actualAge = Math.max(+slave.actualAge, 0) || 18;
+		slave.actualAge = Math.clamp(+slave.actualAge, V.minimumSlaveAge, Infinity) || 18;
 		slave.age = slave.actualAge;
 	}
 	slave.visualAge = Math.max(+slave.visualAge, 0) || slave.actualAge;
 	slave.physicalAge = Math.max(+slave.physicalAge, 0) || slave.actualAge;
-	slave.ovaryAge = Math.max(+slave.ovaryAge, 0) || slave.actualAge;
-	slave.ageImplant = Math.clamp(+slave.ageImplant, 0, 1) || 0;
-	slave.health = Math.clamp(+slave.health, -100, 100) || 0;
-	if (typeof slave.minorInjury !== "string") {
-		slave.minorInjury = 0;
-	}
-	slave.devotion = Math.clamp(+slave.devotion, -100, 100) || 0;
-	slave.oldDevotion = Math.clamp(+slave.oldDevotion, -100, 100) || 0;
-	slave.trust = Math.clamp(+slave.trust, -100, 100) || 0;
-	slave.oldTrust = Math.clamp(+slave.oldTrust, -100, 100) || 0;
-	slave.muscles = Math.clamp(+slave.muscles, -100, 100) || 0;
-	slave.weight = Math.clamp(+slave.weight, -100, 200) || 0;
-	slave.waist = Math.clamp(+slave.waist, -100, 100) || 0;
+	slave.ovaryAge = Math.max(+slave.ovaryAge, 0) || slave.physicalAge;
+	slave.pubertyAgeXX = Math.max(+slave.pubertyAgeXX, 0) || V.fertilityAge;
+	slave.pubertyAgeXY = Math.max(+slave.pubertyAgeXY, 0) || V.potencyAge;
+	slave.ageAdjust = Math.clamp(+slave.ageAdjust, -40, 40) || 0;
+	slave.NCSyouthening = Math.max(+slave.NCSyouthening, 0) || 0;
+};
+
+window.slavePhysicalDatatypeCleanup = function slavePhysicalDatatypeCleanup(slave) {
 	if (typeof slave.nationality !== "string") {
 		slave.nationality = "slave";
 	}
@@ -34162,10 +34115,28 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) {
 	if (typeof slave.origRace !== "string") {
 		slave.origRace = slave.race;
 	}
+	if (typeof slave.skin !== "string") {
+		slave.skin = "light";
+	}
+	if (typeof slave.origSkin !== "string") {
+		slave.origSkin = slave.skin;
+	}
+	if (typeof slave.minorInjury !== "string") {
+		slave.minorInjury = 0;
+	}
+	slave.health = Math.clamp(+slave.health, -100, 100) || 0;
+	slave.muscles = Math.clamp(+slave.muscles, -100, 100) || 0;
+	slave.weight = Math.clamp(+slave.weight, -100, 200) || 0;
+	slave.waist = Math.clamp(+slave.waist, -100, 100) || 0;
 	slave.height = Math.round(Math.max(+slave.height, 0)) || Math.round(Height.mean(slave));
-	slave.heightImplant = Math.clamp(+slave.heightImplant, -1, 1) || 0;
-	if (typeof slave.markings !== "string") {
-		slave.markings = "none";
+	slave.shoulders = Math.clamp(+slave.shoulders, -2, 2) || 0;
+	slave.hips = Math.clamp(+slave.hips, -2, 3) || 0;
+};
+
+window.slaveFaceDatatypeCleanup = function slaveFaceDatatypeCleanup(slave) {
+	slave.face = Math.clamp(+slave.face, -100, 100) || 0;
+	if (typeof slave.faceShape !== "string") {
+		slave.faceShape = "normal";
 	}
 	slave.eyes = Math.clamp(+slave.eyes, -3, 1) || 1; /* if 0 or undefined, this sets to 1 */
 	if (typeof slave.eyeColor !== "string") {
@@ -34180,120 +34151,86 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) {
 	if (typeof slave.sclerae !== "string") {
 		slave.sclerae = "white";
 	}
-	if (typeof slave.eyewear !== "string") {
-		slave.eyewear = "none";
-	}
-	slave.hears = Math.clamp(+slave.hears, -2, 0) || 0;
-	if (typeof slave.earwear !== "string") {
-		slave.earwear = "none";
+	if (slave.lips !== 0) {
+		slave.lips = Math.clamp(+slave.lips, 0, 100) || 15;
 	}
-	slave.earImplant = Math.clamp(+slave.earImplant, 0, 1) || 0;	
+};
+
+window.slaveHairDatatypeCleanup = function slaveHairDatatypeCleanup(slave) {
 	if (typeof slave.hColor !== "string") {
 		slave.hColor = "brown";
 	}
 	if (typeof slave.origHColor !== "string") {
 		slave.origHColor = slave.hColor;
 	}
-	if (typeof slave.pubicHColor !== "string") {
-		slave.pubicHColor = slave.hColor;
-	}
-	if (typeof slave.underArmHColor !== "string") {
-		slave.underArmHColor = "slave.hColor";
-	}
-	if (typeof slave.eyebrowHColor !== "string") {
-		slave.eyebrowHColor = "slave.hColor";
-	}
-	if (typeof slave.skin !== "string") {
-		slave.skin = "light";
-	}
-	if (typeof slave.origSkin !== "string") {
-		slave.origSkin = slave.skin;
-	}
 	if (slave.hLength !== 0) {
 		slave.hLength = Math.clamp(+slave.hLength, 0, 300) || 60;
 	}
 	if (typeof slave.hStyle !== "string") {
 		slave.hStyle = "long";
 	}
+	slave.haircuts = Math.clamp(+slave.haircuts, 0, 1) || 0;
+	slave.bald = Math.clamp(+slave.bald, 0, 1) || 0;
+	if (typeof slave.pubicHColor !== "string") {
+		slave.pubicHColor = slave.hColor;
+	}
 	if (typeof slave.pubicHStyle !== "string") {
 		slave.pubicHStyle = "neat";
 	}
+	if (typeof slave.underArmHColor !== "string") {
+		slave.underArmHColor = "slave.hColor";
+	}
 	if (typeof slave.underArmHStyle !== "string") {
 		slave.underArmHStyle = "waxed";
 	}
+	if (typeof slave.eyebrowHColor !== "string") {
+		slave.eyebrowHColor = "slave.hColor";
+	}
 	if (typeof slave.eyebrowHStyle !== "string") {
 		slave.eyebrowHStyle = "natural";
 	}
 	if (typeof slave.eyebrowFullness !== "string") {
 		slave.eyebrowFullness = "natural";
 	}
-	slave.corsetPiercing = Math.clamp(+slave.corsetPiercing, 0, 1) || 0;
-	slave.amp = Math.clamp(+slave.amp, -5, 1) || 0;
-	slave.PLimb = Math.clamp(+slave.PLimb, 0, 1) || 0;
-	slave.heels = Math.clamp(+slave.heels, 0, 1) || 0;
-	slave.voiceImplant = Math.clamp(+slave.voiceImplant, -1, 1) || 0;
-	if (slave.voice !== 0) {
-		slave.voice = Math.clamp(+slave.voice, 0, 3) || 1;
-	}
-	slave.electrolarynx = Math.clamp(+slave.electrolarynx, 0, 1) || 0;
-	slave.accent = Math.clamp(+slave.accent, 0, 3) || 0;
-	slave.shoulders = Math.clamp(+slave.shoulders, -2, 2) || 0;
-	slave.shouldersImplant = Math.clamp(+slave.shouldersImplant, -1, 1) || 0;
+};
+
+window.slaveBoobsDatatypeCleanup = function slaveBoobsDatatypeCleanup(slave) {
 	slave.boobs = Math.max(+slave.boobs, 100) || 200;
-	slave.boobsImplant = Math.max(+slave.boobsImplant, 0) || 0;
-	slave.boobsImplantType = Math.clamp(+slave.boobsImplantType, 0, 1) || 0;
 	if (typeof slave.boobShape !== "string") {
 		slave.boobShape = "normal";
 	}
 	if (typeof slave.nipples !== "string") {
 		slave.nipples = "cute";
 	}
-	slave.nipplesPiercing = Math.clamp(+slave.nipplesPiercing, 0, 2) || 0;
 	if (typeof slave.nipplesAccessory !== "string") {
 		slave.nipplesAccessory = "none";
 	}
 	slave.areolae = Math.clamp(+slave.areolae, 0, 3) || 0;
-	slave.areolaePiercing = Math.clamp(+slave.areolaePiercing, 0, 2) || 0;
 	if (typeof slave.areolaeShape !== "string") {
 		slave.areolaeShape = "circle";
 	}
-	if (typeof slave.boobsTat !== "string") {
-		slave.boobsTat = 0;
-	}
 	slave.lactation = Math.clamp(+slave.lactation, 0, 2) || 0;
 	slave.lactationAdaptation = Math.clamp(+slave.lactationAdaptation, 0, 100) || 0;
-	slave.milk = Math.max(+slave.milk, 0) || 0;
-	slave.cum = Math.max(+slave.cum, 0) || 0;
-	slave.hips = Math.clamp(+slave.hips, -2, 3) || 0;
-	slave.hipsImplant = Math.clamp(+slave.hipsImplant, -1, 1) || 0;
+};
+
+window.slaveButtDatatypeCleanup = function slaveButtDatatypeCleanup(slave) {
 	if (slave.butt !== 0) {
 		slave.butt = Math.clamp(+slave.butt, 0, 20) || 1;
-	}
-	slave.buttImplant = Math.clamp(+slave.buttImplant, 0, 3) || 0;
-	slave.buttImplantType = Math.clamp(+slave.buttImplantType, 0, 1) || 0;
-	if (typeof slave.buttTat !== "string") {
-		slave.buttTat = 0;
-	}
-	slave.face = Math.clamp(+slave.face, -100, 100) || 0;
-	slave.faceImplant = Math.clamp(+slave.faceImplant, 0, 100) || 0;
-	if (typeof slave.faceShape !== "string") {
-		slave.faceShape = "normal";
-	}
-	if (slave.lips !== 0) {
-		slave.lips = Math.clamp(+slave.lips, 0, 100) || 15;
-	}
-	slave.lipsImplant = Math.clamp(+slave.lipsImplant, 0, 100) || 0;
-	slave.lipsPiercing = Math.clamp(+slave.lipsPiercing, 0, 2) || 0;
-	if (typeof slave.lipsTat !== "string") {
-		slave.lipsTat = 0;
-	}
-	slave.tonguePiercing = Math.clamp(+slave.tonguePiercing, 0, 2) || 0;
-	slave.vagina = Math.clamp(+slave.vagina, -1, 10) || 0;
-	slave.vaginaLube = Math.clamp(+slave.vaginaLube, 0, 2) || 0;
-	slave.vaginaPiercing = Math.clamp(+slave.vaginaPiercing, 0, 2) || 0;
-	if (typeof slave.vaginaTat !== "string") {
-		slave.vaginaTat = 0;
-	}
+	}	
+	slave.anus = Math.clamp(+slave.anus, 0, 4) || 0;
+	slave.analArea = Math.max(+slave.analArea, 0) || 0;
+};
+
+window.slavePregnancyDatatypeCleanup = function slavePregnancyDatatypeCleanup(slave) {
+	slave.induce = Math.clamp(+slave.induce, 0, 1) || 0;
+	slave.labor = Math.clamp(+slave.labor, 0, 1) || 0;
+	slave.cSec = Math.clamp(+slave.cSec, 0, 1) || 0;
+	slave.prematureBirth = Math.clamp(+slave.prematureBirth, 0, 1) || 0;
+	slave.ovaries = Math.clamp(+slave.ovaries, 0, 1) || 0;		
+	slave.vasectomy = Math.clamp(+slave.vasectomy, 0, 1) || 0;
+	slave.mpreg = Math.clamp(+slave.mpreg, 0, 1) || 0;
+	slave.reservedChildren = Math.max(+slave.reservedChildren, 0) || 0;
+	slave.reservedChildrenNursery = Math.max(+slave.reservedChildrenNursery, 0) || 0;
 	if (slave.pregAdaptation !== 0) {
 		slave.pregAdaptation = Math.max(+slave.pregAdaptation, 0) || 50;
 	}
@@ -34303,19 +34240,37 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) {
 	slave.broodmotherFetuses = Math.max(+slave.broodmotherFetuses, 0) || 0;
 	slave.broodmotherOnHold = Math.clamp(+slave.broodmotherOnHold, 0, 1) || 0;
 	slave.pregSource = +slave.pregSource || 0;
-	slave.labor = Math.clamp(+slave.labor, 0, 1) || 0;
-	slave.births = Math.max(+slave.births, 0) || 0;
-	slave.birthsTotal = Math.max(+slave.birthsTotal, 0) || slave.births;
-	slave.laborCount = Math.max(+slave.laborCount, 0) || slave.birthsTotal;
-	slave.cSec = Math.clamp(+slave.cSec, 0, 1) || 0;
-	if (typeof slave.bellyAccessory !== "string") {
-		slave.bellyAccessory = "none";
+	if (typeof slave.pregControl !== "string") {
+		slave.pregControl = "none";
+	}
+	WombNormalizePreg(slave); 
+};
+
+window.slaveBellyDatatypeCleanup = function slaveBellyDatatypeCleanup(slave) {
+	slave.inflation = Math.clamp(+slave.inflation, 0, 3) || 0;
+	if (typeof slave.inflationType !== "string") {
+		slave.inflationType = "none";
+	}
+	slave.inflationMethod = Math.clamp(+slave.inflationMethod, 0, 3) || 0;
+	slave.milkSource = Math.max(+slave.milkSource, 0) || 0;
+	slave.cumSource = Math.max(+slave.cumSource, 0) || 0;
+	slave.burst = Math.clamp(+slave.burst, 0, 1) || 0;
+	if (slave.bellyImplant !== 0) {
+		slave.bellyImplant = Math.max(+slave.bellyImplant, -1) || -1;
 	}
+	slave.cervixImplant = Math.clamp(+slave.cervixImplant, 0, 1) || 0;
+	slave.bellySag = Math.max(+slave.bellySag, 0) || 0;
+	slave.bellySagPreg = Math.max(+slave.bellySagPreg, 0) || slave.bellySag;
+	slave.bellyPain = Math.clamp(+slave.bellyPain, 0, 2) || 0;
+	SetBellySize(slave);
+};
+
+window.slaveGenitaliaDatatypeCleanup = function slaveGenitaliaDatatypeCleanup(slave) {
+	slave.vagina = Math.clamp(+slave.vagina, -1, 10) || 0;
+	slave.vaginaLube = Math.clamp(+slave.vaginaLube, 0, 2) || 0;
 	slave.labia = Math.clamp(+slave.labia, 0, 3) || 0;
 	slave.clit = Math.clamp(+slave.clit, 0, 5) || 0;
-	slave.clitPiercing = Math.clamp(+slave.clitPiercing, 0, 3) || 0;
 	slave.foreskin = Math.max(+slave.foreskin, 0) || 0;
-	slave.anus = Math.clamp(+slave.anus, 0, 4) || 0;
 	slave.dick = Math.max(+slave.dick, 0) || 0;
 	if (slave.dick && slave.prostate !== 0) {
 		slave.prostate = Math.clamp(+slave.prostate, 0, 3) || 1;
@@ -34324,71 +34279,86 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) {
 	}
 	slave.balls = Math.max(+slave.balls, 0) || 0;
 	slave.scrotum = Math.max(+slave.scrotum, 0) || slave.balls;
-	slave.ovaries = Math.clamp(+slave.ovaries, 0, 1) || 0;		
-	slave.analArea = Math.max(+slave.analArea, 0) || 0;
-	slave.dickPiercing = Math.clamp(+slave.dickPiercing, 0, 2) || 0;
-	if (typeof slave.dickTat !== "string") {
-		slave.dickTat = 0;
-	}
-	slave.anusPiercing = Math.clamp(+slave.anusPiercing, 0, 2) || 0;
-	if (typeof slave.anusTat !== "string") {
-		slave.anusTat = 0;
-	}
-	slave.makeup = Math.clamp(+slave.makeup, 0, 8) || 0;
-	slave.nails = Math.clamp(+slave.nails, 0, 9) || 0;
-	slave.brand = Math.clamp(+slave.brand, 0, 1) || 0;
-	if (typeof slave.brandLocation !== "string") {
-		slave.brandLocation = 0;
-	}
+};
+
+window.slaveImplantsDatatypeCleanup = function slaveImplantsDatatypeCleanup(slave) {
+	slave.ageImplant = Math.clamp(+slave.ageImplant, 0, 1) || 0;
+	slave.faceImplant = Math.clamp(+slave.faceImplant, 0, 100) || 0;
+	slave.lipsImplant = Math.clamp(+slave.lipsImplant, 0, 100) || 0;
+	slave.voiceImplant = Math.clamp(+slave.voiceImplant, -1, 1) || 0;
+	slave.boobsImplant = Math.max(+slave.boobsImplant, 0) || 0;
+	slave.boobsImplantType = Math.clamp(+slave.boobsImplantType, 0, 1) || 0;
+	slave.breastMesh = Math.clamp(+slave.breastMesh, 0, 1) || 0;
+	slave.buttImplant = Math.clamp(+slave.buttImplant, 0, 3) || 0;
+	slave.buttImplantType = Math.clamp(+slave.buttImplantType, 0, 1) || 0;
+	slave.heightImplant = Math.clamp(+slave.heightImplant, -1, 1) || 0;
+	slave.earImplant = Math.clamp(+slave.earImplant, 0, 1) || 0;	
+	slave.shouldersImplant = Math.clamp(+slave.shouldersImplant, -1, 1) || 0;
+	slave.hipsImplant = Math.clamp(+slave.hipsImplant, -1, 1) || 0;
+};
+
+window.slavePiercingsDatatypeCleanup = function slavePiercingsDatatypeCleanup(slave) {
 	slave.earPiercing = Math.clamp(+slave.earPiercing, 0, 2) || 0;
 	slave.nosePiercing = Math.clamp(+slave.nosePiercing, 0, 2) || 0;
 	slave.eyebrowPiercing = Math.clamp(+slave.eyebrowPiercing, 0, 2) || 0;
+	slave.lipsPiercing = Math.clamp(+slave.lipsPiercing, 0, 2) || 0;
+	slave.tonguePiercing = Math.clamp(+slave.tonguePiercing, 0, 2) || 0;
+	slave.nipplesPiercing = Math.clamp(+slave.nipplesPiercing, 0, 2) || 0;
+	slave.areolaePiercing = Math.clamp(+slave.areolaePiercing, 0, 2) || 0;
+	slave.corsetPiercing = Math.clamp(+slave.corsetPiercing, 0, 1) || 0;
 	slave.navelPiercing = Math.clamp(+slave.navelPiercing, 0, 2) || 0;
+	slave.clitPiercing = Math.clamp(+slave.clitPiercing, 0, 3) || 0;
+	slave.vaginaPiercing = Math.clamp(+slave.vaginaPiercing, 0, 2) || 0;
+	slave.dickPiercing = Math.clamp(+slave.dickPiercing, 0, 2) || 0;
+	slave.anusPiercing = Math.clamp(+slave.anusPiercing, 0, 2) || 0;
+};
+
+window.slaveTattooDatatypeCleanup = function slaveTattooDatatypeCleanup(slave) {
 	if (typeof slave.shouldersTat !== "string") {
 		slave.shouldersTat = 0;
 	}
+	if (typeof slave.lipsTat !== "string") {
+		slave.lipsTat = 0;
+	}
+	if (typeof slave.boobsTat !== "string") {
+		slave.boobsTat = 0;
+	}
 	if (typeof slave.armsTat !== "string") {
 		slave.armsTat = 0;
 	}
-	if (typeof slave.legsTat !== "string") {
-		slave.legsTat = 0;
-	}
 	if (typeof slave.backTat !== "string") {
 		slave.backTat = 0;
 	}
 	if (typeof slave.stampTat !== "string") {
 		slave.stampTat = 0;
 	}
-	slave.oralSkill = Math.clamp(+slave.oralSkill, 0, 100) || 0;
-	slave.vaginalSkill = Math.clamp(+slave.vaginalSkill, 0, 100) || 0;
-	slave.analSkill = Math.clamp(+slave.analSkill, 0, 100) || 0;
-	slave.whoreSkill = Math.clamp(+slave.whoreSkill, 0, 100) || 0;
-	slave.entertainSkill = Math.clamp(+slave.entertainSkill, 0, 100) || 0;
-	slave.combatSkill = Math.clamp(+slave.combatSkill, 0, 1) || 0;
-	if (typeof slave.standardPunishment !== "string") {
-		slave.standardPunishment = "situational";
+	if (typeof slave.buttTat !== "string") {
+		slave.buttTat = 0;
 	}
-	if (typeof slave.standardReward !== "string") {
-		slave.standardReward = "situational";
+	if (typeof slave.vaginaTat !== "string") {
+		slave.vaginaTat = 0;
 	}
-	if (slave.useRulesAssistant !== 0) {
-		slave.useRulesAssistant = 1;
+	if (typeof slave.dickTat !== "string") {
+		slave.dickTat = 0;
 	}
-	if (typeof slave.diet !== "string") {
-		slave.diet = "healthy";
+	if (typeof slave.anusTat !== "string") {
+		slave.anusTat = 0;
 	}
-	slave.dietCum = Math.clamp(+slave.dietCum, 0, 2) || 0;
-	slave.dietMilk = Math.clamp(+slave.dietMilk, 0, 2) || 0;
-	slave.tired = Math.clamp(+slave.tired, 0, 1) || 0;
-	slave.hormones = Math.clamp(+slave.hormones, -2, 2) || 0;
-	if (typeof slave.drugs !== "string") {
-		slave.drugs = "no drugs";
+	if (typeof slave.legsTat !== "string") {
+		slave.legsTat = 0;
 	}
-	slave.aphrodisiacs = Math.clamp(+slave.aphrodisiacs, 0, 2) || 0;
-	slave.curatives = Math.clamp(+slave.curatives, 0, 2) || 0;
-	slave.chem = Math.max(+slave.chem, 0) || 0;
-	slave.addict = Math.max(+slave.addict, 0) || 0;
-	slave.fuckdoll = Math.clamp(+slave.fuckdoll, 0, 100) || 0;
+	if (typeof slave.bellyTat !== "string") {
+		slave.bellyTat = 0;
+	}
+	if (typeof slave.customTat !== "string") {
+		slave.customTat = "";
+	}
+};
+
+window.slaveCosmeticsDatatypeCleanup = function slaveCosmeticsDatatypeCleanup(slave) {
+	slave.makeup = Math.clamp(+slave.makeup, 0, 8) || 0;
+	slave.nails = Math.clamp(+slave.nails, 0, 9) || 0;
+	slave.scars = Math.clamp(+slave.scars, 0, 6) || 0;
 	slave.choosesOwnClothes = Math.clamp(+slave.choosesOwnClothes, 0, 1) || 0;
 	if (typeof slave.clothes !== "string") {
 		slave.clothes = "no clothing";
@@ -34399,6 +34369,19 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) {
 	if (typeof slave.shoes !== "string") {
 		slave.shoes = "none";
 	}
+	if (typeof slave.eyewear !== "string") {
+		slave.eyewear = "none";
+	}
+	slave.brand = Math.clamp(+slave.brand, 0, 1) || 0;
+	if (typeof slave.brandLocation !== "string") {
+		slave.brandLocation = 0;
+	}
+	if (typeof slave.markings !== "string") {
+		slave.markings = "none";
+	}
+	if (typeof slave.bellyAccessory !== "string") {
+		slave.bellyAccessory = "none";
+	}
 	if (typeof slave.vaginalAccessory !== "string") {
 		slave.vaginalAccessory = "none";
 	}
@@ -34414,22 +34397,6 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) {
 	if (typeof slave.buttplugAttachment !== "string") {
 		slave.buttplugAttachment = "none";
 	}
-	slave.intelligence = Math.clamp(+slave.intelligence, -100, 100) || 0;
-	slave.intelligenceImplant = Math.clamp(+slave.intelligenceImplant, 0, 30) || 0;		
-	slave.energy = Math.clamp(+slave.energy, 0, 100) || 0;
-	slave.need = Math.max(+slave.need, 0) || 0;
-	slave.attrXY = Math.clamp(+slave.attrXY, 0, 100) || 0;
-	slave.attrXX = Math.clamp(+slave.attrXX, 0, 100) || 0;
-	slave.attrKnown = Math.clamp(+slave.attrKnown, 0, 1) || 0;
-	slave.fetishStrength = Math.clamp(+slave.fetishStrength, 0, 100) || 0;
-	slave.fetishKnown = Math.clamp(+slave.fetishKnown, 0, 1) || 0;
-	slave.oralCount = Math.max(+slave.oralCount, 0) || 0;
-	slave.vaginalCount = Math.max(+slave.vaginalCount, 0) || 0;
-	slave.analCount = Math.max(+slave.analCount, 0) || 0;
-	slave.publicCount = Math.max(+slave.publicCount, 0) || 0;
-	slave.mammaryCount = Math.max(+slave.mammaryCount, 0) || 0;
-	slave.penetrativeCount = Math.max(+slave.penetrativeCount, 0) || 0;
-	slave.pitKills = Math.max(+slave.pitKills, 0) || 0;
 	if (typeof slave.headAccessory !== "string") {
 		slave.headAccessory = "none";
 	}
@@ -34439,9 +34406,160 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) {
 	if (typeof slave.backAccessory !== "string") {
 		slave.backAccessory = "none";
 	}
-	if (typeof slave.customTat !== "string") {
-		slave.customTat = "";
+};
+
+window.slaveDietDatatypeCleanup = function slaveDietDatatypeCleanup(slave) {
+	if (typeof slave.diet !== "string") {
+		slave.diet = "healthy";
+	}
+	slave.dietCum = Math.clamp(+slave.dietCum, 0, 2) || 0;
+	slave.dietMilk = Math.clamp(+slave.dietMilk, 0, 2) || 0;
+	slave.onDiet = Math.clamp(+slave.onDiet, 0, 1) || 0;
+	slave.hormones = Math.clamp(+slave.hormones, -2, 2) || 0;
+	slave.hormoneBalance = Math.clamp(+slave.hormoneBalance, -400, 400) || 0;
+	if (typeof slave.drugs !== "string") {
+		slave.drugs = "no drugs";
+	}
+	slave.aphrodisiacs = Math.clamp(+slave.aphrodisiacs, 0, 2) || 0;
+	slave.curatives = Math.clamp(+slave.curatives, 0, 2) || 0;
+};
+
+window.slavePornDatatypeCleanup = function slavePornDatatypeCleanup(slave) {
+	slave.pornFeed = Math.clamp(+slave.pornFeed, 0, 1) || 0;
+	slave.pornFame = Math.max(+slave.pornFame, 0) || 0;
+	slave.pornFameSpending = Math.max(+slave.pornFameSpending, 0) || 0;
+	slave.pornPrestige = Math.clamp(+slave.pornPrestige, 0, 3) || 0;
+	if (typeof slave.pornPrestigeDesc !== "string") {
+		slave.pornPrestigeDesc = 0;
+	}
+	if (typeof slave.pornFameType !== "string") {
+		slave.pornFameType = "none";
+	}
+	if (typeof slave.pornFocus !== "string") {
+		slave.pornFocus = "none";
+	}
+	slave.pornTypeGeneral = Math.max(+slave.pornTypeGeneral, 0) || 0;
+	slave.pornTypeFuckdoll = Math.max(+slave.pornTypeFuckdoll, 0) || 0;
+	slave.pornTypeRape = Math.max(+slave.pornTypeRape, 0) || 0;
+	slave.pornTypePreggo = Math.max(+slave.pornTypePreggo, 0) || 0;
+	slave.pornTypeBBW = Math.max(+slave.pornTypeBBW, 0) || 0;
+	slave.pornTypeGainer = Math.max(+slave.pornTypeGainer, 0) || 0;
+	slave.pornTypeStud = Math.max(+slave.pornTypeStud, 0) || 0;
+	slave.pornTypeLoli = Math.max(+slave.pornTypeLoli, 0) || 0;
+	slave.pornTypeDeepThroat = Math.max(+slave.pornTypeDeepThroat, 0) || 0;
+	slave.pornTypeStruggleFuck = Math.max(+slave.pornTypeStruggleFuck, 0) || 0;
+	slave.pornTypePainal = Math.max(+slave.pornTypePainal, 0) || 0;
+	slave.pornTypeTease = Math.max(+slave.pornTypeTease, 0) || 0;
+	slave.pornTypeRomantic = Math.max(+slave.pornTypeRomantic, 0) || 0;
+	slave.pornTypePervert = Math.max(+slave.pornTypePervert, 0) || 0;
+	slave.pornTypeCaring = Math.max(+slave.pornTypeCaring, 0) || 0;
+	slave.pornTypeUnflinching = Math.max(+slave.pornTypeUnflinching, 0) || 0;
+	slave.pornTypeSizeQueen = Math.max(+slave.pornTypeSizeQueen, 0) || 0;
+	slave.pornTypeNeglectful = Math.max(+slave.pornTypeNeglectful, 0) || 0;
+	slave.pornTypeCumAddict = Math.max(+slave.pornTypeCumAddict, 0) || 0;
+	slave.pornTypeAnalAddict = Math.max(+slave.pornTypeAnalAddict, 0) || 0;
+	slave.pornTypeAttentionWhore = Math.max(+slave.pornTypeAttentionWhore, 0) || 0;
+	slave.pornTypeBreastGrowth = Math.max(+slave.pornTypeBreastGrowth, 0) || 0;
+	slave.pornTypeAbusive = Math.max(+slave.pornTypeAbusive, 0) || 0;
+	slave.pornTypeMalicious = Math.max(+slave.pornTypeMalicious, 0) || 0;
+	slave.pornTypeSelfHating = Math.max(+slave.pornTypeSelfHating, 0) || 0;
+	slave.pornTypeBreeder = Math.max(+slave.pornTypeBreeder, 0) || 0;
+	slave.pornTypeSub = Math.max(+slave.pornTypeSub, 0) || 0;
+	slave.pornTypeCumSlut = Math.max(+slave.pornTypeCumSlut, 0) || 0;
+	slave.pornTypeAnal = Math.max(+slave.pornTypeAnal, 0) || 0;
+	slave.pornTypeHumiliation = Math.max(+slave.pornTypeHumiliation, 0) || 0;
+	slave.pornTypeBoobs = Math.max(+slave.pornTypeBoobs, 0) || 0;
+	slave.pornTypeDom = Math.max(+slave.pornTypeDom, 0) || 0;
+	slave.pornTypeSadist = Math.max(+slave.pornTypeSadist, 0) || 0;
+	slave.pornTypeMasochist = Math.max(+slave.pornTypeMasochist, 0) || 0;
+	slave.pornTypePregnancy = Math.max(+slave.pornTypePregnancy, 0) || 0;
+};
+
+window.slaveRelationDatatypeCleanup = function slaveRelationDatatypeCleanup(slave) {
+	slave.mother = +slave.mother || 0;
+	slave.father = +slave.father || 0;
+	if (State.variables.familyTesting == 0) {
+		slave.relationTarget = Math.max(+slave.relationTarget, 0) || 0;
+	}
+	slave.canRecruit = Math.clamp(+slave.canRecruit, 0, 1) || 0;
+	slave.relationship = Math.clamp(+slave.relationship, -3, 5) || 0;
+	slave.relationshipTarget = Math.max(+slave.relationshipTarget, 0) || 0;
+	slave.rivalryTarget = Math.max(+slave.rivalryTarget, 0) || 0;
+	slave.rivalry = Math.clamp(+slave.rivalry, 0, 3) || 0;
+};
+
+window.slaveSkillsDatatypeCleanup = function slaveSkillsDatatypeCleanup(slave) {
+	slave.oralSkill = Math.clamp(+slave.oralSkill, 0, 100) || 0;
+	slave.vaginalSkill = Math.clamp(+slave.vaginalSkill, 0, 100) || 0;
+	slave.analSkill = Math.clamp(+slave.analSkill, 0, 100) || 0;
+	slave.whoreSkill = Math.clamp(+slave.whoreSkill, 0, 100) || 0;
+	slave.entertainSkill = Math.clamp(+slave.entertainSkill, 0, 100) || 0;
+	slave.combatSkill = Math.clamp(+slave.combatSkill, 0, 1) || 0;
+	slave.skillHG = Math.clamp(+slave.skillHG, 0, 200) || 0;
+	slave.skillRC = Math.clamp(+slave.skillRC, 0, 200) || 0;
+	slave.skillBG = Math.clamp(+slave.skillBG, 0, 200) || 0;
+	slave.skillMD = Math.clamp(+slave.skillMD, 0, 200) || 0;
+	slave.skillDJ = Math.clamp(+slave.skillDJ, 0, 200) || 0;
+	slave.skillNU = Math.clamp(+slave.skillNU, 0, 200) || 0;
+	slave.skillTE = Math.clamp(+slave.skillTE, 0, 200) || 0;
+	slave.skillAT = Math.clamp(+slave.skillAT, 0, 200) || 0;
+	slave.skillMT = Math.clamp(+slave.skillMT, 0, 200) || 0;
+	slave.skillST = Math.clamp(+slave.skillST, 0, 200) || 0;
+	slave.skillMM = Math.clamp(+slave.skillMM, 0, 200) || 0;
+	slave.skillWA = Math.clamp(+slave.skillWA, 0, 200) || 0;
+	slave.skillS = Math.clamp(+slave.skillS, 0, 200) || 0;
+	slave.skillE = Math.clamp(+slave.skillE, 0, 200) || 0;
+	slave.skillW = Math.clamp(+slave.skillW, 0, 200) || 0;
+};
+
+window.slaveStatCountDatatypeCleanup = function slaveStatCountDatatypeCleanup(slave) {
+	slave.oralCount = Math.max(+slave.oralCount, 0) || 0;
+	slave.vaginalCount = Math.max(+slave.vaginalCount, 0) || 0;
+	slave.analCount = Math.max(+slave.analCount, 0) || 0;
+	slave.publicCount = Math.max(+slave.publicCount, 0) || 0;
+	slave.mammaryCount = Math.max(+slave.mammaryCount, 0) || 0;
+	slave.penetrativeCount = Math.max(+slave.penetrativeCount, 0) || 0;
+	slave.pitKills = Math.max(+slave.pitKills, 0) || 0;
+	slave.milk = Math.max(+slave.milk, 0) || 0;
+	slave.cum = Math.max(+slave.cum, 0) || 0;
+	slave.births = Math.max(+slave.births, 0) || 0;
+	slave.birthsTotal = Math.max(+slave.birthsTotal, 0) || slave.births;
+	slave.laborCount = Math.max(+slave.laborCount, 0) || slave.birthsTotal;
+	slave.slavesFathered = Math.max(+slave.slavesFathered, 0) || 0;
+	slave.PCChildrenFathered = Math.max(+slave.PCChildrenFathered, 0) || 0;
+	slave.slavesKnockedUp = Math.max(+slave.slavesKnockedUp, 0) || 0;
+	slave.PCKnockedUp = Math.max(+slave.PCKnockedUp, 0) || 0;
+	slave.bodySwap = Math.max(+slave.bodySwap, 0) || 0;
+};
+
+window.slavePreferencesDatatypeCleanup = function slavePreferencesDatatypeCleanup(slave) {
+	slave.energy = Math.clamp(+slave.energy, 0, 100) || 0;
+	slave.need = Math.max(+slave.need, 0) || 0;
+	slave.attrXY = Math.clamp(+slave.attrXY, 0, 100) || 0;
+	slave.attrXX = Math.clamp(+slave.attrXX, 0, 100) || 0;
+	slave.attrKnown = Math.clamp(+slave.attrKnown, 0, 1) || 0;
+	slave.fetishStrength = Math.clamp(+slave.fetishStrength, 0, 100) || 0;
+	slave.fetishKnown = Math.clamp(+slave.fetishKnown, 0, 1) || 0;
+};
+
+window.slaveRulesDatatypeCleanup = function slaveRulesDatatypeCleanup(slave) {
+	if (typeof slave.standardPunishment !== "string") {
+		slave.standardPunishment = "situational";
+	}
+	if (typeof slave.standardReward !== "string") {
+		slave.standardReward = "situational";
 	}
+	if (slave.useRulesAssistant !== 0) {
+		slave.useRulesAssistant = 1;
+	}
+	slave.choosesOwnAssignment = Math.clamp(+slave.choosesOwnAssignment, 0) || 0;
+	slave.HGExclude = Math.clamp(+slave.HGExclude, 0, 1) || 0;
+	slave.choosesOwnChastity = Math.clamp(+slave.choosesOwnChastity, 0, 1) || 0;
+	slave.breedingMark = Math.clamp(+slave.breedingMark, 0, 1) || 0;
+	slave.rudeTitle = Math.clamp(+slave.rudeTitle, 0, 1) || 0;
+};
+
+window.slaveCustomStatsDatatypeCleanup = function slaveCustomStatsDatatypeCleanup(slave) {
 	if (typeof slave.customLabel !== "string") {
 		slave.customLabel = "";
 	}
@@ -34454,51 +34572,55 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) {
 	if (typeof slave.customTitleLisp !== "string") {
 		slave.customTitleLisp = "";
 	}
-	slave.rudeTitle = Math.clamp(+slave.rudeTitle, 0, 1) || 0;
 	if (typeof slave.customImage !== "string") {
 		slave.customImage = 0;
 	}
-	if (typeof slave.bellyTat !== "string") {
-		slave.bellyTat = 0;
+};
+
+window.slaveMiscellaneousDatatypeCleanup = function slaveMiscellaneousDatatypeCleanup(slave) {
+	slave.weekAcquired = Math.max(+slave.weekAcquired, 0) || 0;
+	slave.newGamePlus = Math.clamp(+slave.newGamePlus, 0, 1) || 0;
+	slave.prestige = Math.clamp(+slave.prestige, 0, 3) || 0;
+	slave.devotion = Math.clamp(+slave.devotion, -100, 100) || 0;
+	slave.oldDevotion = Math.clamp(+slave.oldDevotion, -100, 100) || 0;
+	slave.trust = Math.clamp(+slave.trust, -100, 100) || 0;
+	slave.oldTrust = Math.clamp(+slave.oldTrust, -100, 100) || 0;
+	slave.fuckdoll = Math.clamp(+slave.fuckdoll, 0, 100) || 0;
+	slave.chem = Math.max(+slave.chem, 0) || 0;
+	slave.addict = Math.max(+slave.addict, 0) || 0;
+	slave.intelligence = Math.clamp(+slave.intelligence, -100, 100) || 0;
+	slave.intelligenceImplant = Math.clamp(+slave.intelligenceImplant, 0, 30) || 0;
+	slave.premature = Math.clamp(+slave.premature, 0, 1) || 0;
+	slave.tankBaby = Math.clamp(+slave.tankBaby, 0, 2) || 0;
+	slave.subTarget = Math.max(+slave.subTarget, 0) || 0;
+	slave.sentence = Math.max(+slave.sentence, 0) || 0;
+	slave.training = Math.clamp(+slave.training, 0, 150) || 0;
+	if (slave.indenture !== 0) {
+		slave.indenture = Math.max(+slave.indenture, -1) || -1;
 	}
-	slave.induce = Math.clamp(+slave.induce, 0, 1) || 0;
-	slave.mpreg = Math.clamp(+slave.mpreg, 0, 1) || 0;
-	slave.inflation = Math.clamp(+slave.inflation, 0, 3) || 0;
-	if (typeof slave.inflationType !== "string") {
-		slave.inflationType = "none";
+	slave.indentureRestrictions = Math.clamp(+slave.indentureRestriction, 0, 2) || 0;
+	slave.tired = Math.clamp(+slave.tired, 0, 1) || 0;	
+	slave.hears = Math.clamp(+slave.hears, -2, 0) || 0;
+	if (typeof slave.earwear !== "string") {
+		slave.earwear = "none";
 	}
-	slave.inflationMethod = Math.clamp(+slave.inflationMethod, 0, 3) || 0;
-	slave.milkSource = Math.max(+slave.milkSource, 0) || 0;
-	slave.cumSource = Math.max(+slave.cumSource, 0) || 0;
-	slave.burst = Math.clamp(+slave.burst, 0, 1) || 0;
-	SetBellySize(slave);
-	if (slave.bellyImplant !== 0) {
-		slave.bellyImplant = Math.max(+slave.bellyImplant, -1) || -1;
+	slave.heels = Math.clamp(+slave.heels, 0, 1) || 0;
+	slave.amp = Math.clamp(+slave.amp, -5, 1) || 0;
+	slave.PLimb = Math.clamp(+slave.PLimb, 0, 1) || 0;	
+	if (slave.voice !== 0) {
+		slave.voice = Math.clamp(+slave.voice, 0, 3) || 1;
 	}
-	slave.bellySag = Math.max(+slave.bellySag, 0) || 0;
-	slave.bellySagPreg = Math.max(+slave.bellySagPreg, 0) || slave.bellySag;
-	slave.bellyPain = Math.clamp(+slave.bellyPain, 0, 2) || 0;
-	slave.cervixImplant = Math.clamp(+slave.cervixImplant, 0, 1) || 0;
-	slave.pubertyAgeXX = Math.max(+slave.pubertyAgeXX, 0) || V.fertilityAge;
-	slave.pubertyAgeXY = Math.max(+slave.pubertyAgeXY, 0) || V.potencyAge;
-	slave.scars = Math.clamp(+slave.scars, 0, 6) || 0;
-	slave.breedingMark = Math.clamp(+slave.breedingMark, 0, 1) || 0;
-	slave.bodySwap = Math.max(+slave.bodySwap, 0) || 0;
-	slave.HGExclude = Math.clamp(+slave.HGExclude, 0, 1) || 0;
+	slave.electrolarynx = Math.clamp(+slave.electrolarynx, 0, 1) || 0;
+	slave.accent = Math.clamp(+slave.accent, 0, 3) || 0;
+	slave.missingEyes = Math.clamp(+slave.missingEyes, 0, 3) || 0;
+	slave.missingArms = Math.clamp(+slave.missingArms, 0, 3) || 0;
+	slave.missingLegs = Math.clamp(+slave.missingLegs, 0, 3) || 0;
 	if (typeof slave.ballType !== "string") {
 		slave.ballType = "human";
 	}
 	if (typeof slave.eggType !== "string") {
 		slave.eggType = "human";
 	}
-	slave.reservedChildren = Math.max(+slave.reservedChildren, 0) || 0;
-	slave.reservedChildrenNursery = Math.max(+slave.reservedChildrenNursery, 0) || 0;
-	slave.choosesOwnChastity = Math.clamp(+slave.choosesOwnChastity, 0, 1) || 0;
-	if (typeof slave.pregControl !== "string") {
-		slave.pregControl = "none";
-	}
-	slave.ageAdjust = Math.clamp(+slave.ageAdjust, -40, 40) || 0;
-	slave.bald = Math.clamp(+slave.bald, 0, 1) || 0;
 	if (typeof slave.origBodyOwner !== "string") {
 		slave.origBodyOwner = "";
 	}
@@ -34506,39 +34628,6 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) {
 	if (typeof slave.death !== "string") {
 		slave.death = "";
 	}
-	slave.hormoneBalance = Math.clamp(+slave.hormoneBalance, -400, 400) || 0;
-	slave.onDiet = Math.clamp(+slave.onDiet, 0, 1) || 0;
-	slave.breastMesh = Math.clamp(+slave.breastMesh, 0, 1) || 0;
-	slave.slavesFathered = Math.max(+slave.slavesFathered, 0) || 0;
-	slave.PCChildrenFathered = Math.max(+slave.PCChildrenFathered, 0) || 0;
-	slave.slavesKnockedUp = Math.max(+slave.slavesKnockedUp, 0) || 0;
-	slave.PCKnockedUp = Math.max(+slave.PCKnockedUp, 0) || 0;
-	slave.prematureBirth = Math.clamp(+slave.prematureBirth, 0, 1) || 0;
-	slave.premature = Math.clamp(+slave.premature, 0, 1) || 0;
-	slave.vasectomy = Math.clamp(+slave.vasectomy, 0, 1) || 0;
-	slave.haircuts = Math.clamp(+slave.haircuts, 0, 1) || 0;
-	slave.newGamePlus = Math.clamp(+slave.newGamePlus, 0, 1) || 0;
-	slave.skillHG = Math.clamp(+slave.skillHG, 0, 200) || 0;
-	slave.skillRC = Math.clamp(+slave.skillRC, 0, 200) || 0;
-	slave.skillBG = Math.clamp(+slave.skillBG, 0, 200) || 0;
-	slave.skillMD = Math.clamp(+slave.skillMD, 0, 200) || 0;
-	slave.skillDJ = Math.clamp(+slave.skillDJ, 0, 200) || 0;
-	slave.skillNU = Math.clamp(+slave.skillNU, 0, 200) || 0;
-	slave.skillTE = Math.clamp(+slave.skillTE, 0, 200) || 0;
-	slave.skillAT = Math.clamp(+slave.skillAT, 0, 200) || 0;
-	slave.skillMT = Math.clamp(+slave.skillMT, 0, 200) || 0;
-	slave.skillST = Math.clamp(+slave.skillST, 0, 200) || 0;
-	slave.skillMM = Math.clamp(+slave.skillMM, 0, 200) || 0;
-	slave.skillWA = Math.clamp(+slave.skillWA, 0, 200) || 0;
-	slave.skillS = Math.clamp(+slave.skillS, 0, 200) || 0;
-	slave.skillE = Math.clamp(+slave.skillE, 0, 200) || 0;
-	slave.skillW = Math.clamp(+slave.skillW, 0, 200) || 0;
-	slave.tankBaby = Math.clamp(+slave.tankBaby, 0, 2) || 0;
-	slave.NCSyouthening = Math.max(+slave.NCSyouthening, 0) || 0;
-	slave.missingEyes = Math.clamp(+slave.missingEyes, 0, 3) || 0;
-	slave.missingArms = Math.clamp(+slave.missingArms, 0, 3) || 0;
-	slave.missingLegs = Math.clamp(+slave.missingLegs, 0, 3) || 0;
-	generatePronouns(slave);
 };
 
 window.ArcologyDatatypeCleanup = function ArcologyDatatypeCleanup () {
diff --git a/src/cheats/mod_EditSlaveCheatDatatypeCleanup.tw b/src/cheats/mod_EditSlaveCheatDatatypeCleanup.tw
index 9b32a9d81784041941b577a54fcf7d8d3ce7c654..1a50994b1a043c71c2c319916e23d1009a79910e 100644
--- a/src/cheats/mod_EditSlaveCheatDatatypeCleanup.tw
+++ b/src/cheats/mod_EditSlaveCheatDatatypeCleanup.tw
@@ -7,13 +7,12 @@
 	<<goto "Slave Interact">>
 <</if>>
 
-<<run SlaveDatatypeCleanup($tempSlave)>>
 <<set $rep = Number($rep) || 0>>
 <<set $cash = Number($cash) || 0>>
 <<set $week = Number($week) || 1>>
 <<set $tempSlave.preg = Number($tempSlave.preg) || 0>>
 <<set $tempSlave.pregType = Number($tempSlave.pregType) || 0>>
- <<if $tempSlave.broodmother == 0>>
+<<if $tempSlave.broodmother == 0>>
 	<<set WombInit($tempSlave)>> /* just to make sure */
 	<<set $tempSlave.womb.length = 0>> /* simple way to delete all fetuses */
 	<<set WombImpregnate($tempSlave, $tempSlave.pregType, $tempSlave.pregSource, $tempSlave.preg)>> /* recreates fetuses */
@@ -25,7 +24,7 @@
 <<else>>
 	<<set $tempSlave.pregKnown = 0, $tempSlave.pregWeek = 0>>
 <</if>>
-<<run SetBellySize($tempSlave)>>
+<<run SlaveDatatypeCleanup($tempSlave)>> /* will break cheated pregnancies if run before the above block of code */
 
 You perform the dark rituals, pray to the dark gods and sold your soul for the power to change and mold slaves to your will.
 
diff --git a/src/cheats/mod_EditSlaveCheatDatatypeCleanupNew.tw b/src/cheats/mod_EditSlaveCheatDatatypeCleanupNew.tw
index 8c32a1f521ec64f013558988f3cb683fc3b15abf..ad60d75e1d9b025893a98d8a5e4e2e4e9b3ece8f 100644
--- a/src/cheats/mod_EditSlaveCheatDatatypeCleanupNew.tw
+++ b/src/cheats/mod_EditSlaveCheatDatatypeCleanupNew.tw
@@ -17,7 +17,6 @@
 <</if>>
 <<unset $customEvalCode>>
 
-<<run SlaveDatatypeCleanup($tempSlave)>>
 <<set $rep = Number($rep) || 0>>
 <<set $cash = Number($cash) || 0>>
 <<set $week = Number($week) || 1>>
@@ -36,25 +35,10 @@
 <<elseif $tempSlave.preg > 0>>
 	<<set $tempSlave.pregKnown = 1>>
 <</if>>
+<<run SlaveDatatypeCleanup($tempSlave)>> /* will break cheated pregnancies if run before the above block of code */
 
 /* Dependency Check */
 <br>
-<<if $tempSlave.indenture == -1>>
-	<<set $tempSlave.indentureRestrictions = 0>>
-<<elseif $tempSlave.indenture < -1>>
-	<<set $tempSlave.indenture = -1>>
-	<<print "Indenture was smaller than -1 reset to Fulltime Slave">><br>
-<<elseif $tempSlave.indentureRestrictions < 0>>
-	<<set $tempSlave.indentureRestrictions = 0>>
-	<<print "Indenture Restriction was smaller than 0 reset to No Restrictions">><br>
-<<elseif $tempSlave.indentureRestrictions > 2>>
-	<<set $tempSlave.indentureRestrictions = 2>>
-	<<print "Indenture Restrictions was bigger than 2 reset to Full Restrictions">><br>
-<</if>>
-<<if $tempSlave.weekAcquired < 0>>
-	<<set $tempSlave.weekAcquired = 0>>
-	<<print "Week Acquired was negative reset to 0">><br>
-<</if>>
 <<if ($tempSlave.relationshipTarget == $tempSlave.ID) && ($tempSlave.relationship > 0)>>
 	<<set $tempSlave.relationshipTarget = 0>>
 	<<set $tempSlave.relationship = -1>>
@@ -65,48 +49,10 @@
 	<<set $tempSlave.rivalry = 0>>
 	<<print "The Slave was her own Rival reset to No Rivalry">><br>
 <</if>>
-<<if $tempSlave.actualAge < 0>>
-	<<print "Slave actual Age is set too low, reset to Arcology Minimum Age">><br>
-	<<set $tempSlave.actualAge = $minimumSlaveAge>>
-<</if>>
-<<if $tempSlave.physicalAge < 0>>
-	<<print "Slave physical Age is set too low, reset to Arcology Minimum Age">><br>
-	<<set $tempSlave.physicalAge = $minimumSlaveAge>>
-<</if>>
-<<if $tempSlave.visualAge < 0>>
-	<<print "Slave visual Age is set too low, reset to Arcology Minimum Age">><br>
-	<<set $tempSlave.visualAge = $minimumSlaveAge>>
-<</if>>
 <<if ($tempSlave.ageImplant == 1) && ($tempSlave.visualAge < 25)>>
 	<<print "Slaves Visual Age is smaller than 25 reset to no lifting">><br>
 	<<set $tempSlave.ageImplant = 0>>
 <</if>>
-<<if $tempSlave.ovaryAge < 0>>
-	<<print "Slave ovary Age is set too low, reset to match physical age">><br>
-	<<set $tempSlave.ovaryAge = $tempSlave.physicalAge>>
-<</if>>
-<<if $tempSlave.chem < 0>>
-	<<print "Slaves DNA Error is set too low, reset to 0">><br>
-	<<set $tempSlave.chem = 0>>
-<</if>>
-<<if $tempSlave.face < -100>>
-	<<print "Face Beauty was set too low, reset to -100">><br>
-	<<set $tempSlave.face = -100>>
-<<elseif $tempSlave.face > 100>>
-	<<print "Face Beauty was set too high, reset to 100">><br>
-	<<set $tempSlave.face = 100>>
-<</if>>
-<<if $tempSlave.hLength < 0>>
-	<<print "Slaves Hair length was set too low, reset to 0">><br>
-	<<set $tempSlave.hLength = 0>>
-<</if>>
-<<if $tempSlave.lips < 0>>
-	<<print "Lips size too small, reset to 0">><br>
-	<<set $tempSlave.lips = 0>>
-<<elseif $tempSlave.lips > 100>>
-	<<print "Lips size too high, reset to 100">><br>
-	<<set $tempSlave.lips = 100>>
-<</if>>
 <<if ($tempSlave.voice == 0) && ($tempSlave.voiceImplant != 0)>>
 	<<print "Slave is mute, voice surgery reset" >><br>
 	<<set $tempSlave.voiceImplant = 0>>
@@ -168,78 +114,11 @@
 		<</if>>
 	<</if>>
 <</if>>
-<<if $tempSlave.fuckdoll < 0>>
-	<<print "Fuckdoll Value too low, reset to 0 (Not a Fuckdoll)">><br>
-	<<set $tempSlave.fuckdoll = 0>>
-<<elseif $tempSlave.fuckdoll > 100>>
-	<<print "Fuckdoll Value too high, reset to 100 (Total Fuckdoll)">><br>
-	<<set $tempSlave.fuckdoll = 100>>
-<</if>>
-<<if $tempSlave.muscles < -100>>
-	<<print "Muscle Value too low, reset to -100 (Frail)">><br>
-	<<set $tempSlave.muscles = 0>>
-<<elseif $tempSlave.muscles > 100>>
-	<<print "Muscle Value too high, reset to 100 (Hugely Muscular)">><br>
-	<<set $tempSlave.muscles = 100>>
-<</if>>
-<<if $tempSlave.weight < -100>>
-	<<print "Weight Value too low, reset to -100 (Emaciated)">><br>
-	<<set $tempSlave.weight = -100>>
-<<elseif $tempSlave.weight > 200 >>
-	<<print "Weight Value too high, reset to 200 (Extremely Obese)">><br>
-	<<set $tempSlave.weight = 200>>
-<</if>>
-<<if $tempSlave.waist < -100>>
-	<<print "Waist Value too low, reset to -100 (Absurd)">><br>
-	<<set $tempSlave.waist = -100>>
-<<elseif $tempSlave.waist > 100>>
-	<<print "Waist Value too high, reset to 100 (Masculine)">><br>
-	<<set $tempSlave.waist = 100>>
-<</if>>
-<<if $tempSlave.height < 1>>
-	<<print "Height Value too low, reset to 140 (Seriously its still a Human Being)">><br>
-	<<set $tempSlave.height = 140>>
-<</if>>
-<<if $tempSlave.heightImplant < -1>>
-	<<print "heightImplant Value too low, reset to -1 (Artificially Shortened)">><br>
-	<<set $tempSlave.heightImplant = -1>>
-<<elseif $tempSlave.heightImplant > 1>>
-	<<print "heightImplant Value too high, reset to 1 (Artificially Lengthened)">><br>
-	<<set $tempSlave.heightImplant = 1>>
-<</if>>
-<<if $tempSlave.bellyImplant < -1>>
-	<<print "Belly Implant Value too low, reset -1 (no Implant)">><br>
-	<<set $tempSlave.bellyImplant = -1>>
-<</if>>
-<<if $tempSlave.bellySag < 0>>
-	<<print "Bellysag Value too low, reset 0">><br>
-	<<set $tempSlave.bellySag = 0>>
-<</if>>
-<<if $tempSlave.boobs < 0>>
-	<<print "Breasts Value too low, reset to 200">><br>
-	<<set $tempSlave.boobs = 200>>
-<</if>>
-<<if $tempSlave.boobsImplant < 0>>
-	<<print "Breast Implant Value too low, reset to 0">><br>
-	<<set $tempSlave.boobsImplant = 0>>
-<</if>>
-<<if $tempSlave.butt < 0>>
-	<<print "Butt Value too low, reset to 0">><br>
-	<<set $tempSlave.butt = 0>>
-<</if>>
-<<if (ndef $tempSlave.pubertyAgeXX) || ($tempSlave.pubertyAgeXX < 0)>>
-	<<print "Puberty Age was not set or set too low, reset to Arcology fertility age">><br>
-	<<set $tempSlave.pubertyAgeXX = $fertilityAge>>
-<</if>>
 <<if (ndef $tempSlave.pubertyXX) && ($tempSlave.physicalAge >= $tempSlave.pubertyAgeXX)>>
 	<<set $tempSlave.pubertyXX = 1>>
 <<elseif (ndef $tempSlave.pubertyXX) && ($tempSlave.physicalAge < $tempSlave.pubertyAgeXX)>>
 	<<set $tempSlave.pubertyXX = 0>>
 <</if>>
-<<if $tempSlave.dick < 0>>
-	<<print "Slave Dick Value set too low, reset to 0 (No Dick)" >><br>
-	<<set $tempSlave.dick = 0>>
-<</if>>
 <<if $tempSlave.dick == 0>>
 	<<set $tempSlave.dickTat = 0>>
 <</if>>
@@ -267,6 +146,7 @@
 	<<set $tempSlave.pregType = 0>>
 	<<set $tempSlave.pregSource = 0>>
 	<<set $tempSlave.pregWeek = 0>>
+	<<run WombFlush($tempSlave)>>
 <</if>>
 <<if ($tempSlave.pubertyXX != 1) && ($tempSlave.physicalAge >= $tempSlave.pubertyAgeXX)>>
 	<<print "Slaves physical Age is equal or higher than female Puberty Age, Puberty set to 1 (Post Puberty)" >><br>
@@ -282,22 +162,7 @@
 	<<set $tempSlave.pregType = 0>>
 	<<set $tempSlave.pregSource = 0>>
 	<<set $tempSlave.pregWeek = 0>>
-<</if>>
-<<if $tempSlave.balls < 0>>
-	<<print "Slave Balls Value set too low, reset to 0 (No Balls)">><br>
-	<<set $tempSlave.balls = 0>>
-<</if>>
-<<if $tempSlave.foreskin < 0>>
-	<<print "Slave Foreskin Value set too low, reset to 0 (None)">><br>
-	<<set $tempSlave.foreskin = 0>>
-<</if>>
-<<if $tempSlave.scrotum < 0>>
-	<<print "Slave Scrotum Value set too low, reset to 0 (No Scrotum)">><br>
-	<<set $tempSlave.scrotum = 0>>
-<</if>>
-<<if (ndef $tempSlave.pubertyAgeXY) || ($tempSlave.pubertyAgeXY < 0)>>
-	<<print "XY Puberty Age was not set or set too low, reset to Arcology Puberty Age">><br>
-	<<set $tempSlave.pubertyAgeXY = $potencyAge>>
+	<<run WombFlush($tempSlave)>>
 <</if>>
 <<if (ndef $tempSlave.pubertyXY) && ($tempSlave.physicalAge >= $tempSlave.pubertyAgeXY)>>
 	<<set $tempSlave.pubertyXY = 1>>
@@ -308,108 +173,6 @@
 	<<print "Slaves physical Age is equal or higher than male Puberty Age, Puberty set to 1 (Post Puberty)" >><br>
 	<<set $tempSlave.pubertyXY = 1>>
 <</if>>
-<<if $tempSlave.oralSkill < 0>>
-	<<print "Oral Skill Value set too low, reset to 0">><br>
-	<<set $tempSlave.oralSkill = 0>>
-<<elseif $tempSlave.oralSkill > 100>>
-	<<print "Oral Skill Value set too high, reset to 100">><br>
-	<<set $tempSlave.oralSkill = 100>>
-<</if>>
-<<if $tempSlave.vaginalSkill < 0>>
-	<<print "Vaginal Skill Value too low, reset to 0">><br>
-	<<set $tempSlave.vaginalSkill = 0>>
-<<elseif $tempSlave.vaginalSkill > 100>>
-	<<print "Vaginal Skill Value too high, reset to 100">><br>
-	<<set $tempSlave.vaginalSkill = 100>>
-<</if>>
-<<if $tempSlave.analSkill < 0>>
-	<<print "Anal Skill Value set too low, reset to 0">><br>
-	<<set $tempSlave.analSkill = 0>>
-<<elseif $tempSlave.analSkill > 100>>
-	<<print "Anal Skill Value set too high, reset to 100">><br>
-	<<set $tempSlave.analSkill = 100>>
-<</if>>
-<<if $tempSlave.whoreSkill < 0>>
-	<<print "Whoring Skill Value set too low, reset to 0">><br>
-	<<set $tempSlave.whoreSkill = 0>>
-<<elseif $tempSlave.whoreSkill > 100>>
-	<<print "Whoring Skill Value set too high, reset to 100">><br>
-	<<set $tempSlave.whoreSkill = 100>>
-<</if>>
-<<if $tempSlave.entertainSkill < 0>>
-	<<print "Entertainment Skill Value set too low, reset to 0">><br>
-	<<set $tempSlave.entertainSkill = 0>>
-<<elseif $tempSlave.entertainSkill > 100>>
-	<<print "Entertainment Skill Value set too high, reset to 100">><br>
-	<<set $tempSlave.entertainSkill = 100>>
-<</if>>
-<<if $tempSlave.intelligence < -100>>
-	<<print "Slave Intelligence Value set too low, reset to -100">><br>
-	<<set $tempSlave.intelligence = -100>>
-<<elseif $tempSlave.intelligence > 100>>
-	<<print "Slave Intelligence Value set too high, reset to 100">><br>
-	<<set $tempSlave.intelligence = 100>>
-<</if>>
-<<if $tempSlave.intelligenceImplant < 0>>
-	<<print "Slave intelligenceImplant Value set too low, reset to 0">><br>
-	<<set $tempSlave.intelligenceImplant = 0>>
-<<elseif $tempSlave.intelligenceImplant > 30>>
-	<<print "Slave intelligenceImplant Value set too high, reset to 30">><br>
-	<<set $tempSlave.intelligenceImplant = 30>>
-<</if>>
-<<if $tempSlave.fetishStrength < 0>>
-	<<print "Fetish Strength set too low, reset to 0">><br>
-	<<set $tempSlave.fetishStrength = 0>>
-<<elseif $tempSlave.fetishStrength > 100>>
-	<<print "Fetish Strength set too high, reset to 100">><br>
-	<<set $tempSlave.fetishStrength = 100>>
-<</if>>
-<<if $tempSlave.energy < 0>>
-	<<print "Sex Drive was set too low, reset to 0">><br>
-	<<set $tempSlave.energy = 0>>
-<<elseif $tempSlave.energy > 100>>
-	<<print "Sex Drive was set too high, reset to 100">><br>
-	<<set $tempSlave.energy = 100>>
-<</if>>
-<<if $tempSlave.penetrativeCount < 0>>
-	<<print "Penetrative sex Count was set too low, reset to 0">><br>
-	<<set $tempSlave.penetrativeCount = 0>>
-<</if>>
-<<if $tempSlave.oralCount < 0>>
-	<<print "Oral sex Count set too low, reset to 0">><br>
-	<<set $tempSlave.oralCount = 0>>
-<</if>>
-<<if $tempSlave.vaginalCount < 0>>
-	<<print "Vaginal sex Count set too low, reset to 0">><br>
-	<<set $tempSlave.vaginalCount = 0>>
-<</if>>
-<<if $tempSlave.analCount < 0>>
-	<<print "Anal sex Count set too low, reset to 0">><br>
-	<<set $tempSlave.analCount = 0>>
-<</if>>
-<<if $tempSlave.publicCount < 0>>
-	<<print "Public sex Count set too low, reset 0">><br>
-	<<set $tempSlave.publicCount = 0>>
-<</if>>
-<<if $tempSlave.mammaryCount < 0>>
-	<<print "Titjobs Count set too low, reset to 0">><br>
-	<<set $tempSlave.mammaryCount = 0>>
-<</if>>
-<<if $tempSlave.birthsTotal < 0>>
-	<<print "Total birth Count set too low, reset to 0">><br>
-	<<set $tempSlave.birthsTotal = 0>>
-<</if>>
-<<if $tempSlave.pitKills < 0>>
-	<<print "Pit Kills Count set too low, reset to 0">><br>
-	<<set $tempSlave.pitKills = 0>>
-<</if>>
-<<if $tempSlave.prestige < 0>>
-	<<print "Prestige set too low, reset to 0">><br>
-	<<set $tempSlave.prestige = 0>>
-<<elseif $tempSlave.prestige > 3>>
-	<<print "Prestige set too high, reset to 3">><br>
-	<<set $tempSlave.prestige = 3>>
-<</if>>
 <<if $tempSlave.breedingMark == 1 && ["whore", "serve the public", "work a glory hole", "work in the dairy", "serve in the club", "be the DJ", "be the Madam", "live with your Head Girl", "be confined in the arcade", "work in the brothel", "be a subordinate slave"].includes($tempSlave.assignment)>>
 	<<print "Eugenics Breeding Marked slave detected in questionable use, defaulting slave assignment to 'rest'">><br>
 	<<= assignJob($tempSlave, "rest")>>
diff --git a/src/js/datatypeCleanupJS.tw b/src/js/datatypeCleanupJS.tw
index 0a6ce740a78260e9346e8676e709c2a54d4d63a8..96df97919002d1e265b1c349ef6ff142760ff0f0 100644
--- a/src/js/datatypeCleanupJS.tw
+++ b/src/js/datatypeCleanupJS.tw
@@ -28,98 +28,51 @@
 			if (typeof slave.value !== "string") slave.value = default;
 */
 window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) {
+	slaveAgeDatatypeCleanup(slave);
+	slavePhysicalDatatypeCleanup(slave);
+	slaveFaceDatatypeCleanup(slave);
+	slaveHairDatatypeCleanup(slave);
+	slaveBoobsDatatypeCleanup(slave);
+	slaveButtDatatypeCleanup(slave);
+	slavePregnancyDatatypeCleanup(slave);
+	slaveBellyDatatypeCleanup(slave);
+	slaveGenitaliaDatatypeCleanup(slave);
+	slaveImplantsDatatypeCleanup(slave);
+	slavePiercingsDatatypeCleanup(slave);
+	slaveTattooDatatypeCleanup(slave);
+	slaveCosmeticsDatatypeCleanup(slave);
+	slaveDietDatatypeCleanup(slave);
+	slavePornDatatypeCleanup(slave);
+	slaveRelationDatatypeCleanup(slave);
+	slaveSkillsDatatypeCleanup(slave);
+	slaveStatCountDatatypeCleanup(slave);
+	slavePreferencesDatatypeCleanup(slave);
+	slaveRulesDatatypeCleanup(slave);
+	slaveCustomStatsDatatypeCleanup(slave);
+	slaveMiscellaneousDatatypeCleanup(slave);
+	generatePronouns(slave);
+};
+
+window.slaveAgeDatatypeCleanup = function slaveAgeDatatypeCleanup(slave) {
 	const V = State.variables;
 	
-	slave.weekAcquired = Math.max(+slave.weekAcquired, 1) || 1;
-	slave.prestige = Math.clamp(+slave.prestige, 0, 3) || 0;
-	slave.pornFeed = Math.clamp(+slave.pornFeed, 0, 1) || 0;
-	slave.pornFame = Math.max(+slave.pornFame, 0) || 0;
-	slave.pornFameSpending = Math.max(+slave.pornFameSpending, 0) || 0;
-	slave.pornPrestige = Math.clamp(+slave.pornPrestige, 0, 3) || 0;
-	if (typeof slave.pornPrestigeDesc !== "string") {
-		slave.pornPrestigeDesc = 0;
-	}
-	if (typeof slave.pornFameType !== "string") {
-		slave.pornFameType = "none";
-	}
-	if (typeof slave.pornFocus !== "string") {
-		slave.pornFocus = "none";
-	}
-	slave.pornTypeGeneral = Math.max(+slave.pornTypeGeneral, 0) || 0;
-	slave.pornTypeFuckdoll = Math.max(+slave.pornTypeFuckdoll, 0) || 0;
-	slave.pornTypeRape = Math.max(+slave.pornTypeRape, 0) || 0;
-	slave.pornTypePreggo = Math.max(+slave.pornTypePreggo, 0) || 0;
-	slave.pornTypeBBW = Math.max(+slave.pornTypeBBW, 0) || 0;
-	slave.pornTypeGainer = Math.max(+slave.pornTypeGainer, 0) || 0;
-	slave.pornTypeStud = Math.max(+slave.pornTypeStud, 0) || 0;
-	slave.pornTypeLoli = Math.max(+slave.pornTypeLoli, 0) || 0;
-	slave.pornTypeDeepThroat = Math.max(+slave.pornTypeDeepThroat, 0) || 0;
-	slave.pornTypeStruggleFuck = Math.max(+slave.pornTypeStruggleFuck, 0) || 0;
-	slave.pornTypePainal = Math.max(+slave.pornTypePainal, 0) || 0;
-	slave.pornTypeTease = Math.max(+slave.pornTypeTease, 0) || 0;
-	slave.pornTypeRomantic = Math.max(+slave.pornTypeRomantic, 0) || 0;
-	slave.pornTypePervert = Math.max(+slave.pornTypePervert, 0) || 0;
-	slave.pornTypeCaring = Math.max(+slave.pornTypeCaring, 0) || 0;
-	slave.pornTypeUnflinching = Math.max(+slave.pornTypeUnflinching, 0) || 0;
-	slave.pornTypeSizeQueen = Math.max(+slave.pornTypeSizeQueen, 0) || 0;
-	slave.pornTypeNeglectful = Math.max(+slave.pornTypeNeglectful, 0) || 0;
-	slave.pornTypeCumAddict = Math.max(+slave.pornTypeCumAddict, 0) || 0;
-	slave.pornTypeAnalAddict = Math.max(+slave.pornTypeAnalAddict, 0) || 0;
-	slave.pornTypeAttentionWhore = Math.max(+slave.pornTypeAttentionWhore, 0) || 0;
-	slave.pornTypeBreastGrowth = Math.max(+slave.pornTypeBreastGrowth, 0) || 0;
-	slave.pornTypeAbusive = Math.max(+slave.pornTypeAbusive, 0) || 0;
-	slave.pornTypeMalicious = Math.max(+slave.pornTypeMalicious, 0) || 0;
-	slave.pornTypeSelfHating = Math.max(+slave.pornTypeSelfHating, 0) || 0;
-	slave.pornTypeBreeder = Math.max(+slave.pornTypeBreeder, 0) || 0;
-	slave.pornTypeSub = Math.max(+slave.pornTypeSub, 0) || 0;
-	slave.pornTypeCumSlut = Math.max(+slave.pornTypeCumSlut, 0) || 0;
-	slave.pornTypeAnal = Math.max(+slave.pornTypeAnal, 0) || 0;
-	slave.pornTypeHumiliation = Math.max(+slave.pornTypeHumiliation, 0) || 0;
-	slave.pornTypeBoobs = Math.max(+slave.pornTypeBoobs, 0) || 0;
-	slave.pornTypeDom = Math.max(+slave.pornTypeDom, 0) || 0;
-	slave.pornTypeSadist = Math.max(+slave.pornTypeSadist, 0) || 0;
-	slave.pornTypeMasochist = Math.max(+slave.pornTypeMasochist, 0) || 0;
-	slave.pornTypePregnancy = Math.max(+slave.pornTypePregnancy, 0) || 0;
-	slave.mother = +slave.mother || 0;
-	slave.father = +slave.father || 0;
-	if (V.familyTesting == 0) {
-		slave.relationTarget = Math.max(+slave.relationTarget, 0) || 0;
-	}
-	slave.relationship = Math.clamp(+slave.relationship, -3, 5) || 0;
-	slave.relationshipTarget = Math.max(+slave.relationshipTarget, 0) || 0;
-	slave.rivalryTarget = Math.max(+slave.rivalryTarget, 0) || 0;
-	slave.rivalry = Math.clamp(+slave.rivalry, 0, 3) || 0;
-	slave.subTarget = Math.max(+slave.subTarget, 0) || 0;
-	slave.canRecruit = Math.clamp(+slave.canRecruit, 0, 1) || 0;
-	slave.choosesOwnAssignment = Math.clamp(+slave.choosesOwnAssignment, 0) || 0;
-	slave.sentence = Math.max(+slave.sentence, 0) || 0;
-	slave.training = Math.clamp(+slave.training, 0, 150) || 0;
-	if (slave.indenture !== 0) {
-		slave.indenture = Math.max(+slave.indenture, -1) || -1;
-	}
-	slave.indentureRestrictions = Math.clamp(+slave.indentureRestriction, 0, 2) || 0;
 	slave.birthWeek = Math.clamp(+slave.birthWeek, 0, 51) || 0;
 	if (slave.age > 0) {
-		slave.actualAge = Math.max(+slave.actualAge, 0) || slave.age; /* if negative or undefined, this sets to slave.age */
+		slave.actualAge = Math.clamp(+slave.actualAge, V.minimumSlaveAge, Infinity) || slave.age; /* if undefined, this sets to slave.age */
 	} else {
-		slave.actualAge = Math.max(+slave.actualAge, 0) || 18;
+		slave.actualAge = Math.clamp(+slave.actualAge, V.minimumSlaveAge, Infinity) || 18;
 		slave.age = slave.actualAge;
 	}
 	slave.visualAge = Math.max(+slave.visualAge, 0) || slave.actualAge;
 	slave.physicalAge = Math.max(+slave.physicalAge, 0) || slave.actualAge;
-	slave.ovaryAge = Math.max(+slave.ovaryAge, 0) || slave.actualAge;
-	slave.ageImplant = Math.clamp(+slave.ageImplant, 0, 1) || 0;
-	slave.health = Math.clamp(+slave.health, -100, 100) || 0;
-	if (typeof slave.minorInjury !== "string") {
-		slave.minorInjury = 0;
-	}
-	slave.devotion = Math.clamp(+slave.devotion, -100, 100) || 0;
-	slave.oldDevotion = Math.clamp(+slave.oldDevotion, -100, 100) || 0;
-	slave.trust = Math.clamp(+slave.trust, -100, 100) || 0;
-	slave.oldTrust = Math.clamp(+slave.oldTrust, -100, 100) || 0;
-	slave.muscles = Math.clamp(+slave.muscles, -100, 100) || 0;
-	slave.weight = Math.clamp(+slave.weight, -100, 200) || 0;
-	slave.waist = Math.clamp(+slave.waist, -100, 100) || 0;
+	slave.ovaryAge = Math.max(+slave.ovaryAge, 0) || slave.physicalAge;
+	slave.pubertyAgeXX = Math.max(+slave.pubertyAgeXX, 0) || V.fertilityAge;
+	slave.pubertyAgeXY = Math.max(+slave.pubertyAgeXY, 0) || V.potencyAge;
+	slave.ageAdjust = Math.clamp(+slave.ageAdjust, -40, 40) || 0;
+	slave.NCSyouthening = Math.max(+slave.NCSyouthening, 0) || 0;
+};
+
+window.slavePhysicalDatatypeCleanup = function slavePhysicalDatatypeCleanup(slave) {
 	if (typeof slave.nationality !== "string") {
 		slave.nationality = "slave";
 	}
@@ -129,10 +82,28 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) {
 	if (typeof slave.origRace !== "string") {
 		slave.origRace = slave.race;
 	}
+	if (typeof slave.skin !== "string") {
+		slave.skin = "light";
+	}
+	if (typeof slave.origSkin !== "string") {
+		slave.origSkin = slave.skin;
+	}
+	if (typeof slave.minorInjury !== "string") {
+		slave.minorInjury = 0;
+	}
+	slave.health = Math.clamp(+slave.health, -100, 100) || 0;
+	slave.muscles = Math.clamp(+slave.muscles, -100, 100) || 0;
+	slave.weight = Math.clamp(+slave.weight, -100, 200) || 0;
+	slave.waist = Math.clamp(+slave.waist, -100, 100) || 0;
 	slave.height = Math.round(Math.max(+slave.height, 0)) || Math.round(Height.mean(slave));
-	slave.heightImplant = Math.clamp(+slave.heightImplant, -1, 1) || 0;
-	if (typeof slave.markings !== "string") {
-		slave.markings = "none";
+	slave.shoulders = Math.clamp(+slave.shoulders, -2, 2) || 0;
+	slave.hips = Math.clamp(+slave.hips, -2, 3) || 0;
+};
+
+window.slaveFaceDatatypeCleanup = function slaveFaceDatatypeCleanup(slave) {
+	slave.face = Math.clamp(+slave.face, -100, 100) || 0;
+	if (typeof slave.faceShape !== "string") {
+		slave.faceShape = "normal";
 	}
 	slave.eyes = Math.clamp(+slave.eyes, -3, 1) || 1; /* if 0 or undefined, this sets to 1 */
 	if (typeof slave.eyeColor !== "string") {
@@ -147,120 +118,86 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) {
 	if (typeof slave.sclerae !== "string") {
 		slave.sclerae = "white";
 	}
-	if (typeof slave.eyewear !== "string") {
-		slave.eyewear = "none";
-	}
-	slave.hears = Math.clamp(+slave.hears, -2, 0) || 0;
-	if (typeof slave.earwear !== "string") {
-		slave.earwear = "none";
+	if (slave.lips !== 0) {
+		slave.lips = Math.clamp(+slave.lips, 0, 100) || 15;
 	}
-	slave.earImplant = Math.clamp(+slave.earImplant, 0, 1) || 0;	
+};
+
+window.slaveHairDatatypeCleanup = function slaveHairDatatypeCleanup(slave) {
 	if (typeof slave.hColor !== "string") {
 		slave.hColor = "brown";
 	}
 	if (typeof slave.origHColor !== "string") {
 		slave.origHColor = slave.hColor;
 	}
-	if (typeof slave.pubicHColor !== "string") {
-		slave.pubicHColor = slave.hColor;
-	}
-	if (typeof slave.underArmHColor !== "string") {
-		slave.underArmHColor = "slave.hColor";
-	}
-	if (typeof slave.eyebrowHColor !== "string") {
-		slave.eyebrowHColor = "slave.hColor";
-	}
-	if (typeof slave.skin !== "string") {
-		slave.skin = "light";
-	}
-	if (typeof slave.origSkin !== "string") {
-		slave.origSkin = slave.skin;
-	}
 	if (slave.hLength !== 0) {
 		slave.hLength = Math.clamp(+slave.hLength, 0, 300) || 60;
 	}
 	if (typeof slave.hStyle !== "string") {
 		slave.hStyle = "long";
 	}
+	slave.haircuts = Math.clamp(+slave.haircuts, 0, 1) || 0;
+	slave.bald = Math.clamp(+slave.bald, 0, 1) || 0;
+	if (typeof slave.pubicHColor !== "string") {
+		slave.pubicHColor = slave.hColor;
+	}
 	if (typeof slave.pubicHStyle !== "string") {
 		slave.pubicHStyle = "neat";
 	}
+	if (typeof slave.underArmHColor !== "string") {
+		slave.underArmHColor = "slave.hColor";
+	}
 	if (typeof slave.underArmHStyle !== "string") {
 		slave.underArmHStyle = "waxed";
 	}
+	if (typeof slave.eyebrowHColor !== "string") {
+		slave.eyebrowHColor = "slave.hColor";
+	}
 	if (typeof slave.eyebrowHStyle !== "string") {
 		slave.eyebrowHStyle = "natural";
 	}
 	if (typeof slave.eyebrowFullness !== "string") {
 		slave.eyebrowFullness = "natural";
 	}
-	slave.corsetPiercing = Math.clamp(+slave.corsetPiercing, 0, 1) || 0;
-	slave.amp = Math.clamp(+slave.amp, -5, 1) || 0;
-	slave.PLimb = Math.clamp(+slave.PLimb, 0, 1) || 0;
-	slave.heels = Math.clamp(+slave.heels, 0, 1) || 0;
-	slave.voiceImplant = Math.clamp(+slave.voiceImplant, -1, 1) || 0;
-	if (slave.voice !== 0) {
-		slave.voice = Math.clamp(+slave.voice, 0, 3) || 1;
-	}
-	slave.electrolarynx = Math.clamp(+slave.electrolarynx, 0, 1) || 0;
-	slave.accent = Math.clamp(+slave.accent, 0, 3) || 0;
-	slave.shoulders = Math.clamp(+slave.shoulders, -2, 2) || 0;
-	slave.shouldersImplant = Math.clamp(+slave.shouldersImplant, -1, 1) || 0;
+};
+
+window.slaveBoobsDatatypeCleanup = function slaveBoobsDatatypeCleanup(slave) {
 	slave.boobs = Math.max(+slave.boobs, 100) || 200;
-	slave.boobsImplant = Math.max(+slave.boobsImplant, 0) || 0;
-	slave.boobsImplantType = Math.clamp(+slave.boobsImplantType, 0, 1) || 0;
 	if (typeof slave.boobShape !== "string") {
 		slave.boobShape = "normal";
 	}
 	if (typeof slave.nipples !== "string") {
 		slave.nipples = "cute";
 	}
-	slave.nipplesPiercing = Math.clamp(+slave.nipplesPiercing, 0, 2) || 0;
 	if (typeof slave.nipplesAccessory !== "string") {
 		slave.nipplesAccessory = "none";
 	}
 	slave.areolae = Math.clamp(+slave.areolae, 0, 3) || 0;
-	slave.areolaePiercing = Math.clamp(+slave.areolaePiercing, 0, 2) || 0;
 	if (typeof slave.areolaeShape !== "string") {
 		slave.areolaeShape = "circle";
 	}
-	if (typeof slave.boobsTat !== "string") {
-		slave.boobsTat = 0;
-	}
 	slave.lactation = Math.clamp(+slave.lactation, 0, 2) || 0;
 	slave.lactationAdaptation = Math.clamp(+slave.lactationAdaptation, 0, 100) || 0;
-	slave.milk = Math.max(+slave.milk, 0) || 0;
-	slave.cum = Math.max(+slave.cum, 0) || 0;
-	slave.hips = Math.clamp(+slave.hips, -2, 3) || 0;
-	slave.hipsImplant = Math.clamp(+slave.hipsImplant, -1, 1) || 0;
+};
+
+window.slaveButtDatatypeCleanup = function slaveButtDatatypeCleanup(slave) {
 	if (slave.butt !== 0) {
 		slave.butt = Math.clamp(+slave.butt, 0, 20) || 1;
-	}
-	slave.buttImplant = Math.clamp(+slave.buttImplant, 0, 3) || 0;
-	slave.buttImplantType = Math.clamp(+slave.buttImplantType, 0, 1) || 0;
-	if (typeof slave.buttTat !== "string") {
-		slave.buttTat = 0;
-	}
-	slave.face = Math.clamp(+slave.face, -100, 100) || 0;
-	slave.faceImplant = Math.clamp(+slave.faceImplant, 0, 100) || 0;
-	if (typeof slave.faceShape !== "string") {
-		slave.faceShape = "normal";
-	}
-	if (slave.lips !== 0) {
-		slave.lips = Math.clamp(+slave.lips, 0, 100) || 15;
-	}
-	slave.lipsImplant = Math.clamp(+slave.lipsImplant, 0, 100) || 0;
-	slave.lipsPiercing = Math.clamp(+slave.lipsPiercing, 0, 2) || 0;
-	if (typeof slave.lipsTat !== "string") {
-		slave.lipsTat = 0;
-	}
-	slave.tonguePiercing = Math.clamp(+slave.tonguePiercing, 0, 2) || 0;
-	slave.vagina = Math.clamp(+slave.vagina, -1, 10) || 0;
-	slave.vaginaLube = Math.clamp(+slave.vaginaLube, 0, 2) || 0;
-	slave.vaginaPiercing = Math.clamp(+slave.vaginaPiercing, 0, 2) || 0;
-	if (typeof slave.vaginaTat !== "string") {
-		slave.vaginaTat = 0;
-	}
+	}	
+	slave.anus = Math.clamp(+slave.anus, 0, 4) || 0;
+	slave.analArea = Math.max(+slave.analArea, 0) || 0;
+};
+
+window.slavePregnancyDatatypeCleanup = function slavePregnancyDatatypeCleanup(slave) {
+	slave.induce = Math.clamp(+slave.induce, 0, 1) || 0;
+	slave.labor = Math.clamp(+slave.labor, 0, 1) || 0;
+	slave.cSec = Math.clamp(+slave.cSec, 0, 1) || 0;
+	slave.prematureBirth = Math.clamp(+slave.prematureBirth, 0, 1) || 0;
+	slave.ovaries = Math.clamp(+slave.ovaries, 0, 1) || 0;		
+	slave.vasectomy = Math.clamp(+slave.vasectomy, 0, 1) || 0;
+	slave.mpreg = Math.clamp(+slave.mpreg, 0, 1) || 0;
+	slave.reservedChildren = Math.max(+slave.reservedChildren, 0) || 0;
+	slave.reservedChildrenNursery = Math.max(+slave.reservedChildrenNursery, 0) || 0;
 	if (slave.pregAdaptation !== 0) {
 		slave.pregAdaptation = Math.max(+slave.pregAdaptation, 0) || 50;
 	}
@@ -270,19 +207,37 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) {
 	slave.broodmotherFetuses = Math.max(+slave.broodmotherFetuses, 0) || 0;
 	slave.broodmotherOnHold = Math.clamp(+slave.broodmotherOnHold, 0, 1) || 0;
 	slave.pregSource = +slave.pregSource || 0;
-	slave.labor = Math.clamp(+slave.labor, 0, 1) || 0;
-	slave.births = Math.max(+slave.births, 0) || 0;
-	slave.birthsTotal = Math.max(+slave.birthsTotal, 0) || slave.births;
-	slave.laborCount = Math.max(+slave.laborCount, 0) || slave.birthsTotal;
-	slave.cSec = Math.clamp(+slave.cSec, 0, 1) || 0;
-	if (typeof slave.bellyAccessory !== "string") {
-		slave.bellyAccessory = "none";
+	if (typeof slave.pregControl !== "string") {
+		slave.pregControl = "none";
+	}
+	WombNormalizePreg(slave); 
+};
+
+window.slaveBellyDatatypeCleanup = function slaveBellyDatatypeCleanup(slave) {
+	slave.inflation = Math.clamp(+slave.inflation, 0, 3) || 0;
+	if (typeof slave.inflationType !== "string") {
+		slave.inflationType = "none";
+	}
+	slave.inflationMethod = Math.clamp(+slave.inflationMethod, 0, 3) || 0;
+	slave.milkSource = Math.max(+slave.milkSource, 0) || 0;
+	slave.cumSource = Math.max(+slave.cumSource, 0) || 0;
+	slave.burst = Math.clamp(+slave.burst, 0, 1) || 0;
+	if (slave.bellyImplant !== 0) {
+		slave.bellyImplant = Math.max(+slave.bellyImplant, -1) || -1;
 	}
+	slave.cervixImplant = Math.clamp(+slave.cervixImplant, 0, 1) || 0;
+	slave.bellySag = Math.max(+slave.bellySag, 0) || 0;
+	slave.bellySagPreg = Math.max(+slave.bellySagPreg, 0) || slave.bellySag;
+	slave.bellyPain = Math.clamp(+slave.bellyPain, 0, 2) || 0;
+	SetBellySize(slave);
+};
+
+window.slaveGenitaliaDatatypeCleanup = function slaveGenitaliaDatatypeCleanup(slave) {
+	slave.vagina = Math.clamp(+slave.vagina, -1, 10) || 0;
+	slave.vaginaLube = Math.clamp(+slave.vaginaLube, 0, 2) || 0;
 	slave.labia = Math.clamp(+slave.labia, 0, 3) || 0;
 	slave.clit = Math.clamp(+slave.clit, 0, 5) || 0;
-	slave.clitPiercing = Math.clamp(+slave.clitPiercing, 0, 3) || 0;
 	slave.foreskin = Math.max(+slave.foreskin, 0) || 0;
-	slave.anus = Math.clamp(+slave.anus, 0, 4) || 0;
 	slave.dick = Math.max(+slave.dick, 0) || 0;
 	if (slave.dick && slave.prostate !== 0) {
 		slave.prostate = Math.clamp(+slave.prostate, 0, 3) || 1;
@@ -291,71 +246,86 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) {
 	}
 	slave.balls = Math.max(+slave.balls, 0) || 0;
 	slave.scrotum = Math.max(+slave.scrotum, 0) || slave.balls;
-	slave.ovaries = Math.clamp(+slave.ovaries, 0, 1) || 0;		
-	slave.analArea = Math.max(+slave.analArea, 0) || 0;
-	slave.dickPiercing = Math.clamp(+slave.dickPiercing, 0, 2) || 0;
-	if (typeof slave.dickTat !== "string") {
-		slave.dickTat = 0;
-	}
-	slave.anusPiercing = Math.clamp(+slave.anusPiercing, 0, 2) || 0;
-	if (typeof slave.anusTat !== "string") {
-		slave.anusTat = 0;
-	}
-	slave.makeup = Math.clamp(+slave.makeup, 0, 8) || 0;
-	slave.nails = Math.clamp(+slave.nails, 0, 9) || 0;
-	slave.brand = Math.clamp(+slave.brand, 0, 1) || 0;
-	if (typeof slave.brandLocation !== "string") {
-		slave.brandLocation = 0;
-	}
+};
+
+window.slaveImplantsDatatypeCleanup = function slaveImplantsDatatypeCleanup(slave) {
+	slave.ageImplant = Math.clamp(+slave.ageImplant, 0, 1) || 0;
+	slave.faceImplant = Math.clamp(+slave.faceImplant, 0, 100) || 0;
+	slave.lipsImplant = Math.clamp(+slave.lipsImplant, 0, 100) || 0;
+	slave.voiceImplant = Math.clamp(+slave.voiceImplant, -1, 1) || 0;
+	slave.boobsImplant = Math.max(+slave.boobsImplant, 0) || 0;
+	slave.boobsImplantType = Math.clamp(+slave.boobsImplantType, 0, 1) || 0;
+	slave.breastMesh = Math.clamp(+slave.breastMesh, 0, 1) || 0;
+	slave.buttImplant = Math.clamp(+slave.buttImplant, 0, 3) || 0;
+	slave.buttImplantType = Math.clamp(+slave.buttImplantType, 0, 1) || 0;
+	slave.heightImplant = Math.clamp(+slave.heightImplant, -1, 1) || 0;
+	slave.earImplant = Math.clamp(+slave.earImplant, 0, 1) || 0;	
+	slave.shouldersImplant = Math.clamp(+slave.shouldersImplant, -1, 1) || 0;
+	slave.hipsImplant = Math.clamp(+slave.hipsImplant, -1, 1) || 0;
+};
+
+window.slavePiercingsDatatypeCleanup = function slavePiercingsDatatypeCleanup(slave) {
 	slave.earPiercing = Math.clamp(+slave.earPiercing, 0, 2) || 0;
 	slave.nosePiercing = Math.clamp(+slave.nosePiercing, 0, 2) || 0;
 	slave.eyebrowPiercing = Math.clamp(+slave.eyebrowPiercing, 0, 2) || 0;
+	slave.lipsPiercing = Math.clamp(+slave.lipsPiercing, 0, 2) || 0;
+	slave.tonguePiercing = Math.clamp(+slave.tonguePiercing, 0, 2) || 0;
+	slave.nipplesPiercing = Math.clamp(+slave.nipplesPiercing, 0, 2) || 0;
+	slave.areolaePiercing = Math.clamp(+slave.areolaePiercing, 0, 2) || 0;
+	slave.corsetPiercing = Math.clamp(+slave.corsetPiercing, 0, 1) || 0;
 	slave.navelPiercing = Math.clamp(+slave.navelPiercing, 0, 2) || 0;
+	slave.clitPiercing = Math.clamp(+slave.clitPiercing, 0, 3) || 0;
+	slave.vaginaPiercing = Math.clamp(+slave.vaginaPiercing, 0, 2) || 0;
+	slave.dickPiercing = Math.clamp(+slave.dickPiercing, 0, 2) || 0;
+	slave.anusPiercing = Math.clamp(+slave.anusPiercing, 0, 2) || 0;
+};
+
+window.slaveTattooDatatypeCleanup = function slaveTattooDatatypeCleanup(slave) {
 	if (typeof slave.shouldersTat !== "string") {
 		slave.shouldersTat = 0;
 	}
+	if (typeof slave.lipsTat !== "string") {
+		slave.lipsTat = 0;
+	}
+	if (typeof slave.boobsTat !== "string") {
+		slave.boobsTat = 0;
+	}
 	if (typeof slave.armsTat !== "string") {
 		slave.armsTat = 0;
 	}
-	if (typeof slave.legsTat !== "string") {
-		slave.legsTat = 0;
-	}
 	if (typeof slave.backTat !== "string") {
 		slave.backTat = 0;
 	}
 	if (typeof slave.stampTat !== "string") {
 		slave.stampTat = 0;
 	}
-	slave.oralSkill = Math.clamp(+slave.oralSkill, 0, 100) || 0;
-	slave.vaginalSkill = Math.clamp(+slave.vaginalSkill, 0, 100) || 0;
-	slave.analSkill = Math.clamp(+slave.analSkill, 0, 100) || 0;
-	slave.whoreSkill = Math.clamp(+slave.whoreSkill, 0, 100) || 0;
-	slave.entertainSkill = Math.clamp(+slave.entertainSkill, 0, 100) || 0;
-	slave.combatSkill = Math.clamp(+slave.combatSkill, 0, 1) || 0;
-	if (typeof slave.standardPunishment !== "string") {
-		slave.standardPunishment = "situational";
+	if (typeof slave.buttTat !== "string") {
+		slave.buttTat = 0;
 	}
-	if (typeof slave.standardReward !== "string") {
-		slave.standardReward = "situational";
+	if (typeof slave.vaginaTat !== "string") {
+		slave.vaginaTat = 0;
 	}
-	if (slave.useRulesAssistant !== 0) {
-		slave.useRulesAssistant = 1;
+	if (typeof slave.dickTat !== "string") {
+		slave.dickTat = 0;
 	}
-	if (typeof slave.diet !== "string") {
-		slave.diet = "healthy";
+	if (typeof slave.anusTat !== "string") {
+		slave.anusTat = 0;
 	}
-	slave.dietCum = Math.clamp(+slave.dietCum, 0, 2) || 0;
-	slave.dietMilk = Math.clamp(+slave.dietMilk, 0, 2) || 0;
-	slave.tired = Math.clamp(+slave.tired, 0, 1) || 0;
-	slave.hormones = Math.clamp(+slave.hormones, -2, 2) || 0;
-	if (typeof slave.drugs !== "string") {
-		slave.drugs = "no drugs";
+	if (typeof slave.legsTat !== "string") {
+		slave.legsTat = 0;
 	}
-	slave.aphrodisiacs = Math.clamp(+slave.aphrodisiacs, 0, 2) || 0;
-	slave.curatives = Math.clamp(+slave.curatives, 0, 2) || 0;
-	slave.chem = Math.max(+slave.chem, 0) || 0;
-	slave.addict = Math.max(+slave.addict, 0) || 0;
-	slave.fuckdoll = Math.clamp(+slave.fuckdoll, 0, 100) || 0;
+	if (typeof slave.bellyTat !== "string") {
+		slave.bellyTat = 0;
+	}
+	if (typeof slave.customTat !== "string") {
+		slave.customTat = "";
+	}
+};
+
+window.slaveCosmeticsDatatypeCleanup = function slaveCosmeticsDatatypeCleanup(slave) {
+	slave.makeup = Math.clamp(+slave.makeup, 0, 8) || 0;
+	slave.nails = Math.clamp(+slave.nails, 0, 9) || 0;
+	slave.scars = Math.clamp(+slave.scars, 0, 6) || 0;
 	slave.choosesOwnClothes = Math.clamp(+slave.choosesOwnClothes, 0, 1) || 0;
 	if (typeof slave.clothes !== "string") {
 		slave.clothes = "no clothing";
@@ -366,6 +336,19 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) {
 	if (typeof slave.shoes !== "string") {
 		slave.shoes = "none";
 	}
+	if (typeof slave.eyewear !== "string") {
+		slave.eyewear = "none";
+	}
+	slave.brand = Math.clamp(+slave.brand, 0, 1) || 0;
+	if (typeof slave.brandLocation !== "string") {
+		slave.brandLocation = 0;
+	}
+	if (typeof slave.markings !== "string") {
+		slave.markings = "none";
+	}
+	if (typeof slave.bellyAccessory !== "string") {
+		slave.bellyAccessory = "none";
+	}
 	if (typeof slave.vaginalAccessory !== "string") {
 		slave.vaginalAccessory = "none";
 	}
@@ -381,22 +364,6 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) {
 	if (typeof slave.buttplugAttachment !== "string") {
 		slave.buttplugAttachment = "none";
 	}
-	slave.intelligence = Math.clamp(+slave.intelligence, -100, 100) || 0;
-	slave.intelligenceImplant = Math.clamp(+slave.intelligenceImplant, 0, 30) || 0;		
-	slave.energy = Math.clamp(+slave.energy, 0, 100) || 0;
-	slave.need = Math.max(+slave.need, 0) || 0;
-	slave.attrXY = Math.clamp(+slave.attrXY, 0, 100) || 0;
-	slave.attrXX = Math.clamp(+slave.attrXX, 0, 100) || 0;
-	slave.attrKnown = Math.clamp(+slave.attrKnown, 0, 1) || 0;
-	slave.fetishStrength = Math.clamp(+slave.fetishStrength, 0, 100) || 0;
-	slave.fetishKnown = Math.clamp(+slave.fetishKnown, 0, 1) || 0;
-	slave.oralCount = Math.max(+slave.oralCount, 0) || 0;
-	slave.vaginalCount = Math.max(+slave.vaginalCount, 0) || 0;
-	slave.analCount = Math.max(+slave.analCount, 0) || 0;
-	slave.publicCount = Math.max(+slave.publicCount, 0) || 0;
-	slave.mammaryCount = Math.max(+slave.mammaryCount, 0) || 0;
-	slave.penetrativeCount = Math.max(+slave.penetrativeCount, 0) || 0;
-	slave.pitKills = Math.max(+slave.pitKills, 0) || 0;
 	if (typeof slave.headAccessory !== "string") {
 		slave.headAccessory = "none";
 	}
@@ -406,9 +373,160 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) {
 	if (typeof slave.backAccessory !== "string") {
 		slave.backAccessory = "none";
 	}
-	if (typeof slave.customTat !== "string") {
-		slave.customTat = "";
+};
+
+window.slaveDietDatatypeCleanup = function slaveDietDatatypeCleanup(slave) {
+	if (typeof slave.diet !== "string") {
+		slave.diet = "healthy";
+	}
+	slave.dietCum = Math.clamp(+slave.dietCum, 0, 2) || 0;
+	slave.dietMilk = Math.clamp(+slave.dietMilk, 0, 2) || 0;
+	slave.onDiet = Math.clamp(+slave.onDiet, 0, 1) || 0;
+	slave.hormones = Math.clamp(+slave.hormones, -2, 2) || 0;
+	slave.hormoneBalance = Math.clamp(+slave.hormoneBalance, -400, 400) || 0;
+	if (typeof slave.drugs !== "string") {
+		slave.drugs = "no drugs";
+	}
+	slave.aphrodisiacs = Math.clamp(+slave.aphrodisiacs, 0, 2) || 0;
+	slave.curatives = Math.clamp(+slave.curatives, 0, 2) || 0;
+};
+
+window.slavePornDatatypeCleanup = function slavePornDatatypeCleanup(slave) {
+	slave.pornFeed = Math.clamp(+slave.pornFeed, 0, 1) || 0;
+	slave.pornFame = Math.max(+slave.pornFame, 0) || 0;
+	slave.pornFameSpending = Math.max(+slave.pornFameSpending, 0) || 0;
+	slave.pornPrestige = Math.clamp(+slave.pornPrestige, 0, 3) || 0;
+	if (typeof slave.pornPrestigeDesc !== "string") {
+		slave.pornPrestigeDesc = 0;
+	}
+	if (typeof slave.pornFameType !== "string") {
+		slave.pornFameType = "none";
+	}
+	if (typeof slave.pornFocus !== "string") {
+		slave.pornFocus = "none";
 	}
+	slave.pornTypeGeneral = Math.max(+slave.pornTypeGeneral, 0) || 0;
+	slave.pornTypeFuckdoll = Math.max(+slave.pornTypeFuckdoll, 0) || 0;
+	slave.pornTypeRape = Math.max(+slave.pornTypeRape, 0) || 0;
+	slave.pornTypePreggo = Math.max(+slave.pornTypePreggo, 0) || 0;
+	slave.pornTypeBBW = Math.max(+slave.pornTypeBBW, 0) || 0;
+	slave.pornTypeGainer = Math.max(+slave.pornTypeGainer, 0) || 0;
+	slave.pornTypeStud = Math.max(+slave.pornTypeStud, 0) || 0;
+	slave.pornTypeLoli = Math.max(+slave.pornTypeLoli, 0) || 0;
+	slave.pornTypeDeepThroat = Math.max(+slave.pornTypeDeepThroat, 0) || 0;
+	slave.pornTypeStruggleFuck = Math.max(+slave.pornTypeStruggleFuck, 0) || 0;
+	slave.pornTypePainal = Math.max(+slave.pornTypePainal, 0) || 0;
+	slave.pornTypeTease = Math.max(+slave.pornTypeTease, 0) || 0;
+	slave.pornTypeRomantic = Math.max(+slave.pornTypeRomantic, 0) || 0;
+	slave.pornTypePervert = Math.max(+slave.pornTypePervert, 0) || 0;
+	slave.pornTypeCaring = Math.max(+slave.pornTypeCaring, 0) || 0;
+	slave.pornTypeUnflinching = Math.max(+slave.pornTypeUnflinching, 0) || 0;
+	slave.pornTypeSizeQueen = Math.max(+slave.pornTypeSizeQueen, 0) || 0;
+	slave.pornTypeNeglectful = Math.max(+slave.pornTypeNeglectful, 0) || 0;
+	slave.pornTypeCumAddict = Math.max(+slave.pornTypeCumAddict, 0) || 0;
+	slave.pornTypeAnalAddict = Math.max(+slave.pornTypeAnalAddict, 0) || 0;
+	slave.pornTypeAttentionWhore = Math.max(+slave.pornTypeAttentionWhore, 0) || 0;
+	slave.pornTypeBreastGrowth = Math.max(+slave.pornTypeBreastGrowth, 0) || 0;
+	slave.pornTypeAbusive = Math.max(+slave.pornTypeAbusive, 0) || 0;
+	slave.pornTypeMalicious = Math.max(+slave.pornTypeMalicious, 0) || 0;
+	slave.pornTypeSelfHating = Math.max(+slave.pornTypeSelfHating, 0) || 0;
+	slave.pornTypeBreeder = Math.max(+slave.pornTypeBreeder, 0) || 0;
+	slave.pornTypeSub = Math.max(+slave.pornTypeSub, 0) || 0;
+	slave.pornTypeCumSlut = Math.max(+slave.pornTypeCumSlut, 0) || 0;
+	slave.pornTypeAnal = Math.max(+slave.pornTypeAnal, 0) || 0;
+	slave.pornTypeHumiliation = Math.max(+slave.pornTypeHumiliation, 0) || 0;
+	slave.pornTypeBoobs = Math.max(+slave.pornTypeBoobs, 0) || 0;
+	slave.pornTypeDom = Math.max(+slave.pornTypeDom, 0) || 0;
+	slave.pornTypeSadist = Math.max(+slave.pornTypeSadist, 0) || 0;
+	slave.pornTypeMasochist = Math.max(+slave.pornTypeMasochist, 0) || 0;
+	slave.pornTypePregnancy = Math.max(+slave.pornTypePregnancy, 0) || 0;
+};
+
+window.slaveRelationDatatypeCleanup = function slaveRelationDatatypeCleanup(slave) {
+	slave.mother = +slave.mother || 0;
+	slave.father = +slave.father || 0;
+	if (State.variables.familyTesting == 0) {
+		slave.relationTarget = Math.max(+slave.relationTarget, 0) || 0;
+	}
+	slave.canRecruit = Math.clamp(+slave.canRecruit, 0, 1) || 0;
+	slave.relationship = Math.clamp(+slave.relationship, -3, 5) || 0;
+	slave.relationshipTarget = Math.max(+slave.relationshipTarget, 0) || 0;
+	slave.rivalryTarget = Math.max(+slave.rivalryTarget, 0) || 0;
+	slave.rivalry = Math.clamp(+slave.rivalry, 0, 3) || 0;
+};
+
+window.slaveSkillsDatatypeCleanup = function slaveSkillsDatatypeCleanup(slave) {
+	slave.oralSkill = Math.clamp(+slave.oralSkill, 0, 100) || 0;
+	slave.vaginalSkill = Math.clamp(+slave.vaginalSkill, 0, 100) || 0;
+	slave.analSkill = Math.clamp(+slave.analSkill, 0, 100) || 0;
+	slave.whoreSkill = Math.clamp(+slave.whoreSkill, 0, 100) || 0;
+	slave.entertainSkill = Math.clamp(+slave.entertainSkill, 0, 100) || 0;
+	slave.combatSkill = Math.clamp(+slave.combatSkill, 0, 1) || 0;
+	slave.skillHG = Math.clamp(+slave.skillHG, 0, 200) || 0;
+	slave.skillRC = Math.clamp(+slave.skillRC, 0, 200) || 0;
+	slave.skillBG = Math.clamp(+slave.skillBG, 0, 200) || 0;
+	slave.skillMD = Math.clamp(+slave.skillMD, 0, 200) || 0;
+	slave.skillDJ = Math.clamp(+slave.skillDJ, 0, 200) || 0;
+	slave.skillNU = Math.clamp(+slave.skillNU, 0, 200) || 0;
+	slave.skillTE = Math.clamp(+slave.skillTE, 0, 200) || 0;
+	slave.skillAT = Math.clamp(+slave.skillAT, 0, 200) || 0;
+	slave.skillMT = Math.clamp(+slave.skillMT, 0, 200) || 0;
+	slave.skillST = Math.clamp(+slave.skillST, 0, 200) || 0;
+	slave.skillMM = Math.clamp(+slave.skillMM, 0, 200) || 0;
+	slave.skillWA = Math.clamp(+slave.skillWA, 0, 200) || 0;
+	slave.skillS = Math.clamp(+slave.skillS, 0, 200) || 0;
+	slave.skillE = Math.clamp(+slave.skillE, 0, 200) || 0;
+	slave.skillW = Math.clamp(+slave.skillW, 0, 200) || 0;
+};
+
+window.slaveStatCountDatatypeCleanup = function slaveStatCountDatatypeCleanup(slave) {
+	slave.oralCount = Math.max(+slave.oralCount, 0) || 0;
+	slave.vaginalCount = Math.max(+slave.vaginalCount, 0) || 0;
+	slave.analCount = Math.max(+slave.analCount, 0) || 0;
+	slave.publicCount = Math.max(+slave.publicCount, 0) || 0;
+	slave.mammaryCount = Math.max(+slave.mammaryCount, 0) || 0;
+	slave.penetrativeCount = Math.max(+slave.penetrativeCount, 0) || 0;
+	slave.pitKills = Math.max(+slave.pitKills, 0) || 0;
+	slave.milk = Math.max(+slave.milk, 0) || 0;
+	slave.cum = Math.max(+slave.cum, 0) || 0;
+	slave.births = Math.max(+slave.births, 0) || 0;
+	slave.birthsTotal = Math.max(+slave.birthsTotal, 0) || slave.births;
+	slave.laborCount = Math.max(+slave.laborCount, 0) || slave.birthsTotal;
+	slave.slavesFathered = Math.max(+slave.slavesFathered, 0) || 0;
+	slave.PCChildrenFathered = Math.max(+slave.PCChildrenFathered, 0) || 0;
+	slave.slavesKnockedUp = Math.max(+slave.slavesKnockedUp, 0) || 0;
+	slave.PCKnockedUp = Math.max(+slave.PCKnockedUp, 0) || 0;
+	slave.bodySwap = Math.max(+slave.bodySwap, 0) || 0;
+};
+
+window.slavePreferencesDatatypeCleanup = function slavePreferencesDatatypeCleanup(slave) {
+	slave.energy = Math.clamp(+slave.energy, 0, 100) || 0;
+	slave.need = Math.max(+slave.need, 0) || 0;
+	slave.attrXY = Math.clamp(+slave.attrXY, 0, 100) || 0;
+	slave.attrXX = Math.clamp(+slave.attrXX, 0, 100) || 0;
+	slave.attrKnown = Math.clamp(+slave.attrKnown, 0, 1) || 0;
+	slave.fetishStrength = Math.clamp(+slave.fetishStrength, 0, 100) || 0;
+	slave.fetishKnown = Math.clamp(+slave.fetishKnown, 0, 1) || 0;
+};
+
+window.slaveRulesDatatypeCleanup = function slaveRulesDatatypeCleanup(slave) {
+	if (typeof slave.standardPunishment !== "string") {
+		slave.standardPunishment = "situational";
+	}
+	if (typeof slave.standardReward !== "string") {
+		slave.standardReward = "situational";
+	}
+	if (slave.useRulesAssistant !== 0) {
+		slave.useRulesAssistant = 1;
+	}
+	slave.choosesOwnAssignment = Math.clamp(+slave.choosesOwnAssignment, 0) || 0;
+	slave.HGExclude = Math.clamp(+slave.HGExclude, 0, 1) || 0;
+	slave.choosesOwnChastity = Math.clamp(+slave.choosesOwnChastity, 0, 1) || 0;
+	slave.breedingMark = Math.clamp(+slave.breedingMark, 0, 1) || 0;
+	slave.rudeTitle = Math.clamp(+slave.rudeTitle, 0, 1) || 0;
+};
+
+window.slaveCustomStatsDatatypeCleanup = function slaveCustomStatsDatatypeCleanup(slave) {
 	if (typeof slave.customLabel !== "string") {
 		slave.customLabel = "";
 	}
@@ -421,51 +539,55 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) {
 	if (typeof slave.customTitleLisp !== "string") {
 		slave.customTitleLisp = "";
 	}
-	slave.rudeTitle = Math.clamp(+slave.rudeTitle, 0, 1) || 0;
 	if (typeof slave.customImage !== "string") {
 		slave.customImage = 0;
 	}
-	if (typeof slave.bellyTat !== "string") {
-		slave.bellyTat = 0;
+};
+
+window.slaveMiscellaneousDatatypeCleanup = function slaveMiscellaneousDatatypeCleanup(slave) {
+	slave.weekAcquired = Math.max(+slave.weekAcquired, 0) || 0;
+	slave.newGamePlus = Math.clamp(+slave.newGamePlus, 0, 1) || 0;
+	slave.prestige = Math.clamp(+slave.prestige, 0, 3) || 0;
+	slave.devotion = Math.clamp(+slave.devotion, -100, 100) || 0;
+	slave.oldDevotion = Math.clamp(+slave.oldDevotion, -100, 100) || 0;
+	slave.trust = Math.clamp(+slave.trust, -100, 100) || 0;
+	slave.oldTrust = Math.clamp(+slave.oldTrust, -100, 100) || 0;
+	slave.fuckdoll = Math.clamp(+slave.fuckdoll, 0, 100) || 0;
+	slave.chem = Math.max(+slave.chem, 0) || 0;
+	slave.addict = Math.max(+slave.addict, 0) || 0;
+	slave.intelligence = Math.clamp(+slave.intelligence, -100, 100) || 0;
+	slave.intelligenceImplant = Math.clamp(+slave.intelligenceImplant, 0, 30) || 0;
+	slave.premature = Math.clamp(+slave.premature, 0, 1) || 0;
+	slave.tankBaby = Math.clamp(+slave.tankBaby, 0, 2) || 0;
+	slave.subTarget = Math.max(+slave.subTarget, 0) || 0;
+	slave.sentence = Math.max(+slave.sentence, 0) || 0;
+	slave.training = Math.clamp(+slave.training, 0, 150) || 0;
+	if (slave.indenture !== 0) {
+		slave.indenture = Math.max(+slave.indenture, -1) || -1;
 	}
-	slave.induce = Math.clamp(+slave.induce, 0, 1) || 0;
-	slave.mpreg = Math.clamp(+slave.mpreg, 0, 1) || 0;
-	slave.inflation = Math.clamp(+slave.inflation, 0, 3) || 0;
-	if (typeof slave.inflationType !== "string") {
-		slave.inflationType = "none";
+	slave.indentureRestrictions = Math.clamp(+slave.indentureRestriction, 0, 2) || 0;
+	slave.tired = Math.clamp(+slave.tired, 0, 1) || 0;	
+	slave.hears = Math.clamp(+slave.hears, -2, 0) || 0;
+	if (typeof slave.earwear !== "string") {
+		slave.earwear = "none";
 	}
-	slave.inflationMethod = Math.clamp(+slave.inflationMethod, 0, 3) || 0;
-	slave.milkSource = Math.max(+slave.milkSource, 0) || 0;
-	slave.cumSource = Math.max(+slave.cumSource, 0) || 0;
-	slave.burst = Math.clamp(+slave.burst, 0, 1) || 0;
-	SetBellySize(slave);
-	if (slave.bellyImplant !== 0) {
-		slave.bellyImplant = Math.max(+slave.bellyImplant, -1) || -1;
+	slave.heels = Math.clamp(+slave.heels, 0, 1) || 0;
+	slave.amp = Math.clamp(+slave.amp, -5, 1) || 0;
+	slave.PLimb = Math.clamp(+slave.PLimb, 0, 1) || 0;	
+	if (slave.voice !== 0) {
+		slave.voice = Math.clamp(+slave.voice, 0, 3) || 1;
 	}
-	slave.bellySag = Math.max(+slave.bellySag, 0) || 0;
-	slave.bellySagPreg = Math.max(+slave.bellySagPreg, 0) || slave.bellySag;
-	slave.bellyPain = Math.clamp(+slave.bellyPain, 0, 2) || 0;
-	slave.cervixImplant = Math.clamp(+slave.cervixImplant, 0, 1) || 0;
-	slave.pubertyAgeXX = Math.max(+slave.pubertyAgeXX, 0) || V.fertilityAge;
-	slave.pubertyAgeXY = Math.max(+slave.pubertyAgeXY, 0) || V.potencyAge;
-	slave.scars = Math.clamp(+slave.scars, 0, 6) || 0;
-	slave.breedingMark = Math.clamp(+slave.breedingMark, 0, 1) || 0;
-	slave.bodySwap = Math.max(+slave.bodySwap, 0) || 0;
-	slave.HGExclude = Math.clamp(+slave.HGExclude, 0, 1) || 0;
+	slave.electrolarynx = Math.clamp(+slave.electrolarynx, 0, 1) || 0;
+	slave.accent = Math.clamp(+slave.accent, 0, 3) || 0;
+	slave.missingEyes = Math.clamp(+slave.missingEyes, 0, 3) || 0;
+	slave.missingArms = Math.clamp(+slave.missingArms, 0, 3) || 0;
+	slave.missingLegs = Math.clamp(+slave.missingLegs, 0, 3) || 0;
 	if (typeof slave.ballType !== "string") {
 		slave.ballType = "human";
 	}
 	if (typeof slave.eggType !== "string") {
 		slave.eggType = "human";
 	}
-	slave.reservedChildren = Math.max(+slave.reservedChildren, 0) || 0;
-	slave.reservedChildrenNursery = Math.max(+slave.reservedChildrenNursery, 0) || 0;
-	slave.choosesOwnChastity = Math.clamp(+slave.choosesOwnChastity, 0, 1) || 0;
-	if (typeof slave.pregControl !== "string") {
-		slave.pregControl = "none";
-	}
-	slave.ageAdjust = Math.clamp(+slave.ageAdjust, -40, 40) || 0;
-	slave.bald = Math.clamp(+slave.bald, 0, 1) || 0;
 	if (typeof slave.origBodyOwner !== "string") {
 		slave.origBodyOwner = "";
 	}
@@ -473,39 +595,6 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) {
 	if (typeof slave.death !== "string") {
 		slave.death = "";
 	}
-	slave.hormoneBalance = Math.clamp(+slave.hormoneBalance, -400, 400) || 0;
-	slave.onDiet = Math.clamp(+slave.onDiet, 0, 1) || 0;
-	slave.breastMesh = Math.clamp(+slave.breastMesh, 0, 1) || 0;
-	slave.slavesFathered = Math.max(+slave.slavesFathered, 0) || 0;
-	slave.PCChildrenFathered = Math.max(+slave.PCChildrenFathered, 0) || 0;
-	slave.slavesKnockedUp = Math.max(+slave.slavesKnockedUp, 0) || 0;
-	slave.PCKnockedUp = Math.max(+slave.PCKnockedUp, 0) || 0;
-	slave.prematureBirth = Math.clamp(+slave.prematureBirth, 0, 1) || 0;
-	slave.premature = Math.clamp(+slave.premature, 0, 1) || 0;
-	slave.vasectomy = Math.clamp(+slave.vasectomy, 0, 1) || 0;
-	slave.haircuts = Math.clamp(+slave.haircuts, 0, 1) || 0;
-	slave.newGamePlus = Math.clamp(+slave.newGamePlus, 0, 1) || 0;
-	slave.skillHG = Math.clamp(+slave.skillHG, 0, 200) || 0;
-	slave.skillRC = Math.clamp(+slave.skillRC, 0, 200) || 0;
-	slave.skillBG = Math.clamp(+slave.skillBG, 0, 200) || 0;
-	slave.skillMD = Math.clamp(+slave.skillMD, 0, 200) || 0;
-	slave.skillDJ = Math.clamp(+slave.skillDJ, 0, 200) || 0;
-	slave.skillNU = Math.clamp(+slave.skillNU, 0, 200) || 0;
-	slave.skillTE = Math.clamp(+slave.skillTE, 0, 200) || 0;
-	slave.skillAT = Math.clamp(+slave.skillAT, 0, 200) || 0;
-	slave.skillMT = Math.clamp(+slave.skillMT, 0, 200) || 0;
-	slave.skillST = Math.clamp(+slave.skillST, 0, 200) || 0;
-	slave.skillMM = Math.clamp(+slave.skillMM, 0, 200) || 0;
-	slave.skillWA = Math.clamp(+slave.skillWA, 0, 200) || 0;
-	slave.skillS = Math.clamp(+slave.skillS, 0, 200) || 0;
-	slave.skillE = Math.clamp(+slave.skillE, 0, 200) || 0;
-	slave.skillW = Math.clamp(+slave.skillW, 0, 200) || 0;
-	slave.tankBaby = Math.clamp(+slave.tankBaby, 0, 2) || 0;
-	slave.NCSyouthening = Math.max(+slave.NCSyouthening, 0) || 0;
-	slave.missingEyes = Math.clamp(+slave.missingEyes, 0, 3) || 0;
-	slave.missingArms = Math.clamp(+slave.missingArms, 0, 3) || 0;
-	slave.missingLegs = Math.clamp(+slave.missingLegs, 0, 3) || 0;
-	generatePronouns(slave);
 };
 
 window.ArcologyDatatypeCleanup = function ArcologyDatatypeCleanup () {