X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fbattle%2FAttackChoice.h;h=d332b267f70a6facf473ad1d47bbc516e8071d7b;hb=dc2dcbbfa1298bed46a4190fbd337c7ef83cc8af;hp=0068e6f67e50049c1e751c7da9240bf6c1a7a499;hpb=3c72a71fbf6de96333a641051a20c6bf8b3a5df3;p=l2e.git diff --git a/src/battle/AttackChoice.h b/src/battle/AttackChoice.h index 0068e6f..d332b26 100644 --- a/src/battle/AttackChoice.h +++ b/src/battle/AttackChoice.h @@ -9,6 +9,7 @@ #define BATTLE_ATTACKCHOICE_H_ #include "TargetSelection.h" +#include "../common/fwd.h" namespace battle { @@ -25,18 +26,25 @@ public: }; public: - explicit AttackChoice(BattleState *b = 0) : type(UNDECIDED), selection(b) { } + explicit AttackChoice(BattleState *b = 0) : thing(0), selection(b), type(UNDECIDED) { } ~AttackChoice() { } public: Type GetType() const { return type; } void SetType(Type t) { type = t; } + const common::Item *GetItem() const { return (const common::Item *)thing; } + void SetItem(const common::Item *i) { thing = i; } + const common::Spell *GetSpell() const { return (const common::Spell *)thing; } + void SetSpell(const common::Spell *s) { thing = s; } TargetSelection &Selection() { return selection; } const TargetSelection &Selection() const { return selection; } + void Reset(); + private: - Type type; + const void *thing; TargetSelection selection; + Type type; };