diff options
author | Traesh <Traesh@users.noreply.github.com> | 2018-11-07 20:23:30 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2018-11-07 20:23:30 +0100 |
commit | 9d210476e57949094fdd286001ef4900564edca5 (patch) | |
tree | 1e8ed5d261698e633ee3371779d30f8c1666526e /src/server/game/Handlers/QueryHandler.cpp | |
parent | 31f0186d20a1944e5d0ff47d71ca8f560074de4b (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.cpp | 20 |
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; |