From d44e82617cd87f70fa9759d3352ee6c807869b33 Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Wed, 11 Nov 2026 13:40:16 +0000 Subject: [PATCH] Decompile 2 functions in Source/Client/Session/SessionState.cpp Batch #17015 by eAthena: 0 byte-identical, 2 confirmed by peer review. - fn_24173 CSession::LoadSkillDelayList: logic confirmed by peer review - fn_24238 CSession::ResolvePendingActorName: logic confirmed by peer review Peer-reviewed-by: Yommy, alisonrag, br4yan Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- Source/Client/Session/SessionState.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Source/Client/Session/SessionState.cpp b/Source/Client/Session/SessionState.cpp index 3831730c2..d6e062665 100644 --- a/Source/Client/Session/SessionState.cpp +++ b/Source/Client/Session/SessionState.cpp @@ -92,7 +92,7 @@ void CSession::LoadSkillDelayList(int skillId, std::vector>& if (lua_type(L, -1) == LUA_TTABLE) { lua_pushnil(L); while (lua_next(L, -2) != 0) { - skillFlag = static_cast(skillFlag + lua_tonumber(L, -1)); + skillFlag += lua_tonumber(L, -1); lua_settop(L, -2); } } @@ -127,7 +127,7 @@ void CSession::LoadSkillDelayList(int skillId, std::vector>& CGameActor* actor = static_cast( static_cast(g_modeMgr.GetGameMode())->scene->GetGameActorByAID(this->elementalGid) ); - int delay = 0; + int delay; if (actor) { switch (actor->GetEffectiveJob(-1)) { case JT_EL_AGNI_S: @@ -153,7 +153,12 @@ void CSession::LoadSkillDelayList(int skillId, std::vector>& case JT_EM_SERPENS: delay = 9000; break; + default: + delay = 0; + break; } + } else { + delay = 0; } delays[0][3] = delay; } @@ -350,13 +355,13 @@ void CSession::ResolvePendingActorName(std::uint32_t id, const char* name) { return; } - if (this->pendingActorNames.end() == this->pendingActorNames.find(id)) { + if (this->pendingActorNames.end() == this->pendingActorNames.find(static_cast(id))) { return; } chat->SendMsg(nullptr, UM_RESOLVE_PLAYER_TAGS, reinterpret_cast(name), 0, 0, 0); g_windowMgr.SendNotice(UIM_RESOLVE_PLAYER_TAGS, reinterpret_cast(name), 0, 0, 0, 0); - this->pendingActorNames.erase(id); + this->pendingActorNames.erase(static_cast(id)); } // OFFSET: 0x00E1A5E0