Skip to content

Add per-bar action bar fade conditions - #1847

Open
Llusty wants to merge 1 commit into
EllesmereGaming:mainfrom
Llusty:feat/actionbar-fade-clean
Open

Add per-bar action bar fade conditions#1847
Llusty wants to merge 1 commit into
EllesmereGaming:mainfrom
Llusty:feat/actionbar-fade-clean

Conversation

@Llusty

@Llusty Llusty commented Aug 30, 2026

Copy link
Copy Markdown

What does this PR do?

Adds an opt-in Advanced Fade system for individual action bars, built on top of the existing Action Bars fade/visibility behavior.

When Advanced Fade is disabled, the bar keeps the stock EllesmereUI 9.1.5 behavior. Enabling it adds per-bar controls for:

  • Maximum Opacity
  • Fade Conditions: In Combat, In Party, In Raid, In Instance, Mounted, Skyriding (Airborne), Target, Enemy Target, and Mouseover
  • Fade In Speed and Fade Out Speed
  • 1% Bar Opacity slider steps while Advanced Fade is enabled (stock 5% steps are preserved while disabled)
  • Independent Apply to All / Multiple sync controls for Enable Advanced Fade, Maximum Opacity, Fade Conditions, Fade In Speed, and Fade Out Speed

Fade conditions use OR semantics. Existing Visibility rules retain priority over Advanced Fade, including Mouseover visibility behavior.

The PR is based on the current EllesmereUI 9.1.5 Action Bars implementation, so the 9.1.5 Visibility behavior/fixes remain upstream and are not replaced by custom compatibility logic.

How was it tested?

Tested in-game on live with EllesmereUI 9.1.5. Regression coverage included:

  • Advanced Fade OFF matching stock 9.1.5 behavior
  • Live ON/OFF switching with settings preserved
  • Visibility Mouseover and Match Any Condition with Skyriding hide rules
  • Visibility precedence while Advanced Fade is enabled
  • Per-bar isolation between enabled and disabled bars
  • Independent Apply to All / Multiple behavior for each Advanced Fade setting
  • Persistence of enable state, opacity, conditions, and fade speeds after /reload

All of the above passed in-game testing.

Screenshots / Demo

In-game walkthrough of the current Advanced Fade options and behavior:

https://youtu.be/fJSAN2ECOhA

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 (weak-table pattern used); HookScript/hooksecurefunc only, never SetScript on Blizzard frames
  • Tested in-game on live 9.1.5; no additional client version gates introduced by this feature

@Llusty
Llusty force-pushed the feat/actionbar-fade-clean branch from 2630155 to 7226be1 Compare September 1, 2026 15:58
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