From ebd2cab618aec31fd7ba3b35401c047d43803541 Mon Sep 17 00:00:00 2001 From: mehmed-faheim-arslan Date: Mon, 18 May 2026 17:53:33 +0100 Subject: [PATCH] changed alliedEntities to entities and used updatePosition. notifyOrderFailure excludes set/unset rallypoints on allied buildings --- binaries/data/mods/public/gui/session/unit_actions.js | 4 ++-- .../data/mods/public/simulation/components/GuiInterface.js | 7 ++----- binaries/data/mods/public/simulation/helpers/Commands.js | 6 +++--- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/binaries/data/mods/public/gui/session/unit_actions.js b/binaries/data/mods/public/gui/session/unit_actions.js index c7bfd923f2..e25932e7ad 100644 --- a/binaries/data/mods/public/gui/session/unit_actions.js +++ b/binaries/data/mods/public/gui/session/unit_actions.js @@ -1120,7 +1120,7 @@ var g_UnitActions = Engine.PostNetworkCommand({ "type": "set-rallypoint", - "alliedEntities": selection, + "entities": selection, "x": position.x, "z": position.z, "data": action.data, @@ -1348,7 +1348,7 @@ var g_UnitActions = { Engine.PostNetworkCommand({ "type": "unset-rallypoint", - "alliedEntities": selection + "entities": selection }); // Remove displayed rally point diff --git a/binaries/data/mods/public/simulation/components/GuiInterface.js b/binaries/data/mods/public/simulation/components/GuiInterface.js index 6c887dbb20..8146d034e9 100644 --- a/binaries/data/mods/public/simulation/components/GuiInterface.js +++ b/binaries/data/mods/public/simulation/components/GuiInterface.js @@ -1131,13 +1131,10 @@ GuiInterface.prototype.OnUpdate = function() continue; const positions = cmpRallyPoint.GetPositions(player); - if (!positions.length) - continue; // Update renderer positions so the path follows moving targets. - cmpRallyPointRenderer.SetPosition(new Vector2D(positions[0].x, positions[0].z)); - for (let i = 1; i < positions.length; i++) - cmpRallyPointRenderer.AddPosition(new Vector2D(positions[i].x, positions[i].z)); + for (let i = 0; i < positions.length; i++) + cmpRallyPointRenderer.UpdatePosition(i, new Vector2D(positions[i].x, positions[i].z)); } }; diff --git a/binaries/data/mods/public/simulation/helpers/Commands.js b/binaries/data/mods/public/simulation/helpers/Commands.js index f64cf13ba8..48b7f19ee5 100644 --- a/binaries/data/mods/public/simulation/helpers/Commands.js +++ b/binaries/data/mods/public/simulation/helpers/Commands.js @@ -434,7 +434,7 @@ var g_Commands = { "set-rallypoint": function(player, cmd, data) { - for (const ent of (cmd.alliedEntities || [])) + for (const ent of (cmd.entities || [])) { if (!IsOwnedByPlayerOrMutualAlly(ent, player)) continue; @@ -453,7 +453,7 @@ var g_Commands = { "unset-rallypoint": function(player, cmd, data) { - for (const ent of (cmd.alliedEntities || [])) + for (const ent of (cmd.entities || [])) { if (!IsOwnedByPlayerOrMutualAlly(ent, player)) continue; @@ -925,7 +925,7 @@ function ProcessCommand(player, cmd) "controlAllUnits": cmpPlayer.CanControlAllUnits() }; - if (cmd.entities) + if (cmd.entities && cmd.type !== "set-rallypoint" && cmd.type !== "unset-rallypoint") data.entities = FilterEntityList(cmd.entities, player, data.controlAllUnits); // TODO: queuing order and forcing formations doesn't really work.