aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/QuestHandler.cpp
diff options
context:
space:
mode:
authormik1893 <michele.roscelli@gmail.com>2016-06-09 17:00:00 +0100
committermik1893 <michele.roscelli@gmail.com>2016-06-09 17:00:00 +0100
commit7db377c7f9743226ee18a496af8d2569917c15c9 (patch)
treefc71b225ed8736d9eeb19120399e656b93d482c7 /src/server/game/Handlers/QuestHandler.cpp
parent8457829516bb1fe68aa8c61bbdf82cd7085c108c (diff)
parent114f4c9715dd703f37440ef59fcf864fb8e6612f (diff)
Merge pull request #17266 from SnapperRy/quest_update
Core/Quest: send SMSG_QUESTGIVER_STATUS_MULTIPLE after a quest is rewarded.
Diffstat (limited to 'src/server/game/Handlers/QuestHandler.cpp')
-rw-r--r--src/server/game/Handlers/QuestHandler.cpp41
1 files changed, 1 insertions, 40 deletions
diff --git a/src/server/game/Handlers/QuestHandler.cpp b/src/server/game/Handlers/QuestHandler.cpp
index a7db18deddb..55de0abacfd 100644
--- a/src/server/game/Handlers/QuestHandler.cpp
+++ b/src/server/game/Handlers/QuestHandler.cpp
@@ -640,46 +640,7 @@ void WorldSession::HandleQuestgiverStatusMultipleQuery(WorldPacket& /*recvPacket
{
TC_LOG_DEBUG("network", "WORLD: Received CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY");
- uint32 count = 0;
-
- WorldPacket data(SMSG_QUESTGIVER_STATUS_MULTIPLE, 4);
- data << uint32(count); // placeholder
-
- for (auto itr = _player->m_clientGUIDs.begin(); itr != _player->m_clientGUIDs.end(); ++itr)
- {
- uint32 questStatus = DIALOG_STATUS_NONE;
-
- if (itr->IsAnyTypeCreature())
- {
- // need also pet quests case support
- Creature* questgiver = ObjectAccessor::GetCreatureOrPetOrVehicle(*GetPlayer(), *itr);
- if (!questgiver || questgiver->IsHostileTo(_player))
- continue;
- if (!questgiver->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER))
- continue;
-
- questStatus = _player->GetQuestDialogStatus(questgiver);
-
- data << uint64(questgiver->GetGUID());
- data << uint8(questStatus);
- ++count;
- }
- else if (itr->IsGameObject())
- {
- GameObject* questgiver = GetPlayer()->GetMap()->GetGameObject(*itr);
- if (!questgiver || questgiver->GetGoType() != GAMEOBJECT_TYPE_QUESTGIVER)
- continue;
-
- questStatus = _player->GetQuestDialogStatus(questgiver);
-
- data << uint64(questgiver->GetGUID());
- data << uint8(questStatus);
- ++count;
- }
- }
-
- data.put<uint32>(0, count); // write real count
- SendPacket(&data);
+ _player->SendQuestGiverStatusMultiple();
}
void WorldSession::HandleQueryQuestsCompleted(WorldPacket & /*recvData*/)