+void PerformAttacks::RenderTargetAnimation(SDL_Surface *screen, const geometry::Vector<int> &offset) const {
+ if (!targetAnimation || !targetAnimation->Running()) return;
+ if (order[cursor].isMonster) return; // no monsters for now
+ const TargetSelection &ts(battle->AttackChoiceAt(order[cursor].index).Selection());
+ 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);
+ }
+ }
+}
+