From 5cb28bb01ad3e338f028a39685c9b6ca64e094b3 Mon Sep 17 00:00:00 2001
From: _no0neman <no0nemane@protonmail.com>
Date: Sat, 17 Oct 2020 06:55:07 -0400
Subject: [PATCH] WIP: Gumjob Fetishism, add separate fetish and SMR policies

---
 js/003-data/gameVariableData.js               |  3 ++-
 js/003-data/policiesData.js                   | 12 ++++++++++
 src/002-config/fc-version.js                  |  2 +-
 src/data/backwardsCompatibility/policiesBC.js |  6 ++++-
 src/endWeek/saChoosesOwnJob.js                |  4 ++--
 src/endWeek/saReleaseRules.js                 |  2 +-
 src/endWeek/saServant.js                      |  4 ++--
 src/endWeek/saServeThePublic.js               | 12 +++++-----
 src/endWeek/saWhore.js                        | 12 +++++-----
 src/endWeek/saWorkAGloryHole.js               |  4 ++--
 src/endWeek/slaveAssignmentReport.js          |  6 ++---
 .../masterSuite/masterSuiteFramework.js       |  4 ++--
 .../penthouse/penthouseFramework.js           |  2 +-
 src/js/slaveCostJS.js                         | 22 +++++++++----------
 src/npc/children/longChildDescription.js      |  2 +-
 src/npc/descriptions/mouth.js                 |  2 +-
 src/npc/generate/lawCompliance.js             |  6 ++---
 17 files changed, 61 insertions(+), 44 deletions(-)

diff --git a/js/003-data/gameVariableData.js b/js/003-data/gameVariableData.js
index 32d5d458ff0..5dab1917ec2 100644
--- a/js/003-data/gameVariableData.js
+++ b/js/003-data/gameVariableData.js
@@ -324,7 +324,8 @@ App.Data.resetOnNGPlus = {
 		analAppeal: 0,
 		sexualOpenness: 0,
 		bestialityOpenness: 0,
-		gumjobFetishism: 0
+		gumjobFetishism: 0,
+		gumjobFetishismSMR: 0
 	},
 
 	FCTV: {
diff --git a/js/003-data/policiesData.js b/js/003-data/policiesData.js
index c960d6ef7e0..9bb4aa3e3c5 100644
--- a/js/003-data/policiesData.js
+++ b/js/003-data/policiesData.js
@@ -331,6 +331,18 @@ App.Data.Policies.Selection = {
 		"policies.gumjobFetishism": [
 			{
 				title: "Gumjob Fetishism",
+				text: "you will use your personal influence to make toothless slaves and gummy blowjobs more desirable than not.",
+				activatedText: "you are using your personal influence to make toothless slaves and gummy blowjobs more desirable than not.",
+				get requirements() { return ((V.arcologies[0].FSDegradationist != "unset" || 
+											 V.arcologies[0].FSTransformationFetishist != "unset" || 
+											 V.arcologies[0].FSMaturityPreferentialist != "unset")
+											 && policies.gumjobFetishismSMR === 0) },
+				note: `Will increase beauty of slaves without teeth, and decrease beauty and usage of slaves with teeth`
+			}
+		],
+		"policies.gumjobFetishismSMR": [
+			{
+				title: "Gumjob Fetishism SMR",
 				text: "in order to be sold in your arcology, slaves will need to have their teeth removed.",
 				activatedText: "in order to be sold in your arcology, slaves must have their teeth removed.",
 				get requirements() { return ((V.arcologies[0].FSDegradationist >= 90 || 
diff --git a/src/002-config/fc-version.js b/src/002-config/fc-version.js
index fd159fd3a6d..b49a9d561d8 100644
--- a/src/002-config/fc-version.js
+++ b/src/002-config/fc-version.js
@@ -2,5 +2,5 @@ App.Version = {
 	base: "0.10.7.1", // The vanilla version the mod is based off of, this should never be changed.
 	pmod: "3.8.0",
 	commitHash: null,
-	release: 1107 // When gettting close to 2000,  please remove the check located within the onLoad() function defined at line five of src/js/eventHandlers.js.
+	release: 1108 // When gettting close to 2000,  please remove the check located within the onLoad() function defined at line five of src/js/eventHandlers.js.
 };
diff --git a/src/data/backwardsCompatibility/policiesBC.js b/src/data/backwardsCompatibility/policiesBC.js
index cdf19f275c4..d785f8f5284 100644
--- a/src/data/backwardsCompatibility/policiesBC.js
+++ b/src/data/backwardsCompatibility/policiesBC.js
@@ -15,7 +15,11 @@ App.Update.policies = function() {
 	}
 
 	if(V.policies.gumjobFetishism == null) {
-		V.policies.gumjobFetishism = 0
+		V.policies.gumjobFetishism = 0;
+	}
+
+	if(V.policies.gumjobFetishismSMR == null) {
+		V.policies.gumjobFetishismSMR = 0;
 	}
 
 	// Spelling fixes:
diff --git a/src/endWeek/saChoosesOwnJob.js b/src/endWeek/saChoosesOwnJob.js
index b30719ef237..61c2892a7f5 100644
--- a/src/endWeek/saChoosesOwnJob.js
+++ b/src/endWeek/saChoosesOwnJob.js
@@ -184,7 +184,7 @@ App.SlaveAssignment.choosesOwnJob = (function() {
 					choice.push(assignJob(slave, "serve the public"));
 				}
 				slave.sexAmount = 10;
-			} else if (slave.energy > 60 && (V.policies.gumjobFetishism === 0 || (V.policies.gumjobFetishism === 1 && slave.teeth == "removable"))) {
+			} else if (slave.energy > 60 && ((V.policies.gumjobFetishism === 0 && V.policies.gumjobFetishismSMR === 0) || ((V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) && slave.teeth == "removable"))) {
 				choice.push(`and ${he} thinks of little but sex with you,`);
 				if (V.universalRulesAssignsSelfFacility === 1 && V.masterSuite > masterSL) {
 					choice.push(`so ${he} heads straight to ${V.masterSuiteName}.`);
@@ -344,7 +344,7 @@ App.SlaveAssignment.choosesOwnJob = (function() {
 					}
 					slave.sexAmount = 10;
 				}
-			} else if (slave.fetish === "pregnancy" && (V.policies.gumjobFetishism === 0 || (V.policies.gumjobFetishism === 1 && slave.teeth == "removable"))) {
+			} else if (slave.fetish === "pregnancy" && ((V.policies.gumjobFetishism === 0 && V.policies.gumjobFetishismSMR === 0) || ((V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) && slave.teeth == "removable"))) {
 				if (V.PC.dick > 0 && isFertile(slave)) {
 					if (V.universalRulesAssignsSelfFacility === 1 && V.masterSuite > masterSL) {
 						choice.push(`decides to serve you in ${V.masterSuiteName}, hoping that you'll get ${him} pregnant.`);
diff --git a/src/endWeek/saReleaseRules.js b/src/endWeek/saReleaseRules.js
index f414b59cd01..06e392aae11 100644
--- a/src/endWeek/saReleaseRules.js
+++ b/src/endWeek/saReleaseRules.js
@@ -7,7 +7,7 @@ App.SlaveAssignment.nonAssignmentRelease = function(slave) {
 	const release = slave.rules.release;
 	const {he, his, him, himself} = getPronouns(slave);
 
-	if(V.policies.gumjobFetishism === 1 && slave.teeth != "removable") {
+	if((V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) && slave.teeth != "removable") {
 		release.master = 0;
 	}
 
diff --git a/src/endWeek/saServant.js b/src/endWeek/saServant.js
index 67210b98232..f53bb954e3d 100644
--- a/src/endWeek/saServant.js
+++ b/src/endWeek/saServant.js
@@ -28,7 +28,7 @@ App.SlaveAssignment.servant = (function() {
 
 		cash = 0;
 		oralUse = jsRandom(5, 10);
-		if(V.policies.gumjobFetishism == 1) {
+		if(V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) {
 			if(slave.teeth == "fangs" || slave.teeth == "fang" || slave.teeth == "pointy") {
 				oralUse = 0;
 			}
@@ -138,7 +138,7 @@ App.SlaveAssignment.servant = (function() {
 		// is the current number of servants correct to accomplish this task?
 		// why can't the player prevent this on-assignment sex while still getting the other benefits of having a servant?
 		oralUse = Math.ceil(oralUse * restEffects(slave, 11));
-		if(V.policies.gumjobFetishism == 1) {
+		if(V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) {
 			if(slave.teeth == "fangs" || slave.teeth == "fang" || slave.teeth == "pointy") {
 				oralUse = 0;
 			}
diff --git a/src/endWeek/saServeThePublic.js b/src/endWeek/saServeThePublic.js
index a4f274c5732..4adc146451d 100644
--- a/src/endWeek/saServeThePublic.js
+++ b/src/endWeek/saServeThePublic.js
@@ -820,28 +820,28 @@ App.SlaveAssignment.serveThePublic = (function() {
 		}
 
 		if (slave.teeth === "removable") {
-			if(V.policies.gumjobFetishism == 1) {
+			if(V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) {
 				r += ` The majority of the public is quite pleased with ${his} ability to give toothless sucks, and uses ${his} mouth liberally.`;
 			}
 			else {
 				r += ` The extra attention ${he} receives from ${his} ability to give toothless sucks is about balanced out by the citizens who are disgusted by it.`;
 			}
 		} else if (slave.teeth === "pointy") {
-			if(V.policies.gumjobFetishism == 1) {
+			if(V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) {
 				r += ` The public completely detests ${his} horrific, sharp-toothed mouth and refuses to use it.`
 			}
 			else {
 				r += ` The extra attention ${he} receives due to ${his} sharp teeth is balanced by the citizens who are scared off by them.`;
 			}
 		} else if (slave.teeth === "fangs") {
-			if(V.policies.gumjobFetishism == 1) {
+			if(V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) {
 				r += ` The public completely detests ${his} horrific, sharp-toothed mouth and refuses to use it.`
 			}
 			else {
 				r += ` The extra attention ${he} receives due to ${his} fangs is balanced by the citizens who are scared off by them.`;
 			}
 		} else {
-			if(V.policies.gumjobFetishism == 1) {
+			if(V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) {
 				r += ` Most of the public is quite dissapointed in ${his} tooth-filled mouth.`
 			}
 		}
@@ -1278,11 +1278,11 @@ App.SlaveAssignment.serveThePublic = (function() {
 	 */
 	function sexCounts(slave) {
 		/* SEX ACT COUNTS AND SEXUAL SATISFACTION */
-		if(V.policies.gumJobFetishism === 1 && slave.teeth == "removable") {
+		if((V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) && slave.teeth == "removable") {
 			V.oralUseWeight += 2;
 		}
 		oralUse = (V.oralUseWeight + (slave.skill.oral / 30) + (slave.lips / 20));
-		if(V.policies.gumjobFetishism == 1) {
+		if(V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) {
 			if(slave.teeth == "fangs" || slave.teeth == "fang" || slave.teeth == "pointy") {
 				oralUse = 0;
 			}
diff --git a/src/endWeek/saWhore.js b/src/endWeek/saWhore.js
index 3bb4d49c947..553a660fc84 100644
--- a/src/endWeek/saWhore.js
+++ b/src/endWeek/saWhore.js
@@ -893,28 +893,28 @@ App.SlaveAssignment.whore = (function() {
 		}
 
 		if (slave.teeth === "removable") {
-			if(V.policies.gumjobFetishism == 1) {
+			if(V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) {
 				r += ` The majority of the customers are quite pleased with ${his} ability to give toothless sucks, and purchase time in ${his} mouth liberally.`;
 			}
 			else {
 				r += ` The extra attention ${he} receives from ${his} ability to give toothless sucks is about balanced out by the customers who are disgusted by it.`;
 			}
 		} else if (slave.teeth === "pointy") {
-			if(V.policies.gumjobFetishism == 1) {
+			if(V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) {
 				r += ` Customers completely detest ${his} horrific, sharp-toothed mouth and refuse to rent it.`
 			}
 			else {
 				r += ` The extra attention ${he} receives due to ${his} sharp teeth is balanced by the customers who are scared off by them.`;
 			}
 		} else if (slave.teeth === "fangs") {
-			if(V.policies.gumjobFetishism == 1) {
+			if(V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) {
 				r += ` Customers completely detest ${his} horrific, sharp-toothed mouth and refuse to rent it.`
 			}
 			else {
 				r += ` The extra attention ${he} receives due to ${his} fangs is balanced by the customers who are scared off by them.`;
 			}
 		} else {
-			if(V.policies.gumjobFetishism == 1) {
+			if(V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) {
 				r += ` Most customers are quite dissapointed in ${his} tooth-filled mouth.`
 			}
 		}
@@ -1351,11 +1351,11 @@ App.SlaveAssignment.whore = (function() {
 	function sexCounts(slave) {
 		/* SEX ACT COUNTS AND SEXUAL SATISFACTION */
 
-		if(V.policies.gumJobFetishism === 1 && slave.teeth == "removable") {
+		if((V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) && slave.teeth == "removable") {
 			V.oralUseWeight += 2;
 		}
 		oralUse = (V.oralUseWeight + (slave.skill.oral / 30) + (slave.lips / 20));
-		if(V.policies.gumjobFetishism == 1) {
+		if(V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) {
 			if(slave.teeth == "fangs" || slave.teeth == "fang" || slave.teeth == "pointy") {
 				oralUse = 0;
 			}
diff --git a/src/endWeek/saWorkAGloryHole.js b/src/endWeek/saWorkAGloryHole.js
index 73438cf9827..6bceb1b8a32 100644
--- a/src/endWeek/saWorkAGloryHole.js
+++ b/src/endWeek/saWorkAGloryHole.js
@@ -323,11 +323,11 @@ App.SlaveAssignment.workAGloryHole = (function() {
 	 */
 	function sexCounts(slave) {
 		/* SEX ACT COUNTS AND SEXUAL SATISFACTION */
-		if(V.policies.gumJobFetishism === 1 && slave.teeth == "removable") {
+		if((V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) && slave.teeth == "removable") {
 			V.oralUseWeight += 2;
 		}
 		oralUse = (V.oralUseWeight + (slave.lips / 20));
-		if(V.policies.gumjobFetishism == 1) {
+		if(V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) {
 			if(slave.teeth == "fangs" || slave.teeth == "fang" || slave.teeth == "pointy") {
 				oralUse = 0;
 			}
diff --git a/src/endWeek/slaveAssignmentReport.js b/src/endWeek/slaveAssignmentReport.js
index e2ad2fe9a6c..eddebde77d0 100644
--- a/src/endWeek/slaveAssignmentReport.js
+++ b/src/endWeek/slaveAssignmentReport.js
@@ -766,7 +766,7 @@ App.EndWeek.slaveAssignmentReport = function() {
 			}
 			case Job.CONCUBINE:
 				{
-					if(V.policies.gumjobFetishism === 1 && slave.teeth != "removable") {
+					if((V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) && slave.teeth != "removable") {
 						_printSlaveUnassignedNote(slave, "cannot be your concubine without being able to give gumjobs");
 						removeJob(slave, Job.CONCUBINE);
 					}
@@ -774,14 +774,14 @@ App.EndWeek.slaveAssignmentReport = function() {
 				break;
 			case Job.FUCKTOY:
 				{
-					if(V.policies.gumjobFetishism === 1 && slave.teeth != "removable") {
+					if((V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) && slave.teeth != "removable") {
 						_printSlaveUnassignedNote(slave, "cannot be your fucktoy without being able to give gumjobs");
 						removeJob(slave, Job.FUCKTOY);
 					}
 				}
 			case Job.MASTERSUITE:
 				{
-					if(V.policies.gumjobFetishism === 1 && slave.teeth != "removable") {
+					if((V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) && slave.teeth != "removable") {
 						_printSlaveUnassignedNote(slave, "cannot be your fucktoy without being able to give gumjobs");
 						removeJob(slave, Job.MASTERSUITE);
 					}
diff --git a/src/facilities/masterSuite/masterSuiteFramework.js b/src/facilities/masterSuite/masterSuiteFramework.js
index a49e41e419c..54ad2d1352d 100644
--- a/src/facilities/masterSuite/masterSuiteFramework.js
+++ b/src/facilities/masterSuite/masterSuiteFramework.js
@@ -39,7 +39,7 @@ App.Entity.Facilities.MasterSuiteFuckToyJob = class extends App.Entity.Facilitie
 		if (!App.Entity.Facilities.Job._isBrokenEnough(slave, 20, -51, -21, -50)) {
 			r.push(`${slave.slaveName} is not sufficiently broken for ${this.facility.name}.`);
 		}
-		else if (V.policies.gumjobFetishism === 1 && slave.teeth != "removable") {
+		else if ((V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) && slave.teeth != "removable") {
 			r.push(`${slave.slaveName} does not have removable teeth and can't give gumjobs.`);
 		}
 
@@ -58,7 +58,7 @@ App.Entity.Facilities.ConcubineJob = class extends App.Entity.Facilities.Managin
 		if (isAmputee(slave)) {
 			r.push(`${slave.slaveName} can't serve as your Concubine without limbs.`);
 		}
-		if (V.policies.gumjobFetishism === 1 && slave.teeth != "removable") {
+		if ((V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) && slave.teeth != "removable") {
 			r.push(`${slave.slaveName} does not have removable teeth and can't give gumjobs.`);
 		}
 		return r;
diff --git a/src/facilities/penthouse/penthouseFramework.js b/src/facilities/penthouse/penthouseFramework.js
index 1410f568fbf..91e47ac46a7 100644
--- a/src/facilities/penthouse/penthouseFramework.js
+++ b/src/facilities/penthouse/penthouseFramework.js
@@ -158,7 +158,7 @@ App.Entity.Facilities.PenthouseJobs = {
 	Fucktoy: class extends App.Entity.Facilities.Job {
 		checkRequirements(slave) {
 			let r = super.checkRequirements(slave);
-			if (V.policies.gumjobFetishism === 1 && slave.teeth != "removable") {
+			if ((V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) && slave.teeth != "removable") {
 				r.push(`${slave.slaveName} does not have removable teeth and can't give gumjobs.`);
 			}
 			return r;
diff --git a/src/js/slaveCostJS.js b/src/js/slaveCostJS.js
index 3e5d959bdaf..56ccd2c45a5 100644
--- a/src/js/slaveCostJS.js
+++ b/src/js/slaveCostJS.js
@@ -261,7 +261,7 @@ globalThis.BeautyArray = (function() {
 	function calcTeethBeauty(slave) {
 		switch (slave.teeth) {
 			case "crooked":
-				if(V.policies.gumjobFetishism) {
+				if(V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) {
 					adjustBeauty("Teeth: Gumjob Fetishism", -(50));
 				}
 				else {
@@ -269,12 +269,12 @@ globalThis.BeautyArray = (function() {
 				}
 				break;
 			case "gapped":
-				if(V.policies.gumjobFetishism) {
+				if(V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) {
 					adjustBeauty("Teeth: Gumjob Fetishism", -(50));
 				}
 				break;
 			case "fang":
-				if(V.policies.gumjobFetishism) {
+				if(V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) {
 					adjustBeauty("Teeth: Gumjob Fetishism", -(100));
 				}
 				else {
@@ -286,12 +286,12 @@ globalThis.BeautyArray = (function() {
 				}
 				break;
 			case "straightening braces":
-				if(V.policies.gumjobFetishism) {
+				if(V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1){
 					adjustBeauty("Teeth: Gumjob Fetishism", -(100));
 				}
 				break;
 			case "cosmetic braces":
-				if(V.policies.gumjobFetishism) {
+				if(V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) {
 					adjustBeauty("Teeth: Gumjob Fetishism", -(100));
 				}
 				else if (slave.visualAge > 14 && slave.visualAge < 18) {
@@ -299,7 +299,7 @@ globalThis.BeautyArray = (function() {
 				}
 				break;
 			case "removable":
-				if(V.policies.gumjobFetishism) {
+				if(V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) {
 					adjustBeauty("Teeth: Gumjob Fetishism", (15));
 				}
 				else {
@@ -307,22 +307,22 @@ globalThis.BeautyArray = (function() {
 				}
 				break;
 			case "pointy":
-				if(V.policies.gumjobFetishism) {
+				if(V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) {
 					adjustBeauty("Teeth: Gumjob Fetishism", -(100));
 				}
 				break;
 			case "fangs":
-				if(V.policies.gumjobFetishism) {
+				if(V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) {
 					adjustBeauty("Teeth: Gumjob Fetishism", -(100));
 				}
 				break;
 			case "baby":
-				if(V.policies.gumjobFetishism) {
+				if(V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) {
 					adjustBeauty("Teeth: Gumjob Fetishism", -(50));
 				}
 				break;
 			case "mixed":
-				if(V.policies.gumjobFetishism) {
+				if(V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) {
 					adjustBeauty("Teeth: Gumjob Fetishism", -(50));
 				}
 				else {
@@ -330,7 +330,7 @@ globalThis.BeautyArray = (function() {
 				}
 				break;
 			case "normal":
-				if(V.policies.gumjobFetishism) {
+				if(V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) {
 					adjustBeauty("Teeth: Gumjob Fetishism", -(50));
 				}
 				break;
diff --git a/src/npc/children/longChildDescription.js b/src/npc/children/longChildDescription.js
index ceb2fa26654..1cf071d575f 100644
--- a/src/npc/children/longChildDescription.js
+++ b/src/npc/children/longChildDescription.js
@@ -3944,7 +3944,7 @@ App.Facilities.Nursery.LongChildDescription = function(child, {market = 0, event
 				r += `${He} is in the process of replacing ${his} baby teeth. `;
 			}
 		}
-		if(V.policies.gumjobFetishism === 1 && child.teeth !== "removable") {
+		if((V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) && child.teeth !== "removable") {
 			r += `${His} teeth have not yet been removed and replaced with high-quality dentures.`;
 		}
 
diff --git a/src/npc/descriptions/mouth.js b/src/npc/descriptions/mouth.js
index f10234b8e9f..9962e492ba6 100644
--- a/src/npc/descriptions/mouth.js
+++ b/src/npc/descriptions/mouth.js
@@ -130,7 +130,7 @@ App.Desc.mouth = function(slave) {
 				r.push(`${He} is in the process of replacing ${his} baby teeth.`);
 			}
 		}
-		if(V.policies.gumjobFetishism === 1 && slave.teeth !== "removable") {
+		if((V.policies.gumjobFetishism === 1 || V.policies.gumjobFetishismSMR === 1) && slave.teeth !== "removable") {
 				r.push(`${His} teeth have not yet been removed and replaced with high-quality dentures.`);
 		}
 	}
diff --git a/src/npc/generate/lawCompliance.js b/src/npc/generate/lawCompliance.js
index ffa1d826310..c99f2830c36 100644
--- a/src/npc/generate/lawCompliance.js
+++ b/src/npc/generate/lawCompliance.js
@@ -40,8 +40,8 @@ App.Desc.lawCompliance = function(slave, market = 0) {
 	if (V.arcologies[0].FSDegradationistSMR === 1) {
 		r.push(FSDegradationistSMR());
 	}
-	if (V.policies.gumjobFetishism === 1) {
-		r.push(gumjobFetishism());
+	if (V.policies.gumjobFetishismSMR === 1) {
+		r.push(gumjobFetishismSMR());
 	}
 	if (V.arcologies[0].FSPetiteAdmirationSMR === 1) {
 		r.push(FSPetiteAdmirationSMR());
@@ -304,7 +304,7 @@ App.Desc.lawCompliance = function(slave, market = 0) {
 		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.`;
 	}
 
-	function gumjobFetishism() {
+	function gumjobFetishismSMR() {
 		slave.teeth = "removable";
 		if(slave.devotion <= 50) {
 			slave.trust -= 10;
-- 
GitLab