aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Object/Object.cpp9
-rw-r--r--src/server/game/Entities/Totem/Totem.cpp4
2 files changed, 12 insertions, 1 deletions
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp
index 253fed76fa5..615202f2ba1 100644
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -2426,7 +2426,14 @@ void WorldObject::DestroyForNearbyPlayers()
if (isType(TYPEMASK_UNIT) && ToUnit()->GetCharmerGUID() == player->GetGUID()) /// @todo this is for puppet
continue;
- DestroyForPlayer(player);
+ if (GetTypeId() == TYPEID_UNIT)
+ {
+ // at remove from world (destroy) show kill animation
+ DestroyForPlayer(player, ToUnit()->IsDuringRemoveFromWorld() && ToCreature()->isDead());
+ }
+ else
+ DestroyForPlayer(player);
+
player->m_clientGUIDs.erase(GetGUID());
}
}
diff --git a/src/server/game/Entities/Totem/Totem.cpp b/src/server/game/Entities/Totem/Totem.cpp
index 169c0e422ba..5e8544246a6 100644
--- a/src/server/game/Entities/Totem/Totem.cpp
+++ b/src/server/game/Entities/Totem/Totem.cpp
@@ -142,6 +142,10 @@ void Totem::UnSummon(uint32 msTime)
}
}
+ // any totem unsummon look like as totem kill, req. for proper animation
+ if (IsAlive())
+ setDeathState(DEAD);
+
AddObjectToRemoveList();
}