Changeset View
Changeset View
Standalone View
Standalone View
binaries/data/mods/public/simulation/helpers/Commands.js
Show First 20 Lines • Show All 489 Lines • ▼ Show 20 Lines | for (let ent of data.entities) | ||||
++notUngarrisoned; | ++notUngarrisoned; | ||||
if (notUngarrisoned != 0) | if (notUngarrisoned != 0) | ||||
notifyUnloadFailure(player, cmd.garrisonHolder); | notifyUnloadFailure(player, cmd.garrisonHolder); | ||||
}, | }, | ||||
"unload-template": function(player, cmd, data) | "unload-template": function(player, cmd, data) | ||||
{ | { | ||||
var index = cmd.template.indexOf("&"); // Templates for garrisoned units are extended | |||||
if (index == -1) | |||||
return; | |||||
var entities = FilterEntityListWithAllies(cmd.garrisonHolders, player, data.controlAllUnits); | var entities = FilterEntityListWithAllies(cmd.garrisonHolders, player, data.controlAllUnits); | ||||
for (let garrisonHolder of entities) | for (let garrisonHolder of entities) | ||||
{ | { | ||||
var cmpGarrisonHolder = Engine.QueryInterface(garrisonHolder, IID_GarrisonHolder); | var cmpGarrisonHolder = Engine.QueryInterface(garrisonHolder, IID_GarrisonHolder); | ||||
if (cmpGarrisonHolder) | if (cmpGarrisonHolder) | ||||
{ | { | ||||
// Only the owner of the garrisonHolder may unload entities from any owners | // Only the owner of the garrisonHolder may unload entities from any owners | ||||
if (!IsOwnedByPlayer(player, garrisonHolder) && !data.controlAllUnits | if (!IsOwnedByPlayer(player, garrisonHolder) && !data.controlAllUnits | ||||
&& player != +cmd.template.slice(1,index)) | && player != +cmd.owner) | ||||
continue; | continue; | ||||
if (!cmpGarrisonHolder.UnloadTemplate(cmd.template, cmd.all)) | if (!cmpGarrisonHolder.UnloadTemplate(cmd.template, cmd.owner, cmd.all)) | ||||
notifyUnloadFailure(player, garrisonHolder); | notifyUnloadFailure(player, garrisonHolder); | ||||
} | } | ||||
} | } | ||||
}, | }, | ||||
"unload-all-by-owner": function(player, cmd, data) | "unload-all-by-owner": function(player, cmd, data) | ||||
{ | { | ||||
var entities = FilterEntityListWithAllies(cmd.garrisonHolders, player, data.controlAllUnits); | var entities = FilterEntityListWithAllies(cmd.garrisonHolders, player, data.controlAllUnits); | ||||
▲ Show 20 Lines • Show All 1,114 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator