Tested so far by me:
* CHARINFO
* SPAWNINFO
* COMMON
* ITEMINFO
* SPELLINFO (New Structure Below)
Please feel free to make corrections/additions/changes to structures in this thread and I'll try to keep this initial post updated with any changes that need to be made.
Code: Select all
// 5-14-2003 Amadeus
#define SPELLLIST_STARTOFFSET 0x24
#define TOTAL_SPELL_COUNT 0x0FA0 // # of spells in game
typedef struct _SPELLLIST {
/*0x000*/ DWORD ID;
/*0x004*/ FLOAT Range;
/*0x008*/ BYTE Unknown0x008[12];
/*0x014*/ DWORD CastTime;
/*0x018*/ DWORD FizzleTime;
/*0x01c*/ DWORD RecastTime;
/*0x020*/ DWORD DurationType; //DurationFormula on Lucy
/*0x024*/ DWORD Unknown0x024[2];
/*0x02c*/ DWORD Mana;
/*0x030*/ DWORD Base[12]; //Base1-Base12
/*0x060*/ DWORD Max[12]; //Max1-Max12
/*0x090*/ DWORD BookIcon;
/*0x094*/ DWORD GemIcon;
/*0x098*/ DWORD ReagentId[4]; //ReagentId1-ReagentId4
/*0x0a8*/ DWORD ReagentCount[4]; //ReagentCount1-ReagentCount4
/*0x0b8*/ DWORD Unknown0x0b8[4];
/*0x0c8*/ BYTE Calc[12]; //Calc1-Calc12
/*0x0d4*/ BYTE Unknown0x0d4;
/*0x0d5*/ BYTE Deletable; // untested
/*0x0d6*/ BYTE Unknown0x0d6[2];
/*0x0d8*/ BYTE Attrib[12]; //Attrib1-Attrib12
/*0x0e4*/ BYTE Unknown0x0e4;
/*0x0e5*/ BYTE FizzLeadj;
/*0x0e6*/ BYTE Unknown0x0e6;
/*0x0e7*/ BYTE Unknown0x0e7;
/*0x0e8*/ BYTE Unknown0x0e8[3];
/*0x0eb*/ BYTE Level[15];
/*0x0fa*/ BYTE Unknown0x0fa[16];
/*0x10a*/ BYTE CastingAnim;
/*0x10b*/ BYTE Unknown0x10b[11];
/*0x116*/ BYTE Unknown0x116;
/*0x117*/ BYTE Unknown0x117[9];
/*0x120*/ DWORD Unknown0x120;
/*0x124*/ CHAR *Name;
/*0x128*/ CHAR *Target;
/*0x12c*/ CHAR *Unknown0x128;
/*0x130*/ CHAR *Unknown0x12c;
/*0x134*/ CHAR *Unknown0x130; // new struct that indicates casting sound possibly?
/*0x138*/ CHAR *CastOnYou;
/*0x13c*/ CHAR *CastOnAnother;
/*0x140*/ CHAR *WearOff;
/*0x144*/ CHAR *Unknown0x140; // new sprites animation struct?
/*0x148*/ DWORD spaindex;
/*0x14c*/ DWORD Unknown0x150;
/*0x150*/ DWORD SpellAnim;
/*0x154*/ DWORD Unknown0x154;
/*0x158*/ DWORD Unknown130; // This is Unknown130 from Lucy
/*0x15c*/ DWORD Unknown0x15c;
/*0x160*/ DWORD SpellIcon;
/*0x164*/ BYTE Unknown0x164[12];
} SPELLLIST, *PSPELLLIST;
EDIT: Fixed Level[15] location (was off by one byte)


