112 lines
No EOL
2.2 KiB
Text
112 lines
No EOL
2.2 KiB
Text
#pragma once
|
|
#pragma pattern_limit 1500000
|
|
#include <std/sys.pat>
|
|
enum SkillType: u32{
|
|
_0,
|
|
_1,
|
|
_2,
|
|
_3,
|
|
_4,
|
|
_5,
|
|
_6,
|
|
_7,
|
|
_8,
|
|
_9,
|
|
_10,
|
|
_11,
|
|
_12,
|
|
_13,
|
|
_14,
|
|
_15,
|
|
_16,
|
|
_17,
|
|
_18,
|
|
_19,
|
|
_20,
|
|
_21,
|
|
_22,
|
|
_23,
|
|
_24,
|
|
_25,
|
|
_26,
|
|
_27,
|
|
_28,
|
|
_29,
|
|
_30
|
|
};
|
|
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,
|
|
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;
|
|
u32 unk4[3];
|
|
char name[20];
|
|
char description[291+52];
|
|
padding[169];
|
|
u32 appliesToSkillId;
|
|
padding[8];
|
|
u32 minLevelOfApplicableSkill;
|
|
padding[20];
|
|
u32 unk5;
|
|
u32 requiredItemType;
|
|
u32 unk6;
|
|
u32 maxLevel;
|
|
padding[0x5244-4-24-4-4-1-7-4-12-20-255-12-2-283-12];
|
|
};
|
|
|
|
std::print(std::format("{}",0x5244));
|
|
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; |