Skip to content

Fix independent placement of cooldown slots sharing talent overrides - #2024

Open
andybergon wants to merge 5 commits into
EllesmereGaming:mainfrom
andybergon:t3code/investigate-beacon-bar-separation
Open

Fix independent placement of cooldown slots sharing talent overrides#2024
andybergon wants to merge 5 commits into
EllesmereGaming:mainfrom
andybergon:t3code/investigate-beacon-bar-separation

Conversation

@andybergon

@andybergon andybergon commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

What does this PR do?

Fix cooldown slots that share a talent override moving together between bars. Beacon of Virtue can stay in Cooldowns while Beacon of Light stays in Utility. When both slots display Virtue, hide the overridden Light slot until talents change back, preserving its saved placement.

Use Blizzard cooldown IDs for these colliding slots, retaining spell-based behavior for ordinary overrides. Cooldown claims also retain cooldown settings and preview borders instead of being treated as hosted buffs.

How was it tested?

  • In game: Beacon talent switching shows Virtue in Cooldowns without a Utility duplicate, and restores Light/Faith in Utility. Holy Bulwark/Sacred Weapon switching also passed.
  • Mocked Lua regressions pass for independent placement, migration, ghosting/restoring, hosted buffs, duplicate suppression, unavailable metadata, and combat refresh. Syntax checks pass for all four changed Lua files.
  • Final preview border/settings correction: reviewed with Fable 5.1 and confirmed working in game. Exact client build was not recorded.

Screenshots

Before: Virtue appears in both Cooldowns and Utility.

Before

After: Virtue remains in Cooldowns without a Utility duplicate.

After

After switching talents back: Light and Faith remain in Utility.

Light and Faith

Checklist

  • N/A: New settings default OFF. This is a bug fix with no new setting.
  • N/A: Zero cost while disabled. This uses the existing CDM lifecycle, with no separate feature toggle.
  • Event-driven; no new polling, timers, or OnUpdate logic. Claim reconciliation runs during existing reanchors.
  • No new writes onto Blizzard-owned frames or replacement of their scripts.
  • In-game testing is complete, including the final preview correction. No version gates or pre-Midnight APIs added.

andybergon and others added 5 commits September 8, 2026 03:25
Use cooldownID claims for collided spell families while retaining ordinary talent override behavior. Preserve claims across missing siblings and protect inactive buff placements during repopulation.

Validate with mocked production picker, routing and repopulation regressions and Lua syntax checks. Claude Fable 5.1 review started but hit the session limit before a verdict; in-game testing remains pending.
Address Fable review findings: require distinct source spell identities and a direct override link, migrate before picker adds, and never ghost unclassified legacy buff slots. Cover duplicate views, false base ties, two displayed Virtue icons and index-based ordering.
Keep each saved slot assignment while temporarily hiding the overridden base when its separately claimed native replacement is present. Refresh suppression with live pool membership and preserve clean metadata through combat.

Validate using supplied Beacon metadata and mocked production routing. Fable 5.1 reviewed the implementation and follow-up; final low-priority cache retry and coverage fixes are locally verified.
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