Stop auto skill use when using Hardin or Eraton.
Contributed by Enryu.
This commit is contained in:
@@ -26,14 +26,17 @@ import org.l2jmobius.gameserver.enums.CategoryType;
|
||||
import org.l2jmobius.gameserver.enums.ClassId;
|
||||
import org.l2jmobius.gameserver.enums.Race;
|
||||
import org.l2jmobius.gameserver.enums.SubclassInfoType;
|
||||
import org.l2jmobius.gameserver.model.Shortcut;
|
||||
import org.l2jmobius.gameserver.model.SkillLearn;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.item.instance.Item;
|
||||
import org.l2jmobius.gameserver.model.olympiad.Olympiad;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ExSubjobInfo;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoInvenWeight;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
|
||||
import org.l2jmobius.gameserver.taskmanager.AutoUseTaskManager;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
@@ -141,6 +144,47 @@ public class Hardin extends AbstractNpcAI
|
||||
{
|
||||
player.getAppearance().setFemale();
|
||||
}
|
||||
// Stop Auto Use Skills
|
||||
for (Shortcut shortcut : player.getAllShortCuts())
|
||||
{
|
||||
if (!shortcut.isAutoUse())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
player.removeAutoShortcut(shortcut.getSlot(), shortcut.getPage());
|
||||
|
||||
if (player.getAutoUseSettings().isAutoSkill(shortcut.getId()))
|
||||
{
|
||||
final Skill knownSkill = player.getKnownSkill(shortcut.getId());
|
||||
if (knownSkill != null)
|
||||
{
|
||||
if (knownSkill.isBad())
|
||||
{
|
||||
AutoUseTaskManager.getInstance().removeAutoSkill(player, shortcut.getId());
|
||||
}
|
||||
else
|
||||
{
|
||||
AutoUseTaskManager.getInstance().removeAutoBuff(player, shortcut.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
final Item knownItem = player.getInventory().getItemByObjectId(shortcut.getId());
|
||||
if (knownItem != null)
|
||||
{
|
||||
if (knownItem.isPotion())
|
||||
{
|
||||
AutoUseTaskManager.getInstance().removeAutoPotionItem(player, knownItem.getId());
|
||||
}
|
||||
else
|
||||
{
|
||||
AutoUseTaskManager.getInstance().removeAutoSupplyItem(player, knownItem.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Change class
|
||||
player.setClassId(newClass.getId());
|
||||
if (player.isDualClassActive())
|
||||
|
@@ -26,14 +26,17 @@ import org.l2jmobius.gameserver.enums.CategoryType;
|
||||
import org.l2jmobius.gameserver.enums.ClassId;
|
||||
import org.l2jmobius.gameserver.enums.Race;
|
||||
import org.l2jmobius.gameserver.enums.SubclassInfoType;
|
||||
import org.l2jmobius.gameserver.model.Shortcut;
|
||||
import org.l2jmobius.gameserver.model.SkillLearn;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.item.instance.Item;
|
||||
import org.l2jmobius.gameserver.model.olympiad.Olympiad;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ExSubjobInfo;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoInvenWeight;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
|
||||
import org.l2jmobius.gameserver.taskmanager.AutoUseTaskManager;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
@@ -141,6 +144,47 @@ public class Hardin extends AbstractNpcAI
|
||||
{
|
||||
player.getAppearance().setFemale();
|
||||
}
|
||||
// Stop Auto Use Skills
|
||||
for (Shortcut shortcut : player.getAllShortCuts())
|
||||
{
|
||||
if (!shortcut.isAutoUse())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
player.removeAutoShortcut(shortcut.getSlot(), shortcut.getPage());
|
||||
|
||||
if (player.getAutoUseSettings().isAutoSkill(shortcut.getId()))
|
||||
{
|
||||
final Skill knownSkill = player.getKnownSkill(shortcut.getId());
|
||||
if (knownSkill != null)
|
||||
{
|
||||
if (knownSkill.isBad())
|
||||
{
|
||||
AutoUseTaskManager.getInstance().removeAutoSkill(player, shortcut.getId());
|
||||
}
|
||||
else
|
||||
{
|
||||
AutoUseTaskManager.getInstance().removeAutoBuff(player, shortcut.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
final Item knownItem = player.getInventory().getItemByObjectId(shortcut.getId());
|
||||
if (knownItem != null)
|
||||
{
|
||||
if (knownItem.isPotion())
|
||||
{
|
||||
AutoUseTaskManager.getInstance().removeAutoPotionItem(player, knownItem.getId());
|
||||
}
|
||||
else
|
||||
{
|
||||
AutoUseTaskManager.getInstance().removeAutoSupplyItem(player, knownItem.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Change class
|
||||
player.setClassId(newClass.getId());
|
||||
if (player.isDualClassActive())
|
||||
|
@@ -26,14 +26,17 @@ import org.l2jmobius.gameserver.enums.CategoryType;
|
||||
import org.l2jmobius.gameserver.enums.ClassId;
|
||||
import org.l2jmobius.gameserver.enums.Race;
|
||||
import org.l2jmobius.gameserver.enums.SubclassInfoType;
|
||||
import org.l2jmobius.gameserver.model.Shortcut;
|
||||
import org.l2jmobius.gameserver.model.SkillLearn;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.item.instance.Item;
|
||||
import org.l2jmobius.gameserver.model.olympiad.Olympiad;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ExSubjobInfo;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoInvenWeight;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
|
||||
import org.l2jmobius.gameserver.taskmanager.AutoUseTaskManager;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
@@ -141,6 +144,47 @@ public class Hardin extends AbstractNpcAI
|
||||
{
|
||||
player.getAppearance().setFemale();
|
||||
}
|
||||
// Stop Auto Use Skills
|
||||
for (Shortcut shortcut : player.getAllShortCuts())
|
||||
{
|
||||
if (!shortcut.isAutoUse())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
player.removeAutoShortcut(shortcut.getSlot(), shortcut.getPage());
|
||||
|
||||
if (player.getAutoUseSettings().isAutoSkill(shortcut.getId()))
|
||||
{
|
||||
final Skill knownSkill = player.getKnownSkill(shortcut.getId());
|
||||
if (knownSkill != null)
|
||||
{
|
||||
if (knownSkill.isBad())
|
||||
{
|
||||
AutoUseTaskManager.getInstance().removeAutoSkill(player, shortcut.getId());
|
||||
}
|
||||
else
|
||||
{
|
||||
AutoUseTaskManager.getInstance().removeAutoBuff(player, shortcut.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
final Item knownItem = player.getInventory().getItemByObjectId(shortcut.getId());
|
||||
if (knownItem != null)
|
||||
{
|
||||
if (knownItem.isPotion())
|
||||
{
|
||||
AutoUseTaskManager.getInstance().removeAutoPotionItem(player, knownItem.getId());
|
||||
}
|
||||
else
|
||||
{
|
||||
AutoUseTaskManager.getInstance().removeAutoSupplyItem(player, knownItem.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Change class
|
||||
player.setClassId(newClass.getId());
|
||||
if (player.isDualClassActive())
|
||||
|
@@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.data.xml.SkillTreeData;
|
||||
import org.l2jmobius.gameserver.enums.ClassId;
|
||||
import org.l2jmobius.gameserver.enums.Race;
|
||||
import org.l2jmobius.gameserver.enums.SubclassInfoType;
|
||||
import org.l2jmobius.gameserver.model.Shortcut;
|
||||
import org.l2jmobius.gameserver.model.SkillLearn;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
@@ -35,12 +36,14 @@ import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent;
|
||||
import org.l2jmobius.gameserver.model.events.annotations.RegisterType;
|
||||
import org.l2jmobius.gameserver.model.events.impl.creature.npc.OnNpcMenuSelect;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.item.instance.Item;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ExSubjobInfo;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoInvenWeight;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
|
||||
import org.l2jmobius.gameserver.taskmanager.AutoUseTaskManager;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
@@ -290,6 +293,47 @@ public class Eraton extends AbstractNpcAI
|
||||
}
|
||||
takeItem(player, STONE_OF_DESTINY);
|
||||
takeItem(player, getCloakItemId(player));
|
||||
// Stop Auto Use Skills
|
||||
for (Shortcut shortcut : player.getAllShortCuts())
|
||||
{
|
||||
if (!shortcut.isAutoUse())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
player.removeAutoShortcut(shortcut.getSlot(), shortcut.getPage());
|
||||
|
||||
if (player.getAutoUseSettings().isAutoSkill(shortcut.getId()))
|
||||
{
|
||||
final Skill knownSkill = player.getKnownSkill(shortcut.getId());
|
||||
if (knownSkill != null)
|
||||
{
|
||||
if (knownSkill.isBad())
|
||||
{
|
||||
AutoUseTaskManager.getInstance().removeAutoSkill(player, shortcut.getId());
|
||||
}
|
||||
else
|
||||
{
|
||||
AutoUseTaskManager.getInstance().removeAutoBuff(player, shortcut.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
final Item knownItem = player.getInventory().getItemByObjectId(shortcut.getId());
|
||||
if (knownItem != null)
|
||||
{
|
||||
if (knownItem.isPotion())
|
||||
{
|
||||
AutoUseTaskManager.getInstance().removeAutoPotionItem(player, knownItem.getId());
|
||||
}
|
||||
else
|
||||
{
|
||||
AutoUseTaskManager.getInstance().removeAutoSupplyItem(player, knownItem.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
player.abortCast();
|
||||
player.stopAllEffectsExceptThoseThatLastThroughDeath();
|
||||
player.stopAllEffects();
|
||||
|
@@ -26,14 +26,17 @@ import org.l2jmobius.gameserver.enums.CategoryType;
|
||||
import org.l2jmobius.gameserver.enums.ClassId;
|
||||
import org.l2jmobius.gameserver.enums.Race;
|
||||
import org.l2jmobius.gameserver.enums.SubclassInfoType;
|
||||
import org.l2jmobius.gameserver.model.Shortcut;
|
||||
import org.l2jmobius.gameserver.model.SkillLearn;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.item.instance.Item;
|
||||
import org.l2jmobius.gameserver.model.olympiad.Olympiad;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ExSubjobInfo;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoInvenWeight;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
|
||||
import org.l2jmobius.gameserver.taskmanager.AutoUseTaskManager;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
@@ -141,6 +144,47 @@ public class Hardin extends AbstractNpcAI
|
||||
{
|
||||
player.getAppearance().setFemale();
|
||||
}
|
||||
// Stop Auto Use Skills
|
||||
for (Shortcut shortcut : player.getAllShortCuts())
|
||||
{
|
||||
if (!shortcut.isAutoUse())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
player.removeAutoShortcut(shortcut.getSlot(), shortcut.getPage());
|
||||
|
||||
if (player.getAutoUseSettings().isAutoSkill(shortcut.getId()))
|
||||
{
|
||||
final Skill knownSkill = player.getKnownSkill(shortcut.getId());
|
||||
if (knownSkill != null)
|
||||
{
|
||||
if (knownSkill.isBad())
|
||||
{
|
||||
AutoUseTaskManager.getInstance().removeAutoSkill(player, shortcut.getId());
|
||||
}
|
||||
else
|
||||
{
|
||||
AutoUseTaskManager.getInstance().removeAutoBuff(player, shortcut.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
final Item knownItem = player.getInventory().getItemByObjectId(shortcut.getId());
|
||||
if (knownItem != null)
|
||||
{
|
||||
if (knownItem.isPotion())
|
||||
{
|
||||
AutoUseTaskManager.getInstance().removeAutoPotionItem(player, knownItem.getId());
|
||||
}
|
||||
else
|
||||
{
|
||||
AutoUseTaskManager.getInstance().removeAutoSupplyItem(player, knownItem.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Change class
|
||||
player.setClassId(newClass.getId());
|
||||
if (player.isDualClassActive())
|
||||
|
@@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.data.xml.SkillTreeData;
|
||||
import org.l2jmobius.gameserver.enums.ClassId;
|
||||
import org.l2jmobius.gameserver.enums.Race;
|
||||
import org.l2jmobius.gameserver.enums.SubclassInfoType;
|
||||
import org.l2jmobius.gameserver.model.Shortcut;
|
||||
import org.l2jmobius.gameserver.model.SkillLearn;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
@@ -35,12 +36,14 @@ import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent;
|
||||
import org.l2jmobius.gameserver.model.events.annotations.RegisterType;
|
||||
import org.l2jmobius.gameserver.model.events.impl.creature.npc.OnNpcMenuSelect;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.item.instance.Item;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ExSubjobInfo;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoInvenWeight;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
|
||||
import org.l2jmobius.gameserver.taskmanager.AutoUseTaskManager;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
@@ -295,6 +298,47 @@ public class Eraton extends AbstractNpcAI
|
||||
}
|
||||
takeItem(player, STONE_OF_DESTINY);
|
||||
takeItem(player, getCloakItemId(player));
|
||||
// Stop Auto Use Skills
|
||||
for (Shortcut shortcut : player.getAllShortCuts())
|
||||
{
|
||||
if (!shortcut.isAutoUse())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
player.removeAutoShortcut(shortcut.getSlot(), shortcut.getPage());
|
||||
|
||||
if (player.getAutoUseSettings().isAutoSkill(shortcut.getId()))
|
||||
{
|
||||
final Skill knownSkill = player.getKnownSkill(shortcut.getId());
|
||||
if (knownSkill != null)
|
||||
{
|
||||
if (knownSkill.isBad())
|
||||
{
|
||||
AutoUseTaskManager.getInstance().removeAutoSkill(player, shortcut.getId());
|
||||
}
|
||||
else
|
||||
{
|
||||
AutoUseTaskManager.getInstance().removeAutoBuff(player, shortcut.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
final Item knownItem = player.getInventory().getItemByObjectId(shortcut.getId());
|
||||
if (knownItem != null)
|
||||
{
|
||||
if (knownItem.isPotion())
|
||||
{
|
||||
AutoUseTaskManager.getInstance().removeAutoPotionItem(player, knownItem.getId());
|
||||
}
|
||||
else
|
||||
{
|
||||
AutoUseTaskManager.getInstance().removeAutoSupplyItem(player, knownItem.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
player.abortCast();
|
||||
player.stopAllEffectsExceptThoseThatLastThroughDeath();
|
||||
player.stopAllEffects();
|
||||
|
@@ -26,14 +26,17 @@ import org.l2jmobius.gameserver.enums.CategoryType;
|
||||
import org.l2jmobius.gameserver.enums.ClassId;
|
||||
import org.l2jmobius.gameserver.enums.Race;
|
||||
import org.l2jmobius.gameserver.enums.SubclassInfoType;
|
||||
import org.l2jmobius.gameserver.model.Shortcut;
|
||||
import org.l2jmobius.gameserver.model.SkillLearn;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.item.instance.Item;
|
||||
import org.l2jmobius.gameserver.model.olympiad.Olympiad;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ExSubjobInfo;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoInvenWeight;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
|
||||
import org.l2jmobius.gameserver.taskmanager.AutoUseTaskManager;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
@@ -141,6 +144,47 @@ public class Hardin extends AbstractNpcAI
|
||||
{
|
||||
player.getAppearance().setFemale();
|
||||
}
|
||||
// Stop Auto Use Skills
|
||||
for (Shortcut shortcut : player.getAllShortCuts())
|
||||
{
|
||||
if (!shortcut.isAutoUse())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
player.removeAutoShortcut(shortcut.getSlot(), shortcut.getPage());
|
||||
|
||||
if (player.getAutoUseSettings().isAutoSkill(shortcut.getId()))
|
||||
{
|
||||
final Skill knownSkill = player.getKnownSkill(shortcut.getId());
|
||||
if (knownSkill != null)
|
||||
{
|
||||
if (knownSkill.isBad())
|
||||
{
|
||||
AutoUseTaskManager.getInstance().removeAutoSkill(player, shortcut.getId());
|
||||
}
|
||||
else
|
||||
{
|
||||
AutoUseTaskManager.getInstance().removeAutoBuff(player, shortcut.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
final Item knownItem = player.getInventory().getItemByObjectId(shortcut.getId());
|
||||
if (knownItem != null)
|
||||
{
|
||||
if (knownItem.isPotion())
|
||||
{
|
||||
AutoUseTaskManager.getInstance().removeAutoPotionItem(player, knownItem.getId());
|
||||
}
|
||||
else
|
||||
{
|
||||
AutoUseTaskManager.getInstance().removeAutoSupplyItem(player, knownItem.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Change class
|
||||
player.setClassId(newClass.getId());
|
||||
if (player.isDualClassActive())
|
||||
|
@@ -25,6 +25,7 @@ import org.l2jmobius.gameserver.data.xml.SkillTreeData;
|
||||
import org.l2jmobius.gameserver.enums.ClassId;
|
||||
import org.l2jmobius.gameserver.enums.Race;
|
||||
import org.l2jmobius.gameserver.enums.SubclassInfoType;
|
||||
import org.l2jmobius.gameserver.model.Shortcut;
|
||||
import org.l2jmobius.gameserver.model.SkillLearn;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
@@ -35,12 +36,14 @@ import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent;
|
||||
import org.l2jmobius.gameserver.model.events.annotations.RegisterType;
|
||||
import org.l2jmobius.gameserver.model.events.impl.creature.npc.OnNpcMenuSelect;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.item.instance.Item;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ExSubjobInfo;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ExUserInfoInvenWeight;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
|
||||
import org.l2jmobius.gameserver.taskmanager.AutoUseTaskManager;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
@@ -295,6 +298,47 @@ public class Eraton extends AbstractNpcAI
|
||||
}
|
||||
takeItem(player, STONE_OF_DESTINY);
|
||||
takeItem(player, getCloakItemId(player));
|
||||
// Stop Auto Use Skills
|
||||
for (Shortcut shortcut : player.getAllShortCuts())
|
||||
{
|
||||
if (!shortcut.isAutoUse())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
player.removeAutoShortcut(shortcut.getSlot(), shortcut.getPage());
|
||||
|
||||
if (player.getAutoUseSettings().isAutoSkill(shortcut.getId()))
|
||||
{
|
||||
final Skill knownSkill = player.getKnownSkill(shortcut.getId());
|
||||
if (knownSkill != null)
|
||||
{
|
||||
if (knownSkill.isBad())
|
||||
{
|
||||
AutoUseTaskManager.getInstance().removeAutoSkill(player, shortcut.getId());
|
||||
}
|
||||
else
|
||||
{
|
||||
AutoUseTaskManager.getInstance().removeAutoBuff(player, shortcut.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
final Item knownItem = player.getInventory().getItemByObjectId(shortcut.getId());
|
||||
if (knownItem != null)
|
||||
{
|
||||
if (knownItem.isPotion())
|
||||
{
|
||||
AutoUseTaskManager.getInstance().removeAutoPotionItem(player, knownItem.getId());
|
||||
}
|
||||
else
|
||||
{
|
||||
AutoUseTaskManager.getInstance().removeAutoSupplyItem(player, knownItem.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
player.abortCast();
|
||||
player.stopAllEffectsExceptThoseThatLastThroughDeath();
|
||||
player.stopAllEffects();
|
||||
|
Reference in New Issue
Block a user