aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorelecyb <elecyb@hotmail.com>2016-01-12 02:04:33 -0300
committerelecyb <elecyb@hotmail.com>2016-01-12 17:34:34 -0300
commit38782deed0e62f8348d32930d2b12dc1a0c1edd0 (patch)
tree3c3b4bcf0d7342445aefdd6f21bc338e7c38c82e /src
parent48940e292fdde1042f096cac507c2b1b54e8146b (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.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();
}