Skip to content

CLASS


power

  • This condition returns the current amount of a specified power type for the player.
  • Power types are identified by their numeric ID (e.g., 0 for Mana, 1 for Rage, etc.).

Parameters

  • pType (NUMBER): The numeric ID of the power type.

Returns NUMBER

  • The current amount of the specified power type, or -1 if the power type is invalid.

Example:

{ACTION, "power(1) >= 50"}, -- Checks if Rage (ID 1) is >= 50
_A.DSL:Get("power")(1) >= 50
PLAYER:Power(1) >= 50

power.regen

  • This condition calculates and returns the power regeneration rate of the specified unit.

Parameters

  • target (UNIT, optional): The unit to check. Defaults to "player" if not specified in the DSL, though the function itself expects a target.

Returns NUMBER

  • The power regeneration rate of the target.

Example:

{ACTION, "power.regen >= 5"},
_A.DSL:Get("power.regen")("target") >= 5
PLAYER:PowerRegen() >= 5

shadoworbs

  • This condition returns the current amount of Shadow Orbs the target has.

Parameters

  • target (UNIT, optional): The unit to check. Defaults to "player".

Returns NUMBER

  • The current amount of Shadow Orbs.

Example:

{ACTION, "shadoworbs >= 3"},
_A.DSL:Get("shadoworbs")() >= 3
PLAYER:Shadoworbs() >= 3

alternate

  • This condition returns the current amount of Alternate power the target has.

Parameters

  • target (UNIT, optional): The unit to check. Defaults to "player".

Returns NUMBER

  • The current amount of Alternate power.

Example:

{ACTION, "alternate >= 1"},
_A.DSL:Get("alternate")() >= 1
PLAYER:Alternate() >= 1

darkforce

  • This condition returns the current amount of Dark Force power the target has.

Parameters

  • target (UNIT, optional): The unit to check. Defaults to "player".

Returns NUMBER

  • The current amount of Dark Force power.

Example:

{ACTION, "darkforce > 0"},
_A.DSL:Get("darkforce")() > 0
PLAYER:Darkforce() > 0

burningembers

  • This condition returns the current amount of Burning Embers the target has.

Parameters

  • target (UNIT, optional): The unit to check. Defaults to "player".

Returns NUMBER

  • The current amount of Burning Embers.

Example:

{ACTION, "burningembers >= 4"},
_A.DSL:Get("burningembers")() >= 4
PLAYER:Burningembers() >= 4

demonicfury

  • This condition returns the current amount of Demonic Fury the target has.

Parameters

  • target (UNIT, optional): The unit to check. Defaults to "player".

Returns NUMBER

  • The current amount of Demonic Fury.

Example:

{ACTION, "demonicfury >= 200"},
_A.DSL:Get("demonicfury")() >= 200
PLAYER:Demonicfury() >= 200

energy

  • This condition returns the current energy amount of the target.

Parameters

  • target (UNIT, optional): The unit to check. Defaults to "player".

Returns NUMBER

  • The current energy amount of the target.

Example:

{ACTION, "energy >= 60"},
_A.DSL:Get("energy")("target") >= 60
PLAYER:Energy() >= 60

energy.max

energy.max || energyMax

  • This condition returns the maximum energy amount of the target.

Parameters

  • target (UNIT, optional): The unit to check. Defaults to "player".

Returns NUMBER

  • The maximum energy amount of the target.

Example:

{ACTION, "energy.max >= 100"},
_A.DSL:Get("energy.max")("target") >= 100
PLAYER:EnergyMax() >= 100

energy.diff

energy.diff || energy.deficit || energydiff

  • This condition returns the difference between the maximum energy and the current energy of the target.

Parameters

  • target (UNIT, optional): The unit to check. Defaults to "player".

Returns NUMBER

  • The energy deficit (difference) of the target.

Example:

{ACTION, "energy.diff >= 20"},
_A.DSL:Get("energy.diff")("target") >= 20
PLAYER:EnergyDiff() >= 20

time.to.max

time.to.max || timetomax

  • This condition calculates the estimated time in seconds for the target's primary resource to reach its maximum value, based on current regeneration rate.

Parameters

  • target (UNIT, optional): The unit to check. Defaults to "player".

Returns NUMBER

  • The estimated time in seconds to reach maximum resource.

Example:

{ACTION, "time.to.max < 1"},
_A.DSL:Get("time.to.max")("target") < 1
PLAYER:TimeToMax() < 1

mana.raw

  • This condition returns the current mana of the target.

Parameters

  • target (UNIT, optional): The unit to check. Defaults to "player".

Returns NUMBER

  • The raw mana value of the target.

