From b57a103e81e64a9796844cb89b9daa56c552f44a Mon Sep 17 00:00:00 2001 From: mimo Date: Tue, 17 May 2016 19:35:33 +0000 Subject: [PATCH] petra cleanup, mainly unneeded parentheses This was SVN commit r18196. --- .../public/simulation/ai/common-api/entity.js | 16 ++++----- .../simulation/ai/common-api/filters.js | 2 +- .../ai/common-api/terrain-analysis.js | 8 +++-- .../public/simulation/ai/common-api/utils.js | 4 +-- .../public/simulation/ai/petra/attackPlan.js | 16 ++++----- .../public/simulation/ai/petra/baseManager.js | 12 +++---- .../simulation/ai/petra/entityExtend.js | 18 +++++----- .../simulation/ai/petra/garrisonManager.js | 2 +- .../simulation/ai/petra/headquarters.js | 34 +++++++++---------- .../simulation/ai/petra/queueManager.js | 9 +++-- .../simulation/ai/petra/queueplanBuilding.js | 19 +++++------ .../simulation/ai/petra/queueplanResearch.js | 6 ++-- .../simulation/ai/petra/queueplanTraining.js | 6 ++-- .../simulation/ai/petra/researchManager.js | 14 ++++---- .../simulation/ai/petra/tradeManager.js | 20 +++++------ .../simulation/ai/petra/transportPlan.js | 2 +- .../mods/public/simulation/ai/petra/worker.js | 11 +++--- 17 files changed, 96 insertions(+), 103 deletions(-) diff --git a/binaries/data/mods/public/simulation/ai/common-api/entity.js b/binaries/data/mods/public/simulation/ai/common-api/entity.js index f210a1761d..ffd3da1fd6 100644 --- a/binaries/data/mods/public/simulation/ai/common-api/entity.js +++ b/binaries/data/mods/public/simulation/ai/common-api/entity.js @@ -509,13 +509,13 @@ m.Template = m.Class({ }, hasTerritoryInfluence: function() { - return (this.get("TerritoryInfluence") !== undefined); + return this.get("TerritoryInfluence") !== undefined; }, hasDefensiveFire: function() { if (!this.get("Attack") || !this.get("Attack/Ranged")) return false; - return (this.getDefaultArrow() || this.getArrowMultiplier()); + return this.getDefaultArrow() || this.getArrowMultiplier(); }, territoryInfluenceRadius: function() { @@ -616,16 +616,16 @@ m.Entity = m.Class({ return this._entity.idle; }, - unitAIState: function() { return (this._entity.unitAIState !== undefined) ? this._entity.unitAIState : undefined; }, - unitAIOrderData: function() { return (this._entity.unitAIOrderData !== undefined) ? this._entity.unitAIOrderData : undefined; }, + unitAIState: function() { return this._entity.unitAIState !== undefined ? this._entity.unitAIState : undefined; }, + unitAIOrderData: function() { return this._entity.unitAIOrderData !== undefined ? this._entity.unitAIOrderData : undefined; }, - hitpoints: function() { return (this._entity.hitpoints !== undefined) ? this._entity.hitpoints : undefined; }, + hitpoints: function() { return this._entity.hitpoints !== undefined ? this._entity.hitpoints : undefined; }, isHurt: function() { return this.hitpoints() < this.maxHitpoints(); }, healthLevel: function() { return this.hitpoints() / this.maxHitpoints(); }, needsHeal: function() { return this.isHurt() && this.isHealable(); }, needsRepair: function() { return this.isHurt() && this.isRepairable(); }, - decaying: function() { return (this._entity.decaying !== undefined) ? this._entity.decaying : undefined; }, - capturePoints: function() {return (this._entity.capturePoints !== undefined) ? this._entity.capturePoints : undefined; }, + decaying: function() { return this._entity.decaying !== undefined ? this._entity.decaying : undefined; }, + capturePoints: function() {return this._entity.capturePoints !== undefined ? this._entity.capturePoints : undefined; }, /** * Returns the current training queue state, of the form @@ -673,7 +673,7 @@ m.Entity = m.Class({ }, isOwn: function(player) { - if (typeof(this._entity.owner) === "undefined") + if (typeof this._entity.owner === "undefined") return false; return this._entity.owner === player; }, diff --git a/binaries/data/mods/public/simulation/ai/common-api/filters.js b/binaries/data/mods/public/simulation/ai/common-api/filters.js index dae86b16da..50439fe514 100644 --- a/binaries/data/mods/public/simulation/ai/common-api/filters.js +++ b/binaries/data/mods/public/simulation/ai/common-api/filters.js @@ -191,7 +191,7 @@ m.Filters = { return {"func": function(ent){ if (!ent.position()) return false; - return (m.SquareVectorDistance(startPoint, ent.position()) < dist*dist); + return m.SquareVectorDistance(startPoint, ent.position()) < dist*dist; }, "dynamicProperties": []}; }, diff --git a/binaries/data/mods/public/simulation/ai/common-api/terrain-analysis.js b/binaries/data/mods/public/simulation/ai/common-api/terrain-analysis.js index b6daef5cdc..68d84452fb 100644 --- a/binaries/data/mods/public/simulation/ai/common-api/terrain-analysis.js +++ b/binaries/data/mods/public/simulation/ai/common-api/terrain-analysis.js @@ -221,16 +221,18 @@ m.Accessibility.prototype.getTrajectToIndex = function(istart, iend) return undefined; }; -m.Accessibility.prototype.getRegionSize = function(position, onWater){ +m.Accessibility.prototype.getRegionSize = function(position, onWater) +{ var pos = this.gamePosToMapPos(position); var index = pos[0] + pos[1]*this.width; - var ID = (onWater === true) ? this.navalPassMap[index] : this.landPassMap[index]; + var ID = onWater === true ? this.navalPassMap[index] : this.landPassMap[index]; if (this.regionSize[ID] === undefined) return 0; return this.regionSize[ID]; }; -m.Accessibility.prototype.getRegionSizei = function(index, onWater) { +m.Accessibility.prototype.getRegionSizei = function(index, onWater) +{ if (this.regionSize[this.landPassMap[index]] === undefined && (!onWater || this.regionSize[this.navalPassMap[index]] === undefined)) return 0; if (onWater && this.regionSize[this.navalPassMap[index]] > this.regionSize[this.landPassMap[index]]) diff --git a/binaries/data/mods/public/simulation/ai/common-api/utils.js b/binaries/data/mods/public/simulation/ai/common-api/utils.js index 79d90c5e44..e69540101a 100644 --- a/binaries/data/mods/public/simulation/ai/common-api/utils.js +++ b/binaries/data/mods/public/simulation/ai/common-api/utils.js @@ -20,7 +20,7 @@ m.SquareVectorDistance = function(a, b) { var dx = a[0] - b[0]; var dz = a[1] - b[1]; - return (dx*dx + dz*dz); + return dx*dx + dz*dz; }; // A is the reference, B must be in "range" of A @@ -33,7 +33,7 @@ m.inRange = function(a, b, range)// checks for X distance var dx = a[0] - b[0]; var dz = a[1] - b[1]; - return ((dx*dx + dz*dz ) < range); + return dx*dx + dz*dz < range; }; // slower than SquareVectorDistance, faster than VectorDistance but not exactly accurate. diff --git a/binaries/data/mods/public/simulation/ai/petra/attackPlan.js b/binaries/data/mods/public/simulation/ai/petra/attackPlan.js index 217b0fa01d..985fb1fd13 100644 --- a/binaries/data/mods/public/simulation/ai/petra/attackPlan.js +++ b/binaries/data/mods/public/simulation/ai/petra/attackPlan.js @@ -238,7 +238,7 @@ m.AttackPlan.prototype.getType = function() m.AttackPlan.prototype.isStarted = function() { - return (this.state !== "unexecuted" && this.state !== "completing"); + return this.state !== "unexecuted" && this.state !== "completing"; }; m.AttackPlan.prototype.isPaused = function() @@ -1471,7 +1471,7 @@ m.AttackPlan.prototype.update = function(gameState, events) { if (!maybeUpdate && this.CheckCapture(gameState, ent)) continue; - let deltat = (ent.unitAIState() === "INDIVIDUAL.COMBAT.APPROACHING") ? 10 : 5; + let deltat = ent.unitAIState() === "INDIVIDUAL.COMBAT.APPROACHING" ? 10 : 5; let lastAttackPlanUpdateTime = ent.getMetadata(PlayerID, "lastAttackPlanUpdateTime"); if (lastAttackPlanUpdateTime && (time - lastAttackPlanUpdateTime) < deltat && this.CheckCapture(gameState, ent)) @@ -1518,7 +1518,7 @@ m.AttackPlan.prototype.update = function(gameState, events) valb += 1000; else if (structb.hasClass("ConquestCritical")) valb += 200; - return (valb - vala); + return valb - vala; }); if (mStruct[0].hasClass("Gates")) ent.attack(mStruct[0].id(), false); @@ -1542,7 +1542,7 @@ m.AttackPlan.prototype.update = function(gameState, events) } else { - let nearby = (!ent.hasClass("Cavalry") && !ent.hasClass("Ranged")); + let nearby = !ent.hasClass("Cavalry") && !ent.hasClass("Ranged"); let mUnit = enemyUnits.filter(function (enemy) { if (!enemy.position()) return false; @@ -1625,7 +1625,7 @@ m.AttackPlan.prototype.update = function(gameState, events) valb += 10000; else if (structb.hasClass("ConquestCritical")) valb += 100; - return (valb - vala); + return valb - vala; }); if (mStruct[0].hasClass("Gates")) ent.attack(mStruct[0].id(), false); @@ -1680,7 +1680,7 @@ m.AttackPlan.prototype.Abort = function(gameState) { // If the attack was started, and we are on the same land as the rallyPoint, go back there var rallyPoint = this.rallyPoint; - var withdrawal = (this.isStarted() && !this.overseas); + var withdrawal = this.isStarted() && !this.overseas; for (let ent of this.unitCollection.values()) { if (ent.getMetadata(PlayerID, "role") === "attack") @@ -1781,7 +1781,7 @@ m.AttackPlan.prototype.hasForceOrder = function(data, value) m.AttackPlan.prototype.isSiegeUnit = function(gameState, ent) { - return (ent.hasClass("Siege") || (ent.hasClass("Elephant") && ent.hasClass("Champion"))); + return ent.hasClass("Siege") || (ent.hasClass("Elephant") && ent.hasClass("Champion")); }; m.AttackPlan.prototype.debugAttack = function() @@ -1892,7 +1892,7 @@ m.AttackPlan.prototype.Serialize = function() "captureTime": this.captureTime, "noCapture": this.noCapture, "targetPlayer": this.targetPlayer, - "target": ((this.target !== undefined) ? this.target.id() : undefined), + "target": this.target !== undefined ? this.target.id() : undefined, "targetPos": this.targetPos, "path": this.path }; diff --git a/binaries/data/mods/public/simulation/ai/petra/baseManager.js b/binaries/data/mods/public/simulation/ai/petra/baseManager.js index a3ccf86176..69cf05e763 100644 --- a/binaries/data/mods/public/simulation/ai/petra/baseManager.js +++ b/binaries/data/mods/public/simulation/ai/petra/baseManager.js @@ -28,7 +28,7 @@ m.BaseManager = function(gameState, Config) this.constructing = false; // Defenders to train in this cc when its construction is finished - this.neededDefenders = ((this.Config.difficulty > 2) ? 3 + 2*(this.Config.difficulty - 3) : 0); + this.neededDefenders = this.Config.difficulty > 2 ? 3 + 2*(this.Config.difficulty - 3) : 0; // vector for iterating, to check one use the HQ map. this.territoryIndices = []; @@ -618,7 +618,7 @@ m.BaseManager.prototype.setWorkersIdleByPriority = function(gameState) gatherers.forEach( function (ent) { if (!ent.canGather(moreNeed.type)) return; - if (nb == 0) + if (nb === 0) return; if (only && !ent.hasClass(only)) return; @@ -627,7 +627,7 @@ m.BaseManager.prototype.setWorkersIdleByPriority = function(gameState) ent.setMetadata(PlayerID, "gather-type", moreNeed.type); gameState.ai.HQ.AddTCResGatherer(moreNeed.type); }); - if (nb == 0) + if (nb === 0) return; } } @@ -724,7 +724,7 @@ m.BaseManager.prototype.pickBuilders = function(gameState, workers, number) vala = -20; if (b.getMetadata(PlayerID, "plan") === undefined) valb = -20; - return (vala - valb); + return vala - valb; }); var needed = Math.min(number, availableWorkers.length - 3); for (let i = 0; i < needed; ++i) @@ -863,7 +863,7 @@ m.BaseManager.prototype.assignToFoundations = function(gameState, noRepair) coeffB *= 0.5 * (1 + (Math.sqrt(coeffB)/150)*(30/time)); else if (workerB.getMetadata(PlayerID, "gather-type") === "food") coeffB *= 3; - return (coeffA - coeffB); + return coeffA - coeffB; }); let current = 0; let nonBuilderTot = nonBuilderWorkers.length; @@ -1055,7 +1055,7 @@ m.BaseManager.prototype.Deserialize = function(gameState, data) for (let key in data) this[key] = data[key]; - this.anchor = ((this.anchorId !== undefined) ? gameState.getEntityById(this.anchorId) : undefined); + this.anchor = this.anchorId !== undefined ? gameState.getEntityById(this.anchorId) : undefined; }; return m; diff --git a/binaries/data/mods/public/simulation/ai/petra/entityExtend.js b/binaries/data/mods/public/simulation/ai/petra/entityExtend.js index 444518bc82..24e6bd2ac2 100644 --- a/binaries/data/mods/public/simulation/ai/petra/entityExtend.js +++ b/binaries/data/mods/public/simulation/ai/petra/entityExtend.js @@ -23,13 +23,13 @@ m.getMaxStrength = function(ent, againstClass) switch (str) { case "crush": - strength += (val * 0.085) / 3; + strength += val * 0.085 / 3; break; case "hack": - strength += (val * 0.075) / 3; + strength += val * 0.075 / 3; break; case "pierce": - strength += (val * 0.065) / 3; + strength += val * 0.065 / 3; break; default: API3.warn("Petra: " + str + " unknown attackStrength in getMaxStrength"); @@ -38,7 +38,7 @@ m.getMaxStrength = function(ent, againstClass) let attackRange = ent.attackRange(type); if (attackRange) - strength += (attackRange.max * 0.0125) ; + strength += attackRange.max * 0.0125; let attackTimes = ent.attackTimes(type); for (let str in attackTimes) @@ -47,10 +47,10 @@ m.getMaxStrength = function(ent, againstClass) switch (str) { case "repeat": - strength += (val / 100000); + strength += val / 100000; break; case "prepare": - strength -= (val / 100000); + strength -= val / 100000; break; default: API3.warn("Petra: " + str + " unknown attackTimes in getMaxStrength"); @@ -65,13 +65,13 @@ m.getMaxStrength = function(ent, againstClass) switch (str) { case "crush": - strength += (val * 0.085) / 3; + strength += val * 0.085 / 3; break; case "hack": - strength += (val * 0.075) / 3; + strength += val * 0.075 / 3; break; case "pierce": - strength += (val * 0.065) / 3; + strength += val * 0.065 / 3; break; default: API3.warn("Petra: " + str + " unknown armourStrength in getMaxStrength"); diff --git a/binaries/data/mods/public/simulation/ai/petra/garrisonManager.js b/binaries/data/mods/public/simulation/ai/petra/garrisonManager.js index 3a060274dd..1cf88433ba 100644 --- a/binaries/data/mods/public/simulation/ai/petra/garrisonManager.js +++ b/binaries/data/mods/public/simulation/ai/petra/garrisonManager.js @@ -147,7 +147,7 @@ m.GarrisonManager.prototype.numberOfGarrisonedUnits = function(holder) if (!this.holders.has(holder.id())) return holder.garrisoned().length; - return (holder.garrisoned().length + this.holders.get(holder.id()).length); + return holder.garrisoned().length + this.holders.get(holder.id()).length; }; // This is just a pre-garrison state, while the entity walk to the garrison holder diff --git a/binaries/data/mods/public/simulation/ai/petra/headquarters.js b/binaries/data/mods/public/simulation/ai/petra/headquarters.js index a3914d13b0..3340dabb99 100644 --- a/binaries/data/mods/public/simulation/ai/petra/headquarters.js +++ b/binaries/data/mods/public/simulation/ai/petra/headquarters.js @@ -521,7 +521,7 @@ m.HQ.prototype.findBestTrainableUnit = function(gameState, classes, requirements else // We do not want hero when not explicitely specified units = gameState.findTrainableUnits(classes, ["Hero"]); - if (units.length == 0) + if (units.length === 0) return undefined; var parameters = requirements.slice(); @@ -590,7 +590,7 @@ m.HQ.prototype.findBestTrainableUnit = function(gameState, classes, requirements bTopParam *= param[1]; } } - return -(aTopParam/(aDivParam+1)) + (bTopParam/(bDivParam+1)); + return -aTopParam/(aDivParam+1) + bTopParam/(bDivParam+1); }); return units[0][0]; }; @@ -687,8 +687,8 @@ m.HQ.prototype.pickMostNeededResources = function(gameState) let vb = Math.max(0, b.wanted - b.current) / (b.current + 1); // If they happen to be equal (generally this means "0" aka no need), make it fair. if (va === vb) - return (a.current - b.current); - return (vb - va); + return a.current - b.current; + return vb - va; }); return needed; }; @@ -787,7 +787,7 @@ m.HQ.prototype.findEconomicCCLocation = function(gameState, template, resource, if (dist < minDist) minDist = dist; } - if (norm == 0) + if (norm === 0) continue; if (minDist > 170000 && !this.navalMap) // Reject if too far from any allied cc (not connected) @@ -819,7 +819,7 @@ m.HQ.prototype.findEconomicCCLocation = function(gameState, template, resource, else if (dist < 6400) norm *= 0.5; } - if (norm == 0) + if (norm === 0) continue; } @@ -1355,14 +1355,14 @@ m.HQ.prototype.buildMoreHouses = function(gameState,queues) let freeSlots = gameState.getPopulationLimit() - gameState.getPopulation(); for (let ent of gameState.getOwnFoundations().values()) freeSlots += ent.getPopulationBonus(); + if (gameState.ai.HQ.saveResources) - return (freeSlots <= 10); + return freeSlots <= 10; else if (gameState.getPopulation() > 55) - return (freeSlots <= 21); + return freeSlots <= 21; else if (gameState.getPopulation() > 30) - return (freeSlots <= 15); - else - return (freeSlots <= 10); + return freeSlots <= 15; + return freeSlots <= 10; }; queues.house.addPlan(plan); } @@ -1438,7 +1438,7 @@ m.HQ.prototype.checkBaseExpansion = function(gameState, queues) return; // first build one cc if all have been destroyed let activeBases = this.numActiveBase(); - if (activeBases == 0) + if (activeBases === 0) { this.buildFirstBase(gameState); return; @@ -1468,7 +1468,7 @@ m.HQ.prototype.buildNewBase = function(gameState, queues, resource) return false; if (gameState.getOwnFoundations().filter(API3.Filters.byClass("CivCentre")).hasEntities() || queues.civilCentre.hasQueuedUnits()) return false; - let template = (this.numActiveBase() > 0) ? this.bBase[0] : gameState.applyCiv("structures/{civ}_civil_centre"); + let template = this.numActiveBase() > 0 ? this.bBase[0] : gameState.applyCiv("structures/{civ}_civil_centre"); if (!this.canBuild(gameState, template)) return false; @@ -1596,7 +1596,7 @@ m.HQ.prototype.constructTrainingBuildings = function(gameState, queues) } //build advanced military buildings - if (gameState.currentPhase() > 2 && gameState.getPopulation() > 80 && !queues.militaryBuilding.hasQueuedUnits() && this.bAdvanced.length != 0) + if (gameState.currentPhase() > 2 && gameState.getPopulation() > 80 && !queues.militaryBuilding.hasQueuedUnits() && this.bAdvanced.length !== 0) { let nAdvanced = 0; for (let advanced of this.bAdvanced) @@ -1709,8 +1709,8 @@ m.HQ.prototype.trainEmergencyUnits = function(gameState, positions) nearestAnchor.stopProduction(item.id); } } - var autogarrison = (numGarrisoned < nearestAnchor.garrisonMax() && nearestAnchor.hitpoints() > nearestAnchor.garrisonEjectHealth() * nearestAnchor.maxHitpoints()); - var rangedWanted = (Math.random() > 0.5 && autogarrison); + var autogarrison = numGarrisoned < nearestAnchor.garrisonMax() && nearestAnchor.hitpoints() > nearestAnchor.garrisonEjectHealth() * nearestAnchor.maxHitpoints(); + var rangedWanted = Math.random() > 0.5 && autogarrison; var total = gameState.getResources(); var templateFound; @@ -2118,7 +2118,7 @@ m.HQ.prototype.update = function(gameState, queues, events) for (let i = 0; i < this.baseManagers.length; ++i) { this.baseManagers[i].checkEvents(gameState, events, queues); - if (((i + gameState.ai.playedTurn)%this.baseManagers.length) === 0) + if ((i + gameState.ai.playedTurn)%this.baseManagers.length === 0) this.baseManagers[i].update(gameState, queues, events); } diff --git a/binaries/data/mods/public/simulation/ai/petra/queueManager.js b/binaries/data/mods/public/simulation/ai/petra/queueManager.js index 28363cfc8e..31380265e0 100644 --- a/binaries/data/mods/public/simulation/ai/petra/queueManager.js +++ b/binaries/data/mods/public/simulation/ai/petra/queueManager.js @@ -80,11 +80,10 @@ m.QueueManager.prototype.currentNeeds = function(gameState) // TODO: many things. m.QueueManager.prototype.wantedGatherRates = function(gameState) { - if (gameState.ai.playedTurn == 0) - { - // default values for first turn when we have not yet set our queues. + // default values for first turn when we have not yet set our queues. + if (gameState.ai.playedTurn === 0) return { "food": 10, "wood": 10, "stone": 0, "metal": 0 }; - } + // get out current resources, not removing accounts. var current = gameState.getResources(); // short queue is the first item of a queue, assumed to be ready in 30s @@ -107,7 +106,7 @@ m.QueueManager.prototype.wantedGatherRates = function(gameState) let cost = queue.plans[j].getCost(); if (queue.plans[j].isGo(gameState)) { - if (j == 0) + if (j === 0) total = totalShort; else total = totalMedium; diff --git a/binaries/data/mods/public/simulation/ai/petra/queueplanBuilding.js b/binaries/data/mods/public/simulation/ai/petra/queueplanBuilding.js index d50110bf16..bb739963cc 100644 --- a/binaries/data/mods/public/simulation/ai/petra/queueplanBuilding.js +++ b/binaries/data/mods/public/simulation/ai/petra/queueplanBuilding.js @@ -141,8 +141,7 @@ m.ConstructionPlan.prototype.findGoodPosition = function(gameState) if (pos) return { "x": pos[0], "z": pos[1], "angle": 3*Math.PI/4, "base": 0 }; - else - return false; + return false; } else if (template.hasClass("DefenseTower") || template.hasClass("Fortress") || template.hasClass("ArmyCamp")) { @@ -241,7 +240,7 @@ m.ConstructionPlan.prototype.findGoodPosition = function(gameState) { for (let j = 0; j < placement.map.length; ++j) { - let value = placement.map[j] - (gameState.sharedScript.resourceMaps.wood.map[j])/3; + let value = placement.map[j] - gameState.sharedScript.resourceMaps.wood.map[j]/3; placement.map[j] = value >= 0 ? value : 0; if (gameState.ai.HQ.borderMap.map[j] > 0) placement.map[j] /= 2; // we need space around farmstead, so disfavor map border @@ -252,8 +251,8 @@ m.ConstructionPlan.prototype.findGoodPosition = function(gameState) // requires to be inside our territory, and inside our base territory if required // and if our first market, put it on border if possible to maximize distance with next market var favorBorder = template.hasClass("BarterMarket"); - var disfavorBorder = (gameState.currentPhase() > 1 && !template.hasDefensiveFire()); - var preferredBase = (this.metadata && this.metadata.preferredBase); + var disfavorBorder = gameState.currentPhase() > 1 && !template.hasDefensiveFire(); + var preferredBase = this.metadata && this.metadata.preferredBase; if (this.metadata && this.metadata.base !== undefined) { let base = this.metadata.base; @@ -536,7 +535,7 @@ m.ConstructionPlan.prototype.getDockAngle = function(gameState, x, z, size) for (let i = 0; i < length; ++i) { let count = 0; - for (let j = 0; j < (length-1); ++j) + for (let j = 0; j < length-1; ++j) { if (((waterPoints[(i + j) % length]+1) % numPoints) == waterPoints[(i + j + 1) % length]) ++count; @@ -724,7 +723,7 @@ m.ConstructionPlan.prototype.getResourcesAround = function(gameState, types, i, { if (k === "food" || !resourceMaps[k]) continue; - let weigh0 = (k === "wood") ? 2 : 1; + let weigh0 = k === "wood" ? 2 : 1; for (let dy = 0; dy <= size; ++dy) { let dxmax = size - dy; @@ -736,7 +735,7 @@ m.ConstructionPlan.prototype.getResourcesAround = function(gameState, types, i, let kx = ix + dx; if (kx < 0 || kx >= w) continue; - let ddx = (dx > 0) ? dx : -dx; + let ddx = dx > 0 ? dx : -dx; let weight = weigh0 * (dxmax - ddx) / size; total += weight * resourceMaps[k].map[kx + w * ky]; nbcell += weight; @@ -752,7 +751,7 @@ m.ConstructionPlan.prototype.getResourcesAround = function(gameState, types, i, let kx = ix + dx; if (kx < 0 || kx >= w) continue; - let ddx = (dx > 0) ? dx : -dx; + let ddx = dx > 0 ? dx : -dx; let weight = weigh0 * (dxmax - ddx) / size; total += weight * resourceMaps[k].map[kx + w * ky]; nbcell += weight; @@ -760,7 +759,7 @@ m.ConstructionPlan.prototype.getResourcesAround = function(gameState, types, i, } } } - return (nbcell ? (total / nbcell) : 0); + return nbcell ? (total / nbcell) : 0; }; m.ConstructionPlan.prototype.Serialize = function() diff --git a/binaries/data/mods/public/simulation/ai/petra/queueplanResearch.js b/binaries/data/mods/public/simulation/ai/petra/queueplanResearch.js index 329dbb7d0f..8ca4cd6443 100644 --- a/binaries/data/mods/public/simulation/ai/petra/queueplanResearch.js +++ b/binaries/data/mods/public/simulation/ai/petra/queueplanResearch.js @@ -26,7 +26,7 @@ m.ResearchPlan.prototype.canStart = function(gameState) m.ResearchPlan.prototype.isInvalid = function(gameState) { - return (gameState.isResearched(this.type) || gameState.isResearching(this.type)); + return gameState.isResearched(this.type) || gameState.isResearching(this.type); }; m.ResearchPlan.prototype.start = function(gameState) @@ -38,9 +38,7 @@ m.ResearchPlan.prototype.start = function(gameState) // plans that have already been executed this turn) if (trainers.length > 0) { - trainers.sort(function(a, b) { - return (a.trainingQueueTime() - b.trainingQueueTime()); - }); + trainers.sort((a, b) => a.trainingQueueTime() - b.trainingQueueTime()); // drop anything in the queue if we rush it. if (this.rush) trainers[0].stopAllProduction(0.45); diff --git a/binaries/data/mods/public/simulation/ai/petra/queueplanTraining.js b/binaries/data/mods/public/simulation/ai/petra/queueplanTraining.js index b7d187a71d..bc343786a7 100644 --- a/binaries/data/mods/public/simulation/ai/petra/queueplanTraining.js +++ b/binaries/data/mods/public/simulation/ai/petra/queueplanTraining.js @@ -26,7 +26,7 @@ m.TrainingPlan.prototype.canStart = function(gameState) if (this.metadata && this.metadata.sea) trainers = trainers.filter(API3.Filters.byMetadata(PlayerID, "sea", this.metadata.sea)); - return (trainers.length !== 0); + return trainers.length !== 0; }; m.TrainingPlan.prototype.start = function(gameState) @@ -59,7 +59,7 @@ m.TrainingPlan.prototype.start = function(gameState) let wantedIndex; if (this.metadata && this.metadata.index) wantedIndex = this.metadata.index; - let workerUnit = (this.metadata && this.metadata.role && this.metadata.role == "worker"); + let workerUnit = this.metadata && this.metadata.role && this.metadata.role == "worker"; let supportUnit = this.template.hasClass("Support"); trainers.sort(function(a, b) { let aa = a.trainingQueueTime(); @@ -94,7 +94,7 @@ m.TrainingPlan.prototype.start = function(gameState) else if (bpop > apop) bb++; } - return (aa - bb); + return aa - bb; }); if (this.metadata && this.metadata.base !== undefined && this.metadata.base === 0) this.metadata.base = trainers[0].getMetadata(PlayerID, "base"); diff --git a/binaries/data/mods/public/simulation/ai/petra/researchManager.js b/binaries/data/mods/public/simulation/ai/petra/researchManager.js index 51467cf2b1..ceede49eb0 100644 --- a/binaries/data/mods/public/simulation/ai/petra/researchManager.js +++ b/binaries/data/mods/public/simulation/ai/petra/researchManager.js @@ -88,14 +88,14 @@ m.ResearchManager.prototype.researchTradeBonus = function(gameState, queues) // Techs to be searched for as soon as they are available m.ResearchManager.prototype.researchWantedTechs = function(gameState, techs) { - var available = (gameState.currentPhase() == 1 ? gameState.ai.queueManager.getAvailableResources(gameState) : null); - var numWorkers = (gameState.currentPhase() == 1 ? gameState.getOwnEntitiesByRole("worker", true).length : 0); + var available = gameState.currentPhase() === 1 ? gameState.ai.queueManager.getAvailableResources(gameState) : null; + var numWorkers = gameState.currentPhase() === 1 ? gameState.getOwnEntitiesByRole("worker", true).length : 0; for (let tech of techs) { if (!tech[1]._template.modifications) continue; let template = tech[1]._template; - if (gameState.currentPhase() == 1) + if (gameState.currentPhase() === 1) { let cost = template.cost; let costMax = 0; @@ -126,14 +126,14 @@ m.ResearchManager.prototype.researchWantedTechs = function(gameState, techs) // Techs to be searched for as soon as they are available, but only after phase 2 m.ResearchManager.prototype.researchPreferredTechs = function(gameState, techs) { - var available = (gameState.currentPhase() == 2 ? gameState.ai.queueManager.getAvailableResources(gameState) : null); - var numWorkers = (gameState.currentPhase() == 2 ? gameState.getOwnEntitiesByRole("worker", true).length : 0); + var available = gameState.currentPhase() === 2 ? gameState.ai.queueManager.getAvailableResources(gameState) : null; + var numWorkers = gameState.currentPhase() === 2 ? gameState.getOwnEntitiesByRole("worker", true).length : 0; for (let tech of techs) { if (!tech[1]._template.modifications) continue; let template = tech[1]._template; - if (gameState.currentPhase() == 2) + if (gameState.currentPhase() === 2) { let cost = template.cost; let costMax = 0; @@ -208,7 +208,7 @@ m.ResearchManager.prototype.update = function(gameState, queues) if (!techs.length) return; // randomly pick one. No worries about pairs in that case. - var p = Math.floor((Math.random()*techs.length)); + var p = Math.floor(Math.random()*techs.length); queues.minorTech.addPlan(new m.ResearchPlan(gameState, techs[p][0])); }; diff --git a/binaries/data/mods/public/simulation/ai/petra/tradeManager.js b/binaries/data/mods/public/simulation/ai/petra/tradeManager.js index 792edd6a85..970e609dd0 100644 --- a/binaries/data/mods/public/simulation/ai/petra/tradeManager.js +++ b/binaries/data/mods/public/simulation/ai/petra/tradeManager.js @@ -24,7 +24,7 @@ m.TradeManager.prototype.init = function(gameState) m.TradeManager.prototype.hasTradeRoute = function() { - return (this.tradeRoute !== undefined); + return this.tradeRoute !== undefined; }; m.TradeManager.prototype.assignTrader = function(ent) @@ -166,12 +166,12 @@ m.TradeManager.prototype.setTradingGoods = function(gameState) let wantedRate = gameState.ai.HQ.wantedRates[type]; if (stocks[type] < 200) { - tradingGoods[type] = (wantedRate > 0) ? 20 : 10; + tradingGoods[type] = wantedRate > 0 ? 20 : 10; targetNum += Math.min(5, 3 + Math.ceil(wantedRate/30)); } else if (stocks[type] < 500) { - tradingGoods[type] = (wantedRate > 0) ? 15 : 10; + tradingGoods[type] = wantedRate > 0 ? 15 : 10; targetNum += 2; } else if (stocks[type] < 1000) @@ -281,7 +281,7 @@ m.TradeManager.prototype.performBarter = function(gameState) continue; let barterRateMin = 80; if (available[buy] < 5000 && available.food > 5000) - barterRateMin -= (20 - Math.floor(available[buy]/250)); + barterRateMin -= 20 - Math.floor(available[buy]/250); let barterRate = getBarterRate(prices, buy, "food"); if (barterRate < barterRateMin) continue; @@ -407,7 +407,7 @@ m.TradeManager.prototype.checkRoutes = function(gameState, accessIndex) continue; var access2 = gameState.ai.accessibility.getAccessValue(m2.position()); var sea2 = m2.hasClass("NavalMarket") ? gameState.ai.HQ.navalManager.getDockIndex(gameState, m2, true) : undefined; - var land = (access1 == access2) ? access1 : undefined; + var land = access1 == access2 ? access1 : undefined; var sea = (sea1 && sea1 == sea2) ? sea1 : undefined; if (!land && !sea) continue; @@ -494,11 +494,9 @@ m.TradeManager.prototype.checkRoutes = function(gameState, accessIndex) return bestIndex; else if (gameState.ai.accessibility.regionType[accessIndex] === "land" && bestLand.gain > 0) return bestLand; - else - return false; + return false; } - else - return true; + return true; }; // Called when a market was built or destroyed, and checks if trader orders should be changed @@ -610,7 +608,7 @@ m.TradeManager.prototype.routeEntToId = function(route) return route; let ret = {}; for (let key in route) - ret[key] = ((key == "source" || key == "target") ? route[key].id() : route[key]); + ret[key] = (key == "source" || key == "target") ? route[key].id() : route[key]; return ret; }; @@ -620,7 +618,7 @@ m.TradeManager.prototype.routeIdToEnt = function(gameState, route) return route; let ret = {}; for (let key in route) - ret[key] = ((key == "source" || key == "target") ? gameState.getEntityById(route[key]) : route[key]); + ret[key] = (key == "source" || key == "target") ? gameState.getEntityById(route[key]) : route[key]; return ret; }; diff --git a/binaries/data/mods/public/simulation/ai/petra/transportPlan.js b/binaries/data/mods/public/simulation/ai/petra/transportPlan.js index d3ab69adf6..2651561227 100644 --- a/binaries/data/mods/public/simulation/ai/petra/transportPlan.js +++ b/binaries/data/mods/public/simulation/ai/petra/transportPlan.js @@ -71,7 +71,7 @@ m.TransportPlan = function(gameState, units, startIndex, endIndex, endPos, ship) this.state = "boarding"; this.boardingPos = {}; - this.needTransportShips = (ship === undefined); + this.needTransportShips = ship === undefined; this.nTry = {}; return true; }; diff --git a/binaries/data/mods/public/simulation/ai/petra/worker.js b/binaries/data/mods/public/simulation/ai/petra/worker.js index af7634ca84..ccb9572f42 100644 --- a/binaries/data/mods/public/simulation/ai/petra/worker.js +++ b/binaries/data/mods/public/simulation/ai/petra/worker.js @@ -571,7 +571,7 @@ m.Worker.prototype.startHunting = function(gameState, position) if (nbGatherers > 0 && supply.resourceSupplyAmount()/(1+nbGatherers) < 30) return; - var canFlee = (!supply.hasClass("Domestic") && supply.templateName().indexOf("resource|") == -1); + var canFlee = !supply.hasClass("Domestic") && supply.templateName().indexOf("resource|") == -1; // Only cavalry and range units should hunt fleeing animals if (canFlee && !isCavalry && !isRanged) return; @@ -710,12 +710,9 @@ m.Worker.prototype.startFishing = function(gameState) this.ent.setMetadata(PlayerID, "target-foundation", undefined); return true; } - else - { - if (this.ent.getMetadata(PlayerID,"subrole") === "fisher") - this.ent.setMetadata(PlayerID, "subrole", "idle"); - return false; - } + if (this.ent.getMetadata(PlayerID,"subrole") === "fisher") + this.ent.setMetadata(PlayerID, "subrole", "idle"); + return false; }; m.Worker.prototype.gatherNearestField = function(gameState, baseID)