From c5973de8d2a3dacc5e05c14f1ffbcb98f27c871d Mon Sep 17 00:00:00 2001
From: Pregmodder <pregmodder@gmail.com>
Date: Sat, 12 Jan 2019 12:59:10 -0500
Subject: [PATCH] RA accent handling improved

---
 devNotes/twine JS.txt  | 20 ++++++++++++++++++--
 src/js/DefaultRules.tw | 20 ++++++++++++++++++--
 2 files changed, 36 insertions(+), 4 deletions(-)

diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt
index a0c6cc6dfe2..fce6dcb8708 100644
--- a/devNotes/twine JS.txt	
+++ b/devNotes/twine JS.txt	
@@ -16673,12 +16673,28 @@ window.DefaultRules = (function() {
 
 	function ProcessSpeech(slave, rule) {
 		if ((rule.speechRules !== undefined) && (rule.speechRules !== "no default setting")) {
-			if ((slave.fetish == "mindbroken")) {
+			if (slave.fetish == "mindbroken") {
 				if ((slave.speechRules !== "restrictive")) {
 					slave.speechRules = "restrictive";
 					r += `<br>Since ${slave.slaveName} is mindbroken her speech rules have been set to restrictive.`;
 				}
-			} else if ((slave.speechRules !== rule.speechRules)) {
+			} else if (slave.accent == 4) {
+				if (rule.speechRules === "accent elimination" && slave.speechRules !== "language lessons") {
+					slave.speechRules = "language lessons";
+					r += `<br>Since ${slave.slaveName} does not know how to talk, her speech rules have been set to language learning.`;
+				} else {
+					slave.speechRules = "restrictive";
+					r += `<br>Since ${slave.slaveName} does not know how to talk, her speech rules have been set to restrictive.`;
+				}
+			} else if (rule.speechRules === "accent elimination") {
+				if (slave.accent > 0) {
+					slave.speechRules = "accent elimination";
+					r += `<br>${slave.slaveName}'s speech rules have been set to ${rule.speechRules}.`;
+				} else {
+					slave.speechRules = "restrictive";
+					r += `<br>Since ${slave.slaveName} has no accent her speech rules have been set to restrictive.`;
+				}
+			} else if (slave.speechRules !== rule.speechRules) {
 				slave.speechRules = rule.speechRules;
 				r += `<br>${slave.slaveName}'s speech rules have been set to ${rule.speechRules}.`;
 			}
diff --git a/src/js/DefaultRules.tw b/src/js/DefaultRules.tw
index af07393eebb..6e632eea575 100644
--- a/src/js/DefaultRules.tw
+++ b/src/js/DefaultRules.tw
@@ -1722,12 +1722,28 @@ window.DefaultRules = (function() {
 
 	function ProcessSpeech(slave, rule) {
 		if ((rule.speechRules !== undefined) && (rule.speechRules !== "no default setting")) {
-			if ((slave.fetish == "mindbroken")) {
+			if (slave.fetish == "mindbroken") {
 				if ((slave.speechRules !== "restrictive")) {
 					slave.speechRules = "restrictive";
 					r += `<br>Since ${slave.slaveName} is mindbroken her speech rules have been set to restrictive.`;
 				}
-			} else if ((slave.speechRules !== rule.speechRules)) {
+			} else if (slave.accent == 4) {
+				if (rule.speechRules === "accent elimination" && slave.speechRules !== "language lessons") {
+					slave.speechRules = "language lessons";
+					r += `<br>Since ${slave.slaveName} does not know how to talk, her speech rules have been set to language learning.`;
+				} else {
+					slave.speechRules = "restrictive";
+					r += `<br>Since ${slave.slaveName} does not know how to talk, her speech rules have been set to restrictive.`;
+				}
+			} else if (rule.speechRules === "accent elimination") {
+				if (slave.accent > 0) {
+					slave.speechRules = "accent elimination";
+					r += `<br>${slave.slaveName}'s speech rules have been set to ${rule.speechRules}.`;
+				} else {
+					slave.speechRules = "restrictive";
+					r += `<br>Since ${slave.slaveName} has no accent her speech rules have been set to restrictive.`;
+				}
+			} else if (slave.speechRules !== rule.speechRules) {
 				slave.speechRules = rule.speechRules;
 				r += `<br>${slave.slaveName}'s speech rules have been set to ${rule.speechRules}.`;
 			}
-- 
GitLab