X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fbattle%2FTargetSelection.cpp;h=b24772d55937820732ad0b356f76ab5b13c55cf3;hb=9a273798937710928304fdcc5e33a78c6f8b48be;hp=c5573862bb0207fc14e9a18aab4ae6a2a592657f;hpb=adb1e3d5eafba2ef3de1499be286be330afaefef;p=l2e.git diff --git a/src/battle/TargetSelection.cpp b/src/battle/TargetSelection.cpp index c557386..b24772d 100644 --- a/src/battle/TargetSelection.cpp +++ b/src/battle/TargetSelection.cpp @@ -13,7 +13,7 @@ namespace battle { 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) @@ -73,7 +73,7 @@ void TargetSelection::MoveDown() { SelectHeroes(); return; } - int newCursor(cursor + 2 % 4); + int newCursor((cursor + 2) % 4); if (newCursor < battle->NumHeroes()) { cursor = newCursor; } @@ -89,8 +89,10 @@ void TargetSelection::MoveLeft() { } void TargetSelection::FindNextEnemy() { + int start(cursor); while (!battle->MonsterPositionOccupied(cursor)) { cursor = (cursor + battle->MonsterPositions().size() - 1) % battle->MonsterPositions().size(); + if (cursor == start) break; } }