From 373376549cc5f3abb72229bb4f6f4cc0066933df Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Sun, 11 Dec 2022 04:14:37 +0000 Subject: [PATCH] Recalculate stats after learning revelation skills. --- .../network/clientpackets/RequestAcquireSkill.java | 13 +++++++++++++ .../network/clientpackets/RequestAcquireSkill.java | 13 +++++++++++++ .../network/clientpackets/RequestAcquireSkill.java | 13 +++++++++++++ .../network/clientpackets/RequestAcquireSkill.java | 13 +++++++++++++ .../network/clientpackets/RequestAcquireSkill.java | 13 +++++++++++++ .../network/clientpackets/RequestAcquireSkill.java | 13 +++++++++++++ .../network/clientpackets/RequestAcquireSkill.java | 13 +++++++++++++ .../network/clientpackets/RequestAcquireSkill.java | 13 +++++++++++++ .../network/clientpackets/RequestAcquireSkill.java | 13 +++++++++++++ .../network/clientpackets/RequestAcquireSkill.java | 13 +++++++++++++ .../network/clientpackets/RequestAcquireSkill.java | 13 +++++++++++++ .../network/clientpackets/RequestAcquireSkill.java | 13 +++++++++++++ .../network/clientpackets/RequestAcquireSkill.java | 13 +++++++++++++ .../network/clientpackets/RequestAcquireSkill.java | 13 +++++++++++++ .../network/clientpackets/RequestAcquireSkill.java | 13 +++++++++++++ .../network/clientpackets/RequestAcquireSkill.java | 13 +++++++++++++ .../network/clientpackets/RequestAcquireSkill.java | 13 +++++++++++++ .../network/clientpackets/RequestAcquireSkill.java | 13 +++++++++++++ .../network/clientpackets/RequestAcquireSkill.java | 13 +++++++++++++ .../network/clientpackets/RequestAcquireSkill.java | 13 +++++++++++++ .../network/clientpackets/RequestAcquireSkill.java | 12 ++++++------ .../network/clientpackets/RequestAcquireSkill.java | 13 +++++++++++++ .../network/clientpackets/RequestAcquireSkill.java | 12 ++++++------ .../network/clientpackets/RequestAcquireSkill.java | 12 ++++++------ .../network/clientpackets/RequestAcquireSkill.java | 12 ++++++------ .../network/clientpackets/RequestAcquireSkill.java | 12 ++++++------ 26 files changed, 303 insertions(+), 30 deletions(-) diff --git a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index cbf0660288..ee952ca8d6 100644 --- a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -20,6 +20,7 @@ import java.util.List; import org.l2jmobius.Config; import org.l2jmobius.commons.network.ReadablePacket; +import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.gameserver.data.xml.SkillData; import org.l2jmobius.gameserver.data.xml.SkillTreeData; import org.l2jmobius.gameserver.enums.AcquireSkillType; @@ -433,6 +434,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); @@ -483,6 +490,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); diff --git a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index ec54c6e22d..cf856da518 100644 --- a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -20,6 +20,7 @@ import java.util.List; import org.l2jmobius.Config; import org.l2jmobius.commons.network.ReadablePacket; +import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.gameserver.data.xml.SkillData; import org.l2jmobius.gameserver.data.xml.SkillTreeData; import org.l2jmobius.gameserver.enums.AcquireSkillType; @@ -433,6 +434,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); @@ -483,6 +490,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); diff --git a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index ec54c6e22d..cf856da518 100644 --- a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -20,6 +20,7 @@ import java.util.List; import org.l2jmobius.Config; import org.l2jmobius.commons.network.ReadablePacket; +import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.gameserver.data.xml.SkillData; import org.l2jmobius.gameserver.data.xml.SkillTreeData; import org.l2jmobius.gameserver.enums.AcquireSkillType; @@ -433,6 +434,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); @@ -483,6 +490,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); diff --git a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index ec54c6e22d..cf856da518 100644 --- a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -20,6 +20,7 @@ import java.util.List; import org.l2jmobius.Config; import org.l2jmobius.commons.network.ReadablePacket; +import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.gameserver.data.xml.SkillData; import org.l2jmobius.gameserver.data.xml.SkillTreeData; import org.l2jmobius.gameserver.enums.AcquireSkillType; @@ -433,6 +434,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); @@ -483,6 +490,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index 5a22b87a84..7eeb5f1d00 100644 --- a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -20,6 +20,7 @@ import java.util.List; import org.l2jmobius.Config; import org.l2jmobius.commons.network.ReadablePacket; +import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.gameserver.data.xml.SkillData; import org.l2jmobius.gameserver.data.xml.SkillTreeData; import org.l2jmobius.gameserver.enums.AcquireSkillType; @@ -383,6 +384,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); @@ -433,6 +440,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index 32744550ba..a3666a4b56 100644 --- a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -20,6 +20,7 @@ import java.util.List; import org.l2jmobius.Config; import org.l2jmobius.commons.network.ReadablePacket; +import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.gameserver.data.xml.SkillData; import org.l2jmobius.gameserver.data.xml.SkillTreeData; import org.l2jmobius.gameserver.enums.AcquireSkillType; @@ -383,6 +384,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); @@ -433,6 +440,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index 32744550ba..a3666a4b56 100644 --- a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -20,6 +20,7 @@ import java.util.List; import org.l2jmobius.Config; import org.l2jmobius.commons.network.ReadablePacket; +import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.gameserver.data.xml.SkillData; import org.l2jmobius.gameserver.data.xml.SkillTreeData; import org.l2jmobius.gameserver.enums.AcquireSkillType; @@ -383,6 +384,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); @@ -433,6 +440,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index ca3d7e2834..78c56aa9c9 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -20,6 +20,7 @@ import java.util.List; import org.l2jmobius.Config; import org.l2jmobius.commons.network.ReadablePacket; +import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.gameserver.data.xml.SkillData; import org.l2jmobius.gameserver.data.xml.SkillTreeData; import org.l2jmobius.gameserver.enums.AcquireSkillType; @@ -383,6 +384,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); @@ -433,6 +440,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index a360f6ecf2..12660efa5a 100644 --- a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -20,6 +20,7 @@ import java.util.List; import org.l2jmobius.Config; import org.l2jmobius.commons.network.ReadablePacket; +import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.gameserver.data.xml.SkillData; import org.l2jmobius.gameserver.data.xml.SkillTreeData; import org.l2jmobius.gameserver.enums.AcquireSkillType; @@ -391,6 +392,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); @@ -441,6 +448,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index a360f6ecf2..12660efa5a 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -20,6 +20,7 @@ import java.util.List; import org.l2jmobius.Config; import org.l2jmobius.commons.network.ReadablePacket; +import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.gameserver.data.xml.SkillData; import org.l2jmobius.gameserver.data.xml.SkillTreeData; import org.l2jmobius.gameserver.enums.AcquireSkillType; @@ -391,6 +392,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); @@ -441,6 +448,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); diff --git a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index 309de2bdbf..c439b1af8e 100644 --- a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -20,6 +20,7 @@ import java.util.List; import org.l2jmobius.Config; import org.l2jmobius.commons.network.ReadablePacket; +import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.gameserver.data.xml.SkillData; import org.l2jmobius.gameserver.data.xml.SkillTreeData; import org.l2jmobius.gameserver.enums.AcquireSkillType; @@ -391,6 +392,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); @@ -441,6 +448,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); diff --git a/L2J_Mobius_10.3_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_10.3_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index 309de2bdbf..c439b1af8e 100644 --- a/L2J_Mobius_10.3_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_10.3_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -20,6 +20,7 @@ import java.util.List; import org.l2jmobius.Config; import org.l2jmobius.commons.network.ReadablePacket; +import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.gameserver.data.xml.SkillData; import org.l2jmobius.gameserver.data.xml.SkillTreeData; import org.l2jmobius.gameserver.enums.AcquireSkillType; @@ -391,6 +392,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); @@ -441,6 +448,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); diff --git a/L2J_Mobius_Classic_1.0/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_Classic_1.0/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index 5c031f3bed..6bcfb69573 100644 --- a/L2J_Mobius_Classic_1.0/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_Classic_1.0/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -20,6 +20,7 @@ import java.util.List; import org.l2jmobius.Config; import org.l2jmobius.commons.network.ReadablePacket; +import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.gameserver.data.xml.SkillData; import org.l2jmobius.gameserver.data.xml.SkillTreeData; import org.l2jmobius.gameserver.enums.AcquireSkillType; @@ -433,6 +434,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); @@ -483,6 +490,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); diff --git a/L2J_Mobius_Classic_1.5_AgeOfSplendor/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_Classic_1.5_AgeOfSplendor/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index f2889c47e5..1e258e7486 100644 --- a/L2J_Mobius_Classic_1.5_AgeOfSplendor/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_Classic_1.5_AgeOfSplendor/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -20,6 +20,7 @@ import java.util.List; import org.l2jmobius.Config; import org.l2jmobius.commons.network.ReadablePacket; +import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.gameserver.data.xml.SkillData; import org.l2jmobius.gameserver.data.xml.SkillTreeData; import org.l2jmobius.gameserver.enums.AcquireSkillType; @@ -433,6 +434,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); @@ -483,6 +490,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index f2889c47e5..1e258e7486 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -20,6 +20,7 @@ import java.util.List; import org.l2jmobius.Config; import org.l2jmobius.commons.network.ReadablePacket; +import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.gameserver.data.xml.SkillData; import org.l2jmobius.gameserver.data.xml.SkillTreeData; import org.l2jmobius.gameserver.enums.AcquireSkillType; @@ -433,6 +434,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); @@ -483,6 +490,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); diff --git a/L2J_Mobius_Classic_2.5_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_Classic_2.5_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index f2889c47e5..1e258e7486 100644 --- a/L2J_Mobius_Classic_2.5_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_Classic_2.5_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -20,6 +20,7 @@ import java.util.List; import org.l2jmobius.Config; import org.l2jmobius.commons.network.ReadablePacket; +import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.gameserver.data.xml.SkillData; import org.l2jmobius.gameserver.data.xml.SkillTreeData; import org.l2jmobius.gameserver.enums.AcquireSkillType; @@ -433,6 +434,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); @@ -483,6 +490,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); diff --git a/L2J_Mobius_Classic_2.7_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_Classic_2.7_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index 34535c03e1..8f527f3a34 100644 --- a/L2J_Mobius_Classic_2.7_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_Classic_2.7_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -20,6 +20,7 @@ import java.util.List; import org.l2jmobius.Config; import org.l2jmobius.commons.network.ReadablePacket; +import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.gameserver.data.xml.SkillData; import org.l2jmobius.gameserver.data.xml.SkillTreeData; import org.l2jmobius.gameserver.enums.AcquireSkillType; @@ -433,6 +434,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); @@ -483,6 +490,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); diff --git a/L2J_Mobius_Classic_2.8_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_Classic_2.8_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index 2e67d3f2bf..ca8aa7358f 100644 --- a/L2J_Mobius_Classic_2.8_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_Classic_2.8_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -20,6 +20,7 @@ import java.util.List; import org.l2jmobius.Config; import org.l2jmobius.commons.network.ReadablePacket; +import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.gameserver.data.xml.SkillData; import org.l2jmobius.gameserver.data.xml.SkillTreeData; import org.l2jmobius.gameserver.enums.AcquireSkillType; @@ -433,6 +434,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); @@ -483,6 +490,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); diff --git a/L2J_Mobius_Classic_2.9.5_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_Classic_2.9.5_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index f6eca58b48..ddda8473bd 100644 --- a/L2J_Mobius_Classic_2.9.5_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_Classic_2.9.5_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -20,6 +20,7 @@ import java.util.List; import org.l2jmobius.Config; import org.l2jmobius.commons.network.ReadablePacket; +import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.gameserver.data.xml.SkillData; import org.l2jmobius.gameserver.data.xml.SkillTreeData; import org.l2jmobius.gameserver.enums.AcquireSkillType; @@ -433,6 +434,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); @@ -483,6 +490,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); diff --git a/L2J_Mobius_Classic_2.9_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_Classic_2.9_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index 555df24c91..931173a921 100644 --- a/L2J_Mobius_Classic_2.9_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_Classic_2.9_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -20,6 +20,7 @@ import java.util.List; import org.l2jmobius.Config; import org.l2jmobius.commons.network.ReadablePacket; +import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.gameserver.data.xml.SkillData; import org.l2jmobius.gameserver.data.xml.SkillTreeData; import org.l2jmobius.gameserver.enums.AcquireSkillType; @@ -433,6 +434,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); @@ -483,6 +490,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index 18d7ead895..5ca3524082 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -396,10 +396,10 @@ public class RequestAcquireSkill implements ClientPacket * Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " is requesting skill Id: " + _id + " level " + _level + " while not being level 85 or awaken!", IllegalActionPunishmentType.NONE); return; } int count = 0; for (String varName : REVELATION_VAR_NAMES) { if * (player.getVariables().getInt(varName, 0) > 0) { count++; } } if (count >= 2) { player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ITEMS_TO_LEARN_THIS_SKILL); Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " is requesting skill Id: " + _id + " level " * + _level + " while having already learned 2 skills!", IllegalActionPunishmentType.NONE); return; } if (checkPlayerSkill(player, trainer, s)) { final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); - * giveSkill(player, trainer, skill); } final List skills = SkillTreesData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); if (!skills.isEmpty()) { player.sendPacket(new ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION)); } else - * { player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); } + * giveSkill(player, trainer, skill); ThreadPool.schedule(() -> { player.getStat().recalculateStats(false); player.broadcastInfo(); }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); if + * (!skills.isEmpty()) { player.sendPacket(new ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION)); } else { player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); } */ - return; + break; } case REVELATION_DUALCLASS: { @@ -410,10 +410,10 @@ public class RequestAcquireSkill implements ClientPacket * IllegalActionPunishmentType.NONE); return; } int count = 0; for (String varName : DUALCLASS_REVELATION_VAR_NAMES) { if (player.getVariables().getInt(varName, 0) > 0) { count++; } } if (count >= 2) { * player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ITEMS_TO_LEARN_THIS_SKILL); Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " is requesting skill Id: " + _id + " level " + _level + " while having already learned 2 skills!", * IllegalActionPunishmentType.NONE); return; } if (checkPlayerSkill(player, trainer, s)) { final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); - * } final List skills = SkillTreesData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); if (!skills.isEmpty()) { player.sendPacket(new ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION_DUALCLASS)); } else { - * player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); } break; + * ThreadPool.schedule(() -> { player.getStat().recalculateStats(false); player.broadcastInfo(); }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); if (!skills.isEmpty()) { player.sendPacket(new + * ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION_DUALCLASS)); } else { player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); } */ - return; + break; } default: { diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index f2889c47e5..1e258e7486 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -20,6 +20,7 @@ import java.util.List; import org.l2jmobius.Config; import org.l2jmobius.commons.network.ReadablePacket; +import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.gameserver.data.xml.SkillData; import org.l2jmobius.gameserver.data.xml.SkillTreeData; import org.l2jmobius.gameserver.enums.AcquireSkillType; @@ -433,6 +434,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); @@ -483,6 +490,12 @@ public class RequestAcquireSkill implements ClientPacket final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); + + ThreadPool.schedule(() -> + { + player.getStat().recalculateStats(false); + player.broadcastInfo(); + }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index 890a166af2..f02c4c982e 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -411,10 +411,10 @@ public class RequestAcquireSkill implements ClientPacket * Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " is requesting skill Id: " + _id + " level " + _level + " while not being level 85 or awaken!", IllegalActionPunishmentType.NONE); return; } int count = 0; for (String varName : REVELATION_VAR_NAMES) { if * (player.getVariables().getInt(varName, 0) > 0) { count++; } } if (count >= 2) { player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ITEMS_TO_LEARN_THIS_SKILL); Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " is requesting skill Id: " + _id + " level " * + _level + " while having already learned 2 skills!", IllegalActionPunishmentType.NONE); return; } if (checkPlayerSkill(player, trainer, s)) { final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); - * giveSkill(player, trainer, skill); } final List skills = SkillTreesData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); if (!skills.isEmpty()) { player.sendPacket(new ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION)); } else - * { player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); } + * giveSkill(player, trainer, skill); ThreadPool.schedule(() -> { player.getStat().recalculateStats(false); player.broadcastInfo(); }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); if + * (!skills.isEmpty()) { player.sendPacket(new ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION)); } else { player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); } */ - return; + break; } case REVELATION_DUALCLASS: { @@ -425,10 +425,10 @@ public class RequestAcquireSkill implements ClientPacket * IllegalActionPunishmentType.NONE); return; } int count = 0; for (String varName : DUALCLASS_REVELATION_VAR_NAMES) { if (player.getVariables().getInt(varName, 0) > 0) { count++; } } if (count >= 2) { * player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ITEMS_TO_LEARN_THIS_SKILL); Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " is requesting skill Id: " + _id + " level " + _level + " while having already learned 2 skills!", * IllegalActionPunishmentType.NONE); return; } if (checkPlayerSkill(player, trainer, s)) { final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); - * } final List skills = SkillTreesData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); if (!skills.isEmpty()) { player.sendPacket(new ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION_DUALCLASS)); } else { - * player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); } break; + * ThreadPool.schedule(() -> { player.getStat().recalculateStats(false); player.broadcastInfo(); }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); if (!skills.isEmpty()) { player.sendPacket(new + * ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION_DUALCLASS)); } else { player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); } */ - return; + break; } default: { diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index 890a166af2..f02c4c982e 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -411,10 +411,10 @@ public class RequestAcquireSkill implements ClientPacket * Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " is requesting skill Id: " + _id + " level " + _level + " while not being level 85 or awaken!", IllegalActionPunishmentType.NONE); return; } int count = 0; for (String varName : REVELATION_VAR_NAMES) { if * (player.getVariables().getInt(varName, 0) > 0) { count++; } } if (count >= 2) { player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ITEMS_TO_LEARN_THIS_SKILL); Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " is requesting skill Id: " + _id + " level " * + _level + " while having already learned 2 skills!", IllegalActionPunishmentType.NONE); return; } if (checkPlayerSkill(player, trainer, s)) { final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); - * giveSkill(player, trainer, skill); } final List skills = SkillTreesData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); if (!skills.isEmpty()) { player.sendPacket(new ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION)); } else - * { player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); } + * giveSkill(player, trainer, skill); ThreadPool.schedule(() -> { player.getStat().recalculateStats(false); player.broadcastInfo(); }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); if + * (!skills.isEmpty()) { player.sendPacket(new ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION)); } else { player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); } */ - return; + break; } case REVELATION_DUALCLASS: { @@ -425,10 +425,10 @@ public class RequestAcquireSkill implements ClientPacket * IllegalActionPunishmentType.NONE); return; } int count = 0; for (String varName : DUALCLASS_REVELATION_VAR_NAMES) { if (player.getVariables().getInt(varName, 0) > 0) { count++; } } if (count >= 2) { * player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ITEMS_TO_LEARN_THIS_SKILL); Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " is requesting skill Id: " + _id + " level " + _level + " while having already learned 2 skills!", * IllegalActionPunishmentType.NONE); return; } if (checkPlayerSkill(player, trainer, s)) { final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); - * } final List skills = SkillTreesData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); if (!skills.isEmpty()) { player.sendPacket(new ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION_DUALCLASS)); } else { - * player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); } break; + * ThreadPool.schedule(() -> { player.getStat().recalculateStats(false); player.broadcastInfo(); }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); if (!skills.isEmpty()) { player.sendPacket(new + * ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION_DUALCLASS)); } else { player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); } */ - return; + break; } default: { diff --git a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index a8d4de01b4..f79551abd1 100644 --- a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -411,10 +411,10 @@ public class RequestAcquireSkill implements ClientPacket * Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " is requesting skill Id: " + _id + " level " + _level + " while not being level 85 or awaken!", IllegalActionPunishmentType.NONE); return; } int count = 0; for (String varName : REVELATION_VAR_NAMES) { if * (player.getVariables().getInt(varName, 0) > 0) { count++; } } if (count >= 2) { player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ITEMS_TO_LEARN_THIS_SKILL); Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " is requesting skill Id: " + _id + " level " * + _level + " while having already learned 2 skills!", IllegalActionPunishmentType.NONE); return; } if (checkPlayerSkill(player, trainer, s)) { final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); - * giveSkill(player, trainer, skill); } final List skills = SkillTreesData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); if (!skills.isEmpty()) { player.sendPacket(new ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION)); } else - * { player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); } + * giveSkill(player, trainer, skill); ThreadPool.schedule(() -> { player.getStat().recalculateStats(false); player.broadcastInfo(); }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); if + * (!skills.isEmpty()) { player.sendPacket(new ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION)); } else { player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); } */ - return; + break; } case REVELATION_DUALCLASS: { @@ -425,10 +425,10 @@ public class RequestAcquireSkill implements ClientPacket * IllegalActionPunishmentType.NONE); return; } int count = 0; for (String varName : DUALCLASS_REVELATION_VAR_NAMES) { if (player.getVariables().getInt(varName, 0) > 0) { count++; } } if (count >= 2) { * player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ITEMS_TO_LEARN_THIS_SKILL); Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " is requesting skill Id: " + _id + " level " + _level + " while having already learned 2 skills!", * IllegalActionPunishmentType.NONE); return; } if (checkPlayerSkill(player, trainer, s)) { final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); - * } final List skills = SkillTreesData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); if (!skills.isEmpty()) { player.sendPacket(new ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION_DUALCLASS)); } else { - * player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); } break; + * ThreadPool.schedule(() -> { player.getStat().recalculateStats(false); player.broadcastInfo(); }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); if (!skills.isEmpty()) { player.sendPacket(new + * ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION_DUALCLASS)); } else { player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); } */ - return; + break; } default: { diff --git a/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index a8d4de01b4..f79551abd1 100644 --- a/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -411,10 +411,10 @@ public class RequestAcquireSkill implements ClientPacket * Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " is requesting skill Id: " + _id + " level " + _level + " while not being level 85 or awaken!", IllegalActionPunishmentType.NONE); return; } int count = 0; for (String varName : REVELATION_VAR_NAMES) { if * (player.getVariables().getInt(varName, 0) > 0) { count++; } } if (count >= 2) { player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ITEMS_TO_LEARN_THIS_SKILL); Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " is requesting skill Id: " + _id + " level " * + _level + " while having already learned 2 skills!", IllegalActionPunishmentType.NONE); return; } if (checkPlayerSkill(player, trainer, s)) { final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); - * giveSkill(player, trainer, skill); } final List skills = SkillTreesData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); if (!skills.isEmpty()) { player.sendPacket(new ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION)); } else - * { player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); } + * giveSkill(player, trainer, skill); ThreadPool.schedule(() -> { player.getStat().recalculateStats(false); player.broadcastInfo(); }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); if + * (!skills.isEmpty()) { player.sendPacket(new ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION)); } else { player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); } */ - return; + break; } case REVELATION_DUALCLASS: { @@ -425,10 +425,10 @@ public class RequestAcquireSkill implements ClientPacket * IllegalActionPunishmentType.NONE); return; } int count = 0; for (String varName : DUALCLASS_REVELATION_VAR_NAMES) { if (player.getVariables().getInt(varName, 0) > 0) { count++; } } if (count >= 2) { * player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ITEMS_TO_LEARN_THIS_SKILL); Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " is requesting skill Id: " + _id + " level " + _level + " while having already learned 2 skills!", * IllegalActionPunishmentType.NONE); return; } if (checkPlayerSkill(player, trainer, s)) { final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill); - * } final List skills = SkillTreesData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); if (!skills.isEmpty()) { player.sendPacket(new ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION_DUALCLASS)); } else { - * player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); } break; + * ThreadPool.schedule(() -> { player.getStat().recalculateStats(false); player.broadcastInfo(); }, 100); } final List skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); if (!skills.isEmpty()) { player.sendPacket(new + * ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION_DUALCLASS)); } else { player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); } */ - return; + break; } default: {