mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-24 16:10:14 +00:00
Fix quest turn-in by populating quest log from gossip data
The quest log was empty because the client never requested quest data from the server. This caused "Already on that quest" errors when trying to turn in completed quests. Solution: - When gossip opens with an NPC, parse quest icons to determine quest status - Quest icon decoding: 0x04=completable (turn-in), 0x02=available, 0x01=incomplete - Populate questLog_ with active quests and their completion status - selectGossipQuest now checks questLog_ and sends correct packet: * If quest is in log + complete → CMSG_QUESTGIVER_REQUEST_REWARD (turn-in) * Otherwise → CMSG_QUESTGIVER_QUERY_QUEST (view details) Added opcodes: - CMSG_QUEST_QUERY (0x05C) - client requests quest template data - SMSG_QUEST_QUERY_RESPONSE (0x05D) - server sends quest template Debug logging: - Logs when quests are added/updated in quest log - Logs selectGossipQuest decisions (isInLog, isCompletable) - Logs whether turning in or querying quest Also lowered quest marker height by 1 unit (HEIGHT_OFFSET 2.1 → 1.1). Quest turn-in now works correctly!
This commit is contained in:
parent
71d14b77c9
commit
8af895c025
3 changed files with 65 additions and 1 deletions
|
|
@ -175,7 +175,7 @@ void QuestMarkerRenderer::render(const Camera& camera) {
|
|||
|
||||
// WoW-style quest marker tuning parameters
|
||||
constexpr float BASE_SIZE = 0.65f; // Base world-space size
|
||||
constexpr float HEIGHT_OFFSET = 2.1f; // Height above NPC bounds
|
||||
constexpr float HEIGHT_OFFSET = 1.1f; // Height above NPC bounds
|
||||
constexpr float BOB_AMPLITUDE = 0.10f; // Bob animation amplitude
|
||||
constexpr float BOB_FREQUENCY = 1.25f; // Bob frequency (Hz)
|
||||
constexpr float MIN_DIST = 4.0f; // Near clamp
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue