]> git.localhorst.tv Git - l2e.git/blobdiff - src/common/Capsule.h
more intuitive horizontal capsule class navigation
[l2e.git] / src / common / Capsule.h
index 575a40cf78e67032d5504d6860627a891702edc1..f68ba5301a52ef2b4b7b4503c185996ac13c2f46 100644 (file)
@@ -7,6 +7,7 @@ namespace graphics {
 }
 
 #include "../common/Stats.h"
+#include "../geometry/Vector.h"
 
 #include <SDL.h>
 
@@ -23,11 +24,30 @@ public:
        Capsule();
 
        const char *Name() const { return name; }
+       void SetName(const char *n) { name = n; }
+       const char *ClassName() const;
        const char *Alignment() const { return alignment; }
+       const char *Tribe() const;
+       const Spell *Attack1() const;
+       const Spell *Attack2() const;
+       const Spell *Attack3() const;
+
+       int NumClasses() const { return numClasses; }
+       int MaxClass() const { return maxClass; }
+       int CurrentClass() const { return curClass; }
+
+       const geometry::Vector<int> &AlignmentOffset() const { return alignmentCursor; }
+       const graphics::Sprite *AlignmentSprite() const { return alignmentSprite; }
+
+       void UpgradeClass();
+       void NextClass();
+       void PreviousClass();
+       int ClassIndex() const { return curClass; }
+       void SetClass(int index);
 
        Uint16 MaxHealth() const;
 
-       Stats GetStats();
+       Stats GetStats() const;
 
        Uint8 Level() const { return level; }
        int Experience() const { return experience; }
@@ -69,6 +89,9 @@ private:
        const char *name;
        const char *alignment;
 
+       geometry::Vector<int> alignmentCursor;
+       const graphics::Sprite *alignmentSprite;
+
        int maxHealth;
 
        Stats stats;