Skip to content

Fix Sweeping Strikes / Whirlwind threshold config - #1904

Merged
EllesmereGaming merged 3 commits into
EllesmereGaming:mainfrom
tough-griff:fix/warrior-charges-threshold-respect-config
Sep 2, 2026
Merged

Fix Sweeping Strikes / Whirlwind threshold config#1904
EllesmereGaming merged 3 commits into
EllesmereGaming:mainfrom
tough-griff:fix/warrior-charges-threshold-respect-config

Conversation

@tough-griff

@tough-griff tough-griff commented Sep 1, 2026

Copy link
Copy Markdown

Two related fixes for threshold configuration on the Warrior charge bars (Sweeping Strikes / Whirlwind Stacks).

1. Charge bar showed a threshold overlay when thresholds were disabled

These two powers have no Lua-comparable count, so their threshold coloring is routed through ns.WC_Thresholds and rendered by the engine module as a fill-masked range strip. In UpdateSecondaryResource() that call passed _tsThreshCount unconditionally:

ns.WC_Thresholds(powerType,
    (_tsEntry and _tsEntry.thresholdMode) or sp.thresholdMode,
    _tsThreshCount, _tsR, _tsG, _tsB, _tsA,
    ...)

When the threshold entry is disabled (or a tracked buff is active) the resolver nils _tsEntry, but _tsThreshCount still falls back to the legacy global sp.thresholdCount. HostThresholds then builds a single-band spec from any count > 0, so the strip rendered regardless of configuration. Every other threshold renderer in that function already guards on _tsEntry; this path did not.

Fix: pass the count only when the entry is enabled — _tsEntry and _tsThreshCount or nil. With count nil and no bands, HostThresholds clears the spec and StyleThresholds hides all strips.

2. Threshold input clamped to 10

The count-based threshold input for the class/secondary resource bar clamped to 10, but Sweeping Strikes stacks to 18 with Broad Strokes. Raised the pip/count cap to 20; bar-type (percent/value) and stagger caps unchanged.

Testing

  • /reload on Arms Warrior with the Sweeping Strikes secondary bar, thresholds disabled: overlay no longer appears; enabling thresholds still renders the strip.
  • Threshold input now accepts values up to 20.

🤖 Generated with Claude Code

The WHIRLWIND_STACKS / SWEEPING_STRIKES engine-fed class bar routes its
threshold coloring through ns.WC_Thresholds. That call passed
_tsThreshCount unconditionally, but when the threshold entry is disabled
(or a tracked buff is active) the resolver only nils _tsEntry --
_tsThreshCount still falls back to the legacy global sp.thresholdCount.
The engine module then builds a range strip from any count > 0, so the
overlay showed regardless of configuration.

Gate the count on _tsEntry, matching every other threshold renderer in
this function.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PcMbcZg9X5oNsnHBQNoVy7
@tough-griff

Copy link
Copy Markdown
Author

Before:
Screenshot 2026-09-01 123809

After patching EUI with my fix:
image

@tough-griff

tough-griff commented Sep 1, 2026

Copy link
Copy Markdown
Author

Added thresholdsstill display correctly:
image

Sweeping Strikes stacks to 18 with Broad Strokes, so the class/secondary
resource bar threshold input clamped it to 10. Bump the pip/count cap to
20; bar-type (percent/value) and stagger caps are unchanged.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PcMbcZg9X5oNsnHBQNoVy7
@tough-griff tough-griff changed the title Fix Warrior charge bar showing threshold overlay when disabled Fix Sweeping Strikes / Whirlwind threshold config Sep 1, 2026
@tough-griff

Copy link
Copy Markdown
Author

Additionally changed the max value for Threshold from 10 to 20. Since sweeping strikes can stack up to 18 this seemed like a sensible cap.

WC_Sync ran before _countText was created and styled, so the engine
slot baked its count-text font from a nil fontstring and fell back to
a hardcoded Expressway 12 OUTLINE. Move the call after the text setup
so the configured font and size apply on /reload.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PcMbcZg9X5oNsnHBQNoVy7
@EllesmereGaming
EllesmereGaming merged commit 68ddeda into EllesmereGaming:main Sep 2, 2026
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