diff --git a/src/cheats/mod_EditSlaveCheatDatatypeCleanupNew.tw b/src/cheats/mod_EditSlaveCheatDatatypeCleanupNew.tw index 6102f86738903d894802b7a813ede997d629e09e..a7e3cef4812a7a829d6e5d8bab9e7b0703e9134d 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 053f9d45f17a45ded60dc9504261f5cd64504e50..e80b8a802d2854d905e46044cac440d272bc3234 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 feb0de231447a89c7b4ec12ce9ce4c901657d00e..adcb4657963529e967bec58c1c6ca483d2ca9a71 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>