From feffc911379a1a47edb86b99dea82df47970c3a3 Mon Sep 17 00:00:00 2001
From: Anu <anulithic@gmail.com>
Date: Thu, 2 Mar 2023 17:12:08 -0800
Subject: [PATCH] Absolute hormone balance

---
 devNotes/legacy files/slave variables documentation.md | 6 ++++--
 js/003-data/slaveSummaryData.js                        | 4 +++-
 src/endWeek/saHormonesEffects.js                       | 6 +++++-
 src/js/SlaveState.js                                   | 6 ++++--
 src/npc/children/ChildState.js                         | 6 ++++--
 src/npc/children/childSummary.js                       | 8 ++++++--
 src/player/js/PlayerState.js                           | 8 +++++---
 7 files changed, 31 insertions(+), 13 deletions(-)

diff --git a/devNotes/legacy files/slave variables documentation.md b/devNotes/legacy files/slave variables documentation.md
index 568709e95aa..a99b79f0153 100644
--- a/devNotes/legacy files/slave variables documentation.md	
+++ b/devNotes/legacy files/slave variables documentation.md	
@@ -4252,7 +4252,8 @@ Cause of slave death.
 hormoneBalance:
 
 Slave's current hormonal balance, directs saHormones changes
--500 - -400 - overwhelmingly masculine
+-500        - absolutely masculine
+-499 - -400 - overwhelmingly masculine
 -399 - -300 - extremely masculine
 -299 - -200 - heavily masculine
 -199 - -100 - very masculine
@@ -4262,7 +4263,8 @@ Slave's current hormonal balance, directs saHormones changes
  100 -  199 - very feminine
  200 -  299 - heavily feminine
  300 -  399 - extremely feminine
- 400 -  500 - overwhelmingly feminine
+ 400 -  499 - overwhelmingly feminine
+        500 - absolutely feminine
 
 onDiet:
 
