aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorariel- <ariel-@users.noreply.github.com>2017-03-17 12:35:10 -0300
committerariel- <ariel-@users.noreply.github.com>2017-03-17 12:35:10 -0300
commit7a38eaa5a1fe23d8fedb2bfce518abb972b823f7 (patch)
tree618e7a59965fb98e961e4b9f29df044b352c534c /src
parent3d43a92fb3aa6de3109581b04ed3795eb14b5354 (diff)
Core/Unit: properly reset displayIds when having a shapeshift aura active
Closes #19309
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 108396fdf68..78f4179086e 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -11463,16 +11463,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()