aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/QueryHandler.cpp
diff options
context:
space:
mode:
authorRat <gmstreetrat@gmail.com>2015-04-06 19:49:39 +0200
committerRat <gmstreetrat@gmail.com>2015-04-06 19:49:39 +0200
commite248d5a4062a83e1016bcd646073992f20fac291 (patch)
treec4edcd6ab52b4d8512a37252101bb96c2795b42a /src/server/game/Handlers/QueryHandler.cpp
parente7000a49ecd5b90e84563f6bf8a693e22ab93b06 (diff)
Core/DataBase: implemented creature_questitem and gameobject_questitem tables
Diffstat (limited to 'src/server/game/Handlers/QueryHandler.cpp')
-rw-r--r--src/server/game/Handlers/QueryHandler.cpp17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/server/game/Handlers/QueryHandler.cpp b/src/server/game/Handlers/QueryHandler.cpp
index 93ae3873857..a5288b274a4 100644
--- a/src/server/game/Handlers/QueryHandler.cpp
+++ b/src/server/game/Handlers/QueryHandler.cpp
@@ -89,9 +89,12 @@ void WorldSession::HandleCreatureQuery(WorldPackets::Query::QueryCreature& packe
stats.HpMulti = creatureInfo->ModHealth;
stats.EnergyMulti = creatureInfo->ModMana;
stats.Leader = creatureInfo->RacialLeader;
- for (uint8 i = 0; i < MAX_CREATURE_QUEST_ITEMS; ++i)
- if (creatureInfo->questItems[i])
- stats.QuestItems.push_back(creatureInfo->questItems[i]);
+
+ CreatureQuestItemList* items = sObjectMgr->GetCreatureQuestItemList(packet.CreatureID);
+ if (items)
+ for (uint32 item : *items)
+ stats.QuestItems.push_back(item);
+
stats.CreatureMovementInfoID = creatureInfo->movementId;
stats.RequiredExpansion = creatureInfo->expansionUnknown;
stats.Flags[0] = creatureInfo->type_flags;
@@ -128,9 +131,11 @@ void WorldSession::HandleGameObjectQueryOpcode(WorldPackets::Query::QueryGameObj
stats.IconName = gameObjectInfo->IconName;
stats.Name[0] = gameObjectInfo->name;
- for (uint8 i = 0; i < MAX_GAMEOBJECT_QUEST_ITEMS; i++)
- if (gameObjectInfo->questItems[i])
- stats.QuestItems.push_back(gameObjectInfo->questItems[i]);
+ GameObjectQuestItemList* items = sObjectMgr->GetGameObjectQuestItemList(packet.GameObjectID);
+ if (items)
+ for (uint32 item : *items)
+ stats.QuestItems.push_back(item);
+
for (uint32 i = 0; i < MAX_GAMEOBJECT_DATA; i++)
stats.Data[i] = gameObjectInfo->raw.data[i];