diff --git a/Source/Client/Session.cpp b/Source/Client/Session.cpp index d3e6f5c0..1b63801d 100644 --- a/Source/Client/Session.cpp +++ b/Source/Client/Session.cpp @@ -3,3 +3,15 @@ // STATIC: 0x01732638 // GLOBAL: gl_24474 CSession g_session; + +// OFFSET: 0x00DDE860 + +// OFFSET: 0x00E13B00 +// FUNCTION: fn_23826 +int CSession::SyncUnknown0E98() { + if (this->unknown_0E98 != this->unknown_5558) { + this->unknown_0E98 = this->unknown_5558; + } + + return this->unknown_0E98; +} diff --git a/Source/Client/Session.h b/Source/Client/Session.h index ad4fa8c0..130965c6 100644 --- a/Source/Client/Session.h +++ b/Source/Client/Session.h @@ -37,7 +37,9 @@ public: /* 06A8 */ unsigned char unknown_06A8[0x43]; /* 06EB */ NormalItemSlot unknown_06EB; /* 06F2 */ NormalItemSlot unknown_06F2; - /* 06F9 */ unsigned char unknown_06F9[0x7F]; + /* 06F9 */ unsigned char unknown_06F9[0x2F]; + /* 0728 */ std::vector m_mercSkillLevels; + /* 0734 */ unsigned char unknown_0734[0x44]; /* 0778 */ std::vector> unknown_0778; /* 0784 */ std::map unknown_0784; /* 078C */ std::map unknown_078C; @@ -109,6 +111,8 @@ public: void GetPetFriendlyStateString(int friendly, char* buffer); int GetPetHungryState(int hunger); int GetPetEmotionNumber(int job, int action, int hungerLevel); + int MercSkillLevel(int skillId) const; + int SyncUnknown0E98(); }; extern CSession g_session; @@ -126,6 +130,7 @@ static_assert(offsetof(CSession, m_shortcutSlots) == 0x4B0); static_assert(offsetof(CSession, m_secondaryShortcutSlots) == 0x5AC); static_assert(offsetof(CSession, unknown_06EB) == 0x6EB); static_assert(offsetof(CSession, unknown_06F2) == 0x6F2); +static_assert(offsetof(CSession, m_mercSkillLevels) == 0x728); static_assert(offsetof(CSession, unknown_0778) == 0x778); static_assert(offsetof(CSession, unknown_0784) == 0x784); static_assert(offsetof(CSession, unknown_078C) == 0x78C);