From 84b4abe8e4848a136b0f304ed6eb0ae3a1dbb124 Mon Sep 17 00:00:00 2001
From: Cyanthesis <cyanthesis@outlook.com>
Date: Mon, 5 Aug 2024 23:12:21 -0400
Subject: [PATCH] capitalization consistency fixes + typo fixes

---
 src/endWeek/saSocialEffects.js |  2 +-
 src/js/slaveCostJS.js          | 42 ++++++++++++++++++----------------
 src/js/utilsMisc.js            | 14 ++++++++++++
 3 files changed, 37 insertions(+), 21 deletions(-)

diff --git a/src/endWeek/saSocialEffects.js b/src/endWeek/saSocialEffects.js
index 4221d78a1cf..36ee8f3875c 100644
--- a/src/endWeek/saSocialEffects.js
+++ b/src/endWeek/saSocialEffects.js
@@ -468,7 +468,7 @@ App.SlaveAssignment.saSocialEffects = function(slave) {
 						t.push(new SocialEffect("Degradationist", 0, `Trusting headgirl`,
 							`Society accepts ${slave.slaveName} trusting you, since ${he} is your Head Girl and keeps the other slaves down.`));
 					} else if (slave.assignment === Job.RECRUITER) {
-						t.push(new SocialEffect("Degradationist", 0, `Trusting recruited`,
+						t.push(new SocialEffect("Degradationist", 0, `Trusting recruiter`,
 							`Society accepts ${slave.slaveName} trusting you, since ${he} is your Recruiter and entraps new slaves.`));
 					} else if (slave.devotion > 95) {
 						t.push(new SocialEffect("Degradationist", 0, `Trusting worshipful`,
diff --git a/src/js/slaveCostJS.js b/src/js/slaveCostJS.js
index f02d04156b4..e1764fe6bb2 100644
--- a/src/js/slaveCostJS.js
+++ b/src/js/slaveCostJS.js
@@ -243,33 +243,33 @@ globalThis.BeautyArray = function(slave) {
 		switch (slave.faceShape) {
 			case "masculine":
 				if (arcologyInfo.fsActive('FSGenderRadicalist')) {
-					adjustBeauty("Masculine face: Gender Radicalist", -((2 - (FSValues.FSGenderRadicalist / 25)) * (slave.face / 30)));
+					adjustBeauty("Masculine Face: Gender Radicalist", -((2 - (FSValues.FSGenderRadicalist / 25)) * (slave.face / 30)));
 				} else if (arcologyInfo.fsActive('FSGenderFundamentalist')) {
-					adjustBeauty("Masculine face: Gender Fundamentalist", -((2 + (FSValues.FSGenderFundamentalist / 25)) * (slave.face / 30)));
+					adjustBeauty("Masculine Face: Gender Fundamentalist", -((2 + (FSValues.FSGenderFundamentalist / 25)) * (slave.face / 30)));
 				} else {
-					adjustBeauty("Masculine face: General", -(2 * (slave.face / 30)));
+					adjustBeauty("Masculine Face: General", -(2 * (slave.face / 30)));
 				}
 				break;
 			case "androgynous":
 				if (arcologyInfo.fsActive('FSGenderRadicalist')) {
-					adjustBeauty("Androgynous face: Gender Radicalist", (2 - ((1 - (FSValues.FSGenderRadicalist / 25)) * (slave.face / 30))));
+					adjustBeauty("Androgynous Face: Gender Radicalist", (2 - ((1 - (FSValues.FSGenderRadicalist / 25)) * (slave.face / 30))));
 				} else if (arcologyInfo.fsActive('FSGenderFundamentalist')) {
-					adjustBeauty("Androgynous face: Gender Fundamentalist", (2 - ((1 + (FSValues.FSGenderFundamentalist / 25)) * (slave.face / 30))));
+					adjustBeauty("Androgynous Face: Gender Fundamentalist", (2 - ((1 + (FSValues.FSGenderFundamentalist / 25)) * (slave.face / 30))));
 				} else {
-					adjustBeauty("Androgynous face: General", (2 - (slave.face / 30)));
+					adjustBeauty("Androgynous Face: General", (2 - (slave.face / 30)));
 				}
 				break;
 			case "exotic":
-				adjustBeauty("Exotic face: General", (2 * (slave.face / 30)));
+				adjustBeauty("Exotic Face: General", (2 * (slave.face / 30)));
 				break;
 			case "feline":
-				adjustBeauty("Feline face: General", (2 * (slave.face / 30)));
+				adjustBeauty("Feline Face: General", (2 * (slave.face / 30)));
 				break;
 			case "sensual":
-				adjustBeauty("Sensual face: General", (2 + (slave.face / 30)));
+				adjustBeauty("Sensual Face: General", (2 + (slave.face / 30)));
 				break;
 			case "cute":
-				adjustBeauty("Cute face: General", (8 / 3));
+				adjustBeauty("Cute Face: General", (8 / 3));
 				break;
 		}
 	}
@@ -974,46 +974,48 @@ globalThis.BeautyArray = function(slave) {
 		if (slave.physicalAge < 11) {
 			adjustBeauty("Hair: Youth", 4);
 		} else if (slave.physicalAge >= 13) {
+			const underArmHStyleCapitalized = App.Utils.capitalizeAll(slave.underArmHStyle);
 			switch (slave.underArmHStyle) {
 				case "hairless":
 				case "bald":
 				case "waxed":
 				case "shaved":
-					adjustBeauty(`Armpit Hair: ${slave.underArmHStyle}`, 2);
+					adjustBeauty(`Armpit Hair: ${underArmHStyleCapitalized}`, 2);
 					break;
 				case "bushy":
 					if (arcology.FSBodyPurist > 0) {
-						adjustBeauty(`Armpit Hair: ${slave.underArmHStyle}: Body Purist`, 4);
+						adjustBeauty(`Armpit Hair: ${underArmHStyleCapitalized}: Body Purist`, 4);
 					} else {
-						adjustBeauty(`Armpit Hair: ${slave.underArmHStyle}`, -2);
+						adjustBeauty(`Armpit Hair: ${underArmHStyleCapitalized}`, -2);
 					}
 					break;
 			}
+			const pubicHStyleCapitalized = App.Utils.capitalizeAll(slave.pubicHStyle);
 			switch (slave.pubicHStyle) {
 				case "hairless":
 				case "bald":
 				case "waxed":
-					adjustBeauty(`Pubic Hair: ${slave.pubicHStyle}`, 2);
+					adjustBeauty(`Pubic Hair: ${pubicHStyleCapitalized}`, 2);
 					break;
 				case "bushy":
 					if (arcology.FSBodyPurist > 0) {
-						adjustBeauty(`Pubic Hair: ${slave.pubicHStyle}: Body Purist`, 2);
+						adjustBeauty(`Pubic Hair: ${pubicHStyleCapitalized}: Body Purist`, 2);
 					} else {
-						adjustBeauty(`Pubic Hair: ${slave.pubicHStyle}`, -4);
+						adjustBeauty(`Pubic Hair: ${pubicHStyleCapitalized}`, -4);
 					}
 					break;
 				case "bushy in the front and neat in the rear":
 					if (arcology.FSBodyPurist > 0) {
-						adjustBeauty(`Pubic Hair: ${slave.pubicHStyle}: Body Purist`, 4);
+						adjustBeauty(`Pubic Hair: ${pubicHStyleCapitalized}: Body Purist`, 4);
 					} else {
-						adjustBeauty(`Pubic Hair: ${slave.pubicHStyle}`, -2);
+						adjustBeauty(`Pubic Hair: ${pubicHStyleCapitalized}`, -2);
 					}
 					break;
 				case "very bushy":
 					if (arcology.FSBodyPurist > 0) {
-						adjustBeauty(`Pubic Hair: ${slave.pubicHStyle}: Body Purist`, 2);
+						adjustBeauty(`Pubic Hair: ${pubicHStyleCapitalized}: Body Purist`, 2);
 					} else {
-						adjustBeauty(`Pubic Hair: ${slave.pubicHStyle}:`, -6);
+						adjustBeauty(`Pubic Hair: ${pubicHStyleCapitalized}`, -6);
 					}
 					break;
 			}
diff --git a/src/js/utilsMisc.js b/src/js/utilsMisc.js
index d2f30444297..dc805e3f428 100644
--- a/src/js/utilsMisc.js
+++ b/src/js/utilsMisc.js
@@ -142,6 +142,20 @@ App.Utils.removeArticles = function(str) {
 	return str;
 };
 
+/**
+ * Capitalizes all the words in a string
+ * @param {string} str string to capitalize
+ * @returns {string} string with all words capitalized
+ *
+ * @example "apple, banana, carrot"
+ * // returns "Apple, Banana, Carrot"
+ */
+App.Utils.capitalizeAll = function(str) {
+	return str.split(" ").map((word) => {
+		return word.charAt(0).toUpperCase() + word.slice(1);
+	}).join(" ");
+};
+
 /**
  * @param {FC.Zeroable<FC.Race>} badRace
  * @returns {Array<FC.Race>}
-- 
GitLab