X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fcommon%2FHero.h;h=2016396a4458d605c58c0d7fc77919c17f407791;hb=8f4cb4e8ad954ba73fb78a030c969c933a7ed60c;hp=aa12b2559cdfe69aa1221847aded744bfbd8549e;hpb=e8283bf94624b2f184d50dc1401bf45225c529d6;p=l2e.git diff --git a/src/common/Hero.h b/src/common/Hero.h index aa12b25..2016396 100644 --- a/src/common/Hero.h +++ b/src/common/Hero.h @@ -37,6 +37,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 +73,14 @@ public: 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 &); + bool CanEquip(const Item &) const; bool CanInvoke(const Spell &) const; @@ -100,6 +121,7 @@ private: int level; int experience; + // TODO: ladder should contain hp, mp, and stats mods. int *levelLadder; int numLevels;