Better solution for auto giving skills.

This commit is contained in:
MobiusDev
2017-10-01 21:10:20 +00:00
parent 86b294a4f1
commit 6a714ee6c9
18 changed files with 18 additions and 25 deletions

View File

@@ -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);

View File

@@ -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()))

View File

@@ -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);

View File

@@ -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))

View File

@@ -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)