diff options
author | Rat <gmstreetrat@gmail.com> | 2015-04-06 19:49:39 +0200 |
---|---|---|
committer | Rat <gmstreetrat@gmail.com> | 2015-04-06 19:49:39 +0200 |
commit | e248d5a4062a83e1016bcd646073992f20fac291 (patch) | |
tree | c4edcd6ab52b4d8512a37252101bb96c2795b42a /src/server/game/Handlers/QueryHandler.cpp | |
parent | e7000a49ecd5b90e84563f6bf8a693e22ab93b06 (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.cpp | 17 |
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]; |