Fix Class Resource pips widening after a zone change - #1918
Merged
EllesmereGaming merged 2 commits intoSep 2, 2026
Merged
Conversation
The pip rebuild that runs whenever the resource max changes finished by re-stretching the pips across the frame width. That stretch only belongs to the "above" position, where PositionClassPowerBar anchors the row to the health bar's edges -- the comment said so, the code did it unconditionally. Every loading screen re-reads the max (talent data reloads with the zone), so any other position lost its configured pip size and came back spanning the whole frame until the next reload, with the profile value itself untouched. Gate the re-stretch on modern + "above", the same pair PositionClassPowerBar and the warrior-charge sync already test.
_repositionForWidth divided the target width by #pips, the high-water mark the rebuild's shownPipCount already exists to replace: once a resource max shrank, the "above" row laid its remaining pips out at the old pip width and left a permanent gap at the right edge of the health bar until the max grew back.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bug: reported by Bjønn in the EllesmereUI-helper Discord (2026-08-28, v9.0.7).
Issue: with Class Resource set to Modern and the pip Size adjusted, the player frame's row came back much wider after any zone change and stayed wide until a reload. The options preview kept showing the correct size, so the profile itself looked fine.
Root cause: UpdatePips rebuilds the pip row whenever the resource max changes, then re-stretched it across the frame width unconditionally. That stretch belongs only to the Above Health Bar position, where PositionClassPowerBar anchors the row to the health bar's edges. A loading screen re-reads the max because talent data reloads with the zone, so every other position lost its pip width.
Fix: gate the re-stretch on Modern plus Above Health Bar, the pair PositionClassPowerBar tests. _repositionForWidth also now divides by the shown pip count instead of #pips, a high-water mark that left a gap at the right edge once a max shrank. Verified in game.