Example:

{ACTION, "mana.raw >= 400"},
_A.DSL:Get("mana.raw")("target") >= 400
PLAYER:ManaRaw() >= 400

mana

  • This condition returns the mana percentage of the target.

Parameters

  • target (UNIT, optional): The unit to check. Defaults to "player".

Returns NUMBER

  • The percentage of mana (0-100) of the target. Returns 0 if the unit has no mana pool.

Example:

{ACTION, "mana >= 80"},
_A.DSL:Get("mana")("target") >= 80
PLAYER:Mana() >= 80

insanity

  • This condition retrieves the current amount of Insanity power of the target.

Parameters

  • target (UNIT, optional): The unit to check. Defaults to "player".

Returns NUMBER

  • The current amount of Insanity power.

Example:

{ACTION, "insanity >= 80"},
_A.DSL:Get("insanity")("target") >= 80
PLAYER:Insanity() >= 80

ispet

ispet || isPet

  • This condition checks if the specified unit is a pet. This includes the player's pet, other players' pets, or specific creature types like non-combat pets, wild pets, critters, or totems.

Parameters

  • UNIT: The unit to check.

Returns BOOL

  • true if the unit is considered a pet, false otherwise.

Example:

{ACTION, "target.ispet"},
_A.DSL:Get("ispet")("target")
TARGET:Ispet()

focus

  • This condition returns the current focus amount of the target.

Parameters

  • target (UNIT, optional): The unit to check. Defaults to "player".

Returns NUMBER

  • The focus resource of the specified target.

Example:

{ACTION, "focus >= 40"},
_A.DSL:Get("focus")("target") >= 40
PLAYER:Focus() >= 40

focus.max

focus.max || focusMax

  • This condition retrieves the maximum focus resource of the target.

Parameters

  • target (UNIT, optional): The unit to check. Defaults to "player".

Returns NUMBER

  • The maximum focus resource of the target.

Example:

{ACTION, "focus.max > 100"},
_A.DSL:Get("focus.max")("target") > 100
PLAYER:FocusMax() > 100

runic.power

runic.power || runicpower

  • This condition calculates the Runic Power resource of the target.

Parameters

  • target (UNIT, optional): The unit to check. Defaults to "player".

Returns NUMBER

  • The Runic Power resource of the target.

Example:

{ACTION, "runic.power > 20"},
_A.DSL:Get("runic.power")("target") > 20
PLAYER:RunicPower() > 20

runes

  • This condition calculates the number of available runes for the player. It returns a fractional value if a rune is on cooldown (e.g., 5.5 means 5 runes are ready, and the next will be ready in 0.5 * 10 = 5 seconds).

Returns NUMBER

  • The number of available runes, including a fractional part for the next cooldown.

Example:

{ACTION, "runes > 4.5"}, -- True if 5 runes are ready, or 4 ready and the next one soon.
_A.DSL:Get("runes")() > 4.5
PLAYER:Runes() > 4.5

death.runes

death.runes || deathrunes

  • This condition calculates the number of Death Runes currently available to the player.

Returns NUMBER

  • The count of available Death Runes.

Example:

{ACTION, "death.runes >= 2"},
_A.DSL:Get("death.runes")() >= 2
PLAYER:DeathRunes() >= 2

totalActiveRunes

  • This condition calculates the total number of runes currently active (not on cooldown) for the player.

Returns NUMBER

  • The total count of active runes.

Example:

{ACTION, "totalActiveRunes == 6"},
_A.DSL:Get("totalActiveRunes")() == 6
PLAYER:TotalActiveRunes() == 6

rune.count

  • This condition returns the number of active runes of a specific type and the total number of active runes.
  • Rune types can be specified by name ("blood", "unholy", "frost", "death") or numeric ID (1-4).

Parameters

  • rune (STRING or NUMBER): The name or ID of the rune type.

Returns NUMBER, NUMBER

  • The count of active runes of the specified type.
  • The total number of active runes.

Example:

{ACTION, "rune.count(blood) >= 2"},
local bloodRunes, totalRunes = _A.DSL:Get("rune.count")(_, "blood")
bloodRunes >= 2
local bloodRunes, totalRunes = PLAYER:RuneCount("blood")
bloodRunes >= 2

maelstrom

  • This condition returns the amount of Maelstrom power on the target.

Parameters

  • target (UNIT, optional): The unit to check. Defaults to "player".

Returns NUMBER

  • The amount of Maelstrom power.

Example:

{ACTION, "maelstrom > 20"},
_A.DSL:Get("maelstrom")("target") > 20
PLAYER:Maelstrom() > 20

