Previous commit for equivalent Classic branch.
This commit is contained in:
parent
4af5183baf
commit
effd418284
@ -33,6 +33,7 @@ import org.l2jmobius.Config;
|
||||
import org.l2jmobius.commons.util.IXmlReader;
|
||||
import org.l2jmobius.gameserver.data.xml.impl.CategoryData;
|
||||
import org.l2jmobius.gameserver.data.xml.impl.ClassListData;
|
||||
import org.l2jmobius.gameserver.data.xml.impl.SkillTreesData;
|
||||
import org.l2jmobius.gameserver.datatables.ItemTable;
|
||||
import org.l2jmobius.gameserver.enums.CategoryType;
|
||||
import org.l2jmobius.gameserver.enums.Race;
|
||||
@ -386,9 +387,9 @@ public class ClassMaster extends AbstractNpcAI implements IXmlReader
|
||||
{
|
||||
player.setBaseClass(player.getActiveClass());
|
||||
}
|
||||
SkillTreesData.getInstance().cleanSkillUponChangeClass(player);
|
||||
// if (player.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
// {
|
||||
// SkillTreesData.getInstance().cleanSkillUponAwakening(player);
|
||||
// for (SkillLearn skill : SkillTreesData.getInstance().getRaceSkillTree(player.getRace()))
|
||||
// {
|
||||
// player.addSkill(SkillData.getInstance().getSkill(skill.getSkillId(), skill.getSkillLevel()), true);
|
||||
@ -787,9 +788,9 @@ public class ClassMaster extends AbstractNpcAI implements IXmlReader
|
||||
{
|
||||
player.setBaseClass(player.getActiveClass());
|
||||
}
|
||||
SkillTreesData.getInstance().cleanSkillUponChangeClass(player);
|
||||
// if (player.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
// {
|
||||
// SkillTreesData.getInstance().cleanSkillUponAwakening(player);
|
||||
// for (SkillLearn skill : SkillTreesData.getInstance().getRaceSkillTree(player.getRace()))
|
||||
// {
|
||||
// player.addSkill(SkillData.getInstance().getSkill(skill.getSkillId(), skill.getSkillLevel()), true);
|
||||
|
@ -32,6 +32,7 @@ import org.l2jmobius.Config;
|
||||
import org.l2jmobius.commons.database.DatabaseFactory;
|
||||
import org.l2jmobius.gameserver.data.sql.impl.CharNameTable;
|
||||
import org.l2jmobius.gameserver.data.xml.impl.ClassListData;
|
||||
import org.l2jmobius.gameserver.data.xml.impl.SkillTreesData;
|
||||
import org.l2jmobius.gameserver.enums.Race;
|
||||
import org.l2jmobius.gameserver.enums.SubclassInfoType;
|
||||
import org.l2jmobius.gameserver.handler.IAdminCommandHandler;
|
||||
@ -413,6 +414,7 @@ public class AdminEditChar implements IAdminCommandHandler
|
||||
}
|
||||
|
||||
final String newclass = ClassListData.getInstance().getClass(player.getClassId()).getClassName();
|
||||
SkillTreesData.getInstance().cleanSkillUponChangeClass(player);
|
||||
player.store(false);
|
||||
player.broadcastUserInfo();
|
||||
player.sendSkillList();
|
||||
|
@ -1447,14 +1447,15 @@ public class SkillTreesData implements IXmlReader
|
||||
return result;
|
||||
}
|
||||
|
||||
public void cleanSkillUponAwakening(PlayerInstance player)
|
||||
public void cleanSkillUponChangeClass(PlayerInstance player)
|
||||
{
|
||||
final ClassId currentClass = player.getClassId();
|
||||
for (Skill skill : player.getAllSkills())
|
||||
{
|
||||
final int maxLvl = SkillData.getInstance().getMaxLevel(skill.getId());
|
||||
final long hashCode = SkillData.getSkillHashCode(skill.getId(), maxLvl);
|
||||
|
||||
if (!isCurrentClassSkillNoParent(player.getClassId(), hashCode) && !isRemoveSkill(player.getClassId(), skill.getId()) && !isAwakenSaveSkill(player.getClassId(), skill.getId()) && !isAlchemySkill(skill.getId(), skill.getLevel()))
|
||||
if (!isCurrentClassSkillNoParent(currentClass, hashCode) && !isRemoveSkill(currentClass, skill.getId()) && !isAwakenSaveSkill(currentClass, skill.getId()) && !isAlchemySkill(skill.getId(), skill.getLevel()))
|
||||
{
|
||||
player.removeSkill(skill, true, true);
|
||||
}
|
||||
|
@ -19,6 +19,7 @@ package org.l2jmobius.gameserver.network.clientpackets.classchange;
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.commons.network.PacketReader;
|
||||
import org.l2jmobius.gameserver.data.xml.impl.CategoryData;
|
||||
import org.l2jmobius.gameserver.data.xml.impl.SkillTreesData;
|
||||
import org.l2jmobius.gameserver.enums.CategoryType;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.base.ClassId;
|
||||
@ -93,7 +94,7 @@ public class ExRequestClassChange implements IClientIncomingPacket
|
||||
{
|
||||
player.setBaseClass(player.getActiveClass());
|
||||
}
|
||||
|
||||
SkillTreesData.getInstance().cleanSkillUponChangeClass(player);
|
||||
if (Config.AUTO_LEARN_SKILLS)
|
||||
{
|
||||
player.giveAvailableSkills(Config.AUTO_LEARN_FS_SKILLS, true);
|
||||
|
Loading…
Reference in New Issue
Block a user