diff --git a/src/uncategorized/saHormoneEffects.tw b/src/uncategorized/saHormoneEffects.tw
index e29f67b733e69c6a3eb848a31b6fa00553719eb2..2aae7456e7cec4dd70017db04f538a7dc75e35a7 100644
--- a/src/uncategorized/saHormoneEffects.tw
+++ b/src/uncategorized/saHormoneEffects.tw
@@ -77,7 +77,13 @@
 
 <<if $slaves[$i].physicalAge >= 18 || $loliGrow == 0 || $slaves[$i].geneMods.NCS == 1>>
 <<if Math.abs($slaves[$i].hormoneBalance) >= 50>>
-
+<<set _effBreastSize = ($slaves[$i].boobs-$slaves[$i].boobsImplant-$slaves[$i].boobsMilk)>>
+<<set _effButtSize = ($slaves[$i].butt-$slaves[$i].buttImplant)>>
+<<if $slaves[$i].hormoneBalance > 30 && $slaves[$i].geneMods.NCS != 1>>		/* 'Expected' breast size based on weight for feminine-bodied slaves */
+	<<set _normBreasts = Math.trunc((100 + ($slaves[$i].weight + 100)*5 + 2*$slaves[$i].lactationAdaptation)*(0.85+$slaves[$i].hormoneBalance/400)*_gigantomastiaMod)>>
+	<<set _normButt = (($slaves[$i].weight + 100)*.025*(0.9+$slaves[$i].hormoneBalance/600)*(_rearQuirk/2 + 1))>>
+<</if>>
+			
 <<if $slaves[$i].hormoneBalance >= 350>>
 
 	<<if ($slaves[$i].geneMods.NCS == 1)>>
@@ -135,17 +141,17 @@
 	<</if>>
 
 	<<if $slaves[$i].geneMods.NCS == 0>>
-		<<if ($slaves[$i].boobs-$slaves[$i].boobsImplant) < 1400*_gigantomastiaMod>>
+		<<if _effBreastSize < 0.9*_normBreasts>>	/* Grow to 90% of normBreasts */
 			Hormonal effects cause @@.lime;a small amount of natural breast growth.@@
-			<<set $slaves[$i].boobs += 10+(15*$hormoneUpgradePower)>>
+			<<set $slaves[$i].boobs += 25>>
 		<</if>>
 		<<if $slaves[$i].nipples == "tiny">>
 			Hormonal effects cause $his tiny @@.lime;nipples to grow to a more normal size.@@
 			<<set $slaves[$i].nipples = "cute">>
 		<</if>>
-		<<if ($slaves[$i].butt-$slaves[$i].buttImplant) < 4*_rearQuirk>>
+		<<if _effButtSize < Math.trunc(4.5*_normButt)/5>>	/* 90% of normButt, rounded down to the next increment of .2 */
 			Hormonal effects cause @@.lime;the natural size of $his butt to increase.@@
-			<<set $slaves[$i].butt++>>
+			<<set $slaves[$i].butt += 0.2>>
 		<</if>>
 	<<else>>
 		$His @@.orange;NCS@@ blocks asset growth despite the fact that $his body is swimming in hormones.
@@ -238,17 +244,17 @@
 	<</if>>
 
 	<<if $slaves[$i].geneMods.NCS == 0>>
-		<<if ($slaves[$i].boobs-$slaves[$i].boobsImplant) < 1000*_gigantomastiaMod>>
+		<<if _effBreastSize < 0.8*_normBreasts>>	/* Grow to 80% of expected */
 			Hormonal effects cause @@.lime;a small amount of natural breast growth.@@
-			<<set $slaves[$i].boobs += 10+(15*$hormoneUpgradePower)>>
+			<<set $slaves[$i].boobs += 25>>
 		<</if>>
 		<<if $slaves[$i].nipples == "tiny">>
 			Hormonal effects cause $his tiny @@.lime;nipples to grow to a more normal size.@@
 			<<set $slaves[$i].nipples = "cute">>
 		<</if>>
-		<<if ($slaves[$i].butt-$slaves[$i].buttImplant) < 4*_rearQuirk>>
+		<<if _effButtSize < Math.trunc(4*_normButt)/5>>	/* 80% of normButt, rounded down to the next increment of .2 */
 			Hormonal effects cause @@.lime;the natural size of $his butt to increase.@@