totem

  • This condition checks if a specific totem is currently active for the player.

Parameters

  • totem (STRING or NUMBER): The spell ID or name of the totem to check for.

Returns BOOL

  • true if the specified totem is currently active, false otherwise.

Example:

{ACTION, "totem(Flametongue Totem)"},
_A.DSL:Get("totem")(_, "Flametongue Totem")
PLAYER:Totem("Flametongue Totem")

totem.duration

  • This condition calculates the remaining duration (in seconds) of a specific totem.

Parameters

  • totem (STRING or NUMBER): The spell ID or name of the totem to check the duration for.

Returns NUMBER

  • The remaining duration of the specified totem in seconds, or 0 if the totem is not active.

Example:

{ACTION, "totem(Mana Spring Totem).duration < 0.5"},
_A.DSL:Get("totem.duration")(_, "Mana Spring Totem") < 0.5
PLAYER:TotemDuration("Mana Spring Totem") < 0.5

totem.time

  • This condition returns the maximum duration (in seconds) of a specific totem.

Parameters

  • totem (STRING or NUMBER): The spell ID or name of the totem to retrieve the maximum duration for.

Returns NUMBER

  • The maximum duration of the specified totem in seconds, or 0 if the totem is not found.

Example:

{ACTION, "totem(Mana Spring Totem).time == 60"},
_A.DSL:Get("totem.time")(_, "Mana Spring Totem") == 60
PLAYER:TotemTime("Mana Spring Totem") == 60

soulshards

  • This condition returns the current number of Soul Shards the target has.

Parameters

  • target (UNIT, optional): The unit to check. Defaults to "player".

Returns NUMBER

  • The current number of Soul Shards.

Example:

{ACTION, "soulshards >= 3"},
_A.DSL:Get("soulshards")("target") >= 3
PLAYER:Soulshards() >= 3

chi

  • This condition returns the current Chi the target has.

Parameters

  • target (UNIT, optional): The unit to check. Defaults to "player".

Returns NUMBER

  • The current number of Chi.

Example:

{ACTION, "chi >= 3"},
_A.DSL:Get("chi")("target") >= 3
PLAYER:Chi() >= 3

chi.max

chi.max || chiMax

  • This condition returns the maximum number of Chi the target can have.

Parameters

  • target (UNIT, optional): The unit to check. Defaults to "player".

Returns NUMBER

  • The maximum number of Chi.

Example:

{ACTION, "chi.max == 5"},
_A.DSL:Get("chi.max")("target") == 5
PLAYER:ChiMax() == 5

chi.diff

chi.diff || chi.deficit || chidiff

  • This condition calculates the deficit of Chi (maximum Chi - current Chi) for the target.

Parameters

  • target (UNIT, optional): The unit to check. Defaults to "player".

Returns NUMBER

  • The deficit of Chi.

Example:

{ACTION, "chi.diff > 2"},
_A.DSL:Get("chi.diff")("target") > 2
PLAYER:ChiDiff() > 2

form

  • This condition retrieves the current shapeshift form index that the player is in.

Returns NUMBER

  • The shapeshift form index, or 0 if the player is not in any form.

Example:

{ACTION, "form == 3"},
_A.DSL:Get("form")() == 3
PLAYER:Form() == 3

stance

  • This condition retrieves the index of the stance that the player is in. This is functionally similar to form.

Returns NUMBER

  • The index of the current stance, or 0 if not in a stance.

Example:

{ACTION, "stance == 2"},
_A.DSL:Get("stance")() == 2
PLAYER:Stance() == 2

lunar.power

lunar.power || lunarpower || astralpower

  • This condition retrieves the current amount of Lunar Power (Astral Power) that the target has.

Parameters

  • target (UNIT, optional): The unit to check. Defaults to "player".

Returns NUMBER

  • The amount of Lunar Power.

Example:

{ACTION, "lunar.power >= 60"},
_A.DSL:Get("lunar.power")("target") >= 60
PLAYER:LunarPower() >= 60

mushrooms

  • This condition counts the number of Wild Mushroom totems currently active for the player.

Returns NUMBER

  • The number of active Wild Mushroom totems (typically 0 to 3).

Example:

{ACTION, "mushrooms > 0"},
_A.DSL:Get("mushrooms")() > 0
PLAYER:Mushrooms() > 0

holy.power

holy.power || holypower

  • This condition retrieves the current amount of Holy Power that the target has.

Parameters

  • target (UNIT, optional): The unit to check. Defaults to "player".

Returns NUMBER

  • The amount of Holy Power.

Example:

{ACTION, "holy.power >= 3"},
_A.DSL:Get("holy.power")("target") >= 3
PLAYER:HolyPower() >= 3

rage

  • This condition retrieves the current amount of Rage that the target has.

Parameters

  • target (UNIT, optional): The unit to check. Defaults to "player".

Returns NUMBER

  • The amount of Rage.

Example:

{ACTION, "rage >= 50"},
_A.DSL:Get("rage")("target") >= 50
PLAYER:Rage() >= 50

rage.diff

rage.diff || rage.deficit || ragediff

  • This condition calculates the deficit of Rage (maximum Rage - current Rage) for the target.

Parameters

  • target (UNIT, optional): The unit to check. Defaults to "player".

Returns NUMBER

  • The deficit of Rage.

Example:

{ACTION, "rage.diff >= 15"},
_A.DSL:Get("rage.diff")("target") >= 15
PLAYER:RageDiff() >= 15

fury

  • This condition retrieves the current amount of Fury that the target has.

Parameters

  • target (UNIT, optional): The unit to check. Defaults to "player".

Returns NUMBER

  • The amount of Fury.

Example:

{ACTION, "fury >= 50"},
_A.DSL:Get("fury")("target") >= 50
PLAYER:Fury() >= 50

fury.diff

fury.diff || fury.deficit || furydiff

  • This condition calculates the deficit of Fury (maximum Fury - current Fury) for the target.

Parameters

  • target (UNIT, optional): The unit to check. Defaults to "player".

Returns NUMBER

  • The deficit of Fury.

Example:

{ACTION, "fury.diff >= 15"},
_A.DSL:Get("fury.diff")("target") >= 15
PLAYER:FuryDiff() >= 15

pain

  • This condition retrieves the current amount of Pain that the target has.

Parameters

  • target (UNIT, optional): The unit to check. Defaults to "player".

Returns NUMBER

  • The amount of Pain.

Example:

{ACTION, "pain >= 30"},
_A.DSL:Get("pain")("target") >= 30
PLAYER:Pain() >= 30

arcane.charges

arcane.charges || arcanecharges

  • This condition retrieves the current number of Arcane Charges that the target has.

Parameters

  • target (UNIT, optional): The unit to check. Defaults to "player".

Returns NUMBER

  • The current number of Arcane Charges.

Example:

{ACTION, "arcane.charges >= 4"},
_A.DSL:Get("arcane.charges")("target") >= 4
PLAYER:ArcaneCharges() >= 4

combo

combo || combo.points || combopoints

  • This condition retrieves the current number of Combo Points the player has on the specified target.

Parameters

  • target (UNIT): The target unit to check combo points against (e.g., "target").

Returns NUMBER

  • The current number of Combo Points.

Example:

{ACTION, "target.combo >= 4"},
_A.DSL:Get("combo")("target") >= 4
TARGET:Combo() >= 4

combo.max

combo.max || combomax

  • This condition returns the maximum number of Combo Points the player can have.

Returns NUMBER

  • The maximum number of Combo Points.

Example:

{ACTION, "combo.max == 5"},
_A.DSL:Get("combo.max")() == 5
PLAYER:ComboMax() == 5

combo.diff

combo.diff || combo.deficit || combodiff || combopoints.diff || combopoints.deficit || combopointsdiff

  • This condition calculates the deficit of Combo Points (maximum Combo Points - current Combo Points) the player has on the specified target.

Parameters

  • target (UNIT): The target unit to check combo points against.

Returns NUMBER

  • The deficit of Combo Points.

Example:

{ACTION, "target.combo.diff > 2"},
_A.DSL:Get("combo.diff")("target") > 2
TARGET:ComboDiff() > 2

warlock.minions

  • This condition returns the total number of active Warlock minions tracked by the system.

Returns NUMBER

  • The total number of active Warlock minions.

Example:

{ACTION, "warlock.minions > 2"},
_A.DSL:Get("warlock.minions")() > 2
PLAYER:WarlockMinions() > 2

warlock.empower

  • This condition returns the number of Warlock's minions that are currently empowered (e.g., by the Demonic Empowerment spell).

Returns NUMBER

  • The number of empowered Warlock minions.

Example:

{ACTION, "warlock.empower > 3"},
_A.DSL:Get("warlock.empower")() > 3
PLAYER:WarlockEmpower() > 3

warlock.empower.missing

  • This condition returns the number of Warlock's minions that are not currently empowered.

Returns NUMBER

  • The number of unempowered Warlock minions.

Example:

{ACTION, "warlock.empower.missing > 2"},
_A.DSL:Get("warlock.empower.missing")() > 2

```lua PLAYER:WarlockEmpowerMissing() > 2