X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fbattle%2FTargetSelection.cpp;h=961f57cf845cdf703014c83345dc569803a231f9;hb=60e0fe29ce6cd033edc78b181d9d07fa72c11172;hp=5fbf78525d21d1318b636b5b63beb6f756c57c5c;hpb=b53c2ec2621ccc654e819cb203dc26e0a482bd41;p=l2e.git diff --git a/src/battle/TargetSelection.cpp b/src/battle/TargetSelection.cpp index 5fbf785..961f57c 100644 --- a/src/battle/TargetSelection.cpp +++ b/src/battle/TargetSelection.cpp @@ -1,10 +1,3 @@ -/* - * TargetSelection.cpp - * - * Created on: Aug 9, 2012 - * Author: holy - */ - #include "TargetSelection.h" #include "BattleState.h" @@ -27,7 +20,7 @@ TargetSelection::TargetSelection(BattleState *battle, bool multiple, bool atEnem void TargetSelection::ReadMode(const common::TargetingMode &tm) { if (tm.TargetsEnemy()) { - SelectEnemies(); + SelectMonsters(); } else { SelectHeroes(); } @@ -39,8 +32,8 @@ void TargetSelection::ReadMode(const common::TargetingMode &tm) { } -void TargetSelection::SelectEnemies() { - if (TargetsEnemies()) return; +void TargetSelection::SelectMonsters() { + if (TargetsMonsters()) return; enemy = true; UnselectAll(); cursor = 0; @@ -58,23 +51,24 @@ void TargetSelection::SelectHeroes() { void TargetSelection::Reset() { UnselectAll(); cursor = 0; - if (TargetsEnemies()) { + if (TargetsMonsters()) { FindNextEnemy(); } } void TargetSelection::MoveUp() { - if (TargetsEnemies()) return; + if (TargetsMonsters()) return; if (cursor < 2) { - SelectEnemies(); + SelectMonsters(); } else { cursor -= 2; } } void TargetSelection::MoveRight() { - if (TargetsEnemies()) { + assert(battle); + if (TargetsMonsters()) { cursor = (cursor + 1) % battle->MaxMonsters(); while (!battle->MonsterPositionOccupied(cursor)) { cursor = (cursor + 1) % battle->MaxMonsters(); @@ -85,7 +79,8 @@ void TargetSelection::MoveRight() { } void TargetSelection::MoveDown() { - if (TargetsEnemies()) { + assert(battle); + if (TargetsMonsters()) { SelectHeroes(); return; } @@ -96,7 +91,8 @@ void TargetSelection::MoveDown() { } void TargetSelection::MoveLeft() { - if (TargetsEnemies()) { + assert(battle); + if (TargetsMonsters()) { cursor = (cursor + battle->MaxMonsters() - 1) % battle->MaxMonsters(); FindNextEnemy(); } else { @@ -105,6 +101,7 @@ void TargetSelection::MoveLeft() { } void TargetSelection::FindNextEnemy() { + assert(battle); int start(cursor); while (!battle->MonsterPositionOccupied(cursor)) { cursor = (cursor + battle->MaxMonsters() - 1) % battle->MaxMonsters();