EWE Cooldown Planner

Plan, assign and broadcast raid cooldowns for MoP Classic 10-man with pop-up alerts — set-and-forget for raid members.

File Details

EWECooldownPlanner.zip

  • R
  • May 7, 2026
  • 85.31 KB
  • 8
  • 5.5.4
  • MoP Classic

File Name

EWECooldownPlanner_22.zip

Supported Versions

  • 5.5.4

v0.11.4

Throne of Thunder boss spell IDs refreshed across all 12 bosses. Old IDs from MoP-original (which differ from MoP Classic in many cases) replaced with verified Classic values. Cast triggers should now fire correctly on Jin'rokh, Horridon, Council of Elders, Tortos, Megaera, Ji-Kun, Durumu, Primordius, Dark Animus, Iron Qon, Twin Consorts, Lei Shen, and Ra-den.

Encounter-end usage report now player-specific. Two numbers shown side by side:

Encounter end: 4/4 yours (100%)  17/22 total (77%). Victory!

The "yours" count is reliable — your client always sees your own casts. The "total" is best-effort (your client only sees casts from players in your zone/group). Together they let you check both your own performance and the rough raid-wide picture without false-failures from out-of-range members.

v0.11.3

Scrolling fixed for large assignment lists. Profiles with 50+ assignments only scrolled to row ~50 because the row pool was a fixed array. The pool now grows on demand and the scroll-child height is recalculated each refresh. Megaera-sized lists (80+ assignments) work properly now.

/cdp learn — capture real boss spell IDs from the live client. Pull the boss, fight ~30s, run the command. You'll see every boss cast the addon observed during the encounter, with a green check if it matches the DB and an orange ? if it's an unknown ID. More reliable than scraping IDs from external sources, since the live client always knows the real ID.

Megaera Rampage / Cinders patched to verified MoP Classic IDs (Rampage 139458, Cinders 139836). Previous values were from MoP-original.

Addon-users popup now anchors to the right of the main planner window instead of centring on screen.

Demoralizing Banner moved from Utility to Defensive with corrected description: it's a 10% raid-wide damage taken reduction, not an enemy attack-speed slow.

Anti-Magic Zone fixed for MoP Classic. Was using the WotLK spell ID (51052), now uses the correct MoP Classic talent ID (145629) with 3s duration and 40% magic damage reduction for the raid.

Expel Harm removed from the Monk CD list — it's a baseline ability with a short cooldown, not a planned raid CD.

v0.11.2

Buff durations everywhere. Every class cooldown label now shows the buff duration in seconds, matching the format used for consumables (e.g. "Kafa Press (+4k Haste, 25s)"). Spec-specific durations noted inline:

  • Berserk (Feral 15s / Guard 10s)
  • Survival Instincts (Feral 6s / Guard 12s)
  • Guardian of Ancient Kings (Prot 12s / Holy/Ret 30s)

Makes raid planning much easier — see at a glance whether Shield Wall covers the whole damage window or you need to chain something else.

Trinket icon fixed. The "Any Trinket (on-use)" generic CD added in v0.11.1 used a bad texture path and rendered as a blank square.

v0.11.1

Header layout cleanup. The Auto-sync checkbox in the header was a duplicate of the toggle that lives in the gear-icon settings popup. Removed. Settings/Users icons now sit in a clearly-separated cluster left of the action buttons (Export / Import / Clear).

Generic Trinket cooldown. New "Any Trinket (on-use)" virtual CD, joining Defensive, Personal Heal, Offensive, and Kick. Default 60s — the standard MoP on-use trinket internal cooldown.

Personal mode (Settings → Mode → Personal mode, or /cdp personal). Opt out of all raid-leader coordination:

  • Synced data from a real raid leader is ignored — your own assignments always fire.
  • Auto-broadcast is suppressed regardless of group/leader state, so you can't accidentally push your assignments out.

This makes the addon usable as a personal CD manager for someone planning their own cooldowns in a raid (or solo) where the rest of the group doesn't run the addon. The default behaviour is unchanged: personal mode is off by default. When personal mode is on, a small "• personal mode" indicator appears under the title bar.

v0.11.0 — Stability & Cleanup

