Overview
This event is called when your droids or structures are attacked.This event is useful for retreating damaged units, or repairing damage buildings, after an enemy attacks them.
The event is "throttled", which means that it won't be called for every single attack. If I understand the C++ source code correctly, Warzone has it's own clustering algorithm that groups your droids and structures in to clusters. When something in a cluster is attacked, the event will be triggered but then there is a short delay before any attacks on that cluster will trigger the event again.
Availability
Warzone 3.1 Beta 1 and above.
Syntax
function eventAttacked(victim, attacker) { // do stuff }
Parameters
Parameter | Type | Mandatory | Description | Game version |
---|---|---|---|---|
victim | Game object | Which of my things did the enemy attack? Either a Structure object or a Droid object. | 3.1 Beta 1 | |
attacker | Game object | What attacked me? Either a Structure object or a Droid object. | 3.1 Beta 1 |
Return value
Warzone does not process the event handler's return value.
Example
Work out who our main aggressors are
// make an array to count attacks by each player var attackers = new Array(playerData.length); // initialise values in array for (var i=0;i<attackers.length;i++) attackers[i] = 0; // define a numeric sort function attackers.numSort = function(a,b) { return a-b; } // now monitor attacks function eventAttacked(victim,attacker) { attackers[attacker.player] += 1; attackers.sort(attackers.numSort); console("The main aggressor is currently player #"+attackers[0]); }
See also
- bind() – monitor when stuff that doesn't belong to you gets destroyed
- Droids – summary of all API features relating to droids
- eventDestroyed() – monitor when your stuff gets destroyed
- Structures – summary of all API features relating to structures