From 550e76f97901dff9949fdc5ba136a64d1ddeb234 Mon Sep 17 00:00:00 2001
From: lowercasedonkey <lowercasedonkey@gmail.com>
Date: Sat, 4 Sep 2021 00:52:28 -0400
Subject: [PATCH 1/3] drop ennunciate

---
 devNotes/jsEventCreationGuide.md          |  2 -
 devNotes/usefulJSFunctionDocumentation.md |  2 -
 js/003-data/gameVariableData.js           | 63 ----------------
 src/js/speech.js                          |  7 --
 src/utility/enunciateWidgets.tw           | 87 -----------------------
 5 files changed, 161 deletions(-)
 delete mode 100644 src/utility/enunciateWidgets.tw

diff --git a/devNotes/jsEventCreationGuide.md b/devNotes/jsEventCreationGuide.md
index ab0c7567172..647d395070f 100644
--- a/devNotes/jsEventCreationGuide.md
+++ b/devNotes/jsEventCreationGuide.md
@@ -90,8 +90,6 @@ App.Events.MyEvent = class MyEvent extends App.Events.BaseEvent {
 ```
 # Dealing with lisping
 
-`Enunciate($activeSlave)/getWrittenTitle($activeSlave)/<<say>>s/that'<<s>>/<<Master>>`
-Can be converted to
 `const {say, title: Master} = getEnunciation(eventSlave);`
 Master can just be template literalled into spoken() and it'll convert it itself.
 
diff --git a/devNotes/usefulJSFunctionDocumentation.md b/devNotes/usefulJSFunctionDocumentation.md
index 2b10b33cdd4..716e8ee6d6e 100644
--- a/devNotes/usefulJSFunctionDocumentation.md
+++ b/devNotes/usefulJSFunctionDocumentation.md
@@ -162,8 +162,6 @@ properMaster() // Returns the slave's title for Master when WrittenMaster() is i
 
 WrittenMaster(slave) // Returns a slave's title for the player and sets lisping. Returns $activeSlave if not given an argument.
 
-Enunciate(slave) // Syncs lisp widgets with slave.
-
 Spoken(slave, speech) // Returns speech with lisp if slave lisps. Replaces `<<say>>s` with Spoken(slave, "says").
 
 SlaveFullName(slave) // Returns the slave's full name.
diff --git a/js/003-data/gameVariableData.js b/js/003-data/gameVariableData.js
index 420b4115ed6..c286bceb666 100644
--- a/js/003-data/gameVariableData.js
+++ b/js/003-data/gameVariableData.js
@@ -1315,66 +1315,3 @@ App.Data.resetOnNGPlus = {
 	choosesOwnAssignmentText: {},
 	favorites: []
 };
-
-App.Data.ignoreGameStateVariables = [
-	// pronouns
-	"Mothers",
-	"mothers",
-	"Fathers",
-	"Husbands",
-	"Husband",
-	"Brother",
-	"Son",
-	"Shota",
-	"Men",
-	"Man",
-	"fathers",
-	"husbands",
-	"husband",
-	"brother",
-	"son",
-	"shota",
-	"men",
-	"man",
-	"Mother",
-	"Wives",
-	"Wife",
-	"Sister",
-	"Daughter",
-	"Loli",
-	"Women",
-	"Woman",
-	"mother",
-	"wives",
-	"wife",
-	"sister",
-	"daughter",
-	"loli",
-	"women",
-	"woman",
-	"Girl",
-	"Herself",
-	"Hers",
-	"Her",
-	"She",
-	"girl",
-	"herself",
-	"hers",
-	"her",
-	"she",
-	"Father",
-	"father",
-	"Boy",
-	"Himself",
-	"His",
-	"Him",
-	"He",
-	"boy",
-	"himself",
-	"his",
-	"him",
-	"he",
-
-	// Enunciate
-	"enunciate"
-];
diff --git a/src/js/speech.js b/src/js/speech.js
index 1995b7a06ac..c6ce65be892 100644
--- a/src/js/speech.js
+++ b/src/js/speech.js
@@ -168,13 +168,6 @@ globalThis.getEnunciation = function(slave) {
 	return ret;
 };
 
-/** Write all of the enunciations used by a slave into global state data for use by SugarCube macros.
- * @param {App.Entity.SlaveState} slave
- */
-globalThis.Enunciate = function(slave) {
-	V.enunciate = getEnunciation(slave);
-};
-
 /**
  * Returns speech with lisp if slave lisps
  * @param {App.Entity.SlaveState} slave
diff --git a/src/utility/enunciateWidgets.tw b/src/utility/enunciateWidgets.tw
deleted file mode 100644
index 4aea9a754c1..00000000000
--- a/src/utility/enunciateWidgets.tw
+++ /dev/null
@@ -1,87 +0,0 @@
-:: enunciate widgets [nobr widget]
-
-<<widget "Master">><<if def $args[0]>><<run Enunciate($args[0])>><<elseif ndef $enunciate>><<run Enunciate($activeSlave)>><</if>>$enunciate.title<</widget>>
-<<widget "say">><<if (def $args[0]) && $enunciate.say != "lisp">>$args[0]<<else>>$enunciate.say<</if>><</widget>>
-<<widget "s">>$enunciate.s<</widget>>
-<<widget "S">>$enunciate.S<</widget>>
-<<widget "ss">>$enunciate.ss<</widget>>
-<<widget "c">>$enunciate.c<</widget>>
-<<widget "C">>$enunciate.C<</widget>>
-<<widget "cc">>$enunciate.cc<</widget>>
-<<widget "z">>$enunciate.z<</widget>>
-<<widget "Z">>$enunciate.Z<</widget>>
-<<widget "zz">>$enunciate.zz<</widget>>
-<<widget "ch">>$enunciate.ch<</widget>>
-<<widget "Ch">>$enunciate.Ch<</widget>>
-<<widget "ps">>$enunciate.ps<</widget>>
-<<widget "Ps">>$enunciate.Ps<</widget>>
-<<widget "sh">>$enunciate.sh<</widget>>
-<<widget "Sh">>$enunciate.Sh<</widget>>
-<<widget "sc">>$enunciate.sc<</widget>>
-<<widget "Sc">>$enunciate.Sc<</widget>>
-<<widget "sch">>$enunciate.sch<</widget>>
-<<widget "Sch">>$enunciate.Sch<</widget>>
-<<widget "x">>$enunciate.x<</widget>>
-<<widget "X">>$enunciate.X<</widget>>
-
-/*
-	If $args[0] is defined, it is assumed the primary slave is speaking about secondary slave. Else, the secondary slave is speaking about primary slave.
-	This means that <<he>> will print _heLisp or $he, and <<he 2>> will print _he2Lisp or _he2.
-	Pronouns must be set for both slaves, and <<setSpokenLocalPronouns primarySlave secondarySlave>> must be previously called.
-*/
-<<widget "he">><<if ndef $args[0]>><<if _secondarySlaveLisp>>_heLisp<<else>>$he<</if>><<else>><<if _primarySlaveLisp>>_he2Lisp<<else>>_he2<</if>><</if>><</widget>>
-<<widget "his">><<if ndef $args[0]>><<if _secondarySlaveLisp>>_hisLisp<<else>>$his<</if>><<else>><<if _primarySlaveLisp>>_his2Lisp<<else>>_his2<</if>><</if>><</widget>>
-<<widget "hers">><<if ndef $args[0]>><<if _secondarySlaveLisp>>_hersLisp<<else>>$hers<</if>><<else>><<if _primarySlaveLisp>>_hers2Lisp<<else>>_hers2<</if>><</if>><</widget>>
-<<widget "himself">><<if ndef $args[0]>><<if _secondarySlaveLisp>>_himselfLisp<<else>>$himself<</if>><<else>><<if _primarySlaveLisp>>_himself2Lisp<<else>>_himself2<</if>><</if>><</widget>>
-<<widget "daughter">><<if ndef $args[0]>><<if _secondarySlaveLisp>>_daughterLisp<<else>>$daughter<</if>><<else>><<if _primarySlaveLisp>>_daughter2Lisp<<else>>_daughter2<</if>><</if>><</widget>>
-<<widget "sister">><<if ndef $args[0]>><<if _secondarySlaveLisp>>_sisterLisp<<else>>$sister<</if>><<else>><<if _primarySlaveLisp>>_sister2Lisp<<else>>_sister2<</if>><</if>><</widget>>
-<<widget "loli">><<if ndef $args[0]>><<if _secondarySlaveLisp>>_loliLisp<<else>>$loli<</if>><<else>><<if _primarySlaveLisp>>_loli2Lisp<<else>>_loli2<</if>><</if>><</widget>>
-<<widget "wife">><<if ndef $args[0]>><<if _secondarySlaveLisp>>_wifeLisp<<else>>$wife<</if>><<else>><<if _primarySlaveLisp>>_wife2Lisp<<else>>_wife2<</if>><</if>><</widget>>
-<<widget "wives">><<if ndef $args[0]>><<if _secondarySlaveLisp>>_wivesLisp<<else>>$wives<</if>><<else>><<if _primarySlaveLisp>>_wives2Lisp<<else>>_wives2<</if>><</if>><</widget>>
-<<widget "He">><<if ndef $args[0]>><<if _secondarySlaveLisp>>_HeLisp<<else>>$He<</if>><<else>><<if _primarySlaveLisp>>_He2Lisp<<else>>_He2<</if>><</if>><</widget>>
-<<widget "His">><<if ndef $args[0]>><<if _secondarySlaveLisp>>_HisLisp<<else>>$His<</if>><<else>><<if _primarySlaveLisp>>_His2Lisp<<else>>_His2<</if>><</if>><</widget>>
-<<widget "Hers">><<if ndef $args[0]>><<if _secondarySlaveLisp>>_HersLisp<<else>>$Hers<</if>><<else>><<if _primarySlaveLisp>>_Hers2Lisp<<else>>_Hers2<</if>><</if>><</widget>>
-<<widget "Himself">><<if ndef $args[0]>><<if _secondarySlaveLisp>>_HimselfLisp<<else>>$Himself<</if>><<else>><<if _primarySlaveLisp>>_Himself2Lisp<<else>>_Himself2<</if>><</if>><</widget>>
-<<widget "Daughter">><<if ndef $args[0]>><<if _secondarySlaveLisp>>_DaughterLisp<<else>>$Daughter<</if>><<else>><<if _primarySlaveLisp>>_Daughter2Lisp<<else>>_Daughter2<</if>><</if>><</widget>>
-<<widget "Sister">><<if ndef $args[0]>><<if _secondarySlaveLisp>>_SisterLisp<<else>>$Sister<</if>><<else>><<if _primarySlaveLisp>>_Sister2Lisp<<else>>_Sister2<</if>><</if>><</widget>>
-<<widget "Loli">><<if ndef $args[0]>><<if _secondarySlaveLisp>>_LoliLisp<<else>>$Loli<</if>><<else>><<if _primarySlaveLisp>>_Loli2Lisp<<else>>_Loli2<</if>><</if>><</widget>>
-<<widget "Wife">><<if ndef $args[0]>><<if _secondarySlaveLisp>>_WifeLisp<<else>>$Wife<</if>><<else>><<if _primarySlaveLisp>>_Wife2Lisp<<else>>_Wife2<</if>><</if>><</widget>>
-<<widget "Wives">><<if ndef $args[0]>><<if _secondarySlaveLisp>>_WivesLisp<<else>>$Wives<</if>><<else>><<if _primarySlaveLisp>>_Wives2Lisp<<else>>_Wives2<</if>><</if>><</widget>>
-
-<<widget "heP">><<if _playerSlaveLisp>>_hePLisp<<else>>_heP<</if>><</widget>>
-<<widget "hisP">><<if _playerSlaveLisp>>_hisPLisp<<else>>_hisP<</if>><</widget>>
-<<widget "hersP">><<if _playerSlaveLisp>>_hersPLisp<<else>>_hersP<</if>><</widget>>
-<<widget "himselfP">><<if _playerSlaveLisp>>_himselfPLisp<<else>>_himselfP<</if>><</widget>>
-<<widget "daughterP">><<if _playerSlaveLisp>>_daughterPLisp<<else>>_daughterP<</if>><</widget>>
-<<widget "sisterP">><<if _playerSlaveLisp>>_sisterPLisp<<else>>_sisterP<</if>><</widget>>
-<<widget "loliP">><<if _playerSlaveLisp>>_loliPLisp<<else>>_loliP<</if>><</widget>>
-<<widget "wifeP">><<if _playerSlaveLisp>>_wifePLisp<<else>>_wifeP<</if>><</widget>>
-<<widget "wivesP">><<if _playerSlaveLisp>>_wivesPLisp<<else>>_wivesP<</if>><</widget>>
-<<widget "HeP">><<if _playerSlaveLisp>>_HePLisp<<else>>_HeP<</if>><</widget>>
-<<widget "HisP">><<if _playerSlaveLisp>>_HisPLisp<<else>>_HisP<</if>><</widget>>
-<<widget "HersP">><<if _playerSlaveLisp>>_HersPLisp<<else>>_HersP<</if>><</widget>>
-<<widget "HimselfP">><<if _playerSlaveLisp>>_HimselfPLisp<<else>>_HimselfP<</if>><</widget>>
-<<widget "DaughterP">><<if _playerSlaveLisp>>_DaughterPLisp<<else>>_DaughterP<</if>><</widget>>
-<<widget "SisterP">><<if _playerSlaveLisp>>_SisterPLisp<<else>>_SisterP<</if>><</widget>>
-<<widget "LoliP">><<if _playerSlaveLisp>>_LoliPLisp<<else>>_LoliP<</if>><</widget>>
-<<widget "WifeP">><<if _playerSlaveLisp>>_WifePLisp<<else>>_WifeP<</if>><</widget>>
-<<widget "WivesP">><<if _playerSlaveLisp>>_WivesPLisp<<else>>_WivesP<</if>><</widget>>
-
-<<widget "heA">><<if _assistantSlaveLisp>>_heALisp<<else>>_heA<</if>><</widget>>
-<<widget "hisA">><<if _assistantSlaveLisp>>_hisALisp<<else>>_hisA<</if>><</widget>>
-<<widget "hersA">><<if _assistantSlaveLisp>>_hersALisp<<else>>_hersA<</if>><</widget>>
-<<widget "himselfA">><<if _assistantSlaveLisp>>_himselfALisp<<else>>_himselfA<</if>><</widget>>
-<<widget "daughterA">><<if _assistantSlaveLisp>>_daughterALisp<<else>>_daughterA<</if>><</widget>>
-<<widget "sisterA">><<if _assistantSlaveLisp>>_sisterALisp<<else>>_sisterA<</if>><</widget>>
-<<widget "loliA">><<if _assistantSlaveLisp>>_loliALisp<<else>>_loliA<</if>><</widget>>
-<<widget "wifeA">><<if _assistantSlaveLisp>>_wifeALisp<<else>>_wifeA<</if>><</widget>>
-<<widget "wivesA">><<if _assistantSlaveLisp>>_wivesALisp<<else>>_wivesA<</if>><</widget>>
-<<widget "HeA">><<if _assistantSlaveLisp>>_HeALisp<<else>>_HeA<</if>><</widget>>
-<<widget "HisA">><<if _assistantSlaveLisp>>_HisALisp<<else>>_HisA<</if>><</widget>>
-<<widget "HersA">><<if _assistantSlaveLisp>>_HersALisp<<else>>_HersA<</if>><</widget>>
-<<widget "HimselfA">><<if _assistantSlaveLisp>>_HimselfALisp<<else>>_HimselfA<</if>><</widget>>
-<<widget "DaughterA">><<if _assistantSlaveLisp>>_DaughterALisp<<else>>_DaughterA<</if>><</widget>>
-<<widget "SisterA">><<if _assistantSlaveLisp>>_SisterALisp<<else>>_SisterA<</if>><</widget>>
-<<widget "LoliA">><<if _assistantSlaveLisp>>_LoliALisp<<else>>_LoliA<</if>><</widget>>
-<<widget "WifeA">><<if _assistantSlaveLisp>>_WifeALisp<<else>>_WifeA<</if>><</widget>>
-<<widget "WivesA">><<if _assistantSlaveLisp>>_WivesALisp<<else>>_WivesA<</if>><</widget>>
-- 
GitLab


From aac37ae62a51f360b2eec4d3c1ecc037a63711be Mon Sep 17 00:00:00 2001
From: lowercasedonkey <lowercasedonkey@gmail.com>
Date: Sat, 4 Sep 2021 00:56:47 -0400
Subject: [PATCH 2/3] lispReplace obsoletes lisping parts of getEnunciation

---
 devTools/types/FC/gameState.d.ts | 22 -----------------
 src/js/speech.js                 | 42 --------------------------------
 2 files changed, 64 deletions(-)

diff --git a/devTools/types/FC/gameState.d.ts b/devTools/types/FC/gameState.d.ts
index 4037fdb6bf6..e86bae72348 100644
--- a/devTools/types/FC/gameState.d.ts
+++ b/devTools/types/FC/gameState.d.ts
@@ -10,27 +10,6 @@ declare namespace FC {
 	interface Enunciation {
 		title: string;
 		say: string;
-		s: string;
-		S: string;
-		ss: string;
-		c: string;
-		C: string;
-		cc: string;
-		z: string;
-		Z: string;
-		zz: string;
-		ch: string;
-		Ch: string;
-		ps: string;
-		Ps: string;
-		sh: string;
-		Sh: string;
-		sc: string;
-		Sc: string;
-		sch: string;
-		Sch: string;
-		x: string;
-		X: string;
 	}
 
 	interface PeacekeepersState {
@@ -90,7 +69,6 @@ declare namespace FC {
 	 */
 	interface TemporaryVariablesInTheGameState {
 		gameover?: string;
-		enunciate?: Enunciation;
 		sortQuickList?: string;
 		slaveAfterRA?: SlaveState;
 		/** @deprecated */
diff --git a/src/js/speech.js b/src/js/speech.js
index c6ce65be892..b0e0ac49996 100644
--- a/src/js/speech.js
+++ b/src/js/speech.js
@@ -63,27 +63,6 @@ globalThis.getEnunciation = function(slave) {
 			}
 		}
 		ret.say = "lisp";
-		ret.s = "th";
-		ret.S = "Th";
-		ret.ss = "th";
-		ret.c = "th";
-		ret.C = "Th";
-		ret.cc = "kth";
-		ret.z = "th";
-		ret.Z = "Th";
-		ret.zz = "th";
-		ret.ch = "th";
-		ret.Ch = "Th";
-		ret.ps = "th";
-		ret.Ps = "Th";
-		ret.sh = "th";
-		ret.Sh = "Th";
-		ret.sc = "th";
-		ret.Sc = "Th";
-		ret.sch = "th";
-		ret.Sch = "Th";
-		ret.x = "kth";
-		ret.X = "Th";
 	} else {
 		if (V.PC.customTitle !== undefined) {
 			ret.title = V.PC.customTitle;
@@ -142,27 +121,6 @@ globalThis.getEnunciation = function(slave) {
 			}
 		}
 		ret.say = "say";
-		ret.s = "s";
-		ret.S = "S";
-		ret.ss = "ss";
-		ret.c = "c";
-		ret.C = "C";
-		ret.cc = "cc";
-		ret.z = "z";
-		ret.Z = "Z";
-		ret.zz = "zz";
-		ret.ch = "ch";
-		ret.Ch = "Ch";
-		ret.ps = "ps";
-		ret.Ps = "Ps";
-		ret.sh = "sh";
-		ret.Sh = "Sh";
-		ret.sc = "sc";
-		ret.Sc = "Sc";
-		ret.sch = "sch";
-		ret.Sch = "Sch";
-		ret.x = "x";
-		ret.X = "X";
 	}
 
 	return ret;
-- 
GitLab


From 86f63b28ec926c35302f971c8fe9d44e663fc625 Mon Sep 17 00:00:00 2001
From: lowercasedonkey <lowercasedonkey@gmail.com>
Date: Sat, 4 Sep 2021 01:18:44 -0400
Subject: [PATCH 3/3] fix bc

---
 .../backwardsCompatibility/backwardsCompatibility.js   | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/src/data/backwardsCompatibility/backwardsCompatibility.js b/src/data/backwardsCompatibility/backwardsCompatibility.js
index 6c33dc2bad1..7234c01f9bf 100644
--- a/src/data/backwardsCompatibility/backwardsCompatibility.js
+++ b/src/data/backwardsCompatibility/backwardsCompatibility.js
@@ -6,23 +6,15 @@ App.Update.autoshred = function(node) {
 			Object.getOwnPropertyNames(App.Data.resetOnNGPlus)
 		)
 	);
-	let extraCount = 0;
 
 	for (const v in V) {
 		if (!set.has(v)) {
 			if (V.debugMode) {
-				if (!App.Data.ignoreGameStateVariables.includes(v)) {
-					console.log("Not on whitelist, removed:", "V." + v + ":", V[v]);
-				} else {
-					extraCount++;
-				}
+				console.log("Not on whitelist, removed:", "V." + v + ":", V[v]);
 			}
 			delete V[v];
 		}
 	}
-	if (extraCount !== 0) {
-		console.log(`and ${extraCount} more`);
-	}
 	node.append(`Done!`);
 };
 
-- 
GitLab