Index: binaries/data/mods/public/simulation/ai/common-api/entitycollection.js =================================================================== --- binaries/data/mods/public/simulation/ai/common-api/entitycollection.js +++ binaries/data/mods/public/simulation/ai/common-api/entitycollection.js @@ -153,6 +153,13 @@ return this; }; +m.EntityCollection.prototype.moveToRange = function(x, z, min, max, queued) +{ + queued = queued || false; + Engine.PostCommand(PlayerID,{"type": "walk-to-range", "entities": this.toIdArray(), "x": x, "z": z, "min": min, "max": max, "queued": queued }); + return this; +}; + m.EntityCollection.prototype.attackMove = function(x, z, targetClasses, queued) { queued = queued || false; Index: binaries/data/mods/public/simulation/ai/petra/attackPlan.js =================================================================== --- binaries/data/mods/public/simulation/ai/petra/attackPlan.js +++ binaries/data/mods/public/simulation/ai/petra/attackPlan.js @@ -1154,7 +1154,7 @@ return false; } this.state = "walking"; - this.unitCollection.move(this.path[0][0], this.path[0][1]); + this.unitCollection.moveToRange(this.path[0][0], this.path[0][1], 0, 15); } else { @@ -1752,7 +1752,7 @@ { this.path.shift(); if (this.path.length) - this.unitCollection.move(this.path[0][0], this.path[0][1]); + this.unitCollection.moveToRange(this.path[0][0], this.path[0][1], 0, 15); else { if (this.Config.debug > 1) @@ -1865,7 +1865,7 @@ if (ent.getMetadata(PlayerID, "role") === "attack") ent.stopMoving(); if (withdrawal) - ent.move(rallyPoint[0], rallyPoint[1]); + ent.moveToRange(rallyPoint[0], rallyPoint[1], 0, 15); this.removeUnit(ent); } } Index: binaries/data/mods/public/simulation/ai/petra/transportPlan.js =================================================================== --- binaries/data/mods/public/simulation/ai/petra/transportPlan.js +++ binaries/data/mods/public/simulation/ai/petra/transportPlan.js @@ -317,7 +317,7 @@ ent.garrison(ship, true); } else // wait for the ship - ent.move(self.boardingPos[shipId][0], self.boardingPos[shipId][1]); + ent.moveToRange(self.boardingPos[shipId][0], self.boardingPos[shipId][1], 0, 15); } else self.nTry[ent.id()] = 0;