Skip to content
Snippets Groups Projects
Commit 3a3d663b authored by Pregmodder's avatar Pregmodder
Browse files

Merge branch 'fixes' into 'pregmod-master'

Replace ugly "slaveString" workaround in organ farm JS with App.UI.link

See merge request pregmodfan/fc-pregmod!5814
parents 851fb8b4 619856ff
No related branches found
No related tags found
No related merge requests found
/**
* @param {App.Entity.SlaveState} slave
* @param {string} slaveString - variable that refers to the slave, usually "$activeSlave"
* @returns {string}
*/
App.Medicine.OrganFarm.growActions = function(slave, slaveString) {
App.Medicine.OrganFarm.growActions = function(slave) {
const organOrder = App.Medicine.OrganFarm.organDisplayOrder;
const O = App.Medicine.OrganFarm.Organs;
......@@ -39,7 +38,7 @@ App.Medicine.OrganFarm.growActions = function(slave, slaveString) {
for (const organ of organOrder) {
if (slaveOrgans[organ] === 0) {
if (O[organ].canGrow()) {
grow += `<div><<link "${O[organ].name}" "Remote Surgery">><<run App.Medicine.OrganFarm.growOrgan(${slaveString}, "${organ}")>><</link>></div>`;
grow += `<div>${App.UI.link(O[organ].name, App.Medicine.OrganFarm.growOrgan, [slave, organ], "Remote Surgery")}</div>`;
grow += `<div class="detail">Costs ${cashFormat(O[organ].cost)}${O[organ].tooltip !== "" ? ` and ${O[organ].tooltip}` : ""}.</div>`;
}
} else if (slaveOrgans[organ] > 0) {
......@@ -78,10 +77,9 @@ App.Medicine.OrganFarm.growOrgan = function(slave, organType) {
/**
* @param {App.Entity.SlaveState} slave
* @param {string} slaveString - variable that refers to the slave, usually "$activeSlave"
* @returns {string}
*/
App.Medicine.OrganFarm.implantActions = function(slave, slaveString) {
App.Medicine.OrganFarm.implantActions = function(slave) {
let slaveOrgans = V.completedOrgans.filter(o => o.ID === slave.ID);
if (slaveOrgans.length === 0) { return ""; }
......@@ -96,7 +94,8 @@ App.Medicine.OrganFarm.implantActions = function(slave, slaveString) {
for (let i = 0; i < F.Organs[organ.type].implantActions.length; i++) {
const action = F.Organs[organ.type].implantActions[i];
if (action.canImplant(slave)) {
lines.push(`<span class="detail">${action.tooltip === "" ? "" : `${capFirstChar(action.tooltip)}: `}</span>[[${action.name}|Surgery Degradation][App.Medicine.OrganFarm.implant(${slaveString}, "${organ.type}", ${i})]]`);
const implantLink = App.UI.link(action.name, App.Medicine.OrganFarm.implant, [slave, organ.type, i], "Surgery Degradation");
lines.push(`<span class="detail">${action.tooltip === "" ? "" : `${capFirstChar(action.tooltip)}: `}</span>${implantLink}`);
anyAction = true;
break; // there can only be one implant action
} else {
......@@ -117,7 +116,7 @@ App.Medicine.OrganFarm.implantActions = function(slave, slaveString) {
if (anyAction) {
r += " | ";
}
r += `[[Discard|Remote Surgery][App.Medicine.OrganFarm.removeOrgan(${slaveString}, "${organ.type}")]]</div></div>`;
r += `${App.UI.link("Discard", App.Medicine.OrganFarm.removeOrgan, [slave, organ.type], "Remote Surgery")}</div></div>`;
}
return `The fabricator has completed ${slaveOrgans.length} organ(s):<div class="organContainer">${r}</div>`;
......@@ -187,20 +186,18 @@ App.Medicine.OrganFarm.getSortedOrgans = function(slave) {
* Returns the full organ farm menu, hiding empty parts
*
* @param {App.Entity.SlaveState} slave
* @param {string} slaveString - variable that refers to the slave, usually "$activeSlave"
* @return {string}
*/
App.Medicine.OrganFarm.fullMenu = function(slave, slaveString) {
App.Medicine.OrganFarm.fullMenu = function(slave) {
if (V.organFarmUpgrade >= 1 && slave.indentureRestrictions < 2) {
let r = "";
let actions = App.Medicine.OrganFarm.growActions(slave, slaveString);
let actions = App.Medicine.OrganFarm.growActions(slave);
if (actions !== "") {
r += `<h3>Grow new organs</h3><div class="indent">${actions}</div>`;
}
actions = App.Medicine.OrganFarm.implantActions(slave, slaveString);
actions = App.Medicine.OrganFarm.implantActions(slave);
if (actions !== "") {
r += `<h3>Implant organs</h3><div class="indent">${actions}</div>`;
}
......
......@@ -1726,7 +1726,7 @@
<</if>>
</div>
<<print App.Medicine.OrganFarm.fullMenu($activeSlave, "$activeSlave")>>
<<print App.Medicine.OrganFarm.fullMenu($activeSlave)>>
<<if $geneticMappingUpgrade >= 1>>
<h3>Retro-virus treatments:</h3>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment