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; }
46 Uint16 MaxHealth() const;
48 Stats GetStats() const;
50 Uint8 Level() const { return level; }
51 int Experience() const { return experience; }
52 int NextLevel() const;
54 graphics::Sprite *BattleSprite();
55 const graphics::Sprite *BattleSprite() const;
56 graphics::Animation *MeleeAnimation();
57 graphics::Animation *AttackAnimation();
58 graphics::Animation *SpellAnimation();
60 static void CreateTypeDescription();
61 static void Construct(void *);
65 static const int TYPE_ID = 308;
69 static void CreateTypeDescription();
70 static void Construct(void *);
75 graphics::Sprite *battleSprite;
76 graphics::Animation *meleeAnimation;
77 graphics::Animation *attackAnimation;
78 graphics::Animation *spellAnimation;
85 const Class &GetClass() const;
88 const char *alignment;
90 geometry::Vector<int> alignmentCursor;
91 const graphics::Sprite *alignmentSprite;
104 int numClasses, curClass, maxClass;
110 #endif /* COMMON_CAPSULE_H_ */