[filemask="Character.dat"]
struct CharacterFile
{
u32 ClassBlocks;
u32 ClassColumns;
seek (ClassBlocks*ClassColumns+8);
u32 RankBlocks;
u32 RankColumns;
seek (ClassBlocks*ClassColumns+RankBlocks*RankColumns+16);
u32 MobBlocks;
u32 MobColumns;
seek (ClassBlocks*ClassColumns+RankBlocks*RankColumns+MobBlocks*MobColumns+24);
u32 ExpBlocks;
u32 ExpColumns;
seek (ClassBlocks*ClassColumns+RankBlocks*RankColumns+MobBlocks*MobColumns+ExpBlocks*ExpColumns+32);
u32 PTBlocks;
u32 PTColumns;
seek (ClassBlocks*ClassColumns+RankBlocks*RankColumns+MobBlocks*MobColumns+ExpBlocks*ExpColumns+PTBlocks*PTColumns+40);
u32 EmoteBlocks;
u32 EmoteColumns;
seek (ClassBlocks*ClassColumns+RankBlocks*RankColumns+MobBlocks*MobColumns+ExpBlocks*ExpColumns+PTBlocks*PTColumns+EmoteBlocks*EmoteColumns+48);
u32 AnimusBlocks;
u32 AnimusColumns;
child Class [group="Class", offset=8, count=ClassBlocks];
child Rank [group="Rank", offset=(ClassBlocks*ClassColumns+16), count=RankBlocks];
child Mob [group="Monsters", offset=(ClassBlocks*ClassColumns+RankBlocks*RankColumns+24), count=MobBlocks];
child Exp [group="Exp", offset=(ClassBlocks*ClassColumns+RankBlocks*RankColumns+MobBlocks*MobColumns+32), count=ExpBlocks];
child PT [group="PT", offset=(ClassBlocks*ClassColumns+RankBlocks*RankColumns+MobBlocks*MobColumns+ExpBlocks*ExpColumns+40), count=PTBlocks];
child Emote [group="Emotes", offset=(ClassBlocks*ClassColumns+RankBlocks*RankColumns+MobBlocks*MobColumns+ExpBlocks*ExpColumns+PTBlocks*PTColumns+48), count=EmoteBlocks];
child Animus [group="Animus", offset=(ClassBlocks*ClassColumns+RankBlocks*RankColumns+MobBlocks*MobColumns+ExpBlocks*ExpColumns+PTBlocks*PTColumns+EmoteBlocks*EmoteColumns+56), count=AnimusBlocks];
}
struct Class [preload=1]
{
u32 [tag="????"] DWORD;
u32 nCount;
u32 [tag="????"] DWORD;
cstr [len=32] ClassCode;
i32 [tag="????"] DWORD;
i32 [tag="????"] DWORD;
i32 [tag="????"] DWORD;
i32 [tag="????"] DWORD;
i32 [tag="????"] DWORD;
i32 [tag="????"] DWORD;
i32 [tag="????"] DWORD;
i32 [tag="????"] DWORD;
i32 [tag="????"] DWORD;
cstr [len=32] TypeName;
cstr [len=32] ClassName;
cstr [len=32] ClassName;
u32 [tag="Race Code"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
cstr [len=1024] TypeName;
}
struct Rank [preload=1]
{
u8 DWORD;
cstr [len=32] BellRank;
cstr [len=32] CoraRank;
cstr [len=32] AccretianRank;
u8 DWORD;
u16 DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
u32 [tag="????"] DWORD;
}
struct Mob [preload=1]
{
i32 nCount;
i32 SpawnCode;
cstr [len=32] Name;
u8 DWORD;
u8 DWORD;
i16 Level;
i32 Health;
i32 Atk_Speed;
i32 Atk_Range;
float DWORD;
float DWORD;
u32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 MobRace;
i32 KillPoint;
}
struct Exp [preload=1]
{
u32 DWORD;
u32 DWORD;
u32 DWORD;
u32 DWORD;
u32 DWORD;
u32 DWORD;
}
struct PT [preload=1]
{
u8 Level;
u8 Melee;
u8 Range;
u8 RaceSpecial;
u8 Force;
u8 Shield;
u8 Defense;
u8 Wep/ShieldCraft;
u8 ArmorCraft;
u8 AmmoCraft;
u8 BasicMelee;
u8 ExpertMelee;
u8 EliteMelee;
u8 MasterMelee;
u8 BasicRange;
u8 ExpertRange;
u8 EliteRange;
u8 MasterRange;
u8 BasicDark;
u8 ExpertDark;
u8 EliteDark;
u8 MasterDark;
u8 BasicHoly;
u8 ExpertHoly;
u8 EliteHoly;
u8 MasterHoly;
u8 BasicFire;
u8 ExpertFire;
u8 EliteFire;
u8 MasterFire;
u8 BasicAqua;
u8 ExpertAqua;
u8 EliteAqua;
u8 MasterAqua;
u8 BasicTerra;
u8 ExpertTerra;
u8 EliteTerra;
u8 MasterTerra;
u8 BasicWind;
u8 ExpertWind;
u8 EliteWind;
u8 MasterWind;
u8 DWORD;
u8 DWORD;
u8 DWORD;
u8 DWORD;
}
struct Emote [preload=1]
{
u32 DWORD;
u32 DWORD;
u32 DWORD;
cstr [len=32] Name;
u32 DWORD;
}
struct Animus [preload=1]
{
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
i8 DWORD;
i8 DWORD;
i8 DWORD;
i8 DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
float DWORD;
float DWORD;
i32 DWORD;
i32 DWORD;
i32 DWORD;
}