From 6aec4bb36007156f682e6bcf07799e75fe2f7a42 Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Thu, 5 Nov 2026 16:58:11 +0000 Subject: [PATCH] Decompile fn_24153 (CSession::EndSkillOption) Batch #12520 by Toshiro: 0 byte-identical, 1 confirmed by peer review. - fn_24153 CSession::EndSkillOption: logic confirmed by peer review Peer-reviewed-by: Yommy, gordaoprogramas Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- Source/Client/Session.cpp | 5 +++-- Source/Contents/InstantVar.h | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Source/Client/Session.cpp b/Source/Client/Session.cpp index 626c2a4c..51a09270 100644 --- a/Source/Client/Session.cpp +++ b/Source/Client/Session.cpp @@ -1870,13 +1870,14 @@ void CSession::AddUnknown7F94(std::uint32_t id) { // OFFSET: 0x00E2F3B0 // FUNCTION: fn_24153 void CSession::EndSkillOption() { - if (this->GetOption(2) != 0) { + auto option = this->m_options.m_values.find(2); + if (option != this->m_options.m_values.end() && static_cast(option->second) != 0) { this->unknown_61A4 = 0; PACKET_CZ_USE_SKILL_END packet; packet.packetType = ID_CZ_USE_SKILL_END; packet.skillId = GC_ROLLINGCUTTER; GetRagConnection().Send(sizeof(packet), &packet); - this->m_options.Set(2, 0); + this->m_options.m_values[2] = 0; } } diff --git a/Source/Contents/InstantVar.h b/Source/Contents/InstantVar.h index 848b7cbe..c53c40e7 100644 --- a/Source/Contents/InstantVar.h +++ b/Source/Contents/InstantVar.h @@ -15,6 +15,7 @@ public: const std::map& Values() const; private: + friend class CSession; /* 0004 */ std::map m_values; };