1 #ifndef COMMON_CAPSULE_H_
2 #define COMMON_CAPSULE_H_
9 #include "../common/Stats.h"
10 #include "../geometry/Vector.h"
21 static const int TYPE_ID = 307;
26 const char *Name() const { return name; }
27 void SetName(const char *n) { name = n; }
28 const char *ClassName() const;
29 const char *Alignment() const { return alignment; }
30 const char *Tribe() const;
31 const Spell *Attack1() const;
32 const Spell *Attack2() const;
33 const Spell *Attack3() const;
35 int NumClasses() const { return numClasses; }
36 int MaxClass() const { return maxClass; }
37 int CurrentClass() const { return curClass; }
39 const geometry::Vector<int> &AlignmentOffset() const { return alignmentCursor; }
40 const graphics::Sprite *AlignmentSprite() const { return alignmentSprite; }
45 int ClassIndex() const { return curClass; }
46 void SetClass(int index);
48 Uint16 MaxHealth() const;
50 Stats GetStats() const;
52 Uint8 Level() const { return level; }
53 int Experience() const { return experience; }
54 int NextLevel() const;
56 graphics::Sprite *BattleSprite();
57 const graphics::Sprite *BattleSprite() const;
58 graphics::Animation *MeleeAnimation();
59 graphics::Animation *AttackAnimation();
60 graphics::Animation *SpellAnimation();
62 static void CreateTypeDescription();
63 static void Construct(void *);
67 static const int TYPE_ID = 308;
71 static void CreateTypeDescription();
72 static void Construct(void *);
77 graphics::Sprite *battleSprite;
78 graphics::Animation *meleeAnimation;
79 graphics::Animation *attackAnimation;
80 graphics::Animation *spellAnimation;
87 const Class &GetClass() const;
90 const char *alignment;
92 geometry::Vector<int> alignmentCursor;
93 const graphics::Sprite *alignmentSprite;
106 int numClasses, curClass, maxClass;
112 #endif /* COMMON_CAPSULE_H_ */