|
@@ -26,6 +26,10 @@ import java.util.concurrent.Future;
|
|
|
import java.util.logging.Level;
|
|
|
import java.util.logging.Logger;
|
|
|
|
|
|
+import javolution.util.FastList;
|
|
|
+import javolution.util.FastMap;
|
|
|
+import javolution.util.FastSet;
|
|
|
+
|
|
|
import com.l2jserver.Config;
|
|
|
import com.l2jserver.gameserver.GameTimeController;
|
|
|
import com.l2jserver.gameserver.GeoData;
|
|
@@ -36,8 +40,8 @@ import com.l2jserver.gameserver.ai.L2AttackableAI;
|
|
|
import com.l2jserver.gameserver.ai.L2CharacterAI;
|
|
|
import com.l2jserver.gameserver.datatables.DoorTable;
|
|
|
import com.l2jserver.gameserver.datatables.MapRegionTable;
|
|
|
-import com.l2jserver.gameserver.datatables.SkillTable;
|
|
|
import com.l2jserver.gameserver.datatables.MapRegionTable.TeleportWhereType;
|
|
|
+import com.l2jserver.gameserver.datatables.SkillTable;
|
|
|
import com.l2jserver.gameserver.handler.ActionHandler;
|
|
|
import com.l2jserver.gameserver.handler.IActionHandler;
|
|
|
import com.l2jserver.gameserver.handler.ISkillHandler;
|
|
@@ -56,17 +60,17 @@ import com.l2jserver.gameserver.model.L2ItemInstance;
|
|
|
import com.l2jserver.gameserver.model.L2Object;
|
|
|
import com.l2jserver.gameserver.model.L2Party;
|
|
|
import com.l2jserver.gameserver.model.L2Skill;
|
|
|
+import com.l2jserver.gameserver.model.L2Skill.SkillTargetType;
|
|
|
import com.l2jserver.gameserver.model.L2World;
|
|
|
import com.l2jserver.gameserver.model.L2WorldRegion;
|
|
|
import com.l2jserver.gameserver.model.Location;
|
|
|
-import com.l2jserver.gameserver.model.L2Skill.SkillTargetType;
|
|
|
import com.l2jserver.gameserver.model.actor.instance.L2DoorInstance;
|
|
|
import com.l2jserver.gameserver.model.actor.instance.L2MinionInstance;
|
|
|
import com.l2jserver.gameserver.model.actor.instance.L2NpcWalkerInstance;
|
|
|
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
|
|
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance.SkillDat;
|
|
|
import com.l2jserver.gameserver.model.actor.instance.L2PetInstance;
|
|
|
import com.l2jserver.gameserver.model.actor.instance.L2RiftInvaderInstance;
|
|
|
-import com.l2jserver.gameserver.model.actor.instance.L2PcInstance.SkillDat;
|
|
|
import com.l2jserver.gameserver.model.actor.knownlist.CharKnownList;
|
|
|
import com.l2jserver.gameserver.model.actor.position.CharPosition;
|
|
|
import com.l2jserver.gameserver.model.actor.stat.CharStat;
|
|
@@ -81,6 +85,7 @@ import com.l2jserver.gameserver.network.serverpackets.Attack;
|
|
|
import com.l2jserver.gameserver.network.serverpackets.ChangeMoveType;
|
|
|
import com.l2jserver.gameserver.network.serverpackets.ChangeWaitType;
|
|
|
import com.l2jserver.gameserver.network.serverpackets.FlyToLocation;
|
|
|
+import com.l2jserver.gameserver.network.serverpackets.FlyToLocation.FlyType;
|
|
|
import com.l2jserver.gameserver.network.serverpackets.L2GameServerPacket;
|
|
|
import com.l2jserver.gameserver.network.serverpackets.MagicSkillCanceld;
|
|
|
import com.l2jserver.gameserver.network.serverpackets.MagicSkillLaunched;
|
|
@@ -93,7 +98,6 @@ import com.l2jserver.gameserver.network.serverpackets.StatusUpdate;
|
|
|
import com.l2jserver.gameserver.network.serverpackets.StopMove;
|
|
|
import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
|
|
|
import com.l2jserver.gameserver.network.serverpackets.TeleportToLocation;
|
|
|
-import com.l2jserver.gameserver.network.serverpackets.FlyToLocation.FlyType;
|
|
|
import com.l2jserver.gameserver.pathfinding.AbstractNodeLoc;
|
|
|
import com.l2jserver.gameserver.pathfinding.PathFinding;
|
|
|
import com.l2jserver.gameserver.skills.AbnormalEffect;
|
|
@@ -115,10 +119,6 @@ import com.l2jserver.gameserver.templates.skills.L2SkillType;
|
|
|
import com.l2jserver.gameserver.util.Util;
|
|
|
import com.l2jserver.util.Point3D;
|
|
|
import com.l2jserver.util.Rnd;
|
|
|
-
|
|
|
-import javolution.util.FastList;
|
|
|
-import javolution.util.FastMap;
|
|
|
-import javolution.util.FastSet;
|
|
|
/**
|
|
|
* Mother class of all character objects of the world (PC, NPC...)<BR><BR>
|
|
|
*
|
|
@@ -1875,14 +1875,10 @@ public abstract class L2Character extends L2Object
|
|
|
|
|
|
if (simultaneously)
|
|
|
{
|
|
|
- if (_skillCast2 != null)
|
|
|
+ Future<?> future = _skillCast2;
|
|
|
+ if (future != null)
|
|
|
{
|
|
|
- try
|
|
|
- {
|
|
|
- _skillCast2.cancel(true);
|
|
|
- }
|
|
|
- catch (NullPointerException e) {}
|
|
|
-
|
|
|
+ future.cancel(true);
|
|
|
_skillCast2 = null;
|
|
|
}
|
|
|
|
|
@@ -1895,14 +1891,10 @@ public abstract class L2Character extends L2Object
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- if (_skillCast != null)
|
|
|
+ Future<?> future = _skillCast;
|
|
|
+ if (future != null)
|
|
|
{
|
|
|
- try
|
|
|
- {
|
|
|
- _skillCast.cancel(true);
|
|
|
- }
|
|
|
- catch (NullPointerException e) {}
|
|
|
-
|
|
|
+ future.cancel(true);
|
|
|
_skillCast = null;
|
|
|
}
|
|
|
|
|
@@ -4064,25 +4056,17 @@ public abstract class L2Character extends L2Object
|
|
|
{
|
|
|
if (isCastingNow() || isCastingSimultaneouslyNow())
|
|
|
{
|
|
|
+ Future<?> future = _skillCast;
|
|
|
// cancels the skill hit scheduled task
|
|
|
- if (_skillCast != null)
|
|
|
+ if (future != null)
|
|
|
{
|
|
|
- try
|
|
|
- {
|
|
|
- _skillCast.cancel(true);
|
|
|
- }
|
|
|
- catch (NullPointerException e) {}
|
|
|
-
|
|
|
+ future.cancel(true);
|
|
|
_skillCast = null;
|
|
|
}
|
|
|
- if (_skillCast2 != null)
|
|
|
+ future = _skillCast2;
|
|
|
+ if (future != null)
|
|
|
{
|
|
|
- try
|
|
|
- {
|
|
|
- _skillCast2.cancel(true);
|
|
|
- }
|
|
|
- catch (NullPointerException e) {}
|
|
|
-
|
|
|
+ future.cancel(true);
|
|
|
_skillCast2 = null;
|
|
|
}
|
|
|
|