Skip to content

Parsable expressions

Romain Mondon-Cancel edited this page Nov 13, 2017 · 1 revision

Profile expressions

This section describes the profile lines that can be parsed by ARParser.

  • {class}="{profile_name}", for example rogue=Rogue_Subtlety_T21M: when parsed, creates a player of class {class} for the APL.
  • spec={spec}: sets the specialization of the player as {spec}; checks validity with {class}.
  • level={level}: sets the level of the player as {level}.
  • race={race}: sets the race of the player as {race}.
  • actions[.{action_list}][+]=: creates a new/append to existing action list the action specified.

Action executions

An action is composed of an execution (what to execute) with different optional properties, notable the if property describing the condition under which the execution should be executed. An execution also has specific conditions, as it usually is necessary to test whether the skill or item is usable to display it in AethysRotation.

  • {spell} or {item}: says that the player should cast the {spell} or use the {object}.
  • potion: ask the player to use the relevant potion; currently, it's defined at a player class or spec level.
  • run_action_list: runs the action list named after the name property; ends the APL at the end of the action list.
  • call_action_list: runs the action list named after the name property; continues the APL afterwards.

Action conditions

Action conditions require specific attention, as many expressions are defined at that level. Currently, ARParser handles the following ones:

  • cooldown.{spell}.ready: this will be parsed as S.{Spell}:IsReady().
  • cooldown.{spell}.remains: this will be parsed as S.{Spell}:CooldownRemainsP().
  • buff.{spell}.up: this will be parsed as Player:Buff({SpellBuff}).
  • buff.{spell}.remains: this will be parsed as Player:BuffRemains({SpellBuff}).
  • buff.{spell}.stacks: this will be parsed as Player:BuffStacks({SpellBuff}).
  • runic_power: this will be parsed as Player:RunicPower().
  • runic_power.deficit: this will be parsed as Player:RunicPowerDeficit().
  • talent.{spell}.enabled: this will be parsed as S.{Spell}:IsAvailable().
  • gcd: this will be parsed as Player:GCD().
  • charges_fractional: this will be parsed as S.BloodBoil:ChargesFractional().
  • rune.time_to_3: this will be parsed as Player:RuneTimeToX(3).
Clone this wiki locally