- const vector<Point<int> > &positions(ts.TargetsHeroes() ? battle->HeroesPositions() : battle->MonsterPositions());
- for (vector<Point<int> >::size_type i(0), end(positions.size()); i < end; ++i) {
- if (ts.IsSelected(i)) {
- targetAnimation->DrawCenter(screen, positions[i] + offset);
+ if (ts.TargetsHeroes()) {
+ for (vector<Vector<int> >::size_type i(0), end(battle->NumHeroes()); i < end; ++i) {
+ if (ts.IsSelected(i)) {
+ targetAnimation.DrawCenter(screen, battle->HeroAt(i).Position() + offset);
+ }
+ }
+ } else {
+ for (vector<Vector<int> >::size_type i(0), end(battle->MaxMonsters()); i < end; ++i) {
+ if (ts.IsSelected(i)) {
+ targetAnimation.DrawCenter(screen, battle->MonsterAt(i).Position() + offset);
+ }