X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fbattle%2FTargetSelection.h;h=ba5317899cfeb6ef63196b9d61de74d5975da659;hb=2255d436a0c2acc10b015827366a72b2ece86094;hp=64500b0b02aca225a117e2005d60f881f63fae11;hpb=a01c2f05b5a6493d7fe097eb15e5337a095992ae;p=l2e.git diff --git a/src/battle/TargetSelection.h b/src/battle/TargetSelection.h index 64500b0..ba53178 100644 --- a/src/battle/TargetSelection.h +++ b/src/battle/TargetSelection.h @@ -1,13 +1,10 @@ -/* - * TargetSelection.h - * - * Created on: Aug 9, 2012 - * Author: holy - */ - #ifndef BATTLE_TARGETSELECTION_H_ #define BATTLE_TARGETSELECTION_H_ +namespace common { + class TargetingMode; +} + #include namespace battle { @@ -20,8 +17,8 @@ public: explicit TargetSelection(BattleState *battle = 0, bool multiple = false, bool atEnemy = true); public: - bool TargetsEnemies() const { return enemy; } - bool TargetsHeroes() const { return !TargetsEnemies(); } + bool TargetsMonsters() const { return enemy; } + bool TargetsHeroes() const { return !TargetsMonsters(); } bool IsSelected(int index) const { return index >= 0 && index < int(selected.size()) && selected[index].type != State::IGNORE; } bool HasSelected() const { return selection >= 0; } int SingleSelection() const { return selection; } @@ -31,7 +28,9 @@ public: bool SelectSingle() const { return !SelectMultiple(); } void SetSingle() { multiple = false; } - void SelectEnemies(); + void ReadMode(const common::TargetingMode &); + + void SelectMonsters(); void SelectHeroes(); void Select(int index) { selected[index].type = State::SELECTED; selection = index; } void Unselect(int index) { selected[index].type = State::IGNORE; } @@ -54,6 +53,9 @@ public: void SetGood(int index, int amount) { selected[index].type = State::GOOD; selected[index].number = amount; } void SetBad(int index, int amount) { selected[index].type = State::BAD; selected[index].number = amount; } int GetAmount(int index) const { return selected[index].number; } + bool Missed(int index) const { return selected[index].type == State::MISS; } + bool IsGood(int index) const { return selected[index].type == State::GOOD; } + bool IsBad(int index) const { return selected[index].type == State::BAD; } private: void FindNextEnemy();