From cf49eba9d9863d0e7474097169aff15416e0ca17 Mon Sep 17 00:00:00 2001 From: Arkerthan <arkerthan@gmail.com> Date: Fri, 24 Jan 2020 23:20:10 +0100 Subject: [PATCH] fix albinism --- .../mod_EditSlaveCheatDatatypeCleanupNew.tw | 3 ++ src/js/surgery.js | 38 +++++++++++++++++++ src/uncategorized/remoteSurgery.tw | 8 ++-- 3 files changed, 45 insertions(+), 4 deletions(-) diff --git a/src/cheats/mod_EditSlaveCheatDatatypeCleanupNew.tw b/src/cheats/mod_EditSlaveCheatDatatypeCleanupNew.tw index 6102f867389..a7e3cef4812 100644 --- a/src/cheats/mod_EditSlaveCheatDatatypeCleanupNew.tw +++ b/src/cheats/mod_EditSlaveCheatDatatypeCleanupNew.tw @@ -216,6 +216,9 @@ <<set $tempSlave.lactationDuration = 0>> <</if>> <<run SetBellySize($tempSlave)>> +<<if $tempSlave.geneticQuirks === 2 && $activeSlave.albinismOverride === null>> + <<run induceAlbinism($tempSlave, 2)>> +<</if>> <br> You perform the dark rituals, pray to the dark gods, and sell your soul for the power to change and mold slaves to your will. diff --git a/src/js/surgery.js b/src/js/surgery.js index 053f9d45f17..e80b8a802d2 100644 --- a/src/js/surgery.js +++ b/src/js/surgery.js @@ -716,6 +716,44 @@ window.resetEyeColor = function(slave, side = "both") { slave.eye[side].iris = getGeneticEyeColor(slave, side); }; +/** + * @param {App.Entity.SlaveState} slave + * @param {number} level + */ +window.induceAlbinism = function(slave, level) { + slave.geneticQuirks.albinism = level; + if (level < 2) { + 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"; + } +}; + /** * Allowed values for limb: * left arm, right arm, left leg, right leg, all diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw index feb0de23144..adcb4657963 100644 --- a/src/uncategorized/remoteSurgery.tw +++ b/src/uncategorized/remoteSurgery.tw @@ -1759,12 +1759,12 @@ <div class="indent"> <<if $activeSlave.geneticQuirks.albinism == 2>> - [[Albinism prevention treatment|Surgery Degradation][$activeSlave.geneticQuirks.albinism = 0,cashX(forceNeg($surgeryCost*4), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave,40), $activeSlave.chem += 100,$surgeryType = "gene treatment"]] + [[Albinism prevention treatment|Surgery Degradation][induceAlbinism($activeSlave, 0), cashX(forceNeg($surgeryCost * 4), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave, 40), $activeSlave.chem += 100, $surgeryType = "gene treatment"]] <<elseif $activeSlave.geneticQuirks.albinism == 1 && $geneticMappingUpgrade >= 2>> - [[Albinism activation treatment|Surgery Degradation][$activeSlave.geneticQuirks.albinism = 2,cashX(forceNeg($surgeryCost*4), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave,40), $activeSlave.chem += 100,$surgeryType = "gene treatment"]] //Will not have an active effect// - | [[Albinism carrier corrective treatment|Surgery Degradation][$activeSlave.geneticQuirks.albinism = 0,cashX(forceNeg($surgeryCost*4), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave,40), $activeSlave.chem += 100,$surgeryType = "gene treatment"]] + [[Albinism activation treatment|Surgery Degradation][induceAlbinism($activeSlave, 2), cashX(forceNeg($surgeryCost * 4), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave, 40), $activeSlave.chem += 100, $surgeryType = "gene treatment"]] //Will not have an active effect// + | [[Albinism carrier corrective treatment|Surgery Degradation][induceAlbinism($activeSlave, 0), cashX(forceNeg($surgeryCost * 4), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave,40), $activeSlave.chem += 100,$surgeryType = "gene treatment"]] <<elseif $geneticFlawLibrary == 1>> - [[Induced albinism treatment|Surgery Degradation][$activeSlave.geneticQuirks.albinism = 2,cashX(forceNeg($surgeryCost*10), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave,40), $activeSlave.chem += 40,$surgeryType = "gene treatment"]] //This will induce @@.orange;albinism@@ in $his genetic code// + [[Induced albinism treatment|Surgery Degradation][induceAlbinism($activeSlave, 2), cashX(forceNeg($surgeryCost * 10), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave, 40), $activeSlave.chem += 40,$surgeryType = "gene treatment"]] //This will induce @@.orange;albinism@@ in $his genetic code// <</if>> </div> -- GitLab