diff --git a/src/js/rulesAutosurgery.tw b/src/js/rulesAutosurgery.tw index d079e7aa7ba2e2283fd4ab5ca6fe06424a14eae7..5d518f25af09813380b8a5e34fd54bfc2ed78533 100644 --- a/src/js/rulesAutosurgery.tw +++ b/src/js/rulesAutosurgery.tw @@ -6,12 +6,15 @@ window.rulesAutosurgery = (function() { let r = "" return rulesAutoSurgery - function rulesAutoSurgery() { + function rulesAutoSurgery(slave) { V = State.variables - V.surgeries = [] - delete V.thisSurgery - - ProcessHGTastes() + const surgeries = [] + const thisSurgery = ProcessHGTastes(slave) + if (slave.health > 20) + CommitSurgery(slave, thisSurgery, surgeries) + if (surgeries.length > 0) + PrintResult(slave, thisSurgery, surgeries) + return r } function autoSurgerySelector(slave, ruleset) { @@ -44,10 +47,11 @@ window.rulesAutosurgery = (function() { return surgery; } - function ProcessHGTastes() { + function ProcessHGTastes(slave) { + let thisSurgery switch (V.HGTastes) { case 1: - V.thisSurgery = { + thisSurgery = { surgery_lactation: 0, surgery_cosmetic: 1, surgery_faceShape: "cute", @@ -63,7 +67,7 @@ window.rulesAutosurgery = (function() { } break case 2: - V.thisSurgery = { + thisSurgery = { surgery_lactation: 0, surgery_cosmetic: 1, surgery_faceShape: "cute", @@ -79,7 +83,7 @@ window.rulesAutosurgery = (function() { } break case 3: - V.thisSurgery = { + thisSurgery = { surgery_lactation: 0, surgery_cosmetic: 1, surgery_faceShape: "cute", @@ -95,7 +99,7 @@ window.rulesAutosurgery = (function() { } break case 4: - V.thisSurgery = { + thisSurgery = { surgery_lactation: 1, surgery_cosmetic: 1, surgery_faceShape: "cute", @@ -111,354 +115,367 @@ window.rulesAutosurgery = (function() { } break default: - V.thisSurgery = autoSurgerySelector(V.slaves[V.i], V.defaultRules) - if ((V.thisSurgery.surgery_hips !== "no default setting") && (V.thisSurgery.surgery_butt !== "no default setting")) { - if (V.slaves[V.i].hips < -1) { - if (V.thisSurgery.surgery_butt > 2) - V.thisSurgery.surgery_butt = 2 - } else if (V.slaves[V.i].hips < 0) { - if (V.thisSurgery.surgery_butt > 4) - V.thisSurgery.surgery_butt = 4 - } else if (V.slaves[V.i].hips > 0) { - if (V.thisSurgery.surgery_butt > 8) - V.thisSurgery.surgery_butt = 8 - } else if (V.slaves[V.i].hips > 1) { + thisSurgery = autoSurgerySelector(slave, V.defaultRules) + if ((thisSurgery.surgery_hips !== "no default setting") && (thisSurgery.surgery_butt !== "no default setting")) { + if (slave.hips < -1) { + if (thisSurgery.surgery_butt > 2) + thisSurgery.surgery_butt = 2 + } else if (slave.hips < 0) { + if (thisSurgery.surgery_butt > 4) + thisSurgery.surgery_butt = 4 + } else if (slave.hips > 0) { + if (thisSurgery.surgery_butt > 8) + thisSurgery.surgery_butt = 8 + } else if (slave.hips > 1) { true } else { - if (V.thisSurgery.surgery_butt > 6) - V.thisSurgery.surgery_butt = 6 + if (thisSurgery.surgery_butt > 6) + thisSurgery.surgery_butt = 6 } } break } + return thisSurgery } -})() -/* - -<<set $seed = 0>> -<<for $seed == 0>> - <<if ($slaves[$i].health <= 20)>> - <<set $seed = 1>> - <<else>> - <<if ($slaves[$i].eyes == -1) && ($thisSurgery.eyes == 1)>> - <<set $surgeries.push("surgery to correct her vision"), $slaves[$i].eyes = 1, $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <<elseif ($slaves[$i].eyes == 1) && ($thisSurgery.eyes == -1)>> - <<set $surgeries.push("surgery to blur her vision"), $slaves[$i].eyes = -1, $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <<elseif ($slaves[$i].lactation == 2) && ($thisSurgery.lactation == 0)>> - <<set $surgeries.push("surgery to remove her lactation implants"), $slaves[$i].lactation = 0, $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <<elseif $slaves[$i].lactation != 2 && ($thisSurgery.lactation == 1)>> - <<set $surgeries.push("lactation inducing implanted drugs"), $slaves[$i].lactation = 2, $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <<elseif ($slaves[$i].prostate == 2) && ($thisSurgery.prostate == 0)>> - <<set $surgeries.push("surgery to remove her prostate implant"), $slaves[$i].prostate = 0, $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <<elseif $slaves[$i].prostate == 1 && ($thisSurgery.prostate == 1)>> - <<set $surgeries.push("a precum production enhancing drug implant"), $slaves[$i].prostate = 2, $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <<elseif ($slaves[$i].anus > 3) && ($thisSurgery.cosmetic > 0)>> - <<set $surgeries.push("a restored anus")>> - <<set $slaves[$i].anus = 3>> - <<if $slaves[$i].analSkill > 10>> - <<set $slaves[$i].analSkill -= 10>> - <</if>> - <<set $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <<elseif ($slaves[$i].vagina > 3) && ($thisSurgery.cosmetic > 0)>> - <<set $surgeries.push("a restored pussy")>> - <<set $slaves[$i].vagina = 3>> - <<if $slaves[$i].vaginalSkill > 10>> - <<set $slaves[$i].vaginalSkill -= 10>> - <</if>> - <<set $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <<elseif ($slaves[$i].faceImplant <= 15) && ($slaves[$i].face <= 95) && ($thisSurgery.cosmetic > 0)>> - <<set $surgeries.push("a nicer face")>> - <<if $slaves[$i].faceShape == "masculine">><<set $slaves[$i].faceShape = "androgynous">><</if>> - <<set $slaves[$i].faceImplant += 25-5*Math.trunc($PC.medicine/100)-5*$surgeryUpgrade>> - <<set $slaves[$i].face = Math.clamp($slaves[$i].face+20,-100,100)>> - <<set $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <<elseif ($slaves[$i].faceImplant <= 15) && ($slaves[$i].ageImplant != 1) && ($slaves[$i].visualAge >= 25) && ($thisSurgery.cosmetic > 0)>> - <<set $surgeries.push("an age lift")>> - <<set $slaves[$i].ageImplant = 1>> - <<set $slaves[$i].faceImplant += 25-5*Math.trunc($PC.medicine/100)-5*$surgeryUpgrade>> - <<if $slaves[$i].visualAge > 80>> - <<set $slaves[$i].visualAge -= 40>> - <<elseif $slaves[$i].visualAge >= 70>> - <<set $slaves[$i].visualAge -= 30>> - <<elseif $slaves[$i].visualAge > 50>> - <<set $slaves[$i].visualAge -= 20>> - <<elseif $slaves[$i].visualAge > 36>> - <<set $slaves[$i].visualAge -= 10>> - <<else>> - <<set $slaves[$i].visualAge -= 5>> - <</if>> - <<set $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <<elseif (($slaves[$i].underArmHStyle != "bald" && $slaves[$i].underArmHStyle != "hairless") || ($slaves[$i].pubicHStyle != "bald" && $slaves[$i].pubicHStyle != "hairless")) && ($thisSurgery.bodyhair == 2)>> - <<set $surgeries.push("body hair removal")>> - <<if $slaves[$i].underArmHStyle != "hairless">><<set $slaves[$i].underArmHStyle = "bald">><</if>> - <<if $slaves[$i].pubicHStyle != "hairless">><<set $slaves[$i].pubicHStyle = "bald">><</if>> - <<set $cash -= $surgeryCost>> - <<elseif ($slaves[$i].bald == 0 || $slaves[$i].hStyle != "bald") && ($thisSurgery.hair == 2)>> - <<set $surgeries.push("hair removal")>> - <<set $slaves[$i].hStyle = "bald", $slaves[$i].bald = 1>> - <<set $cash -= $surgeryCost>> - <<elseif ($slaves[$i].weight >= 10) && ($thisSurgery.cosmetic > 0)>> - <<set $surgeries.push("liposuction")>> - <<set $slaves[$i].weight -= 50>> - <<set $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <<elseif ($slaves[$i].voice == 1) && ($slaves[$i].voiceImplant == 0) && ($thisSurgery.cosmetic > 0)>> - <<set $surgeries.push("a feminine voice")>> - <<set $slaves[$i].voice += 1>> - <<set $slaves[$i].voiceImplant += 1>> - <<set $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <<elseif ($slaves[$i].waist >= -10) && ($thisSurgery.cosmetic > 0)>> - <<set $surgeries.push("a narrower waist")>> - <<set $slaves[$i].waist -= 20>> - <<set $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <<elseif (($slaves[$i].boobShape == "saggy") || ($slaves[$i].boobShape == "downward-facing")) && ($thisSurgery.cosmetic > 0) && ($slaves[$i].breastMesh != 1)>> - <<set $surgeries.push("a breast lift")>> - <<set $slaves[$i].boobShape = "normal">> - <<set $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <<elseif (($slaves[$i].boobShape == "normal") || ($slaves[$i].boobShape == "wide-set")) && ($thisSurgery.cosmetic > 0) && ($slaves[$i].breastMesh != 1)>> - <<if $slaves[$i].boobs > 800>> - <<set $slaves[$i].boobShape = "torpedo-shaped">> - <<else>> - <<set $slaves[$i].boobShape = "perky">> - <</if>> - <<set $surgeries.push("more interestingly shaped breasts")>> - <<set $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <<elseif ($thisSurgery.lips == 0) && ($slaves[$i].lipsImplant > 0)>> - <<set $surgeries.push("surgery to remove her lip implants")>> - <<set $slaves[$i].lips -= $slaves[$i].lipsImplant>> - <<set $slaves[$i].lipsImplant = 0>> - <<if $slaves[$i].oralSkill > 10>> - <<set $slaves[$i].oralSkill -= 10>> - <</if>> - <<set $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <<elseif ($slaves[$i].lips <= 95) && ($slaves[$i].lips < $thisSurgery.lips)>> - <<if $thisSurgery.lips !== "no default setting">> - <<set $surgeries.push("bigger lips")>> - <<set $slaves[$i].lipsImplant += 10>> - <<set $slaves[$i].lips += 10>> - <<if $slaves[$i].oralSkill > 10>> - <<set $slaves[$i].oralSkill -= 10>> - <</if>> - <<set $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <</if>> - <<elseif ($slaves[$i].faceImplant <= 45) && ($slaves[$i].face <= 95) && ($thisSurgery.cosmetic == 2)>> - <<set $surgeries.push("a nicer face")>> - <<if $slaves[$i].faceShape == "masculine">><<set $slaves[$i].faceShape = "androgynous">><</if>> - <<set $slaves[$i].faceImplant += 25-5*Math.trunc($PC.medicine/100)-5*$surgeryUpgrade>> - <<set $slaves[$i].face = Math.clamp($slaves[$i].face+20,-100,100)>> - <<set $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <<elseif ($slaves[$i].hips < 1) && ($slaves[$i].hips < $thisSurgery.hips) && ($surgeryUpgrade == 1)>> - <<set $surgeries.push("wider hips")>> - <<set $slaves[$i].hips++, $slaves[$i].hipsImplant++>> - <<set $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <<elseif ($slaves[$i].faceImplant <= 45) && ($slaves[$i].ageImplant != 1) && ($slaves[$i].visualAge >= 25) && ($thisSurgery.cosmetic == 2)>> - <<set $surgeries.push("an age lift")>> - <<set $slaves[$i].ageImplant = 1>> - <<if $slaves[$i].visualAge > 80>> - <<set $slaves[$i].visualAge -= 40>> - <<elseif $slaves[$i].visualAge >= 70>> - <<set $slaves[$i].visualAge -= 30>> - <<elseif $slaves[$i].visualAge > 50>> - <<set $slaves[$i].visualAge -= 20>> - <<elseif $slaves[$i].visualAge > 36>> - <<set $slaves[$i].visualAge -= 10>> - <<else>> - <<set $slaves[$i].visualAge -= 5>> - <</if>> - <<set $slaves[$i].faceImplant += 25-5*Math.trunc($PC.medicine/100)-5*$surgeryUpgrade>> - <<set $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <<elseif ($slaves[$i].waist >= -95) && ($thisSurgery.cosmetic == 2) && ($seeExtreme == 1)>> - <<set $surgeries.push("a narrower waist")>> - <<set $slaves[$i].waist = Math.clamp($slaves[$i].waist-20,-100,100)>> - <<set $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <<elseif ($slaves[$i].voice < 3) && ($slaves[$i].voiceImplant == 0) && ($thisSurgery.cosmetic == 2)>> - <<set $surgeries.push("a bimbo's voice")>> - <<set $slaves[$i].voice += 1>> - <<set $slaves[$i].voiceImplant += 1>> - <<set $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <<elseif ($thisSurgery.butt == 0) && ($slaves[$i].buttImplant > 0)>> - <<set $surgeries.push("surgery to remove her butt implants")>> - <<set $slaves[$i].butt -= $slaves[$i].buttImplant>> - <<set $slaves[$i].buttImplant = 0>> - <<set $slaves[$i].buttImplantType = 0>> - <<set $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <<elseif ($thisSurgery.boobs == 0) && ($slaves[$i].boobsImplant > 0)>> - <<set $surgeries.push("surgery to remove her boob implants")>> - <<set $slaves[$i].boobs -= $slaves[$i].boobsImplant>> - <<set $slaves[$i].boobsImplant = 0>> - <<set $slaves[$i].boobsImplantType = 0>> - <<set $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <<elseif ($slaves[$i].butt <= 3) && ($slaves[$i].butt < $thisSurgery.butt)>> - <<if $thisSurgery.butt !== "no default setting">> - <<set $surgeries.push("a bigger butt")>> - <<set $slaves[$i].buttImplant = 1>> - <<set $slaves[$i].butt += 1>> - <<set $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <</if>> - <<elseif ($slaves[$i].boobs <= 600) && ($slaves[$i].lactation < 2) && ($slaves[$i].boobs+400 <= $thisSurgery.boobs)>> - <<if $thisSurgery.boobs !== "no default setting">> - <<set $surgeries.push("bigger boobs")>> - <<set $slaves[$i].boobsImplant += 400>> - <<set $slaves[$i].boobs += 400>> - <<set $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>> - <<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <</if>> - <<elseif ($slaves[$i].boobs <= 600) && ($slaves[$i].lactation < 2) && ($slaves[$i].boobs+200 <= $thisSurgery.boobs)>> - <<if $thisSurgery.boobs !== "no default setting">> - <<set $surgeries.push("modestly bigger boobs")>> - <<set $slaves[$i].boobsImplant += 200>> - <<set $slaves[$i].boobs += 200>> - <<set $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <</if>> - <<elseif ($slaves[$i].butt <= 5) && ($slaves[$i].butt < $thisSurgery.butt)>> - <<if $thisSurgery.butt !== "no default setting">> - <<set $surgeries.push("a bigger butt")>> - <<set $slaves[$i].buttImplant = 1>> - <<set $slaves[$i].butt += 1>> - <<set $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <</if>> - <<elseif ($slaves[$i].boobs <= 2000) && ($slaves[$i].lactation < 2) && ($slaves[$i].boobs+400 < $thisSurgery.boobs)>> - <<if $thisSurgery.boobs !== "no default setting">> - <<set $surgeries.push("bigger boobs")>> - <<set $slaves[$i].boobsImplant += 400>> - <<set $slaves[$i].boobs += 400>> - <<set $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <</if>> - <<elseif ($slaves[$i].anus > 0) && ($surgeryUpgrade == 1) && ($thisSurgery.holes == 2)>> - <<set $surgeries.push("a virgin anus")>> - <<set $slaves[$i].anus = 0>> - <<if $slaves[$i].analSkill > 10>> - <<set $slaves[$i].analSkill -= 10>> - <</if>> - <<set $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <<elseif ($slaves[$i].vagina > 0) && ($surgeryUpgrade == 1) && ($thisSurgery.holes == 2)>> - <<set $surgeries.push("a virgin pussy")>> - <<set $slaves[$i].vagina = 0>> - <<if $slaves[$i].vaginalSkill > 10>> - <<set $slaves[$i].vaginalSkill -= 10>> - <</if>> - <<set $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <<elseif ($slaves[$i].hips < 2) && ($slaves[$i].hips < $thisSurgery.hips) && ($surgeryUpgrade == 1)>> - <<set $surgeries.push("wider hips")>> - <<set $slaves[$i].hips++, $slaves[$i].hipsImplant++>> - <<set $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <<elseif ($slaves[$i].anus > 1) && ($thisSurgery.holes == 1)>> - <<set $surgeries.push("a tighter anus")>> - <<set $slaves[$i].anus = 1>> - <<if $slaves[$i].analSkill > 10>> - <<set $slaves[$i].analSkill -= 10>> - <</if>> - <<set $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <<elseif ($slaves[$i].vagina > 1) && ($thisSurgery.holes == 1)>> - <<set $surgeries.push("a tighter pussy")>> - <<set $slaves[$i].vagina = 1>> - <<if $slaves[$i].vaginalSkill > 10>> - <<set $slaves[$i].vaginalSkill -= 10>> - <</if>> - <<set $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <<elseif ($slaves[$i].butt <= 8) && ($slaves[$i].butt < $thisSurgery.butt)>> - <<if $thisSurgery.butt !== "no default setting">> - <<set $surgeries.push("a bigger butt")>> - <<set $slaves[$i].buttImplant = 1>> - <<set $slaves[$i].butt += 1>> - <<set $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <</if>> - <<elseif ($slaves[$i].boobs <= 9000) && ($slaves[$i].lactation < 2) && ($slaves[$i].boobs < $thisSurgery.boobs)>> - <<if $thisSurgery.boobs !== "no default setting">> - <<set $surgeries.push("bigger boobs")>> - <<set $slaves[$i].boobsImplant += 200>> - <<set $slaves[$i].boobs += 200>> - <<set $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <</if>> - <<elseif ($slaves[$i].hips < 3) && ($slaves[$i].hips < $thisSurgery.hips) && ($surgeryUpgrade == 1)>> - <<set $surgeries.push("wider hips")>> - <<set $slaves[$i].hips++, $slaves[$i].hipsImplant++>> - <<set $cash -= $surgeryCost>> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <<elseif $slaves[$i].bellyImplant < 0 && $bellyImplants > 0 && $thisSurgery.bellyImplant == "install" && $slaves[$i].womb.length == 0 && $slaves[$i].broodmother == 0>> - <<set $slaves[$i].bellyImplant = 100>> - <<set $slaves[$i].preg = -2>> - <<set $cash -= $surgeryCost>> - <<if $activeSlave.ovaries == 1 || $activeSlave.mpreg == 1>> - <<set $surgeries.push("belly implant"), $surgeryType = "bellyIn">> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <<else>> - <<set $surgeries.push("male belly implant"), $surgeryType = "bellyInMale">> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 25>><<else>><<set $slaves[$i].health -= 50>><</if>> - <</if>> + function CommitSurgery(slave, thisSurgery, surgeries) { + if ((slave.eyes == -1) && (thisSurgery.eyes == 1)) { + surgeries.push("surgery to correct her vision") + slave.eyes = 1 + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } else if ((slave.eyes == 1) && (thisSurgery.eyes == -1)) { + surgeries.push("surgery to blur her vision") + slave.eyes = -1 + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } else if ((slave.lactation == 2) && (thisSurgery.lactation == 0)) { + surgeries.push("surgery to remove her lactation implants") + slave.lactation = 0 + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } else if (slave.lactation != 2 && (thisSurgery.lactation == 1)) { + surgeries.push("lactation inducing implanted drugs") + slave.lactation = 2 + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } else if ((slave.prostate == 2) && (thisSurgery.prostate == 0)) { + surgeries.push("surgery to remove her prostate implant") + slave.prostate = 0 + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } else if (slave.prostate == 1 && (thisSurgery.prostate == 1)) { + surgeries.push("a precum production enhancing drug implant") + slave.prostate = 2 + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } else if ((slave.anus > 3) && (thisSurgery.cosmetic > 0)) { + surgeries.push("a restored anus") + slave.anus = 3 + if (slave.analSkill > 10) { + slave.analSkill -= 10 + } + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } else if ((slave.vagina > 3) && (thisSurgery.cosmetic > 0)) { + surgeries.push("a restored pussy") + slave.vagina = 3 + if (slave.vaginalSkill > 10) { + slave.vaginalSkill -= 10 + } + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } else if ((slave.faceImplant <= 15) && (slave.face <= 95) && (thisSurgery.cosmetic > 0)) { + surgeries.push("a nicer face") + if (slave.faceShape == "masculine") {slave.faceShape = "androgynous"} + slave.faceImplant += 25-5*Math.trunc(V.PC.medicine/100)-5*V.surgeryUpgrade + slave.face = Math.clamp(slave.face+20,-100,100) + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } else if ((slave.faceImplant <= 15) && (slave.ageImplant != 1) && (slave.visualAge >= 25) && (thisSurgery.cosmetic > 0)) { + surgeries.push("an age lift") + slave.ageImplant = 1 + slave.faceImplant += 25-5*Math.trunc(V.PC.medicine/100)-5*V.surgeryUpgrade + if (slave.visualAge > 80) { + slave.visualAge -= 40 + } else if (slave.visualAge >= 70) { + slave.visualAge -= 30 + } else if (slave.visualAge > 50) { + slave.visualAge -= 20 + } else if (slave.visualAge > 36) { + slave.visualAge -= 10 + } else { + slave.visualAge -= 5 + } + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } else if (((slave.underArmHStyle != "bald" && slave.underArmHStyle != "hairless") || (slave.pubicHStyle != "bald" && slave.pubicHStyle != "hairless")) && (thisSurgery.bodyhair == 2)) { + surgeries.push("body hair removal") + if (slave.underArmHStyle != "hairless") {slave.underArmHStyle = "bald"} + if (slave.pubicHStyle != "hairless") {slave.pubicHStyle = "bald"} + V.cash -= V.surgeryCost + } else if ((slave.bald == 0 || slave.hStyle != "bald") && (thisSurgery.hair == 2)) { + surgeries.push("hair removal") + slave.hStyle = "bald" + slave.bald = 1 + V.cash -= V.surgeryCost + } else if ((slave.weight >= 10) && (thisSurgery.cosmetic > 0)) { + surgeries.push("liposuction") + slave.weight -= 50 + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } else if ((slave.voice == 1) && (slave.voiceImplant == 0) && (thisSurgery.cosmetic > 0)) { + surgeries.push("a feminine voice") + slave.voice += 1 + slave.voiceImplant += 1 + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } else if ((slave.waist >= -10) && (thisSurgery.cosmetic > 0)) { + surgeries.push("a narrower waist") + slave.waist -= 20 + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } else if (((slave.boobShape == "saggy") || (slave.boobShape == "downward-facing")) && (thisSurgery.cosmetic > 0) && (slave.breastMesh != 1)) { + surgeries.push("a breast lift") + slave.boobShape = "normal" + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } else if (((slave.boobShape == "normal") || (slave.boobShape == "wide-set")) && (thisSurgery.cosmetic > 0) && (slave.breastMesh != 1)) { + if (slave.boobs > 800) { + slave.boobShape = "torpedo-shaped" + } else { + slave.boobShape = "perky" + } + surgeries.push("more interestingly shaped breasts") + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } else if ((thisSurgery.lips == 0) && (slave.lipsImplant > 0)) { + surgeries.push("surgery to remove her lip implants") + slave.lips -= slave.lipsImplant + slave.lipsImplant = 0 + if (slave.oralSkill > 10) { + slave.oralSkill -= 10 + } + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } else if ((slave.lips <= 95) && (slave.lips < thisSurgery.lips)) { + if (thisSurgery.lips !== "no default setting") { + surgeries.push("bigger lips") + slave.lipsImplant += 10 + slave.lips += 10 + if (slave.oralSkill > 10) { + slave.oralSkill -= 10 + } + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } + } else if ((slave.faceImplant <= 45) && (slave.face <= 95) && (thisSurgery.cosmetic == 2)) { + surgeries.push("a nicer face") + if (slave.faceShape == "masculine") {slave.faceShape = "androgynous"} + slave.faceImplant += 25-5*Math.trunc(V.PC.medicine/100)-5*V.surgeryUpgrade + slave.face = Math.clamp(slave.face+20,-100,100) + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } else if ((slave.hips < 1) && (slave.hips < thisSurgery.hips) && (V.surgeryUpgrade == 1)) { + surgeries.push("wider hips") + slave.hips++ + slave.hipsImplant++ + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } else if ((slave.faceImplant <= 45) && (slave.ageImplant != 1) && (slave.visualAge >= 25) && (thisSurgery.cosmetic == 2)) { + surgeries.push("an age lift") + slave.ageImplant = 1 + if (slave.visualAge > 80) { + slave.visualAge -= 40 + } else if (slave.visualAge >= 70) { + slave.visualAge -= 30 + } else if (slave.visualAge > 50) { + slave.visualAge -= 20 + } else if (slave.visualAge > 36) { + slave.visualAge -= 10 + } else { + slave.visualAge -= 5 + } + slave.faceImplant += 25-5*Math.trunc(V.PC.medicine/100)-5*V.surgeryUpgrade + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } else if ((slave.waist >= -95) && (thisSurgery.cosmetic == 2) && (V.seeExtreme == 1)) { + surgeries.push("a narrower waist") + slave.waist = Math.clamp(slave.waist-20,-100,100) + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } else if ((slave.voice < 3) && (slave.voiceImplant == 0) && (thisSurgery.cosmetic == 2)) { + surgeries.push("a bimbo's voice") + slave.voice += 1 + slave.voiceImplant += 1 + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } else if ((thisSurgery.butt == 0) && (slave.buttImplant > 0)) { + surgeries.push("surgery to remove her butt implants") + slave.butt -= slave.buttImplant + slave.buttImplant = 0 + slave.buttImplantType = 0 + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } else if ((thisSurgery.boobs == 0) && (slave.boobsImplant > 0)) { + surgeries.push("surgery to remove her boob implants") + slave.boobs -= slave.boobsImplant + slave.boobsImplant = 0 + slave.boobsImplantType = 0 + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } else if ((slave.butt <= 3) && (slave.butt < thisSurgery.butt)) { + if (thisSurgery.butt !== "no default setting") { + surgeries.push("a bigger butt") + slave.buttImplant = 1 + slave.butt += 1 + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } + } else if ((slave.boobs <= 600) && (slave.lactation < 2) && (slave.boobs+400 <= thisSurgery.boobs)) { + if (thisSurgery.boobs !== "no default setting") { + surgeries.push("bigger boobs") + slave.boobsImplant += 400 + slave.boobs += 400 + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) { + slave.health -= 5} else {slave.health -= 10} + } + } else if ((slave.boobs <= 600) && (slave.lactation < 2) && (slave.boobs+200 <= thisSurgery.boobs)) { + if (thisSurgery.boobs !== "no default setting") { + surgeries.push("modestly bigger boobs") + slave.boobsImplant += 200 + slave.boobs += 200 + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } + } else if ((slave.butt <= 5) && (slave.butt < thisSurgery.butt)) { + if (thisSurgery.butt !== "no default setting") { + surgeries.push("a bigger butt") + slave.buttImplant = 1 + slave.butt += 1 + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } + } else if ((slave.boobs <= 2000) && (slave.lactation < 2) && (slave.boobs+400 < thisSurgery.boobs)) { + if (thisSurgery.boobs !== "no default setting") { + surgeries.push("bigger boobs") + slave.boobsImplant += 400 + slave.boobs += 400 + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } + } else if ((slave.anus > 0) && (V.surgeryUpgrade == 1) && (thisSurgery.holes == 2)) { + surgeries.push("a virgin anus") + slave.anus = 0 + if (slave.analSkill > 10) { + slave.analSkill -= 10 + } + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } else if ((slave.vagina > 0) && (V.surgeryUpgrade == 1) && (thisSurgery.holes == 2)) { + surgeries.push("a virgin pussy") + slave.vagina = 0 + if (slave.vaginalSkill > 10) { + slave.vaginalSkill -= 10 + } + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } else if ((slave.hips < 2) && (slave.hips < thisSurgery.hips) && (V.surgeryUpgrade == 1)) { + surgeries.push("wider hips") + slave.hips++ + slave.hipsImplant++ + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } else if ((slave.anus > 1) && (thisSurgery.holes == 1)) { + surgeries.push("a tighter anus") + slave.anus = 1 + if (slave.analSkill > 10) { + slave.analSkill -= 10 + } + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } else if ((slave.vagina > 1) && (thisSurgery.holes == 1)) { + surgeries.push("a tighter pussy") + slave.vagina = 1 + if (slave.vaginalSkill > 10) { + slave.vaginalSkill -= 10 + } + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } else if ((slave.butt <= 8) && (slave.butt < thisSurgery.butt)) { + if (thisSurgery.butt !== "no default setting") { + surgeries.push("a bigger butt") + slave.buttImplant = 1 + slave.butt += 1 + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } + } else if ((slave.boobs <= 9000) && (slave.lactation < 2) && (slave.boobs < thisSurgery.boobs)) { + if (thisSurgery.boobs !== "no default setting") { + surgeries.push("bigger boobs") + slave.boobsImplant += 200 + slave.boobs += 200 + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } + } else if ((slave.hips < 3) && (slave.hips < thisSurgery.hips) && (V.surgeryUpgrade == 1)) { + surgeries.push("wider hips") + slave.hips++ + slave.hipsImplant++ + V.cash -= V.surgeryCost + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } else if (slave.bellyImplant < 0 && V.bellyImplants > 0 && thisSurgery.bellyImplant == "install" && slave.womb.length == 0 && slave.broodmother == 0) { + slave.bellyImplant = 100 + slave.preg = -2 + V.cash -= V.surgeryCost + if (V.activeSlave.ovaries == 1 || V.activeSlave.mpreg == 1) { + surgeries.push("belly implant") + V.surgeryType = "bellyIn" + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + } else { + surgeries.push("male belly implant") + V.surgeryType = "bellyInMale" + if (V.PC.medicine >= 100) {slave.health -= 25} else {slave.health -= 50} + } + // TODO + /* <<silently>> - <<set _tmpNextL = $nextLink, _tmpNextB = $nextButton>> + _tmpNextL = V.nextLink + _tmpNextB = V.nextButton <<include "Surgery Degradation">> - <<set $nextLink = _tmpNextL, $nextButton = _tmpNextB>> + V.nextLink = _tmpNextL + V.nextButton = _tmpNextB <</silently>> - <<elseif $slaves[$i].bellyImplant >= 0 && $thisSurgery.bellyImplant == "remove">> - <<set $surgeries.push("belly implant removal"), $surgeryType = "bellyOut">> - <<if $PC.medicine >= 100>><<set $slaves[$i].health -= 5>><<else>><<set $slaves[$i].health -= 10>><</if>> - <<set $slaves[$i].preg = 0>> - <<set $slaves[$i].bellyImplant = -1>> - <<set $cash -= $surgeryCost>> + */ + } else if (slave.bellyImplant >= 0 && thisSurgery.bellyImplant == "remove") { + surgeries.push("belly implant removal") + V.surgeryType = "bellyOut" + if (V.PC.medicine >= 100) {slave.health -= 5} else {slave.health -= 10} + slave.preg = 0 + slave.bellyImplant = -1 + V.cash -= V.surgeryCost + // TODO + /* <<silently>> - <<set _tmpNextL = $nextLink, _tmpNextB = $nextButton>> + _tmpNextL = V.nextLink + _tmpNextB = V.nextButton <<include "Surgery Degradation">> - <<set $nextLink = _tmpNextL, $nextButton = _tmpNextB>> + V.nextLink = _tmpNextL + V.nextButton = _tmpNextB <</silently>> - <<else>> - <<set $seed = 1>> - <</if>> - <</if>> -<</for>> + */ + } + } -<<if $surgeries.length > 0>> - <<set $surgeriesDisplay = "">> - <<for $j = 0; $j < $surgeries.length; $j++>> - <<set $seed = $surgeries[$j]>> - <<set $surgeriesDisplay = ($surgeriesDisplay + $seed)>> - <<if $j < $surgeries.length-2>> - <<set $surgeriesDisplay = ($surgeriesDisplay + ", ")>> - <<elseif $j < $surgeries.length-1>> - <<if $surgeries.length > 2>> - <<set $surgeriesDisplay = ($surgeriesDisplay + ", and ")>> - <<else>> - <<set $surgeriesDisplay = ($surgeriesDisplay + " and ")>> - <</if>> - <</if>> - <</for>> - <<if $assistantName == "your personal assistant">>Your personal assistant<<else>>$assistantName<</if>>, ordered to apply surgery, gives $slaves[$i].slaveName @@.lime;$surgeriesDisplay.@@ -<</if>> -*/ + function PrintResult(slave, thisSurgery, surgeries) { + let surgeriesDisplay = "" + if (surgeries.length === 1) + surgeriesDisplay = surgeries[0] + else { + surgeriesDisplay = surgeries.slice(0, surgeries.length - 1).join(", ") + surgeriesDisplay += ", and" + surgeries[surgeries.length - 1] + } + r += `${V.assistantName === "your personal assistant" ? "Your personal assistant" : V.assistantName}, ordered to apply surgery, gives ${slave.slaveName} <span class="lime">${surgeriesDisplay}.</span>` + } +})() diff --git a/src/uncategorized/rulesAutosurgery.tw b/src/uncategorized/rulesAutosurgery.tw deleted file mode 100644 index 5b3b8ceb2398a20e7dfdc64d75404fa8d3af7749..0000000000000000000000000000000000000000 --- a/src/uncategorized/rulesAutosurgery.tw +++ /dev/null @@ -1,3 +0,0 @@ -:: Rules Autosurgery [nobr] - -<<= rulesAutosurgery() >> diff --git a/src/uncategorized/saLiveWithHG.tw b/src/uncategorized/saLiveWithHG.tw index 416e35c7ade55d24003709e2f1a6f9828a0a7e7e..1931c8a19dee2fe546db262d71cf673bdc52e63c 100644 --- a/src/uncategorized/saLiveWithHG.tw +++ b/src/uncategorized/saLiveWithHG.tw @@ -886,7 +886,7 @@ <<if $HGSuiteSurgery != 0>> <<if ($slaves[$i].health > 40) && $arcologies[0].FSBodyPurist == "unset">> $HeadGirl.slaveName sends $assistantName notes on what surgical modifications she wants for $slaves[$i].slaveName. - <<include "Rules Autosurgery">> + <<= rulesAutosurgery($slaves[$i])>> <</if>> <<if $HeadGirl.fetishKnown == 1>> <<if ($HeadGirl.fetish == "sadist") && ($HeadGirl.fetishStrength > 95) && ($seeExtreme == 1) && ($slaves[$i].fetish != "mindbroken")>> diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw index dbec3f4d7908dbfe85b03ee051a49d381e60b757..5d3e8beb398c03df2bb584a7c52ba76cca180bd0 100644 --- a/src/uncategorized/saLongTermEffects.tw +++ b/src/uncategorized/saLongTermEffects.tw @@ -112,7 +112,7 @@ <<if ($slaves[$i].assignment != "guard you")>> <<if ($slaves[$i].assignment != "live with your Head Girl")>> <<if ($cash > 0)>> - <<include "Rules Autosurgery">> + <<= rulesAutoSurgery($slaves[$i])>> <</if>> <</if>> <</if>>