promotional bannermobile promotional banner

Broker: Midnight Events

A compact world-event timer & associated mini weekly checklist for WoW Midnight, served through any LibDataBroker host

File Details

v0.6.4-beta

  • B
  • May 23, 2026
  • 70.09 KB
  • 15
  • 12.0.5
  • Retail

File Name

Broker_MidnightEvents-v0.6.4-beta.zip

Supported Versions

  • 12.0.5

Broker: MidnightEvents

v0.6.4-beta (2026-05-23)

Full Changelog Previous Releases

  • feat(weeklies): Bonus Event Weekly row + generalize pool-pick tracking
    Add a new "Bonus Event Weekly" row to the This Week section, tracking
    Archmage Aethas Sunreaver's bonus-event quest. Same UX as Liadrin's row:
    done detection across the pool, "(<choice> picked, N/M)" annotation with
    live objective progress.
    Initial pool covers the two confirmed "A Call to X" IDs (Midnight S1,
    patch 12.0.1+):
    * 93595 A Call to Delves — 5 Midnight Delves
    * 93593 A Call to Battle — 4 BG wins
    The bonus-event rotation has 7 weekly slots total; the remaining 5 use
    different naming conventions (The Arena Calls, The World Awaits, The
    Very Best, Emissary of War, Timewalking variants) and their quest IDs
    aren't yet harvested. Those weeks the row will show as un-picked /
    not-done until we capture the IDs.
    Refactor: the Liadrin-only pick-detection logic generalized into
    DetectWeeklyPicks, driven by a new picks field on ns.weeklies entries
    (map of questID → display label). Both Liadrin and Bonus Event are
    served by the same detector and render block. ns.liadrinLabels removed
    (absorbed into the Liadrin entry).
    Per-char state moved from char.liadrinChoice to char.picks[<weeklyKey>].
    Settings.lua carries a one-shot migration shim that lifts any legacy
    char.liadrinChoice into char.picks.liadrin.
    The Liadrin pool also gains the missing 8th member (93910 Midnight: Prey
    — present on Wowhead, was absent from our hardcoded list).
    Single quest-log walk handles every picks-flagged weekly at once, so
    adding more picks-style weeklies in the future doesn't add per-entry
    linear scans.
  • feat(liadrin): show concise N/M progress alongside the "picked" annotation
    When a character has accepted (or completed) one of Lady Liadrin's
    weekly pool members, the "This Week" row already annotated which choice
    was picked (e.g. "Lady Liadrin's Weekly (Delves picked)"). Extend that
    annotation with the active quest's objective progress when applicable:
    Lady Liadrin's Weekly (Delves picked, 1/3)
    Read at render time via C_QuestLog.GetQuestObjectives — no taint
    concerns; objective fields aren't secret-marked. Only the first
    objective is considered (Liadrin's pool members are single-objective
    in practice). Progress is omitted for finished objectives (the row's
    own ✓/✗ already conveys completion) and for numRequired <= 1 binary
    objectives ("picked" already says everything worth knowing).
    Also fixes a data-hygiene gap: ns.weeklies.liadrin pool was missing
    one of the 8 confirmed pool members — 93910 "Midnight: Prey". Added
    to both the questIDs list (so completion detection covers it) and
    ns.liadrinLabels (so the picked annotation reads "Prey picked"
    instead of falling back to a blank).
    Worth noting in case anyone else encounters the confusion: the "A
    Call to X" weekly series (e.g. 93595 "A Call to Delves") is a
    separate Bonus Event system, not Liadrin's pool. Different giver,
    different reward (Cache of Quel'Thalas Treasures vs Spark of Radiance +
    Apex Cache), and the two can coexist in the quest log. The Liadrin
    detector intentionally only matches "Midnight: X" pool IDs.