aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/QueryHandler.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2018-10-04 18:50:21 +0200
committerShauren <shauren.trinity@gmail.com>2018-11-05 00:00:34 +0100
commit0a779bd791fb63b2fc1663206279c7eaa9c02c6f (patch)
treecf13cec2eaab909646f278242981dd51349fddfd /src/server/game/Handlers/QueryHandler.cpp
parent7512ffb0587eccd8fbb2a2841900d572056dbae3 (diff)
Core/PacketIO: Updated packet structures to 8.0.1
Diffstat (limited to 'src/server/game/Handlers/QueryHandler.cpp')
-rw-r--r--src/server/game/Handlers/QueryHandler.cpp29
1 files changed, 20 insertions, 9 deletions
diff --git a/src/server/game/Handlers/QueryHandler.cpp b/src/server/game/Handlers/QueryHandler.cpp
index 273bf287821..0e0a9f4ac43 100644
--- a/src/server/game/Handlers/QueryHandler.cpp
+++ b/src/server/game/Handlers/QueryHandler.cpp
@@ -95,10 +95,22 @@ 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;
+ // TEMPORARY, PR #22567
+ auto addModel = [&](uint32 modelId)
+ {
+ if (modelId)
+ {
+ stats.Display.TotalProbability += 1.0f;
+ stats.Display.CreatureDisplay.emplace_back();
+ WorldPackets::Query::CreatureXDisplay& display = stats.Display.CreatureDisplay.back();
+ display.CreatureDisplayID = modelId;
+ }
+ };
+
+ addModel(creatureInfo->Modelid1);
+ addModel(creatureInfo->Modelid2);
+ addModel(creatureInfo->Modelid3);
+ addModel(creatureInfo->Modelid4);
stats.HpMulti = creatureInfo->ModHealth;
stats.EnergyMulti = creatureInfo->ModMana;
@@ -107,14 +119,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 +380,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)