/**
* Give all available skills to the player.<br><br>
*
*/
private void giveAvailableSkills()
{
int unLearnable = 0;
int skillCounter = 0;
// Get available skills
L2SkillLearn[] skills = SkillTreeTable.getInstance().getAvailableSkills(this, getClassId());
while (skills.length > unLearnable)
{
for (int i = 0; i < skills.length; i++)
{
L2SkillLearn s = skills[i];
L2Skill sk = SkillTable.getInstance().getInfo(s.getId(), s.getLevel());
if (sk == null || !sk.getCanLearn(getClassId()) || (sk.getId() == L2Skill.SKILL_DIVINE_INSPIRATION && !Config.AUTO_LEARN_DIVINE_INSPIRATION) || SkillLearnModTable.getInstance().isStacking(this, sk.getId()))
{
unLearnable++;
continue;
}
if (getSkillLevel(sk.getId()) == -1)
skillCounter++;
addSkill(sk, true);
}
// Get new available skills
skills = SkillTreeTable.getInstance().getAvailableSkills(this, getClassId());
}
sendMessage("You have learned " + skillCounter + " new skills.");
}