Pruned diagnostic tooling that piled up during 0.10.x debugging. /cdp paranoid removed (was for a long-fixed CLEU argument bug). /cdp trace defaults to OFF. /cdp diag output trimmed: removed redundant hint lines, added a section listing learned encounter-ID remaps. ID-remap announcements now print only the first time a given client-fired ID is seen mismatched — silent on subsequent pulls.

Help text reorganised by category. Settings popup gained an Auto-Sync toggle.

Bugfix: pre-encounter profile selection wasn't being restored after wipes if the encounter ended via combat-out rather than ENCOUNTER_END.

v0.10.5

Self-healing encounter ID mapping. Hardcoded encounter IDs proved unreliable across patches and versions of MoP Classic — Dark Animus was the canary, where the client fires ID 1576 but our records had it as 1589. The encounter started but had no assignments because they were stored under the wrong internal ID.

The fix has three parts:

  1. Direct correction for Dark Animus (1589 → 1576).
  2. Auto-migration of stored assignments under old IDs to their new IDs at login. Existing planner data isn't lost.
  3. Self-healing remap when ENCOUNTER_START arrives with an ID we don't recognise but the encounter name matches one we know. Any other wrong IDs in our table will fix themselves on the first pull.

v0.10.4

Verbose tracing of the auto-start path for diagnosing "addon doesn't fire on this boss" reports. Use /cdp trace to enable; prints the step-by-step state of PLAYER_REGEN_DISABLED → match check → fallback start.

InCombatLockdown() (which only reports the Blizzard secure-action lockout window) replaced with UnitAffectingCombat("player") (which reports actual combat state) inside the encounter-detection retry loop.

v0.10.3

Encounter-match retries for several seconds, not just twice. v0.10.0 only re-checked the boss-target match at combat-enter and 0.5s later. On encounters where the boss frame populates late — Dark Animus is the worst offender, since the actual boss only awakens after Anima Golems are pulled, but ranged pulls or hunter-MD scenarios can also delay the frame on regular bosses — both checks could miss it and the timeline never started.

The retry window is now 6 seconds (12 attempts at 0.5s each). The first time MatchesEncounter accepts the current target or any boss frame, the encounter timeline starts.

v0.10.2

Encounter-match fix for multi-boss and add-driven encounters. v0.10.0's "no CDs on trash" fix was too strict for some encounters where the engaged target's name doesn't match the encounter display name — most notably Dark Animus, where you fight Anima Golems before the actual Dark Animus boss awakens. The match check has a new ENCOUNTER_ALIASES table covering:

  • Dark Animus: Anima Golem variants
  • Council of Elders: Frost King Malakk, Sul, Mar'li, Kazra'jin
  • Spirit Kings: Qiang, Subetai, Meng, Zian
  • Stone Guard: the four named Guardian variants
  • Twin Consorts: Lu'lin, Suen
  • Wind Lord Mel'jarak: the various add types
  • Fallen Protectors: Rook Stonetoe, He Softfoot, Sun Tenderheart
  • Kor'kron Dark Shaman: Wavebinder Kardris, Earthbreaker Haromm
  • Spoils of Pandaria: the various crate-spawned mobs
  • Paragons of the Klaxxi: all 9 paragons

If you spot another encounter where CDs don't auto-start, run /cdp diag while engaged — it now prints the boss-frame names, the current target, and whether the match accepts them.

v0.10.1

Hotfix release rolled into 0.10.2.

v0.10.0

No more CDs firing on trash and world mobs. The auto-start path used to trigger on any combat (PLAYER_REGEN_DISABLED), which meant if you had a boss profile selected, every random pull on the way to the boss would start the encounter timeline. The only workaround was to keep an empty profile selected when not on the boss.

The fix: before starting the encounter timeline, the addon now checks whether one of the boss frame slots (boss1boss5) or the current target actually matches the selected encounter's name. Trash mobs and world mobs don't populate boss frames, so they fail this check and combat starts cleanly without alerts. If a pull-timer is active, the check is skipped — the user explicitly said "we're pulling", so we trust them.

