diff --git a/slave variables documentation - Pregmod.txt b/slave variables documentation - Pregmod.txt
index 1af42e954557b838aa58704757de0d6ef98c8f3f..31a49b369bdef74bc727f41511d4a99313199b2f 100644
--- a/slave variables documentation - Pregmod.txt	
+++ b/slave variables documentation - Pregmod.txt	
@@ -1565,6 +1565,7 @@ slave areolae
 1 - large
 2 - unusually wide
 3 - huge
+4 - massive
 
 areolaeShape:
 
diff --git a/src/art/vector/VectorArtJS.js b/src/art/vector/VectorArtJS.js
index b1cf19041dd87a77d2447f0da5d433403ed9ebd1..0bac95b4b80baf8f8de9ce72cfcfe8d3b2287bf0 100644
--- a/src/art/vector/VectorArtJS.js
+++ b/src/art/vector/VectorArtJS.js
@@ -789,7 +789,7 @@ window.VectorArt = (function () {
 					r += jsInclude("Art_Vector_Boob_Areola_Large");
 				else if (slave.areolae === 2)
 					r += jsInclude("Art_Vector_Boob_Areola_Wide");
-				else if (slave.areolae === 3)
+				else if (slave.areolae >= 3)
 					r += jsInclude("Art_Vector_Boob_Areola_Huge");
 
 				if (slave.nipples === "tiny")
diff --git a/src/art/vector_revamp/vectorRevampedArtControl.js b/src/art/vector_revamp/vectorRevampedArtControl.js
index 8be76f964b583f31b7239a461db15b90665c57f3..29245d09cd26b1b718566bda4bb83fed144b64f9 100644
--- a/src/art/vector_revamp/vectorRevampedArtControl.js
+++ b/src/art/vector_revamp/vectorRevampedArtControl.js
@@ -1246,12 +1246,17 @@ class RevampedArtControl {
 					case 3:
 						areolaeShape = "Huge";
 						break;
-					case 4:
+					default:
+				}
+				switch(this.artSlave.areolaeShape)
+				{
+					case "heart":
 						areolaeShape = "Heart";
 						break;
-					case 5:
+					case "star":
 						areolaeShape = "Star";
 						break;
+					default:
 				}
 
 				result.push("Art_Vector_Revamp_Boob_None_Areola_" + areolaeShape);
@@ -1316,12 +1321,17 @@ class RevampedArtControl {
 					case 3:
 						areolaeShape = "Huge";
 						break;
-					case 4:
+					default:
+				}
+				switch(this.artSlave.areolaeShape)
+				{
+					case "heart":
 						areolaeShape = "Heart";
 						break;
-					case 5:
+					case "star":
 						areolaeShape = "Star";
 						break;
+					default:
 				}
 
 				result.push("Art_Vector_Revamp_Boob_" + size + "_Areolae_" + areolaeShape);
diff --git a/src/cheats/mod_EditChildCheatNew.tw b/src/cheats/mod_EditChildCheatNew.tw
index 2f31c1f92ca53323524bbe2a19d83ee8dadcb03f..a9f5198bb62048f536b28c39fca089b9495a6c43 100644
--- a/src/cheats/mod_EditChildCheatNew.tw
+++ b/src/cheats/mod_EditChildCheatNew.tw
@@ -1633,20 +1633,20 @@
 
 	<br>
 
-	''Areolae Size (Normal:0 to Huge:3): ''
+	''Areolae Size (Normal:0 to Massive:4): ''
 	<<switch $tempSlave.areolae>>
 	<<case 0>>@@.yellow;Normal@@
 	<<case 1>>@@.yellow;Large@@
 	<<case 2>>@@.yellow;Wide@@
 	<<case 3>>@@.yellow;Huge@@
-	<<case 4>>@@.yellow;Heart-shaped@@
-	<<case 5>>@@.yellow;Star-shaped@@
+	<<case 4>>@@.yellow;Massive@@
 	<</switch>>
 	<br>
 	<<radiobutton "$tempSlave.areolae" 0>> Normal
 	<<radiobutton "$tempSlave.areolae" 1>> Large
 	<<radiobutton "$tempSlave.areolae" 2>> Wide
 	<<radiobutton "$tempSlave.areolae" 3>> Huge
+	<<radiobutton "$tempSlave.areolae" 4>> Massive
 
 	<br>
 
diff --git a/src/cheats/mod_EditSlaveCheat.tw b/src/cheats/mod_EditSlaveCheat.tw
index ce58257d2d2f09dc9f55c7b113484130e0badee8..2c9cd76744554d539261e97bdd8ea55c7056a438 100644
--- a/src/cheats/mod_EditSlaveCheat.tw
+++ b/src/cheats/mod_EditSlaveCheat.tw
@@ -702,13 +702,14 @@ Plush.
 
 <br>
 
-''Areolae (Normal:0 to Huge:3): $tempSlave.areolae |''
+''Areolae (Normal:0 to Massive:4): $tempSlave.areolae |''
 <<textbox "$tempSlave.areolae" $tempSlave.areolae>>
 <br>
 <<radiobutton "$tempSlave.areolae" 0>> Normal
 <<radiobutton "$tempSlave.areolae" 1>> Large
 <<radiobutton "$tempSlave.areolae" 2>> Wide
 <<radiobutton "$tempSlave.areolae" 3>> Huge
+<<radiobutton "$tempSlave.areolae" 4>> Massive
 
 <br><br>
 
diff --git a/src/cheats/mod_editSlaveCheatNew.tw b/src/cheats/mod_editSlaveCheatNew.tw
index 22517df9db9e42cd7fe1577db0c61cd3f276df20..28cfaee1dc2fb4e878171cee093d16d1ac25f78d 100644
--- a/src/cheats/mod_editSlaveCheatNew.tw
+++ b/src/cheats/mod_editSlaveCheatNew.tw
@@ -2423,14 +2423,14 @@
 	<<case 1>>@@.yellow;Large@@
 	<<case 2>>@@.yellow;Wide@@
 	<<case 3>>@@.yellow;Huge@@
-	<<case 4>>@@.yellow;Heart-shaped@@
-	<<case 5>>@@.yellow;Star-shaped@@
+	<<case 4>>@@.yellow;Massive@@
 	<</switch>>
 	<br>
 	<<radiobutton "$tempSlave.areolae" 0>> Normal
 	<<radiobutton "$tempSlave.areolae" 1>> Large
 	<<radiobutton "$tempSlave.areolae" 2>> Wide
 	<<radiobutton "$tempSlave.areolae" 3>> Huge
+	<<radiobutton "$tempSlave.areolae" 4>> Massive
 
 	<br>
 
diff --git a/src/js/SlaveState.js b/src/js/SlaveState.js
index 6e7533c7acf237879bcf9ea025ff04b28a347db9..78828d789378216eb62bf4bfb40872a100623970 100644
--- a/src/js/SlaveState.js
+++ b/src/js/SlaveState.js
@@ -540,7 +540,7 @@ App.Entity.SlaveState = class SlaveState {
 		this.nipplesAccessory = "none";
 		/** slave areolae
 		 *
-		 * 0: normal; 1: large; 2: unusually wide; 3: huge */
+		 * 0: normal; 1: large; 2: unusually wide; 3: huge, 4: massive */
 		this.areolae = 0;
 		/** edge of areolae are pierced
 		 * @default 0
diff --git a/src/js/datatypeCleanupJS.js b/src/js/datatypeCleanupJS.js
index 705ea207c1e561d7b972a417c15f625ee63ac2cf..338f3c5a6a5303be509d558af32bddcd2cab11c5 100644
--- a/src/js/datatypeCleanupJS.js
+++ b/src/js/datatypeCleanupJS.js
@@ -181,7 +181,7 @@ window.SlaveDatatypeCleanup = (function SlaveDatatypeCleanup() {
 		if (typeof slave.nipplesAccessory !== "string") {
 			slave.nipplesAccessory = "none";
 		}
-		slave.areolae = Math.clamp(+slave.areolae, 0, 3) || 0;
+		slave.areolae = Math.clamp(+slave.areolae, 0, 4) || 0;
 		if (typeof slave.areolaeShape !== "string") {
 			slave.areolaeShape = "circle";
 		}
@@ -820,7 +820,7 @@ window.childBoobsDatatypeCleanup = function childBoobsDatatypeCleanup(child) {
 	if (typeof child.nipplesAccessory !== "string") {
 		child.nipplesAccessory = "none";
 	}
-	child.areolae = Math.clamp(+child.areolae, 0, 3) || 0;
+	child.areolae = Math.clamp(+child.areolae, 0, 4) || 0;
 	if (typeof child.areolaeShape !== "string") {
 		child.areolaeShape = "circle";
 	}
diff --git a/src/npc/startingGirls/startingGirls.tw b/src/npc/startingGirls/startingGirls.tw
index 2e66f7acd1fd0b86b939aa6b47ef40de48048837..538c0ed086f06a600c653f97dfcc4852bc15cde0 100644
--- a/src/npc/startingGirls/startingGirls.tw
+++ b/src/npc/startingGirls/startingGirls.tw
@@ -889,6 +889,8 @@ Her nationality is $activeSlave.nationality.
 	Wide.
 <<elseif $activeSlave.areolae == 3>>
 	Huge.
+<<elseif $activeSlave.areolae == 4>>
+	Massive.
 <<else>>
 	Normal.
 <</if>>
@@ -896,7 +898,8 @@ Her nationality is $activeSlave.nationality.
 <<link "Normal">><<set $activeSlave.areolae = 0>><<replace "#areolae">>Normal.<</replace>><<StartingGirlsCost>><</link>> |
 <<link "Large">><<set $activeSlave.areolae = 1>><<replace "#areolae">>Large.<</replace>><<StartingGirlsCost>><</link>> |
 <<link "Wide">><<set $activeSlave.areolae = 2>><<replace "#areolae">>Wide.<</replace>><<StartingGirlsCost>><</link>> |
-<<link "Huge">><<set $activeSlave.areolae = 3>><<replace "#areolae">>Huge.<</replace>><<StartingGirlsCost>><</link>>
+<<link "Huge">><<set $activeSlave.areolae = 3>><<replace "#areolae">>Huge.<</replace>><<StartingGirlsCost>><</link>> |
+<<link "Massive">><<set $activeSlave.areolae = 4>><<replace "#areolae">>Massive.<</replace>><<StartingGirlsCost>><</link>>
 
 <br>''Shoulders:''
 <span id="shoulders">
diff --git a/src/uncategorized/options.tw b/src/uncategorized/options.tw
index 70a02deb9bc1d0a8f3cb4261ee6e0cbe02ab0f09..9652265667092eccc5a691df6ae7827def531c6b 100644
--- a/src/uncategorized/options.tw
+++ b/src/uncategorized/options.tw
@@ -552,7 +552,7 @@ Assignment performance vignettes on the end week report are
 		Sidebar Cheats are currently @@.red;HIDDEN.@@ [[Enable|Options][$cheatModeM = 1]]
 	<</if>>
 <<else>>
-	Cheatmode is currently @@.red;DISABLED.@@ [[Enable|Options][$cheatMode = 1]] 
+	Cheatmode is currently @@.red;DISABLED.@@ [[Enable|Options][$cheatMode = 1]]
 	//This will allow manual selection of events and unlock some options that would usually be restricted by progress//
 <</if>>
 <br>
diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw
index ccea849c4b07599ca5e75600094a737fa2591f33..3beeb6a2fa15d086b017da4722d65fe8ff9c2cdc 100644
--- a/src/uncategorized/remoteSurgery.tw
+++ b/src/uncategorized/remoteSurgery.tw
@@ -523,7 +523,7 @@ $He has
 	<<elseif $activeSlave.boobsImplant > 200>>
 		moderate, <<print $activeSlave.boobsImplant>>cc
 	<<elseif $activeSlave.boobsImplant > 0>>
-		small, <<print $activeSlave.boobsImplant>>cc 
+		small, <<print $activeSlave.boobsImplant>>cc
 	<</if>>
 	<<if $activeSlave.boobsImplantType == 1>>
 		string
@@ -592,18 +592,18 @@ $He has
 <<if ($activeSlave.boobs > 300) && ($activeSlave.boobsImplant == 0)>>
 	<<if $activeSlave.indentureRestrictions >= 2>>
 	<<else>>
-	| [[Reduce breasts|Surgery Degradation][$activeSlave.boobs -= 200, $activeSlave.health -= 5,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $surgeryType = "boobsLoss"]]
+		| [[Reduce breasts|Surgery Degradation][$activeSlave.boobs -= 200, $activeSlave.health -= 5,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $surgeryType = "boobsLoss"]]
 	<</if>>
 <</if>>
 <<if ($activeSlave.boobs >= 7000) && ($activeSlave.boobsImplant == 0)>>
 	<<if $activeSlave.indentureRestrictions >= 2 || ($activeSlave.breedingMark == 1 && $propOutcome == 1)>>
 	<<else>>
-	| [[Mastectomy|Surgery Degradation][$activeSlave.boobs = 300, $activeSlave.breastMesh = 0, $activeSlave.health -= 30,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $surgeryType = "mastectomy+"]]
+		| [[Mastectomy|Surgery Degradation][$activeSlave.boobs = 300, $activeSlave.breastMesh = 0, $activeSlave.health -= 30,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $surgeryType = "mastectomy+"]]
 	<</if>>
 <<elseif ($activeSlave.boobs >= 2000) && ($activeSlave.boobsImplant == 0)>>
 	<<if $activeSlave.indentureRestrictions >= 2 || ($activeSlave.breedingMark == 1 && $propOutcome == 1)>>
 	<<else>>
-	| [[Mastectomy|Surgery Degradation][$activeSlave.boobs = 300, $activeSlave.breastMesh = 0, $activeSlave.health -= 30,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $surgeryType = "mastectomy"]]
+		| [[Mastectomy|Surgery Degradation][$activeSlave.boobs = 300, $activeSlave.breastMesh = 0, $activeSlave.health -= 30,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $surgeryType = "mastectomy"]]
 	<</if>>
 <</if>>
 
@@ -680,14 +680,29 @@ $He has
 <<elseif $activeSlave.areolae == 1>>
 	$His areolae are large <<if $activeSlave.areolaeShape != "circle">>and have been surgically altered to be $activeSlave.areolaeShape-shaped<<else>>but still fairly normal<</if>>.
 <<elseif $activeSlave.areolae > 1>>
-	$He has <<if $activeSlave.areolae == 2>>huge<<elseif $activeSlave.areolae == 3>>massive<</if>> areolae<<if $activeSlave.areolaeShape != "circle">>, which have been surgically altered to be $activeSlave.areolaeShape-shaped<</if>>.
-	<<if ($activeSlave.indentureRestrictions < 2) && ($activeSlave.areolaeShape == "circle")>>
-	They are big enough that they could be reshaped into a pattern. Graft skin to make $his areolae:
+	$He has <<if $activeSlave.areolae == 2>>wide<<elseif $activeSlave.areolae == 3>>huge<<elseif $activeSlave.areolae == 4>>massive<</if>> areolae<<if $activeSlave.areolaeShape != "circle">>, which have been surgically altered to be $activeSlave.areolaeShape-shaped<</if>>.
+<</if>>
+<<if $activeSlave.indentureRestrictions < 2>>
+	<<if $activeSlave.areolaeShape != "circle">>
+		$His $activeSlave.areolaeShape-shaped areolae can be normalized or reshaped:
+		[[Normal|Surgery Degradation][$activeSlave.areolaeShape = "circle",cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10,$surgeryType = "areolae"]]
+		<<if $activeSlave.areolaeShape != "heart">>
+			| [[Heart-shaped|Surgery Degradation][$activeSlave.areolaeShape = "heart",cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10,$surgeryType = "areolae"]]
+		<</if>>
+		<<if $activeSlave.areolaeShape != "star">>
+			| [[Star-shaped|Surgery Degradation][$activeSlave.areolaeShape = "star",cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10,$surgeryType = "areolae"]] |
+		<</if>>
+	<</if>>
+	<<if ($activeSlave.areolae > 0) && ($activeSlave.areolaeShape == "circle")>>
+		They are big enough that they could be reshaped into a pattern. Graft skin to make $his areolae:
 		[[Heart-shaped|Surgery Degradation][$activeSlave.areolaeShape = "heart",$activeSlave.areolae -= 1,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10,$surgeryType = "areolae"]]
 		| [[Star-shaped|Surgery Degradation][$activeSlave.areolaeShape = "star",$activeSlave.areolae -= 1,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10,$surgeryType = "areolae"]] |
 	<</if>>
-	<<if $activeSlave.indentureRestrictions < 2>>
-		[[Reduce areolae|Surgery Degradation][$activeSlave.areolae -= 1,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10,$surgeryType = "areolae"]]
+	<<if $activeSlave.areolae > 0>>
+		| [[Reduce areolae|Surgery Degradation][$activeSlave.areolae -= 1,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10,$surgeryType = "areolae"]]
+	<</if>>
+	<<if $activeSlave.areolae < 4>>
+		[[Enlarge areolae|Surgery Degradation][$activeSlave.areolae += 1,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10,$surgeryType = "areolae"]]
 	<</if>>
 <</if>>
 
diff --git a/src/uncategorized/resFailure.tw b/src/uncategorized/resFailure.tw
index ee064bcae5f491adde3e182948885cb1905a1e96..a363dcc758151867fb383d8a6b54b3898efef450 100644
--- a/src/uncategorized/resFailure.tw
+++ b/src/uncategorized/resFailure.tw
@@ -183,7 +183,7 @@
 			<<set $activeSlave.boobs = 200*random(4,20)>>
 		<</if>>
 		<<set $activeSlave.nipples = either("huge", "inverted")>>
-		<<set $activeSlave.areolae = either(0, 1, 2, 3)>>
+		<<set $activeSlave.areolae = either(0, 1, 2, 3, 4)>>
 		<<set $activeSlave.clit = either(0, 1, 2, 3)>>
 		<<set $activeSlave.lips = random(5,85)>>
 		<<set $activeSlave.anus = 0>>
diff --git a/src/uncategorized/saDrugs.tw b/src/uncategorized/saDrugs.tw
index 9561191d832ba22a7570cc06fcc34f3b464eae17..306bcbf9f452cbc2291dca9c14395a6dee2d212c 100644
--- a/src/uncategorized/saDrugs.tw
+++ b/src/uncategorized/saDrugs.tw
@@ -116,7 +116,7 @@
 	<</if>>
 	<<set _growth = 25*Math.trunc(_growth*0.8)>>
 	<<set $slaves[$i].boobs += Math.clamp(_growth, 25, 5000)>>
-	<<if random(1,100) > 30+($slaves[$i].areolae*10) && $slaves[$i].areolae < 3>>
+	<<if random(1,100) > 30+($slaves[$i].areolae*10) && $slaves[$i].areolae < 4>>
 		The increase in breast size @@.lime;stretches and broadens $his areolae.@@
 		<<set $slaves[$i].areolae += 1>>
 	<</if>>
@@ -212,7 +212,7 @@
 		<</if>>
 	<<set _growth = 25*Math.trunc(_growth*0.8)>>
 	<<set $slaves[$i].boobs += Math.clamp(_growth, 25, 200)>>
-	<<if $slaves[$i].areolae < 3>>
+	<<if $slaves[$i].areolae < 4>>
 		<<if _growth > $slaves[$i].areolae*25>>
 			The increase in breast size @@.lime;stretches and broadens $his areolae.@@
 			<<set $slaves[$i].areolae += 1>>
diff --git a/src/uncategorized/saGetMilked.tw b/src/uncategorized/saGetMilked.tw
index 4521a0b14d097c6966b08e968e770e5e8137ebe6..cf8308de8238ca81698110dd80df017ccc9b4bb9 100644
--- a/src/uncategorized/saGetMilked.tw
+++ b/src/uncategorized/saGetMilked.tw
@@ -235,7 +235,7 @@ gets milked this week.
 		<<elseif ($slaves[$i].nipples == "tiny")>>
 			Producing this river of milk @@.lime;makes $his nipples grow to a nice size.@@
 			<<set $slaves[$i].nipples = "cute">>
-		<<elseif ($slaves[$i].areolae < 3) && (random(1,100) > 30+($slaves[$i].areolae*20))>>
+		<<elseif ($slaves[$i].areolae < 4) && (random(1,100) > 30+($slaves[$i].areolae*20))>>
 			Producing this river of milk @@.lime;broadens $his areolae.@@
 			<<set $slaves[$i].areolae += 1>>
 		<</if>>
diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw
index dc918f0ffde4d620b349b92ff18b75dc414ef5bf..7de47b3a2f44ae6ec48c79a6447767b2678b9f0b 100644
--- a/src/uncategorized/saLongTermEffects.tw
+++ b/src/uncategorized/saLongTermEffects.tw
@@ -6099,15 +6099,15 @@
 	<<if (($slaves[$i].boobs-$slaves[$i].boobsImplant-$slaves[$i].boobsMilk >= 5000) && (random(1,100) < 90))>>
 		$His @@.orange;NCS@@ has @@.orange;reduced the size of $his bouncing breasts.@@
 		<<set $slaves[$i].boobs -= Math.round($slaves[$i].boobs * .11), _countNCS++>>
-	<<elseif (($slaves[$i].boobs-$slaves[$i].boobsImplant-$slaves[$i].boobsMilk <= 5000) && (!['tiny', 'cute', 'fuckable'].includes($slaves[$i].nipples)) && (random(1,100) < 30))>>
-		<<if ('inverted' == $slaves[$i].nipples)>><<set _target = 'partially inverted'>>
-		<<elseif ('partially inverted' == $slaves[$i].nipples)>><<set _target = 'normal'>>
-		<<else>><<set _target = either('cute', 'tiny')>>
+	<<elseif (($slaves[$i].boobs-$slaves[$i].boobsImplant-$slaves[$i].boobsMilk <= 5000) && (!["cute", "fuckable", "tiny"].includes($slaves[$i].nipples)) && (random(1,100) < 30))>>
+		<<if ($slaves[$i].nipples == "inverted")>><<set _target = "partially inverted">>
+		<<elseif ($slaves[$i].nipples == "partially inverted")>><<set _target = "normal">>
+		<<else>><<set _target = either("cute", "tiny")>>
 		<</if>>
 		$His @@.orange;NCS@@ has @@.lime;changed $his nipples to <<= _target>>.@@
 		<<set $slaves[$i].nipples = _target>>
 		<<if ($slaves[$i].areolae > 1)>>
-			$His areolae also shrink down to a more normal size<<if ($slaves[$i].areolae > 3)>>, losing the surgical shape alteration<</if>>.
+			$His areolae also shrink down to a more normal size<<if ($slaves[$i].areolaeShape != "circle")>>, including the unique $slaves[$i].areolaeShape shapes<</if>>.
 			<<set $slaves[$i].areolae = 1, _countNCS++>>
 		<</if>>
 	<<elseif (($slaves[$i].boobs-$slaves[$i].boobsImplant-$slaves[$i].boobsMilk >= 300) && (($slaves[$i].NCSyouthening >= 6) || (random(1,100) < 50)))>>
diff --git a/src/utility/descriptionWidgetsFlesh.tw b/src/utility/descriptionWidgetsFlesh.tw
index 841233d7ea17220ac8c4151d6f1e01ae55fe69b7..95dd2e5772febc0bd6fc00c4782032822533bdc1 100644
--- a/src/utility/descriptionWidgetsFlesh.tw
+++ b/src/utility/descriptionWidgetsFlesh.tw
@@ -1426,6 +1426,8 @@ $His
 				$His areolae are unusually wide, eye-catching circles of _nipColor skin around each nipple.
 			<<case 3>>
 				$His _nipColor areolae are unnaturally broad, covering much of the <<if $activeSlave.boobShape == "saggy">>bottom<<else>>front<</if>> of each breast.
+			<<case 4>>
+				$His _nipColor areolae are unnaturally huge, almost entirely covering the <<if $activeSlave.boobShape == "saggy">>bottom<<else>>front<</if>> of each breast.
 			<<default>>
 				$His $activeSlave.nipples nipples are surrounded by a minimal _nipColor areolae.
 			<</switch>>
@@ -1433,6 +1435,8 @@ $His
 				$His _nipColor areolae are heart-shaped, an obvious surgical alteration.<<if $activeSlave.boobShape == "saggy">> $His motherly boobs point downward, though, leaving only the curved top of each heart visible.<</if>>
 			<<elseif $activeSlave.areolaeShape == "star">>
 				$His _nipColor areolae are star-shaped, an obvious surgical alteration.<<if $activeSlave.boobShape == "saggy">> $His motherly boobs point downward, though, leaving only the pointed top of each star visible.<</if>>
+			<<elseif $activeSlave.areolaeShape != "circle">>
+				$His _nipColor areolae are <<= $activeSlave.areolaeShape>>-shaped, an obvious surgical alteration.<<if $activeSlave.boobShape == "saggy">> $His motherly boobs point downward, though, leaving only the top of each $activeSlave.areolaeShape visible.<</if>>
 			<</if>>
 		<<else>>
 			<<areolaePiercingDescription>>
diff --git a/src/utility/descriptionWidgetsPiercings.tw b/src/utility/descriptionWidgetsPiercings.tw
index 4b578189aaa8f2d617c7fe20ab01fb6328cf4976..363d71ff1ab2db0e2acc1c484def396af0e52e96 100644
--- a/src/utility/descriptionWidgetsPiercings.tw
+++ b/src/utility/descriptionWidgetsPiercings.tw
@@ -225,6 +225,9 @@
 			<<case 3>>
 				$His _nippleColor areolae are unnaturally broad, covering much of the <<if $activeSlave.boobShape == "saggy">>bottom<<else>>front<</if>> of each breast.
 				$He has many stud piercings around their edges, forming a metal border between _nippleColor nipple and breast.
+			<<case 4>>
+				$His _nippleColor areolae are unnaturally huge, almost entirely covering the <<if $activeSlave.boobShape == "saggy">>bottom<<else>>front<</if>> of each breast.
+				$He has many stud piercings around their edges, forming a metal border between _nippleColor nipple and breast.
 			<<default>>
 				$He has stud piercings in circles around the edges of $his minimal _nippleColor areolae.
 				$His $activeSlave.nipples nipples are surrounded by a minimal _nippleColor areolae.
@@ -233,6 +236,8 @@
 				$His _nippleColor areolae are heart-shaped, an obvious surgical alteration. Their borders are defined by stud piercings with pink stones.<<if $activeSlave.boobShape == "saggy">> $His motherly boobs point downward, though, leaving only the curved top of each heart visible.<</if>>
 			<<elseif $activeSlave.areolaeShape == "star">>
 				$His _nippleColor areolae are star-shaped, an obvious surgical alteration. Their borders are defined by shiny stud piercings.<<if $activeSlave.boobShape == "saggy">> $His motherly boobs point downward, though, leaving only the pointed top of each star visible.<</if>>
+			<<elseif $activeSlave.areolaeShape != "circle">>
+				$His _nippleColor areolae are <<= $activeSlave.areolaeShape>>-shaped, an obvious surgical alteration. Their borders are defined by shiny stud piercings.<<if $activeSlave.boobShape == "saggy">> $His motherly boobs point downward, though, leaving only the top of each $activeSlave.areolaeShape visible.<</if>>
 			<</if>>
 		<</if>>
 	<</if>>
diff --git a/src/utility/slaveCreationWidgets.tw b/src/utility/slaveCreationWidgets.tw
index 726b0282b6ca271c71df25ee5569dc58268052b2..0ba79c5e55a442ef9e74175d4611cfdb283edf13 100644
--- a/src/utility/slaveCreationWidgets.tw
+++ b/src/utility/slaveCreationWidgets.tw
@@ -220,6 +220,8 @@
 			Wide.
 		<<elseif $activeSlave.areolae == 3>>
 			Huge.
+		<<elseif $activeSlave.areolae == 4>>
+			Massive.
 		<<else>>
 			Normal.
 		<</if>>
@@ -3187,7 +3189,7 @@
 		<<set $activeSlave.boobs = 200*random(4,20)>>
 	<</if>>
 	<<set $activeSlave.nipples = either("huge", "inverted")>>
-	<<set $activeSlave.areolae = either(0, 1, 2, 3)>>
+	<<set $activeSlave.areolae = either(0, 1, 2, 3, 4)>>
 	<<set $activeSlave.clit = either(0, 1, 2, 3)>>
 	<<set $activeSlave.lips = random(5,85)>>
 	<<set $activeSlave.anus = 0>>