X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fcommon%2FHero.h;h=1b4c8d10954c3076007d38730a2a622daf900f3d;hb=3d69f521b593457304b282e5f23e36ab165288b6;hp=787241906a96c35a92d035691a6c02815b3d8a32;hpb=4309d259becd96ead792678257e910c03a6b4a3d;p=l2e.git diff --git a/src/common/Hero.h b/src/common/Hero.h index 7872419..1b4c8d1 100644 --- a/src/common/Hero.h +++ b/src/common/Hero.h @@ -4,6 +4,7 @@ namespace common { class Item; class Spell; + class Upgrade; } namespace graphics { class Animation; @@ -37,6 +38,19 @@ public: 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; } @@ -60,6 +74,8 @@ public: int Experience() const { return experience; } int NextLevel() const; + void AddExperience(int, std::vector &); + bool CanEquip(const Item &) const; bool CanInvoke(const Spell &) const; @@ -83,8 +99,9 @@ public: static void CreateTypeDescription(); static void Construct(void *); -// temporary setters public: + void SetMaxHealth(int h) { maxHealth = h; } + void SetHealth(int h) { health = h; } void AddSpell(Spell *s) { spells.push_back(s); } private: @@ -99,6 +116,7 @@ private: int level; int experience; + // TODO: ladder should contain hp, mp, and stats mods. int *levelLadder; int numLevels;