An unidentified unique on a base with two of one name is still a question - #48
Merged
Conversation
…tion ADDED: a capture of a Stormblood on the Topaz Flask, and a test that the base rolls into two candidates rather than one, that each identified copy resolves to the record for the base it is on, and that the search is sent for that base. CHANGED: the bundle slicer refuses a key naming more than one record instead of quietly taking the last, so a unique that drops on two bases is asked for as `"UNIQUE::Stormblood::Topaz Flask"` and the two game classes that both print "Maps" are told apart by id. CHANGED: the test bundle carries both flask bases, both Stormblood records and Vessel of Vinktar; `strip_magic_affixes`' "not in this bundle" case moved to a base the slice still lacks. - The defect itself was in the data build, which keyed a unique on its name alone and dropped the second base — fixed there. Nothing in the app changed; this is the cover that would have caught it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release notes
CHANGED: an unidentified unique on a base that rolls into two uniques of the same name now asks
which one it is, instead of naming and pricing the other unique that drops on that base. An
unidentified Topaz Flask was read as a Vessel of Vinktar, a Crystal Wand as a Corona Solaris and a
Primal Arrow Quiver as a Poised Prism; four more bases said no unique dropped on them at all. The
fix is in the game data, so it arrives with the next data release and needs no update.
Review notes
ADDED: a capture of a Stormblood on the Topaz Flask, and a test that the base rolls into two
candidates rather than one, that each identified copy resolves to the record for the base it is
on, and that the search is sent for that base.
CHANGED: the bundle slicer refuses a key naming more than one record instead of quietly taking the
last, so a unique that drops on two bases is asked for as
"UNIQUE::Stormblood::Topaz Flask"andthe two game classes that both print "Maps" are told apart by id.
CHANGED: the test bundle carries both flask bases, both Stormblood records and Vessel of Vinktar;
strip_magic_affixes' "not in this bundle" case moved to a base the slice still lacks.(namespace, name, tradeDisc)and so threw away 20 of trade's 1,546 unique entries across 13names — fixed in PathOfPriceCheck-Data
b2364e1, which also documents the identity. What thatcost was
en-items-base.index.bin: a base left with one candidate is not a question the appasks, it is the name.
Still outstanding
en-unique-mods.ndjsonkeys on the name alone too, so the two variants of a two-base uniqueare merged into one record — Stormblood's says its fixed mods include both the Lightning and the
Cold ailment line, and five of the affected names show it (Combat Focus, Doryani's Delusion,
Eclipse Solaris and Precursor's Emblem, the last with 12 duplicated entries). Mostly inert: the
join is per printed modifier, and the "only trust a range that contains the roll" guard discards
a range belonging to the other variant. Fixing it means one record per (name, base) and
find_unique_modstaking the base, which is a coordinated data + app change — released appswould get the wrong variant where today they get a superset.
Topaz Stormblood gets
StormbloodSapphire.png. That is the game's own answer:UniqueStashLayouthas one row per name.🤖 Generated with Claude Code