From 1f04c5d11589b1eee0d0d4c3044677fb4e36bda4 Mon Sep 17 00:00:00 2001 From: Timothy Schenk Date: Wed, 18 Sep 2024 17:13:38 +0200 Subject: [PATCH] chore: more information for skills --- hex-patterns/basecharacterstatdata.hexproj | Bin 0 -> 75776 bytes hex-patterns/basemagicdata.hexpat | 50 +++++++++++++++++++-- 2 files changed, 46 insertions(+), 4 deletions(-) create mode 100644 hex-patterns/basecharacterstatdata.hexproj diff --git a/hex-patterns/basecharacterstatdata.hexproj b/hex-patterns/basecharacterstatdata.hexproj new file mode 100644 index 0000000000000000000000000000000000000000..31093c08bcdbb02df0f760811ea2b1410846acde GIT binary patch literal 75776 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 F{vUicCzSvI literal 0 HcmV?d00001 diff --git a/hex-patterns/basemagicdata.hexpat b/hex-patterns/basemagicdata.hexpat index e616db0..0de0bf6 100644 --- a/hex-patterns/basemagicdata.hexpat +++ b/hex-patterns/basemagicdata.hexpat @@ -2,6 +2,37 @@ #pragma pattern_limit 1500000 #include 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]; @@ -41,7 +72,7 @@ enum CharacterJob : u32 { Beast_Keeper, /// 28 }; enum SkillSourceEntity : u32{ - Player,S + Player, Pet, Mob, Debuff, //Most likely Debuff/Buff Types @@ -59,11 +90,22 @@ struct MagicData{ SkillType skillType; SkillSourceEntity unk3; CharacterJob requiredJob; - u8 unk4[12]; + u32 unk4[3]; char name[20]; - char description[255]; - padding[0x5244-4-24-4-4-1-7-4-12-20-255]; + 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;