From 20c1674a5efd1860909bb74d607af3376a108651 Mon Sep 17 00:00:00 2001
From: Skriv <skrivelese@gmail.com>
Date: Fri, 3 Sep 2021 21:40:57 +0200
Subject: [PATCH 1/6] Math.clamp fixes

---
 src/endWeek/reports/clinicReport.js |  6 +++---
 src/endWeek/saDiet.js               | 12 ++++++------
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/endWeek/reports/clinicReport.js b/src/endWeek/reports/clinicReport.js
index 797ebee9b36..707c7c35d0c 100644
--- a/src/endWeek/reports/clinicReport.js
+++ b/src/endWeek/reports/clinicReport.js
@@ -144,7 +144,7 @@ App.EndWeek.clinicReport = function() {
 										r.push(`catch a little of it in a cup for further "analysis",`);
 									}
 									r.push(`<span class="fetish inc">further feeding ${his} cum fetishism.</span>`);
-									Math.clamp(S.Nurse.fetishStrength += 4, 0, 100);
+									S.Nurse.fetishStrength = Math.clamp(S.Nurse.fetishStrength + 4, 0, 100);
 								}
 							}
 						}
@@ -156,11 +156,11 @@ App.EndWeek.clinicReport = function() {
 							slave.lactationDuration = 2;
 							if (jsRandom(1, 100) > 65 && canTaste(S.Nurse)) {
 								if (S.Nurse.fetish === "none") {
-									r.push(`Those lovely globes are just too tantilizing for ${him} to resist, <span class="fetish gain">${he} can't help but take a drink ${himself}.</span>`);
+									r.push(`Those lovely globes are just too tantalizing for ${him} to resist, <span class="fetish gain">${he} can't help but take a drink ${himself}.</span>`);
 									S.Nurse.fetish = "boobs";
 								} else if (S.Nurse.fetish === "boobs") {
 									r.push(`${He} takes the opportunity to <span class="fetish gain">feed ${his} breast fetishism</span> by getting up close and personal with ${his2} prized udders.`);
-									Math.clamp(S.Nurse.fetishStrength += 4, 0, 100);
+									S.Nurse.fetishStrength = Math.clamp(S.Nurse.fetishStrength + 4, 0, 100);
 								}
 							}
 						}
diff --git a/src/endWeek/saDiet.js b/src/endWeek/saDiet.js
index 99b03b77733..36004ec4602 100644
--- a/src/endWeek/saDiet.js
+++ b/src/endWeek/saDiet.js
@@ -1465,12 +1465,12 @@ App.SlaveAssignment.diet = (function() {
 				if (V.geneticMappingUpgrade >= 1) {
 					r.push(`${His} body <span class="lime">passively loses muscle mass</span> due to ${his} myotonic dystrophy.`);
 				}
-				Math.clamp(slave.muscles -= 3, -100, 100);
+				slave.muscles = Math.clamp(slave.muscles - 3, -100, 100);
 			} else if (slave.geneticQuirks.mGain === 2 && slave.muscles < 100 && slave.weight >= -95) {
 				if (V.geneticMappingUpgrade >= 1) {
 					r.push(`${His} body <span class="lime">passively builds muscle mass</span> due to ${his} myotonic hypertrophy.`);
 				}
-				Math.clamp(slave.muscles += 3, -100, 100);
+				slave.muscles = Math.clamp(slave.muscles + 3, -100, 100);
 			}
 		}
 		if (!["fattening", "restricted", "slimming"].includes(slave.diet)) {
@@ -1483,7 +1483,7 @@ App.SlaveAssignment.diet = (function() {
 						r.push(`hypoleptinemia.`);
 					}
 				}
-				Math.clamp(slave.weight -= 3, -100, 200);
+				slave.weight = Math.clamp(slave.weight - 3, -100, 200);
 			} else if (slave.weightDirection === 1 && slave.weight < 200) {
 				if (V.geneticMappingUpgrade >= 1) {
 					r.push(`${His} body <span class="lime">aggressively stores fat</span> due to ${his}`);
@@ -1493,7 +1493,7 @@ App.SlaveAssignment.diet = (function() {
 						r.push(`hyperleptinemia.`);
 					}
 				}
-				Math.clamp(slave.weight += 3, -100, 200);
+				slave.weight = Math.clamp(slave.weight + 3, -100, 200);
 			}
 		}
 	}
