From 3bee0882cc537a651b21ddca5171afb2acdd10d0 Mon Sep 17 00:00:00 2001 From: Kelsi Date: Tue, 10 Mar 2026 04:20:13 -0700 Subject: [PATCH] game: fix Classic parseQuestDetails missing rewardXp field Vanilla 1.12 SMSG_QUESTGIVER_QUEST_DETAILS includes rewardXp (uint32) after rewardMoney, same as WotLK. Without this read the XP reward was always 0 in the quest accept dialog for Classic. --- src/game/packet_parsers_classic.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/game/packet_parsers_classic.cpp b/src/game/packet_parsers_classic.cpp index c0ab0c88..abc856fa 100644 --- a/src/game/packet_parsers_classic.cpp +++ b/src/game/packet_parsers_classic.cpp @@ -1616,6 +1616,9 @@ bool ClassicPacketParsers::parseQuestDetails(network::Packet& packet, QuestDetai if (packet.getReadPos() + 4 <= packet.getSize()) data.rewardMoney = packet.readUInt32(); + // Vanilla 1.12 includes rewardXp after rewardMoney (same as WotLK) + if (packet.getReadPos() + 4 <= packet.getSize()) + data.rewardXp = packet.readUInt32(); LOG_INFO("Quest details classic: id=", data.questId, " title='", data.title, "'"); return true;