[filemask="SkillForce.dat"]
struct SkillForceFile
{
i32 ForceBlocks;
i32 ForceSize;
child Force [group="Force Spells", count=ForceBlocks];
seek (ForceBlocks*ForceSize+8);
i32 SkillBlocks;
i32 SkillSize;
child Skill [group="Skills", offset=(ForceBlocks*ForceSize+16), count=SkillBlocks];
seek (ForceBlocks*ForceSize+SkillBlocks*SkillSize+16);
i32 Skill2Blocks;
i32 Skill2Size;
child Skill [group="Class skill", offset=(ForceBlocks*ForceSize+SkillBlocks*SkillSize+24), count=Skill2Blocks];
seek (ForceBlocks*ForceSize+SkillBlocks*SkillSize+Skill2Blocks*Skill2Size+24);
i32 Skill3Blocks;
i32 Skill3Size;
child Skill [group="BulletEffect", offset=(ForceBlocks*ForceSize+SkillBlocks*SkillSize+Skill2Blocks*Skill2Size+32), count=Skill3Blocks];
seek (ForceBlocks*ForceSize+SkillBlocks*SkillSize+Skill2Blocks*Skill2Size+Skill3Blocks*Skill3Size+32);
i32 Skill4Blocks;
i32 Skill4Size;
child Skill [group="PotionEffects", offset=(ForceBlocks*ForceSize+SkillBlocks*SkillSize+Skill2Blocks*Skill2Size+Skill3Blocks*Skill3Size+40), count=Skill4Blocks];
}
struct Force [preload=1]
{
i32 [tag="nCount"] DWORD;
x32 [tag="ID"] DWORD;
i32 [tag="Icon"] DWORD;
i8 [tag="Type"] DWORD;
i8 [tag="Active"] DWORD;
i8 [tag="Group"] DWORD;
i8 [tag="Group Type"] DWORD;
cstr [len=32] "KorGroup";
cstr [len=32] "EngGroup";
cstr [len=32] "KorName";
cstr [len=32] "EngName";
repeat 7
{
i8 [tag="type??"] DWORD; //3=self, 1=pvp,2=pvp/pve,0 attack,4... special attack????
i8 [tag="Effect code 1"] DWORD;
i8 [tag="Effect code 2"] DWORD;
i8 [tag="Effect code 3"] DWORD;
i8 [tag="Effect code 4"] DWORD;
i8 [tag="Effect code 5"] DWORD;
i8 [tag="Effect code 6"] DWORD;
i8 [tag="Effect code 7"] DWORD;
i32 [tag="Ability code set index"] DWORD;
float [tag="1lv"] DWORD;
float [tag="2lv"] DWORD;
float [tag="3lv"] DWORD;
float [tag="4lv"] DWORD;
float [tag="5lv"] DWORD;
float [tag="6lv"] DWORD;
float [tag="7lv"] DWORD;
}
i32 [tag="Time 1lv"] DWORD;
i32 [tag="Time 2lv"] DWORD;
i32 [tag="Time 3lv"] DWORD;
i32 [tag="Time 4lv"] DWORD;
i32 [tag="Time 5lv"] DWORD;
i32 [tag="Time 6lv"] DWORD;
i32 [tag="Time 7lv"] DWORD;
i8 [tag="BM"] DWORD;
i8 [tag="BF"] DWORD;
i8 [tag="CM"] DWORD;
i8 [tag="CF"] DWORD;
i32 [tag="A"] DWORD;
i8 [tag="---------------"] DWORD;
i8 [tag="Target Self"] DWORD;
i8 [tag="Target Race"] DWORD;
i8 [tag="Target PvP"] DWORD;
i8 [tag="Target PvE"] DWORD;
i32 [tag="Target Item?"] DWORD;
i8 [tag="---------------"] DWORD;
i8 [tag="Sword?"] DWORD;
i8 [tag="Spear?"] DWORD;
i8 [tag="Axe?"] DWORD;
i8 [tag="Mace"] DWORD;
i8 [tag="Knife?"] DWORD;
i8 [tag="Bow"] DWORD;
i8 [tag="Firearm"] DWORD;
i8 [tag="Launcher"] DWORD;
i8 [tag="Throwing"] DWORD;
i8 [tag="Staff"] DWORD;
i32 [tag="11"] DWORD;
i32 [tag="12"] DWORD;
i32 [tag="11"] DWORD;
i32 [tag="12"] DWORD;
i32 [tag="13"] DWORD;
i32 [tag="14"] DWORD;
i32 [tag="Shield Required"] DWORD;
i8 [tag="Special type"] DWORD;
i8 [tag="Need special type"] DWORD;
i16 [tag="HP"] DWORD;
i16 [tag="FP"] DWORD;
i16 [tag="SP"] DWORD;
float [tag="Cooldown"];
float [tag="Range"] DWORD;
cstr [len=512] Description;
i8 [tag="EffectClass"] DWORD;
i8 [tag="18"] DWORD;
i16 [tag="19"] DWORD;
i32 [tag="20"] DWORD;
i32 [tag="21"] DWORD;
i32 [tag="22"] DWORD;
i32 [tag="23"] DWORD;
i8 [tag="effect Target 1"] DWORD; //self?
i8 [tag="effect Target 2"] DWORD;
i8 [tag="effect Target 3"] DWORD;
i8 [tag="effect Target 4"] DWORD;
i8 [tag="effect Target 5"] DWORD;
i8 [tag="effect Target 6"] DWORD;
i8 [tag="effect Target 7"] DWORD;
i8 [tag="effect Target 8"] DWORD;
i8 [tag="effect Target 9"] DWORD;
i8 [tag="effect Target 10"] DWORD;
i8 [tag="effect Target 11"] DWORD;
i8 [tag="effect Target 12"] DWORD;
x32 [tag="RangeEffCode"] DWORD;
i32 [tag="27"] DWORD;
i32 [tag="28"] DWORD;
i32 [tag="29"] DWORD;
i32 [tag="30"] DWORD;
i32 [tag="31"] DWORD;
i8 [tag="-----"] DWORD;
i8 [tag="-----"] DWORD;
i16 [tag="-----"] DWORD;
}
struct Skill [preload=1]
{
i32 [tag="nCount"] DWORD;
x32 [tag="ID"] DWORD;
i32 [tag="Icon"] DWORD;
i8 [tag="Type"] DWORD;
i8 [tag="Active"] DWORD;
i8 [tag="Group"] DWORD;
i8 [tag="Group Type"] DWORD;
cstr [len=32] "KorGroup";
cstr [len=32] "EngGroup";
cstr [len=32] "KorName";
cstr [len=32] "EngName";
repeat 7
{
i8 [tag="type??"] DWORD; //3=self, 1=pvp,2=pvp/pve,0 attack,4... special attack????
i8 [tag="Effect code 1"] DWORD;
i8 [tag="Effect code 2"] DWORD;
i8 [tag="Effect code 3"] DWORD;
i8 [tag="Effect code 4"] DWORD;
i8 [tag="Effect code 5"] DWORD;
i8 [tag="Effect code 6"] DWORD;
i8 [tag="Effect code 7"] DWORD;
i32 [tag="Ability code set index"] DWORD;
float [tag="1lv"] DWORD;
float [tag="2lv"] DWORD;
float [tag="3lv"] DWORD;
float [tag="4lv"] DWORD;
float [tag="5lv"] DWORD;
float [tag="6lv"] DWORD;
float [tag="7lv"] DWORD;
}
i32 [tag="Time 1lv"] DWORD;
i32 [tag="Time 2lv"] DWORD;
i32 [tag="Time 3lv"] DWORD;
i32 [tag="Time 4lv"] DWORD;
i32 [tag="Time 5lv"] DWORD;
i32 [tag="Time 6lv"] DWORD;
i32 [tag="Time 7lv"] DWORD;
i8 [tag="BM"] DWORD;
i8 [tag="BF"] DWORD;
i8 [tag="CM"] DWORD;
i8 [tag="CF"] DWORD;
i32 [tag="A"] DWORD;
i8 [tag="---------------"] DWORD;
i8 [tag="Target Self"] DWORD;
i8 [tag="Target Race"] DWORD;
i8 [tag="Target PvP"] DWORD;
i8 [tag="Target PvE"] DWORD;
i32 [tag="Target Item?"] DWORD;
i8 [tag="---------------"] DWORD;
i8 [tag="Sword?"] DWORD;
i8 [tag="Spear?"] DWORD;
i8 [tag="Axe?"] DWORD;
i8 [tag="Mace"] DWORD;
i8 [tag="Knife?"] DWORD;
i8 [tag="Bow"] DWORD;
i8 [tag="Firearm"] DWORD;
i8 [tag="Launcher"] DWORD;
i8 [tag="Throwing"] DWORD;
i8 [tag="Staff"] DWORD;
i32 [tag="11"] DWORD;
i32 [tag="12"] DWORD;
i32 [tag="11"] DWORD;
i32 [tag="12"] DWORD;
i32 [tag="13"] DWORD;
i32 [tag="14"] DWORD;
i32 [tag="Shield Required"] DWORD;
i8 [tag="Special type"] DWORD;
i8 [tag="Need special type"] DWORD;
i16 [tag="HP"] DWORD;
i16 [tag="FP"] DWORD;
i16 [tag="SP"] DWORD;
float [tag="Cooldown"];
float [tag="Range"] DWORD;
cstr [len=512] Description;
i8 [tag="EffectClass"] DWORD;
i [size=3,tag="18",hidden=1] DWORD;
i32 [tag="20",hidden=1] DWORD;
i32 [tag="21",hidden=1] DWORD;
i32 [tag="22",hidden=1] DWORD;
i32 [tag="23",hidden=1] DWORD;
i8 [tag="effect Target 1"] DWORD; //self?
i8 [tag="effect Target 2"] DWORD;
i8 [tag="effect Target 3"] DWORD;
i8 [tag="effect Target 4"] DWORD;
i8 [tag="effect Target 5"] DWORD;
i8 [tag="effect Target 6"] DWORD;
i8 [tag="effect Target 7"] DWORD;
i8 [tag="effect Target 8"] DWORD;
i8 [tag="effect Target 9"] DWORD;
i8 [tag="effect Target 10"] DWORD;
i8 [tag="effect Target 11"] DWORD;
i8 [tag="effect Target 12"] DWORD;
x32 [tag="RangeEffCode"] DWORD;
i32 [tag="27",hidden=1] DWORD;
i32 [tag="28",hidden=1] DWORD;
i32 [tag="29",hidden=1] DWORD;
i32 [tag="30",hidden=1] DWORD;
i32 [tag="31",hidden=1] DWORD;
i8 [tag="Ammo type"] DWORD;
i [size = 3,tag="31",hidden=1] DWORD;
i32 [tag="x",hidden=1] DWORD;
float [tag="attack travel speed 1"] DWORD;
float [tag="attack travel speed 2"] DWORD;
i32 [tag="x",hidden=1] DWORD;
float [tag="attack travel distance 1"] DWORD;
float [tag="attack travel distance 2"] DWORD;
}