aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/QueryHandler.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2018-12-09 14:45:03 +0100
committerShauren <shauren.trinity@gmail.com>2018-12-09 14:45:03 +0100
commitf94deace764f0b8d99249760d2bc2e85c891c387 (patch)
tree4c7c56f34768fc7aef05268061a12845c5bf67ce /src/server/game/Handlers/QueryHandler.cpp
parent8725eec9c1c15f3e76bd9d524d4a5d8d0b3f0a44 (diff)
parenta70030ff252b266d12023ffada2a309409c1ccdb (diff)
Merge branch 'bfa'
Diffstat (limited to 'src/server/game/Handlers/QueryHandler.cpp')
-rw-r--r--src/server/game/Handlers/QueryHandler.cpp19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/server/game/Handlers/QueryHandler.cpp b/src/server/game/Handlers/QueryHandler.cpp
index 273bf287821..48bb45581fa 100644
--- a/src/server/game/Handlers/QueryHandler.cpp
+++ b/src/server/game/Handlers/QueryHandler.cpp
@@ -95,10 +95,12 @@ void WorldSession::HandleCreatureQuery(WorldPackets::Query::QueryCreature& packe
for (uint32 i = 0; i < MAX_KILL_CREDIT; ++i)
stats.ProxyCreatureID[i] = creatureInfo->KillCredit[i];
- stats.CreatureDisplayID[0] = creatureInfo->Modelid1;
- stats.CreatureDisplayID[1] = creatureInfo->Modelid2;
- stats.CreatureDisplayID[2] = creatureInfo->Modelid3;
- stats.CreatureDisplayID[3] = creatureInfo->Modelid4;
+ std::transform(creatureInfo->Models.begin(), creatureInfo->Models.end(), std::back_inserter(stats.Display.CreatureDisplay),
+ [&stats](CreatureModel const& model) -> WorldPackets::Query::CreatureXDisplay
+ {
+ stats.Display.TotalProbability += model.Probability;
+ return { model.CreatureDisplayID, model.DisplayScale, model.Probability };
+ });
stats.HpMulti = creatureInfo->ModHealth;
stats.EnergyMulti = creatureInfo->ModMana;
@@ -107,14 +109,14 @@ void WorldSession::HandleCreatureQuery(WorldPackets::Query::QueryCreature& packe
stats.RequiredExpansion = creatureInfo->RequiredExpansion;
stats.HealthScalingExpansion = creatureInfo->HealthScalingExpansion;
stats.VignetteID = creatureInfo->VignetteID;
+ stats.Class = creatureInfo->unit_class;
stats.Title = creatureInfo->SubName;
stats.TitleAlt = creatureInfo->TitleAlt;
stats.CursorName = creatureInfo->IconName;
if (std::vector<uint32> const* items = sObjectMgr->GetCreatureQuestItemList(packet.CreatureID))
- for (uint32 item : *items)
- stats.QuestItems.push_back(item);
+ stats.QuestItems.insert(stats.QuestItems.begin(), items->begin(), items->end());
LocaleConstant localeConstant = GetSessionDbLocaleIndex();
if (localeConstant != LOCALE_enUS)
@@ -368,13 +370,12 @@ void WorldSession::HandleQuestPOIQuery(WorldPackets::Query::QuestPOIQuery& quest
questPOIBlobData.QuestObjectiveID = data->QuestObjectiveID;
questPOIBlobData.QuestObjectID = data->QuestObjectID;
questPOIBlobData.MapID = data->MapID;
- questPOIBlobData.WorldMapAreaID = data->WorldMapAreaID;
- questPOIBlobData.Floor = data->Floor;
+ questPOIBlobData.UiMapID = data->UiMapID;
questPOIBlobData.Priority = data->Priority;
questPOIBlobData.Flags = data->Flags;
questPOIBlobData.WorldEffectID = data->WorldEffectID;
questPOIBlobData.PlayerConditionID = data->PlayerConditionID;
- questPOIBlobData.UnkWoD1 = data->UnkWoD1;
+ questPOIBlobData.SpawnTrackingID = data->SpawnTrackingID;
questPOIBlobData.AlwaysAllowMergingBlobs = data->AlwaysAllowMergingBlobs;
for (QuestPOIPoint const& point : data->points)