diff --git a/binaries/data/mods/public/simulation/ai/petra/baseManager.js b/binaries/data/mods/public/simulation/ai/petra/baseManager.js index 796480f1be..5ae7ce5961 100644 --- a/binaries/data/mods/public/simulation/ai/petra/baseManager.js +++ b/binaries/data/mods/public/simulation/ai/petra/baseManager.js @@ -912,7 +912,7 @@ m.BaseManager.prototype.update = function(gameState, queues, events) for (var ent of this.buildings.values()) m.getBestBase(ent, gameState).assignEntity(ent, gameState); } - else + else if (gameState.ai.HQ.canBuildUnits) { this.assignRolelessUnits(gameState); this.reassignIdleWorkers(gameState); diff --git a/binaries/data/mods/public/simulation/ai/petra/headquarters.js b/binaries/data/mods/public/simulation/ai/petra/headquarters.js index 23108a516b..c7130b8ea4 100644 --- a/binaries/data/mods/public/simulation/ai/petra/headquarters.js +++ b/binaries/data/mods/public/simulation/ai/petra/headquarters.js @@ -264,8 +264,8 @@ m.HQ.prototype.init = function(gameState, queues, deserializing) this.canBuildUnits = true; if (!gameState.getOwnStructures().filter(API3.Filters.byClass("CivCentre")).length) { - var template = gameState.getTemplate(gameState.applyCiv("structures/{civ}_civil_centre")); - if (!template.available(gameState)) + var template = gameState.applyCiv("structures/{civ}_civil_centre"); + if (gameState.isDisabledTemplates(template) || !gameState.getTemplate(template).available(gameState)) { if (this.Config.debug > 1) API3.warn(" this AI is unable to produce any units"); @@ -2080,7 +2080,7 @@ m.HQ.prototype.update = function(gameState, queues, events) this.navalManager.update(gameState, queues, events); - if (this.Config.difficulty > 0) + if (this.Config.difficulty > 0 && (this.numActiveBase() > 0 || !this.canBuildUnits)) this.attackManager.update(gameState, queues, events); this.diplomacyManager.update(gameState, events);