From c3a2bd32cf675d00081ffd447c93d31d48456ca2 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 --- src/server/game/Entities/Creature/Creature.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/server') 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; -- cgit v1.2.3