Canonicalize reward IDs during case-insensitive mapping
This commit is contained in:
parent
5fe39b96ae
commit
7f7ad80b46
9 changed files with 64 additions and 38 deletions
|
|
@ -84,6 +84,12 @@ Current stable pool IDs:
|
|||
Avoid using `banner.name`, `reward_name`, `reward_type` or `reward_rank` as primary IDs. They
|
||||
are useful display fields, but may change when mapping files are updated.
|
||||
|
||||
Known `reward_id` values are matched case-insensitively and emitted using the
|
||||
canonical casing from the bundled mapping. This prevents packet/asset casing
|
||||
differences from dropping display metadata or producing different downstream
|
||||
IDs. An unknown reward keeps the casing decoded from the packet. Reward IDs are
|
||||
not UID inputs, so canonicalizing their casing does not change pull UIDs.
|
||||
|
||||
## Stability notes
|
||||
|
||||
Every JSON record is exported with a stable `uid`. Re-scanning deeper history can
|
||||
|
|
|
|||
|
|
@ -101,6 +101,8 @@ Decoded fields:
|
|||
Arc/Gashapon history uses the same scheme at `ASCII * 2`.
|
||||
- The decoder decodes the key to its id string and looks up display metadata
|
||||
in `mappings/arcs.json`, `mappings/characters.json`, and `mappings/items.json`.
|
||||
Lookups are case-insensitive across Monopoly, Arc, and Mystery Box decoders;
|
||||
known IDs are emitted using mapping-canonical casing.
|
||||
Achievement display metadata is generated separately in
|
||||
`mappings/achievements.json`.
|
||||
Unknown rewards still export their decoded id with empty name/rank.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue