Files
eqclient-conf/docs/eql-spell-data.md
T

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 (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

# 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.