- // 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));
+ if (hero.HasWeapon()) {
+ if (hero.Weapon()->GetTargetingMode().TargetsAll()) {
+ ac.SetType(AttackChoice::SWORD);
+ battle->NextHero();
+ break;
+ } else {
+ ac.Selection().ReadMode(hero.Weapon()->GetTargetingMode());
+ }
+ } else {
+ ac.Selection().SetSingle();
+ }
+ ac.Selection().Reset();
+ ctrl->PushState(new SelectTarget(battle, this, &ac.Selection(), battle->Res().weaponTargetCursor));