diff --git a/src/Mods/SecExp/buildings/secBarracks.tw b/src/Mods/SecExp/buildings/secBarracks.tw index cf11108c9aa6e670451ab1090e3a12b7a1fb0d3b..56810bbfc20e5f940bd6414202c8d55b69d2c35f 100644 --- a/src/Mods/SecExp/buildings/secBarracks.tw +++ b/src/Mods/SecExp/buildings/secBarracks.tw @@ -115,7 +115,7 @@ While this a sore sight for many citizens of $arcologies[0].name, the barracks s <</if>> <hr>__Units__<br> -Your current maximum number of units is <<print App.SecExp.battle.maxUnits()>> (<<print num($secBots.maxTroops+(50*App.SecExp.battle.maxUnits()))>> troops), <<print App.SecExp.battle.activeUnits()>> (<<print num($secBots.maxTroops+App.SecExp.Manpower.employedOverall)>> troops) are active and <<print (2 * App.SecExp.battle.deploySpeed())>> units can be deployed. <<if $SecExp.buildings.barracks.luxury > 0>>The barracks provides <<print $SecExp.buildings.barracks.luxury * 5>>% bonus morale when battle occurs.<</if>> <<if $SecExp.buildings.barracks.training > 0>>The training facility will increase the effectiveness of your units with time.<</if>> +Your current maximum number of units is <<print App.SecExp.battle.maxUnits()>> (<<print num($secBots.maxTroops+(50*App.SecExp.battle.maxUnits()))>> troops), <<print App.SecExp.battle.activeUnits()>> (<<print num($secBots.troops+App.SecExp.Manpower.employedOverall)>> troops) are active and <<print (2 * App.SecExp.battle.deploySpeed())>> units can be deployed. <<if $SecExp.buildings.barracks.luxury > 0>>The barracks provides <<print $SecExp.buildings.barracks.luxury * 5>>% bonus morale when battle occurs.<</if>> <<if $SecExp.buildings.barracks.training > 0>>The training facility will increase the effectiveness of your units with time.<</if>> <br> <<set _options = new App.UI.OptionsGroup()>> <<run _options.addOption("Unit descriptions are", "unitDescriptions", $SecExp.settings) diff --git a/src/Mods/SecExp/buildings/weaponsManufacturing.tw b/src/Mods/SecExp/buildings/weaponsManufacturing.tw index 97f01210c79a92d7058fd4dd4c85f5c9a31d0205..0f06a8a51d3762b58a7cc361803d5ef364b5f37b 100644 --- a/src/Mods/SecExp/buildings/weaponsManufacturing.tw +++ b/src/Mods/SecExp/buildings/weaponsManufacturing.tw @@ -189,7 +189,7 @@ You own <<print num($menials)>> free menial slaves. This manufacturing complex c <p> <<includeDOM App.SecExp.weapManuUpgrade.purchase(4)>> </p> <p> <<includeDOM App.SecExp.weapManuUpgrade.purchase(5)>> </p> <</if>> - <<if $SF.Toggle && $SF.Active >= 1>> <br> + <<if $SF.Toggle && $SF.Active >= 1>> <<if $SecExp.buildings.weapManu.lab >= 2 && $SecExp.edicts.SFSupportLevel >= 2 && $SF.Squad.Firebase >= 7>> <p> <<includeDOM App.SecExp.weapManuUpgrade.purchase(6)>> </p> <</if>> diff --git a/src/Mods/SecExp/js/Unit.js b/src/Mods/SecExp/js/Unit.js index b981a75fe7354c2f2f37cc5d65bcb814399f0241..191ffe7e284648200f0ed944a05e691919230a10 100644 --- a/src/Mods/SecExp/js/Unit.js +++ b/src/Mods/SecExp/js/Unit.js @@ -160,12 +160,12 @@ App.SecExp.deployUnitMenu = function(input, count = 0) { */ App.SecExp.humanUnitUpgradeList = function(input) { const equipUpgradeCost = 250; - let el = document.createElement("div"), options = document.createElement("div"); + let el = document.createElement("div"); let options = document.createElement("div"); if (input.maxTroops < 50) { options.append(`For ${cashFormat(5000 + 10 * equipUpgradeCost * (input.equip + input.commissars + input.cyber + input.SF))} provide this unit's `); options.append(App.UI.DOM.link("officers with intensive training", () => { - input.maxTroops += 10, + input.maxTroops += 10; cashX(-(5000 + 10 * equipUpgradeCost * (input.equip + input.commissars + input.cyber + input.SF)), "securityExpansion"); }, [], passage() @@ -180,7 +180,7 @@ App.SecExp.humanUnitUpgradeList = function(input) { if (input.equip < 3) { options.append(`For ${cashFormat(equipUpgradeCost * input.maxTroops + 1000)} invest in `); options.append(App.UI.DOM.link("better equipment", () => { - input.equip++, + input.equip++; cashX(-(equipUpgradeCost * input.maxTroops + 1000), "securityExpansion"); }, [], passage() @@ -195,7 +195,7 @@ App.SecExp.humanUnitUpgradeList = function(input) { if (input.commissars === 0) { options.append(`For ${cashFormat(equipUpgradeCost * input.maxTroops + 1000)} attach `); options.append(App.UI.DOM.link("commissars", () => { - input.commissars++, + input.commissars++; cashX(-(equipUpgradeCost * input.maxTroops + 1000), "securityExpansion"); }, [], passage() @@ -204,7 +204,7 @@ App.SecExp.humanUnitUpgradeList = function(input) { } else if (input.commissars < 2) { options.append(`For ${cashFormat(equipUpgradeCost * input.maxTroops + 1000)} attach `); options.append(App.UI.DOM.link("commissars", () => { - input.commissars++, + input.commissars++; cashX(-(equipUpgradeCost * input.maxTroops + 1000), "securityExpansion"); }, [], passage() @@ -223,7 +223,7 @@ App.SecExp.humanUnitUpgradeList = function(input) { if (input.cyber === 0) { options.append(`For ${cashFormat(equipUpgradeCost * input.maxTroops + 1000)} `); options.append(App.UI.DOM.link("augment all soldiers of the unit", () => { - input.cyber++, + input.cyber++; cashX(-(equipUpgradeCost * input.maxTroops + 2000), "securityExpansion"); }, [], passage() @@ -239,7 +239,7 @@ App.SecExp.humanUnitUpgradeList = function(input) { if (input.medics === 0) { options.append(`For ${cashFormat(equipUpgradeCost * input.maxTroops + 1000)} `); options.append(App.UI.DOM.link("attach trained medics to the unit", () => { - input.medics++, + input.medics++; cashX(-(equipUpgradeCost * input.maxTroops + 1000), "securityExpansion"); }, [], passage() @@ -256,7 +256,7 @@ App.SecExp.humanUnitUpgradeList = function(input) { if (input.SF === 0) { options.append(`For ${cashFormat(equipUpgradeCost * input.maxTroops + 5000)} `); options.append(App.UI.DOM.link("attach Special Force advisors", () => { - input.SF++, + input.SF++; cashX(-(equipUpgradeCost * input.maxTroops + 5000), "securityExpansion"); }, [], passage() @@ -417,7 +417,7 @@ App.SecExp.getAppliedUpgrades = function(type) { } } return {attack: attack, defense: def, hp: hp, morale: morale}; -} +}; App.SecExp.getEdictUpgradeVal = (function() { const data = { diff --git a/src/Mods/SecExp/js/buildingsJS.js b/src/Mods/SecExp/js/buildingsJS.js index eb0bc92e40eff336c0b8a94a7a5f6baa0527d72f..7238f2ffdb98b170ffe5bbf780b10725b4d9f18f 100644 --- a/src/Mods/SecExp/js/buildingsJS.js +++ b/src/Mods/SecExp/js/buildingsJS.js @@ -285,8 +285,11 @@ App.SecExp.secHub = (function() { if (V.secHQ || (V.SecExp.buildings.secHub && Object.entries(V.SecExp.buildings.secHub).length > 0)){ V.SecExp.buildings.secHub = V.SecExp.buildings.secHub || {}; V.SecExp.buildings.secHub.menials = V.SecExp.buildings.secHub.menials || V.secMenials || V.secHelots || 0; - V.SecExp.buildings.secHub.coldstorage = V.SecExp.buildings.secHub.coldstorage || V.secUpgrades.coldstorage || 0; - delete V.secUpgrades.coldstorage; + V.SecExp.buildings.secHub.coldstorage = V.SecExp.buildings.secHub.coldstorage || 0; + if (V.secUpgrades) { + V.SecExp.buildings.secHub.coldstorage = V.secUpgrades.coldstorage; + delete V.secUpgrades.coldstorage; + } V.SecExp.buildings.secHub.upgrades = V.SecExp.buildings.secHub.upgrades || {}; V.SecExp.buildings.secHub.upgrades.security = V.SecExp.buildings.secHub.upgrades.security || V.secUpgrades || {}; @@ -464,7 +467,7 @@ App.SecExp.transportHub = (function() { V.SecExp.buildings.transportHub.airport = V.SecExp.buildings.transportHub.airport || V.airport || 1; V.SecExp.buildings.transportHub.security = V.SecExp.buildings.transportHub.security || V.hubSecurity || 1; V.SecExp.buildings.transportHub.surfaceTransport = V.SecExp.buildings.transportHub.surfaceTransport || 1; - if (V.releaseID < 1091) { + if (V.releaseID < 1093) { if (V.terrain !== "oceanic" && V.terrain !== "marine") { V.SecExp.buildings.transportHub.surfaceTransport = V.railway || 1; } else { diff --git a/src/Mods/SecExp/js/secExp.js b/src/Mods/SecExp/js/secExp.js index 22c76c9433b19e98d16d12574adbeaab547f3b9a..823ba44a6101232d754af721a5b85db845e3e847 100644 --- a/src/Mods/SecExp/js/secExp.js +++ b/src/Mods/SecExp/js/secExp.js @@ -459,15 +459,11 @@ App.SecExp.battle = (function() { } } - /** Get recon score (scale 0-4) + /** Get recon score (scale 0-3) * @returns {number} */ function recon() { - let recon = 0; - if (V.SecExp.buildings.secHub) { - recon *= Object.values(V.SecExp.buildings.secHub.upgrades.intel).reduce((a, b) => a + b); - } - return recon; + return V.SecExp.buildings.secHub ? Object.values(V.SecExp.buildings.secHub.upgrades.intel).reduce((a, b) => a + b) : 0; } /** Get bribe cost for an attacker to go away diff --git a/src/events/intro/initNationalities.js b/src/events/intro/initNationalities.js index e79d4a3952c37bf45559b407d18ba90e746027e6..6a64dc38b712805b46070cf023375b7338f699d9 100644 --- a/src/events/intro/initNationalities.js +++ b/src/events/intro/initNationalities.js @@ -2,63 +2,11 @@ App.Intro.initNationalities = function() { function initSecExp() { /* base vars */ App.SecExp.generalInit(); - V.secUpgrades = { - nanoCams: 0, - cyberBots: 0, - eyeScan: 0, - cryptoAnalyzer: 0, - coldstorage: 0 - }; - V.crimeUpgrades = { - autoTrial: 0, - autoArchive: 0, - worldProfiler: 0, - advForensic: 0 - }; - V.intelUpgrades = { - sensors: 0, - radar: 0, - signalIntercept: 0 - }; - V.readinessUpgrades = { - earlyWarn: 0, - rapidPlatforms: 0, - pathways: 0, - rapidVehicles: 0 - }; - V.riotUpgrades = { - freeMedia: 0, - rapidUnit: 0, - rapidUnitSpeed: 0 - }; V.fort = { reactor: 0, waterway: 0, assistant:0 }; - V.currentUpgrade = { - name: " ", - unit: 0, - type: 0, - time: 0 - }; - V.droneUpgrades = { - attack: 0, - defense: 0, - hp:0 - }; - V.humanUpgrade = { - attack: 0, - defense: 0, - hp:0, - morale: 0 - }; - V.sellTo = { - citizen: 1, - raiders: 1, - oldWorld: 1, - FC: 1 - }; V.garrison = { penthouse: 0, reactor: 0,