Перейти к содержимому

Advanced rotations (KRC)

Updated October 18, 2026

We recommend building rotations with an AI agent

It is much faster and more convenient than setting a rotation up by hand. The more advanced the AI agent, the closer the rotation matches your requirements on the first try. We recommend the latest Anthropic and OpenAI models with the reasoning level "Extra (xhigh)". How to do it: Building with an AI agent.

An advanced rotation is your own list of rules: which ability to press and when. KeyRota checks the rules in combat and presses the first button that fits. The format and the engine of these rotations are called KRC (KeyRota Customization).

Basic or advanced#

Blizzard (basic)Advanced (KRC)
Who picks the buttonThe game: Blizzard's suggestionYour rules
SetupNoneSlots, auras and rules: in the builder or from a file
SpecializationsAny damage (melee and ranged DPS) or tank specializationThe one the rotation is written for
Burst and target modeNot usedThe Burst and Targets buttons; the rules decide what they mean
When to chooseTo start quickly on any characterYou need an exact priority: DoTs, resource pooling, cooldowns in a burst window, your own multi-target logic

In the app's Rotation block the Blizzard profile comes first, your rotations below it, under "Your rotations". You can switch at any time while the rotation is stopped.

What a rotation is made of#

PartWhat it isHow many
SlotsThe rotation's buttons. Rotation slot N is slot N of the Better Assistant profile.up to 12
AurasYour buffs and your debuffs on the target, by spell ID. Rotation aura N is aura N of the Better Assistant list.up to 12
ResourcesPlayer and target health and the specialization's resources: energy, combo points, rage, mana and others. All values are percentages.per specialization
CombatThe number of enemies nearby and the distance to the target.2
TogglesThe quick settings panel buttons: target mode (two flags in rules: aoe and st), Burst, Healing / defense, Ground, Movement.6
RulesWhich slot to press and under which conditions. The order of the rules is the priority.unlimited

A rule is made of condition groups. A rule holds when at least one of its groups holds (OR), and a group holds when all of its conditions hold (AND). A rule without groups always holds.

KRC text
use Envenom when  # Envenom
	Combo_Points >= 70 and Envenom_Buff.down  # 5+ CP, no buff
	or
	Combo_Points >= 70 and Energy >= 70  # 5+ CP, plenty of energy
JSON
{
  "use": "Envenom",
  "name": "Envenom",
  "when": [
    {"all": ["Combo_Points >= 70", "Envenom_Buff.down"], "comment": "5+ CP, no buff"},
    {"all": ["Combo_Points >= 70", "Energy >= 70"], "comment": "5+ CP, plenty of energy"}
  ]
}

It reads: "Press Envenom if there are 5 or more combo points and no Envenom buff, or if there are 5 or more combo points and at least 70% energy". Why 5 combo points is 70 is explained in Resources.

How KeyRota chooses a button#

  1. Rules are checked from top to bottom, in list order.
  2. For each rule its groups are checked. If none holds, KeyRota moves on to the next rule.
  3. If the rule holds but its spell can't be used right now (cooldown, not enough resource, target too far, no target, spell not learned), KeyRota also moves on to the next rule. You don't need a condition for the slot's own readiness.
  4. The first rule that holds and whose spell can be used is chosen. The global cooldown (GCD) doesn't change the choice: a rule waiting for the end of the GCD stays chosen, and the rules below don't overtake it.
  5. If no rule fits: with "Ignore main icon" on, KeyRota waits; with it off, it presses the game's suggestion.

Waiting is normal. A rotation that pools energy, for example, often presses nothing for half a second or a second until there is enough energy for a rule above.

An unknown value never allows a rule#

Sometimes KeyRota doesn't know a value: an aura isn't read (its ID is not in the Better Assistant profile), there is no target (the target's health and distance are unknown), enemies weren't counted. A condition that reads an unknown value is false: X.up and X.down, TargetHP >= 50 and TargetHP < 50 alike. An unknown value can only forbid a rule, never allow it: better to skip a press than to press the wrong thing.

Tip

If a rule never fires, first check that every aura it reads is in the Better Assistant profile with the right ID. More in FAQ and troubleshooting.

When a button is pressed#

  • A normal spell (on the GCD) is pressed in the spell queue window at the very end of the GCD: the game casts it as soon as the GCD ends.
  • Slot flags change that: "Manual only (M)", "Channel (C)", "Off the GCD (O)", "In the queue window (Q)". What each does and how to combine them is in Slot flags.
  • Channels. While a channel is going, KeyRota presses nothing so as not to break it. During a cast KeyRota waits until only the queue window is left.
  • Your own presses. When you press an ability key yourself, KeyRota steps aside and doesn't fight you.

Quick start#

If KeyRota isn't installed yet, begin with the first steps.

  1. In KeyRota open Rotation — New — In the builder….
  2. On the General page choose the specialization and name the rotation.
  3. On the Slots page add the buttons and their spell IDs; on the Auras page, the buffs and debuffs the rules will read.
  4. On the Rules page add the rules in priority order.
  5. On the General page click "Build from slots and auras", then "Copy". In the game: /ba — the Profile tab — paste the string — Apply.
  6. Put the slot spells on your action bars and bind keys to them (a macro with #showtooltip works too).
  7. Click Save, choose the profile in the list and start the rotation with F1 (on macOS, ⌃⇧Space).

Every button, with a worked example, is in Rotation builder.

In this section#