/** * 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."); }