diff --git a/Changelog.txt b/Changelog.txt index 603e37d6fcd6febd3ae0a90bcaf599853ae999a6..95aa0077e1dc0dce2dedbfbcade50c709b077a5b 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -2,7 +2,10 @@ Pregmod 0.10.7.1-3.5.x + 7/06/2020 + 4 + -added hair to the organ farm -more code cleanup -breast size immobilization floor raised for adult/teen slaves -fixes diff --git a/js/003-data/policiesData.js b/js/003-data/policiesData.js index 48afb0e264384a799258f7c6d6c407f9aa80cf84..a16a4b8da04042cc65a5405cbf4fb16e10de7451 100644 --- a/js/003-data/policiesData.js +++ b/js/003-data/policiesData.js @@ -480,24 +480,20 @@ App.Data.Policies.Selection = { title: "Coursing Association", text: "you will sponsor a Coursing Association that will hold monthly races.", get activatedText() { - const el = new DocumentFragment; + const el = new DocumentFragment(); el.append(`you are sponsoring a `); - el.append(App.UI.DOM.link( - "Coursing Association", - () => { }, - [], - "Coursing Association" - )); + el.append(App.UI.DOM.passageLink("Coursing Association", "Coursing Association")); el.append(` that will hold monthly races.`); return el; }, get note() { return `Will cost ${cashFormat(1000)} weekly to maintain`; }, get activatedNote() { + const el = new DocumentFragment(); if (V.LurcherID !== 0) { - return `Your current lurcher is ${App.UI.slaveDescriptionDialog(getSlave(V.LurcherID))}`; - } else { - return ``; + el.append(`Your current lurcher is `); + el.append(App.UI.DOM.slaveDescriptionDialog(getSlave(V.LurcherID))); } + return el; } } ], diff --git a/src/002-config/fc-version.js b/src/002-config/fc-version.js index a9fb197bc1f674f40e0a7cde80b7302313689a3d..fabf0257a38bcba7ae16e1a5a852d1071a6c9952 100644 --- a/src/002-config/fc-version.js +++ b/src/002-config/fc-version.js @@ -1,6 +1,6 @@ App.Version = { base: "0.10.7.1", // The vanilla version the mod is based off of, this should never be changed. - pmod: "3.5.3", + pmod: "3.5.4", commitHash: null, release: 1074 }; diff --git a/src/004-base/organFarmBase.js b/src/004-base/organFarmBase.js index 11fd5eb80313f09d911d47f8f4eb7d04f1d9c0f2..b6e2c6a7e2627f9f63c7158e6ca6686452bc2ccf 100644 --- a/src/004-base/organFarmBase.js +++ b/src/004-base/organFarmBase.js @@ -8,8 +8,10 @@ App.Medicine.OrganFarm.Organ = class { * @param {function(App.Entity.SlaveState):boolean} canGrow * @param {string[]} dependencies - organs that are implanted first if possible, use type of other organs as values * @param {App.Medicine.OrganFarm.OrganImplantAction[]} actions + * @param {boolean} [displayMultipleActions=false] allow multiple implant links to be displayed */ - constructor({type: type, name, tooltip= "", cost, time, canGrow = () => true, dependencies = [], actions= []} = {}) { + constructor({type, name, tooltip = "", cost, time, canGrow = () => true, dependencies = [], + displayMultipleActions = false, actions = []} = {}) { this.type = type; this.name = name; this.tooltip = tooltip; @@ -19,6 +21,7 @@ App.Medicine.OrganFarm.Organ = class { this.canGrow = canGrow; /** @type {string[]} */ this.dependencies = dependencies; + this.displayMultipleActions = displayMultipleActions; /** @type {App.Medicine.OrganFarm.OrganImplantAction[]} */ this.implantActions = actions; diff --git a/src/Mods/SecExp/buildings/transportHub.tw b/src/Mods/SecExp/buildings/transportHub.tw index c567ba844afa9b2f4b6a6c83500ec0200a4e656e..8c109c753ff13109e080d3362bd89f297968712e 100644 --- a/src/Mods/SecExp/buildings/transportHub.tw +++ b/src/Mods/SecExp/buildings/transportHub.tw @@ -76,28 +76,28 @@ You quickly reach the transport hub, where a constant stream of vehicles, people /* airport */ <<if $airport == 1>> <<link "Modernize the airport">> - <<run cashX(forceNeg(5000*$upgradeMultiplierArcology), "capEx")>> + <<run cashX(forceNeg(Math.trunc(5000*$upgradeMultiplierArcology)), "capEx")>> <<set $airport++>> <<goto "transportHub">> - <</link>> //Will cost <<print cashFormat(5000*$upgradeMultiplierArcology)>> and will increase trade, but will affect security// + <</link>> //Will cost <<print cashFormat(Math.trunc(5000*$upgradeMultiplierArcology))>> and will increase trade, but will affect security// <<elseif $airport == 2>> <<link "Enlarge the airport">> - <<run cashX(forceNeg(15000*$upgradeMultiplierArcology), "capEx")>> + <<run cashX(forceNeg(Math.trunc(15000*$upgradeMultiplierArcology)), "capEx")>> <<set $airport++>> <<goto "transportHub">> - <</link>> //Will cost <<print cashFormat(15000*$upgradeMultiplierArcology)>> and will increase trade, but will affect security// + <</link>> //Will cost <<print cashFormat(Math.trunc(15000*$upgradeMultiplierArcology))>> and will increase trade, but will affect security// <<elseif $airport == 3>> <<link "Further modernize the airport">> - <<run cashX(forceNeg(45000*$upgradeMultiplierArcology), "capEx")>> + <<run cashX(forceNeg(Math.trunc(45000*$upgradeMultiplierArcology)), "capEx")>> <<set $airport++>> <<goto "transportHub">> - <</link>> //Will cost <<print cashFormat(45000*$upgradeMultiplierArcology)>> and will increase trade, but will affect security// + <</link>> //Will cost <<print cashFormat(Math.trunc(45000*$upgradeMultiplierArcology))>> and will increase trade, but will affect security// <<elseif $airport == 4>> <<link "Further enlarge the airport">> - <<run cashX(forceNeg(85000*$upgradeMultiplierArcology), "capEx")>> + <<run cashX(forceNeg(Math.truc(85000*$upgradeMultiplierArcology)), "capEx")>> <<set $airport++>> <<goto "transportHub">> - <</link>> //Will cost <<print cashFormat(85000*$upgradeMultiplierArcology)>> and will increase trade, but will affect security// + <</link>> //Will cost <<print cashFormat(Math.trunc(85000*$upgradeMultiplierArcology))>> and will increase trade, but will affect security// <<else>> The airport is fully upgraded. <</if>> @@ -106,44 +106,44 @@ You quickly reach the transport hub, where a constant stream of vehicles, people <<if $terrain != "oceanic" && $terrain != "marine">> <<if $railway == 1>> <<link "Modernize the railway">> - <<run cashX(forceNeg(10000*$upgradeMultiplierArcology), "capEx")>> + <<run cashX(forceNeg(Math.trunc(10000*$upgradeMultiplierArcology)), "capEx")>> <<set $railway++>> <<goto "transportHub">> - <</link>> //Will cost <<print cashFormat(10000*$upgradeMultiplierArcology)>>, will increase trade and slightly lower arcology's upkeep, but will affect security// + <</link>> //Will cost <<print cashFormat(Math.trunc(10000*$upgradeMultiplierArcology))>>, will increase trade and slightly lower arcology's upkeep, but will affect security// <<elseif $railway == 2>> <<link "Enlarge the railway">> - <<run cashX(forceNeg(25000*$upgradeMultiplierArcology), "capEx")>> + <<run cashX(forceNeg(Math.trunc(25000*$upgradeMultiplierArcology)), "capEx")>> <<set $railway++>> <<goto "transportHub">> - <</link>> //Will cost <<print cashFormat(25000*$upgradeMultiplierArcology)>>, will increase trade and slightly lower arcology's upkeep, but will affect security// + <</link>> //Will cost <<print cashFormat(Math.trunc(25000*$upgradeMultiplierArcology))>>, will increase trade and slightly lower arcology's upkeep, but will affect security// <<elseif $railway == 3>> <<link "Further modernize and enlarge the railway">> - <<run cashX(forceNeg(65000*$upgradeMultiplierArcology), "capEx")>> + <<run cashX(forceNeg(Math.trunc(65000*$upgradeMultiplierArcology)), "capEx")>> <<set $railway++>> <<goto "transportHub">> - <</link>> //Will cost <<print cashFormat(65000*$upgradeMultiplierArcology)>>, will increase trade and slightly lower arcology's upkeep, but will affect security// + <</link>> //Will cost <<print cashFormat(Math.trunc(65000*$upgradeMultiplierArcology))>>, will increase trade and slightly lower arcology's upkeep, but will affect security// <<else>> The railway is fully upgraded. <</if>> <<else>> <<if $docks == 1>> <<link "Modernize the docks">> - <<run cashX(forceNeg(10000*$upgradeMultiplierArcology), "capEx")>> + <<run cashX(forceNeg(Math.trunc(10000*$upgradeMultiplierArcology)), "capEx")>> <<set $docks++>> <<goto "transportHub">> - <</link>> //Will cost <<print cashFormat(10000*$upgradeMultiplierArcology)>>, will increase trade and slightly lower arcology's upkeep, but will affect security// + <</link>> //Will cost <<print cashFormat(Math.trunc(10000*$upgradeMultiplierArcology))>>, will increase trade and slightly lower arcology's upkeep, but will affect security// <<elseif $docks == 2>> <<link "Enlarge the docks">> - <<run cashX(forceNeg(25000*$upgradeMultiplierArcology), "capEx")>> + <<run cashX(forceNeg(Math.trunc(25000*$upgradeMultiplierArcology)), "capEx")>> <<set $docks++>> <<goto "transportHub">> - <</link>> //Will cost <<print cashFormat(25000*$upgradeMultiplierArcology)>>, will increase trade and slightly lower arcology's upkeep, but will affect security// + <</link>> //Will cost <<print cashFormat(Math.trunc(25000*$upgradeMultiplierArcology))>>, will increase trade and slightly lower arcology's upkeep, but will affect security// <<elseif $docks == 3>> <<link "Further modernize and enlarge the docks">> - <<run cashX(forceNeg(65000*$upgradeMultiplierArcology), "capEx")>> + <<run cashX(forceNeg(Math.trunc(65000*$upgradeMultiplierArcology)), "capEx")>> <<set $docks++>> <<goto "transportHub">> - <</link>> //Will cost <<print cashFormat(65000*$upgradeMultiplierArcology)>>, will increase trade and slightly lower arcology's upkeep, but will affect security// + <</link>> //Will cost <<print cashFormat(Math.trunc(65000*$upgradeMultiplierArcology))>>, will increase trade and slightly lower arcology's upkeep, but will affect security// <<else>> The docks are fully upgraded. <</if>> @@ -152,22 +152,22 @@ You quickly reach the transport hub, where a constant stream of vehicles, people /* security */ <<if $hubSecurity == 1>> <<link "Expand and modernize the surveillance system">> - <<run cashX(forceNeg(15000*$upgradeMultiplierArcology), "capEx")>> + <<run cashX(forceNeg(Mat.trunc(15000*$upgradeMultiplierArcology)), "capEx")>> <<set $hubSecurity++>> <<goto "transportHub">> - <</link>> //Will cost <<print cashFormat(15000*$upgradeMultiplierArcology)>> and lower the transport hub security modifiers// + <</link>> //Will cost <<print cashFormat(Math.trunc(15000*$upgradeMultiplierArcology))>> and lower the transport hub security modifiers// <<elseif $hubSecurity == 2>> <<link "Establish a rapid response team">> - <<run cashX(forceNeg(35000*$upgradeMultiplierArcology), "capEx")>> + <<run cashX(forceNeg(Math.trunc(35000*$upgradeMultiplierArcology)), "capEx")>> <<set $hubSecurity++>> <<goto "transportHub">> - <</link>> //Will cost <<print cashFormat(35000*$upgradeMultiplierArcology)>> and further lower the transport hub security modifiers// + <</link>> //Will cost <<print cashFormat(Math.trunc(35000*$upgradeMultiplierArcology))>> and further lower the transport hub security modifiers// <<elseif $hubSecurity == 3>> <<link "Add additional security drones to the structure">> - <<run cashX(forceNeg(55000*$upgradeMultiplierArcology), "capEx")>> + <<run cashX(forceNeg(Math.trunc(55000*$upgradeMultiplierArcology)), "capEx")>> <<set $hubSecurity++>> <<goto "transportHub">> - <</link>> //Will cost <<print cashFormat(55000*$upgradeMultiplierArcology)>> and further lower the transport hub security modifiers// + <</link>> //Will cost <<print cashFormat(Math.trunc(55000*$upgradeMultiplierArcology))>> and further lower the transport hub security modifiers// <<else>> The hub security is fully upgraded <</if>> diff --git a/src/Mods/SpecialForce/SpecialForce.js b/src/Mods/SpecialForce/SpecialForce.js index 6e9631705647a088540b809c864746b29475c89f..ba69c9cc2cde609b346a4fcd84cd0b3132d175e1 100644 --- a/src/Mods/SpecialForce/SpecialForce.js +++ b/src/Mods/SpecialForce/SpecialForce.js @@ -91,7 +91,10 @@ App.SF.upgrades = (function() { }; function total() { - return Object.values(V.SF.Squad).reduce((a,b) => a+b); + if (V.SF.Toggle === 0 || V.SF.Active < 1) { + return 0; + } + return Object.values(V.SF.Squad).reduce((a,b) => a+b); } function list(completeView = '') { diff --git a/src/gui/css/mainStyleSheet.css b/src/gui/css/mainStyleSheet.css index 47af08439aa425221b30d19aad0d3ea1023f235f..99a23af72c15df74833beeb920c99ff775bd56d1 100644 --- a/src/gui/css/mainStyleSheet.css +++ b/src/gui/css/mainStyleSheet.css @@ -409,3 +409,8 @@ div.center { div.flex-container { display: flex; } + +/* TODO unify tooltip systems */ +.hasTooltip { + text-decoration: underline; +} \ No newline at end of file diff --git a/src/js/utilsDOM.js b/src/js/utilsDOM.js index bb016cc5a2faab9105a6aac1e6ef01c69f56766e..27531125aa81bb12b0711a878886f59807ec5109 100644 --- a/src/js/utilsDOM.js +++ b/src/js/utilsDOM.js @@ -188,7 +188,7 @@ App.Utils.passageElement = function(passage) { }; /** - * @param {Node|string} content + * @param {(Node|string)[]} content * @returns {DocumentFragment} */ App.UI.DOM.combineNodes = function(...content) { diff --git a/src/npc/surgery/organFarm.js b/src/npc/surgery/organFarm.js index a1aafe6b95602ff4b32fc893d9000de38c122f55..20454e84b151f3e948285185548649209d3ebbe9 100644 --- a/src/npc/surgery/organFarm.js +++ b/src/npc/surgery/organFarm.js @@ -85,49 +85,57 @@ App.Medicine.OrganFarm.growIncubatorOrgan = function(slave, organType) { /** * @param {App.Entity.SlaveState} slave - * @returns {string} + * @returns {DocumentFragment} */ App.Medicine.OrganFarm.implantActions = function(slave) { let slaveOrgans = V.completedOrgans.filter(o => o.ID === slave.ID); - if (slaveOrgans.length === 0) { return ""; } + if (slaveOrgans.length === 0) { return null; } const F = App.Medicine.OrganFarm; - let r = ""; + const grid = document.createElement("div"); + grid.classList.add("grid-2columns-auto"); for (const organ of slaveOrgans) { - r += `<div>${F.Organs[organ.type].name}:</div><div>`; + App.UI.DOM.appendNewElement("div", grid, F.Organs[organ.type].name); - let anyAction = false; - let lines = []; + let links = []; for (let i = 0; i < F.Organs[organ.type].implantActions.length; i++) { const action = F.Organs[organ.type].implantActions[i]; if (action.canImplant(slave)) { - 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 + const link = App.UI.DOM.link(action.name, App.Medicine.OrganFarm.implant, [slave, organ.type, i], "Surgery Degradation"); + const tooltip = action.tooltip === "" ? "" : `${capFirstChar(action.tooltip)}.`; + if (tooltip !== "") { + link.title = tooltip; + link.classList.add("hasTooltip"); + } + links.push(link); + if (!F.Organs[organ.type].displayMultipleActions) { + break; // there can only be one implant action + } } else { const error = action.implantError(slave); if (error !== "") { - lines.push(`ERROR: ${error} `); + const disabledLink = document.createElement("span"); + disabledLink.append(action.name); + disabledLink.title = (error); + disabledLink.classList.add("hasTooltip"); + links.push(disabledLink); } } } - // each error on a new line - for (let i = 0; i < lines.length - 1; i++) { - r += `<div>${lines[i]}</div>`; + // all links in a row + const div = document.createElement("div"); + for (let i = 0; i < links.length; i++) { + div.append(links[i], " | "); } // last error or implant action has "Discard" after them. - r += `<div>${lines[lines.length - 1]}`; - if (anyAction) { - r += " | "; - } - r += `${App.UI.link("Discard", App.Medicine.OrganFarm.removeOrgan, [slave, organ.type], "Remote Surgery")}</div></div>`; + div.append(App.UI.DOM.link("Discard", App.Medicine.OrganFarm.removeOrgan, [slave, organ.type], "Remote Surgery")); + grid.append(div); } - return `The fabricator has completed ${slaveOrgans.length} organ(s):<div class="grid-2columns-auto">${r}</div>`; + return App.UI.DOM.combineNodes(`The fabricator has completed ${slaveOrgans.length} organ(s):`, grid); }; /** @@ -164,7 +172,7 @@ App.Medicine.OrganFarm.removeOrgan = function(slave, type) { * Organs the that can be implanted on the slave, sorted by dependencies first * * @param {App.Entity.SlaveState} slave - * @returns {[string]} + * @returns {string[]} */ App.Medicine.OrganFarm.getSortedOrgans = function(slave) { const F = App.Medicine.OrganFarm; @@ -194,30 +202,34 @@ App.Medicine.OrganFarm.getSortedOrgans = function(slave) { * Returns the full organ farm menu, hiding empty parts * * @param {App.Entity.SlaveState} slave - * @returns {string} + * @returns {DocumentFragment} */ App.Medicine.OrganFarm.fullMenu = function(slave) { - if (V.organFarmUpgrade >= 1 && slave.indentureRestrictions < 2) { - let r = ""; - - let actions = App.Medicine.OrganFarm.growActions(slave); - if (actions !== "") { - r += `<h3>Grow new organs</h3><div class="indent">${actions}</div>`; - } + const fragment = document.createDocumentFragment(); + if (!(V.organFarmUpgrade >= 1 && slave.indentureRestrictions < 2)) { + return fragment; + } - actions = App.Medicine.OrganFarm.implantActions(slave); - if (actions !== "") { - r += `<h3>Implant organs</h3><div class="indent">${actions}</div>`; - } + let actions = App.Medicine.OrganFarm.growActions(slave); + let anyAction = false; + if (actions !== "") { + $(fragment).append(Wikifier.wikifyEval(`<h3>Grow new organs</h3><div class="indent">${actions}</div>`)); + anyAction = true; + } - if (r === "") { - return ""; - } + actions = App.Medicine.OrganFarm.implantActions(slave); + if (actions !== null) { + App.UI.DOM.appendNewElement("h3", fragment, "Implant Organs"); + App.UI.DOM.appendNewElement("div", fragment, actions, "indent"); + anyAction = true; + } - return `<h2>Organ Farm</h2>${r}`; - } else { - return ""; + if (!anyAction) { + return fragment; } + + fragment.prepend(App.UI.DOM.makeElement("h2", "Organ Farm")); + return fragment; }; App.Medicine.OrganFarm.currentlyGrowing = function() { diff --git a/src/npc/surgery/organs.js b/src/npc/surgery/organs.js index 4861d11cc80f5dc7ed0214eb84de400eecf4acb7..e87a34799a5e322b61a4ad73b2ca6cbfca8cf585 100644 --- a/src/npc/surgery/organs.js +++ b/src/npc/surgery/organs.js @@ -387,7 +387,7 @@ App.Medicine.OrganFarm.init = function() { }); new App.Medicine.OrganFarm.Organ({ - type: "hair", name: "Hair Follicles", cost: 500, time: 2, + type: "hair", name: "Hair Follicles", cost: 500, time: 2, displayMultipleActions: true, actions: [ new App.Medicine.OrganFarm.OrganImplantAction({ name: "Scalp", healthImpact: 10, surgeryType: "restoreHairHead", @@ -400,23 +400,14 @@ App.Medicine.OrganFarm.init = function() { s.hColor = s.origHColor; } }), - /* + /* So apparently hair is tracked via the .earTColor variable with no differential between possible hair origin. Not worth the variable, currently. new App.Medicine.OrganFarm.OrganImplantAction({ name: "Ears", healthImpact: 5, surgeryType: "addHairEarsH", autoImplant: false, - canImplant: s => (s.earShape !== "normal"), - implantError: s => getRightEyeVision(s) !== 0 ? "Slave has a working right eye." : "", - implant: s => { - s.earShape = "normal"; - } - }), - new App.Medicine.OrganFarm.OrganImplantAction({ - name: "Ears", healthImpact: 5, - surgeryType: "addHairEarsS", autoImplant: false, - canImplant: s => (s.earShape !== "normal"), - implantError: s => getRightEyeVision(s) !== 0 ? "Slave has a working right eye." : "", + canImplant: s => (s.earTShape !== "normal"), + implantError: "", implant: s => { - s.earShape = "normal"; + s.earTColor = "normal"; } }), */ @@ -424,7 +415,7 @@ App.Medicine.OrganFarm.init = function() { name: "Brow", healthImpact: 5, surgeryType: "restoreHairBrow", autoImplant: false, canImplant: s => (s.eyebrowHStyle === "bald"), - implantError: () => "This slave already has eyebrows.", + implantError: () => "", implant: s => { s.eyebrowHStyle = "natural"; s.eyebrowFullness = "natural"; @@ -435,7 +426,7 @@ App.Medicine.OrganFarm.init = function() { name: "Axillary", healthImpact: 5, surgeryType: "restoreHairPits", autoImplant: false, canImplant: s => (s.underArmHStyle === "bald" || s.underArmHStyle === "hairless"), - implantError: () => "This slave already has underarm hair.", + implantError: () => "", implant: s => { s.underArmHStyle = "bushy"; s.underArmHColor = s.origHColor; @@ -445,7 +436,7 @@ App.Medicine.OrganFarm.init = function() { name: "Pubic", healthImpact: 5, surgeryType: "restoreHairPubes", autoImplant: false, canImplant: s => (s.pubicHStyle === "bald" || s.pubicHStyle === "hairless"), - implantError: () => "This slave already has pubic hair.", + implantError: () => "", implant: s => { s.pubicHStyle = "very bushy"; s.pubicHColor = s.origHColor; diff --git a/src/npc/surgery/reproductiveOrgans.js b/src/npc/surgery/reproductiveOrgans.js index d0b4ae72f263adeceb761699ea38481cc2bdc035..bdf1598930b4e38f4aec53ed754ee5b179e9f2f3 100644 --- a/src/npc/surgery/reproductiveOrgans.js +++ b/src/npc/surgery/reproductiveOrgans.js @@ -70,7 +70,7 @@ App.Medicine.OrganFarm.Testicles = class extends App.Medicine.OrganFarm.Organ { }), new App.Medicine.OrganFarm.TesticlesImplantAction({ name: "Implant", - tooltip: "you can forgo standard procedure and implant testicles directly into $his abdomen", + tooltip: "you can forgo standard procedure and implant testicles directly into their abdomen", ballType: ballType, animal: animal, surgeryType: "addTesticles", autoImplant: false, canImplant: slave => (slave.dick === 0 && slave.balls <= 0), implantError: slave => ((slave.balls > 0) ? "This slave already has testicles." : ""), diff --git a/src/personalAssistant/assistantOptions.tw b/src/personalAssistant/assistantOptions.tw index 67e449706bff4e424dc388923328b1fef942be35..d7a2fa55d62b81f8af9f49f6710b39e46968a640 100644 --- a/src/personalAssistant/assistantOptions.tw +++ b/src/personalAssistant/assistantOptions.tw @@ -363,7 +363,7 @@ Seated at your desk, you glance at the visual representation of <<if $arcologies[0].FSPaternalist != "unset">> <<set _seed.push("paternalism")>> <</if>> <<if $arcologies[0].FSBodyPurist != "unset">> <<set _seed.push("body purism")>> <</if>> <<if $arcologies[0].FSMaturityPreferentialist != "unset">> <<set _seed.push("maturity preferentialism")>> <</if>> - <<if $arcologies[0].FSPastoralist != "unset">> <<set _seed.push("pastoralism")>> <</if>> + <<if $arcologies[0].FSPastoralist != "unset">> <<set _seed.push("pastoralism")>> <</if>> <<if $arcologies[0].FSChattelReligionist != "unset">> <<set _seed.push("chattel religionism")>> <</if>> <<if $arcologies[0].FSEgyptianRevivalist != "unset">> <<set _seed.push("Egyptian revivalism")>> <</if>> <<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("repopulationism")>> <</if>> @@ -938,7 +938,7 @@ Seated at your desk, you glance at the visual representation of <<link _text "Personal assistant options">> <<set $assistant.Extra2 = 1>> <<if $PC.skill.hacking < 75>> - <<run cashX(Math.trunc(-price), "capEx")>> + <<run cashX(Math.trunc(-_price), "capEx")>> <</if>> <<goto "Assistant Appearance Pack Two">> <</link>> //<<if $PC.skill.hacking < 75>> Costs <<= num(_price)>> <<else>> Unencrypted files, ripe for the taking<</if>>// diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw index 44958ba77558e1cfdc28bc4f8c025719682cda91..66cece0c3f6c9af68874cd534ce07a8a6b3dcf2c 100644 --- a/src/uncategorized/remoteSurgery.tw +++ b/src/uncategorized/remoteSurgery.tw @@ -2084,7 +2084,7 @@ <</if>> </div> - <<print App.Medicine.OrganFarm.fullMenu(getSlave($AS))>> + <<includeDOM App.Medicine.OrganFarm.fullMenu(getSlave($AS))>> <<if $geneticMappingUpgrade >= 1>> <h3>Retro-virus treatments:</h3>