TargetSelection::TargetSelection(BattleState *battle, bool multiple, bool atEnemy)
: battle(battle)
-, selected(battle ? ((int)battle->MonsterPositions().size() > battle->NumHeroes() ? (int)battle->MonsterPositions().size() : battle->NumHeroes()) : 0, false)
+, selected(battle ? ((int)battle->MonsterPositions().size() > battle->NumHeroes() ? (int)battle->MonsterPositions().size() : battle->NumHeroes()) : 0, State())
, selection(-1)
, cursor(0)
, multiple(multiple)
}
void TargetSelection::FindNextEnemy() {
+ int start(cursor);
while (!battle->MonsterPositionOccupied(cursor)) {
cursor = (cursor + battle->MonsterPositions().size() - 1) % battle->MonsterPositions().size();
+ if (cursor == start) break;
}
}