From a6b667aeaece90e0bc0fabc4eec4f53f8f63f704 Mon Sep 17 00:00:00 2001
From: Pregmodder <pregmodder@gmail.com>
Date: Sun, 29 Mar 2020 19:06:48 -0400
Subject: [PATCH] fix and better define abortion/birth tally RA rules

---
 src/js/DefaultRules.js          | 48 +++++++++++++++------------------
 src/js/rulesAssistantOptions.js |  6 ++---
 2 files changed, 24 insertions(+), 30 deletions(-)

diff --git a/src/js/DefaultRules.js b/src/js/DefaultRules.js
index 8b0d576020d..8dc184a4bd9 100644
--- a/src/js/DefaultRules.js
+++ b/src/js/DefaultRules.js
@@ -2655,39 +2655,35 @@ window.DefaultRules = (function() {
 			}
 		}
 		if (rule.birthsTat !== undefined && (rule.birthsTat !== null)) {
-			if (slave.birthsTat !== rule.birthsTat) {
-				if (rule.birthsTat === "remove") {
-					if (slave.birthsTat > 0) {
-						cashX(forceNeg(V.modCost), "slaveMod", slave);
-						r += `<br>${slave.slaveName}'s birth tallies have been removed.`;
-					} else if (slave.birthsTat > -1) {
-						r += `<br>${slave.slaveName} will no longer be tattooed with each birth.`;
-					}
-					slave.birthsTat = -1;
-				} else if (slave.birthsTat > 0) {
-					r += `<br>${slave.slaveName} will not be tattooed with each birth.`;
-				} else {
+			if (rule.birthsTat === "remove") {
+				if (slave.birthsTat > 0) {
+					cashX(forceNeg(V.modCost), "slaveMod", slave);
+					r += `<br>${slave.slaveName}'s birth tallies have been removed.`;
+				} else if (slave.birthsTat > -1) {
+					r += `<br>${slave.slaveName} will no longer be tattooed with each birth.`;
+				}
+				slave.birthsTat = -1;
+			} else if (rule.birthsTat === "tally") {
+				if (slave.birthsTat <= 0) {
 					r += `<br>${slave.slaveName} will be tattooed with each birth.`;
+					slave.birthsTat = 0;
 				}
-				slave.birthsTat = rule.birthsTat;
 			}
 		}
 		if (rule.abortionTat !== undefined && (rule.abortionTat !== null)) {
-			if (slave.abortionTat !== rule.abortionTat) {
-				if (rule.abortionTat === "remove") {
-					if (slave.abortionTat > 0) {
-						cashX(forceNeg(V.modCost), "slaveMod", slave);
-						r += `<br>${slave.slaveName}'s abortion tallies have been removed.`;
-					} else if (slave.abortionTat > -1) {
-						r += `<br>${slave.slaveName} will no longer be tattooed with each abortion and miscarriage.`;
-					}
-					slave.abortionTat = -1;
-				} else if (slave.birthsTat > 0) {
-					r += `<br>${slave.slaveName} will not be tattooed with each abortion and miscarriage.`;
-				} else {
+			if (rule.abortionTat === "remove") {
+				if (slave.abortionTat > 0) {
+					cashX(forceNeg(V.modCost), "slaveMod", slave);
+					r += `<br>${slave.slaveName}'s abortion tallies have been removed.`;
+				} else if (slave.abortionTat > -1) {
+					r += `<br>${slave.slaveName} will no longer be tattooed with each abortion and miscarriage.`;
+				}
+				slave.abortionTat = -1;
+			} else if (rule.abortionTat === "tally") {
+				if (slave.abortionTat <= 0) {
 					r += `<br>${slave.slaveName} will be tattooed with each abortion and miscarriage.`;
+					slave.abortionTat = 0;
 				}
-				slave.abortionTat = rule.abortionTat;
 			}
 		}
 		if ((rule.autoBrand === 1)) {
diff --git a/src/js/rulesAssistantOptions.js b/src/js/rulesAssistantOptions.js
index 686de9cd592..3482e9d64cb 100644
--- a/src/js/rulesAssistantOptions.js
+++ b/src/js/rulesAssistantOptions.js
@@ -3811,8 +3811,7 @@ window.rulesAssistantOptions = (function() {
 		constructor() {
 			const items = [
 				["remove", "remove"],
-				["enabled", 0],
-				["disabled", -1],
+				["tally", "tally"],
 			];
 			super("Tattoo a mark for each successful birth", items, true);
 			this.setValue(current_rule.set.birthsTat);
@@ -3824,8 +3823,7 @@ window.rulesAssistantOptions = (function() {
 		constructor() {
 			const items = [
 				["remove", "remove"],
-				["enabled", 0],
-				["disabled", -1],
+				["tally", "tally"],
 			];
 			super("Tattoo a mark for each abortion", items, true);
 			this.setValue(current_rule.set.abortionTat);
-- 
GitLab