From f2c7c5cf0c444d430423999d88089aabd4cf0425 Mon Sep 17 00:00:00 2001 From: ariel- Date: Fri, 17 Mar 2017 12:35:10 -0300 Subject: [PATCH] Core/Unit: properly reset displayIds when having a shapeshift aura active Closes #19309 --- src/server/game/Entities/Unit/Unit.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 870c3ba84a..fe80b6d20d 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -13350,16 +13350,22 @@ void Unit::RestoreDisplayId() // transform aura was found if (handledAura) + { handledAura->HandleEffect(this, AURA_EFFECT_HANDLE_SEND_FOR_CLIENT, true); + return; + } else if (!shapeshiftAura.empty()) // we've found shapeshift { // only one such aura possible at a time if (uint32 modelId = GetModelForForm(GetShapeshiftForm(), shapeshiftAura.front()->GetId())) + { SetDisplayId(modelId); + return; + } } + // no auras found - set modelid to default - else - SetDisplayId(GetNativeDisplayId()); + SetDisplayId(GetNativeDisplayId()); } void Unit::ClearComboPointHolders()