From 45b1dcd922419e8024159ed5bfd57cc672fe7f7e Mon Sep 17 00:00:00 2001
From: Pregmodder <pregmodder@gmail.com>
Date: Mon, 13 Feb 2023 17:03:06 -0500
Subject: [PATCH] just use .weightDirection

---
 src/endWeek/nextWeek/nextWeek.js | 14 ++++++--
 src/endWeek/saDiet.js            | 55 ++++++++++++++++----------------
 2 files changed, 39 insertions(+), 30 deletions(-)

diff --git a/src/endWeek/nextWeek/nextWeek.js b/src/endWeek/nextWeek/nextWeek.js
index 004de0f7ea1..f4d433d5478 100644
--- a/src/endWeek/nextWeek/nextWeek.js
+++ b/src/endWeek/nextWeek/nextWeek.js
@@ -76,6 +76,16 @@ App.EndWeek.nextWeek = function() {
 	} else if (V.PC.fertPeak !== 0) {
 		V.PC.fertPeak = 0;
 	}
+	/* irregular leptin production weight gain/loss setter */
+	if (V.PC.geneticQuirks.wGain === 2 && V.PC.geneticQuirks.wLoss === 2) {
+		V.PC.weightDirection = either(-1, 1);
+	} else if (V.PC.geneticQuirks.wLoss === 2) {
+		V.PC.weightDirection = -1;
+	} else if (V.PC.geneticQuirks.wGain === 2 || V.PC.geneMods.livestock === 1) {
+		V.PC.weightDirection = 1;
+	} else {
+		V.PC.weightDirection = 0;
+	}
 
 	// Adding random changes to the economy
 	if (V.difficultySwitch === 1) {
@@ -230,10 +240,10 @@ App.EndWeek.nextWeek = function() {
 		/* irregular leptin production weight gain/loss setter */
 		if (slave.geneticQuirks.wGain === 2 && slave.geneticQuirks.wLoss === 2) {
 			slave.weightDirection = either(-1, 1);
-		} else if (slave.geneticQuirks.wGain === 2) {
-			slave.weightDirection = 1;
 		} else if (slave.geneticQuirks.wLoss === 2) {
 			slave.weightDirection = -1;
+		} else if (slave.geneticQuirks.wGain === 2 || slave.geneMods.livestock === 1) {
+			slave.weightDirection = 1;
 		} else {
 			slave.weightDirection = 0;
 		}
diff --git a/src/endWeek/saDiet.js b/src/endWeek/saDiet.js
index c474d67329e..41f848b9018 100644
--- a/src/endWeek/saDiet.js
+++ b/src/endWeek/saDiet.js
@@ -10,7 +10,6 @@ App.SlaveAssignment.diet = function saDiet(slave) {
 	const rearQuirk = slave.geneticQuirks.rearLipedema === 2 ? 2 : 0;
 	const boobSize = App.Medicine.fleshSize(slave, 'boobs');
 	const buttSize = App.Medicine.fleshSize(slave, 'butt');
-	const weightDirection = (slave.geneticQuirks.wLoss === 2 || slave.geneticQuirks.wGain === 2 || slave.geneMods.livestock === 0) ? slave.weightDirection : 1;
 
 	let growthGoal;
 	let roll;
@@ -84,9 +83,9 @@ App.SlaveAssignment.diet = function saDiet(slave) {
 		let weightLoss = 5;
 		if (slave.fuckdoll > 0) {
 			r.push(`The ports in Fuckdoll suits allow total dietary control, and ${he}'s barely aware ${he}'s being <span class="change positive">slimmed down.</span>`);
-			if (weightDirection === -1) {
+			if (slave.weightDirection === -1) {
 				slave.weight -= 12;
-			} else if (weightDirection === 1) {
+			} else if (slave.weightDirection === 1) {
 				slave.weight -= 6;
 			} else {
 				slave.weight -= 9;
@@ -206,9 +205,9 @@ App.SlaveAssignment.diet = function saDiet(slave) {
 				r.push(`${He} <span class="change positive">loses weight.</span>`);
 			}
 			weightLoss += V.feeder * 2;
-			if (weightDirection === -1) {
+			if (slave.weightDirection === -1) {
 				slave.weight -= (weightLoss + 3);
-			} else if (weightDirection === 1) {
+			} else if (slave.weightDirection === 1) {
 				slave.weight -= (weightLoss - 3) - (V.feeder);
 			} else {
 				slave.weight -= weightLoss;
@@ -265,9 +264,9 @@ App.SlaveAssignment.diet = function saDiet(slave) {
 		weightGain = 5;
 		if (slave.fuckdoll > 0) {
 			r.push(`The ports in Fuckdoll suits allow total dietary control, and ${he}'s barely aware ${he}'s being <span class="change positive">fattened up.</span>`);
-			if (weightDirection === 1) {
+			if (slave.weightDirection === 1) {
 				slave.weight += 12;
-			} else if (weightDirection === -1) {
+			} else if (slave.weightDirection === -1) {
 				slave.weight += 6;
 			} else {
 				slave.weight += 9;
@@ -494,9 +493,9 @@ App.SlaveAssignment.diet = function saDiet(slave) {
 					slave.trust -= 1;
 				}
 				weightGain += V.feeder * 2;
-				if (weightDirection === -1) {
+				if (slave.weightDirection === -1) {
 					slave.weight += Math.max((weightGain - 3) - (V.feeder), 1);
-				} else if (weightDirection === 1) {
+				} else if (slave.weightDirection === 1) {
 					slave.weight += weightGain + 3;
 				} else {
 					slave.weight += weightGain;
@@ -505,7 +504,7 @@ App.SlaveAssignment.diet = function saDiet(slave) {
 				if (slave.geneticQuirks.galactorrhea === 2 && random(1, 100) < slave.hormoneBalance && slave.lactation === 0) {
 					slave.inappropriateLactation = 1;
 				}
-			} else if (weightDirection === 1) {
+			} else if (slave.weightDirection === 1) {
 				r.push(`${He} gains a little weight this week despite ${his} dietary troubles.`);
 				slave.weight += 1;
 			} else {
@@ -528,9 +527,9 @@ App.SlaveAssignment.diet = function saDiet(slave) {
 			weightShift = -(V.feeder + 1);
 			r.push(`By carefully adjusting ${his} intake, ${he} slowly loses weight without realizing it.`);
 		}
-		if (weightDirection === -1) {
+		if (slave.weightDirection === -1) {
 			slave.weight += (weightShift - random(0, 1));
-		} else if (weightDirection === 1) {
+		} else if (slave.weightDirection === 1) {
 			slave.weight += (weightShift + random(0, 1));
 		} else {
 			slave.weight += weightShift;
@@ -635,10 +634,10 @@ App.SlaveAssignment.diet = function saDiet(slave) {
 				slave.butt -= 1;
 			}
 		}
-		if (slave.weight > 10 && weightDirection !== 1) {
+		if (slave.weight > 10 && slave.weightDirection !== 1) {
 			r.push(`${His} workouts have also <span class="change positive">burned off some excess fat.</span>`);
 			slave.weight -= 2;
-			if (weightDirection === -1) {
+			if (slave.weightDirection === -1) {
 				slave.weight -= 2;
 			}
 		}
@@ -674,10 +673,10 @@ App.SlaveAssignment.diet = function saDiet(slave) {
 			r.push(`${His} workout successes have <span class="health inc">improved ${his} health.</span>`);
 			improveCondition(slave, 10);
 		}
-		if (slave.weight > 10 && weightDirection !== 1) {
+		if (slave.weight > 10 && slave.weightDirection !== 1) {
 			r.push(`${His} workouts have also <span class="change positive">burned off some excess fat.</span>`);
 			slave.weight -= 2;
-			if (weightDirection === -1) {
+			if (slave.weightDirection === -1) {
 				slave.weight -= 2;
 			}
 		}
@@ -906,10 +905,10 @@ App.SlaveAssignment.diet = function saDiet(slave) {
 					r.push(`${His} workout successes have <span class="health inc">improved ${his} health.</span>`);
 					improveCondition(slave, 5);
 				}
-				if (slave.weight > 10 && weightDirection !== 1) {
+				if (slave.weight > 10 && slave.weightDirection !== 1) {
 					r.push(`${His} workouts have also <span class="change positive">burned off some excess fat.</span>`);
 					slave.weight -= 2;
-					if (weightDirection === -1) {
+					if (slave.weightDirection === -1) {
 						slave.weight -= 2;
 					}
 				}
@@ -982,10 +981,10 @@ App.SlaveAssignment.diet = function saDiet(slave) {
 			}
 		}
 		if ((slave.ovaries === 1 || slave.mpreg === 1) && slave.balls > 0) { // herm
-			if (slave.weight < 30 && weightDirection !== -1) {
+			if (slave.weight < 30 && slave.weightDirection !== -1) {
 				r.push(`Hormonal changes encourage ${his} body to <span class="change positive">grow softer.</span>`);
 				slave.weight += 1;
-				if (weightDirection === 1) {
+				if (slave.weightDirection === 1) {
 					slave.weight += 2;
 				}
 			}
@@ -1020,10 +1019,10 @@ App.SlaveAssignment.diet = function saDiet(slave) {
 				slave.balls -= 1;
 			}
 		} else if (slave.ovaries === 1 || slave.mpreg === 1) { // female
-			if (slave.weight < 40 && weightDirection !== 1) {
+			if (slave.weight < 40 && slave.weightDirection !== 1) {
 				r.push(`Hormonal changes encourage ${his} body to <span class="change positive">grow softer.</span>`);
 				slave.weight += 1;
-				if (weightDirection === 1) {
+				if (slave.weightDirection === 1) {
 					slave.weight += 2;
 				}
 			}
@@ -1040,10 +1039,10 @@ App.SlaveAssignment.diet = function saDiet(slave) {
 				slave.butt += 1;
 			}
 		} else if (slave.balls > 0) { // male
-			if (slave.weight < 20 && weightDirection !== 1) {
+			if (slave.weight < 20 && slave.weightDirection !== 1) {
 				r.push(`Hormonal changes encourage ${his} body to <span class="change positive">grow softer.</span>`);
 				slave.weight += 1;
-				if (weightDirection === 1) {
+				if (slave.weightDirection === 1) {
 					slave.weight += 2;
 				}
 			}
@@ -1204,10 +1203,10 @@ App.SlaveAssignment.diet = function saDiet(slave) {
 			r.push(`Hormonal changes encourage ${his} body to <span class="change positive">gain muscle.</span>`);
 			slave.muscles += 1 + slave.geneticQuirks.mGain;
 		}
-		if (slave.weight < 50 && weightDirection !== -1) {
+		if (slave.weight < 50 && slave.weightDirection !== -1) {
 			r.push(`Hormonal changes encourage ${his} body to <span class="change positive">grow softer.</span>`);
 			slave.weight += 1;
-			if (weightDirection === 1) {
+			if (slave.weightDirection === 1) {
 				slave.weight += 2;
 			}
 		}
@@ -1495,7 +1494,7 @@ App.SlaveAssignment.diet = function saDiet(slave) {
 			}
 		}
 		if (!["fattening", "restricted", "slimming"].includes(slave.diet)) {
-			if (weightDirection === -1 && slave.weight > -100) {
+			if (slave.weightDirection === -1 && slave.weight > -100) {
 				if (V.geneticMappingUpgrade >= 1) {
 					r.push(`${His} body <span class="lime">aggressively burns fat</span> due to ${his}`);
 					if (slave.geneticQuirks.wGain === 2 && slave.geneticQuirks.wLoss === 2) {
@@ -1505,7 +1504,7 @@ App.SlaveAssignment.diet = function saDiet(slave) {
 					}
 				}
 				slave.weight = Math.clamp(slave.weight - 3, -100, 200);
-			} else if (weightDirection === 1 && slave.geneticQuirks.wGain === 2 && slave.weight < 200) {
+			} else if (slave.weightDirection === 1 && slave.geneticQuirks.wGain === 2 && slave.weight < 200) {
 				if (V.geneticMappingUpgrade >= 1) {
 					r.push(`${His} body <span class="lime">aggressively stores fat</span> due to ${his}`);
 					if (slave.geneticQuirks.wGain === 2 && slave.geneticQuirks.wLoss === 2) {
-- 
GitLab