diff options
| author | elecyb <elecyb@hotmail.com> | 2016-01-12 02:04:33 -0300 |
|---|---|---|
| committer | elecyb <elecyb@hotmail.com> | 2016-01-12 17:34:34 -0300 |
| commit | 38782deed0e62f8348d32930d2b12dc1a0c1edd0 (patch) | |
| tree | 3c3b4bcf0d7342445aefdd6f21bc338e7c38c82e /src | |
| parent | 48940e292fdde1042f096cac507c2b1b54e8146b (diff) | |
Core/Entities: Show destroy animation for creatures and totems.
Now all pets and totems will have their proper die/destroy animation when killed.
Ported from MaNGOS.
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/game/Entities/Object/Object.cpp | 9 | ||||
| -rw-r--r-- | src/server/game/Entities/Totem/Totem.cpp | 4 |
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(); } |
