Commit Graph

13 Commits

Author SHA1 Message Date
Narcasung 284f26b8b4 Update README with implemented features and install instructions 2026-07-18 16:17:50 +02:00
Narcasung fd2ee1903c Defer AceDB initialization until ADDON_LOADED to fix settings not persisting
CoA.db was created at file-load time, racing ahead of this client's
SavedVariables restoration and silently orphaning the profile table
from the real global before it ever got populated from disk.
2026-07-16 16:26:18 +02:00
Narcasung bf9972e624 Fix tooltip drag hint, force-show crash, and Class Resources tab layout
Replace the "Drag to move" tooltip hint on class resource frames instead
of removing it wholesale, so text sharing the same line (e.g. "Right-click
for options") survives; match by substring rather than exact text and scope
by IsMouseOver since GameTooltip's owner can be a child region.

Guard against force-showing a class resource frame the game has never
naturally displayed: its underlying data (powerType, maxValue, ...) is
never populated for a class that doesn't use it, and forcing Show() on it
renders as a garbage white bar texture. Same fix as HideCoAUI's
seenNaturalShow guard.

Rename the Class Resources tab's checkboxes to the frames' actual global
names, stack them vertically, and add Hide All / Show All buttons below them.
2026-07-16 15:46:55 +02:00
Narcasung 50824cc0e1 Strip Lock/Unlock Frame entry from class resource frames' right-click menu
Dragging is now permanently disabled on these frames, so the native
Lock/Unlock Frame option is meaningless. Reuses the UIDropDownMenu_AddButton
override pattern already used for LayerPickerFrameDropDown, generalized to
match any of the tracked frames' dropdowns by name convention or parent.
2026-07-16 15:34:06 +02:00
Narcasung 97c4defa51 Add Class Resources and Debuff Highlighting modules; migrate settings to AceDB profiles
Move CoA settings from E.global/E.private into a proper AceDB-3.0 database
(CoA.db, SavedVariables ElvUI_CoADB) with a Profiles options tab, since
ElvUI doesn't ship AceDBOptions-3.0 (vendored under Libraries/).

Add ClassResources.lua: hooks the custom-class resource frames (segment
bar, orb, bar, multi-cast bar) into ElvUI's Toggle Anchors, with a
per-frame hide checkbox in a new "Class Resources" options tab.

Add DispelHighlight.lua: highlights dispellable debuffs on unitframes,
with talent-aware filtering for custom classes.

Fix mover/anchor reliability for Class Resources and the Instance
(LayerPicker) button:
- Movers were only retried until the target frame existed, not until the
  mover was actually created, so frames that start at zero size (e.g. a
  resource bar before that resource is ever active) permanently lost
  their mover.
- Class resource frames re-anchor themselves on refresh, stomping the
  mover's anchor; hook SetPoint to snap back to the mover holder whenever
  something else repositions the frame.
- Native click-drag on these frames ends with the engine calling SetPoint
  directly, severing the mover anchor entirely. Permanently block drag
  (script and RegisterForDrag) instead of clearing it once.
2026-07-16 15:24:12 +02:00
Narcasung 3a5344e31f Scale Extra Action Button rim border and hotkey inset with button size
The vanilla border baked into the icon texture grew visible again at
large button sizes since the covering rim used a fixed edge thickness.
Both the rim edge and the hotkey's corner inset now scale with the
button size to keep the border hidden and the hotkey clear of the rim
at any size.
2026-07-13 20:16:12 +02:00
Narcasung d769cebbbe Add Instance button font options and increase padding; store CoA settings account-wide via E.global 2026-07-13 18:27:51 +02:00
Narcasung d5b67920a6 Add Extra Action Button keybind with hotkey text, resizable size slider, and recentered anchor 2026-07-13 18:11:07 +02:00
Narcasung db6c7d79b0 Make skinning baseline behavior, restructure options into empty tabs
Skinning of both the ExtraActionBar and LayerPickerFrame buttons is no longer opt-in. Replaces the old single Skins tab and its toggles with two empty tabs, Extra Action Button and Instance Swap, for future per-frame settings.
2026-07-13 15:43:18 +02:00
Narcasung 64a310bc80 Add mover, drag-disable, and reset-position filter for LayerPickerFrame
Adds the button to ElvUI's anchor/mover system, disables native dragging so it doesn't conflict, filters the now-broken "Reset Position" dropdown entry (scoped to this menu only), and raises the mover overlay above the minimap so it's grabbable in config mode.
2026-07-13 15:42:37 +02:00
Narcasung 619c913d1e Add LayerPickerFrame skinning with Instance toggle
Strips the native tooltip-style backdrop pieces off the LayerPickerFrame button and applies the ElvUI backdrop/button style, gated by a new Instance checkbox in the Skins tab.
2026-07-13 15:22:39 +02:00
Narcasung a5a63eede0 Trim README description and fix ElvUI link 2026-07-13 15:05:01 +02:00
Narcasung 8beb36e57e Initial commit: ElvUI_CoA plugin
Skins/hides custom CoA-server frames not covered by stock ElvUI, starting with the ExtraActionBar.
2026-07-13 15:03:05 +02:00