void Player::addSkillTryInternal(int skilltry,int skill){
skills[skill][SKILL_TRIES] += skilltry;
//for skill level advances
//int reqTries = (int) ( SkillBases[skill] * pow((float) VocMultipliers[skill][voc], (float) ( skills[skill][SKILL_LEVEL] - 10) ) );
#if __DEBUG__
//for debug
cout << Creature::getName() << ", has the vocation: " << (int)vocation << " and is training his " << getSkillName(skill) << "(" << skill << "). Tries: " << skills[skill][SKILL_TRIES] << "(" << getReqSkillTries(skill, (skills[skill][SKILL_LEVEL] + 1), vocation) << ")" << std::endl;
cout << "Current skill: " << skills[skill][SKILL_LEVEL] << std::endl;
#endif
//Need skill up?
if (skills[skill][SKILL_TRIES] >= getReqSkillTries(skill, (skills[skill][SKILL_LEVEL] + 1), vocation)) {
skills[skill][SKILL_LEVEL]++;
skills[skill][SKILL_TRIES] = 0;
skills[skill][SKILL_PERCENT] = 0;
std::stringstream advMsg;
advMsg << "You advanced in " << getSkillName(skill) << ".";
client->sendTextMessage(MSG_ADVANCE, advMsg.str().c_str());
client->sendSkills();
}
else{
//update percent
int new_percent = (unsigned int)(100*(skills[skill][SKILL_TRIES])/(1.*getReqSkillTries(skill, (skills[skill][SKILL_LEVEL]+1), vocation)));
if(skills[skill][SKILL_PERCENT] != new_percent){
skills[skill][SKILL_PERCENT] = new_percent;
client->sendSkills();
}
}
}