From 9875c00dc37b1d7b55e1154075a0cd2d997a490d Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 31 May 2012 18:35:34 +0300 Subject: Add hurt animation. --- src/being.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/being.cpp b/src/being.cpp index 8414d93a6..f1a3e0169 100644 --- a/src/being.cpp +++ b/src/being.cpp @@ -740,8 +740,12 @@ void Being::handleAttack(Being *victim, int damage, if (dir) setDirection(dir); } - if (damage && victim->mType == PLAYER && victim->mAction == SIT) - victim->setAction(STAND); + if (damage) + { + victim->setAction(HURT); + if (this == player_node && mAction == HURT) + setAction(ATTACK); + } sound.playSfx(mInfo->getSound((damage > 0) ? SOUND_EVENT_HIT : SOUND_EVENT_MISS), mX, mY); @@ -1068,10 +1072,7 @@ void Being::setAction(Action action, int attackType A_UNUSED) case HURT: if (mInfo) sound.playSfx(mInfo->getSound(SOUND_EVENT_HURT), mX, mY); - //currentAction = SpriteAction::HURT;// Buggy: makes the player stop - // attacking and unable to attack - // again until he moves. - // TODO: fix this! + currentAction = SpriteAction::HURT; break; case DEAD: currentAction = SpriteAction::DEAD; -- cgit v1.2.3-70-g09d2