aboutsummaryrefslogtreecommitdiff
path: root/src/game/QuestHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/QuestHandler.cpp')
-rw-r--r--src/game/QuestHandler.cpp19
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);
+}