[filemask="Character*.dat"]
struct CharacterFile
{
u32 ClassBlocks;
u32 ClassSize;
u32 [tag="gaktaunamanya"] DWORD;
seek (ClassBlocks*ClassSize+8);
u32 RankBlocks;
u32 RankSize;
seek (ClassBlocks*ClassSize+RankBlocks*RankSize+16);
u32 MonsterCharacterBlocks;
u32 MonsterCharacterSize;
seek (ClassBlocks*ClassSize+RankBlocks*RankSize+MonsterCharacterBlocks*MonsterCharacterSize+24);
u32 ActionBlocks;
u32 ActionSize;
seek (ClassBlocks*ClassSize+RankBlocks*RankSize+MonsterCharacterBlocks*MonsterCharacterSize+ActionBlocks*ActionSize+32);
u32 MasteryLimitBlocks;
u32 MasteryLimitSize;
seek (ClassBlocks*ClassSize+RankBlocks*RankSize+MonsterCharacterBlocks*MonsterCharacterSize+ActionBlocks*ActionSize+MasteryLimitBlocks*MasteryLimitSize+40);
u32 ExpLimitBlocks;
u32 ExpLimitSize;
seek (ClassBlocks*ClassSize+RankBlocks*RankSize+MonsterCharacterBlocks*MonsterCharacterSize+ActionBlocks*ActionSize+MasteryLimitBlocks*MasteryLimitSize+ExpLimitBlocks*ExpLimitSize+48);
u32 AnimusBlocks;
u32 AnimusSize;
child Class [group="ClassLimit", offset=(12), count=ClassBlocks];
child Rank [group="Rank", offset=(16+ClassBlocks*ClassSize), count=RankBlocks];
child MonsterCharacter [group="MonsterCharacter", offset=(24+ClassBlocks*ClassSize+RankBlocks*RankSize), count=MonsterCharacterBlocks];
child Action [group="Action", offset=(32+ClassBlocks*ClassSize+RankBlocks*RankSize+MonsterCharacterBlocks*MonsterCharacterSize), count=ActionBlocks];
child MasteryLimit [group="MasteryLimit", offset=(40+ClassBlocks*ClassSize+RankBlocks*RankSize+MonsterCharacterBlocks*MonsterCharacterSize+ActionBlocks*ActionSize), count=MasteryLimitBlocks];
child ExpLimit [group="ExpLimit", offset=(48+ClassBlocks*ClassSize+RankBlocks*RankSize+MonsterCharacterBlocks*MonsterCharacterSize+ActionBlocks*ActionSize+MasteryLimitBlocks*MasteryLimitSize), count=ExpLimitBlocks];
//child Animus [group="Animus", offset=(56+ClassBlocks*ClassSize+RankBlocks*RankSize+MonsterCharacterBlocks*MonsterCharacterSize+ActionBlocks*ActionSize+MasteryLimitBlocks*MasteryLimitSize+ExpLimitBlocks*ExpLimitSize), count=AnimusBlocks];
//Child Animus
child Animus [group="Paimon Character", offset=(56+ClassBlocks*ClassSize+RankBlocks*RankSize+MonsterCharacterBlocks*MonsterCharacterSize+ActionBlocks*ActionSize+MasteryLimitBlocks*MasteryLimitSize+ExpLimitBlocks*ExpLimitSize), count=AnimusBlocks/8];
child Animus [group="Hecate Character", offset=(56+ClassBlocks*ClassSize+RankBlocks*RankSize+MonsterCharacterBlocks*MonsterCharacterSize+ActionBlocks*ActionSize+MasteryLimitBlocks*MasteryLimitSize+ExpLimitBlocks*ExpLimitSize+AnimusBlocks*AnimusSize/8), count=AnimusBlocks/8];
child Animus [group="Innana Character", offset=(56+ClassBlocks*ClassSize+RankBlocks*RankSize+MonsterCharacterBlocks*MonsterCharacterSize+ActionBlocks*ActionSize+MasteryLimitBlocks*MasteryLimitSize+ExpLimitBlocks*ExpLimitSize+AnimusBlocks*AnimusSize/4), count=AnimusBlocks/8];
child Animus [group="Isis Character", offset=(56+ClassBlocks*ClassSize+RankBlocks*RankSize+MonsterCharacterBlocks*MonsterCharacterSize+ActionBlocks*ActionSize+MasteryLimitBlocks*MasteryLimitSize+ExpLimitBlocks*ExpLimitSize+AnimusBlocks*AnimusSize*3/8), count=AnimusBlocks/8];
child Animus [group="Paimon Character Selado", offset=(56+ClassBlocks*ClassSize+RankBlocks*RankSize+MonsterCharacterBlocks*MonsterCharacterSize+ActionBlocks*ActionSize+MasteryLimitBlocks*MasteryLimitSize+ExpLimitBlocks*ExpLimitSize+AnimusBlocks*AnimusSize/2), count=AnimusBlocks/8];
child Animus [group="Hecate Character Selado", offset=(56+ClassBlocks*ClassSize+RankBlocks*RankSize+MonsterCharacterBlocks*MonsterCharacterSize+ActionBlocks*ActionSize+MasteryLimitBlocks*MasteryLimitSize+ExpLimitBlocks*ExpLimitSize+AnimusBlocks*AnimusSize*5/8), count=AnimusBlocks/8];
child Animus [group="Inanna Character Selado", offset=(56+ClassBlocks*ClassSize+RankBlocks*RankSize+MonsterCharacterBlocks*MonsterCharacterSize+ActionBlocks*ActionSize+MasteryLimitBlocks*MasteryLimitSize+ExpLimitBlocks*ExpLimitSize+AnimusBlocks*AnimusSize*3/4), count=AnimusBlocks/8];
child Animus [group="Isis Character Selado", offset=(56+ClassBlocks*ClassSize+RankBlocks*RankSize+MonsterCharacterBlocks*MonsterCharacterSize+ActionBlocks*ActionSize+MasteryLimitBlocks*MasteryLimitSize+ExpLimitBlocks*ExpLimitSize+AnimusBlocks*AnimusSize*7/8), count=AnimusBlocks/8];
}
struct Class [preload=1]
{
u32 m_dwIndex;
x32 ID_dwIndex;
cstr [len=32] m_strCode;
repeat 8
{
x32 m_strCh_Class_code;
}
u32 m_nIconIDX;
cstr [len=32] m_strTemp;
cstr [len=32] m_strKorName;
cstr [len=32] m_strEngName;
u32 m_nRaceCode;
repeat 10
{
x32 m_strLinkClassSkill_code;
}
u32 m_nMakeTrapMaxNum;
u32 m_nBnsForHP;
u32 m_nBnsForFP;
u32 m_nBnsForSP;
repeat 2
{
i32 m_nBnsMMastery;
}
i32 m_nBnsSMastery;
i32 123123;
i32 m_nBnsPryMastery;
u32 m_nBnsDefMastery;
repeat 3
{
i32 m_nBnsMakeMastery;
}
repeat 24
{
i32 m_nBnsForceMastery;
}
repeat 8
{
i32 m_nBnsSkillMastery;
}
u32 [tag="РСУ Trainee"] DWORD;
u32 [tag="РСУ expert"] DWORD;
u32 [tag="РСУ elite"] DWORD;
u32 [tag="РСУ Master"] DWORD;
i32 m_bSelectRewardItem;
repeat 9
{
u32 [tag="ID type"] DWORD;
}
repeat 9
{
x32 strDefaultItem;
}
repeat 9
{
u8 nAmount;
}
u8 [tag="--5_u8--", hidden=1] DWORD;
u8 [tag="--6_u8--", hidden=1] DWORD;
u8 [tag="--7_u8--", hidden=1] DWORD;
u32 [tag="--8_u32--"] DWORD;
cstr [len=1024] "Description";
u8 m_nClass;
u8 m_nGrade;
u8 [tag="--11_u8--", hidden=1] DWORD;
u8 [tag="--12_u8--", hidden=1] DWORD;
}
struct Rank [preload=1]
{
u8 [tag="Code / Phone Ranks"] DWORD;
cstr [len=32] "The name for the race Bellato";
cstr [len=32] "The name for the race Cora";
cstr [len=32] "The name for the race Accretia";
u8 [tag="--1_u8--", hidden=1] DWORD;
u8 [tag="--2_u8--", hidden=1] DWORD;
u8 [tag="--3_u8--", hidden=1] DWORD;
u32 [tag="Sprite for race Bellato"] DWORD;
u32 [tag="Sprite for race Cora"] DWORD;
u32 [tag="Sprite for race Accretia"] DWORD;
}
struct MonsterCharacter [preload=1]
{
u32 m_dwIndex;
x32 MonsterID;
cstr [len=32] "MonsterName";
u8 [tag="race"] DWORD;
u8 [tag="GradeMonster"] DWORD;
u8 LevelMonster;
nodename (" --> "+MonsterID+" Level |--> "+LevelMonster+"");
u8 [tag="--1_u8--"] DWORD;
u32 [tag="HP"] DWORD;
u32 [tag="--5_u32--"] DWORD;
u32 [tag="sociality"] DWORD;
float [tag="AtkExt"] DWORD;
u16 [tag="--7_u32--"] DWORD;
u16 [tag="--7_u32--"] DWORD;
float [tag="--8_float--"] DWORD;
repeat 3
{
u32 [tag="--10_u32--"] DWORD;
}
u32 [tag="--10_u32--"] DWORD;
u8 [tag="--1_u8--"] DWORD;
u8 [tag="--1_u8--"] DWORD;
u8 [tag="--1_u8--"] DWORD;
u8 [tag="--1_u8--"] DWORD;
x32 [tag="--11_u32--"] DWORD;
u32 [tag="--10_u32--"] DWORD;
cstr [len=120] "name";
u32 [tag="--10_u32--"] DWORD;
u32 [tag="--10_u32--"] DWORD;
}
struct Action [preload=1]
{
u32 [tag="Type Expressions"] DWORD;
u32 [tag="ID"] DWORD;
u32 [tag="Striate"] DWORD;
cstr [len=32] "nome";
u32 [tag="Race and Gender"] DWORD;
}
struct MasteryLimit [preload=1]
{
u8 [tag="level"] DWORD;
u8 [tag="BB"] DWORD;
u8 [tag="DB"] DWORD;
u8 [tag="RU"] DWORD;
u8 [tag="magic"] DWORD;
u8 [tag="shield"] DWORD;
u8 [tag="protection"] DWORD;
u8 [tag="П. Weapons"] DWORD;
u8 [tag="П. bumpers"] DWORD;
u8 [tag="П. cartridges"] DWORD;
u8 [tag="Dark disciple"] DWORD;
u8 [tag="Shadow Expert"] DWORD;
u8 [tag="Тьма Элита"] DWORD;
u8 [tag="Тьма Магистр"] DWORD;
u8 [tag="Свет Ученик"] DWORD;
u8 [tag="Свет Эксперт"] DWORD;
u8 [tag="Свет Элита"] DWORD;
u8 [tag="Свет Магистр"] DWORD;
u8 [tag="Огонь Ученик"] DWORD;
u8 [tag="Огонь Эксперт"] DWORD;
u8 [tag="Огонь Элита"] DWORD;
u8 [tag="Огонь Магистр"] DWORD;
u8 [tag="Вода Ученик"] DWORD;
u8 [tag="Вода Эксперт"] DWORD;
u8 [tag="Вода Элита"] DWORD;
u8 [tag="Вода Магистр"] DWORD;
u8 [tag="Земля Ученик"] DWORD;
u8 [tag="Земля Эксперт"] DWORD;
u8 [tag="Земля Элита"] DWORD;
u8 [tag="Земля Магистр"] DWORD;
u8 [tag="Воздух Ученик"] DWORD;
u8 [tag="Воздух Эксперт"] DWORD;
u8 [tag="Воздух Элита"] DWORD;
u8 [tag="Воздух Магистр"] DWORD;
u8 [tag="УББ Ученик"] DWORD;
u8 [tag="УББ Эксперт"] DWORD;
u8 [tag="УББ Элита"] DWORD;
u8 [tag="УББ Магистр"] DWORD;
u8 [tag="УДБ Ученик"] DWORD;
u8 [tag="УДБ Эксперт"] DWORD;
u8 [tag="УДБ Элита"] DWORD;
u8 [tag="УДБ Магистр"] DWORD;
u8 [tag="РСУ Ученик"] DWORD;
u8 [tag="РСУ Эксперт"] DWORD;
u8 [tag="РСУ Элита"] DWORD;
u8 [tag="РСУ Магистр"] DWORD;
}
struct ExpLimit [preload=1]
{
double [tag="ACCRETIA EXP"] DWORD;
double [tag="BELLATO EXP"] DWORD;
double [tag="CORA EXP"] DWORD;
}
struct Animus [preload=1]
{
u32 [tag="level"] DWORD;
u32 [tag="Lable"] DWORD;
u32 [tag="experience"] DWORD;
u32 [tag="experience 51Lv+"] DWORD;
u32 [tag="Max HP"] DWORD;
u32 [tag="Max FP"] DWORD;
u32 [tag="HPRecUnidade"] DWORD;
u32 [tag="HPRecDelay"] DWORD;
u32 [tag="FPRecUnit"] DWORD;
u32 [tag="FPRecDelay"] DWORD;
u32 [tag=" Attack "] DWORD;
u32 [tag=" Defense "] DWORD;
u32 [tag="ForceAttStd"] DWORD;
u32 [tag="accuracy"] DWORD;
u8 [tag="--7_u8--"] DWORD;
u8 [tag="Dodge"] DWORD;
u8 [tag="--8_u8--"] DWORD;
u8 [tag="--9_u8--"] DWORD;
u32 [tag="--10_u32--"] DWORD;
u32 [tag="--11_u32--"] DWORD;
u32 [tag="--12_u32--"] DWORD;
u32 [tag="--13_u32--"] DWORD;
u8 [tag="--14_u32--"] DWORD;
u8 [tag="Elemental Protect fire"] DWORD;
u8 [tag="Elemental Protect water"] DWORD;
u8 [tag="Elemental Protect Earth"] DWORD;
u8 [tag="Elemental Protect air"] DWORD;
u8 [tag="--15_u8--"] DWORD;
u8 [tag="--16_u8--"] DWORD;
u8 [tag="--17_u8--"] DWORD;
u32 [tag="Atk Speed (Talvez)"] DWORD;
u32 [tag="--19_u32--"] DWORD;
u32 [tag="--20_u32--"] DWORD;
u32 [tag="--21_u32--"] DWORD;
u32 [tag="--22_u32--"] DWORD;
u32 [tag="DefType"] DWORD;
u32 [tag="Unknow"] DWORD;
}