xRelic

L2JFrozen Fix Auto-Learn Skill 

Aug 29th, 2021
443
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.83 KB | None | 0 0
  1. ### Eclipse Workspace Patch 1.0
  2. #P L2jFrozen_GameServer
  3. Index: head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java
  4. @@ -3903,52 +3891,41 @@
  5.  
  6. -    public void giveAvailableSkills()
  7. -    {
  8. -        // int unLearnable = 0;
  9. -        int skillCounter = 0;
  10. -
  11. -        // Get available skills
  12. -        // L2SkillLearn[] skills = SkillTreeTable.getInstance().getAvailableSkills(this, getClassId());
  13. -        // while(skills.length > unLearnable)
  14. -        // {
  15. -        // unLearnable = 0;
  16. -        // for(L2SkillLearn s : skills)
  17. -        Collection<L2Skill> skills = SkillTreeTable.getInstance().getAllAvailableSkills(this, getClassId());
  18. -        for (final L2Skill sk : skills)
  19. -        {
  20. -            // {
  21. -            // L2Skill sk = SkillTable.getInstance().getInfo(s.getId(), s.getLevel());
  22. -            // if(sk == null || (sk.getId() == L2Skill.SKILL_DIVINE_INSPIRATION && !Config.AUTO_LEARN_DIVINE_INSPIRATION))
  23. -            // {
  24. -            // unLearnable++;
  25. -            // continue;
  26. -            // }
  27. -            
  28. -            if (getSkillLevel(sk.getId()) == -1)
  29. -            {
  30. -                skillCounter++;
  31. -            }
  32. -            
  33. -            // Penality skill are not auto learn
  34. -            if (sk.getId() == 4267 || sk.getId() == 4270)
  35. -                continue;
  36. -            
  37. -            // fix when learning toggle skills
  38. -            if (sk.isToggle())
  39. -            {
  40. -                final L2Effect toggleEffect = getFirstEffect(sk.getId());
  41. -                if (toggleEffect != null)
  42. -                {
  43. -                    // stop old toggle skill effect, and give new toggle skill effect back
  44. -                    toggleEffect.exit(false);
  45. -                    sk.getEffects(this, this, false, false, false);
  46. -                }
  47. -            }
  48. -            
  49. -            addSkill(sk, true);
  50. -        }
  51.  
  52.  
  53. +    public void giveAvailableSkills()
  54. +    {
  55. +        int unLearnable = 0;
  56. +        int skillCounter = 0;
  57. +        L2SkillLearn skills[];
  58. +        for(skills = SkillTreeTable.getInstance().getAvailableSkills(this, getClassId()); skills.length > unLearnable; skills = SkillTreeTable.getInstance().getAvailableSkills(this, getClassId()))
  59. +        {
  60. +            unLearnable = 0;
  61. +            L2SkillLearn arr$[] = skills;
  62. +            int len$ = arr$.length;
  63. +            for(int i$ = 0; i$ < len$; i$++)
  64. +            {
  65. +                L2SkillLearn s = arr$[i$];
  66. +                L2Skill sk = SkillTable.getInstance().getInfo(s.getId(), s.getLevel());
  67. +                if(sk == null || sk.getId() == 1405 && !Config.AUTO_LEARN_DIVINE_INSPIRATION)
  68. +                {
  69. +                    unLearnable++;
  70. +                    continue;
  71. +                }
  72. +                if(getSkillLevel(sk.getId()) == -1)
  73. +                    skillCounter++;
  74. +                if(sk.isToggle())
  75. +                {
  76. +                    L2Effect toggleEffect = getFirstEffect(sk.getId());
  77. +                    if(toggleEffect != null)
  78. +                    {
  79. +                        toggleEffect.exit(false);
  80. +                        sk.getEffects(this, this, false, false, false);
  81. +                    }
  82. +                }
  83. +                addSkill(sk, true);
  84. +            }
  85. +
  86. +        }
Advertisement
Add Comment
Please, Sign In to add comment