aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/QuestHandler.cpp
diff options
context:
space:
mode:
authorIntel <chemicstry@gmail.com>2014-12-29 23:01:50 +0200
committerIntel <chemicstry@gmail.com>2014-12-30 02:24:10 +0200
commit1f7e6a976d345204f7ff123e2eda51a719d25d2e (patch)
treecdd03e42ab0d042dffb3e776c330226ea5682f11 /src/server/game/Handlers/QuestHandler.cpp
parentc5e35c9d0ce3cc5b6a87e0aa6a0b23d8a2ed6b5d (diff)
Core/Quests: Added CMSG_QUESTGIVER_QUERY_QUEST
Diffstat (limited to 'src/server/game/Handlers/QuestHandler.cpp')
-rw-r--r--src/server/game/Handlers/QuestHandler.cpp14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/server/game/Handlers/QuestHandler.cpp b/src/server/game/Handlers/QuestHandler.cpp
index bed1cc72f66..1943b8e27f1 100644
--- a/src/server/game/Handlers/QuestHandler.cpp
+++ b/src/server/game/Handlers/QuestHandler.cpp
@@ -202,23 +202,19 @@ void WorldSession::HandleQuestgiverAcceptQuestOpcode(WorldPacket& recvData)
#undef CLOSE_GOSSIP_CLEAR_DIVIDER
}
-void WorldSession::HandleQuestgiverQueryQuestOpcode(WorldPacket& recvData)
+void WorldSession::HandleQuestgiverQueryQuestOpcode(WorldPackets::Quest::QuestGiverQueryQuest& packet)
{
- ObjectGuid guid;
- uint32 questId;
- uint8 unk1;
- recvData >> guid >> questId >> unk1;
- TC_LOG_DEBUG("network", "WORLD: Received CMSG_QUESTGIVER_QUERY_QUEST npc = %s, quest = %u, unk1 = %u", guid.ToString().c_str(), questId, unk1);
+ TC_LOG_DEBUG("network", "WORLD: Received CMSG_QUESTGIVER_QUERY_QUEST QuestGiverGUID = %s, QuestID = %u, RespondToGiver = %u", packet.QuestGiverGUID.ToString().c_str(), packet.QuestID, packet.RespondToGiver);
// Verify that the guid is valid and is a questgiver or involved in the requested quest
- Object* object = ObjectAccessor::GetObjectByTypeMask(*_player, guid, TYPEMASK_UNIT | TYPEMASK_GAMEOBJECT | TYPEMASK_ITEM);
- if (!object || (!object->hasQuest(questId) && !object->hasInvolvedQuest(questId)))
+ Object* object = ObjectAccessor::GetObjectByTypeMask(*_player, packet.QuestGiverGUID, TYPEMASK_UNIT | TYPEMASK_GAMEOBJECT | TYPEMASK_ITEM);
+ if (!object || (!object->hasQuest(packet.QuestID) && !object->hasInvolvedQuest(packet.QuestID)))
{
_player->PlayerTalkClass->SendCloseGossip();
return;
}
- if (Quest const* quest = sObjectMgr->GetQuestTemplate(questId))
+ if (Quest const* quest = sObjectMgr->GetQuestTemplate(packet.QuestID))
{
if (!_player->CanTakeQuest(quest, true))
return;