Keep sublevel when giving available skills.

This commit is contained in:
MobiusDev
2018-05-04 15:41:08 +00:00
parent 32df4e178a
commit 475bb35bcc
6 changed files with 48 additions and 6 deletions

View File

@ -2569,7 +2569,8 @@ public final class L2PcInstance extends L2Playable
for (Skill skill : skills)
{
if (getKnownSkill(skill.getId()) == skill)
final Skill oldSkill = getKnownSkill(skill.getId());
if (oldSkill == skill)
{
continue;
}
@ -2585,6 +2586,12 @@ public final class L2PcInstance extends L2Playable
stopSkillEffects(true, skill.getId());
}
// Mobius: Keep sublevel on skill level increase.
if ((oldSkill != null) && (oldSkill.getSubLevel() > 0) && (skill.getSubLevel() == 0) && (oldSkill.getLevel() < skill.getLevel()))
{
skill = SkillData.getInstance().getSkill(skill.getId(), skill.getLevel(), oldSkill.getSubLevel());
}
addSkill(skill, false);
skillsForStore.add(skill);
}