Use PlayerInstance method for removing player skills.

This commit is contained in:
MobiusDevelopment
2019-06-10 10:45:32 +00:00
parent a64034de2e
commit c271f6b31b
14 changed files with 91 additions and 21 deletions

View File

@@ -31,6 +31,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.base.ClassId;
import org.l2jmobius.gameserver.model.olympiad.Olympiad;
import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.network.serverpackets.ExSubjobInfo;
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoInvenWeight;
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
@@ -160,7 +161,11 @@ public final class Hardin extends AbstractNpcAI
{
for (int skillId : removedSkillIds)
{
player.removeSkill(skillId);
final Skill skill = player.getKnownSkill(skillId);
if (skill != null)
{
player.removeSkill(skill);
}
}
}
player.store(false);

View File

@@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.SkillLearn;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.base.AcquireSkillType;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.variables.PlayerVariables;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.ExAcquirableSkillListByClass;
@@ -145,9 +146,13 @@ public final class MonkOfChaos extends AbstractNpcAI
}
takeItems(player, 57, CANCEL_FEE);
for (SkillLearn skill : SkillTreesData.getInstance().getAllRevelationSkills(player, player.isDualClassActive() ? SubclassType.DUALCLASS : SubclassType.BASECLASS))
for (SkillLearn skillLearn : SkillTreesData.getInstance().getAllRevelationSkills(player, player.isDualClassActive() ? SubclassType.DUALCLASS : SubclassType.BASECLASS))
{
player.removeSkill(skill.getSkillId());
final Skill skill = player.getKnownSkill(skillLearn.getSkillId());
if (skill != null)
{
player.removeSkill(skill);
}
}
for (String varName : varNames)
{

View File

@@ -31,6 +31,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.base.ClassId;
import org.l2jmobius.gameserver.model.olympiad.Olympiad;
import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.network.serverpackets.ExSubjobInfo;
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoInvenWeight;
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
@@ -160,7 +161,11 @@ public final class Hardin extends AbstractNpcAI
{
for (int skillId : removedSkillIds)
{
player.removeSkill(skillId);
final Skill skill = player.getKnownSkill(skillId);
if (skill != null)
{
player.removeSkill(skill);
}
}
}
player.store(false);

View File

@@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.SkillLearn;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.base.AcquireSkillType;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.variables.PlayerVariables;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.ExAcquirableSkillListByClass;
@@ -145,9 +146,13 @@ public final class MonkOfChaos extends AbstractNpcAI
}
takeItems(player, 57, CANCEL_FEE);
for (SkillLearn skill : SkillTreesData.getInstance().getAllRevelationSkills(player, player.isDualClassActive() ? SubclassType.DUALCLASS : SubclassType.BASECLASS))
for (SkillLearn skillLearn : SkillTreesData.getInstance().getAllRevelationSkills(player, player.isDualClassActive() ? SubclassType.DUALCLASS : SubclassType.BASECLASS))
{
player.removeSkill(skill.getSkillId());
final Skill skill = player.getKnownSkill(skillLearn.getSkillId());
if (skill != null)
{
player.removeSkill(skill);
}
}
for (String varName : varNames)
{

View File

@@ -31,6 +31,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.base.ClassId;
import org.l2jmobius.gameserver.model.olympiad.Olympiad;
import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.network.serverpackets.ExSubjobInfo;
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoInvenWeight;
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
@@ -160,7 +161,11 @@ public final class Hardin extends AbstractNpcAI
{
for (int skillId : removedSkillIds)
{
player.removeSkill(skillId);
final Skill skill = player.getKnownSkill(skillId);
if (skill != null)
{
player.removeSkill(skill);
}
}
}
player.store(false);

View File

@@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.SkillLearn;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.base.AcquireSkillType;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.variables.PlayerVariables;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.ExAcquirableSkillListByClass;
@@ -145,9 +146,13 @@ public final class MonkOfChaos extends AbstractNpcAI
}
takeItems(player, 57, CANCEL_FEE);
for (SkillLearn skill : SkillTreesData.getInstance().getAllRevelationSkills(player, player.isDualClassActive() ? SubclassType.DUALCLASS : SubclassType.BASECLASS))
for (SkillLearn skillLearn : SkillTreesData.getInstance().getAllRevelationSkills(player, player.isDualClassActive() ? SubclassType.DUALCLASS : SubclassType.BASECLASS))
{
player.removeSkill(skill.getSkillId());
final Skill skill = player.getKnownSkill(skillLearn.getSkillId());
if (skill != null)
{
player.removeSkill(skill);
}
}
for (String varName : varNames)
{

View File

@@ -31,6 +31,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.base.ClassId;
import org.l2jmobius.gameserver.model.olympiad.Olympiad;
import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.network.serverpackets.ExSubjobInfo;
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoInvenWeight;
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
@@ -160,7 +161,11 @@ public final class Hardin extends AbstractNpcAI
{
for (int skillId : removedSkillIds)
{
player.removeSkill(skillId);
final Skill skill = player.getKnownSkill(skillId);
if (skill != null)
{
player.removeSkill(skill);
}
}
}
player.store(false);

View File

@@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.SkillLearn;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.base.AcquireSkillType;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.variables.PlayerVariables;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.ExAcquirableSkillListByClass;
@@ -145,9 +146,13 @@ public final class MonkOfChaos extends AbstractNpcAI
}
takeItems(player, 57, CANCEL_FEE);
for (SkillLearn skill : SkillTreesData.getInstance().getAllRevelationSkills(player, player.isDualClassActive() ? SubclassType.DUALCLASS : SubclassType.BASECLASS))
for (SkillLearn skillLearn : SkillTreesData.getInstance().getAllRevelationSkills(player, player.isDualClassActive() ? SubclassType.DUALCLASS : SubclassType.BASECLASS))
{
player.removeSkill(skill.getSkillId());
final Skill skill = player.getKnownSkill(skillLearn.getSkillId());
if (skill != null)
{
player.removeSkill(skill);
}
}
for (String varName : varNames)
{

View File

@@ -31,6 +31,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.base.ClassId;
import org.l2jmobius.gameserver.model.olympiad.Olympiad;
import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.network.serverpackets.ExSubjobInfo;
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoInvenWeight;
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
@@ -160,7 +161,11 @@ public final class Hardin extends AbstractNpcAI
{
for (int skillId : removedSkillIds)
{
player.removeSkill(skillId);
final Skill skill = player.getKnownSkill(skillId);
if (skill != null)
{
player.removeSkill(skill);
}
}
}
player.store(false);

View File

@@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.SkillLearn;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.base.AcquireSkillType;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.variables.PlayerVariables;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.ExAcquirableSkillListByClass;
@@ -145,9 +146,13 @@ public final class MonkOfChaos extends AbstractNpcAI
}
takeItems(player, 57, CANCEL_FEE);
for (SkillLearn skill : SkillTreesData.getInstance().getAllRevelationSkills(player, player.isDualClassActive() ? SubclassType.DUALCLASS : SubclassType.BASECLASS))
for (SkillLearn skillLearn : SkillTreesData.getInstance().getAllRevelationSkills(player, player.isDualClassActive() ? SubclassType.DUALCLASS : SubclassType.BASECLASS))
{
player.removeSkill(skill.getSkillId());
final Skill skill = player.getKnownSkill(skillLearn.getSkillId());
if (skill != null)
{
player.removeSkill(skill);
}
}
for (String varName : varNames)
{

View File

@@ -31,6 +31,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.base.ClassId;
import org.l2jmobius.gameserver.model.olympiad.Olympiad;
import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.network.serverpackets.ExSubjobInfo;
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoInvenWeight;
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
@@ -160,7 +161,11 @@ public final class Hardin extends AbstractNpcAI
{
for (int skillId : removedSkillIds)
{
player.removeSkill(skillId);
final Skill skill = player.getKnownSkill(skillId);
if (skill != null)
{
player.removeSkill(skill);
}
}
}
player.store(false);

View File

@@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.SkillLearn;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.base.AcquireSkillType;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.variables.PlayerVariables;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.ExAcquirableSkillListByClass;
@@ -145,9 +146,13 @@ public final class MonkOfChaos extends AbstractNpcAI
}
takeItems(player, 57, CANCEL_FEE);
for (SkillLearn skill : SkillTreesData.getInstance().getAllRevelationSkills(player, player.isDualClassActive() ? SubclassType.DUALCLASS : SubclassType.BASECLASS))
for (SkillLearn skillLearn : SkillTreesData.getInstance().getAllRevelationSkills(player, player.isDualClassActive() ? SubclassType.DUALCLASS : SubclassType.BASECLASS))
{
player.removeSkill(skill.getSkillId());
final Skill skill = player.getKnownSkill(skillLearn.getSkillId());
if (skill != null)
{
player.removeSkill(skill);
}
}
for (String varName : varNames)
{

View File

@@ -31,6 +31,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.base.ClassId;
import org.l2jmobius.gameserver.model.olympiad.Olympiad;
import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.network.serverpackets.ExSubjobInfo;
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoInvenWeight;
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
@@ -160,7 +161,11 @@ public final class Hardin extends AbstractNpcAI
{
for (int skillId : removedSkillIds)
{
player.removeSkill(skillId);
final Skill skill = player.getKnownSkill(skillId);
if (skill != null)
{
player.removeSkill(skill);
}
}
}
player.store(false);

View File

@@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.model.SkillLearn;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.base.AcquireSkillType;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.variables.PlayerVariables;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.ExAcquirableSkillListByClass;
@@ -145,9 +146,13 @@ public final class MonkOfChaos extends AbstractNpcAI
}
takeItems(player, 57, CANCEL_FEE);
for (SkillLearn skill : SkillTreesData.getInstance().getAllRevelationSkills(player, player.isDualClassActive() ? SubclassType.DUALCLASS : SubclassType.BASECLASS))
for (SkillLearn skillLearn : SkillTreesData.getInstance().getAllRevelationSkills(player, player.isDualClassActive() ? SubclassType.DUALCLASS : SubclassType.BASECLASS))
{
player.removeSkill(skill.getSkillId());
final Skill skill = player.getKnownSkill(skillLearn.getSkillId());
if (skill != null)
{
player.removeSkill(skill);
}
}
for (String varName : varNames)
{