promotional bannermobile promotional banner

ClassicRotation

Highlights the ability to press now, the one coming after it, and situational buttons - for every class, at any level.

What it does

One addon, all nine Classic Era classes. No load-on-demand class modules and no spec detection, so it cannot fail with "class module disabled" on a low-level character.

  • Yellow glow - the ability to press now.
  • Orange glow - what comes next, shown ahead of time.
  • Blue glow - important things outside the rotation: cure poison / disease / curse, heal yourself, keep a self-buff up (aura, seal, aspect, armor, weapon imbue), summon or heal your pet, interrupt a cast, survival cooldown.
  • Faint purple glow - trinkets, potions, bandages, bombs, sharpening stones. A separate layer that never enters the main rotation.
  • Two icons under your character: the large one is the current step, the small one is the next step.

Looking ahead

State is not evaluated for "right now" but for the moment your character can actually act: shift = max(remaining GCD, remaining cast time). Energy and mana are projected forward by their real regeneration rate; cooldowns and aura durations are shifted with it. The highlight appears during the GCD instead of after it.

The next step is a second pass over the rotation, evaluated as if the current spell had already been cast: cost deducted, cooldown started, aura applied, combo points recalculated. Aura durations are learned from observation and persist between sessions.

The GCD is measured from probe spells in your spellbook rather than assumed from an event timer, so it does not drift.

Any level, any rank, any locale

Rotations are written against rank-1 spell IDs. On login, and whenever you learn something, the addon scans your spellbook and builds a "name to best known rank" map. Anything not learned yet is skipped and the priority falls through. Nothing to configure.

Buttons are matched by spell name, not by spell ID, so it does not matter which rank sits on your bar. Names are read from the client by ID, so every locale works, including Russian.

Positional abilities

Classic exposes no API for "am I behind the target", so Backstab, Ambush, Garrote, Shred and Ravage are gated by a combination of signals: holding aggro means the mob faces you; the client reporting "you must be behind your target" blocks the ability for a few seconds; a landed hit marks you as behind; changing target resets it. This is a heuristic, not a guarantee.

Supported action bars

Blizzard, Dominos, Bartender4, ElvUI and anything on LibActionButton, ButtonForge, Neuron, the stance bar, and macros.

Commands

  • /cr - toggle on / off
  • /cr state - what the addon sees right now: combo points, energy, GCD, "behind", current and next step, and whether the suggestion is actually on a bar
  • /cr buttons - every spell found on your bars
  • /cr next - next-step prediction
  • /cr icon, /cr lock, /cr size 64 - icons
  • /cr util - blue utility layer
  • /cr boost - trinkets, potions, bombs, racials
  • /cr scan - rescan spellbook and bars
  • /cr debug - diagnostics, including spell IDs the client does not recognise

Errors are never swallowed: the message goes to chat and is kept in /cr state.

Beta notice

This is an early build. The rogue rotation and the consumables layer are covered by an offline test suite; the other eight classes are a first pass. If an ability never lights up for you, run /cr debug and post the list of unrecognised spell IDs in the comments - that is exactly the information needed to fix it.

Credits

Bundles LibCustomGlow-1.0 (MIT, Benjamin Staneck, containing work by Hendrick "nevcairiel" Leppkes) and LibStub. No code from other rotation addons is included. Released under the MIT license.

Author

If the addon helps you, buy me a coffee - any donation is appreciated. PayPal: enosial@yandex.com

The ClassicRotation Team

profile avatar
  • 1
    Projects
  • 13
    Downloads
Donate