Skip to content

An unidentified unique on a base with two of one name is still a question - #48

Merged
JIRPOS merged 1 commit into
masterfrom
multi-base-unique-candidates
Aug 14, 2026
Merged

An unidentified unique on a base with two of one name is still a question#48
JIRPOS merged 1 commit into
masterfrom
multi-base-unique-candidates

Conversation

@JIRPOS

@JIRPOS JIRPOS commented Aug 14, 2026

Copy link
Copy Markdown
Owner

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" 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.

  • Nothing in the app changed. The defect was in the data build, which deduplicated item records on
    (namespace, name, tradeDisc) and so threw away 20 of trade's 1,546 unique entries across 13
    names — fixed in PathOfPriceCheck-Data b2364e1, which also documents the identity. What that
    cost was en-items-base.index.bin: a base left with one candidate is not a question the app
    asks, it is the name.

Still outstanding

  • en-unique-mods.ndjson keys on the name alone too, so the two variants of a two-base unique
    are 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_mods taking the base, which is a coordinated data + app change — released apps
    would get the wrong variant where today they get a superset.
  • Artwork is joined per name, so both records of a two-base unique carry one picture — the
    Topaz Stormblood gets StormbloodSapphire.png. That is the game's own answer:
    UniqueStashLayout has one row per name.

🤖 Generated with Claude Code

…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>
@JIRPOS
JIRPOS merged commit ad46532 into master Aug 14, 2026
9 checks passed
@JIRPOS
JIRPOS deleted the multi-base-unique-candidates branch August 14, 2026 23:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant