From 6efc7577d13febf8517a02f194784026178b716d Mon Sep 17 00:00:00 2001 From: Arkerthan <arkerthan@mailbox.org> Date: Tue, 11 Jan 2022 19:58:41 +0100 Subject: [PATCH] Remove surgery Degradation Move some forgotten checks to the right places --- .../legacy files/Unused_Surgery_Scenes.js | 82 ------------------- js/medicine/surgery/genitials/geld.js | 5 ++ js/medicine/surgery/genitials/maleToFemale.js | 12 +-- src/npc/surgery/surgery.js | 8 +- 4 files changed, 18 insertions(+), 89 deletions(-) rename src/npc/surgery/surgeryDegradation.js => devNotes/legacy files/Unused_Surgery_Scenes.js (87%) diff --git a/src/npc/surgery/surgeryDegradation.js b/devNotes/legacy files/Unused_Surgery_Scenes.js similarity index 87% rename from src/npc/surgery/surgeryDegradation.js rename to devNotes/legacy files/Unused_Surgery_Scenes.js index 29b944a2877..b9e55704dd4 100644 --- a/src/npc/surgery/surgeryDegradation.js +++ b/devNotes/legacy files/Unused_Surgery_Scenes.js @@ -1,85 +1,3 @@ -/** - * @param {App.Entity.SlaveState} slave - * @returns {HTMLElement|DocumentFragment} - */ -App.UI.SlaveInteract.surgeryDegradation = function(slave) { - const el = new DocumentFragment(); - let r = []; - const {his, him} = getPronouns(slave); - - /* disallow surgery for slaves on certain assignments */ - // TODO: do this before apply, this is too late - switch (slave.assignment) { - case "be your agent": - case "live with your agent": - return App.UI.DOM.makeElement("span", `You must retrieve ${slave.slaveName} from ${his} assignment before performing surgery on ${him}.`, "red"); - } - - // TODO: do this during apply - if (slave.dick === 0) { - if (slave.vagina === -1) { - slave.piercing.genitals.weight = 0; - slave.piercing.genitals.smart = false; - } - if (slave.drugs === "penis enhancement" || slave.drugs === "hyper penis enhancement" || slave.drugs === "breast redistributors") { - slave.drugs = "no drugs"; - } - } - if (slave.balls === 0) { - if (slave.drugs === "testicle enhancement" || slave.drugs === "hyper testicle enhancement" || slave.drugs === "testicle atrophiers") { - slave.drugs = "no drugs"; - } - } - - - // Search for Reaction class and apply if there is one. - if (App.Medicine.Surgery.ReactionsMap.has(V.surgeryType)) { - const reaction = App.Medicine.Surgery.ReactionsMap.get(V.surgeryType); - - if (reaction.invasive && slave.health.condition < random(-100, -80)) { - r.push(`${slave.slaveName} <span class="health dec">has died from complications of surgery.</span>`); - App.Events.addParagraph(el, r); - removeSlave(slave); - V.nextLink = "Main"; - return el; - } - - if (reaction.removeJob) { - removeJob(slave, Job.LURCHER, true); - removeJob(slave, Job.PIT, true); - removeJob(slave, slave.assignment); - } - - r.push(...reaction.intro(slave, {})); - - const resultMain = reaction.reaction(slave, {}); - for (const p of resultMain.longReaction) { - r.push(...p); - App.Events.addParagraph(el, r); - r = []; - } - slave.devotion += resultMain.devotion; - slave.trust += resultMain.trust; - - const resultOutro = reaction.outro(slave, {}, resultMain); - for (const p of resultOutro.longReaction) { - r.push(...p); - App.Events.addParagraph(el, r); - r = []; - } - slave.devotion += resultOutro.devotion; - slave.trust += resultOutro.trust; - - return el; - } else { - r.push(`<span class="error">ERROR bad/missing surgery description</span>`); - r.push(`surgeryType: ${V.surgeryType}`); - App.Events.addParagraph(el, r); - } - - return null; -}; - // switch (V.surgeryType) { /* diff --git a/js/medicine/surgery/genitials/geld.js b/js/medicine/surgery/genitials/geld.js index d2d9efdb28d..45f63cb509b 100644 --- a/js/medicine/surgery/genitials/geld.js +++ b/js/medicine/surgery/genitials/geld.js @@ -47,6 +47,11 @@ App.Medicine.Surgery.Procedures.Geld = class extends App.Medicine.Surgery.Proced this._slave.ballType = "human"; this._slave.scrotum = 0; this._slave.vasectomy = 0; + if (this._slave.drugs === "testicle enhancement" || + this._slave.drugs === "hyper testicle enhancement" || + this._slave.drugs === "testicle atrophiers") { + this._slave.drugs = "no drugs"; + } return this._assemble(new App.Medicine.Surgery.Reactions.Geld()); } }; diff --git a/js/medicine/surgery/genitials/maleToFemale.js b/js/medicine/surgery/genitials/maleToFemale.js index 9e168d9071b..71c8ebd92b8 100644 --- a/js/medicine/surgery/genitials/maleToFemale.js +++ b/js/medicine/surgery/genitials/maleToFemale.js @@ -51,18 +51,18 @@ App.Medicine.Surgery.Procedures.MaletoFemale = class extends App.Medicine.Surger } apply(cheat) { - this._slave.dick = 0; - this._slave.dickAccessory = "none"; - this._slave.chastityPenis = 0; - this._slave.dickTat = 0; - this._slave.foreskin = 0; + surgeryAmp(this._slave, "dick"); this._slave.scrotum = 0; this._slave.balls = 0; this._slave.ballType = "human"; this._slave.vasectomy = 0; this._slave.vagina = 0; this._slave.preg = -2; - this._slave.skill.vaginal = 0; + if (this._slave.drugs === "testicle enhancement" || + this._slave.drugs === "hyper testicle enhancement" || + this._slave.drugs === "testicle atrophiers") { + this._slave.drugs = "no drugs"; + } return this._assemble(new App.Medicine.Surgery.Reactions.MaletoFemale()); } }; diff --git a/src/npc/surgery/surgery.js b/src/npc/surgery/surgery.js index 5b6f13579cd..b6a9ce69c06 100644 --- a/src/npc/surgery/surgery.js +++ b/src/npc/surgery/surgery.js @@ -481,10 +481,16 @@ globalThis.surgeryAmp = function(slave, part, cheat = false) { slave.dick = 0; slave.foreskin = 0; slave.skill.vaginal = 0; - slave.piercing.dick.weight = 0; slave.dickTat = 0; slave.dickAccessory = "none"; slave.chastityPenis = 0; + if (slave.vagina === -1) { + slave.piercing.genitals.weight = 0; + slave.piercing.genitals.smart = false; + } + if (slave.drugs === "penis enhancement" || slave.drugs === "hyper penis enhancement" || slave.drugs === "breast redistributors") { + slave.drugs = "no drugs"; + } surgeryDamage(slave, 20, cheat); break; case "vagina": -- GitLab