EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   General::General Discussion (https://www.eqemulator.org/forums/forumdisplay.php?f=586)
-   -   spells_us.txt data format (https://www.eqemulator.org/forums/showthread.php?t=20100)

lordkazan 02-19-2006 01:43 PM

spells_us.txt data format
 
I've been searching around for documentation of the spells_us.txt data format but i've come up pretty much empty. I need to know every column. I have a SQL table that i based off eqcaster.exe's output - but it cannot handle the number of spells in the abandoned spells_en.txt not to mention to new completey spells_us.txt [that contains twice the number of spells] - the auto_increment column is database purposes only, the rest of it is fields from the file

anyone got the documentation on how to translate the file directly? spells email me at thekazan AT gmail DOT com - thanks!

Code:

CREATE TABLE `spells` (
  `eq_spells_id` int(11) unsigned NOT NULL auto_increment,
  `Spell Name` tinytext,
  `Description 1` tinytext,
  `Description 2` tinytext,
  `Description 3` tinytext,
  `Description 4` tinytext,
  `Description 5` tinytext,
  `Description 6` tinytext,
  `Description 7` tinytext,
  `Description 8` tinytext,
  `Description 9` tinytext,
  `Description 10` tinytext,
  `Description 11` tinytext,
  `Description 12` tinytext,
  `Extra` tinytext,
  `Mana Drain` int(11) NOT NULL default '0',
  `WAR` int(8) unsigned NOT NULL default '255',
  `CLR` int(8) unsigned NOT NULL default '255',
  `PAL` int(8) unsigned NOT NULL default '255',
  `RNG` int(8) unsigned NOT NULL default '255',
  `SHD` int(8) unsigned NOT NULL default '255',
  `DRU` int(8) unsigned NOT NULL default '255',
  `MNK` int(8) unsigned NOT NULL default '255',
  `BRD` int(8) unsigned NOT NULL default '255',
  `ROG` int(8) unsigned NOT NULL default '255',
  `SHM` int(8) unsigned NOT NULL default '255',
  `NEC` int(8) unsigned NOT NULL default '255',
  `WIZ` int(8) unsigned NOT NULL default '255',
  `MAG` int(8) unsigned NOT NULL default '255',
  `ENC` int(8) unsigned NOT NULL default '255',
  `BST` int(8) unsigned NOT NULL default '255',
  `Casting Time` float NOT NULL default '0',
  `Fizzle Time` float NOT NULL default '0',
  `Recovery Time` float NOT NULL default '0',
  `Indoor/Outdoor` tinytext,
  `Time` tinytext,
  `Location` tinytext,
  `Skill` tinytext,
  `Duration` int(11) NOT NULL default '0',
  `Dur Formula` int(11) NOT NULL default '0',
  `AoE Duration` int(11) NOT NULL default '0',
  `Pos/Neg` int(11) NOT NULL default '0',
  `Category` tinytext,
  `Attrib 1` tinytext,
  `Min 1` int(11) NOT NULL default '0',
  `Max 1` int(11) NOT NULL default '0',
  `Calc 1` tinytext,
  `Attrib 2` tinytext,
  `Min 2` int(11) NOT NULL default '0',
  `Max 2` int(11) NOT NULL default '0',
  `Calc 2` tinytext,
  `Attrib 3` tinytext,
  `Min 3` int(11) NOT NULL default '0',
  `Max 3` int(11) NOT NULL default '0',
  `Calc 3` tinytext,
  `Attrib 4` tinytext,
  `Min 4` int(11) NOT NULL default '0',
  `Max 4` int(11) NOT NULL default '0',
  `Calc 4` tinytext,
  `Attrib 5` tinytext,
  `Min 5` int(11) NOT NULL default '0',
  `Max 5` int(11) NOT NULL default '0',
  `Calc 5` tinytext,
  `Attrib 6` tinytext,
  `Min 6` int(11) NOT NULL default '0',
  `Max 6` int(11) NOT NULL default '0',
  `Calc 6` tinytext,
  `Attrib 7` tinytext,
  `Min 7` int(11) NOT NULL default '0',
  `Max 7` int(11) NOT NULL default '0',
  `Calc 7` tinytext,
  `Attrib 8` tinytext,
  `Min 8` int(11) NOT NULL default '0',
  `Max 8` int(11) NOT NULL default '0',
  `Calc 8` tinytext,
  `Attrib 9` tinytext,
  `Min 9` int(11) NOT NULL default '0',
  `Max 9` int(11) NOT NULL default '0',
  `Calc 9` tinytext,
  `Attrib 10` tinytext,
  `Min 10` int(11) NOT NULL default '0',
  `Max 10` int(11) NOT NULL default '0',
  `Calc 10` tinytext,
  `Attrib 11` tinytext,
  `Min 11` int(11) NOT NULL default '0',
  `Max 11` int(11) NOT NULL default '0',
  `Calc 11` tinytext,
  `Attrib 12` tinytext,
  `Min 12` int(11) NOT NULL default '0',
  `Max 12` int(11) NOT NULL default '0',
  `Calc 12` tinytext,
  `Reagent 1` tinytext,
  `Quantity 1` int(11) NOT NULL default '0',
  `Reageant 2` tinytext,
  `Quantity 2` int(11) NOT NULL default '0',
  `Reageant 3` tinytext,
  `Quantity 3` int(11) NOT NULL default '0',
  `Reageant 4` tinytext,
  `Quantity 4` int(11) NOT NULL default '0',
  `Focus 1` tinytext,
  `Focus 2` tinytext,
  `Focus 3` tinytext,
  `Focus 4` tinytext,
  `Resistance` tinytext,
  `Target` tinytext,
  `Resist Adj` int(11) NOT NULL default '0',
  `Gem` int(11) NOT NULL default '0',
  `Range` float NOT NULL default '0',
  `AoE Range` float NOT NULL default '0',
  `Back Range` float NOT NULL default '0',
  `Up Range` float NOT NULL default '0',
  `Spell ID` int(11) unsigned NOT NULL default '0',
  `You Cast` tinytext,
  `Someone Casts` tinytext,
  `Cast on You` tinytext,
  `Cast on Someone` tinytext,
  `Spell Fades` tinytext,
  PRIMARY KEY  (`eq_spells_id`)
) TYPE=MyISAM;


Cisyouc 02-20-2006 01:40 AM

Ive tried to make a spell editor in the past, but I [ was too lazy / was not able / no one seemed to have documentation ] to figure out the syntax of the spells_us.txt file. :(

fathernitwit 02-20-2006 02:23 AM

spdat.h
might check lucy for possibly identities of the spacing/unknown fields.
Code:

struct SPDat_Spell_Struct
{
/* 000 */        int                        id;        // not used
/* 001 */        char                name[32]; // Name of the spell
/* 002 */        char                player_1[32]; // "PLAYER_1"
/* 003 */        char                teleport_zone[32];        // Teleport zone, pet name summoned, or item summoned
/* 004 */        char                you_cast[64]; // Message when you cast
/* 005 */        char                other_casts[64]; // Message when other casts
/* 006 */        char                cast_on_you[64]; // Message when spell is cast on you
/* 007 */        char                cast_on_other[64]; // Message when spell is cast on someone else
/* 008 */        char                spell_fades[64]; // Spell fades
/* 009 */        float                range;
/* 010 */        float                aoerange;
/* 011 */        float                pushback;
/* 012 */        float                pushup;
/* 013 */        int32                cast_time; // Cast time
/* 014 */        int32                recovery_time; // Recovery time
/* 015 */        int32                recast_time; // Recast same spell time
/* 016 */        int32                buffdurationformula;
/* 017 */        int32                buffduration;
/* 018 */        int32                AEDuration;        // sentinel, rain of something
/* 019 */        int16                mana; // Mana Used
/* 020 */        sint16                base[EFFECT_COUNT];        //various purposes
/* 032 */        int                        base2[12];                        //various purposes
/* 044 */        sint16                max[EFFECT_COUNT];
/* 056 */        int16                icon; // Spell icon
/* 057 */        int16                memicon; // Icon on membarthing
/* 058 */        sint16                components[4]; // reagents
/* 062 */        int                        component_counts[4]; // amount of regents used
/* 066 */        signed                NoexpendReagent[4];        // focus items (Need but not used; Flame Lick has a Fire Beetle Eye focus.)
                                                                                        // If it is a number between 1-4 it means components[number] is a focus and not to expend it
                                                                                        // If it is a valid itemid it means this item is a focus as well
/* 070 */        int16                formula[EFFECT_COUNT]; // Spell's value formula
/* 082 */        int                        LightType; // probaly another effecttype flag
/* 083 */        int                        goodEffect; //0=detrimental, 1=Beneficial, 2=Beneficial, Group Only
/* 084 */        int                        Activated; // probaly another effecttype flag       
/* 085 */        int                        resisttype;
/* 086 */        int                        effectid[EFFECT_COUNT];        // Spell's effects
/* 098 */        SpellTargetType        targettype;        // Spell's Target
/* 099 */        int                        basediff; // base difficulty fizzle adjustment
/* 100 */        int                        skill;
/* 101 */        sint16                zonetype;        // 01=Outdoors, 02=dungeons, ff=Any
/* 102 */        int16                EnvironmentType;
/* 103 */        int                        TimeOfDay;
/* 104 */        int8                classes[PLAYER_CLASS_COUNT]; // Classes, and their min levels
/* 120 */        int8                CastingAnim;
/* 121 */        int8                TargetAnim;
/* 122 */        int32                TravelType;
/* 123 */        int16                SpellAffectIndex;
/* 124 */        int16                Spacing2[23];
/* 147 */        sint16                ResistDiff;
/* 148 */        int16                Spacing3[2];
/* 150 */        int16                RecourseLink;
/* 151 */        int                        Spacing4[4];
/* 155 */        int                        descnum; // eqstr of description of spell
/* 156 */        int                        typedescnum; // eqstr of type description
/* 157 */        int                        effectdescnum; // eqstr of effect description
/* 158 */        int                        Spacing5[17];
/* 175 */        // last field is 174
/*
Some fields which should be in here somewhere (MQ2):
Deletable
PvPResistBase
PvPResistCalc
PvPResistCap
CanMGB
*/
};


lordkazan 02-20-2006 03:01 AM

ok thanks, if i could only track down Phillip Davis (who wrote eqcaster)


All times are GMT -4. The time now is 05:42 PM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.