]> git.localhorst.tv Git - l2e.git/blob - src/common/Spell.h
removed stupid file headers that eclipse put in
[l2e.git] / src / common / Spell.h
1 #ifndef COMMON_SPELL_H_
2 #define COMMON_SPELL_H_
3
4 #include "TargetingMode.h"
5
6 namespace common {
7
8 class Spell {
9
10 public:
11         static const int TYPE_ID = 304;
12
13 public:
14         Spell();
15
16 public:
17         const char *Name() const { return name; }
18         Uint16 Value() const { return value; }
19         Uint8 Cost() const { return cost; }
20
21         bool CanUseOnStatusScreen() const { return status; }
22         bool CanUseInBattle() const { return battle; }
23
24         TargetingMode &GetTargetingMode() { return targetingMode; }
25         const TargetingMode &GetTargetingMode() const { return targetingMode; }
26
27         int HeroMask() const { return heroMask; }
28
29         static bool Less(const Spell *, const Spell *);
30
31 // temporary setters
32 public:
33         void SetName(const char *n) { name = n; }
34         void SetCost(Uint8 c) { cost = c; }
35         void SetUsableInBattle() { battle = true; }
36
37         static void CreateTypeDescription();
38         static void Construct(void *);
39
40 private:
41         const char *name;
42
43         int value;
44
45         int cost;
46         TargetingMode targetingMode;
47         int heroMask;
48
49         bool status;
50         bool battle;
51
52 };
53
54 }
55
56 #endif /* COMMON_SPELL_H_ */