Ticket #3195: t3195_nomad_set_initial_units_to_passive_stance.patch

File t3195_nomad_set_initial_units_to_passive_stance.patch, 1.8 KB (added by elexis, 9 years ago)
  • binaries/data/mods/public/maps/random/unknown_nomad.json

     
    55        "Description" : "The unknown... Players start with only some citizen soldiers and females. [color=\"red\"]Warning: The starting resources should be set at least at Medium.[/color]",
    66        "BaseTerrain" : ["medit_sand_wet"],
    77        "BaseHeight" : -5,
    88        "Preview" : "unknown.png",
    99        "CircularMap" : true,
     10        "TriggerScripts": [
     11            "scripts/TriggerHelper.js",
     12            "random/unknown_nomad_triggers.js"
     13        ],     
    1014        "XXXXXX" : "Optionally define other things here, like we would for a scenario"
    1115    }
    1216}
  • binaries/data/mods/public/maps/random/unknown_nomad_triggers.js

     
     1Trigger.prototype.SetUnitsPassive = function()
     2{
     3    var cmpRangeManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_RangeManager);
     4    var numberOfPlayers = TriggerHelper.GetNumberOfPlayers();
     5    for (var i = 1; i < numberOfPlayers; ++i)
     6    {
     7        var playerEntities = cmpRangeManager.GetEntitiesByPlayer(i);
     8            for each (var entity in playerEntities)
     9            {
     10                var cmpUnitAI = Engine.QueryInterface(entity, IID_UnitAI);
     11                if (cmpUnitAI)
     12                    cmpUnitAI.SwitchToStance("passive");
     13            }
     14    }
     15};
     16
     17
     18var cmpTrigger = Engine.QueryInterface(SYSTEM_ENTITY, IID_Trigger);
     19cmpTrigger.DoAfterDelay(0, "SetUnitsPassive", {});