diff --git a/dist/game/data/scripts/handlers/targethandlers/EnemySummon.java b/dist/game/data/scripts/handlers/targethandlers/EnemySummon.java index 28e25f809a23ccb7f12568dc626b1dcf15348ff2..12bade38c0374a3cbcf87bae069d265205974a00 100644 --- a/dist/game/data/scripts/handlers/targethandlers/EnemySummon.java +++ b/dist/game/data/scripts/handlers/targethandlers/EnemySummon.java @@ -27,6 +27,7 @@ import com.l2jserver.gameserver.model.skills.targets.L2TargetType; import com.l2jserver.gameserver.model.zone.ZoneId; /** + * Enemy Summon target handler implementation. * @author UnAfraid */ public class EnemySummon implements ITargetTypeHandler @@ -34,10 +35,13 @@ public class EnemySummon implements ITargetTypeHandler @Override public L2Object[] getTargetList(Skill skill, L2Character activeChar, boolean onlyFirst, L2Character target) { - if (target.isSummon()) + if ((target != null) && target.isSummon()) { - L2Summon targetSummon = (L2Summon) target; - if ((activeChar.isPlayer() && (activeChar.getSummon() != targetSummon) && !targetSummon.isDead() && ((targetSummon.getOwner().getPvpFlag() != 0) || (targetSummon.getOwner().getKarma() > 0))) || (targetSummon.getOwner().isInsideZone(ZoneId.PVP) && activeChar.getActingPlayer().isInsideZone(ZoneId.PVP)) || (targetSummon.getOwner().isInDuel() && activeChar.getActingPlayer().isInDuel() && (targetSummon.getOwner().getDuelId() == activeChar.getActingPlayer().getDuelId()))) + final L2Summon targetSummon = (L2Summon) target; + if ((activeChar.isPlayer() && (activeChar.getSummon() != targetSummon) && // + !targetSummon.isDead() && ((targetSummon.getOwner().getPvpFlag() != 0) || (targetSummon.getOwner().getKarma() > 0))) || // + (targetSummon.getOwner().isInsideZone(ZoneId.PVP) && activeChar.getActingPlayer().isInsideZone(ZoneId.PVP)) || // + (targetSummon.getOwner().isInDuel() && activeChar.getActingPlayer().isInDuel() && (targetSummon.getOwner().getDuelId() == activeChar.getActingPlayer().getDuelId()))) { return new L2Character[] {