diff --git a/js/003-data/slaveSummaryData.js b/js/003-data/slaveSummaryData.js
index 22d23321c3a..5377c2e43ba 100644
--- a/js/003-data/slaveSummaryData.js
+++ b/js/003-data/slaveSummaryData.js
@@ -515,6 +515,7 @@ App.Data.SlaveSummary = {
 			8: "Cum and Milk Based."
 		},
 		hormoneBalance: { // rating is hormoneBalance value + 500
+			0: "Absolutely masculine",
 			100: "Overwhelmingly masculine",
 			200: "Extremely masculine",
 			300: "Heavily masculine",
@@ -525,7 +526,8 @@ App.Data.SlaveSummary = {
 			699: "Very feminine",
 			799: "Heavily feminine",
 			899: "Extremely feminine",
-			1000: "Overwhelmingly feminine"
+			999: "Overwhelmingly feminine",
+			1000: "Absolutely feminine"
 		},
 		health: {
 			illness: {
diff --git a/src/endWeek/saHormonesEffects.js b/src/endWeek/saHormonesEffects.js
index f53743e6c64..42e36199abc 100644
--- a/src/endWeek/saHormonesEffects.js
+++ b/src/endWeek/saHormonesEffects.js
@@ -33,7 +33,9 @@ App.SlaveAssignment.hormonesEffects = function saHormonesEffects(slave) {
 	 *
 	 */
 	function hormoneBalance(slave) {
-		if (slave.hormoneBalance <= -400) {
+		if (slave.hormoneBalance <= -500) {
+			r.push(`${His} hormone balance is absolutely masculine.`);
+		} else if (slave.hormoneBalance <= -400) {
 			r.push(`${His} hormone balance is overwhelmingly masculine.`);
 		} else if (slave.hormoneBalance <= -300) {
 			r.push(`${His} hormone balance is extremely masculine.`);
@@ -43,6 +45,8 @@ App.SlaveAssignment.hormonesEffects = function saHormonesEffects(slave) {
 			r.push(`${His} hormone balance is very masculine.`);
 		} else if (slave.hormoneBalance < -20) {
 			r.push(`${His} hormone balance is masculine.`);
+		} else if (slave.hormoneBalance >= 500) {
+			r.push(`${His} hormone balance is absolutely feminine.`);
 		} else if (slave.hormoneBalance >= 400) {
 			r.push(`${His} hormone balance is overwhelmingly feminine.`);
 		} else if (slave.hormoneBalance >= 300) {
diff --git a/src/js/SlaveState.js b/src/js/SlaveState.js
index 262183b82c6..7aa075a89e6 100644
--- a/src/js/SlaveState.js
+++ b/src/js/SlaveState.js
@@ -2638,7 +2638,8 @@ App.Entity.SlaveState = class SlaveState {
 		 *
 		 * ||thresholds|
 		 * |-|-|
-		 * -500 - -400 | overwhelmingly masculine
+		 * -500 | absolutely masculine
+		 * -499 - -400 | overwhelmingly masculine
 		 * -399 - -300 | extremely masculine
 		 * -299 - -200 | heavily masculine
 		 * -199 - -100 | very masculine
@@ -2648,7 +2649,8 @@ App.Entity.SlaveState = class SlaveState {
 		 * 100 - 199 | very feminine
 		 * 200 - 299 | heavily feminine
 		 * 300 - 399 | extremely feminine
-		 * 400 - 500 | overwhelmingly feminine
+		 * 400 - 499 | overwhelmingly feminine
+		 * 500 | absolutely feminine
 		 */
 		this.hormoneBalance = 0;
 		/** Whether a slave is permitted to eat Hedonistic Decadence's specialized slave food.
diff --git a/src/npc/children/ChildState.js b/src/npc/children/ChildState.js
index 27388ac6e51..b02ba500b97 100644
--- a/src/npc/children/ChildState.js
+++ b/src/npc/children/ChildState.js
@@ -1836,7 +1836,8 @@ App.Facilities.Nursery.ChildState = class ChildState {
 		 *
 		 * ||thresholds|
 		 * |-|-|
-		 * -500 - -400 | overwhelmingly masculine
+		 * -500 | absolutely masculine
+		 * -499 - -400 | overwhelmingly masculine
 		 * -399 - -300 | extremely masculine
 		 * -299 - -200 | heavily masculine
 		 * -199 - -100 | very masculine
@@ -1846,7 +1847,8 @@ App.Facilities.Nursery.ChildState = class ChildState {
 		 * 100 - 199 | very feminine
 		 * 200 - 299 | heavily feminine
 		 * 300 - 399 | extremely feminine
-		 * 400 - 500 | overwhelmingly feminine
+		 * 400 - 499 | overwhelmingly feminine
+		 * 500 | absolutely feminine
 		 */
 		this.hormoneBalance = 0;
 		/** Whether a slave is permitted to eat Hedonistic Decadence's specialized slave food.
diff --git a/src/npc/children/childSummary.js b/src/npc/children/childSummary.js
index 4bbb1fb0253..b6544ea511b 100644
--- a/src/npc/children/childSummary.js
+++ b/src/npc/children/childSummary.js
@@ -135,7 +135,9 @@ App.Facilities.Nursery.ChildSummary = function(child) {
 			} else {
 				r += `<span class="pink"> `;
 			}
-			if (child.hormoneBalance < -400) {
+			if (child.hormoneBalance <= -500) {
+				r += `Absolutely masculine`;
+			} else if (child.hormoneBalance <= -400) {
 				r += `Overwhelmingly masculine`;
 			} else if (child.hormoneBalance <= -300) {
 				r += `Extremely masculine`;
@@ -155,8 +157,10 @@ App.Facilities.Nursery.ChildSummary = function(child) {
 				r += `Heavily feminine`;
 			} else if (child.hormoneBalance <= 399) {
 				r += `Extremely feminine`;
-			} else if (child.hormoneBalance <= 500) {
+			} else if (child.hormoneBalance <= 499) {
 				r += `Overwhelmingly feminine`;
+			} else if (child.hormoneBalance <= 500) {
+				r += `Absolutely feminine`;
 			}
 			r += ` hormone balance.</span> `;
 		}
diff --git a/src/player/js/PlayerState.js b/src/player/js/PlayerState.js
index 01dbb6fea5c..c783f858c42 100644
--- a/src/player/js/PlayerState.js
+++ b/src/player/js/PlayerState.js
@@ -1954,11 +1954,12 @@ App.Entity.PlayerState = class PlayerState {
 		/** Who, if relevant, the body belonged to. */
 		this.origBodyOwnerID = 0;
 		/**
-		 * Slave's current hormonal balance, directs saHormones changes
+		 * Player's current hormonal balance, directs saHormones changes
 		 *
 		 * ||thresholds|
 		 * |-|-|
-		 * -500 - -400 | overwhelmingly masculine
+		 * -500 | absolutely masculine
+		 * -499 - -400 | overwhelmingly masculine
 		 * -399 - -300 | extremely masculine
 		 * -299 - -200 | heavily masculine
 		 * -199 - -100 | very masculine
@@ -1968,7 +1969,8 @@ App.Entity.PlayerState = class PlayerState {
 		 * 100 - 199 | very feminine
 		 * 200 - 299 | heavily feminine
 		 * 300 - 399 | extremely feminine
-		 * 400 - 500 | overwhelmingly feminine
+		 * 400 - 499 | overwhelmingly feminine
+		 * 500 | absolutely feminine
 		 */
 		this.hormoneBalance = 0;
 		/** Do you have the breast shape maintaining mesh implant.
-- 
GitLab