diff options
| author | mik1893 <michele.roscelli@gmail.com> | 2016-06-09 17:00:00 +0100 |
|---|---|---|
| committer | mik1893 <michele.roscelli@gmail.com> | 2016-06-09 17:00:00 +0100 |
| commit | 7db377c7f9743226ee18a496af8d2569917c15c9 (patch) | |
| tree | fc71b225ed8736d9eeb19120399e656b93d482c7 /src/server/game/Handlers/QuestHandler.cpp | |
| parent | 8457829516bb1fe68aa8c61bbdf82cd7085c108c (diff) | |
| parent | 114f4c9715dd703f37440ef59fcf864fb8e6612f (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.cpp | 41 |
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*/) |
