From 6a90a8132ae43e6a9cea3d62cb24f963377090c2 Mon Sep 17 00:00:00 2001 From: Svornost <11434-svornost@users.noreply.gitgud.io> Date: Thu, 18 Feb 2021 21:15:53 -0800 Subject: [PATCH] 1. Don't fail to get genetic eye color if albinismOverride isn't set. 2. Use makeAlbinismOverride instead of duplicating it. 3. JSDoc type fix for induceAlbinism. --- src/js/statsChecker/eyeChecker.js | 5 ++--- src/npc/generate/generateNewSlaveJS.js | 27 +----------------------- src/npc/surgery/surgery.js | 29 ++------------------------ 3 files changed, 5 insertions(+), 56 deletions(-) diff --git a/src/js/statsChecker/eyeChecker.js b/src/js/statsChecker/eyeChecker.js index 7014da62b77..d7d8ed835d6 100644 --- a/src/js/statsChecker/eyeChecker.js +++ b/src/js/statsChecker/eyeChecker.js @@ -265,9 +265,8 @@ globalThis.hasVisibleHeterochromia = function(slave) { globalThis.getGeneticEyeColor = function(playerOrSlave, side) { if (side !== "left" && side !== "right") { return "ERROR:" + side; } - if (playerOrSlave.geneticQuirks.albinism === 2) { - const slave = (/** @type {App.Entity.SlaveState} */(playerOrSlave)); - return slave.albinismOverride && slave.albinismOverride.eyeColor; + if (playerOrSlave.geneticQuirks.albinism === 2 && "albinismOverride" in playerOrSlave) { + return playerOrSlave.albinismOverride.eyeColor; } else { if (side === "left" && typeof playerOrSlave.geneticQuirks.heterochromia === "string") { return playerOrSlave.geneticQuirks.heterochromia; diff --git a/src/npc/generate/generateNewSlaveJS.js b/src/npc/generate/generateNewSlaveJS.js index 6c995b5c639..8210cb6adef 100644 --- a/src/npc/generate/generateNewSlaveJS.js +++ b/src/npc/generate/generateNewSlaveJS.js @@ -1711,32 +1711,7 @@ globalThis.GenerateNewSlave = (function() { function generateGeneticQuirkTweaks() { if (slave.geneticQuirks.albinism === 2) { - slave.albinismOverride = { - skin: 0, - eyeColor: "red", - hColor: "white" - }; - switch (slave.race) { - case "black": - case "indo-aryan": - case "malay": - case "pacific islander": - case "amerindian": - slave.albinismOverride.skin = "very fair"; - break; - case "latina": - slave.albinismOverride.skin = "extremely fair"; - break; - case "asian": - case "middle eastern": - case "semitic": - case "southern european": - case "white": - slave.albinismOverride.skin = "pure white"; - break; - default: - slave.albinismOverride.skin = "pure white"; - } + slave.albinismOverride = makeAlbinismOverride(slave.race); } if (slave.geneticQuirks.rearLipedema === 2) { slave.butt += jsRandom(0.2 * slave.physicalAge, 0.5 * slave.physicalAge); diff --git a/src/npc/surgery/surgery.js b/src/npc/surgery/surgery.js index d2a0f56ce70..a9343bd4d42 100644 --- a/src/npc/surgery/surgery.js +++ b/src/npc/surgery/surgery.js @@ -790,7 +790,7 @@ globalThis.resetEyeColor = function(slave, side = "both") { /** * @param {App.Entity.SlaveState} slave - * @param {number} level + * @param {FC.GeneticQuirk} level */ globalThis.induceAlbinism = function(slave, level) { slave.geneticQuirks.albinism = level; @@ -798,32 +798,7 @@ globalThis.induceAlbinism = function(slave, level) { slave.albinismOverride = null; return; } - slave.albinismOverride = { - skin: 0, - eyeColor: "red", - hColor: "white" - }; - switch (slave.race) { - case "black": - case "indo-aryan": - case "malay": - case "pacific islander": - case "amerindian": - slave.albinismOverride.skin = "very fair"; - break; - case "latina": - slave.albinismOverride.skin = "extremely fair"; - break; - case "asian": - case "middle eastern": - case "semitic": - case "southern european": - case "white": - slave.albinismOverride.skin = "pure white"; - break; - default: - slave.albinismOverride.skin = "pure white"; - } + slave.albinismOverride = makeAlbinismOverride(slave.race); }; /** -- GitLab