mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-22 23:30:14 +00:00
feat: display quest reward items in quest details acceptance window
Parse and store reward items (choice and fixed) from SMSG_QUESTGIVER_QUEST_DETAILS in both WotLK (QuestDetailsParser) and TBC/Classic (TbcPacketParsers) parsers. Show item icons, names, and counts in the quest acceptance dialog alongside XP/money. Move QuestRewardItem before QuestDetailsData in header to fix forward-reference.
This commit is contained in:
parent
9f8a0907c4
commit
1ff48259cc
4 changed files with 101 additions and 21 deletions
|
|
@ -2086,6 +2086,14 @@ public:
|
|||
static network::Packet build(uint64_t npcGuid, uint32_t questId);
|
||||
};
|
||||
|
||||
/** Reward item entry (shared by quest detail/offer windows) */
|
||||
struct QuestRewardItem {
|
||||
uint32_t itemId = 0;
|
||||
uint32_t count = 0;
|
||||
uint32_t displayInfoId = 0;
|
||||
uint32_t choiceSlot = 0; // Original reward slot index from server payload
|
||||
};
|
||||
|
||||
/** SMSG_QUESTGIVER_QUEST_DETAILS data (simplified) */
|
||||
struct QuestDetailsData {
|
||||
uint64_t npcGuid = 0;
|
||||
|
|
@ -2096,6 +2104,8 @@ struct QuestDetailsData {
|
|||
uint32_t suggestedPlayers = 0;
|
||||
uint32_t rewardMoney = 0;
|
||||
uint32_t rewardXp = 0;
|
||||
std::vector<QuestRewardItem> rewardChoiceItems; // Player picks one of these
|
||||
std::vector<QuestRewardItem> rewardItems; // These are always given
|
||||
};
|
||||
|
||||
/** SMSG_QUESTGIVER_QUEST_DETAILS parser */
|
||||
|
|
@ -2104,14 +2114,6 @@ public:
|
|||
static bool parse(network::Packet& packet, QuestDetailsData& data);
|
||||
};
|
||||
|
||||
/** Reward item entry (shared by quest detail/offer windows) */
|
||||
struct QuestRewardItem {
|
||||
uint32_t itemId = 0;
|
||||
uint32_t count = 0;
|
||||
uint32_t displayInfoId = 0;
|
||||
uint32_t choiceSlot = 0; // Original reward slot index from server payload
|
||||
};
|
||||
|
||||
/** SMSG_QUESTGIVER_REQUEST_ITEMS data (turn-in progress check) */
|
||||
struct QuestRequestItemsData {
|
||||
uint64_t npcGuid = 0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue