]> git.localhorst.tv Git - l2e.git/blobdiff - src/battle/states/PerformAttacks.cpp
added some assertions
[l2e.git] / src / battle / states / PerformAttacks.cpp
index 6baa1dae0fe700d64d70bab13141d7d857179a0c..8550318d05cf83942cafb5619ea2a647869a98ce 100644 (file)
@@ -39,6 +39,7 @@ void PerformAttacks::EnterState(Application &c, SDL_Surface *screen) {
 }
 
 void PerformAttacks::ExitState(Application &c, SDL_Surface *screen) {
+       battle->ClearAllAttacks();
        ctrl = 0;
 }
 
@@ -60,9 +61,9 @@ void PerformAttacks::HandleEvents(const Input &input) {
        CheckAnimations();
        if (HasAnimationsRunning()) return;
        ResetAnimation();
+       battle->ApplyDamage();
        battle->NextAttack();
        if (battle->AttacksFinished()) {
-               battle->ClearAllAttacks();
                ctrl->PopState();
                return;
        }
@@ -70,9 +71,9 @@ void PerformAttacks::HandleEvents(const Input &input) {
        battle->CalculateDamage();
 
        if (battle->CurrentAttack().isMonster) {
-               const Monster &monster(battle->MonsterAt(battle->CurrentAttack().index));
+               Monster &monster(battle->MonsterAt(battle->CurrentAttack().index));
                titleBarText = monster.Name();
-               moveAnimation = 0;
+               moveAnimation = monster.AttackAnimation();
        } else {
                Hero &hero(battle->HeroAt(battle->CurrentAttack().index));
                const AttackChoice &ac(battle->AttackChoiceAt(battle->CurrentAttack().index));