continuity/hex-patterns/basemagicdata.hexpat

70 lines
1.7 KiB
Text
Raw Normal View History

2024-09-18 14:34:58 +00:00
#pragma once
#pragma pattern_limit 1500000
#include <std/sys.pat>
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;