Index: binaries/data/mods/public/simulation/ai/common-api/entity.js =================================================================== --- binaries/data/mods/public/simulation/ai/common-api/entity.js +++ binaries/data/mods/public/simulation/ai/common-api/entity.js @@ -233,7 +233,8 @@ return { "max": +this.get("Attack/" + type +"/MaxRange"), - "min": +(this.get("Attack/" + type +"/MinRange") || 0) + "min": +(this.get("Attack/" + type +"/MinRange") || 0), + "elevationBonus": +(this.get("Attack/" + type + "/ElevationBonus") || 0) }; }, Index: binaries/data/mods/public/simulation/ai/petra/headquarters.js =================================================================== --- binaries/data/mods/public/simulation/ai/petra/headquarters.js +++ binaries/data/mods/public/simulation/ai/petra/headquarters.js @@ -2475,7 +2475,8 @@ this.turnCache.firingStructures = gameState.updatingCollection("diplo-FiringStructures", API3.Filters.hasDefensiveFire(), gameState.getEnemyStructures()); for (let ent of this.turnCache.firingStructures.values()) { - let range = radius + ent.attackRange("Ranged").max; + let attack = ent.attackRange("Ranged"); + let range = radius + attack.max + attack.elevationBonus; if (API3.SquareVectorDistance(ent.position(), pos) < range*range) return true; }