summaryrefslogtreecommitdiff
path: root/src/being.cpp
diff options
context:
space:
mode:
authorYohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer>2011-06-22 18:18:39 +0200
committerYohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer>2011-06-23 04:17:28 +0200
commita3e5eadaa503e16a4e02af40f1d36a2bb0b5c243 (patch)
tree49d94fee1286d5c8c5dc01fdf22e7b3dda4338a9 /src/being.cpp
parentba5b70974c5dfa0be3105e72a0a012455b28e7a9 (diff)
downloadmana-a3e5eadaa503e16a4e02af40f1d36a2bb0b5c243.tar.gz
mana-a3e5eadaa503e16a4e02af40f1d36a2bb0b5c243.tar.bz2
mana-a3e5eadaa503e16a4e02af40f1d36a2bb0b5c243.tar.xz
mana-a3e5eadaa503e16a4e02af40f1d36a2bb0b5c243.zip
Made the being death sequence better handled.
Now the death animation is set to the minimum of 1.5 seconds just as in the older versions, but permit longer sequences as well. I didn't put a maximum hard cap on it as it may be a burden for the maintainers whatever the hard cap would be, and as it isn't vital to set one anyway. Resolves: Mana-Mantis #364. Reviewed-by: bjorn, Jaxad0127.
Diffstat (limited to 'src/being.cpp')
-rw-r--r--src/being.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/being.cpp b/src/being.cpp
index 42043313..4f546f6d 100644
--- a/src/being.cpp
+++ b/src/being.cpp
@@ -893,10 +893,12 @@ void Being::logic()
ActorSprite::logic();
- // Remove it after 3 secs. TODO: Just play the dead animation before removing
+ // Remove it after 1.5 secs if the dead animation isn't long enough,
+ // or simply play it until it's finished.
if (!isAlive() && Net::getGameHandler()->removeDeadBeings() &&
- get_elapsed_time(mActionTime) > 3000)
+ get_elapsed_time(mActionTime) > std::max(getDuration(), 1500))
{
+
if (getType() != PLAYER)
actorSpriteManager->destroy(this);
}