#ifndef COMMON_CAPSULE_H_
#define COMMON_CAPSULE_H_
+namespace common {
+ class Item;
+ class LevelUp;
+ class Upgrade;
+}
namespace graphics {
class Animation;
class Sprite;
}
-#include "../common/Stats.h"
-#include "../geometry/Vector.h"
+#include "Stats.h"
+#include "../math/Vector.h"
+#include <vector>
#include <SDL.h>
namespace common {
int MaxClass() const { return maxClass; }
int CurrentClass() const { return curClass; }
- const geometry::Vector<int> &AlignmentOffset() const { return alignmentCursor; }
+ const math::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);
+
+ int HungerEmpty() const;
+ int HungerTotal() const;
+ int HungerFull() const;
+ bool IsHungry() const;
+ void Feed(const common::Item *);
+
+ const common::Item *UpgradeItem() const;
+ void UpgradeSpecial();
Uint16 MaxHealth() const;
int Experience() const { return experience; }
int NextLevel() const;
+ void AddExperience(int, std::vector<Upgrade> &);
+
graphics::Sprite *BattleSprite();
const graphics::Sprite *BattleSprite() const;
graphics::Animation *MeleeAnimation();
graphics::Animation *attackAnimation;
graphics::Animation *spellAnimation;
+ const common::Item *upgradeItem;
+ int upgradeClass;
+ int hunger;
+ int hungerFull;
+
int healthBoost;
Stats statBoost;
};
const char *name;
const char *alignment;
- geometry::Vector<int> alignmentCursor;
+ math::Vector<int> alignmentCursor;
const graphics::Sprite *alignmentSprite;
int maxHealth;
int level;
int experience;
- int *levelLadder;
+ LevelUp *levelLadder;
int numLevels;
Class *classes;
}
-#endif /* COMMON_CAPSULE_H_ */
+#endif