Class CD list trimmed further based on real raid use:

  • Druid: removed Frenzied Regeneration, Nature's Swiftness.
  • Mage: removed Frozen Orb, Evocation, Rune of Power, Ice Floes, Frost Nova. Mirror Image and Alter Time moved to Damage.
  • Monk: removed Storm, Earth, and Fire.
  • Paladin: removed Divine Storm, Avenger's Shield.
  • Priest: removed Fade. Power Infusion description corrected — it's a personal CD, not a raid haste buff.
  • Warrior: removed Berserker Rage, Heroic Leap, Challenging Shout.

v0.9.9

Symbiosis labels no longer leak into the original abilities. Because Symbiosis-granted entries reuse the original spell ID (Druid receiving Anti-Magic Shell uses the DK's spell ID 48707, etc.), they were overwriting the canonical label in the lookup table — so a Warrior's own Shattering Throw was being displayed as "Symbiosis: Shattering Throw" in the alert frame. The flat lookup now ignores Symbiosis entries entirely; they're still listed in the picker for discoverability, but the original ability owns its label everywhere else. Existing assignments will automatically pick up the corrected label on next render.

v0.9.8

Ticker no longer overlaps with stacked alerts. The white "others' alerts" line used to sit at a fixed spot directly below alert slot 1, which meant the second alert (slot 2) rendered right on top of it when multiple alerts fired at once. The ticker now re-anchors itself dynamically below whichever slot is currently last in the stack — no overlap regardless of how many alerts are visible.

v0.9.7

Pin toggle moved to the single-player picker. The pin star now appears in the regular player dropdown (the one you open by default), not in the multi-select picker. That's where you naturally browse the roster anyway. Multi-select is back to being purely for ticking checkboxes — no extra UI clutter.

v0.9.6

Player roster: pinned, recent, and auto-cleaned. The "Previously seen" list used to grow without limit. Now:

  • New "Pinned" section at the top of the player picker. Every entry has a small star next to it — click the star to pin/unpin. Pinned players (your regular raid roster) are always visible and survive the auto-cleanup. The star turns gold when a player is pinned.
  • "Previously seen" is capped to the 30 most recently seen players (sorted newest first).
  • Anything not pinned and not seen for 60 days is dropped automatically at login.
  • Existing player data is migrated transparently.

Sticky Done button in multi-select. The Done button no longer sits at the very bottom of the scrolling list. It's now anchored to the bottom of the popup itself and always visible. The label also shows a counter — "Done (3 selected)" — in green so it's clearly the call-to-action.

v0.9.5

Cooldown picker is now visually structured. Inside each class block, cooldowns are split with thin sub-headers — Damage, Defensive, Utility, etc. — making it much faster to find what you're looking for.

Picker window widened from 280px to 380px. Cooldown labels with longer descriptions or talent annotations no longer wrap or overlap.

Druid Symbiosis section reworked. The Druid class block now has a dedicated Symbiosis (received) sub-section listing every ability the Druid can receive, organised by which class grants it.

Symbiosis abilities given to other classes are listed within their class block, in the appropriate damage/defensive/utility category — not as a separate section. The verified list:

  • DK Blood: Might of Ursoc (defensive)
  • Monk Brewmaster: Survival Instincts (defensive)
  • Paladin Protection: Barkskin (defensive)
  • Priest Shadow: Tranquility (damage)
  • Rogue: Growl (utility)
  • Warrior Arms/Fury: Stampeding Shout (utility)
  • Warrior Protection: Savage Defense (defensive)

v0.9.4

Sort toggle moved to the column header. The "by trigger / by player" switch now sits at the right end of the column-name row — one click cycles between the two modes, with the current mode always displayed in the label.

Visual separator between players in "by player" mode. Each player group is now divided by a thin horizontal line, making it easy to scan at a glance who has which CDs.

v0.9.3

Class cooldown lists curated. Every class list reordered into damage → defensive → utility. Removed entries that don't make sense for raid CD planning, including combat resurrection spells across classes (Rebirth, Soulstone, Raise Ally, Reincarnation) — these are reactive, not planned.

v0.9.2

Internal stability fixes consolidated into 0.9.3.

v0.9.1

Internal stability fixes consolidated into 0.9.3.