diff --git a/binaries/data/mods/public/simulation/ai/common-api/gamestate.js b/binaries/data/mods/public/simulation/ai/common-api/gamestate.js index e37a1ac931..8f082f225d 100644 --- a/binaries/data/mods/public/simulation/ai/common-api/gamestate.js +++ b/binaries/data/mods/public/simulation/ai/common-api/gamestate.js @@ -823,7 +823,7 @@ m.GameState.prototype.hasResearchers = function(templateName, noRequirementCheck return false; let template = this.getTemplate(templateName); - if (template.autoResearch) + if (template.autoResearch()) return true; let civ = this.playerData.civ; diff --git a/binaries/data/mods/public/simulation/ai/petra/attackPlan.js b/binaries/data/mods/public/simulation/ai/petra/attackPlan.js index 9430f37b57..c52fb543b4 100644 --- a/binaries/data/mods/public/simulation/ai/petra/attackPlan.js +++ b/binaries/data/mods/public/simulation/ai/petra/attackPlan.js @@ -1170,7 +1170,7 @@ PETRA.AttackPlan.prototype.checkTargetObstruction = function(gameState, target, } else if (struct.get("Obstruction/Unit")) { - let r = +this.get("Obstruction/Unit/@radius"); + let r = +struct.get("Obstruction/Unit/@radius"); if (x*x + y*y < r*r) { blocker = struct; diff --git a/binaries/data/mods/public/simulation/ai/petra/diplomacyManager.js b/binaries/data/mods/public/simulation/ai/petra/diplomacyManager.js index 48eca76745..6f77d0d9dc 100644 --- a/binaries/data/mods/public/simulation/ai/petra/diplomacyManager.js +++ b/binaries/data/mods/public/simulation/ai/petra/diplomacyManager.js @@ -357,7 +357,7 @@ PETRA.DiplomacyManager.prototype.lastManStandingCheck = function(gameState) if (request && request.status !== "allianceBroken") { if (request.status === "waitingForTribute") - PETRA.chatAnswerRequestDiplomacy(gameState, player, request.requestType, "decline"); + PETRA.chatAnswerRequestDiplomacy(gameState, playerToTurnAgainst, request.requestType, "decline"); request.status = request.status === "accepted" ? "allianceBroken" : "declinedRequest"; } // If we had sent this player a diplomacy request, just rescind it diff --git a/binaries/data/mods/public/simulation/ai/petra/headquarters.js b/binaries/data/mods/public/simulation/ai/petra/headquarters.js index d1b54846d0..a6ba0f746a 100644 --- a/binaries/data/mods/public/simulation/ai/petra/headquarters.js +++ b/binaries/data/mods/public/simulation/ai/petra/headquarters.js @@ -1575,7 +1575,7 @@ PETRA.HQ.prototype.buildDefenses = function(gameState, queues) { // Count all towers + wall towers. let numTowers = gameState.getOwnEntitiesByClass("Tower", true).length + gameState.getOwnEntitiesByClass("WallTower", true).length; - let towerLapseTime = this.saveResource ? (1 + 0.5 * numTowers) * this.towerLapseTime : this.towerLapseTime; + let towerLapseTime = this.saveResources ? (1 + 0.5 * numTowers) * this.towerLapseTime : this.towerLapseTime; if (numTowers < this.Config.Military.numSentryTowers && gameState.ai.elapsedTime > towerLapseTime + this.fortStartTime) { this.fortStartTime = gameState.ai.elapsedTime; @@ -1588,7 +1588,7 @@ PETRA.HQ.prototype.buildDefenses = function(gameState, queues) return; let numTowers = gameState.getOwnEntitiesByClass("StoneTower", true).length; - let towerLapseTime = this.saveResource ? (1 + numTowers) * this.towerLapseTime : this.towerLapseTime; + let towerLapseTime = this.saveResources ? (1 + numTowers) * this.towerLapseTime : this.towerLapseTime; if ((!numTowers || gameState.ai.elapsedTime > (1 + 0.1 * numTowers) * towerLapseTime + this.towerStartTime) && numTowers < 2 * this.numActiveBases() + 3 + this.extraTowers && numTowers < Math.floor(gameState.getPopulation() / 8) &&