diff options
author | Machiavelli <none@none> | 2010-03-20 21:26:29 +0100 |
---|---|---|
committer | Machiavelli <none@none> | 2010-03-20 21:26:29 +0100 |
commit | f7ffd77123b5f6c943f7d280fbea5742e2c5d9b9 (patch) | |
tree | fbc2df239fcf5e41dcbbd412d4c8f95f7af44d18 /src/game/QueryHandler.cpp | |
parent | 830062779ebe78d3c7044b1185bc1eb965b1a2aa (diff) |
Do not use hard coded index in SMSG_QUEST_POI_QUERY_RESPONSE. May be the resolution for some client crashes.
--HG--
branch : trunk
Diffstat (limited to 'src/game/QueryHandler.cpp')
-rw-r--r-- | src/game/QueryHandler.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/game/QueryHandler.cpp b/src/game/QueryHandler.cpp index 5d7de476d4b..e6647fce9ac 100644 --- a/src/game/QueryHandler.cpp +++ b/src/game/QueryHandler.cpp @@ -503,25 +503,23 @@ void WorldSession::HandleQuestPOIQuery(WorldPacket& recv_data) { data << uint32(questId); // quest ID data << uint32(POI->size()); // POI count - - int index = 0; + for(QuestPOIVector::const_iterator itr = POI->begin(); itr != POI->end(); ++itr) { - data << uint32(index); // POI index - data << int32(itr->ObjectiveIndex); // objective index - data << uint32(itr->MapId); // mapid - data << uint32(itr->Unk1); // unknown + data << uint32(itr->Id); // POI index + data << int32(itr->ObjectiveIndex); // objective index + data << uint32(itr->MapId); // mapid + data << uint32(itr->AreaId); // areaid data << uint32(itr->Unk2); // unknown data << uint32(itr->Unk3); // unknown data << uint32(itr->Unk4); // unknown - data << uint32(itr->points.size()); // POI points count + data << uint32(itr->points.size()); // POI points count for(std::vector<QuestPOIPoint>::const_iterator itr2 = itr->points.begin(); itr2 != itr->points.end(); ++itr2) { data << int32(itr2->x); // POI point x data << int32(itr2->y); // POI point y } - ++index; } } else |