From c6ef969e77f34588c4ccdc7ed22f7a87eaf17e3c Mon Sep 17 00:00:00 2001
From: Pregmodder <pregmodder@gmail.com>
Date: Thu, 7 Mar 2019 19:16:00 -0500
Subject: [PATCH] Turned heterochromia check into JS

---
 src/js/assayJS.js                      | 4 ++++
 src/utility/descriptionWidgetsFlesh.tw | 5 +++--
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/js/assayJS.js b/src/js/assayJS.js
index e4917376bdf..e832c720759 100644
--- a/src/js/assayJS.js
+++ b/src/js/assayJS.js
@@ -224,6 +224,10 @@ window.inferiorRaceP = /** @param {App.Entity.SlaveState} slave */ function infe
 	return State.variables.arcologies[0].FSSubjugationistRace === slave.race;
 };
 
+window.hasVisibleHeterochromia = /** @param {App.Entity.SlaveState} slave */ function hasVisibleHeterochromia(slave) {
+	return slave.geneticQuirks.heterochromia !== 0 && slave.geneticQuirks.heterochromia !== 1 && slave.geneticQuirks.albinism !== 2 && slave.geneticQuirks.heterochromia !== slave.eyeColor && slave.eyeColor === slave.origEye;
+}
+
 window.isLeaderP = /** @param {App.Entity.SlaveState} slave */ function isLeaderP(slave) {
 	const V = State.variables;
 	/** @type {App.Entity.SlaveState[]}*/
diff --git a/src/utility/descriptionWidgetsFlesh.tw b/src/utility/descriptionWidgetsFlesh.tw
index 7fadd540635..a47106aec72 100644
--- a/src/utility/descriptionWidgetsFlesh.tw
+++ b/src/utility/descriptionWidgetsFlesh.tw
@@ -5229,7 +5229,7 @@ $He's got a
 <<widget "eyeDescription">>
 
 <<if $activeSlave.eyes == -2>>
-	<<if $activeSlave.geneticQuirks.heterochromia != 0 && $activeSlave.geneticQuirks.heterochromia != 1 && $activeSlave.geneticQuirks.heterochromia != $activeSlave.origEye>><<set _heterochromia = 1>><<else>><<set _heterochromia = 0>><</if>>
+	<<if hasVisibleHeterochromia($activeSlave)>><<set _heterochromia = 1>><<else>><<set _heterochromia = 0>><</if>>
 	<<if $activeSlave.eyeColor != "empty">>
 		$His eyes are dull<<if $saleDescription == 1 && ($PC.medicine >= 50 || $PC.slaving >= 50)>>, unfocused<<if _heterochromia == 1>>, heterochromatic,<</if>> and clearly nonfunctional<<else>><<if _heterochromia == 1>>, heterochromatic,<</if>> and unfocused<</if>>,
 	<<else>>
@@ -5362,7 +5362,8 @@ $He's got a
 <</widget>>
 
 /* to simplify heterochromia */
-<<widget "eyeColor">><<if def $args[0]>><<if $args[0].geneticQuirks.heterochromia != 0 && $args[0].geneticQuirks.heterochromia != 1 && $args[0].geneticQuirks.heterochromia != $args[0].origEye>>heterochromatic $args[0].eyeColor and $args[0].geneticQuirks.heterochromia<<else>>$args[0].eyeColor<</if>><<else>><<if $activeSlave.geneticQuirks.heterochromia != 0 && $activeSlave.geneticQuirks.heterochromia != 1 && $activeSlave.geneticQuirks.heterochromia != $activeSlave.origEye>>heterochromatic $activeSlave.eyeColor and $activeSlave.geneticQuirks.heterochromia<<else>>$activeSlave.eyeColor<</if>><</if>><</widget>>
+<<widget "eyeColor">><<if def $args[0]>><<if hasVisibleHeterochromia($args[0])>>heterochromatic $args[0].eyeColor and $args[0].geneticQuirks.heterochromia<<else>>$args[0].eyeColor<</if>><<else>><<if hasVisibleHeterochromia($activeSlave)>>heterochromatic $activeSlave.eyeColor and $activeSlave.geneticQuirks.heterochromia<<else>>$activeSlave.eyeColor<</if>>
+<</if>><</widget>>
 
 <<widget "earDescription">>
 /* ear shape description here */
-- 
GitLab