From 6a4342c5d0e5cf94a57a15fef32b03439beb08b4 Mon Sep 17 00:00:00 2001
From: Pregmodder <pregmodder@gmail.com>
Date: Sun, 1 Mar 2020 04:49:46 -0500
Subject: [PATCH] boobs fixes

---
 src/npc/descriptions/boobs/boobs.js | 63 ++++++++++++++++++-----------
 1 file changed, 39 insertions(+), 24 deletions(-)

diff --git a/src/npc/descriptions/boobs/boobs.js b/src/npc/descriptions/boobs/boobs.js
index 66debecd07b..9af8982aa91 100644
--- a/src/npc/descriptions/boobs/boobs.js
+++ b/src/npc/descriptions/boobs/boobs.js
@@ -63,32 +63,32 @@ App.Desc.boobBits = function() {
 			cup: "S-cup", anCup: true, adjective: ["astounding", "tremendous"], noun: ["breasts", "mammaries", "tits", "udders"]
 		},
 		5499: {
-			cup: "T-cup", anCup: false, adjective: ["astounding", "tremendous"], noun: ["breasts", "mammaries", "tits", "udders"]
+			cup: "T-cup", anCup: false, adjective: ["unmissable", "frightening"], noun: ["breasts", "mammaries", "tits", "udders"]
 		},
 		6499: {
-			cup: "U-cup", anCup: false, adjective: ["astounding", "tremendous"], noun: ["breasts", "mammaries", "tits", "udders"]
+			cup: "U-cup", anCup: false, adjective: ["unmissable", "attention-grabbing"], noun: ["breasts", "mammaries", "tits", "udders"]
 		},
 		6999: {
-			cup: "V-cup", anCup: false, adjective: ["astounding", "tremendous"], noun: ["breasts", "mammaries", "tits", "udders"]
+			cup: "V-cup", anCup: false, adjective: ["attention-grabbing", "spectacular"], noun: ["breasts", "mammaries", "tits", "udders"]
 		},
 		7499: {
-			cup: "X-cup", anCup: true, adjective: ["astounding", "tremendous"], noun: ["breasts", "mammaries", "tits", "udders"]
+			cup: "X-cup", anCup: true, adjective: ["spectacular", "unnatural"], noun: ["breasts", "mammaries", "tits", "udders"]
 		},
 		7999: {
-			cup: "Y-cup", anCup: true, adjective: ["astounding", "tremendous"], noun: ["breasts", "mammaries", "tits", "udders"]
+			cup: "Y-cup", anCup: true, adjective: ["unnatural", "unreal"], noun: ["breasts", "mammaries", "tits", "udders"]
 		},
 		8499: {
-			cup: "Z-cup", anCup: false, adjective: ["astounding", "tremendous"], noun: ["boobs", "breasts", "mammaries", "udders"]
+			cup: "Z-cup", anCup: false, adjective: ["mind-blowing", "unreal"], noun: ["boobs", "breasts", "mammaries", "udders"]
 		},
 		8999: {
-			cup: "ZZ-cup", anCup: true, adjective: ["astounding", "tremendous"], noun: ["breasts", "mammaries", "tits", "udders"]
+			cup: "ZZ-cup", anCup: true, adjective: ["mind-blowing", "unbelievable"], noun: ["breasts", "mammaries", "tits", "udders"]
 		},
 		9999: {
-			cup: "ZZZ-cup", anCup: false, adjective: ["astounding", "tremendous"], noun: ["boobs", "breasts", "mammaries", "udders"]
+			cup: "ZZZ-cup", anCup: false, adjective: ["mind-blowing", "unbelievable"], noun: ["boobs", "breasts", "mammaries", "udders"]
 		},
 		14999: {
 			cup: "", anCup: false,
-			adjective: ["obscenely massive", "enormous"],
+			adjective: ["obscenely massive"],
 			noun: ["boobs", "breasts", "mammaries", "masses of breastflesh", "udders"]
 		},
 		24999: {
@@ -1336,17 +1336,27 @@ App.Desc.boobs = function() {
 		let r = `${His} `;
 		if (slave.boobs < 300) {
 			r += `${App.Desc.boobBits.adjective(slave.boobs)} breasts are practically non-existent.`;
-		} else if (slave.boobs < 10000) {
+		} else if (slave.boobs < 4700) {
 			if (V.showBoobCCs) {
 				r += App.Desc.boobBits.format("%ADJ %NOUN, %VOLUME CCs each, would fill %CUPs", slave.boobs);
 			} else {
 				r += App.Desc.boobBits.format("%ADJ %NOUN, would fill %CUPs", slave.boobs);
 			}
-			if (slave.boobs < 5000 + (slave.muscles * 10) && slave.physicalAge <= 3) {
-				r += ` and are so large that ${walkingAbility(slave)}`;
+			r += '.';
+		} else if (slave.boobs < 5000 + (slave.muscles * 10) && slave.physicalAge <= 3) {
+			if (V.showBoobCCs) {
+				r += App.Desc.boobBits.format("%ADJ %NOUN, %VOLUME CCs each, would fill %CUPs", slave.boobs);
 			} else {
-				r += '.';
+				r += App.Desc.boobBits.format("%ADJ %NOUN, would fill %CUPs", slave.boobs);
 			}
+			r += ` and are so large that ${walkingAbility(slave)}`;
+		} else if (slave.boobs < 8500) {
+			if (V.showBoobCCs) {
+				r += App.Desc.boobBits.format("%ADJ %NOUN, %VOLUME CCs each, would fill %CUPs", slave.boobs);
+			} else {
+				r += App.Desc.boobBits.format("%ADJ %NOUN, would fill %CUPs", slave.boobs);
+			}
+			r += '.';
 		} else if (slave.boobs < 10000 + (slave.muscles * 20) && slave.physicalAge <= 12) {
 			r += `${App.Desc.boobBits.noun(slave.boobs, false)} have ${slave.boobsImplant ? 'been altered' : 'grown'} past pretense of proportion. `;
 			if (V.showBoobCCs) {
@@ -1354,15 +1364,15 @@ App.Desc.boobs = function() {
 			} else {
 				r += 'They';
 			}
-			r += ` and are so large that ${walkingAbility(slave)}`;
-		} else if (slave.boobs < 20000 + (slave.muscles * 50) && slave.physicalAge < 18) {
+			r += ` are so large that ${walkingAbility(slave)}`;
+		} else if (slave.boobs < 20000 + (slave.muscles * 50) && slave.physicalAge < 18 && slave.physicalAge >= 13) {
 			r += `${App.Desc.boobBits.noun(slave.boobs, false)} have ${slave.boobsImplant ? 'been altered' : 'grown'} past any pretense of proportion. `;
 			if (V.showBoobCCs) {
 				r += `At ${num(slave.boobs)} CCs each, they`;
 			} else {
 				r += 'They';
 			}
-			r += ` and are so large that ${walkingAbility(slave)}`;
+			r += ` are so large that ${walkingAbility(slave)}`;
 		} else if (slave.boobs < 20000) {
 			r += `${App.Desc.boobBits.noun(slave.boobs, false)}`;
 			if (V.showBoobCCs) {
@@ -1374,7 +1384,7 @@ App.Desc.boobs = function() {
 			if (V.showBoobCCs) {
 				r += `, ${num(slave.boobs)} CCs each,`;
 			}
-			r += ` and are so large that ${walkingAbility(slave)}`;
+			r += ` are so large that ${walkingAbility(slave)}`;
 		} else {
 			r += App.Desc.boobBits.noun(slave.boobs, false);
 			if (V.showBoobCCs) {
@@ -1458,10 +1468,11 @@ App.Desc.boobsExtra = function(slave, pronouns) {
 	/**
 	 * @param {number} unmovableLimit
 	 * @param {number} bodySize
+	 * @param {number} dwarfSize
 	 * @param {slaveTestCallback} dairyTest
 	 * @returns {string}
 	 */
-	function livingRestrictions(unmovableLimit, bodySize, dairyTest) {
+	function livingRestrictions(unmovableLimit, bodySize, dwarfSize, dairyTest) {
 		let res = [];
 		if (slave.boobs > unmovableLimit) {
 			if (slave.fuckdoll > 0) {
@@ -1470,13 +1481,17 @@ App.Desc.boobsExtra = function(slave, pronouns) {
 				if (canWalk(slave)) {
 					res.push(`${His} breasts are so massive that it is difficult for ${him} to move.`);
 					res.push(walkingRestrictions(dairyTest));
+				} else if (slave.boobs >= dwarfSize) {
+					res.push(`They each dwarf ${him}, making ${him} mostly boob.`);
 				} else if (slave.boobs >= bodySize) {
 					res.push(`They each are easily as big as ${him}, making ${him} mostly boob.`);
 				} else {
 					res.push(`Together they are nearly the same size as ${his} torso, making ${him} about half boob.`);
 				}
-				if ((slave.assignment !== App.Data.Facilities.dairy.jobs.cow.assignment) || (V.dairyRestraintsSetting < 2)) {
-					res.push(penthouseAccessibility());
+				if (slave.boobs >= 15000) {
+					if ((slave.assignment !== App.Data.Facilities.dairy.jobs.cow.assignment) || (V.dairyRestraintsSetting < 2)) {
+						res.push(penthouseAccessibility());
+					}
 				}
 			}
 		}
@@ -1507,13 +1522,13 @@ App.Desc.boobsExtra = function(slave, pronouns) {
 	}
 
 	if (slave.physicalAge <= 3) {
-		r.push(livingRestrictions(4000, 10000, s => s.boobs > 5100 + (s.muscles * 100)));
+		r.push(livingRestrictions(4000, 10000, 40000, s => s.boobs > 5100 + (s.muscles * 100)));
 	} else if (slave.physicalAge <= 12) {
-		r.push(livingRestrictions(8000, 20000, s => s.boobs > 7000 + (s.muscles * 200)));
+		r.push(livingRestrictions(8000, 20000, 100000, s => s.boobs > 7000 + (s.muscles * 200)));
 	} else if (slave.physicalAge < 18) {
-		r.push(livingRestrictions(15000, 40000, s => s.boobs > 9000 + (s.muscles * 500)));
+		r.push(livingRestrictions(15000, 30000, 250000, s => s.boobs > 9000 + (s.muscles * 500)));
 	} else { // slave.physicalAge >= 18
-		r.push(livingRestrictions(20000, 40000, s => s.boobs > 12000));
+		r.push(livingRestrictions(20000, 40000, 500000, s => s.boobs > 12000));
 	}
 
 	if (slave.fuckdoll === 0) {
-- 
GitLab