2.2 KiB
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 (type6).
It resolves that directory in this order:
--game-path PATHEQL_GAME_PATH/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
# 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.