diff --git a/binaries/data/mods/public/simulation/ai/petra/attackPlan.js b/binaries/data/mods/public/simulation/ai/petra/attackPlan.js index 9bdb83486c..b578de25c2 100644 --- a/binaries/data/mods/public/simulation/ai/petra/attackPlan.js +++ b/binaries/data/mods/public/simulation/ai/petra/attackPlan.js @@ -640,7 +640,7 @@ m.AttackPlan.prototype.assignUnits = function(gameState) return added; } - if (this.type === "Raid") + if (this.type == "Raid") { // Raid are fast cavalry attack: assign all cav except some for hunting let num = 0; @@ -699,10 +699,10 @@ m.AttackPlan.prototype.assignUnits = function(gameState) m.dumpEntity(ent); continue; } - if (this.type !== "Rush" && ent.getMetadata(PlayerID, "subrole") !== "idle") - continue; if (num++ < keep || numbase[baseID] < 5) continue; + if (this.type != "Rush" && ent.getMetadata(PlayerID, "subrole") != "idle") + continue; ent.setMetadata(PlayerID, "plan", plan); this.unitCollection.updateEnt(ent); added = true; diff --git a/binaries/data/mods/public/simulation/ai/petra/transportPlan.js b/binaries/data/mods/public/simulation/ai/petra/transportPlan.js index 5a182cc47b..3043fc771e 100644 --- a/binaries/data/mods/public/simulation/ai/petra/transportPlan.js +++ b/binaries/data/mods/public/simulation/ai/petra/transportPlan.js @@ -184,7 +184,9 @@ m.TransportPlan.prototype.removeUnit = function(gameState, unit) { let shipId = unit.getMetadata(PlayerID, "onBoard"); if (shipId == "onBoard") - return; // too late, already onBoard + return; // too late, already onBoard + else if (shipId !== undefined) + unit.stopMoving(); // cancel the garrison order unit.setMetadata(PlayerID, "transport", undefined); unit.setMetadata(PlayerID, "endPos", undefined); this.units.updateEnt(unit);