diff --git a/src/data/backwardsCompatibility/datatypeCleanup.js b/src/data/backwardsCompatibility/datatypeCleanup.js
index 094ce7eac6a11edee92146ba227f4091381b263f..4d11285b2197a294bc23cb473c472cf7670e950b 100644
--- a/src/data/backwardsCompatibility/datatypeCleanup.js
+++ b/src/data/backwardsCompatibility/datatypeCleanup.js
@@ -547,7 +547,7 @@ globalThis.SlaveDatatypeCleanup = (function SlaveDatatypeCleanup() {
 		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.height = Math.round(Math.max(+slave.height, 0)) || Height.mean(slave);
 		slave.shoulders = Math.clamp(+slave.shoulders, -2, 2) || 0;
 		slave.hips = Math.clamp(+slave.hips, -2, 3) || 0;
 	}
@@ -1324,7 +1324,7 @@ globalThis.PCDatatypeCleanup = (function PCDatatypeCleanup() {
 		PC.muscles = Math.clamp(+PC.muscles, -100, 100) || 0;
 		PC.weight = Math.clamp(+PC.weight, -100, 200) || 0;
 		PC.waist = Math.clamp(+PC.waist, -100, 100) || 0;
-		PC.height = Math.round(Math.max(+PC.height, 0)) || Math.round(Height.mean(PC));
+		PC.height = Math.round(Math.max(+PC.height, 0)) || Height.mean(PC);
 		PC.shoulders = Math.clamp(+PC.shoulders, -2, 2) || 0;
 		PC.hips = Math.clamp(+PC.hips, -2, 3) || 0;
 	}
diff --git a/src/endWeek/reports/incubatorReport.js b/src/endWeek/reports/incubatorReport.js
index 4ac1695f3e848326db79d4d08fefc3adf1618d34..821c8ab60bf5ea21dc5e8fd9a9692689d6ed1564 100644
--- a/src/endWeek/reports/incubatorReport.js
+++ b/src/endWeek/reports/incubatorReport.js
@@ -156,7 +156,7 @@ App.EndWeek.incubatorReport = function() {
 
 		r = [];
 		if (V.incubator.upgrade.growthStims === 1 && V.incubator.setting.growthStims !== 0) {
-			let heightLimit = Math.trunc(Math.clamp((Height.mean(tank) * 1.25), 0, 274));
+			let heightLimit = Math.clamp((Height.mean(tank) * 1.25), 0, 274);
 			let heightLimitAge = Height.forAge(tank.height, tank);
 			if (tank.geneticQuirks.dwarfism === 2 && tank.geneticQuirks.gigantism !== 2) {
 				heightLimit = Math.min(heightLimit, 160);
diff --git a/src/events/intro/acquisition.js b/src/events/intro/acquisition.js
index 9037013f3bf6f475b7945312ba70c4a71283d6d3..af1e490c7a94415d9a035b494a2e1c7c0dd13284 100644
--- a/src/events/intro/acquisition.js
+++ b/src/events/intro/acquisition.js
@@ -998,9 +998,9 @@ App.Intro.acquisition = function() {
 				setHealth(slave, jsRandom(25, 45), 0, 0, 0, 0);
 				slave.face = random(15, 100);
 				if (slave.height >= 150) {
-					slave.height = Math.trunc(Height.random(slave, {limitMult: [-3, -1]}));
+					slave.height = Height.random(slave, {limitMult: [-3, -1]});
 					if (slave.height >= 150) {
-						slave.height = Math.trunc(Height.random(slave, {limitMult: [-4, -2]}));
+						slave.height = Height.random(slave, {limitMult: [-4, -2]});
 						if (slave.height >= 150) {
 							slave.height = random(90, 130);
 							slave.geneticQuirks.dwarfism = 2;
@@ -1030,9 +1030,9 @@ App.Intro.acquisition = function() {
 				slave.weight = random(-5, 5);
 				slave.muscles = random(20, 40);
 				if (slave.height < 185) {
-					slave.height = Math.trunc(Height.random(slave, {limitMult: [1, 3]}));
+					slave.height = Height.random(slave, {limitMult: [1, 3]});
 					if (slave.height < 185) {
-						slave.height = Math.trunc(Height.random(slave, {limitMult: [2, 4]}));
+						slave.height = Height.random(slave, {limitMult: [2, 4]});
 						if (slave.height < 185) {
 							slave.height = random(200, 264);
 							slave.geneticQuirks.gigantism = 2;
diff --git a/src/events/intro/pcAppearance.js b/src/events/intro/pcAppearance.js
index 298d176be69526fd3cefee419d459916d87a2263..31c0744fecde6c75b173161b636c90b45404a06a 100644
--- a/src/events/intro/pcAppearance.js
+++ b/src/events/intro/pcAppearance.js
@@ -24,7 +24,7 @@ App.UI.Player.appearance = function(options, summary = false) {
 		.addRange(165, 170, "<", "Average")
 		.addRange(180, 185, "<", "Tall")
 		.addRange(190, 185, ">=", "Very tall")
-		.addComment(`Average height for a ${V.PC.actualAge} year old is ${heightToEitherUnit(Math.round(Height.mean(V.PC)))}`);
+		.addComment(`Average height for a ${V.PC.actualAge} year old is ${heightToEitherUnit(Height.mean(V.PC))}`);
 	option = options.addCustomOption()
 		.addButton(
 			"Make average",
@@ -277,7 +277,7 @@ App.UI.Player.syncAgeBasedParameters = function() {
 	V.PC.physicalAge = V.PC.actualAge;
 	V.PC.visualAge = V.PC.actualAge;
 	V.PC.ovaryAge = V.PC.actualAge;
-	V.PC.height = Math.round(Height.random(V.PC, {limitMult: [2, 4]}));
+	V.PC.height = Height.random(V.PC, {limitMult: [2, 4]});
 	if (V.PC.genes === "XY") {
 		if (V.PC.physicalAge <= 13) {
 			V.PC.hips = -2;
diff --git a/src/events/nonRandom/mercs/pSnatchAndGrabResult.tw b/src/events/nonRandom/mercs/pSnatchAndGrabResult.tw
index 39c3a082bff0c25e0501c1e6ff212b4d0e6cd0ab..62aa7e337844cc3c93b96081b8fbf66ddad4bcb9 100644
--- a/src/events/nonRandom/mercs/pSnatchAndGrabResult.tw
+++ b/src/events/nonRandom/mercs/pSnatchAndGrabResult.tw
@@ -18,7 +18,7 @@
 	<<if _snatched.lips < 10>>
 		<<set _snatched.lips += 5>>
 	<</if>>
-	<<set _snatched.height = Math.round(Height.random(_snatched, {skew: 1, limitMult: [0, 2]}))>>
+	<<set _snatched.height = Height.random(_snatched, {skew: 1, limitMult: [0, 2]})>>
 	<<set _snatched.weight = 0>>
 	<<set _snatched.muscles = 20>>
 	<<set _snatched.waist = -75>>
diff --git a/src/events/nonRandom/pAidResult.js b/src/events/nonRandom/pAidResult.js
index 99497ed42d8a9a9b6303b34bcadeaed6f6128583..54733f9cf20f9690a9115ec2d70ed30e3d06e37f 100644
--- a/src/events/nonRandom/pAidResult.js
+++ b/src/events/nonRandom/pAidResult.js
@@ -249,7 +249,7 @@ App.Events.pAidResult = class pAidResult extends App.Events.BaseEvent {
 				slave = GenerateNewSlave("XX", {
 					disableDisability: 1, ageOverridesPedoMode: 1, minAge: 18, maxAge: 18
 				});
-				slave.height = Math.round(Height.random(slave, {skew: 1, limitMult: [0, 2]}));
+				slave.height = Height.random(slave, {skew: 1, limitMult: [0, 2]});
 				slave.origin = "$He was a volleyball player you enslaved when you evacuated $him from a broken down bus.";
 				slave.career = "a student athlete";
 				generateSalonModifications(slave);
diff --git a/src/events/reRecruit/heldPOW.js b/src/events/reRecruit/heldPOW.js
index abb79b2fb4a51f98055537ba68e4da4ebf9d91a1..c551216c30416386009cf1db6363c2e68259cbb1 100644
--- a/src/events/reRecruit/heldPOW.js
+++ b/src/events/reRecruit/heldPOW.js
@@ -39,7 +39,7 @@ App.Events.recHeldPOW = class recHeldPOW extends App.Events.BaseEvent {
 			r.push(`the traces of ${his} wounds, that ${he} has been greatly modified for war, and that ${he} had been raped, repeatedly, despite ${his} powerful body.`);
 			slave.teeth = "pointy";
 			slave.muscles = random(30, 70);
-			slave.height = Math.round(Height.random(slave, {skew: 3, spread: .2, limitMult: [1, 4]}));
+			slave.height = Height.random(slave, {skew: 3, spread: .2, limitMult: [1, 4]});
 			slave.chem = 1000;
 			slave.attrXX = 0;
 			slave.attrXY = 0;
diff --git a/src/events/reRecruit/rogueCyborg.js b/src/events/reRecruit/rogueCyborg.js
index 386e0ff53794895a012e8f8e959fffbdb7efb115..5b911bf2a5336bc5c6e63dea8677d028fb2e5e62 100644
--- a/src/events/reRecruit/rogueCyborg.js
+++ b/src/events/reRecruit/rogueCyborg.js
@@ -72,7 +72,7 @@ App.Events.recRogueCyborg = class recRogueCyborg extends App.Events.BaseEvent {
 			configureLimbs(slave, "all", 6);
 			slave.teeth = "pointy";
 			slave.muscles = random(30, 70);
-			slave.height = Math.round(Height.random(slave, {skew: 3, spread: .2, limitMult: [1, 4]}));
+			slave.height = Height.random(slave, {skew: 3, spread: .2, limitMult: [1, 4]});
 			slave.face = 100;
 			slave.vagina = -1;
 			slave.ovaries = 0;
diff --git a/src/events/recFS/recfsPetiteAdmiration.js b/src/events/recFS/recfsPetiteAdmiration.js
index f2500fa89850c4035a0e0d1c598842870e608e39..162dd45c4865a453320ca34be84cb812541ec673 100644
--- a/src/events/recFS/recfsPetiteAdmiration.js
+++ b/src/events/recFS/recfsPetiteAdmiration.js
@@ -20,9 +20,9 @@ App.Events.recFSPetiteAdmiration = class recFSPetiteAdmiration extends App.Event
 		generateSalonModifications(slave);
 		slave.origin = "$He offered $himself for voluntary enslavement to avoid being singled out by ruthless slavers.";
 		if (slave.height >= 150) {
-			slave.height = Math.trunc(Height.random(slave, {limitMult: [-2, 0]}));
+			slave.height = Height.random(slave, {limitMult: [-2, 0]});
 			if (slave.height >= 150) {
-				slave.height = Math.trunc(Height.random(slave, {limitMult: [-3, -1]}));
+				slave.height = Height.random(slave, {limitMult: [-3, -1]});
 				if (slave.height >= 150) {
 					slave.height = random(90, 130);
 					slave.geneticQuirks.dwarfism = 2;
diff --git a/src/events/scheduled/seCustomSlaveDelivery.js b/src/events/scheduled/seCustomSlaveDelivery.js
index 9fbc7a1feca88390c69eeaa5c6b1f2a55a2d39e0..29df28766e3cd46582f52af215c9071ddec6a1b8 100644
--- a/src/events/scheduled/seCustomSlaveDelivery.js
+++ b/src/events/scheduled/seCustomSlaveDelivery.js
@@ -195,15 +195,15 @@ App.Events.SEcustomSlaveDelivery = class SEcustomSlaveDelivery extends App.Event
 
 			/* I have no clue what I'm doing here */
 			if (V.customSlave.heightMod === "greatly below average") {
-				delivery.height = Math.round(Height.random(delivery, {skew: -5, spread: 0.15, limitMult: [-5, -2]}));
+				delivery.height = Height.random(delivery, {skew: -5, spread: 0.15, limitMult: [-5, -2]});
 			} else if (V.customSlave.heightMod === "below average") {
-				delivery.height = Math.round(Height.random(delivery, {skew: -1, limitMult: [-2, 0]}));
+				delivery.height = Height.random(delivery, {skew: -1, limitMult: [-2, 0]});
 			} else if (V.customSlave.heightMod === "normal") {
-				delivery.height = Math.round(Height.random(delivery, {limitMult: [-1, 1]}));
+				delivery.height = Height.random(delivery, {limitMult: [-1, 1]});
 			} else if (V.customSlave.heightMod === "above average") {
-				delivery.height = Math.round(Height.random(delivery, {skew: 1, limitMult: [0, 2]}));
+				delivery.height = Height.random(delivery, {skew: 1, limitMult: [0, 2]});
 			} else {
-				delivery.height = Math.round(Height.random(delivery, {skew: 5, spread: 0.15, limitMult: [2, 5]}));
+				delivery.height = Height.random(delivery, {skew: 5, spread: 0.15, limitMult: [2, 5]});
 			}
 
 			if (V.customSlave.intelligence === 3) {
diff --git a/src/events/schools/resFailure.js b/src/events/schools/resFailure.js
index 00f986347c377eec47f67961bedea8b1c999613f..52b3cf606f5117a70ecc6998f9d770c4d7bf9c6c 100644
--- a/src/events/schools/resFailure.js
+++ b/src/events/schools/resFailure.js
@@ -436,7 +436,7 @@ App.Events.RESFailure = class RESFailure extends App.Events.BaseEvent {
 				setHealth(slave, jsRandom(60, 80), 0, 0, 0);
 				slave.muscles = random(40, 60);
 				const _minHeight = random(170, 180);
-				slave.height = Math.trunc(Math.clamp(Height.random(slave, {limitMult: [2, 15], spread: .1}), _minHeight, 274));
+				slave.height = Math.clamp(Height.random(slave, {limitMult: [2, 15], spread: .1}), _minHeight, 274);
 				slave.waist = -15;
 				slave.shoulders = 0;
 				slave.skill.vaginal = 10;
diff --git a/src/facilities/nursery/nurseryDatatypeCleanup.js b/src/facilities/nursery/nurseryDatatypeCleanup.js
index d78a9da7f2d0ec7f01dc1d2f7a786b8c1277b3ba..18fd5780e5c14cb4ba8eefad8e7f9bf41ca12ade 100644
--- a/src/facilities/nursery/nurseryDatatypeCleanup.js
+++ b/src/facilities/nursery/nurseryDatatypeCleanup.js
@@ -70,7 +70,7 @@ App.Facilities.Nursery.ChildDatatypeCleanup = function(child) {
 		child.muscles = Math.clamp(+child.muscles, -100, 100) || 0;
 		child.weight = Math.clamp(+child.weight, -100, 200) || 0;
 		child.waist = Math.clamp(+child.waist, -100, 100) || 0;
-		child.height = Math.round(Math.max(+child.height, 0)) || Math.round(Height.mean(child));
+		child.height = Math.round(Math.max(+child.height, 0)) || Height.mean(child);
 		child.shoulders = Math.clamp(+child.shoulders, -2, 2) || 0;
 		child.hips = Math.clamp(+child.hips, -2, 3) || 0;
 	}
diff --git a/src/js/utilsAssessSlave.js b/src/js/utilsAssessSlave.js
index 618275b5b9b6b695db080df3d6f94cb6a3518b9b..49d7452709fdd22f46950c2376c6630212beb241 100644
--- a/src/js/utilsAssessSlave.js
+++ b/src/js/utilsAssessSlave.js
@@ -115,7 +115,7 @@ globalThis.canImproveIntelligence = function(slave) {
  * @returns {number}
  */
 globalThis.maxHeight = function(slave) {
-	let max = Math.trunc(Math.clamp((Height.mean(slave) * 1.25), 0, 274)); /* max achievable height is expected height plus 25% */
+	let max = Math.clamp((Height.mean(slave) * 1.25), 0, 274); /* max achievable height is expected height plus 25% */
 
 	if (slave.geneticQuirks.dwarfism === 2 && slave.geneticQuirks.gigantism !== 2) {
 		max = Math.min(max, 160);
diff --git a/src/js/utilsSlave.js b/src/js/utilsSlave.js
index f7d3d1dfba00fbee2c6ab641c69562a3e1f85315..49a1f7d083fef25f12481164c33c1791f8a1cd6b 100644
--- a/src/js/utilsSlave.js
+++ b/src/js/utilsSlave.js
@@ -636,10 +636,10 @@ globalThis.Height = (function() {
 		}
 		if (age > midAge) {
 			// end of puberty to 20
-			return interpolate(midAge, midHeight, 20, height, age);
+			return Math.round(interpolate(midAge, midHeight, 20, height, age));
 		} else {
 			// 2 to end of puberty
-			return interpolate(2, minHeight, midAge, midHeight, age);
+			return Math.round(interpolate(2, minHeight, midAge, midHeight, age));
 		}
 	};
 
@@ -1541,7 +1541,7 @@ globalThis.randomCareer = function(slave) {
  * @param {App.Entity.SlaveState} slave
  */
 globalThis.resyncSlaveHight = function(slave) {
-	slave.height = Math.round(Height.random(slave));
+	slave.height = Height.random(slave);
 };
 
 /**
diff --git a/src/markets/specificMarkets/eliteSlave.js b/src/markets/specificMarkets/eliteSlave.js
index 32e3dc544c2104c4055417d9240928709d5645e7..e5fe966362e134650339da9b51efeda78ae49eb9 100644
--- a/src/markets/specificMarkets/eliteSlave.js
+++ b/src/markets/specificMarkets/eliteSlave.js
@@ -38,9 +38,9 @@ App.Markets["Elite Slave"] = function() {
 		slave.devotion = random(60, 100);
 		if (!heightPass(slave)) {
 			if (V.arcologies[0].FSPetiteAdmiration > 20) {
-				slave.height = Math.trunc(Height.random(slave, {limitMult: [-4, -2]}));
+				slave.height = Height.random(slave, {limitMult: [-4, -2]});
 			} else if (V.arcologies[0].FSStatuesqueGlorification > 20) {
-				slave.height = Math.trunc(Height.random(slave, {limitMult: [3, 5]}));
+				slave.height = Height.random(slave, {limitMult: [3, 5]});
 			}
 		}
 		if (V.arcologies[0].FSPaternalist > 20) {
diff --git a/src/npc/generate/generateLeadershipSlave.js b/src/npc/generate/generateLeadershipSlave.js
index 6158f184914af04d95c9724164be474f0dc6738a..8d580370ec71dbe18a56e2c747e272bd3e7ec758 100644
--- a/src/npc/generate/generateLeadershipSlave.js
+++ b/src/npc/generate/generateLeadershipSlave.js
@@ -65,7 +65,7 @@ globalThis.generateLeadershipSlave = function(input, location) {
 			slave.devotion = jsRandom(51, 85);
 			slave.trust = jsRandom(51, 85);
 			slave.muscles = jsRandom(30, 70);
-			slave.height = Math.round(Height.random(slave, {skew: 3, spread: .2, limitMult: [1, 4]}));
+			slave.height = Height.random(slave, {skew: 3, spread: .2, limitMult: [1, 4]});
 			slave.weight = jsRandom(-10, 10);
 			slave.teeth = either("normal", "pointy");
 			slave.skill.combat = 1;
@@ -163,7 +163,7 @@ globalThis.generateLeadershipSlave = function(input, location) {
 			slave.muscles = jsRandom(41, 70);
 			slave.sexualQuirk = "caring";
 			slave.weight = jsRandom(0, 30);
-			slave.height = Math.round(Height.random(slave, {skew: 3, spread: .2, limitMult: [1, 4]}));
+			slave.height = Height.random(slave, {skew: 3, spread: .2, limitMult: [1, 4]});
 			applyMaleGenitalia({dick: jsRandom(3, 5), balls: jsRandom(4, 9), prostate: either(1, 1, 1, 2)});
 			slave.career = either(App.Data.Careers.Leader.farmer);
 			break;
diff --git a/src/npc/generate/generateMarketSlave.js b/src/npc/generate/generateMarketSlave.js
index 0e5d7d268a162697a2a6f4bf1c3f7ff26f1ff052..efd6cc39486c33abe3592367e0e9d1231a0abdd2 100644
--- a/src/npc/generate/generateMarketSlave.js
+++ b/src/npc/generate/generateMarketSlave.js
@@ -98,7 +98,7 @@ globalThis.generateMarketSlave = function(market = "kidnappers", numArcology = 1
 				r += `The corporation applies standard slave breaking techniques. `;
 			}
 			if (V.corp.SpecHeight > 0) {
-				slave.height = Math.trunc(Height.random(slave, {limitMult: [V.corp.SpecHeight - 4, V.corp.SpecHeight - 2]}));
+				slave.height = Height.random(slave, {limitMult: [V.corp.SpecHeight - 4, V.corp.SpecHeight - 2]});
 				if (V.corp.SpecHeight === 1) {
 					r += `The corporation specifically targets very short slaves. `;
 				} else if (V.corp.SpecHeight === 2) {
@@ -846,9 +846,9 @@ globalThis.generateMarketSlave = function(market = "kidnappers", numArcology = 1
 			if (neighbor.FSPetiteAdmiration > 20) {
 				r += `They tend to be short, some far more than others. `;
 				if (slave.height >= 160) {
-					slave.height = Math.trunc(Height.random(slave, {limitMult: [-2, 0]}));
+					slave.height = Height.random(slave, {limitMult: [-2, 0]});
 					if (slave.height >= 160) {
-						slave.height = Math.trunc(Height.random(slave, {limitMult: [-3, -1]}));
+						slave.height = Height.random(slave, {limitMult: [-3, -1]});
 						if (slave.height >= 160) {
 							slave.height = jsRandom(90, 130);
 							slave.geneticQuirks.dwarfism = 2;
@@ -858,9 +858,9 @@ globalThis.generateMarketSlave = function(market = "kidnappers", numArcology = 1
 			} else if (neighbor.FSStatuesqueGlorification > 20) {
 				r += `They tend to be tall, if not unbelievably so. `;
 				if (slave.height < 170) {
-					slave.height = Math.trunc(Height.random(slave, {limitMult: [0, 2]}));
+					slave.height = Height.random(slave, {limitMult: [0, 2]});
 					if (slave.height < 170) {
-						slave.height = Math.trunc(Height.random(slave, {limitMult: [1, 3]}));
+						slave.height = Height.random(slave, {limitMult: [1, 3]});
 						if (slave.height < 170) {
 							slave.height = jsRandom(200, 264);
 							slave.geneticQuirks.gigantism = 2;
@@ -2227,13 +2227,13 @@ globalThis.generateMarketSlave = function(market = "kidnappers", numArcology = 1
 			setHealth(slave, jsRandom(60, 80), 0, Math.max(normalRandInt(0, 2), 0), 0, jsRandom(5, 20));
 			const minHeight = jsRandom(170, 180);
 			if (V.HA.schoolUpgrade === 2) {
-				slave.height = Math.trunc(Math.clamp(Height.random(slave, {
+				slave.height = Math.clamp(Height.random(slave, {
 					limitMult: [2, 15],
 					spread: 0.1
-				}), minHeight, 274));
+				}), minHeight, 274);
 				slave.muscles = jsRandom(40, 80);
 			} else {
-				slave.height = Math.trunc(Math.clamp(Height.random(slave, {limitMult: [1, 4]}), minHeight, 274));
+				slave.height = Math.clamp(Height.random(slave, {limitMult: [1, 4]}), minHeight, 274);
 				slave.muscles = jsRandom(20, 40);
 			}
 			if (V.HA.schoolUpgrade === 3) {
diff --git a/src/npc/generate/generateNewSlaveJS.js b/src/npc/generate/generateNewSlaveJS.js
index f00bf0bb4b5fbcc45d93d3154d20268413c49c08..095a3f8fe313d07452b17276d22a85f823650ae2 100644
--- a/src/npc/generate/generateNewSlaveJS.js
+++ b/src/npc/generate/generateNewSlaveJS.js
@@ -167,11 +167,11 @@ globalThis.GenerateNewSlave = (function() {
 
 	function generateXXBodyProportions() {
 		if (slave.geneticQuirks.dwarfism === 2 && slave.geneticQuirks.gigantism !== 2) {
-			slave.height = Math.round(Height.random(slave, {limitMult: [-4, -1], spread: 0.15}));
+			slave.height = Height.random(slave, {limitMult: [-4, -1], spread: 0.15});
 		} else if (slave.geneticQuirks.gigantism === 2) {
-			slave.height = Math.round(Height.random(slave, {limitMult: [3, 10], spread: 0.15}));
+			slave.height = Height.random(slave, {limitMult: [3, 10], spread: 0.15});
 		} else {
-			slave.height = Math.round(Height.random(slave));
+			slave.height = Height.random(slave);
 		}
 		if (slave.height >= Height.mean(slave) * 170 / 162.5) {
 			slave.hips = jsEither([-1, 0, 0, 1, 1, 2, 2]);
@@ -200,11 +200,11 @@ globalThis.GenerateNewSlave = (function() {
 
 	function generateXYBodyProportions() {
 		if (slave.geneticQuirks.dwarfism === 2 && slave.geneticQuirks.gigantism !== 2) {
-			slave.height = Math.round(Height.random(slave, {limitMult: [-4, -1], spread: 0.15}));
+			slave.height = Height.random(slave, {limitMult: [-4, -1], spread: 0.15});
 		} else if (slave.geneticQuirks.gigantism === 2) {
-			slave.height = Math.round(Height.random(slave, {limitMult: [3, 10], spread: 0.15}));
+			slave.height = Height.random(slave, {limitMult: [3, 10], spread: 0.15});
 		} else {
-			slave.height = Math.round(Height.random(slave));
+			slave.height = Height.random(slave);
 		}
 		if (slave.physicalAge <= 13) {
 			if (slave.height > Height.mean(slave) * 170 / 172.5) {
diff --git a/src/npc/generate/generateRelatedSlave.js b/src/npc/generate/generateRelatedSlave.js
index 31e4e19a15016f3a5afd976116a3381c3f05b69f..304d2481bef55258fa572733cad63bcff8b68054 100644
--- a/src/npc/generate/generateRelatedSlave.js
+++ b/src/npc/generate/generateRelatedSlave.js
@@ -290,7 +290,7 @@ globalThis.generateRelatedSlave = (function() {
 		}
 
 		// reset height
-		slave.height = Math.trunc(Height.random(slave));
+		slave.height = Height.random(slave);
 
 		// reset puberty status
 		generatePuberty(slave);
diff --git a/src/npc/generate/lawCompliance.js b/src/npc/generate/lawCompliance.js
index 8c570bdc153a340f3091f865618ed55a9e8e8c18..56816cdc44bcbee0ba21257e51b44a4f0b24cd4e 100644
--- a/src/npc/generate/lawCompliance.js
+++ b/src/npc/generate/lawCompliance.js
@@ -312,14 +312,14 @@ App.Desc.lawCompliance = function(slave, market = 0) {
 
 	function FSPetiteAdmirationSMR() {
 		if (!heightPass(slave)) {
-			slave.height = Math.trunc(Height.random(slave, {limitMult: [-4, -2]}));
+			slave.height = Height.random(slave, {limitMult: [-4, -2]});
 		}
 		return `${His} height was meticulously taken before being allowed into the markets.`;
 	}
 
 	function FSStatuesqueGlorificationSMR() {
 		if (!heightPass(slave)) {
-			slave.height = Math.trunc(Height.random(slave, {limitMult: [2, 4]}));
+			slave.height = Height.random(slave, {limitMult: [2, 4]});
 		}
 		return `${His} height, as well as ${his} potential for growth, were meticulously taken before being allowed into the markets.`;
 	}
@@ -663,10 +663,10 @@ App.Desc.lawCompliance = function(slave, market = 0) {
 	}
 
 	function heightAdvancedSMRup() {
-		slave.height = Math.round(Height.random(slave, {
+		slave.height = Height.random(slave, {
 			skew: V.policies.SMR.height.advancedSMR,
 			limitMult: [0, 5 * V.policies.SMR.height.advancedSMR]
-		}));
+		});
 		let t = [`While ${he} was in the slave pens, ${he} saw that slaves on the shorter end of the height curve were immediately designated as menials and Fuckdolls.`];
 		if (slave.physicalAge < 16) {
 			t.push(`${He} is <span class="gold">terrified</span> that if ${he} doesn't keep growing, ${he}'ll be reassigned on the spot without a second thought.`);
@@ -679,10 +679,10 @@ App.Desc.lawCompliance = function(slave, market = 0) {
 	}
 
 	function heightAdvancedSMRdown() {
-		slave.height = Math.round(Height.random(slave, {
+		slave.height = Height.random(slave, {
 			skew: V.policies.SMR.height.advancedSMR,
 			limitMult: [0, 5 * V.policies.SMR.height.advancedSMR]
-		}));
+		});
 		let t = [`While ${he} was in the slave pens, ${he} saw that slaves on the taller end of the height curve were immediately designated as menials and Fuckdolls.`];
 		if (slave.physicalAge < 16) {
 			t.push(`${He} is <span class="gold">terrified</span> that if ${he} goes through a growth spurt, ${he}'ll be reassigned on the spot without a second thought.`);
diff --git a/src/npc/startingGirls/startingGirls.js b/src/npc/startingGirls/startingGirls.js
index 4587662dbcfce2b54be26b4c2f9fe69a6c66f823..58aa07f0d2da15d27619afbcd355109cc1158384 100644
--- a/src/npc/startingGirls/startingGirls.js
+++ b/src/npc/startingGirls/startingGirls.js
@@ -726,7 +726,7 @@ App.StartingGirls.physical = function(slave, cheat = false) {
 		.addRange(165, 170, "<", "Average")
 		.addRange(180, 185, "<", "Tall")
 		.addRange(190, 185, ">=", "Very tall");
-	option = options.addCustomOption(`Average height for a ${slave.actualAge} year old is ${heightToEitherUnit(Math.round(Height.mean(slave)))}`)
+	option = options.addCustomOption(`Average height for a ${slave.actualAge} year old is ${heightToEitherUnit(Height.mean(slave))}`)
 		.addButton(
 			"Make average",
 			() => resyncSlaveHight(slave),
diff --git a/src/npc/startingGirls/startingGirlsPassage.js b/src/npc/startingGirls/startingGirlsPassage.js
index 096f33b63a9bf070cd9725614c18201b0aa35998..fbc7c5266eabb4c2f9424f5047586a1b2fb7ffc3 100644
--- a/src/npc/startingGirls/startingGirlsPassage.js
+++ b/src/npc/startingGirls/startingGirlsPassage.js
@@ -104,7 +104,7 @@ App.StartingGirls.passage = function() {
 						V.activeSlave.face = 95;
 						V.activeSlave.muscles = 20;
 						V.activeSlave.weight = -20;
-						V.activeSlave.height = Math.round(Height.forAge(190, V.activeSlave));
+						V.activeSlave.height = Height.forAge(190, V.activeSlave);
 					},
 					[],
 					"Starting Girls"