From 7ce6c699660bfff669c93c3e12f487dc9688f70f Mon Sep 17 00:00:00 2001
From: Pregmodder <pregmodder@gmail.com>
Date: Sun, 16 Jul 2023 22:16:51 -0400
Subject: [PATCH] Add experimental interactions toggle

---
 js/003-data/gameVariableData.js                           | 1 +
 src/002-config/fc-version.js                              | 2 +-
 src/data/backwardsCompatibility/backwardsCompatibility.js | 1 +
 src/gui/options/options.js                                | 4 ++++
 src/interaction/siWork.js                                 | 2 +-
 5 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/js/003-data/gameVariableData.js b/js/003-data/gameVariableData.js
index 4fd59bdb421..9de30128088 100644
--- a/js/003-data/gameVariableData.js
+++ b/js/003-data/gameVariableData.js
@@ -1272,6 +1272,7 @@ App.Data.resetOnNGPlus = {
 		reportMissingClothing: 0,
 		raGrowthExpr: 0,
 		sexOverhaul: 0,
+		interactions: 0,
 	},
 	NaNArray: [],
 
diff --git a/src/002-config/fc-version.js b/src/002-config/fc-version.js
index c9c7bce9b17..0e28da4fc55 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: "4.0.0-alpha.26",
 	commitHash: null,
-	release: 1198, // When getting close to 2000, please remove the check located within the onLoad() function defined at line five of src/js/eventHandlers.js.
+	release: 1199, // When getting 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/backwardsCompatibility.js b/src/data/backwardsCompatibility/backwardsCompatibility.js
index 09da37dfc1e..23205edd76c 100644
--- a/src/data/backwardsCompatibility/backwardsCompatibility.js
+++ b/src/data/backwardsCompatibility/backwardsCompatibility.js
@@ -1510,6 +1510,7 @@ App.Update.globalVariables = function(node) {
 	V.experimental.raGrowthExpr = V.experimental.raGrowthExpr || 0;
 	V.experimental.reportMissingClothing = V.experimental.reportMissingClothing || 0;
 	V.experimental.sexOverhaul = V.experimental.sexOverhaul || 0;
+	V.experimental.interactions = V.experimental.interactions || 0;
 
 	// Budget
 	V.showAllEntries.costsBudget = V.showAllEntries.costsBudget || 0;
diff --git a/src/gui/options/options.js b/src/gui/options/options.js
index ee30f251097..51dde4f01e9 100644
--- a/src/gui/options/options.js
+++ b/src/gui/options/options.js
@@ -737,6 +737,10 @@ App.UI.optionsPassage = function() {
 		options.addOption("New event", "tempEventToggle")
 			.addValue("Enabled", 1).on().addValue("Disabled", 0).off();
 
+		options.addOption("New Interactions", "interactions", V.experimental)
+			.addValue("Enabled", 1).on().addValue("Disabled", 0).off()
+			.addComment("This will enable WIP slave interactions. Currently fully functional, but a little rough around the edges.");
+
 		options.addOption("Sex overhaul", "sexOverhaul", V.experimental)
 			.addValue("Enabled", 1).on().addValue("Disabled", 0).off()
 			.addComment("This will enable a new way to interact with slaves. Currently working but missing flavor text.");
diff --git a/src/interaction/siWork.js b/src/interaction/siWork.js
index 7d296747d3f..2b7a4b0cb92 100644
--- a/src/interaction/siWork.js
+++ b/src/interaction/siWork.js
@@ -359,7 +359,7 @@ App.UI.SlaveInteract.work = function(slave, refresh) {
 			sexOptions.push({text: `Caress ${him}`, scene: () => App.Interact.fCaress(slave)});
 
 			sexOptions.push({text: `Give ${him} a hug`, scene: () => App.Interact.fEmbrace(slave)});
-			if (V.cheatMode === 1) {
+			if (V.experimental.interactions) {
 				sexOptions.push({text: `Pat ${his} head`, scene: () => App.Interact.fPat(slave)});
 			}
 			if (slave.race === "catgirl") {
-- 
GitLab