diff --git a/src/js/descriptionWidgets.js b/src/js/descriptionWidgets.js
index 06409c6b00e8aa1ba767a23321910a99a7553a04..cc2d23fa363cafdcbc5e8e3fce5049ce1959af43 100644
--- a/src/js/descriptionWidgets.js
+++ b/src/js/descriptionWidgets.js
@@ -3536,6 +3536,10 @@ App.Desc.brand = function (slave) {
 	return r;
 }
 
+/**
+ * @param {App.Entity.SlaveState} slave
+ * @returns {string} The slave's boobs
+ */
 App.Desc.boobs = function (slave) {
 	"use strict";
 	let r = ``;
@@ -5140,9 +5144,24 @@ App.Desc.boobs = function (slave) {
 	return r;
 }
 
+/**
+ * @param {App.Entity.SlaveState} slave
+ * @returns {string} The shape of the slave's boobs
+ */
 App.Desc.boobsShape = function(slave) {
 	"use strict";
 	let r = ``;
+	/* eslint-disable */
+	let pronouns = getPronouns(slave);
+	let he = pronouns.pronoun;
+	let him = pronouns.object;
+	let his = pronouns.possessive;
+	let hers = pronouns.possessivePronoun;
+	let himself = pronouns.objectReflexive;
+	let boy = pronouns.noun;
+	let He = capFirstChar(he);
+	let His = capFirstChar(his);
+	/* eslint-enable */
 
 	if (V.showImplantEffects) {
 		if (slave.fuckdoll > 0) {
@@ -5363,6 +5382,197 @@ App.Desc.boobsShape = function(slave) {
 	return r;
 }
 
+/**
+ * @param {App.Entity.SlaveState} slave
+ * @returns {string} Extra description of the slave's boobs
+ */
+App.Desc.boobsExtra = function(slave) {
+	"use strict";
+	let r = ``;
+	/* eslint-disable */
+	let pronouns = getPronouns(slave);
+	let he = pronouns.pronoun;
+	let him = pronouns.object;
+	let his = pronouns.possessive;
+	let hers = pronouns.possessivePronoun;
+	let himself = pronouns.objectReflexive;
+	let boy = pronouns.noun;
+	let He = capFirstChar(he);
+	let His = capFirstChar(his);
+	/* eslint-enable */
+
+	if ($arcologies[0].FSGenderFundamentalistLawBeauty + $arcologies[0].FSGenderRadicalistLawBeauty > 0) {
+		if (slave.boobs > 12000) {
+			r += `They're so large that the fashionable feminine ideal is a bad joke here.`;
+		} else if (slave.boobs > 1600 && $arcologies[0].FSAssetExpansionist !== "unset") {
+			r += `They're too big for the fashionable feminine ideal.`;
+		} else if (slave.boobs > 800 && $arcologies[0].FSAssetExpansionist !== "unset") {
+			r += `They're bigger than expected for the fashionable feminine ideal, but given the average bust size in your arcology, it's not a surprise.`;
+		} else if (slave.boobs > 800) {
+			r += `They're too big for the fashionable feminine ideal.`;
+		} else if (slave.boobs < 500) {
+			r += `They're too small for the fashionable feminine ideal.`;
+		}
+	} else if ($arcologies[0].FSSlimnessEnthusiastLaw === 1) {
+		if ((slave.boobs >= 300)) {
+			r += `They're way too existent for the fashionable feminine ideal.`;
+		}
+	} else if ($arcologies[0].FSHedonisticDecadenceLaw2 === 1) {
+		if ((slave.boobs < 2000)) {
+			r += `They're too small for the fashionable feminine ideal.`;
+		}
+	}
+	
+	if (slave.physicalAge >= 18) {
+		if (slave.boobs > 20000) {
+			if (slave.fuckdoll > 0) {
+				r += `The difficulties of having gigantic breasts are much reduced for a Fuckdoll, since ${he}'s almost always restrained, stationary, or both.`;
+			} else {
+				if (canWalk(slave)) {
+					r += `${His} breasts are so massive that it is difficult for ${him} to move.`;
+					if (slave.muscles > 95) {
+						r += `However, ${he} is so powerfully built that ${he} can manage it with effort, using ${his} arms to support them.`;
+					} else if (slave.muscles > 30) {
+						r += `${He} can barely manage to get to ${his} feet unaided, and usually walks with ${his} arms crossed under ${his} tits to help take their weight.`;
+					} else if (slave.muscles > 5) {
+						r += `${He} requires assistance to get to ${his} feet, and uses a stand to support them when ${he} must remain upright for more than a short time.`;
+					} else if ((slave.assignment === "work in the dairy") && ($dairyRestraintsSetting > 1) && (slave.boobs > 12000)) {
+						r += `The straps that secure ${him} to the milking machine have become less necessary since ${his} breasts grew to the point where they pin ${him} to it.`;
+					} else {
+						r += `${He} cannot get to ${his} feet unaided, and uses a wheeled stand to support ${his} boobs when ${he} must walk or remain upright.`;
+					}
+				} else if (slave.boobs >= 40000) {
+					r += `They each are easily as big as ${him}, making ${him} mostly boob.`;
+				} else {
+					r += `Together they are nearly the same size as ${his} torso, making ${him} about half boob.`;
+				}
+				if ((slave.assignment !== "work in the dairy") || ($dairyRestraintsSetting < 2)) {
+					if ($boobAccessibility === 1) {
+						r += `Fortunately for ${him}, the penthouse is adapted for daily life with a bosom`;
+					} else {
+						r += `${He} has trouble living in your penthouse, which is not designed for ${girl}s with chests`;
+					}
+					r += `wider than a standard doorway.`;
+				}
+			}
+		}
+	} else if (slave.physicalAge <= 3) {
+		if (slave.boobs > 4000) {
+			if (slave.fuckdoll > 0) {
+				r += `The difficulties of having gigantic breasts are much reduced for a Fuckdoll, since ${he}'s almost always restrained, stationary, or both.`;
+			} else {
+		if (canWalk(slave)) {
+					r += `${His} breasts are so massive that it is difficult for ${him} to move.`;
+					if (slave.muscles > 95) {
+						r += `However, ${he} is so powerfully built that ${he} can manage it with effort, using ${his} arms to support them.`;
+					} else if (slave.muscles > 30) {
+						r += `${He} can barely manage to get to ${his} feet unaided, and usually walks with ${his} arms crossed under ${his} tits to help take their weight.`;
+					} else if (slave.muscles > 5) {
+						r += `${He} requires assistance to get to ${his} feet, and uses a stand to support them when ${he} must remain upright for more than a short time.`;
+					} else if ((slave.assignment === "work in the dairy") && ($dairyRestraintsSetting > 1) && (slave.boobs > 510 + slave.muscles*100)) {
+						r += `The straps that secure ${him} to the milking machine have become less necessary since ${his} breasts grew to the point where they pin ${him} to it.`;
+					} else {
+						r += `${He} cannot get to ${his} feet unaided, and uses a wheeled stand to support ${his} boobs when ${he} must walk or remain upright.`;
+					}
+				} else if (slave.boobs >= 40000) {
+					r += `They each dwarf ${him}, making ${him} mostly boob.`;
+				} else {
+					r += `Together they are nearly the same size as ${his} torso, making ${him} about half boob.`;
+				}
+				if (slave.boobs > 20000 && (slave.assignment !== "work in the dairy") || ($dairyRestraintsSetting < 2)) {
+					if ($boobAccessibility === 1) {
+						r += `Fortunately for ${him}, the penthouse is adapted for daily life with a bosom`;
+					} else {
+						r += `${He} has trouble living in your penthouse, which is not designed for ${girl}s with chests`;
+					}
+					r += `wider than a standard doorway.`;
+				}
+			}
+		}
+	} else if (slave.physicalAge <= 12) {
+		if (slave.boobs > 8000) {
+			if (slave.fuckdoll > 0) {
+				r += `The difficulties of having gigantic breasts are much reduced for a Fuckdoll, since ${he}'s almost always restrained, stationary, or both.`;
+			} else {
+				if (canWalk(slave)) {
+					r += `${His} breasts are so massive that it is difficult for ${him} to move.`;
+					if (slave.muscles > 95) {
+					r += `However, ${he} is so powerfully built that ${he} can manage it with effort, using ${his} arms to support them.`;
+					} else if (slave.muscles > 30) {
+					r += `${He} can barely manage to get to ${his} feet unaided, and usually walks with ${his} arms crossed under ${his} tits to help take their weight.`;
+					} else if (slave.muscles > 5) {
+					r += `${He} requires assistance to get to ${his} feet, and uses a stand to support them when ${he} must remain upright for more than a short time.`;
+					} else if ((slave.assignment === "work in the dairy") && ($dairyRestraintsSetting > 1) && (slave.boobs > 700 + slave.muscles*200)) {
+					r += `The straps that secure ${him} to the milking machine have become less necessary since ${his} breasts grew to the point where they pin ${him} to it.`;
+					} else {
+					r += `${He} cannot get to ${his} feet unaided, and uses a wheeled stand to support ${his} boobs when ${he} must walk or remain upright.`;
+					}
+				} else if (slave.boobs >= 20000) {
+					r += `Together they are nearly the same size as ${his} torso, making ${him} about half boob.`;
+				}
+				if (slave.boobs > 20000 && (slave.assignment !== "work in the dairy") || ($dairyRestraintsSetting < 2)) {
+					if ($boobAccessibility === 1) {
+					r += `Fortunately for ${him}, the penthouse is adapted for daily life with a bosom`;
+					} else {
+					r += `${He} has trouble living in your penthouse, which is not designed for ${girl}s with chests`;
+					}
+					r += `wider than a standard doorway.`;
+				}
+			}
+		}
+	} else if (slave.physicalAge < 18) {
+		if (slave.boobs > 15000) {
+			if (slave.fuckdoll > 0) {
+				r += `The difficulties of having gigantic breasts are much reduced for a Fuckdoll, since ${he}'s almost always restrained, stationary, or both.`;
+			} else {
+				if (canWalk(slave)) {
+					r += `${His} breasts are so massive that it is difficult for ${him} to move.`;
+					if (slave.muscles > 95) {
+						r += `However, ${he} is so powerfully built that ${he} can manage it with effort, using ${his} arms to support them.`;
+					} else if (slave.muscles > 30) {
+						r += `${He} can barely manage to get to ${his} feet unaided, and usually walks with ${his} arms crossed under ${his} tits to help take their weight.`;
+					} else if (slave.muscles > 5) {
+						r += `${He} requires assistance to get to ${his} feet, and uses a stand to support them when ${he} must remain upright for more than a short time.`;
+					} else if ((slave.assignment === "work in the dairy") && ($dairyRestraintsSetting > 1) && (slave.boobs > 900 + slave.muscles*500)) {
+						r += `The straps that secure ${him} to the milking machine have become less necessary since ${his} breasts grew to the point where they pin ${him} to it.`;
+					} else {
+						r += `${He} cannot get to ${his} feet unaided, and uses a wheeled stand to support ${his} boobs when ${he} must walk or remain upright.`;
+					}
+				} else if (slave.boobs >= 40000) {
+					r += `Together they are nearly the same size as ${his} torso, making ${him} about half boob.`;
+				}
+				if (slave.boobs > 20000 && (slave.assignment !== "work in the dairy") || ($dairyRestraintsSetting < 2)) {
+					if ($boobAccessibility === 1) {
+						r += `Fortunately for ${him}, the penthouse is adapted for daily life with a bosom`;
+					} else {
+						r += `${He} has trouble living in your penthouse, which is not designed for ${girl}s with chests`;
+					}
+					r += `wider than a standard doorway.`;
+				}
+			}
+		}
+	}
+	
+	if (!slave.fuckdoll) {
+		if (slave.markings === "heavily freckled") {
+			if (slave.boobs > 2000) {
+				r += `They're covered in freckles, though ${his} tits are so big that the freckles are spaced widely across the breadth of each boob.`;
+			} else if (slave.boobs > 250) {
+				r += `They're covered in freckles, which are particularly dense in the cleft between them.`;
+			} else {
+				r += `${His} chest is covered in dense freckles.`;
+			}
+		} else if (slave.markings === "freckles") {
+			if (slave.boobs > 250) {
+				r += `The tops of ${his} breasts and ${his} cleavage are lightly freckled.`;
+			} else {
+				r += `${His} chest is covered in a light spray of freckles.`;
+			}
+		}
+	}
+	return r;
+}
+
 /**
  * @param {App.Entity.SlaveState} slave
  * @returns {string} Description of slave's amputation, if present
@@ -6660,7 +6870,7 @@ App.Desc.ClothingDesc = function (slave) {
 }
 
 /**
- * @param {App.Entity.SlaveSate} slave
+ * @param {App.Entity.SlaveState} slave
  * @returns {string} The slave's horn, if present
  */
 App.Desc.horn = function (slave) {