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