Skip to content

feat(cdm): replace cooldown slots with active buffs - #1126

Open
mTx87 wants to merge 1 commit into
EllesmereGaming:mainfrom
mTx87:feature/cooldown-buff-replacement
Open

feat(cdm): replace cooldown slots with active buffs#1126
mTx87 wants to merge 1 commit into
EllesmereGaming:mainfrom
mTx87:feature/cooldown-buff-replacement

Conversation

@mTx87

@mTx87 mTx87 commented Aug 1, 2026

Copy link
Copy Markdown

What does this PR do?

Adds an opt-in Replace with Buff action to cooldown and utility icon settings.

A cooldown can be mapped to a Blizzard Cooldown Manager tracked buff. While that buff is active, its native Blizzard buff frame is routed into the cooldown's existing slot, preserving the slot's size, position, border, keybind, ordering, and Rotation Assist identity while showing the buff's native icon, duration, and stacks. When inactive or unavailable, the original cooldown is shown normally.

The picker includes Blizzard's tracked-buff catalog, including currently untalented entries. Custom Spell IDs are accepted only when they resolve to an existing Blizzard buff-viewer entry, and cooldownID disambiguates catalog collisions. A tracked buff can replace only one cooldown slot.

Mappings are stored in the cooldown's existing per-spec spell settings. No new event registrations or polling are added when no mappings exist.

How was it tested?

  • Tested in-game on live retail as Windwalker Monk
  • Verified Spinning Crane Kick can be replaced by active Dance of Chi-Ji
  • Verified the native buff icon and duration display in the original cooldown slot
  • Verified the cooldown returns when the buff is inactive
  • Verified the generated test addon and /mtx87cdm diagnostics are not part of this branch
  • git diff --check passes and all added code is ASCII-only
  • PTR/12.1 client validation and broader edge-case coverage are still pending

Screenshots

Before/after screenshots will be attached to the PR.

Checklist

  • New settings default OFF (no behavior change without opt-in)
  • Zero cost while disabled: no events registered, no polling, no hooks doing work, no frames built
  • Cheap while enabled: event-driven (no polling, no timer-based logic, no per-frame allocations)
  • No writes onto Blizzard-owned frames (the feature intentionally reanchors the native Blizzard buff frame into the selected slot; this needs maintainer review for the 12.1 path)
  • Tested in-game, works on live retail; no load errors on the 12.1 PTR client

@mTx87

mTx87 commented Aug 1, 2026

Copy link
Copy Markdown
Author

PR new options
replace_cd_icon_with_buff_list
replace_cd_icon_with_buff

PR without buff up (spinning crane kick icon)
replace_cd_icon_with_buff_nobuffup

PR with buff up (dance of chiji replacing spinning crane kick icon)
replace_cd_icon_with_buff_buffup

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant