Fixed issue when character change class (awakening) deleted ability skill
### Eclipse Workspace Patch 1.0
#P L2J_Mobius_10.2_MasterClass
diff --git java/org/l2jmobius/gameserver/data/xml/SkillTreeData.java java/org/l2jmobius/gameserver/data/xml/SkillTreeData.java
index eb681ca..b7b8824 100644
--- java/org/l2jmobius/gameserver/data/xml/SkillTreeData.java
+++ java/org/l2jmobius/gameserver/data/xml/SkillTreeData.java
@@ -1587,7 +1587,7 @@
{
final int maxLevel = SkillData.getInstance().getMaxLevel(skill.getId());
final long hashCode = SkillData.getSkillHashCode(skill.getId(), maxLevel);
- if (!isCurrentClassSkillNoParent(currentClass, hashCode) && !isRemoveSkill(currentClass, skill.getId()) && !isAwakenSaveSkill(currentClass, skill.getId()) && !isAlchemySkill(skill.getId(), skill.getLevel()))
+ if (!isCurrentClassSkillNoParent(currentClass, hashCode) && !isRemoveSkill(currentClass, skill.getId()) && !isAwakenSaveSkill(currentClass, skill.getId()) && !isAlchemySkill(skill.getId(), skill.getLevel()) && !isAbilitySkill(skill.getId(), skill.getLevel()))
{
// Do not remove equipped item skills.
boolean isItemSkill = false;
@@ -1637,6 +1637,11 @@
return _alchemySkillTree.containsKey(SkillData.getSkillHashCode(skillId, skillLevel));
}
+ public boolean isAbilitySkill(int skillId, int skillLevel)
+ {
+ return _abilitySkillTree.containsKey(SkillData.getSkillHashCode(skillId, skillLevel));
+ }
+
/**
* Checks if is hero skill.
* @param skillId the Id of the skill to check