Skip to content

Add marking panel for tank marking (Patch 12.0+)#5

Open
ptarjan wants to merge 7 commits into
shanebionic:masterfrom
ptarjan:claude/update-wow-addon-patch-12-m5WVO
Open

Add marking panel for tank marking (Patch 12.0+)#5
ptarjan wants to merge 7 commits into
shanebionic:masterfrom
ptarjan:claude/update-wow-addon-patch-12-m5WVO

Conversation

@ptarjan
Copy link
Copy Markdown

@ptarjan ptarjan commented Feb 14, 2026

Summary

  • Marking panel: SetRaidTarget() is fully protected in Patch 12.0+. This adds a clickable panel using SecureActionButtonTemplate with the raidtarget action type, so marks are applied via hardware click events.
  • /fr mark command + GUI button: Manual way to open the marking panel, works even with the "mark tanks" option disabled.
  • Bugfix: OpenRaidTab was opening Quick Join (tab 4) instead of Raid tab (tab 3).
  • Bugfix: sortRaid actions now guard against combat lockdown between scheduling and execution.

Commits

  1. Fix OpenRaidTab opening Quick Join instead of Raid tab
  2. Guard sortRaid actions with combat lockdown check
  3. Add marking panel with SecureActionButtons for tank marking
  4. Add /fr mark command and GUI button

Test plan

  • Enter a raid as leader/assist with 2+ tanks
  • /fr sort — panel appears after sorting, click rows to mark tanks
  • Re-sort — panel should NOT re-appear (marks already applied)
  • /fr mark — force-opens panel regardless of prior marks or option setting
  • Press Escape or X — panel closes
  • Change someone's role — panel re-appears on next sort
  • Test with tankMark disabled — auto panel suppressed, /fr mark still works
  • Verify clear1/clear2 opens Raid tab (not Quick Join)

🤖 Generated with Claude Code

claude and others added 7 commits February 14, 2026 03:43
- Bump Interface version to 120001 and addon version to 1.0.17
- Migrate ChatFrame_AddMessageEventFilter to ChatFrameUtil.AddMessageEventFilter
  (global was removed in 12.0.0, moved to ChatFrameUtil namespace in 11.2.7)
- Migrate ChatFrame_DisplaySystemMessageInPrimary hook to ChatFrameUtil
- Remove deprecated global API references that were removed in 12.0:
  GetAddOnMetadata, IsAddOnLoaded, GetSpellInfo, UnitBuff, SetLootMethod
  (code already uses C_AddOns, C_Spell, and AuraUtil namespaced equivalents)
- Remove dead Master Loot code and fixOfflineML option (ML removed in 8.0)

https://claude.ai/code/session_013b4UbHqgALNadVuW5GAHRS
- Add EVOKER = "ranged" to CLASS_DAMAGER_ROLE (Devastation/Augmentation are
  both ranged DPS specs, no ambiguity unlike Shaman/Druid)
- Add Evoker to protector tier token group in /choose command
- Add Blizzard built-in Damage Meter support via C_DamageMeter API:
  uses GetCombatSessionFromType to pull overall damage+healing data,
  preferred over third-party addons as it's server-side and most accurate
- Keep Details!/Skada/TinyDPS/Recount as fallbacks

https://claude.ai/code/session_013b4UbHqgALNadVuW5GAHRS
OpenFriendsFrame(4) opens Quick Join (tab 4). The Raid tab is index 3,
matching what ToggleRaidTab already uses.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Wrap the scheduled action callback in an InCombatLockdown() check to
prevent protected SetRaidSubgroup/SwapRaidSubgroup calls from firing
if combat starts between scheduling and execution.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
SetRaidTarget() is fully protected in Patch 12.0+, breaking automatic
tank marking. This adds a clickable panel using SecureActionButtonTemplate
with the raidtarget action type, which applies marks via hardware clicks.

- marker.lua: Store pending marks (name + icon) for panel to consume,
  remove direct SetRaidTarget/GetRaidTargetIndex calls (tainted in 12.0)
- sorter.lua: Fire FIXGROUPS_SORT_COMPLETE message after sorting
- markingPanel.lua: New module with SecureActionButton rows per tank,
  combat-deferred display, PostClick auto-close, applied marks tracking
  to avoid re-prompting, cache cleared on role changes and zone transitions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds a manual way to open the marking panel:
- /fr mark command that refreshes tank list, clears applied marks cache,
  and shows the panel (works even if tankMark option is disabled)
- "mark" button in the /fr GUI alongside core and meter

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
FIXGROUPS_SORT_COMPLETE fires from AnnounceComplete after SetRaidSubgroup()
calls during sorting. Since SetRaidSubgroup is protected in 12.0, this taints
the execution context, causing "attempt to compare a secret number value" in
ResolveTankUnitIDs. Defer ShowPanel via C_Timer.After(0) to break the taint
chain with a clean execution context.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.

2 participants