diff --git a/devTools/types/FC/human.d.ts b/devTools/types/FC/human.d.ts
index b7bf00245fce571609aec683c6c1bf0bee64c77c..b50043261bd2734f7c94d44ccb6f47376a7b5fba 100644
--- a/devTools/types/FC/human.d.ts
+++ b/devTools/types/FC/human.d.ts
@@ -127,8 +127,24 @@ declare global {
 			IMPORTED: '@be imported';
 			TANK: '@lay in tank';
 		}
+
 		type Fetish = WithNone<"mindbroken" | "submissive" | "cumslut" | "humiliation" | "buttslut" | "boobs" | "sadist" |
 			"masochist" | "dom" | "pregnancy">;
+
+		interface FetishFreeze extends Record<string, Fetish> {
+			NONE: "none";
+			MINDBROKEN: "mindbroken";
+			SUBMISSIVE: "submissive";
+			CUMSLUT: "cumslut";
+			HUMILIATION: "humiliation";
+			BUTTSLUT: "buttslut";
+			BOOBS: "boobs";
+			SADIST: "sadist";
+			MASOCHIST: "masochist";
+			DOM: "dom";
+			PREGNANCY: "pregnancy";
+		}
+
 		type BehavioralFlaw = WithNone<
 			| "arrogant" // clings to her dignity, thinks slavery is beneath her
 			| "bitchy" // : can 't keep her opinions to herself
diff --git a/js/003-data/constants.js b/js/003-data/constants.js
index 4c78a1d70136bf013cb034ef476d7d8b9151f8c3..88dc8a791708ef6a65dcd6e3a97bab96a242b8e7 100644
--- a/js/003-data/constants.js
+++ b/js/003-data/constants.js
@@ -100,3 +100,21 @@ globalThis.DescType = Object.freeze({
 	EVENT: "event",
 	SURGERY: "surgery"
 });
+
+/**
+ * @type {FC.FetishFreeze}
+ * @enum {string}
+ */
+globalThis.Fetish = Object.freeze({
+	NONE: "none",
+	MINDBROKEN: "mindbroken",
+	SUBMISSIVE: "submissive",
+	CUMSLUT: "cumslut",
+	HUMILIATION: "humiliation",
+	BUTTSLUT: "buttslut",
+	BOOBS: "boobs",
+	SADIST: "sadist",
+	MASOCHIST: "masochist",
+	DOM: "dom",
+	PREGNANCY: "pregnancy",
+});
diff --git a/src/interaction/useSlave/useSlaveOptions.js b/src/interaction/useSlave/useSlaveOptions.js
index 0e9d214924636fafc05bae750b2339798db254ae..41bef21513844cad979298bf3cc6f1c56a58fabf 100644
--- a/src/interaction/useSlave/useSlaveOptions.js
+++ b/src/interaction/useSlave/useSlaveOptions.js
@@ -10,20 +10,6 @@ App.UI.SlaveInteract.useSlave.options = function(player, clone, slave, playerSta
 
 	const {He, His, he, him, his, hers} = getPronouns(clone);
 
-	/** @enum {string} */
-	const Fetish = {
-		NONE: "none",
-		MINDBROKEN: "mindbroken",
-		SUBMISSIVE: "submissive",
-		CUMSLUT: "cumslut",
-		HUMILIATION: "humiliation",
-		BUTTSLUT: "buttslut",
-		BOOBS: "boobs",
-		SADIST: "sadist",
-		MASOCHIST: "masochist",
-		DOM: "dom",
-		PREGNANCY: "pregnancy",
-	};
 	/** @enum {string} */
 	const none = "none";
 	/** @enum {boolean} */
@@ -257,7 +243,7 @@ App.UI.SlaveInteract.useSlave.options = function(player, clone, slave, playerSta
 					playerState.sexAct = null;
 					slaveState.sexAct = null;
 					playerState.position = Position.STANDING;
-				}				
+				}
 			},
 			reaction: this.reactionText.makeSlaveCum(clone),
 		},
@@ -665,8 +651,8 @@ App.UI.SlaveInteract.useSlave.options = function(player, clone, slave, playerSta
 				 * Allow the act to happen if either:
 				 * - Neither character is performing a sex act
 				 * - Exactly one character is performing oral sex on the other
-				**/ 
-				((playerState.sexAct === null && slaveState.sexAct === null) || 
+				 **/
+				((playerState.sexAct === null && slaveState.sexAct === null) ||
 				((slaveState.sexAct === SexAct.ORAL || playerState.sexAct === SexAct.ORAL) &&
 				(slaveState.sexAct !== SexAct.ORAL || playerState.sexAct !== SexAct.ORAL))),
 			effect: () => {