diff options
author | ariel- <ariel-@users.noreply.github.com> | 2017-03-07 20:15:30 -0300 |
---|---|---|
committer | ariel- <ariel-@users.noreply.github.com> | 2017-03-07 20:15:30 -0300 |
commit | c3a2bd32cf675d00081ffd447c93d31d48456ca2 (patch) | |
tree | d3dc515c3325dc56faf15591607416349102d9e2 /src | |
parent | 804257b99a26ca2dc1941a7577e5ae06c954f9cb (diff) |
Core/Creature: don't override display id if addon tables load a morph aura
Ref #7337
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Creature/Creature.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index 171f1fb61fd..dff185cebcf 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -1022,9 +1022,12 @@ bool Creature::Create(ObjectGuid::LowType guidlow, Map* map, uint32 phaseMask, u CreatureModelInfo const* minfo = sObjectMgr->GetCreatureModelRandomGender(&displayID); if (minfo && !IsTotem()) // Cancel load if no model defined or if totem { - SetDisplayId(displayID); SetNativeDisplayId(displayID); - SetByteValue(UNIT_FIELD_BYTES_0, UNIT_BYTES_0_OFFSET_GENDER, minfo->gender); + + Unit::AuraEffectList const& transformAuras = GetAuraEffectsByType(SPELL_AURA_TRANSFORM); + Unit::AuraEffectList const& shapeshiftAuras = GetAuraEffectsByType(SPELL_AURA_MOD_SHAPESHIFT); + if (transformAuras.empty() && shapeshiftAuras.empty()) + SetDisplayId(displayID); } LastUsedScriptID = GetCreatureTemplate()->ScriptID; |