60 lines
2.2 KiB
Markdown
60 lines
2.2 KiB
Markdown
# EverQuest Legends spell data
|
|
|
|
`scripts/eql-spells` creates a local SQLite search index from the EQL client
|
|
files. The client installation remains the source of truth: neither the raw
|
|
files nor the generated database are tracked in this repository.
|
|
|
|
## Sources and cache
|
|
|
|
The command reads these files from the EQL game directory:
|
|
|
|
* `spells_us.txt` — spell ID, name, and client numeric fields.
|
|
* `spells_us_str.txt` — caster, target, and fade messages.
|
|
* `dbstr_us.txt` — spell descriptions (`type` `6`).
|
|
|
|
It resolves that directory in this order:
|
|
|
|
1. `--game-path PATH`
|
|
2. `EQL_GAME_PATH`
|
|
3. `/home/pleb/Games/EverQuestLegends`
|
|
|
|
The default generated index is
|
|
`$XDG_CACHE_HOME/eqclient-conf/eql-spells.sqlite`, or
|
|
`~/.cache/eqclient-conf/eql-spells.sqlite` when `XDG_CACHE_HOME` is unset.
|
|
Use `--db PATH` to use a different index, such as one for a test fixture.
|
|
|
|
Each query compares the client files' paths, sizes, nanosecond modification
|
|
times, and `:crc` sidecars (when supplied) with index metadata. It rebuilds
|
|
automatically after an EQL update. `build` always forces a rebuild.
|
|
|
|
## Commands
|
|
|
|
```bash
|
|
# Force an index build.
|
|
scripts/eql-spells build
|
|
|
|
# Exact lookup by numeric spell ID or case-insensitive exact name.
|
|
scripts/eql-spells get 4
|
|
scripts/eql-spells get 'Summon Waterstone'
|
|
|
|
# Include the complete original caret-delimited row and its fields.
|
|
scripts/eql-spells get 4 --raw
|
|
|
|
# Name substring lookup and full-text name/description search.
|
|
scripts/eql-spells find water --limit 10
|
|
scripts/eql-spells search 'underwater breathing'
|
|
|
|
# Use a different EQL installation or cache location.
|
|
scripts/eql-spells --game-path /path/to/EverQuestLegends --db /tmp/spells.sqlite search fire
|
|
```
|
|
|
|
Successful commands emit JSON on stdout. `get` returns `spell`; `find` and
|
|
`search` return `results`. All include source fingerprint metadata. Add
|
|
`--text` to query commands for compact human-readable output.
|
|
|
|
The first version intentionally exposes only reliably joined fields: ID, name,
|
|
description, cast messages, and (with `--raw`) the complete original row. The
|
|
numeric columns in `spells_us.txt` have no embedded schema, so class, level,
|
|
mana, and effect filters should be added only after their mapping has been
|
|
verified for this particular client build.
|