UNIT
is
Parameters
- UNIT1: The first unit to compare.
- UNIT2: The second unit to compare.
Returns BOOL
- trueif the two units are the same,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT1.is(UNIT2)", UNIT1},
-- in Lua code
_A.DSL:Get("is")("UNIT1", "UNIT2")
-- Lua Mode
UNIT1:Is(UNIT2)
ingroup
Parameters
- UNIT: The unit to check for group membership.
Returns BOOL
- trueif the specified unit is in the player's party or raid group,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "ingroup", UNIT},
-- in Lua code
_A.DSL:Get("ingroup")("UNIT")
-- Lua Mode
UNIT:Ingroup()
incdmg
Parameters
- UNIT: The unit to calculate incoming damage for.
- seconds: The time frame in seconds to calculate incoming damage for (default is 3 seconds).
Returns NUMBER
- The total damage taken by the unit in the specified time frame, or 0 if the target doesn't exist.
Examples:
-- DSL Mode
{ACTION, "UNIT.incdmg(3) > 10000", UNIT},
-- in Lua code
_A.DSL:Get("incdmg")("UNIT", "3") > 10000
-- Lua Mode
UNIT:Incdmg(3) > 10000
incdmg.phys
Parameters
- UNIT: The unit for which to calculate incoming physical damage.
- seconds: The time frame in seconds to calculate incoming physical damage for (default is 3 seconds).
Returns NUMBER
- The total damage taken by the unit in the specified time frame, or 0 if the target doesn't exist.
Examples:
-- DSL Mode
{ACTION, "UNIT.incdmg.phys(3) > 10000", UNIT},
-- in Lua code
_A.DSL:Get("incdmg.phys")("UNIT", "3") > 10000
-- Lua Mode
UNIT:IncdmgPhys(3) > 10000
incdmg.magic
Parameters
- UNIT: The unit for which to calculate incoming magic damage.
- seconds: The time frame in seconds to calculate incoming magic damage for (default is 3 seconds).
Returns NUMBER
- The total damage taken by the unit in the specified time frame, or 0 if the target doesn't exist.
Examples:
-- DSL Mode
{ACTION, "UNIT.incdmg.magic(3) > 10000", UNIT},
-- in Lua code
_A.DSL:Get("incdmg.magic")("UNIT", "3") > 10000
-- Lua Mode
UNIT:IncdmgMagic(3) > 10000
boss
Parameters
- UNIT: The unit to check for boss status.
Returns BOOL
- trueif the unit is a boss,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT.boss", UNIT},
-- in Lua code
_A.DSL:Get("boss")("UNIT")
-- Lua Mode
UNIT:Boss()
elite
Parameters
- UNIT: The unit to check for elite classification.
Returns BOOL
- trueif the unit has an elite classification,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT.elite", UNIT},
-- in Lua code
_A.DSL:Get("elite")("UNIT")
-- Lua Mode
UNIT:Elite()
classification
Parameters
- UNIT: The unit to check for classification.
- classif: The classification string to compare with.- classif- worldboss - rareelite - elite - rare - normal - trivial - minus 
Returns BOOL
- trueif the unit's classification matches the given classif,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT.classification(rare)", UNIT},
-- in Lua code
_A.DSL:Get("classification")("UNIT", "rare")
-- Lua Mode
UNIT:Classification("rare")
id
Parameters
- UNIT: The unit to check for the expected ID.
- id: The expected ID to compare against.
Returns BOOL
- trueif the unit's ID matches the expected ID,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT.id(1589)", UNIT},
-- in Lua code
_A.DSL:Get("id")("UNIT", "1589")
-- Lua Mode
UNIT:Id(1589)
threat
Parameters
- UNIT: The unit to check for threat percentage towards the player.
Returns NUMBER
- The unit's threat percentage against the player. At 100% the player will become the primary target.
Examples:
-- DSL Mode
{ACTION, "UNIT.threat >= 80", UNIT},
-- in Lua code
_A.DSL:Get("threat")("UNIT") >= 80
-- Lua Mode
UNIT:Threat() >= 80
aggro
Parameters
- UNIT: The unit to check for aggro on the player.
Returns BOOL
- trueif the target has aggro on the player,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT.aggro", UNIT},
-- in Lua code
_A.DSL:Get("aggro")("UNIT")
-- Lua Mode
UNIT:Aggro()
moving
Parameters
- UNIT: The unit to check if is currently moving
Returns BOOL
- trueif the unit is moving,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT.moving", UNIT},
-- in Lua code
_A.DSL:Get("moving")("UNIT")
-- Lua Mode
UNIT:Moving()
target
Parameters
- UNIT1: The unit whose target will be checked.
- UNIT2: The unit to compare the target against.
Returns BOOL
- trueif the target of the specified unit1 matches the given unit2,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT1.target(UNIT2)", UNIT1},
-- in Lua code
_A.DSL:Get("target")("UNIT1", "UNIT2")
-- Lua Mode
UNIT1:Target(UNIT2)
isplayer
isplayer || player
Parameters
- UNIT: The unit to be checked.
Returns BOOL
- trueif the unit is a player-controlled unit,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT.isplayer", UNIT},
-- in Lua code
_A.DSL:Get("isplayer")("UNIT")
-- Lua Mode
UNIT:Isplayer()
inphase
Parameters
- UNIT: The unit to be checked for being in the same phase.
Returns BOOL
- trueif the unit is in the same phase as the player,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT.inphase", UNIT},
-- in Lua code
_A.DSL:Get("inphase")("UNIT")
-- Lua Mode
UNIT:Inphase()
exists
Parameters
- UNIT: The unit to be checked for existence.
Returns BOOL
- trueif the unit exists,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT.exists", UNIT},
-- in Lua code
_A.DSL:Get("exists")("UNIT")
-- Lua Mode
UNIT:Exists()
guid
Parameters
- UNIT: The unit for which to retrieve the GUID.
Returns STRING
- The GUID of the target, or nil if the target is not valid.
Examples:
-- DSL Mode
N/A
-- in Lua code
_A.DSL:Get("guid")("UNIT")
-- Lua Mode
UNIT.guid
or
UNIT:Guid()
visible
Parameters
- UNIT: The unit to check for visibility.
Returns BOOL
- trueif the unit is visible,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT.visible", UNIT},
-- in Lua code
_A.DSL:Get("visible")("UNIT")
-- Lua Mode
UNIT:Visible()
dead
Parameters
- UNIT: The unit to check for death or ghost state.
Returns BOOL
- trueif the unit is dead or a ghost,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT.dead", UNIT},
-- in Lua code
_A.DSL:Get("dead")("UNIT")
-- Lua Mode
UNIT:Dead()
alive
Parameters
- UNIT: The unit to check for being alive.
Returns BOOL
- trueif the unit is alive,- falseif it is dead or a ghost.
Examples:
-- DSL Mode
{ACTION, "UNIT.alive", UNIT},
-- in Lua code
_A.DSL:Get("alive")("UNIT")
-- Lua Mode
UNIT:Alive()
infront
Parameters
- UNIT: The unit to check if the player is facing.
Returns BOOL
- trueif the player is facing the unit,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT.infront", UNIT},
-- in Lua code
_A.DSL:Get("infront")("UNIT")
-- Lua Mode
UNIT:Infront()
infrontof
Parameters
- UNIT1: The unit that is checked to be in front.
- UNIT2: The unit to check if it is facing UNIT.
Returns BOOL
- trueif unit2 is facing unit1,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT1.infrontof(UNIT2)", UNIT1},
-- in Lua code
_A.DSL:Get("infrontof")("UNIT1", "UNIT2")
-- Lua Mode
UNIT1:Infrontof(UNIT2)
behind
Parameters
- UNIT: The unit to check if the player is behind.
Returns BOOL
- trueif player is behind the unit,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT.behind", UNIT},
-- in Lua code
_A.DSL:Get("behind")("UNIT")
-- Lua Mode
UNIT:Behind()
behindof
Parameters
- UNIT1: The unit to check if it is behind unit2.
- UNIT2: The reference unit.
Returns BOOL
- trueif unit1 is behind unit2,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT1.behindof(UNIT2)", UNIT1},
-- in Lua code
_A.DSL:Get("behindof")("UNIT1", "UNIT2")
-- Lua Mode
UNIT1:Behindof(UNIT2)
inConeOf
Parameters
- UNIT1: The unit to check if it is within the cone.
- UNIT2_ANGLE: The reference unit and the cone angle (optional, default angle is 180 degrees). Provide as a string in the format "unit2, angle".
Returns BOOL
- trueif unit1 is within the specified cone angle in front of unit2,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT1.inConeOf(UNIT2, 120)", UNIT},
-- in Lua code
_A.DSL:Get("inConeOf")("UNIT1", "UNIT2, 120")
-- Lua Mode
UNIT1:InConeOf(UNIT2, 120)
lastmoved
Parameters
- UNIT: The unit to check for movement.
Returns NUMBER
- The time in secondssince the unit was last moved, or0if the unit is not valid or has not moved.
Examples:
-- DSL Mode
{ACTION, "UNIT.lastmoved", UNIT},
-- in Lua code
_A.DSL:Get("lastmoved")("UNIT")
-- Lua Mode
UNIT:Lastmoved()
movingfor
Parameters
- UNIT: The unit to check for movement.
Returns NUMBER
- The time in secondsthat the unit has been continuously moving, or0if the unit is not valid or is not moving.
Examples:
-- DSL Mode
{ACTION, "UNIT.movingfor", UNIT},
-- in Lua code
_A.DSL:Get("movingfor")("UNIT")
-- Lua Mode
UNIT:Movingfor()
pvp
Parameters
- UNIT: The unit to check for PvP flag with the player.
Returns BOOL
- trueif the unit is flagged for PvP,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT.pvp", UNIT},
-- in Lua code
_A.DSL:Get("pvp")("UNIT")
-- Lua Mode
UNIT:Pvp()
friend
Parameters
- UNIT: The unit to check for friendly status.
Returns BOOL
- trueif the unit is friendly,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT.friend", UNIT},
-- in Lua code
_A.DSL:Get("friend")("UNIT")
-- Lua Mode
UNIT:Friend()
canassist
Parameters
- UNIT: The unit to check for assist eligibility.
Returns BOOL
- trueif the player can assist the unit,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT.canassist", UNIT},
-- in Lua code
_A.DSL:Get("canassist")("UNIT")
-- Lua Mode
UNIT:Canassist()
enemy
enemy || canattack
Parameters
- UNIT: The unit to check for enemy status or attack eligibility.
Returns BOOL
- trueif the unit is an enemy,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT.enemy", UNIT},
-- in Lua code
_A.DSL:Get("enemy")("UNIT")
-- Lua Mode
UNIT:Enemy()
range
- This condition checks the combat range between the player and a specified unit.
Parameters
- UNIT: The unit to measure combat range against.
- type(optional, default 1): The type of range to check (1 for melee spells, 2 for caster spells).
Returns NUMBER
- The combat range between the player and the unit. (999 if the range cannot be determined)
Examples:
-- DSL Mode
{ACTION, "UNIT.range(2) < 20", UNIT},
-- in Lua code
_A.DSL:Get("range")("UNIT", "2") < 20
-- Lua Mode
UNIT:Range(2) < 20
rangefrom
- This condition checks the combat range between two units.
Parameters
- UNIT1: The first unit to measure combat range from.
- UNIT2_type: A string containing the second unit and an (optional, default 1) (1 for melee spells, 2 for caster spells).
Returns NUMBER
- The combat range between the two units. (999 if the range cannot be determined)
Examples:
-- DSL Mode
{ACTION, "UNIT1.rangefrom(UNIT2, 2) < 20", UNIT},
-- in Lua code
_A.DSL:Get("rangefrom")("UNIT1", "UNIT2, 2") < 20
-- Lua Mode
UNIT1:Rangefrom(UNIT2, 2) < 20
distance
Parameters
- UNIT: The unit to measure distance against.
Returns NUMBER
- The distance between the player and the unit, or 999 if the distance cannot be determined.
Examples:
-- DSL Mode
{ACTION, "UNIT.distance < 20", UNIT},
-- in Lua code
_A.DSL:Get("distance")("UNIT") < 20
-- Lua Mode
UNIT:Distance() < 20
distancefrom
Parameters
- UNIT1: The first unit to measure distance from.
- UNIT2: The second unit to measure distance to.
Returns NUMBER
- The distance between the two units, or 999 if the range cannot be determined.
Examples:
-- DSL Mode
{ACTION, "UNIT1.distancefrom(UNIT2) < 20", UNIT},
-- in Lua code
_A.DSL:Get("distancefrom")("UNIT1", "UNIT2") < 20
-- Lua Mode
UNIT1:Distancefrom(UNIT2) < 20
level
Parameters
- UNIT: The unit whose level to retrieve.
Returns NUMBER
- The level of the unit, or -1if the level cannot be determined.
Examples:
-- DSL Mode
{ACTION, "UNIT.level >= 45", UNIT},
-- in Lua code
_A.DSL:Get("level")("UNIT") >= 45
-- Lua Mode
UNIT:Level() >= 45
combat
Parameters
- UNIT: The unit to check for combat status.
Returns BOOL
- trueif the unit is in combat,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT.combat", UNIT},
-- in Lua code
_A.DSL:Get("combat")("UNIT")
-- Lua Mode
UNIT:Combat()
role
Parameters
- UNIT: The unit whose role to retrieve.
Returns STRING
- The role assigned to the target unit: "TANK", "HEALER", "DAMAGER", or "UNKNOWN"if the role cannot be determined.
Examples:
-- DSL Mode
N/A
-- in Lua code
_A.DSL:Get("role")("UNIT") == "HEALER"
-- Lua Mode
UNIT.role == "HEALER"
or
UNIT:Role() == "HEALER"
hasrole
Parameters
- UNIT: The unit to check for the role.
- expectedRoleThe expected role to search for within the unit's role.- "TANK", "HEALER", "DAMAGER", or "UNKNOWN"
Returns BOOL
- trueif the unit has a role containing the expected name,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT.hasrole(TANK)", UNIT},
-- in Lua code
_A.DSL:Get("hasrole")("UNIT", "TANK")
-- Lua Mode
UNIT:Hasrole("TANK")
name
Parameters
- UNIT: The unit whose name to retrieve.
Returns STRING
- The name of the unit, or Unknownif the name cannot be determined.
Examples:
-- DSL Mode
N/A
-- in Lua code
_A.DSL:Get("name")("UNIT") == "Gul'dan"
-- Lua Mode
UNIT.name == "Gul'dan"
or
UNIT:Name() == "Gul'dan"
hasname
Parameters
- UNIT: The unit to check for the name.
- expectedNameThe expected name to search for within the unit's name.
Returns BOOL
- trueif the unit has a name containing the expected name,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT.hasname(Gul'dan)", UNIT},
-- in Lua code
_A.DSL:Get("hasname")("UNIT", "Gul'dan")
-- Lua Mode
UNIT:Hasname("Gul'dan")
creature.type
Parameters
- UNIT: The unit whose creature type to retrieve.
Returns STRING
- The - localizedcreature type of the unit, or- nilif the creature type cannot be determined.- enUS "Aberration","Beast","Critter","Demon","Dragonkin","Elemental","Gas Cloud","Giant","Humanoid","Mechanical","Non-combat Pet","Not specified","Totem","Undead","Wild Pet"
 
- enUS 
Examples:
-- DSL Mode
N/A
-- in Lua code
_A.DSL:Get("creature.type")("UNIT") ~= "Undead"
-- Lua Mode
UNIT:CreatureType() ~= "Undead"
hascreature.type
Parameters
- UNIT: The unit to check for the creature type.
- expectedTypeThe- localizedexpected creature type to compare with.
Returns BOOL
- trueif the unit has the expected creature type,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT.hascreature.type(Humanoid)", UNIT},
-- in Lua code
_A.DSL:Get("hascreature.type")("UNIT", "Humanoid")
-- Lua Mode
UNIT:HascreatureType("Humanoid")
class || hasclass
Parameters
- UNIT: The unit to check for the class.
- expectedClassThe expected class name to compare with.
Returns BOOL
- trueif the unit belongs to the expected class,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT.hasclass(WARRIOR)", UNIT},
-- or
{ACTION, "UNIT.class(WARRIOR)", UNIT},
-- in Lua code
_A.DSL:Get("hasclass")("UNIT", "WARRIOR")
-- or
_A.DSL:Get("class")("UNIT", "WARRIOR")
-- Lua Mode
UNIT:Hasclass("WARRIOR")
-- or
UNIT:Class("WARRIOR")
inmelee
Parameters
- UNIT: The unit to check for melee range.
Returns BOOL
- trueif the target unit is within melee range,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT.inmelee", UNIT},
-- in Lua code
_A.DSL:Get("inmelee")("UNIT")
-- Lua Mode
UNIT:Inmelee()
timetodie
timetodie || deadthin || ttd
Parameters
- UNIT: The unit for which to estimate time to death.
Returns NUMBER
- The estimated time to death in seconds. Returns a high value if is a dummy.
Examples:
-- DSL Mode
{ACTION, "UNIT.ttd > 8", UNIT},
-- in Lua code
_A.DSL:Get("ttd")("UNIT") > 8
-- Lua Mode
UNIT:Ttd() > 8
timetopercent
timetopercent || ttp
Parameters
- UNIT: The unit for which to estimate time to reach a specific health percentage.
- PERCENTAGE: The health percentage (0-100) to which you want to estimate the time. If not provided or invalid, defaults to 0%.
Returns NUMBER
- The estimated time to X percentage in seconds. Returns a high value if the calculation cannot be performed.
Examples:
-- DSL Mode
{ACTION, "UNIT.ttp(20) > 35", UNIT},
-- in Lua code
_A.DSL:Get("ttp")("UNIT", "20") > 35
-- Lua Mode
UNIT:Ttp(20) > 35
charmed
Parameters
- UNIT: The unit to check for being charmed.
Returns BOOL
- trueif the unit is charmed,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT.charmed", UNIT},
-- in Lua code
_A.DSL:Get("charmed")("UNIT")
-- Lua Mode
UNIT:Charmed()
isdummy
Parameters
- UNIT: The unit to check for being a dummy unit.
Returns BOOL
- trueif the unit is a dummy unit,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT.isdummy", UNIT},
-- in Lua code
_A.DSL:Get("isdummy")("UNIT")
-- Lua Mode
UNIT:Isdummy()
haste
Parameters
- UNIT: The unit for which to retrieve the spell haste percentage.
Returns NUMBER
- The spell haste percentageof the specified unit.
Examples:
-- DSL Mode
{ACTION, "UNIT.haste > 30", UNIT},
-- in Lua code
_A.DSL:Get("haste")("UNIT") > 30
-- Lua Mode
UNIT:Haste() > 30
connected
Parameters
- UNIT: The unit to check for being connected to the game world.
Returns BOOL
- trueif the specified unit is connected to the game world,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT.connected", UNIT},
-- in Lua code
_A.DSL:Get("connected")("UNIT")
-- Lua Mode
UNIT:Connected()
combat.time
Parameters
- UNIT: The unit to check for combat time duration.
Returns NUMBER
- The time duration in secondsfor which the specified unit has been in combat.
Examples:
-- DSL Mode
{ACTION, "UNIT.combat.time > 5", UNIT},
-- in Lua code
_A.DSL:Get("combat.time")("UNIT") > 5
-- Lua Mode
UNIT:CombatTime() > 5
los
Parameters
- UNIT: The unit to check for line of sight.
Returns BOOL
- trueif there is line of sight between the player character and the specified unit,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT.los", UNIT},
-- in Lua code
_A.DSL:Get("los")("UNIT")
-- Lua Mode
UNIT:Los()
losfrom
Parameters
- UNIT1: The first unit to check from.
- UNIT2: The second unit to check line of sight to.
Returns BOOL
- trueif there is line of sight between the two specified units,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT1.losfrom(UNIT2)", UNIT1},
-- in Lua code
_A.DSL:Get("losfrom")("UNIT1", "UNIT2")
-- Lua Mode
UNIT1:Losfrom(UNIT2)
hasloot
Parameters
- UNIT: The unit to check for loot availability.
Returns BOOL
- trueif the specified unit has loot that can be looted by the player character,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT.hasloot", UNIT},
-- in Lua code
_A.DSL:Get("hasloot")("UNIT")
-- Lua Mode
UNIT:Hasloot()
spec
Parameters
- UNIT: The unit for which to retrieve the specialization ID.
Returns NUMBER
- The specialization ID of the specified unit.
Examples:
-- DSL Mode
{ACTION, "UNIT.spec=73", UNIT},
-- in Lua code
_A.DSL:Get("spec")("UNIT")==73
-- Lua Mode
UNIT:Spec()==73
hasSpec
Parameters
- UNIT: The unit for which to check the specialization.
- expectedSpecId: The expected specialization ID.
Returns BOOL
- trueif the unit has the expected specialization ID,- falseotherwise.
Examples:
-- DSL Mode
{ACTION, "UNIT.hasSpec(73)", UNIT},
-- in Lua code
_A.DSL:Get("hasSpec")("UNIT", "73")
-- Lua Mode
UNIT:HasSpec(73)
