diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Hide.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Hide.java index d543911c3604511921bcfd097afb62bcc470ed1c..cad1801c2d7ce8d3fb3395703f7083817a7a04d4 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Hide.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Hide.java @@ -20,6 +20,7 @@ package handlers.effecthandlers; import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.model.StatsSet; +import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.conditions.Condition; import com.l2jserver.gameserver.model.effects.AbstractEffect; @@ -55,13 +56,29 @@ public final class Hide extends AbstractEffect if (info.getEffected().isPlayer()) { L2PcInstance activeChar = info.getEffected().getActingPlayer(); - - activeChar.setTarget(null); - activeChar.abortAttack(); - activeChar.abortCast(); - activeChar.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); activeChar.getAppearance().setInvisible(); + if ((activeChar.getAI().getNextIntention() != null) && (activeChar.getAI().getNextIntention().getCtrlIntention() == CtrlIntention.AI_INTENTION_ATTACK)) + { + activeChar.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); + } + + for (L2Character target : activeChar.getKnownList().getKnownCharacters()) + { + try + { + if (target.getTarget() == activeChar) + { + target.setTarget(null); + target.abortAttack(); + target.abortCast(); + target.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); + } + } + catch (NullPointerException e) + { + } + } } } } \ No newline at end of file