v2026.31-49-g57b687d

Details

  • Filename
    SilverDragon-v2026.31-49-g57b687d.zip
  • Uploaded by
  • Uploaded
    Sep 2, 2026
  • Size
    802.89 KB
  • Downloads
    381
  • MD5
    e0d8cead486207d667034ae8ca0bf804

Supported WoW Retail Versions

  • 12.1.0
  • 12.0.7

Supported WoW Mists of Pandaria Classic Versions

  • 5.5.4

Supported WoW Wrath of the Lich King Classic Versions

  • 3.4.5

Supported WoW Classic Versions

  • 1.15.9

Supported WoW Burning Crusade Classic Versions

  • 2.5.6

Changelog

SilverDragon

v2026.31-49-g57b687d (2026-09-03)

Full Changelog Previous Releases

  • Rearrange config to be flatter and easier to find things in
  • Fix a few mobs that lost some data
  • Fix the overlay context menu's checkboxes not updating
  • Clean up a few places nils could spread from SILENT conditions as well
  • System update: new render_string variant for map.group
  • Don't error on a completely SILENT condition-set
  • Sync up data with BattleForAzeroth
  • Sync up data with LegionTreasures
  • Clean up some boilerplate
  • Loot: missed a case in itemBindOnEquip
    This made Nok-Karosh stop being flagged as notable after you knew the
    mount, because it's outright unbound rather than being BoE / BoU.
  • Sync up data with TreasureHunter (Warlords)
  • Systems rearranged slightly for easier keeping in sync
  • Systems from the handler: bring in foldConditions
  • Sync up data with ShadowlandsTreasures
  • Improve sync script so I can just use globs
  • Sync up data with MidnightTreasures
  • Show a context menu on the world map ldb icon
  • Overlay: decide what to show from notability, not achievement and quest state
    The overlay worked out what to display from achievement and quest
    completion, which predated the notability system sitting beside it. It
    now reads ns.MobState's six standings for treasures as well as rares:
    a "notable ones / all of them" filter per kind, plus toggles for the
    emptied, finished and unsure ones, and an option to enlarge the ones
    that still have something on them. Treasure icons take a completion
    tint the way rare icons already did. MobState and MobIsNotable take an
    isTreasure argument now, and MobIsNotable stops waving treasures past
    the finished-quest gate, so a looted one-time treasure reads as done
    while a repeatable one (no quest) is judged on its loot. "What's
    notable?" also moves out of the announcement options into its own
    Notability section, since the map and the click-target macro read the
    same settings.
  • Classic: fix locations for Clutchmother Zavas, Tsu'zee, Lord Hel'nurath
  • Warlords: note that Giantbane explicitly has no loot
  • Sync up data with MidnightTreasures
  • Show the handynotes texture-spec nodes as well, not just atlases
  • Silvermoon City: sync in J'imothy
  • Don't throw away treasures without a vignette
  • Merge routes when a mob is registered in multiple zones
  • Mists: sync in from handynotes data
  • Systems: update for the NotAreaPoi condition
  • Sprinkle AllowLoadGameType around to minimize loading of irrelevant data
  • Blizzard pins should always show in-tooltip loot if it's enabled at all
  • Avoid some taint in the overlay when adding to blizzard pin tooltips
  • Data: sync up the Dragonflight zones as well
  • Data: give the plugin-synced expansions their own module.xml
    Data/module.xml was listing every copied zone file by hand. Each synced
    expansion (Dragonflight, WarWithin, Midnight) now carries its own module.xml
    -- constants.lua and module.lua first, then the copied files -- and
    Data/module.xml just Includes it. bin/syncdata.sh regenerates that list from
    sync.files, so adding a zone is a manifest edit and a re-run.
  • Data: sync Dragonflight id constants from the plugin too
    Same as WarWithin and Midnight: the plugin keeps its ids in constants.lua
    now, so copy that in and drop the module's hand-written faux-ns stub, whose
    older form re-exported each generated local into ns by hand. Ids, MAXLEVEL,
    DRAGONRIDING and SUPERRARE all come from constants.lua and systems/_glue.lua
    now.
    The rare block is still in the format tools/dataminer.py last wrote and the
    treasure imports are still inline; only the ids move for now.
  • Data: move WarWithin and Midnight rare/treasure points into copied files
    module.lua kept a hand-copied block of ns.RegisterPoints calls that had to be
    re-synced from the HandyNotes plugins by hand. Replace it with the plugins'
    zone files, copied in whole by bin/syncdata.sh (listed in sync.files) and
    loaded after constants.lua and the curated module.lua. RegisterTreasureData
    and RegisterMobData register first and stay authoritative; the zone files add
    everything else. The copied trees are left out of luacheck, the way the
    plugins do with handler/.
    module.lua now holds only the SilverDragon-shaped curated data.
  • systems: more shims for imported HandyNotes point data
    The zone files carry two handler utilities the first shim set missed --
    ns.merge and ns.Getterize -- so add both. addTreasureVignettes stops
    overwriting: the curated RegisterTreasureData runs first and stays
    authoritative, and a treasure point copied from a zone file only fills a
    vignette nothing has claimed.
  • Data: sync id constants from the plugins instead of inlining them
    WarWithin and Midnight carried a copy of the plugin id block that had to be
    updated by hand whenever the plugins changed. The plugins now keep those ids
    in constants.lua, so copy that file in and drop both the inlined block and the
    per-module faux-ns stub. bin/syncdata.sh re-copies whatever
    Data/<expansion>/sync.files lists.
    Zone point data is still inline in the modules; moving it across is a later
    step.
  • systems: shims for imported HandyNotes point data on the real namespace
    Each Data/<expansion> module built a fake ns table so copied HandyNotes code
    would run. Move that onto the real namespace in _glue.lua -- BeginDataModule,
    RegisterPoints, RegisterVignettes, and the atlas_texture, mapLink and
    SUPERRARE shims -- so one copy serves every module. core gains
    RegisterHandyNotesVignettes for the plugins' pin-less treasure lists, and
    nodeMaker now appends defaults.loot to match the handler.
  • Fix indentation in a few modules
  • Systems update: rewards.GarrisonFollower
  • Loot window: show an overlay on notable loot
    Include a systems update to expose the notable reward color
  • Loot window: show item quality color in classic
  • Rework where map tooltips show loot
    The worldmap and minimap sections each had three checkboxes for this, which made
    choosing where loot appears more awkward than it needed to be. Quest and
    achievement completion is always shown now, and the completion and popout
    toggles have become one "Show loot" choice: tooltip, popout window, both, or
    neither. Regular loot is the same question for unit tooltips, so it moved to the
    Tooltip module and both ask it there. Existing profiles carry over, taking the
    old default for whichever half of the pair they never touched.
  • Overlay: show treasures alongside the rares
    The treasures imported from my HandyNotes plugins were registered but never
    drawn. They get pins now, using the atlas the imported data names where there is
    one, with their own tooltips and right-click menu. They also get their own
    display settings, because a treasure is looted once and gone: showing achieved
    and looted ones defaults to off, and either kind can be switched off entirely.
    Vignette ids and npc ids come from separate number spaces that overlap, so pin
    matching and the focused point now compare the kind as well as the id.
  • Share more of the mob code path with treasures
    A treasure answers most of the same questions a rare does, but the code either
    asked them differently or not at all. GetData and GetLabel now say which table
    an id belongs to and what it is called, and CompletionStatus reads a treasure's
    own achievement criteria rather than the mob lookup, which is keyed by npc id.
    MobIsNotable skipped that criteria entirely, so a treasure with its loot
    collected and its criteria still outstanding came back as nothing worth showing.
    criteriaCompletion also takes the criteria shapes the imported points use, a
    list or true for the achievement itself, which errored before.
  • Overlay: in the stars theme, VignetteLootElite hasn't been a star for a while
  • Remember treasure locations when registered as well
    Little bit of refactoring of how mobsByZone is built and read, to cope
    with this. Now the stored coords are key-value.
  • Clean up some mob registration code
  • Announce: adjust migration of old values
    Copying the announce-in-instances value into core seems like it might
    have been confusing.
    Trim down comments there.
  • Keeping some handynotes things in sync in an invisible way