v0.2.0-forever
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
- The raid Overview's Attunement heading sits over a heavy rule as wide
- 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
- Quest names ([Quest] headers and 'Starts with [Quest]') use the game's
- 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