Add spell data helper and organize screenshots
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 9.3 KiB |
|
Before Width: | Height: | Size: 340 KiB After Width: | Height: | Size: 340 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 403 KiB |
@@ -0,0 +1,59 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user