int PlayerCharacter::checkLevelUp(bool display) { int levelReached = 0; int exp = getAttribute("exp").max; while (exp > expForLevel()) { getAttribute("level").max++; reset_attribute(getAttribute("level")); levelReached = getAttribute("level").max; } if (levelReached > 0) { setLevel(levelReached, display); } return levelReached; }
int CharacterComponent::getExpNeeded(size_t skill) const { int level = levelForExp(getExperience(skill)); return CharacterComponent::expForLevel(level + 1) - expForLevel(level); }
int PlayerCharacter::toNextLevel() { return expForLevel() - getAttribute("exp").max; }