Versions Compared
compared with
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Comment:
Migrated to Confluence 5.3
Excerpt |
---|
Returns an array of all enemy player IDs, including scavengers, using caching for extra performance. |
Code
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
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
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
// build a list of all enemy defences var enemies = getEnemyPlayerIDs(); var defences = []; enemies.forEach(function(enemy) { defences = defences.concat(enumStruct(enemy,DEFENCE)); }); |
Div | ||
---|---|---|
| ||
AvailabilityRequires:
Backport to earlier versions with backport.scavengerPlayer.js version 0.3 or above. |
Div | ||
---|---|---|
| ||
See alsoRelated articles:
|