• Hail, we're RedGuides. We want you to play six (yes, 6!) EverQuest characters at once. We have scripts and a friendly community to help, please join our playstyle and say hello! 👋
  • We've added LLM sections to our Terms & Rules and Resource Rules, for everyone's sanity & in-game safety.
    Read more
    a. Do not replace your voice with an LLM. This goes for your posts and your scripts. Drafting and editing with a tool is fine, but don't take you out of what you share.
    b. Do not replace your EQ character's voice with an LLM. We don't want scripts that speak over /ooc, /shout or other public channels. This has been an unwritten rule that's kept casino scripts off the site for decades, but we're now compelled to make it clear: keep automated communication private.

    Why Does RG Review Scripts?
    Nearly every LLM-written Lua script we see is making your character do impossible things, and rarely in a way that's beneficial to you. We've seen heavy server hammering, /target over impossible distances when /nav spawn would passively accomplish the same thing, a spawn search that fires 20+ times per second, and other pointless actions that are likely annoying GMs.

    You are welcome to use LLMs as a tool to structure, draft, and edit your work, but please read critically before hitting /lua run
Live/Test Spell Info Parser

Utility Live/Test Spell Info Parser 05/14/2026

Download
Have you ever wanted to look at raw spell info, but the search function in lucy is failing you and we haven't exposed enough information in the spell datatype? With a little SQL knowledge, this utility will give you that ability! Just run this little script and it will produce a sqlite3 database file with all that information. The command help is as follows:
command help
Code:
usage: spell_converter.py [-h] [-b] [-c] [-o OUTPUT] eq_dir

positional arguments:
  eq_dir                everquest directory where files necessary for parsing
                        live

options:
  -h, --help            show this help message and exit
  -b, --base-tables     recreate the base spells and spas tables in the db
  -c, --character-tables
                        parse character spellbook outputs and add tables in
                        the result
  -o, --output OUTPUT   sqlite db file to write results to (default spells.db)

Before running any commands, check the requirements!

So for example, if you wanted to parse the base spell info, and any character files that you have generated (through /outputfile missingspells or /outputfile spellbook) then you would run this command:

python.py spell_converter.py -bc /path/to/EQ

Then, say you go and buy some spells and rerun your outputfiles, you can then regenerate just the character portions by running:

python.py spell_converter.py -c /path/to/EQ

Then, a new patch drops! Get that shiny new spell info into your sqlite3 db (without removing your character information) by running this:

python.py spell_converter.py -b /path/to/EQ

After you run these, enjoy the fruits of your labor by opening your favorite sqlite3 client, pointing it to your output file, and running some juicy SQL commands. Here's a taster:


get highest spell stacker for a character
SQL:
SELECT name, stacking_name, stacking_rank FROM spells
JOIN (
    SELECT id, MAX(stacking_rank) AS stacking_rank
    FROM spells
    JOIN spellbooks USING (name)
    WHERE character = 'Charname' AND server = 'shortname'
      AND stacking_group IS NOT NULL
    GROUP BY stacking_group
) maxed
USING (id, stacking_rank);

and another little taste:

get nuke damage information (simplifed)
SQL:
SELECT name, -base1 AS damage, mana, (-base1/mana) AS dpm, casting_time, wiz_level, description
FROM spells
JOIN spas USING (id)
JOIN spellbooks USING (name)
WHERE character = 'Charname' AND server = 'shortname'
  AND spa_name = 'HP'
  AND primary_category_name = 'DIRECT DAMAGE'
  AND resist_type_name = 'Fire'
  AND target_type_name = 'Single'
ORDER BY damage DESC;

The possibilities are endless!!!
Author
dannuic
Watchers
2
First release
Last update

Ratings

0.00 star(s) 0 ratings

More resources from dannuic

Share this resource

Latest updates

  1. 05/14/2026

    〰️Commits Fixed parsing error for calc values that exceeded int range (9b8dc7d) ~dannuic
  2. 04/17/2025

    〰️Commits Cleaned up whitespace (49eeea5) ~Dustin Niehoff Added new spell field from 4-14...
Back
Top
Cart