X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fcommon%2FHero.cpp;h=beeab8305844b8a9b2cccb95a98a66d73c8153ee;hb=3d69f521b593457304b282e5f23e36ab165288b6;hp=4e7b5b91068f08e8db5137fb8f97656afae79bd8;hpb=8f4cb4e8ad954ba73fb78a030c969c933a7ed60c;p=l2e.git diff --git a/src/common/Hero.cpp b/src/common/Hero.cpp index 4e7b5b9..beeab83 100644 --- a/src/common/Hero.cpp +++ b/src/common/Hero.cpp @@ -2,6 +2,7 @@ #include "Item.h" #include "Spell.h" +#include "Upgrade.h" #include "../graphics/Animation.h" #include "../graphics/Sprite.h" #include "../loader/Interpreter.h" @@ -70,9 +71,11 @@ int Hero::NextLevel() const { } } -void Hero::AddExperience(int exp, vector &info) { +void Hero::AddExperience(int exp, vector &info) { if (level > numLevels) { // don't award any experience if at highest level + info.push_back(Upgrade( + name, Upgrade::LEVEL_NEXT, NextLevel())); return; } int remain = exp; @@ -82,15 +85,19 @@ void Hero::AddExperience(int exp, vector &info) { remain -= added; ++level; - info.push_back(UpgradeInfo(UPGRADE_LVL, level)); + info.push_back(Upgrade(name, Upgrade::LEVEL_UP, level)); // TODO: upgrade attributes and push info if (level > numLevels) { + info.push_back(Upgrade( + name, Upgrade::LEVEL_NEXT, NextLevel())); return; } } experience += remain; + info.push_back(Upgrade( + name, Upgrade::LEVEL_NEXT, NextLevel())); }