Other great resources: Official JS API docs, Scripting Forum

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Current »

Returns an array of all enemy player IDs, including scavengers, using caching for extra performance.

 

Code

const ENEMY_ID_LIST_TTL = 5000; // cache TTL (time to live) for getEnemyPlayerIDs() function
 
// getEnemyPlayerIDs() will return an array of enemy player IDs
var getEnemyPlayerIDs = (function() {
  var getIDs = function() {
    var list = (scavengers) ? [scavengerPlayer] : [];
    var player = maxPlayers;
    while (-1<--player) if (!allianceExistsBetween(me,player)) list.push(player);
    return list;
  }
  var TTL = gameTime + ENEMY_ID_LIST_TTL;
  var cache = getIDs();
  return function() {
    if (alliancesType == ALLIANCES && TTL < gameTime) { // refresh cache
      cache = getIDs();
      TTL = gameTime + ENEMY_ID_LIST_TTL;
    }
    return cache;
  }
})();

Example

// build a list of all enemy defences
var enemies = getEnemyPlayerIDs();
var defences = [];
enemies.forEach(function(enemy) {
  defences = defences.concat(enumStruct(enemy,DEFENCE));
});

Availability

Requires:

  • Warzone 3.2 and above.

 Backport to earlier versions with backport.scavengerPlayer.js version 0.3 or above.

See also

Related articles:

 

  • No labels