Replace the incomplete 3,956-row production CSV with one immutable projection of all 6,266 records in portal.dat. Preserve retail formula targeting, shared Spellbook/MagicRuntime metadata ownership, and fail startup when the required SpellTable is absent. Co-authored-by: OpenAI Codex <codex@openai.com>
29 lines
1.3 KiB
Markdown
29 lines
1.3 KiB
Markdown
# Game-data tables
|
||
|
||
Reference data tables used as research input and focused test fixtures.
|
||
Tracked in git so later sessions inherit them without round-tripping through
|
||
external repositories. Production spell metadata comes directly from the
|
||
installed retail DATs through `DatCollection`.
|
||
|
||
## Contents
|
||
|
||
| File | Loader | Notes |
|
||
|------|--------|-------|
|
||
| `spells.csv` | Legacy `SpellTable.LoadFromCsv` test/tool input only; not copied to production output. | Historical 3,956-row server-side export. The installed end-of-retail SpellTable contains 6,266 records, so this file must never be treated as a complete client catalog. |
|
||
|
||
## Format note — `spells.csv`
|
||
|
||
RFC 4180 with header row. The `Description` column is quoted with embedded
|
||
commas; everything else is plain. See `SpellTable` for the legacy parser.
|
||
|
||
## Provenance
|
||
|
||
`spells.csv` came from a server-side database export of the retail spell table,
|
||
likely a community-shared dump from circa 2017–2019. Spell IDs match the wire
|
||
values used by ACE, but the file omits 2,310 records present in the installed
|
||
end-of-retail DAT and some exported target masks differ from the retail
|
||
client's formula-derived result.
|
||
|
||
Do not update production behavior by replacing this file. The canonical
|
||
runtime projection and its retail references are documented in
|
||
`docs/research/2026-07-15-retail-spell-catalog-pseudocode.md`.
|