A Destruction Warlock coach that watches every cast you make, shows what the priority list wanted instead, and tells you why - rule by rule, source by source.
Contains newest rotations sourced from SimC, Raidbots and other sources
HARD DEPENDENCY - INSTALL THIS FIRST
https://www.curseforge.com/wow/addons/royalsw-classcoach-core
----
It shows what to press next, grades every cast you make against the best-known Destruction priority lists - Diabolist and Hellcaller, single target and AoE - and turns each fight into a cast-by-cast timeline you can go through afterwards. A training mode adds an imaginary boss that makes you move, interrupt and stop casting. Built for World of Warcraft: Midnight, patch 12.1.5.
This is the Destruction Warlock module of RoyalSW - ClassCoach: one core addon plus one module per spec. The module loads by itself when you play Destruction.
Information only. It never casts, never presses a button and never sends anything anywhere. It reads your own casts and tells you what the list says.
Opening it
-
/ccoach(or/classcoach,/rscc), the minimap button, the on-screen button, or the addon list on the minimap. - Minimap and on-screen button: left-click opens the window, right-click starts or stops training, drag moves them.
-
/ccoach helplists every command.
The helper
A small frame you can move, lock and scale:
- the spell to press next;
- the two spells after it;
- the reason the list gives, in one line;
- a state line: Soul Shards, to the fragment, Conflagrate charges, Backdraft, your Immolate or Wither (seconds left, or off), Diabolic Ritual and Demonic Art (Diabolist), Ruination, Infernal Bolt, Fiendish Cruelty, and Summon Infernal and Malevolence - up, or ready in how long. A
~marks a number the addon is estimating (see What the addon can see below).
The lists
Switch between two lists at any time:
- Optimal - SimulationCraft's Destruction list for Midnight Season 2, line for line: the single-target list, and from 2 targets the Diabolist or Hellcaller AoE list first.
- Basic - Icy Veins' Easy Mode for 12.1.5 (Motoko): fewer conditions, good while you learn the spec.
The module reads your talents and the 12.1 class set bonus (detected, or set it yourself), counts enemy nameplates for single target or AoE (or set it yourself), and has a pre-pull list (your demon, Grimoire of Sacrifice, Cataclysm, a precast Soul Fire, Immolate on a pack with Roaring Blaze, a precast Incinerate) and Method's moving list (Shadowburn with Fiendish Cruelty, Conflagrate, Wither, Rain of Fire). The Rotation tab shows the active list in full, with its sources.
The coach
Every Destruction cast you make is graded against the list at the moment you pressed it.
- A mistake shows at once, with what the list wanted and why. You choose what to see: notes, minor and major, or major only - and a sound on major mistakes if you want one.
- Minor: the list had something higher that you could have cast. Major: the list would not cast that spell there at all, or it broke a rule that costs a lot - a builder at 5 Soul Shards, whose shards are simply lost.
- The mistakes it names, each with a tip: Immolate / Wither refreshed before its pandemic window, your DoT left off the target, Conflagrate sitting on 2 charges, Conflagrate with Backdraft already up, Chaos Bolt below 4 shards (Hellcaller), Demonic Art left for a builder (Diabolist), Rain of Fire on too few targets (3 as Diabolist, 4 as Hellcaller, 5 in Easy Mode), Ruination left waiting, Summon Infernal pressed late.
- Your DoT is remembered per target, and the Diabolic Ritual cycle is followed from your casts (Overlord, Mother of Chaos, Pit Lord), corrected the moment Incinerate turns into Infernal Bolt or Chaos Bolt into Ruination.
- It also warns when you stop casting for 2 seconds (Always Be Casting), when Summon Infernal, Malevolence or Soul Fire sit ready while the list wants them, when Fiendish Cruelty has 5 seconds left, when your DoT has been off the target for 3 seconds, and when Conflagrate sits on full charges.
- Defensives, movement, utility, curses, potions and racials are never graded, nor is Channel Demonfire (it is not in SimulationCraft's list). A cast you cancel does not count.
The report
Every fight is graded from the pull for as long as the combat lasts, however long, and gets a report:
- % on priority and the fight's excellence, major / minor / notes, and idle time;
- your Destruction numbers: Summon Infernal used out of possible (and how long it sat ready), Chaos Bolts (and how many were Ruination), Shadowburns and Rains of Fire, Conflagrates, and your Immolate or Wither's uptime on your target;
- What to work on: your mistakes by kind, most frequent first, each with a tip;
- every mistake on its own row: the time, what you cast, what the list wanted and the list's reason. The same mistake made several times in a row is one row with a count.
The last 25 fights per character are kept, and a one-line summary goes to chat. When combat drops and comes back within a few seconds - a dummy letting go for a moment, the next pack pulled straight away - it stays one fight with one report (Settings: Join combats, 5 seconds unless you change it; Keep fights sets a minimum length if you want one).
Your rules
Settings > Rules (or /ccoach rules ) lists every line of the Destruction lists and every call the coach can make, each with its own switch:
- Turn a line off - Destruction #13: Chaos Bolt (Hellcaller: 4+ shards or Malevolence / Infernal; Diabolist: ritual 4+ s away), say - and the helper and the coach read the list as if that line were not there.
- Turn a call off - DoT refreshed too early, Rain of Fire on too few targets, Idle... - and the coach never makes it: the cast counts as right, and the timeline says the call was off.
- Hover a line for the rule in full, with SimulationCraft's own words. One button turns everything back on.
The timeline
Every fight, cast by cast.
- Excellence graph. Each cast scores 100 when it was what the list wanted, 50 when the list ranked it lower, and 0 when the list would not cast it there. Idle gaps and cooldowns left waiting count as a cast too. The bold Form line drops at every mistake and climbs back as you recover; the thin Overall line is your running average and ends on the fight's excellence. Every mistake has a marker.
- What you cast, and what you should have. Under the graph: every cast you made, at its moment, and under each mistake the spell the list wanted instead.
- Hover anything for the full story: you cast this, the list wanted that,
- because of the numbers at that moment (4.5 Soul Shards, Backdraft x1...),
- by these rules: the line the list followed (Destruction #4 - No Backdraft and room for shards: Conflagrate), where your spell stood in the list and why it lost, and the coach's own rule,
- from these sources: SimulationCraft, with its action line quoted word for word, Icy Veins, Method, or the game's own spell data.
- Mouse wheel zooms, drag pans, right-click shows the whole fight, and the buttons jump from mistake to mistake. Click a mistake in the report to land on it in the timeline.
Training
Press Start and hit a training dummy. The Proctor, an imaginary boss, interrupts your rotation at random:
- Move! (Leyline Rupture) - get moving within 1.5 seconds, keep moving, and keep casting: Conflagrate, Shadowburn, Rain of Fire and Wither;
- Interrupt! (Mind Lash) - Spell Lock the fake cast before it finishes: your Felhunter's, through Command Demon, or your own after Grimoire of Sacrifice;
- Stop casting! (Reflective Ward) - be done casting before the ward goes up, cast nothing under it, and resume right after.
Every drill is scored on your reaction time and on how fast you get back to your rotation. Pick a calm, normal or intense pace; drills can also run out of combat for movement practice. Nothing happens in the game itself.
What the addon can see (12.x)
In combat the game hides most buffs and cooldowns from addons. ClassCoach reads everything that stays readable - your casts; Fiendish Cruelty (Shadowburn lights up); Infernal Bolt and Ruination (Incinerate and Chaos Bolt turn into them); the target dropping below 20% (Shadowburn becomes usable); and Soul Shards whenever the game lets an addon read them. Your DoT's timer, Diabolic Ritual, Demonic Art and the cooldown timers are counted from your own casts when they are hidden; a ~ marks an estimate. Other targets' DoTs cannot be seen: after a Conflagrate (Roaring Blaze) or a Cataclysm they are taken as spread. /ccoach sensors shows what is being read live right now.
The window and the buttons
- Six tabs: Coach, Timeline, Training, Settings (General and Rules), Rotation and Credits.
- Resizable: drag the grip in the bottom-right corner, and the graph, the report and the cast strip use the room. Right-click the grip for the default size. Size and position are remembered.
- A minimap button, and an on-screen button for UIs that hide minimap buttons. Either one can be turned off in Settings.
Commands
/ccoach (also /classcoach , /rscc ): help , report , timeline , rules , train [start|stop] , drill move|interrupt|stop , list optimal|basic , targets auto|single|aoe , lock , unlock , scale 0.5-2 , on , off , alerts , minimap , button [lock|unlock|reset] , sensors , modules , debug .
Good to know
- Two folders make the Destruction coach:
RoyalSW-ClassCoach(the core) andRoyalSW-ClassCoach_DestructionWarlock(this module). Keep both. - Trinket, potion and racial timing, Power Infusion, fight length and time to die, spells still in flight, and which target Havoc should go on are not part of the lists: SimulationCraft uses them, but an addon cannot know them.
- Automatic target counting reads enemy nameplates, so keep them on.

