promotional bannermobile promotional banner

Better Button Assistant

A refined, customizable button for Blizzard's Assisted Combat. Features modern styling, keybinds, and visibility controls.
Back to Files
File nameBetterButtonAssistant_MIDNIGHT-1.1.0-Release.zip
Uploader
KkthnxKkthnx
Uploaded
Jul 2, 2026
Downloads
452
Size
171.8 KB
Flavors
Retail
File ID
8360101
Type
R
Release
Supported game versions
  • 12.0.7

What's new

Changelog

All notable changes to BetterButtonAssistant are documented here.

This project follows Semantic Versioning.

[1.1.0]

Added

  • Rotation queue hover tooltips — queue icons show spell name plus readiness / position in the rotation list (matches interrupt/trinket/defensive companions).
  • Event-driven cooldown refreshSPELL_UPDATE_COOLDOWN and ACTIONBAR_UPDATE_COOLDOWN coalesce into NS.UpdateCooldownsOnly() so CD swipes update without waiting for the full ticker pass.
  • SavedVariables schemaschemaVersion (currently 2) with NS.MigrateDatabase() before CopyDefaults; bump NS.SCHEMA_VERSION when adding migrations.
  • Module scaffoldModules/Internal.lua, Modules/README.md, and MODULE: section markers in the main file for the planned UI/Cooldown/Companions/Events split.

Fixed

  • Show Keybinds toggle — turning keybinds back on now repaints the hotkey text even when the suggested spell did not change (cache was cleared on disable).
  • Rotation queue toggle — enabling/disabling the queue no longer errors (ReanchorQueue forward declaration).
  • Secret spell ID comparisons — main button, queue, defensive icons, action-slot resolution, proc-glow registration, and cooldown-only refresh no longer use ~= on IDs that may be secret in combat.
  • Companion overlap on shared sides — interrupt, trinkets/defensives, and rotation queue now chain outward on the same side instead of all anchoring to the same offset (fixes queue-on-right overlapping interrupt).
  • Interrupt kick glow in combat — when notInterruptible is secret but interrupt is ready, glow visibility routes through SetAlphaFromBoolean instead of fail-closed hide.
  • Cooldown countdown font — fixed scaling path: resolve the real countdown FontString via Cooldown:GetRegions() (Platynator pattern; GetCountdownFontString alone was not enough), apply SetTextScale per icon size, re-apply deferred after each swipe show (engine spawns/resets text on SetCooldownFromDurationObject).
  • Queue layout crash — horizontal/vertical queue rows no longer store _queueSideOff only on icon 1 (icons 2+ errored with nil arithmetic).
  • Companion tooltip secret safety — queue/defensive hover titles no longer call tostring() / concatenate secret spell IDs; tooltips are pcall-guarded.
  • Resource pooling in combatGetPooledPowerType / ShouldShowPoolingTint guard secret spell IDs and power-cost fields before comparison.
  • Interrupt CD eventsUpdateCooldownsOnly now calls NS.UpdateInterrupt() so kick glow/alpha stay in sync with event-driven swipe updates.
  • Queue combat-only layout — toggling combat-only queue visibility now invalidates companion layout like the queue enable toggle.
  • Proc glow — embedded LibCustomGlow ProcGlow_Start/Stop replaces the hand-rolled flipbook (yellow-square bug on addon frames). glowStyle still swaps actionbar vs onebutton atlases. First glow after /reload defers one frame so host size is resolved before LCG's OnShow anim.
  • Defensive glow on cooldown — event-driven CD refresh now re-runs UpdateDefensiveIcon so the green ready glow turns off when the defensive enters cooldown.

Changed

  • Default layout & sizing — fresh installs: 80px main button; trinkets above (horizontal, 36px, 4px gap); defensives left (vertical, 32px, 4px gap); queue below (horizontal, left-aligned, 34px icons, 4px gap); interrupt spacing 4px.
  • Branded settings title — the addon options tree shows the gradient title matching the AddOns list (NS.ADDON_DISPLAY_NAME).
  • Trinket frames cache _useSpellID for lightweight cooldown-event updates.
  • Documented intentional product choices: queueEnabled default on, unlocked placeholder spell, nameplate/defensive secret fail-open.

This mod has no additional files