AbilityBook

AbilityBook is a pre-defined Lua table inside the client that can be used to get information about the various Spells a character has or to activate/cast Spells in the game world. Most Addons rely on this table when they are dealing with casting or tracking Abilities. Examples are AuraMastery and WatcherEx. The table also contains some functions related to Augmentation of characters and the various states they can be in.

Enumerations
The AbilityBook table comes with a set of Enumerations, representing several values used by the functions of this Table and the game to check conditions.

The code snippets are examples of the usage, using the GeminiConsole.

CodeEnumEldanAvailability
Represents the availability of of Eldan Augmentation.

Values

 * Activated: 3
 * Inaccessible: 1
 * Inactivated: 2
 * Unavaialble: 0

Code example
-- Calling the Enumeration, reveals it values used by the Client. inspect AbilityBook.CodeEnumEldanAvailability { Activated = 3, Inaccessible = 1, Inactivated = 2, Unavailable = 0 }

-- Using the names of the Enumeration returns their numeric value, making code more understandable. inspect AbilityBook.CodeEnumEldanAvailability.Activated 3

CodeEnumSpecConstant
Represents the maximum allowed of "specs" a player can have.

Values

 * MaxNumSpecs: 4

Code example
-- Calling the Enumeration, reveals it values used by the Client inspect AbilityBook.CodeEnumSpecConstant { MaxNumSpecs = 4 }

-- Using the name of the Enumeration returns their numeric value, making code more understandable. inspect AbilityBook.CodeEnumSpecConstant.MaxNumSpecs 4

CodeEnumSpecError
Represents the various "errors" that can happen with a spec on a player.

Values

 * InCombat: 3
 * IndexLocked: 5
 * InvalidIndex: 1
 * InvalidPlayer: 4
 * InVoid: 7
 * NoChange: 2
 * Ok: 0
 * PvPRestricted: 6

Code examples
-- Calling the Enumeration reveals it values used by the Client inspect AbilityBook.CodeEnumSpecError { InCombat = 3, IndexLocked = 5, InvalidIndex = 1, InvalidPlayer = 4, InVoid = 7, NoChange = 2, Ok = 0, PvPRestricted = 6 }

-- Using the name of the Enumeration returns their numeric value, making code more understandable. inspect AbilityBook.CodeEnumSpecError.InVoid 7

Functions
Functions can be called on the table to activate specific behaviour in the Client, responding on events or setting up configurations.

ActivateSpell
Activates the Spell in the client with the matching ID.

Discussion: So far all this does is remove the spell from your LAS.....

Parameters

 * idSpell: The identifier of the spell.
 * bActive: Boolean indicating whether the spell is currently active.

Code example
Back to Index