X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fbattle%2Fstates%2FSelectAttackType.cpp;h=b8d604d91a68dd28937a04f7668beb441c94fc91;hb=923422e6a71f57b8fa24b826d1e2914faa144081;hp=c0073208195e923086eeadb9f744a5764545cdda;hpb=3c72a71fbf6de96333a641051a20c6bf8b3a5df3;p=l2e.git diff --git a/src/battle/states/SelectAttackType.cpp b/src/battle/states/SelectAttackType.cpp index c007320..b8d604d 100644 --- a/src/battle/states/SelectAttackType.cpp +++ b/src/battle/states/SelectAttackType.cpp @@ -56,7 +56,7 @@ void SelectAttackType::Resize(int width, int height) { } -void SelectAttackType::HandleInput(const Input &input) { +void SelectAttackType::HandleEvents(const Input &input) { if (input.IsDown(Input::PAD_UP)) { battle->GetAttackTypeMenu().Select(AttackChoice::MAGIC); } else if (input.IsDown(Input::PAD_RIGHT)) { @@ -75,7 +75,7 @@ void SelectAttackType::HandleInput(const Input &input) { // TODO: detect single/multiple/all attack mode battle->ActiveHeroTargets().SetSingle(); battle->ActiveHeroTargets().Reset(); - ctrl->PushState(new SelectTarget(battle, this, &battle->ActiveHeroTargets(), battle->Res().weaponTargetCursor, true)); + ctrl->PushState(new SelectTarget(battle, this, &battle->ActiveHeroTargets(), battle->Res().weaponTargetCursor)); break; case AttackChoice::MAGIC: if (battle->ActiveHero().CanUseMagic()) { @@ -96,10 +96,12 @@ void SelectAttackType::HandleInput(const Input &input) { throw std::logic_error("selected invalid attack type"); } } else if (input.JustPressed(Input::ACTION_B)) { + battle->ActiveHeroAttackChoice().Reset(); battle->PreviousHero(); - battle->SetAttackType(AttackChoice::UNDECIDED); if (battle->BeforeFirstHero()) { ctrl->ChangeState(new SelectMoveAction(battle)); + } else { + battle->ActiveHeroAttackChoice().Reset(); } }