]> git.localhorst.tv Git - l2e.git/blob - src/common/Ikari.h
added "profile" build configuration
[l2e.git] / src / common / Ikari.h
1 #ifndef COMMON_IKARI_H_
2 #define COMMON_IKARI_H_
3
4 #include "TargetingMode.h"
5
6 namespace common {
7
8 // TODO: looks like Ikari and Spell have _quite_ a lot in common…
9 class Ikari {
10
11 public:
12         static const int TYPE_ID = 302;
13
14 public:
15         Ikari();
16
17 public:
18         const char *Name() const { return name; }
19         Uint8 Cost() const { return cost; }
20
21         TargetingMode &GetTargetingMode() { return targetingMode; }
22         const TargetingMode &GetTargetingMode() const { return targetingMode; }
23
24         bool IsMagical() const { return !isPhysical; }
25         bool IsPhysical() const { return isPhysical; }
26
27 // temporary setters
28 public:
29         void SetName(const char *n) { name = n; }
30         void SetCost(Uint8 c) { cost = c; }
31         void SetMagical() { isPhysical = false; }
32         void SetPhysical() { isPhysical = true; }
33
34         static void CreateTypeDescription();
35         static void Construct(void *);
36
37 private:
38         const char *name;
39
40         int cost;
41         TargetingMode targetingMode;
42
43         bool isPhysical;
44
45 };
46
47 }
48
49 #endif