Skip to content

feat(cdm): accept 'all' in Ticks at Stacks - #1374

Merged
EllesmereGaming merged 1 commit into
EllesmereGaming:mainfrom
uNBEx:all_tick_marks
Aug 12, 2026
Merged

feat(cdm): accept 'all' in Ticks at Stacks#1374
EllesmereGaming merged 1 commit into
EllesmereGaming:mainfrom
uNBEx:all_tick_marks

Conversation

@uNBEx

@uNBEx uNBEx commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

What does this PR do?

Cooldown Manager -> Tracking Bars -> "Ticks at Stacks" now accepts the keyword
all in addition to a comma-separated list. Typing all puts a tick at every
stack, so a bar with Max Stacks 10 no longer needs 1,2,3,4,5,6,7,8,9 typed out
by hand and retyped every time the Max Stacks slider moves.

How was it tested?

Retail live, 12.1. Enabled Max Stacks on a stack-tracking bar, entered all,
confirmed evenly spaced ticks in both the options preview and on the live bar,
and confirmed the tick count follows the Max Stacks slider without retyping.

Screenshots

image

Checklist

  • New settings default OFF (no behavior change without opt-in) - no new
    setting; the existing field defaults to "" and only behaves differently
    once a user types the keyword
  • Zero cost while disabled: no events registered, no polling, no hooks doing
    work, no frames built - the expansion runs only when the token is present
  • Cheap while enabled: event-driven (no polling, no timer-based logic, no
    per-frame allocations) - ApplyTBBTickMarks runs from the skin/apply pass
    and the _ticksDirty one-shot consumers, never OnUpdate; the loop is
    bounded by the Max Stacks slider cap of 100, and tick textures come from
    the existing per-bar cache
  • No writes onto Blizzard-owned frames (weak-table pattern used);
    HookScript/hooksecurefunc only, never SetScript on Blizzard frames -
    N/A, pure Lua string/number handling on addon-owned frames; no game API touched
  • Tested in-game, works on live retail; no load errors on the 12.1 PTR client

Typing 'all' in the Tracking Bars 'Ticks at Stacks' input now places a tick
at every stack (N stacks give N-1 interior divisions, matching the charge
hash line convention) instead of requiring a hand-typed list that has to be
redone whenever Max Stacks changes.

The keyword is parsed in ParseTickValues, the single place the field is read.
Numeric lists take the exact same code path as before, so existing saved
values render identically and no migration is needed. The 'Ticks at Stacks'
label gains a tooltip documenting the keyword; the translated '(Ex: 1,5,8)'
locale key is left untouched so no translations are orphaned.
@EllesmereGaming
EllesmereGaming merged commit 6333adb into EllesmereGaming:main Aug 12, 2026
1 check passed
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