diff options
Diffstat (limited to 'src/being.cpp')
-rw-r--r-- | src/being.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/being.cpp b/src/being.cpp index 9aee21c4e..13874335d 100644 --- a/src/being.cpp +++ b/src/being.cpp @@ -740,12 +740,8 @@ void Being::handleAttack(Being *victim, int damage, if (dir) setDirection(dir); } - if (damage) - { - victim->setAction(HURT); - if (this == player_node && mAction == HURT) - setAction(ATTACK); - } + if (damage && victim->mType == PLAYER && victim->mAction == SIT) + victim->setAction(STAND); sound.playSfx(mInfo->getSound((damage > 0) ? SOUND_EVENT_HIT : SOUND_EVENT_MISS), mX, mY); @@ -1093,7 +1089,10 @@ 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; + //currentAction = SpriteAction::HURT;// Buggy: makes the player stop + // attacking and unable to attack + // again until he moves. + // TODO: fix this! break; case DEAD: currentAction = SpriteAction::DEAD; |