From 6a714ee6c9d9ea9cdd843e60d1960d2fb9c44ee5 Mon Sep 17 00:00:00 2001 From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com> Date: Sun, 1 Oct 2017 21:10:20 +0000 Subject: [PATCH] Better solution for auto giving skills. --- .../areas/TalkingIsland/AwakeningMaster/AwakeningMaster.java | 3 +-- .../data/scripts/ai/areas/TalkingIsland/Hardin/Hardin.java | 2 +- .../game/data/scripts/ai/others/ClassMaster/ClassMaster.java | 3 +-- .../scripts/handlers/admincommandhandlers/AdminEditChar.java | 2 +- .../gameserver/model/actor/instance/L2PcInstance.java | 2 +- .../areas/TalkingIsland/AwakeningMaster/AwakeningMaster.java | 3 +-- .../data/scripts/ai/areas/TalkingIsland/Hardin/Hardin.java | 2 +- .../game/data/scripts/ai/others/ClassMaster/ClassMaster.java | 3 +-- .../scripts/handlers/admincommandhandlers/AdminEditChar.java | 2 +- .../gameserver/model/actor/instance/L2PcInstance.java | 2 +- .../areas/TalkingIsland/AwakeningMaster/AwakeningMaster.java | 3 +-- .../data/scripts/ai/areas/TalkingIsland/Hardin/Hardin.java | 2 +- .../game/data/scripts/ai/others/ClassMaster/ClassMaster.java | 3 +-- .../scripts/handlers/admincommandhandlers/AdminEditChar.java | 2 +- .../gameserver/model/actor/instance/L2PcInstance.java | 2 +- .../game/data/scripts/ai/others/ClassMaster/ClassMaster.java | 3 +-- .../scripts/handlers/admincommandhandlers/AdminEditChar.java | 2 +- .../gameserver/model/actor/instance/L2PcInstance.java | 2 +- 18 files changed, 18 insertions(+), 25 deletions(-) diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/TalkingIsland/AwakeningMaster/AwakeningMaster.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/TalkingIsland/AwakeningMaster/AwakeningMaster.java index 0ba72f82bf..25db941e6f 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/TalkingIsland/AwakeningMaster/AwakeningMaster.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/TalkingIsland/AwakeningMaster/AwakeningMaster.java @@ -306,6 +306,7 @@ public final class AwakeningMaster extends AbstractNpcAI for (ClassId newClass : player.getClassId().getNextClassIds()) { + player.setClassId(newClass.getId()); if (player.isDualClassActive()) { player.getSubClasses().get(player.getClassIndex()).setClassId(player.getActiveClass()); @@ -314,8 +315,6 @@ public final class AwakeningMaster extends AbstractNpcAI { player.setBaseClass(player.getActiveClass()); } - player.setClassId(newClass.getId()); - player.sendPacket(SystemMessageId.CONGRATULATIONS_YOU_VE_COMPLETED_A_CLASS_TRANSFER); final UserInfo ui = new UserInfo(player, false); ui.addComponentType(UserInfoType.BASIC_INFO); diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/TalkingIsland/Hardin/Hardin.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/TalkingIsland/Hardin/Hardin.java index 59fe835f29..2c4bc51193 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/TalkingIsland/Hardin/Hardin.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/TalkingIsland/Hardin/Hardin.java @@ -138,6 +138,7 @@ public final class Hardin extends AbstractNpcAI player.getAppearance().setSex(true); } // Change class + player.setClassId(newClass.getId()); if (player.isDualClassActive()) { player.getSubClasses().get(player.getClassIndex()).setClassId(player.getActiveClass()); @@ -146,7 +147,6 @@ public final class Hardin extends AbstractNpcAI { player.setBaseClass(player.getActiveClass()); } - player.setClassId(newClass.getId()); // Adjustments SkillTreesData.getInstance().cleanSkillUponAwakening(player); for (L2SkillLearn skill : SkillTreesData.getInstance().getRaceSkillTree(player.getRace())) diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/others/ClassMaster/ClassMaster.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/others/ClassMaster/ClassMaster.java index edfcac0476..2ebf04d748 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/others/ClassMaster/ClassMaster.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/others/ClassMaster/ClassMaster.java @@ -391,6 +391,7 @@ public final class ClassMaster extends AbstractNpcAI implements IGameXmlReader } } + player.setClassId(classId); if (player.isSubClassActive()) { player.getSubClasses().get(player.getClassIndex()).setClassId(player.getActiveClass()); @@ -399,8 +400,6 @@ public final class ClassMaster extends AbstractNpcAI implements IGameXmlReader { player.setBaseClass(player.getActiveClass()); } - player.setClassId(classId); - if (player.isInCategory(CategoryType.AWAKEN_GROUP)) { SkillTreesData.getInstance().cleanSkillUponAwakening(player); diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java index f5e71b53d4..b9f0ab5ed6 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java @@ -371,6 +371,7 @@ public class AdminEditChar implements IAdminCommandHandler { player.resetOriginalClass(); // revert agent of chaos changes } + player.setClassId(classidval); if (player.isSubClassActive()) { player.getSubClasses().get(player.getClassIndex()).setClassId(player.getActiveClass()); @@ -379,7 +380,6 @@ public class AdminEditChar implements IAdminCommandHandler { player.setBaseClass(player.getActiveClass()); } - player.setClassId(classidval); // Sex checks. if (player.getRace().equals(Race.KAMAEL)) diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/instance/L2PcInstance.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/instance/L2PcInstance.java index b8a7996067..fa520bfb88 100644 --- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/instance/L2PcInstance.java +++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/instance/L2PcInstance.java @@ -2601,7 +2601,7 @@ public final class L2PcInstance extends L2Playable { int skillCounter = 0; // Get available skills - final Collection skills = SkillTreesData.getInstance().getAllAvailableSkills(this, getClassId(), includedByFs, includeAutoGet); + final Collection skills = SkillTreesData.getInstance().getAllAvailableSkills(this, getTemplate().getClassId(), includedByFs, includeAutoGet); final List skillsForStore = new ArrayList<>(); for (Skill skill : skills) diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/TalkingIsland/AwakeningMaster/AwakeningMaster.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/TalkingIsland/AwakeningMaster/AwakeningMaster.java index 0ba72f82bf..25db941e6f 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/TalkingIsland/AwakeningMaster/AwakeningMaster.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/TalkingIsland/AwakeningMaster/AwakeningMaster.java @@ -306,6 +306,7 @@ public final class AwakeningMaster extends AbstractNpcAI for (ClassId newClass : player.getClassId().getNextClassIds()) { + player.setClassId(newClass.getId()); if (player.isDualClassActive()) { player.getSubClasses().get(player.getClassIndex()).setClassId(player.getActiveClass()); @@ -314,8 +315,6 @@ public final class AwakeningMaster extends AbstractNpcAI { player.setBaseClass(player.getActiveClass()); } - player.setClassId(newClass.getId()); - player.sendPacket(SystemMessageId.CONGRATULATIONS_YOU_VE_COMPLETED_A_CLASS_TRANSFER); final UserInfo ui = new UserInfo(player, false); ui.addComponentType(UserInfoType.BASIC_INFO); diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/TalkingIsland/Hardin/Hardin.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/TalkingIsland/Hardin/Hardin.java index 59fe835f29..2c4bc51193 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/TalkingIsland/Hardin/Hardin.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/TalkingIsland/Hardin/Hardin.java @@ -138,6 +138,7 @@ public final class Hardin extends AbstractNpcAI player.getAppearance().setSex(true); } // Change class + player.setClassId(newClass.getId()); if (player.isDualClassActive()) { player.getSubClasses().get(player.getClassIndex()).setClassId(player.getActiveClass()); @@ -146,7 +147,6 @@ public final class Hardin extends AbstractNpcAI { player.setBaseClass(player.getActiveClass()); } - player.setClassId(newClass.getId()); // Adjustments SkillTreesData.getInstance().cleanSkillUponAwakening(player); for (L2SkillLearn skill : SkillTreesData.getInstance().getRaceSkillTree(player.getRace())) diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/ClassMaster/ClassMaster.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/ClassMaster/ClassMaster.java index edfcac0476..2ebf04d748 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/ClassMaster/ClassMaster.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/ClassMaster/ClassMaster.java @@ -391,6 +391,7 @@ public final class ClassMaster extends AbstractNpcAI implements IGameXmlReader } } + player.setClassId(classId); if (player.isSubClassActive()) { player.getSubClasses().get(player.getClassIndex()).setClassId(player.getActiveClass()); @@ -399,8 +400,6 @@ public final class ClassMaster extends AbstractNpcAI implements IGameXmlReader { player.setBaseClass(player.getActiveClass()); } - player.setClassId(classId); - if (player.isInCategory(CategoryType.AWAKEN_GROUP)) { SkillTreesData.getInstance().cleanSkillUponAwakening(player); diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java index f5e71b53d4..b9f0ab5ed6 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java @@ -371,6 +371,7 @@ public class AdminEditChar implements IAdminCommandHandler { player.resetOriginalClass(); // revert agent of chaos changes } + player.setClassId(classidval); if (player.isSubClassActive()) { player.getSubClasses().get(player.getClassIndex()).setClassId(player.getActiveClass()); @@ -379,7 +380,6 @@ public class AdminEditChar implements IAdminCommandHandler { player.setBaseClass(player.getActiveClass()); } - player.setClassId(classidval); // Sex checks. if (player.getRace().equals(Race.KAMAEL)) diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/instance/L2PcInstance.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/instance/L2PcInstance.java index 970dd6f683..abe2fc1497 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/instance/L2PcInstance.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/instance/L2PcInstance.java @@ -2600,7 +2600,7 @@ public final class L2PcInstance extends L2Playable { int skillCounter = 0; // Get available skills - final Collection skills = SkillTreesData.getInstance().getAllAvailableSkills(this, getClassId(), includedByFs, includeAutoGet); + final Collection skills = SkillTreesData.getInstance().getAllAvailableSkills(this, getTemplate().getClassId(), includedByFs, includeAutoGet); final List skillsForStore = new ArrayList<>(); for (Skill skill : skills) diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/TalkingIsland/AwakeningMaster/AwakeningMaster.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/TalkingIsland/AwakeningMaster/AwakeningMaster.java index 0ba72f82bf..25db941e6f 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/TalkingIsland/AwakeningMaster/AwakeningMaster.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/TalkingIsland/AwakeningMaster/AwakeningMaster.java @@ -306,6 +306,7 @@ public final class AwakeningMaster extends AbstractNpcAI for (ClassId newClass : player.getClassId().getNextClassIds()) { + player.setClassId(newClass.getId()); if (player.isDualClassActive()) { player.getSubClasses().get(player.getClassIndex()).setClassId(player.getActiveClass()); @@ -314,8 +315,6 @@ public final class AwakeningMaster extends AbstractNpcAI { player.setBaseClass(player.getActiveClass()); } - player.setClassId(newClass.getId()); - player.sendPacket(SystemMessageId.CONGRATULATIONS_YOU_VE_COMPLETED_A_CLASS_TRANSFER); final UserInfo ui = new UserInfo(player, false); ui.addComponentType(UserInfoType.BASIC_INFO); diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/TalkingIsland/Hardin/Hardin.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/TalkingIsland/Hardin/Hardin.java index 59fe835f29..2c4bc51193 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/TalkingIsland/Hardin/Hardin.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/TalkingIsland/Hardin/Hardin.java @@ -138,6 +138,7 @@ public final class Hardin extends AbstractNpcAI player.getAppearance().setSex(true); } // Change class + player.setClassId(newClass.getId()); if (player.isDualClassActive()) { player.getSubClasses().get(player.getClassIndex()).setClassId(player.getActiveClass()); @@ -146,7 +147,6 @@ public final class Hardin extends AbstractNpcAI { player.setBaseClass(player.getActiveClass()); } - player.setClassId(newClass.getId()); // Adjustments SkillTreesData.getInstance().cleanSkillUponAwakening(player); for (L2SkillLearn skill : SkillTreesData.getInstance().getRaceSkillTree(player.getRace())) diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/ClassMaster/ClassMaster.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/ClassMaster/ClassMaster.java index 2ce567aec4..d0b7cafb98 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/ClassMaster/ClassMaster.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/ClassMaster/ClassMaster.java @@ -391,6 +391,7 @@ public final class ClassMaster extends AbstractNpcAI implements IGameXmlReader } } + player.setClassId(classId); if (player.isSubClassActive()) { player.getSubClasses().get(player.getClassIndex()).setClassId(player.getActiveClass()); @@ -399,8 +400,6 @@ public final class ClassMaster extends AbstractNpcAI implements IGameXmlReader { player.setBaseClass(player.getActiveClass()); } - player.setClassId(classId); - if (player.isInCategory(CategoryType.AWAKEN_GROUP)) { SkillTreesData.getInstance().cleanSkillUponAwakening(player); diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java index f5e71b53d4..b9f0ab5ed6 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java @@ -371,6 +371,7 @@ public class AdminEditChar implements IAdminCommandHandler { player.resetOriginalClass(); // revert agent of chaos changes } + player.setClassId(classidval); if (player.isSubClassActive()) { player.getSubClasses().get(player.getClassIndex()).setClassId(player.getActiveClass()); @@ -379,7 +380,6 @@ public class AdminEditChar implements IAdminCommandHandler { player.setBaseClass(player.getActiveClass()); } - player.setClassId(classidval); // Sex checks. if (player.getRace().equals(Race.KAMAEL)) diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/instance/L2PcInstance.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/instance/L2PcInstance.java index 15f45cb23b..667c95e8fb 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/instance/L2PcInstance.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/instance/L2PcInstance.java @@ -2603,7 +2603,7 @@ public final class L2PcInstance extends L2Playable { int skillCounter = 0; // Get available skills - final Collection skills = SkillTreesData.getInstance().getAllAvailableSkills(this, getClassId(), includedByFs, includeAutoGet); + final Collection skills = SkillTreesData.getInstance().getAllAvailableSkills(this, getTemplate().getClassId(), includedByFs, includeAutoGet); final List skillsForStore = new ArrayList<>(); for (Skill skill : skills) diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/ai/others/ClassMaster/ClassMaster.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/ai/others/ClassMaster/ClassMaster.java index 0d78dca83c..d40ea3667c 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/ai/others/ClassMaster/ClassMaster.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/ai/others/ClassMaster/ClassMaster.java @@ -359,6 +359,7 @@ public final class ClassMaster extends AbstractNpcAI implements IGameXmlReader } } + player.setClassId(classId); if (player.isSubClassActive()) { player.getSubClasses().get(player.getClassIndex()).setClassId(player.getActiveClass()); @@ -367,8 +368,6 @@ public final class ClassMaster extends AbstractNpcAI implements IGameXmlReader { player.setBaseClass(player.getActiveClass()); } - player.setClassId(classId); - if (player.isInCategory(CategoryType.AWAKEN_GROUP)) { SkillTreesData.getInstance().cleanSkillUponAwakening(player); diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java index d27f8b9825..da152c02aa 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java @@ -367,6 +367,7 @@ public class AdminEditChar implements IAdminCommandHandler final L2PcInstance player = target.getActingPlayer(); if ((ClassId.getClassId(classidval) != null) && (player.getClassId().getId() != classidval)) { + player.setClassId(classidval); if (player.isSubClassActive()) { player.getSubClasses().get(player.getClassIndex()).setClassId(player.getActiveClass()); @@ -375,7 +376,6 @@ public class AdminEditChar implements IAdminCommandHandler { player.setBaseClass(player.getActiveClass()); } - player.setClassId(classidval); // Sex checks. if (player.getRace().equals(Race.KAMAEL)) diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/instance/L2PcInstance.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/instance/L2PcInstance.java index 820361b03d..4ae8d0d141 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/instance/L2PcInstance.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/instance/L2PcInstance.java @@ -2579,7 +2579,7 @@ public final class L2PcInstance extends L2Playable { int skillCounter = 0; // Get available skills - final Collection skills = SkillTreesData.getInstance().getAllAvailableSkills(this, getClassId(), includedByFs, includeAutoGet); + final Collection skills = SkillTreesData.getInstance().getAllAvailableSkills(this, getTemplate().getClassId(), includedByFs, includeAutoGet); final List skillsForStore = new ArrayList<>(); for (Skill skill : skills)