]> git.localhorst.tv Git - l2e.git/blobdiff - src/common/Capsule.h
more intuitive horizontal capsule class navigation
[l2e.git] / src / common / Capsule.h
index b1039fa90e2474fe94d54204726a79d36af88a6d..f68ba5301a52ef2b4b7b4503c185996ac13c2f46 100644 (file)
@@ -7,6 +7,7 @@ namespace graphics {
 }
 
 #include "../common/Stats.h"
+#include "../geometry/Vector.h"
 
 #include <SDL.h>
 
@@ -23,6 +24,7 @@ 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;
@@ -30,6 +32,19 @@ public:
        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() const;
@@ -74,6 +89,9 @@ private:
        const char *name;
        const char *alignment;
 
+       geometry::Vector<int> alignmentCursor;
+       const graphics::Sprite *alignmentSprite;
+
        int maxHealth;
 
        Stats stats;