-			<<set $slaves[$i].butt++>>
+			<<set $slaves[$i].butt += 0.2>>
 		<</if>>
 	<</if>>
 	<<if $slaves[$i].vagina > -1 && $slaves[$i].ovaries != 0 && $slaves[$i].vaginaLube < 2>>
@@ -340,17 +346,17 @@
 	<</if>>
 
 	<<if $slaves[$i].geneMods.NCS == 0>>
-		<<if ($slaves[$i].boobs-$slaves[$i].boobsImplant) < 800*_gigantomastiaMod>>
+		<<if _effBreastSize < 0.7*_normBreasts>>	/* Grow to 70% of expected */
 			Hormonal effects cause @@.lime;a small amount of natural breast growth.@@
-			<<set $slaves[$i].boobs += 10+(15*$hormoneUpgradePower)>>
+			<<set $slaves[$i].boobs += 25>>
 		<</if>>
 		<<if $slaves[$i].nipples == "tiny">>
 			Hormonal effects cause $his tiny @@.lime;nipples to grow to a more normal size.@@
 			<<set $slaves[$i].nipples = "cute">>
 		<</if>>
-		<<if ($slaves[$i].butt-$slaves[$i].buttImplant) < 3*_rearQuirk>>
+		<<if _effButtSize < Math.trunc(3.5*_normButt)/5>>	/* 70% of normButt, rounded down to the next increment of .2 */
 			Hormonal effects cause @@.lime;the natural size of $his butt to increase.@@
-			<<set $slaves[$i].butt++>>
+			<<set $slaves[$i].butt += 0.2>>
 		<</if>>
 	<</if>>
 	<<if $slaves[$i].vagina > -1 && $slaves[$i].ovaries != 0 && $slaves[$i].vaginaLube < 1>>
@@ -439,17 +445,17 @@
 	<</if>>
 
 	<<if $slaves[$i].geneMods.NCS == 0>>
-		<<if ($slaves[$i].boobs-$slaves[$i].boobsImplant) < 650*_gigantomastiaMod>>
+		<<if _effBreastSize < 0.6*_normBreasts>>	/* Grow to 60% of expected */
 			Hormonal effects cause @@.lime;a small amount of natural breast growth.@@
-			<<set $slaves[$i].boobs += 10+(15*$hormoneUpgradePower)>>
+			<<set $slaves[$i].boobs += 25>>
 		<</if>>
 		<<if $slaves[$i].nipples == "tiny">>
 			Hormonal effects cause $his tiny @@.lime;nipples to grow to a more normal size.@@
 			<<set $slaves[$i].nipples = "cute">>
 		<</if>>
-		<<if ($slaves[$i].butt-$slaves[$i].buttImplant) < 2*_rearQuirk>>
+		<<if _effButtSize < Math.trunc(3*_normButt)/5>>	/* 60% of normButt, rounded down to the next increment of .2 */
 			Hormonal effects cause @@.lime;the natural size of $his butt to increase.@@
-			<<set $slaves[$i].butt++>>
+			<<set $slaves[$i].butt += 0.2>>
 		<</if>>
 	<</if>>
 	<<if $slaves[$i].vagina > -1 && $slaves[$i].ovaries != 0 && $slaves[$i].vaginaLube < 1>>
@@ -510,9 +516,9 @@
 	<</if>>
 
 	<<if $slaves[$i].geneMods.NCS == 0>>
-		<<if ($slaves[$i].boobs-$slaves[$i].boobsImplant) < 500*_gigantomastiaMod && _gigantomastiaMod != 3>>
+		<<if _effBreastSize < 0.5*_normBreasts>>	/* Grow to 50% of expected */
 			Hormonal effects cause @@.lime;a small amount of natural breast growth.@@
-			<<set $slaves[$i].boobs += 10+(15*$hormoneUpgradePower)>>
+			<<set $slaves[$i].boobs += 25>>
 		<</if>>
 	<</if>>
 
@@ -554,7 +560,7 @@
 
 	<<if ($slaves[$i].geneMods.NCS == 0)>>
 		<<if $slaves[$i].faceImplant < 5>>
-			<<if $slaves[$i].geneticQuirks.androgyny != 2>>
+			<<if  $slaves[$i].geneticQuirks.androgyny != 2>>
 				<<if ($slaves[$i].faceShape == "androgynous")>>
 					Hormonal effects cause @@.orange;$his face to harden into masculinity.@@
 					<<set $slaves[$i].faceShape = "masculine">>