Skip to content

(Aura Designer) Fix health bar tint indicator not fading correctly when out of range#60

Closed
Krathe82 wants to merge 1 commit into
DanderBot:mainfrom
Krathe82:fix/aura-designer-oor-tint
Closed

(Aura Designer) Fix health bar tint indicator not fading correctly when out of range#60
Krathe82 wants to merge 1 commit into
DanderBot:mainfrom
Krathe82:fix/aura-designer-oor-tint

Conversation

@Krathe82

@Krathe82 Krathe82 commented May 9, 2026

Copy link
Copy Markdown
Contributor

Summary

  • The Aura Designer health bar "show when missing" tint overlay was missing from UpdateAuraDesignerAppearance, so it never received OOR alpha in element-specific OOR mode — remaining fully opaque while all other AD indicators faded.
  • A secondary issue: the tintOverlay is semi-transparent (blend < 1), so when it fades the underlying health bar fill shows through. That fill still held the unit's class colour (e.g. shaman blue), causing an unwanted colour change instead of a smooth fade. Fixed by matching the health bar texture colour to the AD-configured colour while the indicator is active (adHealthBarActive already prevents UpdateHealthBarAppearance from overwriting it; RevertHealthBar restores class colour on revert).

Changes

AuraDesigner/Indicators.luaApplyHealthBar: after setting the tintOverlay colour, also set the main health bar texture vertex colour to the AD colour.

Features/ElementAppearance.luaUpdateAuraDesignerAppearance: extend both the oorEnabled and frame-level branches to handle the tintOverlay. Uses plain SetAlpha rather than ApplyOORAlpha to avoid SetAlphaFromBoolean on health-linked StatusBars.

Test plan

  • Set up an Aura Designer health bar indicator in "show when missing" mode with a distinctive colour (e.g. red)
  • Enable element-specific OOR mode
  • Move out of range — the health bar tint should fade to the configured OOR alpha, maintaining the AD colour throughout (no class-colour bleedthrough)
  • Return in range — tint should restore to full opacity at the AD colour
  • Disable element-specific OOR mode — standard frame-level cascade should handle the fade naturally with no colour change

(PR by Krathe)

…ic mode

In element-specific OOR mode the tintOverlay was fading incorrectly:

Replace mode: the overlay's blend is 1.0 so SetAlpha(oorAlpha) worked,
but the underlying health bar texture retained class colour and bled
through as the overlay faded. Fix: match hbTex vertex colour to the AD
colour in replace mode so both layers fade together.

Tint mode: SetAlpha(oorAlpha) compounded with the blend baked into
SetStatusBarColor, giving blend x oorAlpha effective opacity (e.g.
0.5 x 0.2 = 0.1 -- nearly invisible). Fix: drive opacity via
SetStatusBarColor directly so the overlay sits at exactly oorAlpha
with no compounding.

Also stores healthbarMode, healthbarR/G/B, and healthbarBlend on the
AD frame state so UpdateAuraDesignerAppearance can restore the overlay
to its configured blend when a unit comes back in range.
@Krathe82 Krathe82 force-pushed the fix/aura-designer-oor-tint branch from f5f79ab to 98fbd72 Compare May 9, 2026 15:01
DanderBot added a commit that referenced this pull request May 11, 2026
…king

PR #60 conflicted with PR #62 on the replace-mode hbTex:SetVertexColor block; applied
only the non-duplicate parts manually. The state.healthbarMode/R/G/B/Blend writes also
fix a latent bug in already-merged PR #62 where adHealthBarMode was read but never
written, making the live tint/replace switch gate always fail.
DanderBot added a commit that referenced this pull request May 11, 2026
@DanderBot

Copy link
Copy Markdown
Owner

Thanks for the PR! The OOR fade fix is genuinely needed.

Heads-up: this conflicts with #62 (merged earlier today) — both PRs add the same if mode == "replace" block to ApplyHealthBar. Rather than ask for a rebase, I applied a rebased version locally in cbca262 — the Features/ElementAppearance.lua tint-overlay handling plus the state.healthbarMode/R/G/B/Blend writes (without the duplicate replace-mode block).

As a bonus your state writes also fix a latent bug from #62 where adHealthBarMode was being read but never written — so the live tint/replace mode switch gate was effectively a no-op. Both issues are addressed in the same commit.

Will ship in the next alpha build. Closing this PR since the changes are already on main.

@DanderBot DanderBot closed this May 11, 2026
@Krathe82 Krathe82 deleted the fix/aura-designer-oor-tint branch June 4, 2026 12:42
Krathe82 pushed a commit to Krathe82/DandersFrames that referenced this pull request Jun 6, 2026
…bar* tracking

PR DanderBot#60 conflicted with PR DanderBot#62 on the replace-mode hbTex:SetVertexColor block; applied
only the non-duplicate parts manually. The state.healthbarMode/R/G/B/Blend writes also
fix a latent bug in already-merged PR DanderBot#62 where adHealthBarMode was read but never
written, making the live tint/replace switch gate always fail.
Krathe82 pushed a commit to Krathe82/DandersFrames that referenced this pull request Jun 6, 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