|
@@ -19,7 +19,6 @@
|
|
|
package handlers.targethandlers;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
-import java.util.Collection;
|
|
|
import java.util.List;
|
|
|
|
|
|
import com.l2jserver.gameserver.handler.ITargetTypeHandler;
|
|
@@ -31,6 +30,7 @@ import com.l2jserver.gameserver.model.skills.targets.L2TargetType;
|
|
|
import com.l2jserver.gameserver.model.zone.ZoneId;
|
|
|
|
|
|
/**
|
|
|
+ * Aura target handler.
|
|
|
* @author UnAfraid
|
|
|
*/
|
|
|
public class Aura implements ITargetTypeHandler
|
|
@@ -38,10 +38,9 @@ public class Aura implements ITargetTypeHandler
|
|
|
@Override
|
|
|
public L2Object[] getTargetList(Skill skill, L2Character activeChar, boolean onlyFirst, L2Character target)
|
|
|
{
|
|
|
- List<L2Character> targetList = new ArrayList<>();
|
|
|
+ final List<L2Character> targetList = new ArrayList<>();
|
|
|
final boolean srcInArena = (activeChar.isInsideZone(ZoneId.PVP) && !activeChar.isInsideZone(ZoneId.SIEGE));
|
|
|
- final Collection<L2Character> objs = activeChar.getKnownList().getKnownCharactersInRadius(skill.getAffectRange());
|
|
|
- for (L2Character obj : objs)
|
|
|
+ for (L2Character obj : activeChar.getKnownList().getKnownCharactersInRadius(skill.getAffectRange()))
|
|
|
{
|
|
|
if (obj.isDoor() || obj.isAttackable() || obj.isPlayable())
|
|
|
{
|
|
@@ -60,6 +59,11 @@ public class Aura implements ITargetTypeHandler
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
+ if (activeChar.isPlayable() && obj.isAttackable() && !skill.isBad())
|
|
|
+ {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
if (onlyFirst)
|
|
|
{
|
|
|
return new L2Character[]
|