aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/QueryHandler.cpp
diff options
context:
space:
mode:
authorTraesh <Traesh@users.noreply.github.com>2018-11-07 20:23:30 +0100
committerShauren <shauren.trinity@gmail.com>2018-11-07 20:23:30 +0100
commit9d210476e57949094fdd286001ef4900564edca5 (patch)
tree1e8ed5d261698e633ee3371779d30f8c1666526e /src/server/game/Handlers/QueryHandler.cpp
parent31f0186d20a1944e5d0ff47d71ca8f560074de4b (diff)
Core/Creatures: Update creature model handling with new display scale (#22567)
Diffstat (limited to 'src/server/game/Handlers/QueryHandler.cpp')
-rw-r--r--src/server/game/Handlers/QueryHandler.cpp20
1 files changed, 5 insertions, 15 deletions
diff --git a/src/server/game/Handlers/QueryHandler.cpp b/src/server/game/Handlers/QueryHandler.cpp
index 0e0a9f4ac43..48bb45581fa 100644
--- a/src/server/game/Handlers/QueryHandler.cpp
+++ b/src/server/game/Handlers/QueryHandler.cpp
@@ -95,22 +95,12 @@ void WorldSession::HandleCreatureQuery(WorldPackets::Query::QueryCreature& packe
for (uint32 i = 0; i < MAX_KILL_CREDIT; ++i)
stats.ProxyCreatureID[i] = creatureInfo->KillCredit[i];
- // TEMPORARY, PR #22567
- auto addModel = [&](uint32 modelId)
+ std::transform(creatureInfo->Models.begin(), creatureInfo->Models.end(), std::back_inserter(stats.Display.CreatureDisplay),
+ [&stats](CreatureModel const& model) -> WorldPackets::Query::CreatureXDisplay
{
- 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.Display.TotalProbability += model.Probability;
+ return { model.CreatureDisplayID, model.DisplayScale, model.Probability };
+ });
stats.HpMulti = creatureInfo->ModHealth;
stats.EnergyMulti = creatureInfo->ModMana;