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.base.ClassId;
import org.l2jmobius.gameserver.model.olympiad.Olympiad; import org.l2jmobius.gameserver.model.olympiad.Olympiad;
import org.l2jmobius.gameserver.model.quest.QuestState; 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.ExSubjobInfo;
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoInvenWeight; import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoInvenWeight;
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage; import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
@@ -160,7 +161,11 @@ public final class Hardin extends AbstractNpcAI
{ {
for (int skillId : removedSkillIds) for (int skillId : removedSkillIds)
{ {
player.removeSkill(skillId); final Skill skill = player.getKnownSkill(skillId);
if (skill != null)
{
player.removeSkill(skill);
}
} }
} }
player.store(false); 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.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.base.AcquireSkillType; 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.model.variables.PlayerVariables;
import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.ExAcquirableSkillListByClass; import org.l2jmobius.gameserver.network.serverpackets.ExAcquirableSkillListByClass;
@@ -145,9 +146,13 @@ public final class MonkOfChaos extends AbstractNpcAI
} }
takeItems(player, 57, CANCEL_FEE); 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) 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.base.ClassId;
import org.l2jmobius.gameserver.model.olympiad.Olympiad; import org.l2jmobius.gameserver.model.olympiad.Olympiad;
import org.l2jmobius.gameserver.model.quest.QuestState; 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.ExSubjobInfo;
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoInvenWeight; import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoInvenWeight;
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage; import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
@@ -160,7 +161,11 @@ public final class Hardin extends AbstractNpcAI
{ {
for (int skillId : removedSkillIds) for (int skillId : removedSkillIds)
{ {
player.removeSkill(skillId); final Skill skill = player.getKnownSkill(skillId);
if (skill != null)
{
player.removeSkill(skill);
}
} }
} }
player.store(false); 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.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.base.AcquireSkillType; 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.model.variables.PlayerVariables;
import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.ExAcquirableSkillListByClass; import org.l2jmobius.gameserver.network.serverpackets.ExAcquirableSkillListByClass;
@@ -145,9 +146,13 @@ public final class MonkOfChaos extends AbstractNpcAI
} }
takeItems(player, 57, CANCEL_FEE); 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) 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.base.ClassId;
import org.l2jmobius.gameserver.model.olympiad.Olympiad; import org.l2jmobius.gameserver.model.olympiad.Olympiad;
import org.l2jmobius.gameserver.model.quest.QuestState; 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.ExSubjobInfo;
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoInvenWeight; import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoInvenWeight;
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage; import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
@@ -160,7 +161,11 @@ public final class Hardin extends AbstractNpcAI
{ {
for (int skillId : removedSkillIds) for (int skillId : removedSkillIds)
{ {
player.removeSkill(skillId); final Skill skill = player.getKnownSkill(skillId);
if (skill != null)
{
player.removeSkill(skill);
}
} }
} }
player.store(false); 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.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.base.AcquireSkillType; 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.model.variables.PlayerVariables;
import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.ExAcquirableSkillListByClass; import org.l2jmobius.gameserver.network.serverpackets.ExAcquirableSkillListByClass;
@@ -145,9 +146,13 @@ public final class MonkOfChaos extends AbstractNpcAI
} }
takeItems(player, 57, CANCEL_FEE); 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) 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.base.ClassId;
import org.l2jmobius.gameserver.model.olympiad.Olympiad; import org.l2jmobius.gameserver.model.olympiad.Olympiad;
import org.l2jmobius.gameserver.model.quest.QuestState; 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.ExSubjobInfo;
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoInvenWeight; import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoInvenWeight;
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage; import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
@@ -160,7 +161,11 @@ public final class Hardin extends AbstractNpcAI
{ {
for (int skillId : removedSkillIds) for (int skillId : removedSkillIds)
{ {
player.removeSkill(skillId); final Skill skill = player.getKnownSkill(skillId);
if (skill != null)
{
player.removeSkill(skill);
}
} }
} }
player.store(false); 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.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.base.AcquireSkillType; 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.model.variables.PlayerVariables;
import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.ExAcquirableSkillListByClass; import org.l2jmobius.gameserver.network.serverpackets.ExAcquirableSkillListByClass;
@@ -145,9 +146,13 @@ public final class MonkOfChaos extends AbstractNpcAI
} }
takeItems(player, 57, CANCEL_FEE); 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) 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.base.ClassId;
import org.l2jmobius.gameserver.model.olympiad.Olympiad; import org.l2jmobius.gameserver.model.olympiad.Olympiad;
import org.l2jmobius.gameserver.model.quest.QuestState; 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.ExSubjobInfo;
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoInvenWeight; import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoInvenWeight;
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage; import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
@@ -160,7 +161,11 @@ public final class Hardin extends AbstractNpcAI
{ {
for (int skillId : removedSkillIds) for (int skillId : removedSkillIds)
{ {
player.removeSkill(skillId); final Skill skill = player.getKnownSkill(skillId);
if (skill != null)
{
player.removeSkill(skill);
}
} }
} }
player.store(false); 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.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.base.AcquireSkillType; 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.model.variables.PlayerVariables;
import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.ExAcquirableSkillListByClass; import org.l2jmobius.gameserver.network.serverpackets.ExAcquirableSkillListByClass;
@@ -145,9 +146,13 @@ public final class MonkOfChaos extends AbstractNpcAI
} }
takeItems(player, 57, CANCEL_FEE); 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) 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.base.ClassId;
import org.l2jmobius.gameserver.model.olympiad.Olympiad; import org.l2jmobius.gameserver.model.olympiad.Olympiad;
import org.l2jmobius.gameserver.model.quest.QuestState; 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.ExSubjobInfo;
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoInvenWeight; import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoInvenWeight;
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage; import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
@@ -160,7 +161,11 @@ public final class Hardin extends AbstractNpcAI
{ {
for (int skillId : removedSkillIds) for (int skillId : removedSkillIds)
{ {
player.removeSkill(skillId); final Skill skill = player.getKnownSkill(skillId);
if (skill != null)
{
player.removeSkill(skill);
}
} }
} }
player.store(false); 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.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.base.AcquireSkillType; 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.model.variables.PlayerVariables;
import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.ExAcquirableSkillListByClass; import org.l2jmobius.gameserver.network.serverpackets.ExAcquirableSkillListByClass;
@@ -145,9 +146,13 @@ public final class MonkOfChaos extends AbstractNpcAI
} }
takeItems(player, 57, CANCEL_FEE); 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) 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.base.ClassId;
import org.l2jmobius.gameserver.model.olympiad.Olympiad; import org.l2jmobius.gameserver.model.olympiad.Olympiad;
import org.l2jmobius.gameserver.model.quest.QuestState; 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.ExSubjobInfo;
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoInvenWeight; import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoInvenWeight;
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage; import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
@@ -160,7 +161,11 @@ public final class Hardin extends AbstractNpcAI
{ {
for (int skillId : removedSkillIds) for (int skillId : removedSkillIds)
{ {
player.removeSkill(skillId); final Skill skill = player.getKnownSkill(skillId);
if (skill != null)
{
player.removeSkill(skill);
}
} }
} }
player.store(false); 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.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.base.AcquireSkillType; 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.model.variables.PlayerVariables;
import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.ExAcquirableSkillListByClass; import org.l2jmobius.gameserver.network.serverpackets.ExAcquirableSkillListByClass;
@@ -145,9 +146,13 @@ public final class MonkOfChaos extends AbstractNpcAI
} }
takeItems(player, 57, CANCEL_FEE); 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) for (String varName : varNames)
{ {