#pragma once #pragma pattern_limit 1500000 #include enum SkillType: u32{ }; struct header { u8 unk[3]; bool flag; u8 unk2; u32 amountOfItems; }; enum CharacterJob : u32 { NULL, Swordsman = 1, /// 01 Mage, /// 02 Thief, /// 03 Scout, /// 04 Warrior, /// 05 Knight, /// 06 Priest, /// 07 Wizard, /// 08 Rogue, /// 09 Ninja, /// 10 Gunner, /// 11 Archer, /// 12 Berserker, /// 13 Pladin, /// 14 Saint, /// 15 Warlock, /// 16 Knave, /// 17 Assassin, /// 18 Gunslinger, /// 19 Ranger, /// 20 Juggernaut, /// 21 Temple_Knight, /// 22 Exorcist, /// 23 Necromancer, /// 24 Raider, /// 25 Nightstalker, /// 26 Sharpshooter, /// 27 Beast_Keeper, /// 28 }; enum SkillSourceEntity : u32{ Player,S Pet, Mob, Debuff, //Most likely Debuff/Buff Types }; enum SkillBuffType : u32{ None, Positive, Negative }; struct MagicData{ u32 Id; u8 unk[24]; u32 IsPassive; SkillBuffType unk2; SkillType skillType; SkillSourceEntity unk3; CharacterJob requiredJob; u8 unk4[12]; char name[20]; char description[255]; padding[0x5244-4-24-4-4-1-7-4-12-20-255]; }; std::print(std::format("{}",sizeof(MagicData))); std::assert(sizeof(MagicData) == 0x5244, "Struct isn't the right size"); header header @ 0x00; MagicData items[header.amountOfItems] @0x09;