From cbc117b371477f8744470cdff7ae665457d3438d Mon Sep 17 00:00:00 2001 From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com> Date: Mon, 2 Apr 2018 11:53:34 +0000 Subject: [PATCH] Keep skill sublevel in case of level increase. --- .../gameserver/network/clientpackets/RequestAcquireSkill.java | 3 ++- .../gameserver/network/clientpackets/RequestAcquireSkill.java | 3 ++- .../gameserver/network/clientpackets/RequestAcquireSkill.java | 3 ++- .../gameserver/network/clientpackets/RequestAcquireSkill.java | 3 ++- .../gameserver/network/clientpackets/RequestAcquireSkill.java | 3 ++- .../gameserver/network/clientpackets/RequestAcquireSkill.java | 3 ++- 6 files changed, 12 insertions(+), 6 deletions(-) diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index 4435aee98b..1b7a1fff45 100644 --- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -121,7 +121,8 @@ public final class RequestAcquireSkill implements IClientIncomingPacket return; } - final Skill skill = SkillData.getInstance().getSkill(_id, _level); + final Skill existingSkill = activeChar.getKnownSkill(_id); // Mobius: Keep existing sublevel. + final Skill skill = SkillData.getInstance().getSkill(_id, _level, existingSkill == null ? 0 : existingSkill.getSubLevel()); if (skill == null) { _log.warning(RequestAcquireSkill.class.getSimpleName() + ": Player " + activeChar.getName() + " is trying to learn a null skill Id: " + _id + " level: " + _level + "!"); diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index 292d3a8f7f..a00277486a 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -121,7 +121,8 @@ public final class RequestAcquireSkill implements IClientIncomingPacket return; } - final Skill skill = SkillData.getInstance().getSkill(_id, _level); + final Skill existingSkill = activeChar.getKnownSkill(_id); // Mobius: Keep existing sublevel. + final Skill skill = SkillData.getInstance().getSkill(_id, _level, existingSkill == null ? 0 : existingSkill.getSubLevel()); if (skill == null) { _log.warning(RequestAcquireSkill.class.getSimpleName() + ": Player " + activeChar.getName() + " is trying to learn a null skill Id: " + _id + " level: " + _level + "!"); diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index 292d3a8f7f..a00277486a 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -121,7 +121,8 @@ public final class RequestAcquireSkill implements IClientIncomingPacket return; } - final Skill skill = SkillData.getInstance().getSkill(_id, _level); + final Skill existingSkill = activeChar.getKnownSkill(_id); // Mobius: Keep existing sublevel. + final Skill skill = SkillData.getInstance().getSkill(_id, _level, existingSkill == null ? 0 : existingSkill.getSubLevel()); if (skill == null) { _log.warning(RequestAcquireSkill.class.getSimpleName() + ": Player " + activeChar.getName() + " is trying to learn a null skill Id: " + _id + " level: " + _level + "!"); diff --git a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index 292d3a8f7f..a00277486a 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -121,7 +121,8 @@ public final class RequestAcquireSkill implements IClientIncomingPacket return; } - final Skill skill = SkillData.getInstance().getSkill(_id, _level); + final Skill existingSkill = activeChar.getKnownSkill(_id); // Mobius: Keep existing sublevel. + final Skill skill = SkillData.getInstance().getSkill(_id, _level, existingSkill == null ? 0 : existingSkill.getSubLevel()); if (skill == null) { _log.warning(RequestAcquireSkill.class.getSimpleName() + ": Player " + activeChar.getName() + " is trying to learn a null skill Id: " + _id + " level: " + _level + "!"); diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index f0f899bf68..f6f598bddf 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -121,7 +121,8 @@ public final class RequestAcquireSkill implements IClientIncomingPacket return; } - final Skill skill = SkillData.getInstance().getSkill(_id, _level); + final Skill existingSkill = activeChar.getKnownSkill(_id); // Mobius: Keep existing sublevel. + final Skill skill = SkillData.getInstance().getSkill(_id, _level, existingSkill == null ? 0 : existingSkill.getSubLevel()); if (skill == null) { _log.warning(RequestAcquireSkill.class.getSimpleName() + ": Player " + activeChar.getName() + " is trying to learn a null skill Id: " + _id + " level: " + _level + "!"); diff --git a/L2J_Mobius_Classic_2.0_Zaken/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_Classic_2.0_Zaken/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index f0f899bf68..f6f598bddf 100644 --- a/L2J_Mobius_Classic_2.0_Zaken/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_Classic_2.0_Zaken/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -121,7 +121,8 @@ public final class RequestAcquireSkill implements IClientIncomingPacket return; } - final Skill skill = SkillData.getInstance().getSkill(_id, _level); + final Skill existingSkill = activeChar.getKnownSkill(_id); // Mobius: Keep existing sublevel. + final Skill skill = SkillData.getInstance().getSkill(_id, _level, existingSkill == null ? 0 : existingSkill.getSubLevel()); if (skill == null) { _log.warning(RequestAcquireSkill.class.getSimpleName() + ": Player " + activeChar.getName() + " is trying to learn a null skill Id: " + _id + " level: " + _level + "!");