From ddffa6b7adb6a63c8b78d73200e2496047cade76 Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Tue, 10 Nov 2026 14:45:15 +0000 Subject: [PATCH] Decompile fn_45442 (CGameMode::ApplyAdditionalSkillPacket) Batch #15734 by Yommy: 0 byte-identical, 1 confirmed by peer review. - fn_45442 CGameMode::ApplyAdditionalSkillPacket: logic confirmed by peer review Peer-reviewed-by: eAthena, alisonrag, gordaoprogramas Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- Source/Network/Packets/SkillUpdatePacket.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Source/Network/Packets/SkillUpdatePacket.cpp b/Source/Network/Packets/SkillUpdatePacket.cpp index 9c4643257..4690d2e8f 100644 --- a/Source/Network/Packets/SkillUpdatePacket.cpp +++ b/Source/Network/Packets/SkillUpdatePacket.cpp @@ -82,10 +82,10 @@ void CGameMode::ApplyAdditionalSkillPacket(const void* packet) { const auto* bytes = static_cast(packet); const auto length = static_cast(static_cast(Read(bytes + 2)) - 6); - const std::uint32_t count = length / 37; + const int count = static_cast(length / 37); const unsigned char* record = bytes + 6; - for (std::uint32_t index = 0; index < count; ++index, record += 37) { + for (int index = 0; index < count; ++index, record += 37) { CSkillInfo value; value.level = Read(record + 6); value.id = Read(record); @@ -93,7 +93,7 @@ void CGameMode::ApplyAdditionalSkillPacket(const void* packet) { value.type = Read(record + 2); value.upgradable = record[36]; value.name = value.IdName(*g_session.m_hotkeyScript); - value.apCost = value.UseApAmount(*g_session.m_hotkeyScript, value.level); + value.apCost = value.UseApAmount(*g_session.m_hotkeyScript, Read(record + 6)); if (value.id - 10000u <= 19u) { g_session.UpdateAdditionalSkill(value, 1);