• You've discovered RedGuides 📕 an EverQuest multi-boxing community 🛡️🧙🗡️. We want you to play several EQ characters at once, come join us and say hello! 👋
  • IS THIS SITE UGLY? Change the look. To dismiss this notice, click the X --->
Live/Test Spell Info Parser

Utility Live/Test Spell Info Parser 04/17/2025

Download
Software Requirements
python3, pandas, tabulate
Server Type
🏢 Live TLP Test
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:
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:
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):
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!!!
Source Repository
https://github.com/dannuic/spell_converter
[git] Automation options?
Yes
Author
dannuic
First release
Last update
Rating
0.00 star(s) 0 ratings

More resources from dannuic

Share this resource

Latest updates

  1. 04/17/2025

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