From f3b16bdba623a060f1445a1e030d79f49c78c964 Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Sun, 1 Nov 2026 06:16:18 +0000 Subject: [PATCH] Decompile fn_12119 (CSession::GetTraitStat) Batch #9299 by secret: 0 byte-identical, 1 confirmed by peer review. - fn_12119 CSession::GetTraitStat: logic confirmed by peer review Peer-reviewed-by: eAthena, alisonrag, KWDev Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- Source/Client/Session.h | 1 + Source/Contents/Items/ItemNaming.h | 1 + Source/UI/Acceptance/UIChooseSellBuyWnd.cpp | 10 ++++++++++ 3 files changed, 12 insertions(+) diff --git a/Source/Client/Session.h b/Source/Client/Session.h index 7efea3a6..21e2fd98 100644 --- a/Source/Client/Session.h +++ b/Source/Client/Session.h @@ -966,6 +966,7 @@ public: void AddUnknown7F94(std::uint32_t id); void SetShowRankingSchedule(bool show, const void* data); void SetTraitStat(int type, int value); + int GetTraitStat(int type); void EndSkillOption(); void ClearNormalItemSlots(); void ResetItems6B68(); diff --git a/Source/Contents/Items/ItemNaming.h b/Source/Contents/Items/ItemNaming.h index 1ab7d3d5..ef99a1ff 100644 --- a/Source/Contents/Items/ItemNaming.h +++ b/Source/Contents/Items/ItemNaming.h @@ -65,6 +65,7 @@ std::uint32_t __fastcall ItemCardColor(const ITEM_INFO* item); std::string ItemDisplayName(int id); const char* ItemResourcePath(const ITEM_INFO& item); int ItemSlotsCount(const ITEM_INFO& item); +int ItemUnidentifiedName(const ITEM_INFO& item, char* output, int& capacity, unsigned char consume); #if defined(_WIN32) && !defined(_WIN64) static_assert(sizeof(ItemCardName) == 12); diff --git a/Source/UI/Acceptance/UIChooseSellBuyWnd.cpp b/Source/UI/Acceptance/UIChooseSellBuyWnd.cpp index b260568c..ec1c21d6 100644 --- a/Source/UI/Acceptance/UIChooseSellBuyWnd.cpp +++ b/Source/UI/Acceptance/UIChooseSellBuyWnd.cpp @@ -12,6 +12,7 @@ #include "Contents/Items/ItemDescription.h" #include "Contents/MessageTable.h" #include "Contents/Items/ItemNaming.h" +#include "UI/Window/WindowRegistration.h" #include "Contents/TipBoxTitles.h" #include "Contents/TipOfTheDay.h" #include "Contents/SkinMgr.h" @@ -1561,6 +1562,8 @@ void UINpcTextEditDialogWnd::InsertItemTag(const ITEM_INFO& item) { this->m_tagCtrl->sub_89CFE0(item, 0x12B8A4); } +// OFFSET: 0x008DA690 + // OFFSET: 0x008DACF0 // FUNCTION: fn_12149 void UINpcTextEditDialogWnd::InsertSkillTag(int tagId) { @@ -5984,3 +5987,10 @@ std::string CartTypeName(int type) { }; return std::move(names[type]); } + +// OFFSET: 0x008D7460 +// FUNCTION: fn_12119 +int CSession::GetTraitStat(int type) { + std::map& traitStats = reinterpret_cast&>(this->unknown_7FC0); + return traitStats[type]; +}