diff options
Diffstat (limited to 'src/game/QuestHandler.cpp')
-rw-r--r-- | src/game/QuestHandler.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/game/QuestHandler.cpp b/src/game/QuestHandler.cpp index 4b9f3eddd04..d234e063d39 100644 --- a/src/game/QuestHandler.cpp +++ b/src/game/QuestHandler.cpp @@ -689,3 +689,22 @@ void WorldSession::HandleQuestgiverStatusMultipleQuery(WorldPacket& /*recvPacket data.put<uint32>(0, count); // write real count SendPacket(&data); } + +void WorldSession::HandleQueryQuestsCompleted( WorldPacket & recv_data ) +{ + uint32 count = 0; + + WorldPacket data(SMSG_QUERY_QUESTS_COMPLETED_RESPONSE, 4+4*count); + data << uint32(count); + + for(QuestStatusMap::const_iterator itr = _player->getQuestStatusMap().begin(); itr != _player->getQuestStatusMap().end(); ++itr) + { + if(itr->second.m_rewarded) + { + data << uint32(itr->first); + count++; + } + } + data.put<uint32>(0, count); + SendPacket(&data); +} |