From a3e1f70fc453fe4d0ff2eb5294190da81e7209b5 Mon Sep 17 00:00:00 2001 From: lowercasedonkey <lowercasedonkey@gmail.com> Date: Wed, 3 Feb 2021 19:54:39 -0500 Subject: [PATCH] break up organs --- src/npc/surgery/organFarm.js | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/npc/surgery/organFarm.js b/src/npc/surgery/organFarm.js index 7583c84553f..1fc75b6417c 100644 --- a/src/npc/surgery/organFarm.js +++ b/src/npc/surgery/organFarm.js @@ -3,7 +3,10 @@ * @returns {HTMLDivElement} */ App.Medicine.OrganFarm.growActions = function(slave) { + const el = new DocumentFragment(); const O = App.Medicine.OrganFarm.Organs; + const canImplant = []; + const cantImplant = []; // find already being grown/ready to implant organs const slaveOrgans = {}; @@ -29,7 +32,7 @@ App.Medicine.OrganFarm.growActions = function(slave) { } } - const div = document.createElement("div"); + let div = document.createElement("div"); div.classList.add("grid-2columns-auto"); // create entries for each organ @@ -38,12 +41,12 @@ App.Medicine.OrganFarm.growActions = function(slave) { O.forEach((organ, key) => { if (slaveOrgans[key] === 0) { if (organ.canGrow(slave)) { - App.UI.DOM.appendNewElement("div", div, App.UI.DOM.passageLink(organ.name, "Remote Surgery", () => { + (organ.implantActions[0].canImplant(slave) ? canImplant : cantImplant).push(App.UI.DOM.makeElement("div", App.UI.DOM.passageLink(organ.name, "Remote Surgery", () => { App.Medicine.OrganFarm.growOrgan(slave, key); - })); + }))); const tooltip = typeof organ.tooltip === "string" ? organ.tooltip : organ.tooltip(slave); - App.UI.DOM.appendNewElement("div", div, `Costs ${cashFormat(organ.cost)}${tooltip !== "" ? ` and ${tooltip}` : ""}.`, "detail"); + (organ.implantActions[0].canImplant(slave) ? canImplant : cantImplant).push(App.UI.DOM.makeElement("div", `Costs ${cashFormat(organ.cost)}${tooltip !== "" ? ` and ${tooltip}` : ""}.`, "detail")); } any = true; } else if (slaveOrgans[key] > 0) { @@ -65,6 +68,17 @@ App.Medicine.OrganFarm.growActions = function(slave) { App.UI.DOM.appendNewElement("div", div, growing[i].text); } } + if (canImplant.length > 0) { + App.UI.DOM.appendNewElement("div", div, "Can implant immediately", "bold"); + App.UI.DOM.appendNewElement("div", div); + canImplant.forEach(c => div.append(c)); + } + if (cantImplant.length > 0) { + App.UI.DOM.appendNewElement("div", div, "Can't implant immediately", "bold"); + App.UI.DOM.appendNewElement("div", div); + cantImplant.forEach(c => div.append(c)); + } + el.append(div); if (any) { return div; -- GitLab