Core/Creatures: Update creature model handling with new display scale (#22567)

This commit is contained in:
Traesh
2018-11-07 20:23:30 +01:00
committed by Shauren
parent 31f0186d20
commit 9d210476e5
32 changed files with 340 additions and 306 deletions

View File

@@ -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;