EQUIP_COUNT,
};
+ enum UpgradeType {
+ UPGRADE_LVL,
+ UPGRADE_MHP,
+ UPGRADE_MMP,
+ UPGRADE_ATK,
+ UPGRADE_DFP,
+ UPGRADE_STR,
+ UPGRADE_AGL,
+ UPGRADE_INT,
+ UPGRADE_GUT,
+ UPGRADE_MGR,
+ };
+
const char *Name() const { return name; }
Uint16 MaxHealth() const { return maxHealth; }
int Experience() const { return experience; }
int NextLevel() const;
+ struct UpgradeInfo {
+ UpgradeType type;
+ int amount;
+ UpgradeInfo(UpgradeType t, int a = 0)
+ : type(t), amount(a) { }
+ };
+ void AddExperience(int, std::vector<UpgradeInfo> &);
+
bool CanEquip(const Item &) const;
bool CanInvoke(const Spell &) const;
int level;
int experience;
+ // TODO: ladder should contain hp, mp, and stats mods.
int *levelLadder;
int numLevels;