Better solution for auto giving skills.
This commit is contained in:
parent
86b294a4f1
commit
6a714ee6c9
@ -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);
|
||||
|
@ -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()))
|
||||
|
@ -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);
|
||||
|
@ -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))
|
||||
|
@ -2601,7 +2601,7 @@ public final class L2PcInstance extends L2Playable
|
||||
{
|
||||
int skillCounter = 0;
|
||||
// Get available skills
|
||||
final Collection<Skill> skills = SkillTreesData.getInstance().getAllAvailableSkills(this, getClassId(), includedByFs, includeAutoGet);
|
||||
final Collection<Skill> skills = SkillTreesData.getInstance().getAllAvailableSkills(this, getTemplate().getClassId(), includedByFs, includeAutoGet);
|
||||
final List<Skill> skillsForStore = new ArrayList<>();
|
||||
|
||||
for (Skill skill : skills)
|
||||
|
@ -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);
|
||||
|
@ -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()))
|
||||
|
@ -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);
|
||||
|
@ -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))
|
||||
|
@ -2600,7 +2600,7 @@ public final class L2PcInstance extends L2Playable
|
||||
{
|
||||
int skillCounter = 0;
|
||||
// Get available skills
|
||||
final Collection<Skill> skills = SkillTreesData.getInstance().getAllAvailableSkills(this, getClassId(), includedByFs, includeAutoGet);
|
||||
final Collection<Skill> skills = SkillTreesData.getInstance().getAllAvailableSkills(this, getTemplate().getClassId(), includedByFs, includeAutoGet);
|
||||
final List<Skill> skillsForStore = new ArrayList<>();
|
||||
|
||||
for (Skill skill : skills)
|
||||
|
@ -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);
|
||||
|
@ -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()))
|
||||
|
@ -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);
|
||||
|
@ -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))
|
||||
|
@ -2603,7 +2603,7 @@ public final class L2PcInstance extends L2Playable
|
||||
{
|
||||
int skillCounter = 0;
|
||||
// Get available skills
|
||||
final Collection<Skill> skills = SkillTreesData.getInstance().getAllAvailableSkills(this, getClassId(), includedByFs, includeAutoGet);
|
||||
final Collection<Skill> skills = SkillTreesData.getInstance().getAllAvailableSkills(this, getTemplate().getClassId(), includedByFs, includeAutoGet);
|
||||
final List<Skill> skillsForStore = new ArrayList<>();
|
||||
|
||||
for (Skill skill : skills)
|
||||
|
@ -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);
|
||||
|
@ -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))
|
||||
|
@ -2579,7 +2579,7 @@ public final class L2PcInstance extends L2Playable
|
||||
{
|
||||
int skillCounter = 0;
|
||||
// Get available skills
|
||||
final Collection<Skill> skills = SkillTreesData.getInstance().getAllAvailableSkills(this, getClassId(), includedByFs, includeAutoGet);
|
||||
final Collection<Skill> skills = SkillTreesData.getInstance().getAllAvailableSkills(this, getTemplate().getClassId(), includedByFs, includeAutoGet);
|
||||
final List<Skill> skillsForStore = new ArrayList<>();
|
||||
|
||||
for (Skill skill : skills)
|
||||
|
Loading…
Reference in New Issue
Block a user