From 1f8e60ab4aa6cb36ae9fd0de34bd9a85159fb4f5 Mon Sep 17 00:00:00 2001
From: Arkerthan <arkerthan@gmail.com>
Date: Mon, 9 Dec 2019 11:38:10 +0100
Subject: [PATCH] apply .orig* chnges to post slave generation slaves

---
 src/SecExp/secExpSmilingMan.tw        |  1 +
 src/js/assayJS.js                     | 21 ++++++++++++++++-----
 src/uncategorized/prestigiousSlave.tw | 14 ++------------
 src/uncategorized/reRecruit.tw        |  8 ++++++--
 4 files changed, 25 insertions(+), 19 deletions(-)

diff --git a/src/SecExp/secExpSmilingMan.tw b/src/SecExp/secExpSmilingMan.tw
index 3715f2f90ca..d56e275466a 100644
--- a/src/SecExp/secExpSmilingMan.tw
+++ b/src/SecExp/secExpSmilingMan.tw
@@ -273,6 +273,7 @@
 	<<set $activeSlave.slaveSurname = "Yamadera">>
 	<<set $activeSlave.birthSurname = "Yamadera">>
 	<<set $activeSlave.origSkin = "pale">>
+	<<run applyGeneticColor($activeSlave)>>
 	<<set $activeSlave.devotion = 5 * $relationshipLM>>
 	<<set $activeSlave.trust = 5 * $relationshipLM>>
 	<<set $activeSlave.face = random(10,50)>>
diff --git a/src/js/assayJS.js b/src/js/assayJS.js
index 5a7a207ab4d..50a984d6785 100644
--- a/src/js/assayJS.js
+++ b/src/js/assayJS.js
@@ -69,13 +69,12 @@ window.isLeaderP = function isLeaderP(slave) {
 };
 
 /**
+ * colors skin, eyes and hair based on genetic Color.
+ * Takes .override_*_Color into account.
+ *
  * @param {App.Entity.SlaveState} slave
  */
-window.newSlave = function newSlave(slave) {
-	if (slave.override_Race !== 1) {
-		slave.origRace = slave.race;
-	}
-
+window.applyGeneticColor = function(slave) {
 	if (slave.override_Eye_Color !== 1) {
 		slave.eyeColor = getGeneticEyeColor(slave);
 	}
@@ -96,6 +95,18 @@ window.newSlave = function newSlave(slave) {
 			slave.skin = getGeneticSkinColor(slave);
 		}
 	}
+};
+
+/**
+ * @param {App.Entity.SlaveState} slave
+ */
+window.newSlave = function newSlave(slave) {
+	if (slave.override_Race !== 1) {
+		slave.origRace = slave.race;
+	}
+
+	applyGeneticColor(slave);
+
 	/* eslint-disable camelcase */
 	slave.override_Race = 0;
 	slave.override_H_Color = 0;
diff --git a/src/uncategorized/prestigiousSlave.tw b/src/uncategorized/prestigiousSlave.tw
index 3c4bc43f2f7..c0db336893e 100644
--- a/src/uncategorized/prestigiousSlave.tw
+++ b/src/uncategorized/prestigiousSlave.tw
@@ -195,17 +195,12 @@ You check to see if any especially prestigious slaves are on auction. <<if $pres
 	<<set $activeSlave.prestigeDesc = "$He is a natural albino, and was quickly enslaved due to the great demand for physically unusual specimens.">>
 	<<set $activeSlave.geneticQuirks.albinism = 2>>
 	<<set $activeSlave.albinismOverride = {skin: "pure white", eyeColor: "pale grey", hColor: "white"}>>
+	<<run applyGeneticColor($activeSlave)>>
 	<<set $activeSlave.career = "a slave">>
 	<<set $activeSlave.devotion = random(-90,-80)>>
 	<<set $activeSlave.trust = random(-45,-25)>>
 	<<set $activeSlave.health = random(40,60)>>
-	<<set $activeSlave.hColor = getGeneticHairColor($activeSlave)>>
-	<<set $activeSlave.pubicHColor = getGeneticHairColor($activeSlave)>>
-	<<set $activeSlave.underArmHColor = getGeneticHairColor($activeSlave)>>
-	<<set $activeSlave.eyebrowHColor = getGeneticHairColor($activeSlave)>>
 	<<set $activeSlave.eyes = -1>>
-	<<set $activeSlave.eyeColor = getGeneticEyeColor($activeSlave)>>
-	<<set $activeSlave.skin = getGeneticSkinColor($activeSlave)>>
 	<<set $activeSlave.custom.desc = "$His eyes are unsettling; though $his irises are a pale grey color, in some lights the whole eye takes on a red cast.">>
 
 <<case "old-timer">>
@@ -669,17 +664,12 @@ You check to see if any especially prestigious slaves are on auction. <<if $pres
 	<<set $activeSlave.prestigeDesc = "$He is a natural albino, and was quickly enslaved due to the great demand for physically unusual specimens.">>
 	<<set $activeSlave.geneticQuirks.albinism = 2>>
 	<<set $activeSlave.albinismOverride = {skin: "pure white", eyeColor: "pale grey", hColor: "white"}>>
+	<<run applyGeneticColor($activeSlave)>>
 	<<set $activeSlave.career = "a slave">>
 	<<set $activeSlave.devotion = random(-90,-80)>>
 	<<set $activeSlave.trust = random(-45,-25)>>
 	<<set $activeSlave.health = random(40,60)>>
-	<<set $activeSlave.hColor = getGeneticHairColor($activeSlave)>>
-	<<set $activeSlave.pubicHColor = getGeneticHairColor($activeSlave)>>
-	<<set $activeSlave.underArmHColor = getGeneticHairColor($activeSlave)>>
-	<<set $activeSlave.eyebrowHColor = getGeneticHairColor($activeSlave)>>
 	<<set $activeSlave.eyes = -1>>
-	<<set $activeSlave.eyeColor = getGeneticEyeColor($activeSlave)>>
-	<<set $activeSlave.skin = getGeneticSkinColor($activeSlave)>>
 	<<set $activeSlave.custom.desc = "$His eyes are unsettling; though $his irises are a pale grey color, in some lights the whole eye takes on a red cast.">>
 
 <<case "d old-timer">>
diff --git a/src/uncategorized/reRecruit.tw b/src/uncategorized/reRecruit.tw
index 22dd7304f58..c8b57f031a7 100644
--- a/src/uncategorized/reRecruit.tw
+++ b/src/uncategorized/reRecruit.tw
@@ -942,6 +942,7 @@
 <<set $activeSlave.origEye = "blue">>
 <<set $activeSlave.origHColor = "blonde">>
 <<set $activeSlave.origSkin = "pale">>
+<<run applyGeneticColor($activeSlave)>>
 <<set $activeSlave.hLength = 40>>
 <<set $activeSlave.hStyle = "neat">>
 <<set $activeSlave.slaveName = either("Angel", "Angelica", "Gabriela", "Layla", "Liel", "Seraph")>>
@@ -986,6 +987,7 @@
 <<set $activeSlave.origEye = "amber">>
 <<set $activeSlave.origHColor = "black">>
 <<set $activeSlave.origSkin = "pale">>
+<<run applyGeneticColor($activeSlave)>>
 <<set $activeSlave.hLength = 40>>
 <<set $activeSlave.hStyle = "neat">>
 <<set $activeSlave.slaveName = either("Eve", "Jezebel", "Lileli", "Lilith", "Lucy", "Malicia")>>
@@ -1437,11 +1439,12 @@
 <<set $activeSlave.career = "from an upper class family">>
 <<set $activeSlave.fetish = "humiliation">>
 <<set $activeSlave.behavioralFlaw = "arrogant">>
-<<set $activeSlave.origSkin = "light">>
 <<set $activeSlave.voice = 3>>
 <<set $activeSlave.boobShape = "perky">>
+<<set $activeSlave.origSkin = "light">>
 <<set $activeSlave.origEye = "blue">>
 <<set $activeSlave.origHColor = "blonde">>
+<<run applyGeneticColor($activeSlave)>>
 <<set $activeSlave.teeth = "normal">>
 <<set $activeSlave.prestige = 1>>
 <<set $activeSlave.prestigeDesc = "$He is the notoriously spoiled $daughter of a wealthy old world businessman.">>
@@ -1598,10 +1601,11 @@
 <<set $activeSlave.trust = random(-15,0)>>
 <<set $activeSlave.health = 50>>
 <<set $activeSlave.weight = -70>>
-<<set $activeSlave.origHColor = "silver">>
 <<set $activeSlave.boobs = 100>>
+<<set $activeSlave.origHColor = "silver">>
 <<set $activeSlave.origEye = "blue">>
 <<set $activeSlave.origSkin = "dark">>
+<<run applyGeneticColor($activeSlave)>>
 <<if $activeSlave.actualAge < 13>>
 	<<set $activeSlave.career = "a child prostitute">>
 <<else>>
-- 
GitLab