From 2847786e61326454a653ce99d9f117841d0785be Mon Sep 17 00:00:00 2001
From: Vas <whiterocket@outlook.com>
Date: Thu, 19 Jul 2018 13:18:59 +0300
Subject: [PATCH] add support for setting skin color

---
 src/js/DefaultRules.tw                      |  5 +++++
 src/js/rulesAssistant.tw                    |  1 +
 src/js/rulesAssistantOptions.tw             | 21 +++++++++++++++++++++
 src/uncategorized/BackwardsCompatibility.tw |  2 ++
 4 files changed, 29 insertions(+)

diff --git a/src/js/DefaultRules.tw b/src/js/DefaultRules.tw
index a456dac92a1..466b15382ee 100644
--- a/src/js/DefaultRules.tw
+++ b/src/js/DefaultRules.tw
@@ -1821,6 +1821,11 @@ window.DefaultRules = (function() {
 				}
 			}
 		}
+		
+		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.tw b/src/js/rulesAssistant.tw
index 2116d3a4d48..8783498ad7f 100644
--- a/src/js/rulesAssistant.tw
+++ b/src/js/rulesAssistant.tw
@@ -290,6 +290,7 @@ window.emptyDefaultRule = function emptyDefaultRule() {
 			bellyImplantVol: -1,
 			teeth: "no default setting",
 			label: "no default setting",
+			skinColor: "no default setting",
 		}
 	};
 	return rule;
diff --git a/src/js/rulesAssistantOptions.tw b/src/js/rulesAssistantOptions.tw
index 06f2f42da16..1c9de4d5244 100644
--- a/src/js/rulesAssistantOptions.tw
+++ b/src/js/rulesAssistantOptions.tw
@@ -984,6 +984,7 @@ window.rulesAssistantOptions = (function() {
 			this.appendChild(new PubicHairStyleList());
 			this.appendChild(new ArmpitHairColourList());
 			this.appendChild(new ArmpitHairStyleList());
+			this.appendChild(new SkinColourList());
 		}
 	}
 
@@ -3152,5 +3153,25 @@ window.rulesAssistantOptions = (function() {
 		}
 	}
 	
+	class SkinColourList extends List {
+		constructor() {
+			const items = [
+				["no default setting"],
+				["pale"],
+				["lightened"],
+				["tanned"],
+				["dark"],
+				["dyed red"],
+				["dyed green"],
+				["dyed blue"],
+				["tiger triped"],
+				["camouflage patterned"],
+			]
+			super("Dye or tan skin", items);
+			this.setValue(current_rule.set.skinColor);
+			this.onchange = (x) => current_rule.set.skinColor = x;
+		}
+	}
+	
 	return rulesAssistantOptions;
 })();
diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
index 1f80840429b..9e805658c22 100644
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ b/src/uncategorized/BackwardsCompatibility.tw
@@ -2949,3 +2949,5 @@ Done!
 <<run $defaultRules.filter(x => x.set.haircuts === undefined).forEach(x => { x.set.haircuts = "no default setting"; })>>
 
 <<run $defaultRules.filter(x => x.set.label === undefined).forEach(x => { x.set.label = "no default setting"; })>>
+
+<<run $defaultRules.filter(x => x.set.skinColour === undefined).forEach(x => { x.set.skinColor = "no default setting"; })>>
-- 
GitLab