aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/QueryHandler.cpp
diff options
context:
space:
mode:
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];