NeedRoll - Modern/Expanded Atlasloot

Browse loot from different sources of the game; Dungeon, Raid, PvP, Factions, Collections, and Professions. This picks up the where Atlasloot left off and adds so much more. Fully rewritten addon merely inspired by Atlasloot.
Back to Files

v0.2.0-forever

File nameNeedRoll-v0.2.0-forever.zip
Uploader
flowmotion_xflowmotion_x
Uploaded
Oct 10, 2026
Downloads
11
Size
5.2 MB
Flavors
Forever
File ID
9114046
Type
R
Release
Supported game versions
  • 1.60.1

What's new

NeedRoll

v0.2.0 (2026-10-10)

Full Changelog Previous Releases

  • Merge pull request #150 from mikebvs/claude/project-thread-wdf28r
    [Reload] Profession list names back to normal size
  • Profession list names back to body size so they fit; keep larger icons and rows
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01W3AfX9GAP8D41vbL627UHJ
  • Merge pull request #149 from mikebvs/claude/project-thread-wdf28r
    [Reload] Profession list 15% larger
  • Profession list 15% larger: rows, names and icons
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01W3AfX9GAP8D41vbL627UHJ
  • Merge pull request #148 from mikebvs/claude/project-thread-wdf28r
    [Reload] Round profession icons in the list
  • icondebug: Blizzard's atlas is Mobile-Enginnering (sic)
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01W3AfX9GAP8D41vbL627UHJ
  • Profession list: round-masked spell icons instead of world quest icons
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01W3AfX9GAP8D41vbL627UHJ
  • Merge pull request #147 from mikebvs/claude/project-thread-wdf28r
    [Reload] World quest icons in the profession list
  • Profession list: world quest icons (worldquest-icon-<name>)
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01W3AfX9GAP8D41vbL627UHJ
  • Merge pull request #146 from mikebvs/claude/project-thread-wdf28r
    [Reload] Professions header icon fix, profession icons in /nr icondebug
  • Professions header uses Professions-up-c60; profession icons in /nr icondebug
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01W3AfX9GAP8D41vbL627UHJ
  • Merge pull request #145 from mikebvs/claude/project-thread-wdf28r
    [Restart] Recipe sources in Learned from, plus profession icons
  • Remove the temporary recipe sources workflow
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01W3AfX9GAP8D41vbL627UHJ
  • Merge Wowhead recipe sources
  • Recipe sources from Wowhead (temporary build)
  • Profession icons: pick and hammer by the Professions label, each profession's icon in the list
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01W3AfX9GAP8D41vbL627UHJ
  • Merge main
  • Merge pull request #144 from mikebvs/claude/dungeon-overview-quests-8n255k
    [Reload] Portal icons beside the Instances header on Dungeons and Raids
  • Portal icons beside the Instances label on Dungeons and Raids
    The first pane's label gets the world map's entrance portal on its left:
    the blue Dungeon swirl on the Dungeons tab, the green Raid swirl on the
    Raids tab, 26px in the 42px header strip. Other tabs show no icon. The
    faction switch's width check counts the icon.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Learned from: list where each recipe item drops or is sold
    Under each recipe item: the top mobs that drop it (or World drop with
    their usual levels) and its vendors, one per side with that side's
    crest. Names pin the NPC on the world map, or the dungeon's entrance
    for mobs inside one.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01W3AfX9GAP8D41vbL627UHJ
  • Merge pull request #143 from mikebvs/claude/dungeon-overview-quests-8n255k
    [Reload] Taller pane headers; insignia and portal icons in /nr icondebug
  • Recipe sources: where recipe items drop or are sold
    New scraper step (py -m needroll_scraper recipes, also run by full
    profession builds) writes Data/RecipeSources.lua: the top 3 mobs that
    drop each recipe item and one vendor per side, with map spots.
    Classic-DB for Classic items, Wowhead for Forever ones and vendor sides.
    A temporary workflow builds it with Wowhead on this branch.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01W3AfX9GAP8D41vbL627UHJ
  • Merge pull request #142 from mikebvs/claude/project-thread-6yny1p
    [Reload] Wrap long list names instead of cutting them off
  • Taller list pane headers; merge insignia pairs and portal icons into /nr icondebug
    The strip at the top of the two list panes (pane label, faction switch,
    recipe filter) is 1.25x taller (34 -> 42px, T.size.paneLabel), its
    contents kept centered, so the insignia has room.
    /nr icondebug now opens with the Alliance/Horde insignia pairs at four
    sizes, then the instance portal and entrance icons (world map dungeon and
    raid pins, portal swirls, quest and group finder dungeon/raid icons, delve
    pins, the Overview's entrance pin), then the existing sections. A
    Background switch shows everything on the modern list panel or the native
    parchment. /nr insigniadebug opens the same window.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Wrap long list names onto a second line; shorten New in Forever label
    List rows whose name doesn't fit now wrap to two lines and only that row
    grows, in every list pane (suffixes like "(40 players)" follow the last
    line). The vendor-list group "New in WoW: Forever" is now "New in Forever",
    matching the Professions tab.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_017N7EmM6JxjnWdKvNcYCvEx
  • Merge pull request #141 from mikebvs/claude/dungeon-overview-quests-8n255k
    [Reload] Swap the Alliance/Horde insignia to the honor icons
  • Use the character pane honor icons as the Alliance/Horde insignia
    T:Insignia now returns UI-Character-Info-Honor-Icon-Alliance/-Horde, so
    the Attunement switch, the PvP/Factions/Collections faction switches and
    the other faction's entrance pin all show the new pair at their current
    sizes. The insignia debug window marks it as in use.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #140 from mikebvs/claude/dungeon-overview-quests-8n255k
    [Reload] /nr insigniadebug, and Onyxia's note links the Drakefire Amulet
  • Onyxia attunement note links the Drakefire Amulet
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • /nr insigniadebug: every faction crest pair on the parchment at four sizes
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #139 from mikebvs/claude/project-thread-wdf28r
    [Reload] Recipe pages: Creates, Learned from and Materials in stat boxes
  • Recipe pages: Creates, Learned from and Materials in stat boxes
    Each section of a recipe page sits in the Overview's stat box backdrop
    (T:StatBackdrop): the rounded fill in the modern style, the fading wash
    with a gold rule in the native one. Labels use the stat box font. Boxes
    span the columns their items fill, so Materials grows with its list.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01W3AfX9GAP8D41vbL627UHJ
  • Merge pull request #138 from mikebvs/claude/dungeon-overview-quests-8n255k
    [Reload] Faction crests 1.5x larger
  • Faction crests 1.5x larger, more room under section headings
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #137 from mikebvs/claude/dungeon-overview-quests-8n255k
    [Reload] Faction insignia: character create logo everywhere
  • Faction insignia: the character create logo everywhere
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #136 from mikebvs/claude/dungeon-overview-quests-8n255k
    [Reload] No Loot lines under the Naxxramas attunement
  • Naxxramas attunement: no Loot lines under the priced step
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #135 from mikebvs/claude/dungeon-overview-quests-8n255k
    [Reload] Naxxramas attunement shows its cost at each Argent Dawn standing
  • Naxxramas attunement: what it costs at each Argent Dawn standing
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #134 from mikebvs/claude/dungeon-overview-quests-8n255k
    [Reload] No underline on the raid Attunement switch
  • No underline on the raid Attunement switch
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #133 from mikebvs/claude/dungeon-overview-quests-8n255k
    [Reload] Hide Attunement for raids without one, heading rules fade at both ends
  • Hide Attunement for raids without one; heading rules fade at both ends
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #132 from mikebvs/claude/dungeon-overview-quests-8n255k
    [Reload] Bigger faction insignia and entrance pin, switch underline runs past the word
  • Bigger entrance pin in the Zone box
    The entrance pin after the zone's name is 1.25x bigger (25px); the other
    faction's pin beside it at City of Dalaran stays 20px.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Bigger faction insignia; switch underline runs past the word
    The insignia on the Alliance / Horde switches is 1.25x bigger. The
    underline is solid under the whole word and fades out over 6px just past
    each end.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #131 from mikebvs/claude/dungeon-overview-quests-8n255k
    [Reload] Smaller stat box text, bigger entrance and map icons
  • Smaller stat box text, bigger entrance and map icons
    Stat box labels 16pt over 12pt values (2pt down); the entrance pin in the
    Zone box and the map button by the instance's name are 1.25x bigger.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #130 from mikebvs/claude/dungeon-overview-quests-8n255k
    [Reload] Bigger pane headers and faction switch, underline fading at both ends
  • Bigger pane headers and faction switch; underline fades at both ends
    Pane header labels (Rewards, Requirement, Dungeons...) and the first
    pane's Alliance / Horde switch with its insignia are 1.25x the label
    font. A switch's underline fades in over its first tenth and out over
    its last.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #129 from mikebvs/claude/dungeon-overview-quests-8n255k
    [Reload] Faction insignia on the PvP, Factions and Collections switch
  • Merge pull request #128 from mikebvs/claude/project-thread-6yny1p
    [Reload] Rank insignia beside each honor rank
  • Faction insignia on the PvP, Factions and Collections switch
    The Alliance / Horde switch in the first pane's header shows the picked
    side's insignia by its name, as on the raid Attunement switch; the pane
    widens for it.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Show rank insignia beside each honor rank
    Honor Ranks lists (both factions) draw the client's PvPRankBadges icon
    left of each rank name; Any rank and New in Forever rows keep the names
    aligned with no icon.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_017N7EmM6JxjnWdKvNcYCvEx
  • Merge pull request #127 from mikebvs/claude/dungeon-overview-quests-8n255k
    [Reload] New Overview layout for dungeons and raids
  • New Overview layout for dungeons and raids
    Bigger instance name (22) with the map button to its left; stat boxes with
    18pt labels over 14pt values, wider, wrapping onto a second row when the
    pane is narrow; the entrance pin (and Dalaran's other-faction pin) after
    the zone's name. A Description heading over the lore, and an Attunement
    section that starts shut, with a 14pt Alliance / Horde switch showing the
    picked side's insignia. Section headings are 18pt over a one-pixel rule
    that fades out over its last tenth.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #126 from mikebvs/claude/dungeon-overview-quests-8n255k
    [Reload] Closer Forever entrance spots and both Dalaran entrances
  • Closer Forever entrance spots; a door per faction for Dalaran
    City of Dalaran pins the player's own faction's entrance, and a second
    button with the other faction's insignia pins theirs.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #125 from mikebvs/claude/dungeon-overview-quests-8n255k
    [Reload] Entrance pins for the dungeons new in Forever
  • Merge pull request #124 from mikebvs/data/new-instances
    New dungeons and raids
  • Shaper's Terrace entrance
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Entrance pins for the dungeons new in Forever
    Hand-kept FOREVER_ENTRANCES in quests.py (zone map, x, y as read off the
    Forever world map) go into Entrances.lua on every rebuild, including
    instances not built yet. A zone whose map ID isn't known (Riverglades) is
    named instead, and the addon looks the name up in the game.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Build new dungeons and raids from new-instances
  • Fix City of Dalaran file
  • Merge pull request #123 from mikebvs/claude/project-thread-epoqui
    [Reload] Remove Flow State test reputation values
  • Remove the Flow State test reputation standings
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01J3LUrPqTTbtFY8efo6LUE6
  • Merge pull request #122 from mikebvs/data/new-instances
    New dungeons and raids
  • Merge branch 'main' into data/new-instances
  • Build new dungeons and raids from new-instances
  • Merge pull request #121 from mikebvs/data/new-instances
    New dungeons and raids
  • Fix City of Dalaran file
  • Merge pull request #120 from mikebvs/claude/dungeon-overview-quests-8n255k
    [Reload] Portraits for the Forever bosses' map pins
  • Build new dungeons and raids from new-instances
  • Portraits for the Forever bosses' map pins
    The Classic pins take their portrait from the Classic data's display IDs;
    the bosses new in Forever had none, so they showed the "?" silhouette.
    When the scraper reads a new dungeon's boss pages on Wowhead it now also
    picks up the model's display ID and writes it on the encounter, and a pin
    with no display ID of its own uses its encounter's.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #119 from mikebvs/claude/dungeon-overview-quests-8n255k
    [Reload] Boss pins on the Classic dungeon and raid maps
  • Place Classic boss pins on the map art itself
    The Classic maps relied on the game turning world positions into map
    positions, which Forever's client doesn't do for these dungeon maps, so
    only Hall of Thanes showed pins. Each boss's spot on each level is now
    worked out ahead of time (CMaNGOS spawn points lined up with the boss
    skulls on Blizzard's drawings, checked map by map) and listed per level
    in Data/Maps.lua. The runtime map lookup and world conversion are gone.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #118 from mikebvs/claude/dungeon-overview-quests-8n255k
    [Reload] Boss pins on the dungeon and raid maps
  • Merge pull request #117 from mikebvs/data/daily-dungeons-raids-update
    Loot data update: Dungeons and Raids
  • Boss pins on the layout maps
    Each boss gets a round portrait pin in Blizzard's boss pin frame on the
    dungeon and raid layout maps. Clicking one opens that boss's loot, with
    Back to the map. Positions come from the game's own Adventure Guide pins
    when it has them, else from Classic-DB spawn points placed by the game's
    map data, and from the rooms named on Santiago's map for Hall of Thanes.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Update Dungeons and Raids loot data from the daily check
  • Merge pull request #116 from mikebvs/claude/dungeon-overview-quests-8n255k
    [Reload] Back button for links that leave the current page
  • Back button for links that leave the current page
    Back now returns from any link inside the window that opens something
    else: an attunement quest on a raid's Overview, a dungeon's layout map,
    a search result's go-to arrow, a Shopping List recipe, and a material's
    recipe arrow. It shows over the Overview as well as the loot pane, and
    titles stop short of it.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #115 from mikebvs/claude/dungeon-overview-quests-8n255k
    [Restart] Santiago Reyes's maps for the Forever dungeons, with credit
  • Maps for the Forever dungeons by Santiago Reyes, with credit
    Hall of Thanes, Ruins of Lordaeron and Excavation Site: Wetlands get
    layout maps from Santiago Reyes's Atlas de Azeroth: Forever series, used
    with his permission. Each is resized to 1002x668 (watermark kept) and cut
    into the same 4x3 grid of 256px TGA tiles as Blizzard's maps, in
    Media/Maps. Data/Maps.lua accepts a texture path for tiles and a credit
    line, which the map view shows under the map. Media/Maps/CREDITS.txt and
    the README credit him with links and note the art isn't under the GPL.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #114 from mikebvs/claude/dungeon-overview-quests-8n255k
    [Restart] Layout maps for Classic dungeons and raids; Targeting icon for the entrance pin
  • Layout maps for the Classic dungeons and raids
    A second button by an instance's name (FullMap-up-c60) opens its layout
    map in the content pane: Blizzard's own world map art, drawn from the
    game's files by file ID, with a tab per level named from the client's
    DUNGEON_FLOOR_* strings. The entrance pin moves to Targeting-up-c60.
    Data/Maps.lua lists the 33 instances that have art (every Classic dungeon
    and raid), using the drawings of the Classic layouts where Blizzard later
    redrew a dungeon, with a fallback tile set where two versions exist. The
    button only shows where there is a map, stays lit while the map is open,
    and the map stays open while browsing instances that have one.
    Removes /nr maptest, which this replaces.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Map button by the instance name: icon only, no square behind it
    Drops the filled square behind FullMap-up-c60 and draws the icon at the
    button's full 24px. Hovering now brightens the icon itself (an additive
    copy on the highlight layer) instead of the fill.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #113 from mikebvs/claude/dungeon-overview-quests-8n255k
    [Reload] Native Attunement heading: gold line, larger label
  • Native Attunement heading: gold rule, 4pt larger label
    In the native style the line under the Attunement heading is now the
    game's gold (#FFD100) instead of dark ink, and the heading uses a new
    15pt "ruled" font (label was 11pt, the instance title is 16pt). The row
    grows by the font difference so the bigger label keeps its room. The
    modern style is unchanged.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #112 from mikebvs/claude/dungeon-overview-quests-8n255k
    [Reload] Add /nr maptest to check for Blizzard's dungeon maps
  • Add /nr maptest to check for Blizzard's dungeon maps in the client
    Draws the Wrath-era world map tiles for Wailing Caverns and the Deadmines
    by file ID (falling back to the texture path), so we can see in game
    whether WoW: Forever ships them. Clicking the map cycles through the maps.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #111 from mikebvs/claude/dungeon-overview-quests-8n255k
    Attunement section rule, new Overview icon, map button by instance names
  • Update Dungeons and Raids loot data from the daily check
  • Attunement section rule, new Overview icon, map button by instance names
    • The raid Overview's Attunement heading sits over a heavy rule as wide
      as the page (accent green in Modern, dark ink in Native).
    • The Overview row uses the GameMenu-up-c60 icon.
    • A FullMap-up-c60 button left of a dungeon's or raid's name pins its
      entrance on the world map; dimmed when the entrance isn't known.
    • Every dungeon's and raid's entrance now comes from Data/Entrances.lua,
      generated with the quest data (raids added to ENTRANCES), instead of
      only the ones quest links needed.
      Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
      Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #109 from mikebvs/claude/dungeon-overview-quests-8n255k
    Attunement steps show what to kill or loot, with map pins
  • Merge pull request #108 from mikebvs/data/daily-dungeons-raids-update
    Loot data update: Dungeons and Raids
  • Update Dungeons and Raids loot data from the daily check
  • Use Classic-DB's drop tables for attunement loot on Classic items
    Wowhead's drop rates come from few kills and put one-off drops on top
    (Nexus Crystal from Razorgore, Righteous Orb from Cardinal Martell), so
    Wowhead decides only for items new in Forever.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Show what attunement steps send you to kill or loot, with map pins
    Each raid attunement step now lists the mobs its objective names and the
    items it needs, with the mobs that drop them (or the chest that holds
    them). Mobs out in the world pin on the map like quest givers; ones in a
    dungeon pin its entrance. The quest page shows the same lines under
    Targets.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #107 from mikebvs/data/daily-dungeons-raids-update
    Loot data update: Dungeons and Raids
  • Update Dungeons and Raids loot data from the daily check
  • Merge pull request #106 from mikebvs/claude/dungeon-overview-quests-8n255k
    Raid attunements on the Overview, with an Alliance/Horde switch
  • Raid attunements on the Overview, with an Alliance/Horde switch
    A raid's Overview ends with an Attunement section: a note, then each
    quest in order with who starts it and its status. A quest's name opens
    its page. Onyxia's Lair has a switch for the two sides' chains, defaulting
    to yours; Zul'Gurub and Ahn'Qiraj say none is needed.
    The steps are kept in scraper/quests/attunements.json and filled in by
    the quest scraper (Classic-DB, Wowhead in the daily check) into the new
    Data/Attunements.lua. The faction switch in the first pane's header is now
    a shared T:LabelToggle.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #105 from mikebvs/data/daily-dungeons-raids-update
    Loot data update: Dungeons and Raids
  • Merge pull request #104 from mikebvs/claude/dungeon-overview-quests-8n255k
    Header icons 1.15x bigger
  • Update Dungeons and Raids loot data from the daily check
  • Header icons 1.15x bigger
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #103 from mikebvs/claude/dungeon-overview-quests-8n255k
    Raids get the Overview row and Encounters dropdown; rows fade as they slide
  • Fade rows in and out as the slide's edge passes them
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Raids get the Overview row and Encounters dropdown
    Raids now use the same middle column as dungeons: an Overview row, then
    an Encounters header that slides open, with no Quests group. A raid's
    Overview shows its player count where dungeons show quests, plus a
    short lore note for the Classic raids. Single-level ranges read "60".
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #102 from mikebvs/claude/footer-padding-bqvye4
    More padding under the footer text
  • Merge pull request #101 from mikebvs/claude/dungeon-overview-quests-8n255k
    Slide Quests and Encounters open like a drawer
  • Give the footer text more room above the window's bottom edge
    Footer grows from 26 to 32px in both styles, and the native footer sits
    6px higher so its text clears the frame's bottom border art.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01Bf4csgPNJvhWBLuVej7uf9
  • Slide Quests and Encounters open like a drawer
    The group's rows are laid out whole inside a clipped strip that grows or
    shrinks, and everything below moves smoothly with its edge, instead of
    rows popping in one at a time.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #100 from mikebvs/claude/dungeon-overview-quests-8n255k
    Overview gets its own row above Quests, with Forever's radial menu icons
  • Overview gets its own row above Quests; Forever radial icons on the headers
    The dungeon Overview moves out of the Encounters list into a header-style
    row of its own at the top of the middle column, with the FullMap icon,
    lit while its page is open. Quests and Encounters use the Exclamation and
    AdventureGuide radial menu icons, each drawn at its own shape.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #99 from mikebvs/data/daily-dungeons-raids-update
    Loot data update: Dungeons and Raids
  • Update Dungeons and Raids loot data from the daily check
  • Merge pull request #98 from mikebvs/claude/dungeon-overview-quests-8n255k
    Show each quest's status under its name in the Quests list
  • Merge pull request #97 from mikebvs/claude/project-thread-19c5p2
    Add /nr icondebug page for Forever's icons
  • Show each quest's status under its name in the Quests list
    Accepted, Incomplete or Completed sits on a small second line under the
    quest name, in the same colors as the quest page, instead of at the
    right of the row.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Add /nr icondebug page showing Forever's side tab and radial menu icons
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01LdbmLU3h7vL4MB468KAc7T
  • Merge pull request #96 from mikebvs/claude/dungeon-overview-quests-8n255k
    Fix the stutter when Quests or Encounters slides open
  • Slide Quests and Encounters open a whole row at a time
    Shrinking every row of a sliding group squashed its text into an
    unreadable pile and stretched the selection highlight, which read as a
    stutter. Rows now appear (or go) whole, top to bottom, and the slide only
    redraws rather than rebuilding the list each frame.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #95 from mikebvs/claude/dungeon-overview-quests-8n255k
    Dungeon lore on the Overview, modern group icons, Quests start shut
  • Dungeon lore on the Overview, modern group icons, Quests start shut
    Each Classic dungeon's Overview gains a short hand-written note on why it
    exists and why adventurers go there (Data/Lore.lua). Every dungeon now
    opens with Encounters open and Quests shut instead of remembering the
    last state, and the group headers use the game's quest and dungeon-skull
    atlases.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #94 from mikebvs/claude/dungeon-overview-quests-8n255k
    Keep "Started from X within" for quest items found through Wowhead
  • Keep 'Started from X within' for items found through Wowhead's list
    Quests whose starting item now comes from the quest-starter list carry
    startsFrom instead of providedItem, so the chest-or-object check no
    longer ran for them and the Crest of Lordaeron lost its 'Started from
    ... within Ruins of Lordaeron' line. Check any starting item no mob drops
    and no giver hands out.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #93 from mikebvs/claude/dungeon-overview-quests-8n255k
    Quests and Encounters groups in the dungeon middle column
  • Merge pull request #92 from mikebvs/data/daily-dungeons-raids-update
    Loot data update: Dungeons and Raids
  • Update Dungeons and Raids loot data from the daily check
  • Split dungeons' middle column into Quests and Encounters
    Dungeons list a Quests group and an Encounters group in the middle
    column, each a header that slides its rows open or shut. Picking a quest
    shows it in the content pane: name, level, chain, who starts it, its
    objective and its rewards. The scraper adds each quest's objective text
    (Classic-DB, or the Wowhead page for quests new in Forever).
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #91 from mikebvs/claude/project-thread-3yexf2
    Shopping link under Back; tabs remember where you left them
  • Shopping link under Back; tabs remember where you left them
    "+ Add to shopping list" now sits under the Back link instead of
    beside it (in Back's spot when there is no Back). Switching tabs by
    hand notes the tab you leave (selection, recipe filter and Back trail)
    and coming back opens it there, so a trip to the Shopping List no
    longer resets the Professions tab.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01MqfuzrouJcGNhssbFYwjWU
  • Merge pull request #90 from mikebvs/claude/dungeon-overview-quests-8n255k
    Fix the dungeon data pull crash on Wowhead's quest-starter list
  • Parse Wowhead list data written as JavaScript
    The quest-starter item list keeps its rows in a JavaScript literal with
    bare keys, which json.loads rejects, and the error report then crashed
    on a request with no arguments, aborting the whole build. Parse bare
    keys, single quotes, trailing commas and undefined, and report failed
    requests whatever their arguments.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #89 from mikebvs/claude/dungeon-overview-quests-8n255k
    Read Wowhead item list rows kept in a variable
  • Read Wowhead item list rows kept in a variable
    Item list pages (the Starts-a-quest list and the name search) declare
    their rows as 'var listviewitems = [...]' and pass 'data: listviewitems'
    to the Listview, so both lists came back empty. Follow the variable to
    its rows, and log the page's Listviews when the quest-starter list is
    still empty.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #88 from mikebvs/claude/native-expand-icons-h4ra9b
    Native style: plain gold + / - on Overview toggles
  • Draw native Overview toggles as a plain gold plus and minus
    Replaces the quest log's small plus/minus button texture with two
    pixel-snapped strokes in the native heading gold.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01RZKrG21pLP2uE5xZm6dYxB
  • Merge pull request #87 from mikebvs/data/daily-dungeons-raids-update
    Loot data update: Dungeons and Raids
  • Update Dungeons and Raids loot data from the daily check
  • Merge pull request #86 from mikebvs/claude/dungeon-overview-quests-8n255k
    Match Forever's quest-starting items to dungeon quests
  • Match Forever's quest-starting items to dungeon quests
    The scraper now reads Wowhead's list of items that begin a quest, opens
    each one new in Forever, and maps the quests its "Starts" tab names back
    to the item. Dungeon quests (and a chain's first quest) with no known start
    get that item, with its ID, so it links and gets droppers. A name-search
    match must also list the quest on its "Starts" tab when any candidate
    does, and a miss reports what the search returned.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #85 from mikebvs/claude/dungeon-overview-quests-8n255k
    Link Dark Iron Map, and mark Crest of Lordaeron as looted in the dungeon
  • Spot items looted from objects by their Wowhead page summary too
    The run after #82 found no "Contained in" tab on the Crest of Lordaeron
    pages, though the page says "It is looted from Crest of Lordaeron." The
    summary now counts as an object source when no mob drops the item, and
    both Crest of Lordaeron quests get fromObject in the current Quests.lua.
    The data report now names quest-starting items with no ID found.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Link Dark Iron Map in Old Ironforge Incursion
    Pins the Dark Iron Map's item ID (274268, from its Wowhead page) in the
    Underground Map notes in forever.json, so the scraper doesn't depend on a
    search to find it, and adds the same ID to the current Quests.lua so the
    link works before the next data run.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #84 from mikebvs/claude/dungeon-overview-quests-8n255k
    Link Dark Iron Map, and open quests only in the section clicked
  • Open a quest only in the faction section it was clicked in
    A quest both factions can take is listed under Alliance and Horde, and
    its open state was saved by quest ID, so opening it in one section opened
    it in the other too. The state is now saved per section.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Find quest-starting item IDs by name on Wowhead as a last resort
    Dark Iron Map (Old Ironforge Incursion) and Extra-Destructive Explosives
    (Destruction in Deadmines) are new in Forever, and neither forever.json,
    Classic-DB nor the quest's Wowhead page gives their item ID, so the
    Overview showed them as plain text. The scraper now looks the name up in
    Wowhead's item search, taking an exact match (a quest item first).
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #81 from mikebvs/claude/search-go-to-source-vzwhqv
    "!" note beside the search box about unobtainable and hidden items
  • Merge pull request #83 from mikebvs/data/daily-dungeons-raids-update
    Loot data update: Dungeons and Raids
  • Update Dungeons and Raids loot data from the daily check
  • Merge pull request #82 from mikebvs/claude/dungeon-overview-quests-8n255k
    Say "Started from X within Dungeon" for items looted from objects
  • Say "Started from X within Dungeon" for items looted from objects
    A quest whose starting item is looted from a chest or object in the
    dungeon (Crest of Lordaeron) now reads "Started from [item] within Ruins
    of Lordaeron" instead of "Comes with [item]". The scraper marks these
    fromObject from the "Contained in" tab of the item's Wowhead page, else
    Classic-DB's chest loot. "Comes with" is left only for items nothing is
    known to drop or hold, and the data check report lists those quests.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Add a '!' note beside the search box about unobtainable and hidden items
    Hover explains that some client items are Season of Discovery leftovers
    that can't be obtained, and that items changed for WoW: Forever show no
    details until the game has shown them to you.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01AhXN83cHofQFBrZxxJkPRL
  • Merge pull request #80 from mikebvs/data/daily-dungeons-raids-update
    Loot data update: Dungeons and Raids
  • Update Dungeons and Raids loot data from the daily check
  • Merge pull request #79 from mikebvs/claude/dungeon-overview-quests-8n255k
    Name the top two mobs that drop a quest's starting item
  • Name the top two mobs that drop a quest's starting item
    Quests started by an item now say which mobs drop it, the two most likely
    first, each a map link like a quest giver (or "(in Dungeon)" with the
    entrance pin). That covers items Wowhead lists as provided ("Comes with"
    stays only when no mob is known to drop the item), startsFrom items and a
    chain's first item.
    The scraper reads the "Dropped by" tab of the item's Wowhead page, and
    falls back to Classic-DB's loot tables (references included). Quests.lua
    gets droppers / chainDroppers on the next Wowhead run.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #78 from mikebvs/claude/search-go-to-source-vzwhqv
    Stop search flickering, and stop searching while the window is closed
  • Stop all search work while the window is closed
    Closing the window (Escape, the X or /nr) drops a search still waiting
    on a typing pause, and item names that finish loading while it is
    closed are kept but trigger no search or redraw. Opening the window
    catches the results up once.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01AhXN83cHofQFBrZxxJkPRL
  • Stop search results flickering while typing
    Search now runs once after a short pause in typing instead of on every
    letter, and only redraws when its results differ from what is shown.
    It keeps item names as they load instead of re-asking the client on
    every search, which had flooded the item cache: names dropped out and
    back in, so results flipped between some and none every few frames.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01AhXN83cHofQFBrZxxJkPRL
  • Merge pull request #77 from mikebvs/claude/project-thread-3yexf2
    Shopping list: box to subtract what's in your bags
  • Shopping list: box to subtract what's in your bags
    A "Subtract what's in my bags" box in the Shopping List header takes
    what the character carries off the To buy counts, updating as bags
    change. The choice is saved. To buy rows now say "In bags: N" (bags
    only, matching the box); the tooltip shows bags and bank separately.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01MqfuzrouJcGNhssbFYwjWU
  • Merge pull request #76 from mikebvs/claude/project-thread-3yexf2
    Add a Shopping List tab with a materials tree
  • Add a Shopping List tab with a materials tree
    Recipes that make an item get an "Add to shopping list" link. The new
    Shopping List tab shows each added item with its materials as a tree;
    crafted materials have a + box that opens them into their own materials,
    so those are bought instead. A To buy column totals what is left to buy
    and how many the character already has.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01MqfuzrouJcGNhssbFYwjWU
  • Merge pull request #75 from mikebvs/claude/project-thread-tlgl8i
    Color pane and section headers gold in the modern style
  • Color pane and section headers gold in the modern style
    Pane labels (INSTANCES, ENCOUNTERS, COLLECTIONS...), loot section labels
    and Overview stat labels now use the heading color, matching the loot
    pane title. The native style already did.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01N5Y6o9qsf33DUySmfeTDU5
  • Merge pull request #74 from mikebvs/claude/project-thread-tlgl8i
    Space the pane label away from the Alliance / Horde toggle
  • Give the pane label room before the Alliance / Horde toggle
    The first pane widens just enough on tabs that show the faction toggle
    (PvP, Factions, Collections) to keep a 20px gap after its label, in
    either window style.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01N5Y6o9qsf33DUySmfeTDU5
  • Merge pull request #73 from mikebvs/claude/project-thread-epoqui
    Softer reputation bar in the native style
  • Soften the native reputation bar: round ends, toned color, no hard border
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01J3LUrPqTTbtFY8efo6LUE6
  • Merge pull request #72 from mikebvs/claude/project-thread-epoqui
    Fix Flow State test standings not matching
  • Match Flow State's test standings when the name comes back in two parts
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01J3LUrPqTTbtFY8efo6LUE6
  • Merge pull request #71 from mikebvs/claude/project-thread-epoqui
    Test reputation standings for Flow State
  • Give Flow State test standings with Argent Dawn and Cenarion Circle
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01J3LUrPqTTbtFY8efo6LUE6
  • Merge pull request #70 from mikebvs/claude/project-thread-epoqui
    Reputation bar on Factions pages
  • Show the character's standing bar on Factions pages
    A bar under the loot header shows progress through the current standing
    (e.g. Friendly 2,267 / 6,000), read live from the reputation API and
    redrawn on UPDATE_FACTION. Factions the character hasn't met (not in
    their reputation list) show no bar and no 'you' marker.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01J3LUrPqTTbtFY8efo6LUE6
  • Merge pull request #69 from mikebvs/claude/dungeon-overview-quests-8n255k
    Show quest item links and quest items at full color
  • Merge pull request #68 from mikebvs/claude/project-thread-lp2zhl
    Swap in new screenshots for the style picker cards
  • Show quest item links and quest items at full color
    The Overview's detail line used the muted font, which is half transparent
    in the modern style, so every link in it (quest-starting items included)
    showed faded. The line now uses a solid muted color, so links and colored
    words keep their full strength.
    Item links in the Overview and item names in the loot tables now share
    one quality color path (ns.Items:Quality, T:QualityColor). Quest items
    the client reports as Poor count as Common, so they show white, not grey.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Swap in new screenshots for the style picker cards
    Native now shows the tiled parchment look; both are downscaled to the
    same 372x202 (padded to 512x256) as before.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_012zNxWZigSc3tERfx8E5vvT
  • Merge pull request #67 from mikebvs/data/daily-dungeons-raids-update
    Loot data update: Dungeons and Raids
  • Update Dungeons and Raids loot data from the daily check
  • Merge pull request #66 from mikebvs/claude/dungeon-overview-quests-8n255k
    Overview: show the item a quest hands over when no giver is known
  • Quests with no known giver show the item they hand over
    Some Forever quests (The Treaty of Understanding in Hall of Thanes) have
    no "Start:" on Wowhead, only an item you get on accepting, marked
    "(Provided)". The scraper now reads those (providedItem/providedItemId)
    and the Overview shows "Comes with [Treaty of Understanding]" as a
    hoverable item link. Start lines with an [icon] tag before the link (item
    starts) are now matched too, and the build report lists quests whose
    start Wowhead doesn't give.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #65 from mikebvs/claude/native-skin-toggle-m8gbea
    Native style: soften the Overview stat boxes
  • Native style: soften the Overview stat boxes
    The Level range / Zone / Encounters boxes drew a flat 35% black box on the
    parchment. In the native style they now get a light shadow that fades out to
    the right and a thin gold rule on the left edge (T:StatBackdrop); the modern
    style keeps its rounded fill.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01BKYXigYkSSLQCMpPK7cq1U
  • Merge pull request #64 from mikebvs/claude/dungeon-overview-quests-8n255k
    Fix the daily loot check failing at "Test the scraper"
  • Scraper: read spawn positions leniently so the daily check's tests pass
    The daily Dungeons and Raids check has failed at "Test the scraper" since
    spawn positions were added: the test dumps' creature tables have no
    position columns, so ClassicDB raised KeyError: 'position_x'. Real dumps
    always carry them; the test fixtures now load with positions at 0.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #63 from mikebvs/claude/project-thread-vvbkht
    Fix faded item names after they finish loading
  • Restore full alpha on item names after they load
    The "Loading..." placeholder sets the faint color (28% alpha), and
    SetTextColor without an alpha kept it, so names that weren't cached on
    first draw stayed faded: white looked grey and blue looked dark.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01J1WxNCP6RCdyrUmfBGiwcH
  • Merge pull request #62 from mikebvs/claude/project-thread-vvbkht
    Color Common items when the game returns no quality
  • Fall back when the game returns no quality for Common items
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01J1WxNCP6RCdyrUmfBGiwcH
  • Merge pull request #61 from mikebvs/claude/native-skin-toggle-m8gbea
    Native style: tile the pane parchment instead of stretching it
  • Native style: tile the pane parchment instead of stretching it
    The Professions recipe-list parchment is one fixed picture, so resizing the
    window stretched its scratch marks. Panes now use the Collections window's
    seamless brown parchment tile (collections-background-tile), repeated at its
    own size like Blizzard's collection templates do, so resizing only shows more
    or less of it. Tinted to 55% to match the darker Professions tone.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01BKYXigYkSSLQCMpPK7cq1U
  • Merge pull request #60 from mikebvs/claude/project-thread-vvbkht
    Show Common item names in #F0F0F0 in the modern style
  • Show Common item names in #F0F0F0 in the modern style
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01J1WxNCP6RCdyrUmfBGiwcH
  • Merge pull request #59 from mikebvs/claude/dungeon-overview-quests-8n255k
    Overview: link quest-starting items; fix PlayerFaction error
  • Merge pull request #58 from mikebvs/claude/native-skin-toggle-m8gbea
    Native style: Professions parchment behind the panes
  • Overview: link quest-starting items; restore PlayerFaction
    Items that start a quest or chain ("from [An Unsent Letter] dropped by
    Edwin VanCleef", "Starts from [Small Scroll]") are now item links in their
    quality color: hovering shows the game's tooltip, shift-click links them in
    chat. The scraper records their IDs (startsFromId, chainStartItemId) from
    forever.json, Classic-DB by name, or the quest's Wowhead page for items new
    in Forever.
    Also puts back the local PlayerFaction helper that the Accepted-status
    change dropped by mistake: SectionOpen errored the first time a faction
    section had no saved state. T:ColorCode now rounds, so computed colors
    (item quality) format cleanly.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Native style: Professions parchment behind the panes
    The native style's list and loot panes now sit on the parchment from the
    Professions window's recipe list (Professions-background-summarylist),
    stretched to fit as the game does there, in place of the inset frame's
    tiled marble. The inset bevel stays.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01BKYXigYkSSLQCMpPK7cq1U
  • Merge pull request #57 from mikebvs/claude/dungeon-overview-quests-8n255k
    Overview: name item droppers with a map pin; show Accepted quests
  • Merge pull request #56 from mikebvs/claude/project-thread-lp2zhl
    Use screenshots of each style in the first-run picker
  • Overview: quests read Accepted while they're in your quest log
    Each quest's status is now "Completed" (flagged done under any version's
    ID), "Accepted" (in the quest log under any version's ID) or "Incomplete".
    Accepting or abandoning a quest refreshes the page.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Overview: name the mob that drops a quest's starting item, with a map pin
    Chains started by a dropped item now read "from Dark Iron Map dropped by
    Dark Iron Spy" instead of "from Dark Iron Map (item)" (or, for Old Ironforge
    Incursion, the garbled "from Dark Iron Map"). The dropper comes from the
    pickup note or Wowhead's start item, is matched to a Classic-DB creature
    (plurals included), and is clickable like any giver: a map pin when it has a
    spot, "(in The Deadmines)" when it's inside another dungeon. "Starts from
    [item], dropped by X" uses the same links.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Use screenshots of each style in the first-run picker
    Replaces the drawn miniatures with downscaled in-game screenshots of the
    Modern and Native windows (Media/StyleModern.tga, StyleNative.tga).
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_012zNxWZigSc3tERfx8E5vvT
  • Merge pull request #55 from mikebvs/claude/project-thread-lp2zhl
    Ask for a window style the first time the window opens
  • Merge pull request #54 from mikebvs/claude/dungeon-overview-quests-8n255k
    Overview: mark quest givers inside a dungeon and pin its entrance
  • Ask for a window style the first time the window opens
    A small dialog over the window offers Modern and Native, each with a
    miniature of the window, and switches the window live as the player
    picks. Continue (or Escape) closes it and points at the footer's Style
    link for a few seconds, using the game's own tutorial pointer in the
    native style. /nr welcome shows it again. Players who already switched
    to the native style, or who change style any other way, aren't asked.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_012zNxWZigSc3tERfx8E5vvT
  • Merge pull request #53 from mikebvs/claude/resizable-window-oufyz0
    Make the window resizable from a corner grip
  • Overview: mark quest givers inside a dungeon and pin its entrance
    Givers that Classic-DB places inside a dungeon (or never places, like
    summoned Vaelan) now read "Bijou (inside)", or "(in Dire Maul: West)" for
    another dungeon. Hovering says which dungeon; clicking pins the dungeon's
    entrance, taken from Classic-DB's GM teleport spots. Objects such as the
    Discs of Norgannon are covered too.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Make the window resizable from a corner grip
    Drag the bottom-right grip to resize; the loot pane takes the extra width
    and every pane grows in height. Minimum 960x460, size saved in NeedRollDB
    and shared by both styles. Double-click the grip or /nr reset to restore
    the default size (/nr reset also recenters).
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01PRS6hbX25NGLQdWbtK1t6C
  • Merge pull request #52 from mikebvs/claude/raid-loot-by-boss-7vubab
    Show encounter notes on their own line under the boss name
  • Merge pull request #51 from mikebvs/claude/dungeon-overview-quests-8n255k
    Overview: quests start collapsed
  • Show encounter notes on their own line under the boss name
    Notes like 'rare', 'zone-wide' and 'you' move from after the boss name to
    a second line beneath it, 2pt smaller than the name (10pt, both styles).
    Rows with a note are 40px tall; the encounter list now lays out and
    scrolls rows of mixed heights.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01FA8SAnG6AHLW2ietsNpWzH
  • Overview: every quest starts collapsed; quests you open stay open
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #50 from mikebvs/claude/dungeon-overview-quests-8n255k
    Overview: quest-link yellow names, readable item-started chains, crisp reward icons
  • Overview: quest names in quest-link yellow, item-started chains read naturally, reward icons on whole pixels
    • Quest names ([Quest] headers and 'Starts with [Quest]') use the game's
      quest-link yellow, #FFFF00.
    • A chain whose first quest starts from an item reads 'Starts with [The Unsent
      Letter] from An Unsent Letter (item)' instead of 'from Use An Unsent Letter';
      the scraper records chainStartItem and reads item pickups ('Use X',
      'X quest-start item', 'X (dropped by Y)').
    • Reward cells at 0.75x are placed on whole screen pixels with a 1px border,
      so the icon's top edge no longer drops out.
      Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
      Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #49 from mikebvs/claude/dungeon-overview-quests-8n255k
    Quest blacklist and larger faction quest headers
  • Overview: faction quest headers in the heading gold, 3pt larger than before
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Quest blacklist: scraper/quests/blacklist.txt drops listed quest IDs and ranges
    Seeded with Season of Discovery's ID range (76000-91999) and The Heart of the
    Void (78916, 78917) in Blackfathom Deeps, which Wowhead's Forever zone page lists.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #48 from mikebvs/claude/dungeon-overview-quests-8n255k
    Map pins: place quest givers by world position
  • Map pins: place quest givers by world position so they land right on Forever's maps
    Wowhead's percentages are on its own zone maps; Forever's Stormwind map takes
    in the harbor, so Argos Nightwhisper pinned in the harbor instead of the Park.
    Each spot now also carries a world position (fitted per zone from NPCs with a
    known Classic-DB spawn, or the Classic spawn itself), and the addon turns it
    into a spot on the game's own map with C_Map.GetMapPosFromWorldPos.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #47 from mikebvs/claude/dungeon-overview-quests-8n255k
    Overview: click a quest giver to pin them on the map
  • Remove temporary quest probe workflow; document giver map spots
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Dungeon quests from Wowhead (probe run)
  • Wowhead: back off when rate limited, keep NPC map pages 30 days, keep known spots on failure
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Dungeon quests from Wowhead (probe run)
  • Merge pull request #46 from mikebvs/claude/raid-loot-by-boss-7vubab
    List dungeon shared loot under every boss that drops it
  • List dungeon shared loot under every boss that drops it
    Dungeons now follow the raid rule: no 'Shared Boss Loot' list. Each item
    shows under every boss that drops it, and 'Trash Drops' lists everything
    non-boss enemies drop. Zone-wide drops every creature rolls at under 1%
    (Shadowfang Keep's blues) show under Trash Drops only, in dungeons and
    raids alike. Data files are rebuilt by the daily Dungeons and Raids check,
    which has Wowhead access.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01FA8SAnG6AHLW2ietsNpWzH
  • Merge pull request #45 from mikebvs/claude/search-go-to-source-vzwhqv
    Search shows matches as soon as their names load
  • Overview: quest detail line as 'Requires level · Chain step · Starts with [Quest] from NPC'; click a giver to pin them on the map
    The scraper records each quest giver's NPC ID and map spot (Wowhead's
    g_mapperData: uiMapID and coordinates); Quests.lua registers the spots with
    ns.Data:RegisterNpcs. Clicking a giver sets a tracked user waypoint and opens
    the world map there. Long detail lines wrap.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Show search matches as soon as their names load
    Search already matched plain, case-insensitive substrings, but names not
    yet in the client cache were skipped and nothing redrew when they
    arrived, so a match only appeared on the next keystroke. Find now
    requests uncached names, any name arriving mid-search queues a redraw,
    and redraws of the same search keep their scroll position.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01AhXN83cHofQFBrZxxJkPRL
  • Temporary probe for Wowhead NPC map data
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Merge pull request #43 from mikebvs/claude/search-go-to-source-vzwhqv
    Go-to-source button on search results, and browsing sets a search aside
  • Merge pull request #44 from mikebvs/claude/dungeon-overview-quests-8n255k
    Overview: no dropdown on a faction with no quests
  • Overview: no arrow or click on a faction with no quests
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Set a search aside while browsing, resume it on clicking the box
    Clicking a tab, instance, encounter, faction or a result's go-to button
    now shows normal browsing while the search text stays in the box.
    Clicking back into the box brings the results back.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01AhXN83cHofQFBrZxxJkPRL
  • Add a go-to-source button on search results
    Each search result row gets a small arrow button at its right end. Hover
    names the page (tab > list > encounter); click leaves the search, opens
    that page and highlights and scrolls to the item.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01AhXN83cHofQFBrZxxJkPRL
  • Merge pull request #42 from mikebvs/claude/dungeon-overview-quests-8n255k
    Dungeon Overview page with quests
  • Merge pull request #41 from mikebvs/claude/rename-needroll-s5hjlq
    Show NeedRoll in the window title
  • Remove temporary quest probe workflow
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Dungeon quests from Wowhead (probe run)
  • Merge duplicate quest versions, keep instance-typed rows, seed Excavation Site quests
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Overview page for dungeons (work in progress); debug quest rows
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Dungeon quests from Wowhead (probe run)
  • Scraper: dungeon quest lists for the Overview page
    Builds NeedRoll/Data/Quests.lua from Wowhead's Forever zone pages, the
    hand-kept scraper/quests/forever.json and Classic-DB (givers, chains, and
    the whole list when Wowhead is unreachable).
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01ETLUFam9k4Nw6AE36LB7aK
  • Show NeedRoll in the window title
    The modern window's two-tone title still read "ForeverLoot"; it now reads
    "Need" plus "Roll" in the heading colour.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01LruisaSj7mKZD3V3SpQdeh
  • Temporary probe of Wowhead quest data
  • Merge pull request #40 from mikebvs/claude/item-level-line-cdoaum
    Drop the dangling dot on quest items
  • Drop the dangling dot on items with no slot, like quest items
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01YSpX6CoBmQXdB7zroGUF1A
  • Merge pull request #39 from mikebvs/claude/item-level-line-cdoaum
    Show type · slot and level requirement on item rows
  • Show type · slot and level requirement on item rows
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01YSpX6CoBmQXdB7zroGUF1A
  • Merge pull request #38 from mikebvs/claude/even-line-weights-e2crcd
    Draw the connector straight when the two rows sit side by side
  • Merge pull request #37 from mikebvs/data/new-instances
    New dungeons and raids
  • Merge pull request #36 from mikebvs/data/daily-dungeons-raids-update
    Loot data update: Dungeons and Raids
  • Draw the connector straight when the two rows sit side by side
    Rows of different heights at the top of their lists left a few-unit jog
    in the gutter that looked clipped. When the rows overlap and the offset
    is under 12 units, run one straight line through the overlap.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_018W1kZj2ar8SFo5uHygS5aU
  • Build new dungeons and raids from new-instances
  • Adjusted City of Dalaran zone
  • Update Dungeons and Raids loot data from the daily check
  • Fix The Barrow Deeps file
  • Merge pull request #35 from mikebvs/data/new-instances
    New dungeons and raids
  • Build new dungeons and raids from new-instances
  • Merge pull request #34 from mikebvs/data/new-instances
    New dungeons and raids
  • Fix City of Dalaran Dungeon file
  • Build new dungeons and raids from new-instances
  • Fix Hall of Thanes final boss name
  • Merge pull request #33 from mikebvs/data/new-instances
    New dungeons and raids
  • Merge pull request #32 from mikebvs/claude/rename-needroll-s5hjlq
    Wait for boss NPC IDs before building new dungeons and raids
  • Build new dungeons and raids from new-instances
  • Don't build new-instances dungeons before their bosses have NPC IDs
    The daily Dungeons and Raids check built Hall of Thanes and the other new
    instances with empty loot, because only the New dungeons and raids workflow
    looks up boss NPC IDs. Builds now skip a new-instances file until at least
    one boss has an ID. The daily check may also update Data.xml, so a new file
    it builds is loaded by the game.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01LruisaSj7mKZD3V3SpQdeh
  • Merge pull request #31 from mikebvs/data/daily-dungeons-raids-update
    Loot data update: Dungeons and Raids
  • Update Dungeons and Raids loot data from the daily check
  • Fix Dalaran and Krol'dok files
  • Merge pull request #30 from mikebvs/claude/rename-needroll-s5hjlq
    Skip unfinished new-instances files instead of failing every build
  • Leave unfinished new-instances files out instead of failing every build
    A file with no bosses, an empty field or a clashing name used to raise while
    catalog.py was imported, which stopped the tests and every scraper run. Such
    files are now skipped and listed under "Not built yet" in the lookup and
    build reports, and as warnings on the Actions run.
    Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com
    Claude-Session: https://claude.ai/code/session\_01LruisaSj7mKZD3V3SpQdeh
  • Add new dungeons and raids

This mod has no additional files