void recalculateLevel()
{
//std::list<float> levels;
//std::map<int, int>::const_iterator a;
//for (a = getSkillBegin(); a != getSkillEnd(); a++)
//{
// // Only use the first 1000 skill levels in calculation
// if (a.first < 1000)
// {
// float expGot = getExpGot(a.first);
// float expNeed = getExpNeeded(a.first);
// levels.push_back(levelForExp(a.first) + expGot / expNeed);
// }
//}
//levels.sort();
//std::list<float>::iterator i = levels.end();
//float level = 0.0f;
//float factor = 1.0f;
//float factorSum = 0.0f;
//while (i != levels.begin())
//{
// i--;
// level += *i * factor;
// factorSum += factor;
// factor *= LEVEL_SKILL_PRECEDENCE_FACTOR;
//}
//level /= factorSum;
//level += 1.0f; // + 1.0f because the lowest level is 1 and not 0
//while (mLevel < level)
//{
// levelup();
//}
//int levelProgress = int((level - floor(level)) * 100);
//if (levelProgress != mLevelProgress)
//{
// mLevelProgress = levelProgress;
// mUpdateLevelProgress = true;
//}
}