enumDroid()

(info) Other great resources: Official JS API docs, Scripting Forum

enumDroid()

Returns an array of droid objects, optionally filtered to a specific player, droid type and looking player...

 

Syntax

var returnValue = enumDroid([player[, droidType[, viewer]]]);

Parameters

Parameter

Type

Mandatory

Description

Game version

player

Number

The ID number of the player who's droids you want to list.

Defaults to me.

3.1 Beta 1

droidType

Constant

The type of droid you want to list:

Default: DROID_ANY

3.1 Beta 1

viewer

Number

List droids that a specific player can see (eg. on their sensors), with the player specified by their player ID.

Defaults: -1 which means "don't filter based on viewer".

3.1 Beta 1

Return value

Value

Type

Description

Game version

<array>

Array

An array of Droid objects

3.1 Beta 1

[]

Array

If no matching droids are found, you get an empty array.

3.1 Beta 1

<error>

Error

If the player/viewer or droid type specified is incorrect, an error is thrown.

3.1 Beta 1

Notes

The enumDroid() function will not list droids that are embarked on transports – to list those, use enumCargo() instead.

In Warzone 3.1.0 and earlier, the function would not return combat engineers or cyborg mechanics when using the DROID_CONSTRUCT or DROID_REPAIR constants. Instead you have to pass in a cyborg-specific value on the droidType parameter:

Name:

 Combat Engineer

Construction Truck 

Cyborg Mechanic 

Repair Droid 

Icon:

droidType:

10

11

In addition, in 3.1.0 and earlier, super-cyborgs were classified as DROID_WEAPON instead of DROID_CYBORG.

In the early WZ 3.1 Beta releases, bug #3123 prevented scripts from getting lists of scavenger droids and structures. See scavengerPlayer for some ideas as to how to deal with that.

There have been several changes to the Droid objects that are returned by this function.

Examples

Get a list of all my droids
var myDroids = enumDroid();
Build an array of all enemy droids we can see
// for Warzone 3.1 RC3 or earlier, you'll need to define DROID_ANY // const DROID_ANY = 15;   var enemyDroids = [];   playerData.forEach(function(player, id) { if (!allianceExistsBetween(me, id)) { // enemy player enemyDroids = enemyDroids.concat(enumDroid(id, DROID_ANY, me)); } });