diff --git a/src/js/utilJS.js b/src/js/utilJS.js index 0fea5bf0956826ad9de29e6e1e19b14c63f78346..c806fe91f52f8dae8f707ffedb3779d5e14f81e5 100644 --- a/src/js/utilJS.js +++ b/src/js/utilJS.js @@ -2959,6 +2959,103 @@ window.changeSkinTone = function(skin, value) { return prop; }; +/** +* Clean up extremities on removal or piercings, tats, and brands +* @param {App.Entity.SlaveState} slave +* @param {string} part +*/ + +window.surgeryAmp = function(slave, part) { + if (part === "left ear"){ + slave.earShape = "none"; + slave.earT = "none"; + delete slave.brand["left ear"]; + slave.earPiercing = 0; + slave.health -= 10; + } else if (part === "right ear") { + slave.earShape = "none"; + slave.earT = "none"; + delete slave.brand["right ear"]; + slave.earPiercing = 0; + slave.health -= 10; + } else if (part === "left arm") { + delete slave.brand["left upper arm"]; + delete slave.brand["left lower arm"]; + delete slave.brand["left wrist"]; + delete slave.brand["left hand"]; + slave.armsTat = 0; + slave.nails = 0; + slave.health -= 10; + } else if (part === "right arm") { + delete slave.brand["right upper arm"]; + delete slave.brand["right lower arm"]; + delete slave.brand["right wrist"]; + delete slave.brand["right hand"]; + slave.armsTat = 0; + slave.nails = 0; + slave.health -= 10; + } else if (part === "left leg") { + delete slave.brand["left thigh"]; + delete slave.brand["left calf"]; + delete slave.brand["left ankle"]; + delete slave.brand["left foot"]; + slave.legsTat = 0; + slave.shoes = "none"; + slave.legAccessory = "none"; + slave.heightImplant = 0; + slave.health -= 10; + } else if (part === "right leg") { + delete slave.brand["right thigh"]; + delete slave.brand["right calf"]; + delete slave.brand["right ankle"]; + delete slave.brand["right foot"]; + slave.legsTat = 0; + slave.shoes = "none"; + slave.legAccessory = "none"; + slave.heightImplant = 0; + slave.health -= 10; + } else if (part === "dick") { + slave.dick = 0; + slave.foreskin = 0; + slave.skill.vaginal = 0; + slave.dickPiercing = 0; + slave.dickTat = 0; + slave.dickAccessory = "none"; + slave.chastityPenis = 0; + slave.health -= 20; + } else if (part === "vagina") { + slave.vagina = -1; + slave.ovaries = 0; + slave.preg = -2; + slave.pregSource = 0; + slave.skill.vaginal = 0; + slave.vaginaTat = 0; + slave.vaginalAccessory = "none"; + slave.vaginalAttachment = "none"; + slave.chastityVagina = 0; + slave.health -= 20; + } else if (part === "horn") { + slave.horn = "none"; + slave.hornColor = "none"; + slave.health -= 10; + } else if (part === "voicebox") { + slave.voice = 0; + slave.voiceImplant = 0; + slave.health -= 10; + } else if (part === "lips") { + slave.lips -= slave.lipsImplant; + slave.lipsImplant = 0; + if (slave.skill.oral > 10) { + slave.skill.oral -= 10; + } + } + if (["cloning", "ova"].includes(part)) { + cashX(forceNeg($surgeryCost*2), "slaveSurgery", slave); + } else { + cashX(forceNeg($surgeryCost), "slaveSurgery", slave); + } +}; + /** * Creates a span for an link with tooltip containing the reasons why it is disabled * @param {string} link diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw index ecdfcd4e01ddcabce8b370d27eebf76aa7c4ef97..cda16bab426bca9edd2fe07d50c9a87442c4e962 100644 --- a/src/uncategorized/remoteSurgery.tw +++ b/src/uncategorized/remoteSurgery.tw @@ -191,7 +191,7 @@ $He has <</if>> <<if $activeSlave.earShape != "normal" && $activeSlave.earShape != "none" && $seeExtreme == 1 && $activeSlave.indentureRestrictions < 1>> | <</if>> <<if $activeSlave.earShape != "none" && $seeExtreme == 1 && $activeSlave.indentureRestrictions < 1>> - [[Remove them|Surgery Degradation][$activeSlave.earShape = "none", $activeSlave.earPiercing = 0, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20, $surgeryType = "earGone"]] + [[Remove them|Surgery Degradation][surgeryAmp($activeSlave, "left ear"), surgeryAmp($activeSlave, "right ear"), $surgeryType = "earGone"]] <</if>> <<if $activeSlave.earShape == "none">> <<if $activeSlave.hears != -2 && $activeSlave.earImplant != 1>> @@ -304,9 +304,9 @@ $He has <<if $activeSlave.horn == "none">>no horns<<else>>$activeSlave.horn<</if //$His indenture forbids elective surgery// <<elseif $activeSlave.horn != "none">> <<if $activeSlave.horn != "one long oni horn">> - [[Remove them|Surgery Degradation][$activeSlave.horn = "none", $activeSlave.hornColor = "none", cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10, $surgeryType = "hornGone"]] + [[Remove them|Surgery Degradation][surgeryAmp($activeSlave, "horn"), $surgeryType = "hornGone"]] <<else>> - [[Remove it|Surgery Degradation][$activeSlave.horn = "none", $activeSlave.hornColor = "none", cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10, $surgeryType = "hornGone"]] + [[Remove it|Surgery Degradation][surgeryAmp($activeSlave, "horn"), $surgeryType = "hornGone"]] <</if>> <</if>> <<if $activeSlave.horn == "none">> @@ -365,7 +365,7 @@ $He has <</if>> <<if $activeSlave.lipsImplant != 0>> <<if $activeSlave.indentureRestrictions < 2>> - | [[Remove lip implants|Surgery Degradation][$activeSlave.lips = ($activeSlave.lips-$activeSlave.lipsImplant),$activeSlave.lipsImplant = 0,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $surgeryType = "lips"]] + | [[Remove lip implants|Surgery Degradation][surgeryAmp($activeSlave, "lips"), $surgeryType = "lips"]] <</if>> <</if>> <<if ($activeSlave.lips >= 10) && ($activeSlave.lipsImplant == 0)>> @@ -459,7 +459,7 @@ $He has [[Perform surgery to lower voice|Surgery Degradation][$activeSlave.voice -= 1, $activeSlave.voiceImplant -= 1, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10, $surgeryType = "voice2"]] <</if>> <<if $seeExtreme == 1>> - | [[Remove vocal cords|Surgery Degradation][$activeSlave.voice = 0, $activeSlave.voiceImplant = 0, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10, $surgeryType = "mute"]] + | [[Remove vocal cords|Surgery Degradation][surgeryAmp($activeSlave, "voicebox"), $surgeryType = "mute"]] <</if>> <<elseif $activeSlave.readyProsthetics.findIndex(function(p) {return p.id == "electrolarynx"}) != -1>> [["Give " + $him + " an electrolarynx"|Surgery Degradation][$activeSlave.electrolarynx = 1, $activeSlave.voice = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20, $surgeryType = "electrolarynx"]] @@ -1205,7 +1205,7 @@ Work on $his sex: <<if $activeSlave.vagina > -1>> <<if $activeSlave.indentureRestrictions < 1 && ($activeSlave.breedingMark != 1 || $propOutcome == 0)>> - | [[Remove pussy|Surgery Degradation][$activeSlave.vagina = -1,$activeSlave.ovaries = 0,$activeSlave.preg = -2,$activeSlave.pregSource = 0,$activeSlave.skill.vaginal = 0,$activeSlave.vaginalAccessory = "none",$activeSlave.vaginalAttachment = "none",$activeSlave.chastityVagina = 0,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave),$activeSlave.health -= 20,$surgeryType = "vaginaRemoval"]] <<if $activeSlave.ovaries == 1>>//This will remove $his ovaries as well//<</if>> + | [[Remove pussy|Surgery Degradation][surgeryAmp($activeSlave, "vagina"), $surgeryType = "vaginaRemoval"]] <<if $activeSlave.ovaries == 1>>//This will remove $his ovaries as well//<</if>> <</if>> <</if>> @@ -1217,7 +1217,7 @@ Work on $his sex: | [[Create a vagina|Surgery Degradation][$activeSlave.vagina = 0,$activeSlave.skill.vaginal = 0,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 40, $surgeryType = "ntf"]] <</if>> <<if ($activeSlave.dick > 0) && ($seeExtreme == 1)>> - | [[Remove penis|Surgery Degradation][$activeSlave.dick = 0,$activeSlave.dickAccessory = "none",$activeSlave.chastityPenis = 0,$activeSlave.dickTat = 0,$activeSlave.foreskin = 0,$activeSlave.skill.vaginal = 0,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20, $surgeryType = "chop"]] + | [[Remove penis|Surgery Degradation][surgeryAmp($activeSlave, "dick"), $surgeryType = "chop"]] <</if>> <<if ($activeSlave.foreskin > 0) && $activeSlave.dick > 0>> <<if $activeSlave.indentureRestrictions < 2>> @@ -1817,9 +1817,9 @@ Work on $him structurally: <<if $activeSlave.amp == 0>> <<if $activeSlave.indentureRestrictions < 1 && $seeExtreme == 1>> <<if $activeSlave.readyProsthetics.findIndex(function(p) {return p.id == "interfaceP1"}) == -1 && $activeSlave.readyProsthetics.findIndex(function(p) {return p.id == "interfaceP2"}) == -1>> - [[Remove arms and legs|Surgery Degradation][$activeSlave.amp = 1, $activeSlave.heels = 0, $activeSlave.shoes = "none", $activeSlave.legAccessory = "none", $activeSlave.heightImplant = 0, $activeSlave.legsTat = 0, $activeSlave.armsTat = 0, $activeSlave.releaseRules = "restrictive", cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 40, $activeSlave.nails = 0, $surgeryType = "amp"]] //This will greatly restrict $him// + [[Remove arms and legs|Surgery Degradation][surgeryAmp($activeSlave, "left arm"), surgeryAmp($activeSlave, "left arm"), surgeryAmp($activeSlave, "right arm"), surgeryAmp($activeSlave, "left leg"), surgeryAmp($activeSlave, "right leg"), $activeSlave.amp = 1, $activeSlave.releaseRules = "restrictive", cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $surgeryType = "amp"]] //This will greatly restrict $him// <<else>> - [[Remove arms and legs|Surgery Degradation][$activeSlave.amp = 1, $activeSlave.heels = 0, $activeSlave.shoes = "none", $activeSlave.legAccessory = "none", $activeSlave.heightImplant = 0, $activeSlave.legsTat = 0, $activeSlave.armsTat = 0, $activeSlave.releaseRules = "restrictive", cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 40, $activeSlave.nails = 0, $surgeryType = "amp1"]] //This will greatly restrict $him// + [[Remove arms and legs|Surgery Degradation][surgeryAmp($activeSlave, "left arm"), surgeryAmp($activeSlave, "left arm"), surgeryAmp($activeSlave, "right arm"), surgeryAmp($activeSlave, "left leg"), surgeryAmp($activeSlave, "right leg"), $activeSlave.amp = 1, $activeSlave.releaseRules = "restrictive", cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $surgeryType = "amp1"]] //This will greatly restrict $him// <</if>> <</if>> <<elseif ($activeSlave.amp == 1) && ($activeSlave.PLimb == 0)>>