From 8ea9cb7c0a5469376066a53ea6d84a465457c99a Mon Sep 17 00:00:00 2001
From: lowercasedonkey <lowercasedonkey@gmail.com>
Date: Thu, 4 Jun 2020 21:09:22 -0400
Subject: [PATCH] shoulders

---
 src/npc/descriptions/shoulders.js         | 57 +++++++++++++++++++++++
 src/uncategorized/longSlaveDescription.tw |  2 +-
 src/utility/descriptionWidgetsFlesh.tw    | 55 ----------------------
 3 files changed, 58 insertions(+), 56 deletions(-)
 create mode 100644 src/npc/descriptions/shoulders.js

diff --git a/src/npc/descriptions/shoulders.js b/src/npc/descriptions/shoulders.js
new file mode 100644
index 00000000000..ecf0a2e4352
--- /dev/null
+++ b/src/npc/descriptions/shoulders.js
@@ -0,0 +1,57 @@
+App.Desc.shoulders = function(slave) {
+	const r = [];
+	const {
+		he, him, his, hers, himself, boy, He, His
+	} = getPronouns(slave);
+	if (slave.fuckdoll === 0) {
+		if (slave.shoulders < -1) {
+			r.push(`${His} shoulders and chest are very narrow and`);
+			if (slave.boobs > 2000) {
+				r.push(`feminine, forcing ${his} pressed-together tits to spread far beyond ${his} sides.`);
+			} else {
+				r.push(`feminine.`);
+			}
+		} else if (slave.shoulders < 0) {
+			r.push(`${His} shoulders and chest are quite`);
+			if (slave.boobs > 1200) {
+				r.push(`feminine, causing a lot of cleavage and pressing ${his} boobs outward beyond ${his} sides.`);
+			} else {
+				r.push(`feminine.`);
+			}
+		} else if (slave.shoulders > 1) {
+			r.push(`${His} shoulders and chest are very`);
+			if (slave.boobs > 600) {
+				r.push(`broad, making ${his} boobs look a lot smaller than they actually are.`);
+			} else {
+				r.push(`broad.`);
+			}
+		} else if (slave.shoulders > 0) {
+			r.push(`${His} shoulders and chest are fairly`);
+			if (slave.boobs > 600) {
+				r.push(`broad, making ${his} tits look smaller than they actually are.`);
+			} else {
+				r.push(`broad.`);
+			}
+		} else {
+			r.push(`${His} shoulders and chest are`);
+			if (slave.boobs > 800) {
+				r.push(`feminine, flattering ${his} breasts.`);
+			} else {
+				r.push(`feminine.`);
+			}
+		}
+		if (slave.shoulders > slave.hips) {
+			r.push(`They're wider than ${his} hips,`);
+			if (slave.boobs > 2000 * (slave.shoulders - slave.hips)) {
+				r.push(`but ${his} massive breasts make it hard to discern.`);
+			} else if (V.arcologies[0].FSGenderRadicalist !== "unset") {
+				r.push(`giving ${him} a somewhat mannish appearance.`);
+			} else if (V.arcologies[0].FSGenderFundamentalist !== "unset") {
+				r.push(`giving ${him} an <span class="red">ugly, mannish appearance.</span>`);
+			} else {
+				r.push(`giving ${him} an <span class="red">unattractive, somewhat mannish, appearance.</span>`);
+			}
+		}
+	}
+	return r.join(" ");
+};
diff --git a/src/uncategorized/longSlaveDescription.tw b/src/uncategorized/longSlaveDescription.tw
index 12c354b401d..67180fadbe0 100644
--- a/src/uncategorized/longSlaveDescription.tw
+++ b/src/uncategorized/longSlaveDescription.tw
@@ -1983,7 +1983,7 @@ $He is
 <<print App.Desc.boobsExtra($activeSlave)>>
 <<= App.Desc.mods($activeSlave, "chest")>>
 <<= App.Desc.mods($activeSlave, "breast")>>
-<<shouldersDescription>>
+<<= App.Desc.shoulders($activeSlave)>>
 <<print App.Desc.nipples($activeSlave)>>
 <<= App.Desc.mods($activeSlave, "nipple")>>
 <<print App.Desc.areola($activeSlave)>>
diff --git a/src/utility/descriptionWidgetsFlesh.tw b/src/utility/descriptionWidgetsFlesh.tw
index 44774144680..9bae1ba8232 100644
--- a/src/utility/descriptionWidgetsFlesh.tw
+++ b/src/utility/descriptionWidgetsFlesh.tw
@@ -1,60 +1,5 @@
 :: flesh description widgets [widget nobr]
 
-<<widget "shouldersDescription">>
-
-<<if $activeSlave.fuckdoll == 0>>
-	<<if $activeSlave.shoulders < -1>>
-		$His shoulders and chest are very narrow and
-		<<if $activeSlave.boobs > 2000>>
-			feminine, forcing $his pressed-together tits to spread far beyond $his sides.
-		<<else>>
-			feminine.
-		<</if>>
-	<<elseif $activeSlave.shoulders < 0>>
-		$His shoulders and chest are quite
-		<<if $activeSlave.boobs > 1200>>
-			feminine, causing a lot of cleavage and pressing $his boobs outward beyond $his sides.
-		<<else>>
-			feminine.
-		<</if>>
-	<<elseif $activeSlave.shoulders > 1>>
-		$His shoulders and chest are very
-		<<if $activeSlave.boobs > 600>>
-			broad, making $his boobs look a lot smaller than they actually are.
-		<<else>>
-			broad.
-		<</if>>
-	<<elseif $activeSlave.shoulders > 0>>
-		$His shoulders and chest are fairly
-		<<if $activeSlave.boobs > 600>>
-			broad, making $his tits look smaller than they actually are.
-		<<else>>
-			broad.
-		<</if>>
-	<<else>>
-		$His shoulders and chest are
-		<<if $activeSlave.boobs > 800>>
-			feminine, flattering $his breasts.
-		<<else>>
-			feminine.
-		<</if>>
-	<</if>>
-	<<if $activeSlave.shoulders > $activeSlave.hips>>
-		They're wider than $his hips,
-		<<if $activeSlave.boobs > 2000*($activeSlave.shoulders- $activeSlave.hips)>>
-			but $his massive breasts make it hard to discern.
-		<<elseif $arcologies[0].FSGenderRadicalist != "unset">>
-			giving $him a somewhat mannish appearance.
-		<<elseif $arcologies[0].FSGenderFundamentalist != "unset">>
-			giving $him an @@.red;ugly, mannish appearance.@@
-		<<else>>
-			giving $him an @@.red;unattractive, somewhat mannish, appearance.@@
-		<</if>>
-	<</if>>
-<</if>>
-
-<</widget>>
-
 <<widget "heightImplantDescription">>
 
 <<if $activeSlave.heightImplant > 1>>
-- 
GitLab