From 5f2790815a7eadd0e1781488a4d4442f1dc08228 Mon Sep 17 00:00:00 2001 From: ariel- Date: Tue, 7 Mar 2017 20:15:30 -0300 Subject: Core/Creature: don't override display id if addon tables load a morph aura Ref #7337 (cherrypicked from c3a2bd32cf675d00081ffd447c93d31d48456ca2) --- src/server/game/Entities/Creature/Creature.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index 5e7df4ab3c1..b1fa769ae99 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -1050,9 +1050,12 @@ bool Creature::Create(ObjectGuid::LowType guidlow, Map* map, uint32 entry, float CreatureModelInfo const* minfo = sObjectMgr->GetCreatureModelRandomGender(&display, cinfo); if (minfo && !IsTotem()) // Cancel load if no model defined or if totem { - SetDisplayId(display.CreatureDisplayID, display.DisplayScale); SetNativeDisplayId(display.CreatureDisplayID, display.DisplayScale); - SetGender(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(display.CreatureDisplayID, display.DisplayScale); } LastUsedScriptID = GetScriptId(); -- cgit v1.2.3