From a83a955cd97eedc3aff07c81910b97c5d8b7fc89 Mon Sep 17 00:00:00 2001
From: lowercase-donkey <lowercasedonkey@gmail.com>
Date: Sun, 17 Feb 2019 17:09:08 -0500
Subject: [PATCH] RA support for removing slave markings

---
 src/js/DefaultRules.js          | 13 +++++++++++++
 src/js/rulesAssistant.js        |  1 +
 src/js/rulesAssistantOptions.js | 15 +++++++++++++++
 3 files changed, 29 insertions(+)

diff --git a/src/js/DefaultRules.js b/src/js/DefaultRules.js
index 66e5dc66099..03d24df789b 100644
--- a/src/js/DefaultRules.js
+++ b/src/js/DefaultRules.js
@@ -2140,10 +2140,23 @@ window.DefaultRules = (function() {
 			}
 		}
 
+		if (rule.markings !== undefined && (rule.markings !== "no default setting")) {
+			if (slave.markings == "beauty mark" && (rule.markings == "remove beauty marks" || rule.markings == "remove both")) {
+				r += `<br>${slave.slaveName}'s beauty mark has been removed.`;
+			}
+			if (slave.markings == "birthmark" && (rule.markings == "remove birthmarks" || rule.markings == "remove both")) {
+				r += `<br>${slave.slaveName}'s birthmark has been bleached away.`;
+			}
+			slave.markings = "none";
+			cashX(forceNeg(V.modCost), "slaveMod", slave);
+		}
+
 		if (rule.skinColor !== undefined && rule.skinColor !== "no default setting" && rule.skinColor !== slave.skin) {
 			slave.skin = rule.skinColor;
 			r += `<br>${slave.slaveName}'s skin color has been set to ${rule.skinColor}.`;
 		}
+
+
 	}
 
 	function ProcessPiercings(slave, rule) {
diff --git a/src/js/rulesAssistant.js b/src/js/rulesAssistant.js
index 71186a3b557..4d5ea25dc89 100644
--- a/src/js/rulesAssistant.js
+++ b/src/js/rulesAssistant.js
@@ -236,6 +236,7 @@ window.emptyDefaultRule = function emptyDefaultRule() {
 			eyebrowHColor: "no default setting",
 			eyebrowHStyle: "no default setting",
 			eyebrowFullness: "no default setting",
+			markings: "no default setting",
 			pubicHColor: "no default setting",
 			pubicHStyle: "no default setting",
 			nipplesPiercing: "no default setting",
diff --git a/src/js/rulesAssistantOptions.js b/src/js/rulesAssistantOptions.js
index 8009942fcfb..786b37d15cb 100644
--- a/src/js/rulesAssistantOptions.js
+++ b/src/js/rulesAssistantOptions.js
@@ -1008,6 +1008,7 @@ window.rulesAssistantOptions = (function() {
 			this.appendChild(new ArmpitHairColorList());
 			this.appendChild(new ArmpitHairStyleList());
 			this.appendChild(new SkinColorList());
+			this.appendChild(new MarkingsList());
 		}
 	}
 
@@ -2446,6 +2447,20 @@ window.rulesAssistantOptions = (function() {
 		}
 	}
 
+	class MarkingsList extends List {
+		constructor() {
+			const pairs = [
+				["no default setting"],
+				["remove beauty marks"],
+				["remove birthmarks"],
+				["remove both"]
+			];
+			super("Facial markings", pairs);
+			this.setValue(current_rule.set.markings);
+			this.onchange = (value) => current_rule.set.markings = value;
+		}
+	}
+
 	class PubicHairColorList extends List {
 		constructor() {
 			const pairs = [
-- 
GitLab