Fix AI's handling of buildRestriction distances following d0fc8ff67d
d0fc8ff67d
/ D2759 make buildRestriction distances take obstruction
sizes into account.
This requires AI adjustment, which wasn't done then.
Differential Revision: https://code.wildfiregames.com/D3364
This was SVN commit r24643.
This commit is contained in:
parent
e2ff38453f
commit
7f1ee23d88
@ -90,10 +90,9 @@ PETRA.createObstructionMap = function(gameState, accessIndex, template)
|
||||
{
|
||||
let obstructionRadius = template.obstructionRadius();
|
||||
if (obstructionRadius)
|
||||
minDist -= obstructionRadius.min;
|
||||
minDist += obstructionRadius.max;
|
||||
let fromClass = distance.FromClass;
|
||||
let cellSize = passabilityMap.cellSize;
|
||||
let cellDist = 1 + minDist / cellSize;
|
||||
let structures = gameState.getOwnStructures().filter(API3.Filters.byClass(fromClass));
|
||||
for (let ent of structures.values())
|
||||
{
|
||||
@ -102,7 +101,9 @@ PETRA.createObstructionMap = function(gameState, accessIndex, template)
|
||||
let pos = ent.position();
|
||||
let x = Math.round(pos[0] / cellSize);
|
||||
let z = Math.round(pos[1] / cellSize);
|
||||
map.addInfluence(x, z, cellDist, -255, "constant");
|
||||
let entRadius = ent.obstructionRadius();
|
||||
let dist = 1 + (minDist + (entRadius ? entRadius.max : 0)) / cellSize;
|
||||
map.addInfluence(x, z, dist, -255, "constant");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user