Trust & reproducibility
L2Tools separates game-data evidence from the website or transport used to obtain a copy. The objective is to state what a value represents, which transformation produced it and how it was checked.
Every input is classified by what it can actually prove: client identifier, server-side behavior, runtime observation, formula, or secondary discrepancy signal. An acquisition channel is not treated as the original authority.
Each import run records chronicle, category, collection time, file hash, acquisition channel and parser version in an internal manifest. Public pages expose the resulting dataset and interpretation contract without presenting that channel as the original authority.
Interlude and High Five records are imported into separate namespaces. IDs may match across chronicles, but values are never silently copied from one chronicle to another.
Raw server values, runtime values, grouped drop probabilities and result-stage tables are different concepts. Every transformation is named and versioned so a number can be reproduced.
Imports reject invalid IDs, impossible probabilities, inverted quantity ranges, orphan links and Soul Crystal stage/item mismatches. Record counts and representative bosses are checked before publication.
High-impact correction reports are reviewed with evidence, then published through the data changelog. A correction never silently rewrites the public interpretation of a field.
The current dataset publishes normalized snapshot values without silently applying a CON, level or raid multiplier. A runtime value will only be labelled as such once its raw field and exact formula are both versioned.
Public percentages are the active snapshot’s published x1 values. Group probability and item-within-group probability remain distinct; L2Tools does not invent a conversion when the raw group structure is unavailable.
A row labelled result stage N means a successful transition from stage N-1 to stage N. The item ID must also resolve to a stage N crystal.