Adjustments for cleanSkillUponChangeClass calls.

This commit is contained in:
MobiusDevelopment
2020-07-17 23:26:38 +00:00
parent 88570ccc47
commit 30bad9f604
6 changed files with 46 additions and 11 deletions

View File

@@ -419,18 +419,21 @@ public class ClassMaster extends AbstractNpcAI implements IXmlReader
{
player.setBaseClass(player.getActiveClass());
}
SkillTreeData.getInstance().cleanSkillUponChangeClass(player, false);
if (player.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
{
SkillTreeData.getInstance().cleanSkillUponChangeClass(player, false);
for (SkillLearn skill : SkillTreeData.getInstance().getRaceSkillTree(player.getRace()))
{
player.addSkill(SkillData.getInstance().getSkill(skill.getSkillId(), skill.getSkillLevel()), true);
}
}
if (Config.AUTO_LEARN_SKILLS)
{
player.giveAvailableSkills(Config.AUTO_LEARN_FS_SKILLS, Config.AUTO_LEARN_FP_SKILLS, true);
}
player.store(false); // Save player cause if server crashes before this char is saved, he will lose class and the money payed for class change.
player.broadcastUserInfo();
player.sendSkillList();
@@ -858,18 +861,21 @@ public class ClassMaster extends AbstractNpcAI implements IXmlReader
{
player.setBaseClass(player.getActiveClass());
}
SkillTreeData.getInstance().cleanSkillUponChangeClass(player, false);
if (player.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
{
SkillTreeData.getInstance().cleanSkillUponChangeClass(player, false);
for (SkillLearn skill : SkillTreeData.getInstance().getRaceSkillTree(player.getRace()))
{
player.addSkill(SkillData.getInstance().getSkill(skill.getSkillId(), skill.getSkillLevel()), true);
}
}
if (Config.AUTO_LEARN_SKILLS)
{
player.giveAvailableSkills(Config.AUTO_LEARN_FS_SKILLS, Config.AUTO_LEARN_FP_SKILLS, true);
}
player.store(false); // Save player cause if server crashes before this char is saved, he will lose class and the money payed for class change.
player.broadcastUserInfo();
player.sendSkillList();

View File

@@ -421,14 +421,15 @@ public class AdminEditChar implements IAdminCommandHandler
}
final String newclass = ClassListData.getInstance().getClass(player.getClassId()).getClassName();
SkillTreeData.getInstance().cleanSkillUponChangeClass(player, true);
if (player.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
{
SkillTreeData.getInstance().cleanSkillUponChangeClass(player, true);
for (SkillLearn skill : SkillTreeData.getInstance().getRaceSkillTree(player.getRace()))
{
player.addSkill(SkillData.getInstance().getSkill(skill.getSkillId(), skill.getSkillLevel()), true);
}
}
player.store(false);
player.broadcastUserInfo();
player.sendSkillList();