@@ -1541,11 +1541,11 @@ App.SlaveAssignment.diet = (function() {
 								if (V.cockFeeder !== 1) {
 									if (slave.dietCum === 2) {
 										r.push(`${He} has trouble keeping ${his} disgusting food down; ${he} loses weight.`);
-										Math.clamp(slave.weight -= 5, -100, 200);
+										slave.weight = Math.clamp(slave.weight - 5, -100, 200);
 									} else if (slave.dietCum === 1) {
 										if (random(1, 3) === 3) {
 											r.push(`${He} has trouble keeping ${his} disgusting food down; ${he} loses weight.`);
-											Math.clamp(slave.weight -= 5, -100, 200);
+											slave.weight = Math.clamp(slave.weight - 5, -100, 200);
 											if (boobSize >= 200 * gigantomastiaMod && gigantomastiaMod !== 3) {
 												r.push(`<span class="change negative">${His} breasts get a little smaller.</span>`);
 												slave.boobs -= 50;
-- 
GitLab


From fc4272457d337463720b2eb857544372b466634a Mon Sep 17 00:00:00 2001
From: Skriv <skrivelese@gmail.com>
Date: Fri, 3 Sep 2021 21:42:18 +0200
Subject: [PATCH 2/6] increment after before recording

---
 src/endWeek/saPregnancy.js | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/endWeek/saPregnancy.js b/src/endWeek/saPregnancy.js
index cf16e2fe56a..4df65d6c004 100644
--- a/src/endWeek/saPregnancy.js
+++ b/src/endWeek/saPregnancy.js
@@ -84,7 +84,8 @@ App.SlaveAssignment.pregnancy = (function() {
 			} else if (slave.pregSource > 0) {
 				let babyDaddy = findFather(slave.pregSource);
 				if (babyDaddy) {
-					let adjust = babyDaddy.counter.slavesKnockedUp++;
+					babyDaddy.counter.slavesKnockedUp++;
+					let adjust = babyDaddy.counter.slavesKnockedUp;
 					adjustFatherProperty(babyDaddy, "slavesKnockedUp", adjust);
 				}
 			}
-- 
GitLab


From 441973240c0242cb22d1aa5efebcc3e3c56b2f02 Mon Sep 17 00:00:00 2001
From: Skriv <skrivelese@gmail.com>
Date: Fri, 3 Sep 2021 21:42:37 +0200
Subject: [PATCH 3/6] unused r

---
 src/events/scheduled/seNicaeaAnnouncement.js | 1 -
 src/events/scheduled/seNicaeaPreperation.js  | 1 -
 2 files changed, 2 deletions(-)

diff --git a/src/events/scheduled/seNicaeaAnnouncement.js b/src/events/scheduled/seNicaeaAnnouncement.js
index c1a9c22b39d..f94b6348cf3 100644
--- a/src/events/scheduled/seNicaeaAnnouncement.js
+++ b/src/events/scheduled/seNicaeaAnnouncement.js
@@ -53,7 +53,6 @@ App.Events.SENicaeaAnnouncement = class SENicaeaAnnouncement extends App.Events.
 		}
 		r.push(`comes to the point. "We need someone to call a council to lay down a strong foundation for the faith. We need a creed that can act as a uniting requisite to be a faithful slaveowner. You're one of the world's most prominent Chattel Religionist arcology owners. There's certainly no one who's ahead of you. I've spoken with our coreligionists, and those who aren't addicted to anarchy deputed me to ask you to convene it and host a council to establish the creed. If you're not willing, we'll find someone else."`);
 		App.Events.addParagraph(node, r);
-		r = [];
 
 		App.Events.addParagraph(node, [`Hosting a new religion's first synod will be expensive and time-consuming, but would give you considerable power to influence its outcome. However, if you decline, it will be held elsewhere without your input and will probably fracture the developing faith. Vocal opposition would likely rob it of force, leaving Chattel Religionism much as it is now, and prejudice the faithful against another attempt for many years.`]);
 
diff --git a/src/events/scheduled/seNicaeaPreperation.js b/src/events/scheduled/seNicaeaPreperation.js
index 453008f94ab..ee5f163ede5 100644
--- a/src/events/scheduled/seNicaeaPreperation.js
+++ b/src/events/scheduled/seNicaeaPreperation.js
@@ -35,7 +35,6 @@ App.Events.SENicaeaPreparation = class SENicaeaPreparation extends App.Events.Ba
 				r.push(`Of course, ${S.Concubine.slaveName} is always there to help you relax when you need it.`);
 			}
 			App.Events.addParagraph(node, r);
-			r = [];
 
 			App.Events.addParagraph(node, [`The first major choice you have to make concerns the seats on the Council. There are some Chattel Religionists you simply have to invite; they're so prominent that if you don't, the Council's decisions will lack any weight. But that doesn't mean you don't have room to manipulate the list of people invited in order to enhance your influence in the council. It wouldn't be difficult to selectively invite Chattel Religionist slaveowners that have the reputation to support attendance, who you know to be philosophically aligned with your thoughts about the faith. On the other hand, managing the seats on the Council with perfect impartiality would definitely help acceptance of any creed the Council agrees upon.`]);
 
-- 
GitLab


From eacad9ba0c2412737e16d30d4c58f8a6fdcea133 Mon Sep 17 00:00:00 2001
From: Skriv <skrivelese@gmail.com>
Date: Fri, 3 Sep 2021 21:43:12 +0200
Subject: [PATCH 4/6] behavioral vs sexual

---
 src/events/scheduled/assholeKnight.js      | 2 +-
 src/events/scheduled/seRecruiterSuccess.js | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/events/scheduled/assholeKnight.js b/src/events/scheduled/assholeKnight.js
index 3ed931f051a..a4f25127d9e 100644
--- a/src/events/scheduled/assholeKnight.js
+++ b/src/events/scheduled/assholeKnight.js
@@ -43,7 +43,7 @@ App.Events.SEAssholeKnight = class SEAssholeKnight extends App.Events.BaseEvent
 			assholeKnight.devotion = random(-80, -60);
 			assholeKnight.muscles = random(50, 75);
 			assholeKnight.skill.combat = 1;
-			assholeKnight.behavioralFlaw = "malicious";
+			assholeKnight.sexualFlaw = "malicious";
 			assholeKnight.behavioralQuirk = "none";
 			assholeKnight.trust = random(-30, -20);
 			assholeKnight.boobs = 150;
diff --git a/src/events/scheduled/seRecruiterSuccess.js b/src/events/scheduled/seRecruiterSuccess.js
index 8e2e4654adb..f15aa8f3a4a 100644
--- a/src/events/scheduled/seRecruiterSuccess.js
+++ b/src/events/scheduled/seRecruiterSuccess.js
@@ -55,7 +55,7 @@ App.Events.SERecruiterSuccess = class SERecruiterSuccess extends App.Events.Base
 			slave.tonguePiercing = pierceMe();
 			slave.earPiercing = pierceMe();
 			slave.nosePiercing = pierceMe();
-			slave.sexualFlaw = "hates women";
+			slave.behavioralFlaw = "hates women";
 		} else if (V.recruiterTarget === "dissolute sissies") {
 			slave = GenerateNewSlave("XY", {disableDisability: 1});
 			generateSalonModifications(slave);
@@ -79,7 +79,7 @@ App.Events.SERecruiterSuccess = class SERecruiterSuccess extends App.Events.Base
 			slave.navelPiercing = pierceMe();
 			slave.nipplesPiercing = pierceMe();
 			slave.clitPiercing = pierceMe();
-			slave.sexualFlaw = "hates women";
+			slave.behavioralFlaw = "hates women";
 		} else if (V.recruiterTarget === "expectant mothers") {
 			slave = GenerateNewSlave("XX", {minAge: Math.max(V.fertilityAge, V.minimumSlaveAge), ageOverridesPedoMode: 1, disableDisability: 1});
 			generateSalonModifications(slave);
-- 
GitLab


From 8d0b0c7bec9540f7e537b19f537d9e24eb6b56ce Mon Sep 17 00:00:00 2001
From: Skriv <skrivelese@gmail.com>
Date: Fri, 3 Sep 2021 21:50:52 +0200
Subject: [PATCH 5/6] more Math.clamp

---
 src/Mods/SecExp/js/authorityReport.js | 3 ++-
 src/Mods/SpecialForce/SpecialForce.js | 6 +++---
 src/npc/generate/lawCompliance.js     | 4 ++--
 3 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/src/Mods/SecExp/js/authorityReport.js b/src/Mods/SecExp/js/authorityReport.js
index f22585f97a7..c75209181b5 100644
--- a/src/Mods/SecExp/js/authorityReport.js
+++ b/src/Mods/SecExp/js/authorityReport.js
@@ -305,7 +305,8 @@ App.SecExp.authorityReport = function() {
 			}
 		}
 
-		Math.clamp(slave, 0, 95); Math.clamp(citizen, 0, 95); // rolls to see if event happens - there's always a min 5% chance nothing happens
+		slave = Math.clamp(slave, 0, 95);
+		citizen = Math.clamp(citizen, 0, 95); // rolls to see if event happens - there's always a min 5% chance nothing happens
 		const roll = random(1, slave + citizen);
 		slave = Math.trunc(slave * V.SecExp.settings.rebellion.speed); citizen = Math.trunc(citizen * V.SecExp.settings.rebellion.speed);
 		if (V.SecExp.buildings.riotCenter && V.SecExp.buildings.riotCenter.brainImplant === 106) {
diff --git a/src/Mods/SpecialForce/SpecialForce.js b/src/Mods/SpecialForce/SpecialForce.js
index dec0588b4e5..dd44550af9b 100644
--- a/src/Mods/SpecialForce/SpecialForce.js
+++ b/src/Mods/SpecialForce/SpecialForce.js
@@ -1235,7 +1235,7 @@ App.SF.AAR = function(endWeekCall = 1) {
 			if (V.secExpEnabled > 0 && endWeekCall > 0) {
 				V.SecExp.core.authority += 25 * (Math.ceil(V.SF.ArmySize / 200));
 				V.SecExp.core.authority += size * 10;
-				Math.clamp(V.SecExp.core.authority, 0, 20000);
+				V.SecExp.core.authority = Math.clamp(V.SecExp.core.authority, 0, 20000);
 			}
 		}
 
@@ -1582,7 +1582,7 @@ App.SF.progress = function(x, max) {
 	let z;
 	let i;
 	if (max === undefined) {
-		Math.clamp(x, 0, 10);
+		x = Math.clamp(x, 0, 10);
 		if (App.SF.unlocked.secondTier() === false) {
 			z = 5 - x;
 			for (i = 0; i < x; i++) {
@@ -1604,7 +1604,7 @@ App.SF.progress = function(x, max) {
 			}
 		}
 	} else {
-		Math.clamp(x, 0, max);
+		x = Math.clamp(x, 0, max);
 		x = Math.floor(10 * x / max);
 		z = 10 - x;
 		for (i = 0; i < x; i++) {
diff --git a/src/npc/generate/lawCompliance.js b/src/npc/generate/lawCompliance.js
index 4188dcf278a..0ae2fafd9de 100644
--- a/src/npc/generate/lawCompliance.js
+++ b/src/npc/generate/lawCompliance.js
@@ -297,7 +297,7 @@ App.Desc.lawCompliance = function(slave, market = 0) {
 
 	function FSDegradationistSMR() {
 		slave.trust -= 10;
-		Math.clamp(slave.health.tired += 30, 0, 100);
+		slave.health.tired = Math.clamp(slave.health.tired + 30, 0, 100);
 		return `${His} current owners <span class="gold">brutalized ${him}</span> before putting ${him} on sale, using clever methods to produce agony without seriously damaging ${his} health.`;
 	}
 
@@ -581,7 +581,7 @@ App.Desc.lawCompliance = function(slave, market = 0) {
 	function healthInspectionSMR() {
 		if (slave.health.condition < -10) {
 			improveCondition(slave, 10);
-			Math.clamp(slave.health.tired -= 30, 0, 100);
+			slave.health.tired = Math.clamp(slave.health.tired - 30, 0, 100);
 			return `${His} current owners held ${him} for basic medical care before putting ${him} on sale, resolving some of ${his} health issues.`;
 		}
 	}
-- 
GitLab


From 44a5fc8456011e624ae29b9c75c20f6497f6f53d Mon Sep 17 00:00:00 2001
From: Skriv <skrivelese@gmail.com>
Date: Sun, 5 Sep 2021 21:56:17 +0200
Subject: [PATCH 6/6] only set counter properties to .counter

---
 src/endWeek/saAgent.js         | 3 +--
 src/endWeek/saPregnancy.js     | 2 --
 src/js/birth/birth.js          | 3 +--
 src/player/desc/pNotesBelly.js | 9 +++------
 src/player/desc/playerBelly.js | 9 +++------
 5 files changed, 8 insertions(+), 18 deletions(-)

diff --git a/src/endWeek/saAgent.js b/src/endWeek/saAgent.js
index 48d4ef3b22e..168cfe4699b 100644
--- a/src/endWeek/saAgent.js
+++ b/src/endWeek/saAgent.js
@@ -183,8 +183,7 @@ App.SlaveAssignment.agent = function(slave) {
 			} else if (slave.pregSource > 0) {
 				const babyDaddy = findFather(slave.pregSource);
 				if (babyDaddy) {
-					const adjust = babyDaddy.counter.slavesKnockedUp++;
-					adjustFatherProperty(babyDaddy, "slavesKnockedUp", adjust);
+					babyDaddy.counter.slavesKnockedUp++;
 				}
 			}
 		}
diff --git a/src/endWeek/saPregnancy.js b/src/endWeek/saPregnancy.js
index 4df65d6c004..ff59538e4f9 100644
--- a/src/endWeek/saPregnancy.js
+++ b/src/endWeek/saPregnancy.js
@@ -85,8 +85,6 @@ App.SlaveAssignment.pregnancy = (function() {
 				let babyDaddy = findFather(slave.pregSource);
 				if (babyDaddy) {
 					babyDaddy.counter.slavesKnockedUp++;
-					let adjust = babyDaddy.counter.slavesKnockedUp;
-					adjustFatherProperty(babyDaddy, "slavesKnockedUp", adjust);
 				}
 			}
 		}
diff --git a/src/js/birth/birth.js b/src/js/birth/birth.js
index 25c61a51ca0..7127d4eb496 100644
--- a/src/js/birth/birth.js
+++ b/src/js/birth/birth.js
@@ -328,8 +328,7 @@ globalThis.birth = function(slave, {birthStorm = false, cSection = false, artRen
 			} else if (baby.fatherID > 0) {
 				const babyDaddy = findFather(baby.fatherID);
 				if (babyDaddy) {
-					const adjust = babyDaddy.counter.slavesFathered++;
-					adjustFatherProperty(babyDaddy, "slavesFathered", adjust);
+					babyDaddy.counter.slavesFathered++;
 				}
 			}
 		}
diff --git a/src/player/desc/pNotesBelly.js b/src/player/desc/pNotesBelly.js
index ce543eac26c..951dd7154f7 100644
--- a/src/player/desc/pNotesBelly.js
+++ b/src/player/desc/pNotesBelly.js
@@ -156,8 +156,7 @@ App.Desc.Player.pNotesBelly = function(PC = V.PC) {
 			} else if (PC.preg === 8 && PC.pregSource > 0) {
 				const babyDaddy = findFather(PC.pregSource);
 				if (babyDaddy) {
-					adjust = babyDaddy.counter.PCKnockedUp++;
-					adjustFatherProperty(babyDaddy, "PCKnockedUp", adjust);
+					babyDaddy.counter.PCKnockedUp++;
 				}
 				if (V.slaveIndices[PC.pregSource]) {
 					const {him} = getPronouns(babyDaddy);
@@ -297,8 +296,7 @@ App.Desc.Player.pNotesBelly = function(PC = V.PC) {
 			} else if (PC.preg === 8 && PC.pregSource > 0) {
 				const babyDaddy = findFather(PC.pregSource);
 				if (babyDaddy) {
-					adjust = babyDaddy.counter.PCKnockedUp++;
-					adjustFatherProperty(babyDaddy, "PCKnockedUp", adjust);
+					babyDaddy.counter.PCKnockedUp++;
 				}
 				if (V.slaveIndices[PC.pregSource]) {
 					const {him} = getPronouns(babyDaddy);
@@ -416,8 +414,7 @@ App.Desc.Player.pNotesBelly = function(PC = V.PC) {
 			} else if (PC.preg === 8 && PC.pregSource > 0) {
 				const babyDaddy = findFather(PC.pregSource);
 				if (babyDaddy) {
-					adjust = babyDaddy.counter.PCKnockedUp++;
-					adjustFatherProperty(babyDaddy, "PCKnockedUp", adjust);
+					babyDaddy.counter.PCKnockedUp++;
 				}
 				if (V.slaveIndices[PC.pregSource]) {
 					const {him} = getPronouns(babyDaddy);
diff --git a/src/player/desc/playerBelly.js b/src/player/desc/playerBelly.js
index 4ae76b84930..3986048c461 100644
--- a/src/player/desc/playerBelly.js
+++ b/src/player/desc/playerBelly.js
@@ -217,8 +217,7 @@ App.Desc.Player.belly = function() {
 				} else if (V.PC.preg === 8 && V.PC.pregSource > 0) {
 					const babyDaddy = findFather(V.PC.pregSource);
 					if (babyDaddy) {
-						adjust = babyDaddy.counter.PCKnockedUp++;
-						adjustFatherProperty(babyDaddy, "PCKnockedUp", adjust);
+						babyDaddy.counter.PCKnockedUp++;
 					}
 					if (V.slaveIndices[V.PC.pregSource]) {
 						const {him} = getPronouns(babyDaddy);
@@ -358,8 +357,7 @@ App.Desc.Player.belly = function() {
 				} else if (V.PC.preg === 8 && V.PC.pregSource > 0) {
 					const babyDaddy = findFather(V.PC.pregSource);
 					if (babyDaddy) {
-						adjust = babyDaddy.counter.PCKnockedUp++;
-						adjustFatherProperty(babyDaddy, "PCKnockedUp", adjust);
+						babyDaddy.counter.PCKnockedUp++;
 					}
 					if (V.slaveIndices[V.PC.pregSource]) {
 						const {him} = getPronouns(babyDaddy);
@@ -477,8 +475,7 @@ App.Desc.Player.belly = function() {
 				} else if (V.PC.preg === 8 && V.PC.pregSource > 0) {
 					const babyDaddy = findFather(V.PC.pregSource);
 					if (babyDaddy) {
-						adjust = babyDaddy.counter.PCKnockedUp++;
-						adjustFatherProperty(babyDaddy, "PCKnockedUp", adjust);
+						babyDaddy.counter.PCKnockedUp++;
 					}
 					if (V.slaveIndices[V.PC.pregSource]) {
 						const {him} = getPronouns(babyDaddy);
-- 
GitLab