• Knack117 released this 2026-05-12 03:17:37 +00:00 | 7 commits to main since this release

    Client-bundle update — fixes ElvUI rune cooldown tracking and action-button usability for the Paragon class. No server-side code changes since v0.7.19.

    What changed (patch-enUS-5.MPQ)

    Interface\FrameXML\RuneFrame.lua — Expose the Paragon rune simulator state as globals so other addons can mirror it. The 3.3.5 client never publishes rune state for class != DEATHKNIGHT, so addons that try GetRuneCooldown / GetRuneType on a Paragon get nothing useful. The new exports are:

    • _G.PARAGON_RUNE_DURATION — rune cooldown in seconds (matches server RUNE_BASE_COOLDOWN)
    • _G.paragonRuneCD[1..6] — per-engine-slot GetTime() expiry timestamps; 0 means ready
    • _G.ParagonRune_GetSlotType(slot) — resolves to BLOOD / UNHOLY / FROST / DEATH with a static BBUUFF fallback when the engine returns nothing

    Interface\FrameXML\PlayerFrame.lua — Extend the existing action-button usability enforcer to also drive LibActionButton-1.0 buttons (used by ElvUI ActionBars, Bartender4, Dominos, etc.):

    • The 100ms OnUpdate floor now also iterates LibStub(LibActionButton-1.0).activeButtons and applies the correct usable / not-usable shade using each button's _state_action and button.config.colors
    • A delayed LAB.RegisterCallback(OnButtonUsable) hook (registered on PLAYER_LOGIN / ADDON_LOADED) fires immediately after every LibActionButton UpdateUsable, so engine repaints get corrected on the same frame instead of after up to a 100ms delay

    Without this, ElvUI's bars stayed permanently lit on rune-cost spells because Blizzard's IsUsableAction() lies for class 12, and our previous enforcer only painted the stock ActionButton1..12 / MultiBar*Button* buttons (which ElvUI hides off-screen).

    What changed (ElvUI addon — local install only, not in this MPQ bundle)

    ElvUI\Libraries\oUF\elements\runes.lua — Wrap GetRuneCooldown / GetRuneType to dispatch off UnitClass(player). Paragon characters now read from the new _G.paragonRuneCD / _G.ParagonRune_GetSlotType globals instead of the engine APIs, plus a 10 fps poller drives Update / UpdateType whenever a rune state, expiry, or type changes. DK clients see zero behavior change.

    These ElvUI source changes ship as part of the patched-ElvUI install in the Fractured client bundle, not in patch-enUS-5.MPQ itself.

    Compatibility

    • Plain DK clients are unaffected — every wrapped API still falls through to the engine when UnitClass(player) ~= PARAGON.
    • Plain action-button addons that aren't on LibActionButton-1.0 are unaffected — the LAB hook is gated on LibStub(LibActionButton-1.0, true) returning non-nil.
    • Wow.exe, patch-enUS-4.MPQ, and patch-enUS-6.MPQ are byte-identical to v0.7.19 and re-uploaded only so this Release page stays self-contained for fresh installs.

    Install

    Copy all four files into your ChromieCraft 3.3.5a directory:

    • patch-enUS-4.MPQ, patch-enUS-5.MPQ, patch-enUS-6.MPQ -> Data\enUS\
    • Wow.exe -> game root

    If you only have v0.7.19 installed, you can drop in just the new patch-enUS-5.MPQ — the other three files are unchanged.

    Downloads