Prevent converting skill targets to arrays.

This commit is contained in:
MobiusDevelopment
2022-12-30 22:59:01 +00:00
parent 15e8e6842e
commit e28b5bce65
226 changed files with 1286 additions and 1486 deletions

View File

@@ -17,6 +17,7 @@
package ai.areas.BeastFarm;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@@ -512,11 +513,11 @@ public class FeedableBeasts extends AbstractNpcAI
}
@Override
public String onSkillSee(Npc npc, Player caster, Skill skill, WorldObject[] targets, boolean isSummon)
public String onSkillSee(Npc npc, Player caster, Skill skill, List<WorldObject> targets, boolean isSummon)
{
// this behavior is only run when the target of skill is the passed npc (chest)
// i.e. when the player is attempting to open the chest using a skill
if (!CommonUtil.contains(targets, npc))
if (!targets.contains(npc))
{
return super.onSkillSee(npc, caster, skill, targets, isSummon);
}

View File

@@ -16,7 +16,8 @@
*/
package ai.areas.MonasteryOfSilence;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import org.l2jmobius.commons.util.CommonUtil;
import org.l2jmobius.commons.util.Rnd;
@@ -103,11 +104,11 @@ public class MonasteryOfSilence extends AbstractNpcAI
}
@Override
public String onSkillSee(Npc npc, Player caster, Skill skill, WorldObject[] targets, boolean isSummon)
public String onSkillSee(Npc npc, Player caster, Skill skill, List<WorldObject> targets, boolean isSummon)
{
if (CommonUtil.contains(mobs2, npc.getId()))
{
if (skill.hasEffectType(EffectType.AGGRESSION) && (targets.length != 0))
if (skill.hasEffectType(EffectType.AGGRESSION) && !targets.isEmpty())
{
for (WorldObject obj : targets)
{
@@ -129,7 +130,7 @@ public class MonasteryOfSilence extends AbstractNpcAI
{
if (CommonUtil.contains(mobs1, npc.getId()))
{
final ArrayList<Playable> result = new ArrayList<>();
final List<Playable> result = new LinkedList<>();
for (WorldObject obj : World.getInstance().getVisibleObjects(npc, WorldObject.class))
{
if ((obj instanceof Player) || (obj instanceof Pet))
@@ -140,12 +141,12 @@ public class MonasteryOfSilence extends AbstractNpcAI
}
}
}
if (!result.isEmpty() && (result.size() != 0))
if (!result.isEmpty())
{
final Object[] characters = result.toArray();
for (Object obj : characters)
for (Playable obj : result)
{
final Playable target = (Playable) (obj instanceof Player ? obj : ((Summon) obj).getOwner());
final Playable target = obj instanceof Player ? obj : ((Summon) obj).getOwner();
if ((target.getActiveWeaponInstance() != null) && !npc.isInCombat() && (npc.getTarget() == null))
{
npc.setTarget(target);

View File

@@ -17,6 +17,7 @@
package ai.bosses.Orfen;
import java.util.Collection;
import java.util.List;
import java.util.concurrent.ConcurrentHashMap;
import org.l2jmobius.Config;
@@ -235,7 +236,7 @@ public class Orfen extends AbstractNpcAI
}
@Override
public String onSkillSee(Npc npc, Player caster, Skill skill, WorldObject[] targets, boolean isSummon)
public String onSkillSee(Npc npc, Player caster, Skill skill, List<WorldObject> targets, boolean isSummon)
{
if (npc.getId() == ORFEN)
{

View File

@@ -16,6 +16,8 @@
*/
package ai.others;
import java.util.List;
import org.l2jmobius.gameserver.ai.CtrlIntention;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
@@ -60,7 +62,7 @@ public class Chests extends AbstractNpcAI
}
@Override
public String onSkillSee(Npc npc, Player caster, Skill skill, WorldObject[] targets, boolean isSummon)
public String onSkillSee(Npc npc, Player caster, Skill skill, List<WorldObject> targets, boolean isSummon)
{
if (npc instanceof Chest)
{

View File

@@ -16,6 +16,7 @@
*/
package custom.SellBuff;
import java.util.Collections;
import java.util.StringTokenizer;
import org.l2jmobius.Config;
@@ -407,7 +408,7 @@ public class SellBuff implements IVoicedCommandHandler, IBypassHandler
AbstractScript.takeItems(player, Config.SELLBUFF_PAYMENT_ID, holder.getPrice());
AbstractScript.giveItems(seller, Config.SELLBUFF_PAYMENT_ID, holder.getPrice());
seller.reduceCurrentMp(skillToBuy.getMpConsume() * Config.SELLBUFF_MP_MULTIPLER);
skillToBuy.activateSkill(seller, player);
skillToBuy.activateSkill(seller, Collections.singletonList(player));
}
else
{

View File

@@ -16,7 +16,6 @@
*/
package handlers.effecthandlers;
import java.util.ArrayList;
import java.util.List;
import org.l2jmobius.commons.util.Rnd;
@@ -78,11 +77,10 @@ public class Confuse extends AbstractEffect
{
info.getEffected().getAI().notifyEvent(CtrlEvent.EVT_CONFUSED);
final List<Creature> targetList = new ArrayList<>();
// Getting the possible targets
World.getInstance().forEachVisibleObject(info.getEffected(), Creature.class, targetList::add);
final List<Creature> targetList = World.getInstance().getVisibleObjects(info.getEffected(), Creature.class);
// if there is no target, exit function
// If there is no target, exit function
if (!targetList.isEmpty())
{
// Choosing randomly a new target

View File

@@ -140,8 +140,7 @@ public class TriggerSkillByAttack extends AbstractEffect
}
final Skill triggerSkill = _skill.getSkill();
final WorldObject[] targets = targetHandler.getTargetList(triggerSkill, event.getAttacker(), false, event.getTarget());
for (WorldObject triggerTarget : targets)
for (WorldObject triggerTarget : targetHandler.getTargetList(triggerSkill, event.getAttacker(), false, event.getTarget()))
{
if ((triggerTarget == null) || !triggerTarget.isCreature())
{

View File

@@ -78,8 +78,7 @@ public class TriggerSkillByAvoid extends AbstractEffect
}
final Skill triggerSkill = _skill.getSkill();
final WorldObject[] targets = targetHandler.getTargetList(triggerSkill, event.getTarget(), false, event.getAttacker());
for (WorldObject triggerTarget : targets)
for (WorldObject triggerTarget : targetHandler.getTargetList(triggerSkill, event.getTarget(), false, event.getAttacker()))
{
if ((triggerTarget == null) || !triggerTarget.isCreature())
{

View File

@@ -95,8 +95,7 @@ public class TriggerSkillByDamage extends AbstractEffect
}
final Skill triggerSkill = _skill.getSkill();
final WorldObject[] targets = targetHandler.getTargetList(triggerSkill, event.getTarget(), false, event.getAttacker());
for (WorldObject triggerTarget : targets)
for (WorldObject triggerTarget : targetHandler.getTargetList(triggerSkill, event.getTarget(), false, event.getAttacker()))
{
if ((triggerTarget == null) || !triggerTarget.isCreature())
{

View File

@@ -85,8 +85,7 @@ public class TriggerSkillBySkill extends AbstractEffect
}
final Skill triggerSkill = _skill.getSkill();
final WorldObject[] targets = targetHandler.getTargetList(triggerSkill, event.getCaster(), false, event.getTarget());
for (WorldObject triggerTarget : targets)
for (WorldObject triggerTarget : targetHandler.getTargetList(triggerSkill, event.getCaster(), false, event.getTarget()))
{
if ((triggerTarget == null) || !triggerTarget.isCreature())
{

View File

@@ -16,7 +16,7 @@
*/
package handlers.targethandlers;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
@@ -35,13 +35,13 @@ import org.l2jmobius.gameserver.util.Util;
public class Area implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
final List<Creature> targetList = new ArrayList<>();
final List<WorldObject> targetList = new LinkedList<>();
if ((target == null) || (((target == creature) || target.isAlikeDead()) && (skill.getCastRange() >= 0)) || (!(target.isAttackable() || target.isPlayable())))
{
creature.sendPacket(SystemMessageId.THAT_IS_AN_INCORRECT_TARGET);
return EMPTY_TARGET_LIST;
return targetList;
}
final Creature origin;
@@ -50,15 +50,13 @@ public class Area implements ITargetTypeHandler
{
if (!Skill.checkForAreaOffensiveSkills(creature, target, skill, srcInArena))
{
return EMPTY_TARGET_LIST;
return targetList;
}
if (onlyFirst)
{
return new Creature[]
{
target
};
targetList.add(target);
return targetList;
}
origin = target;
@@ -93,12 +91,7 @@ public class Area implements ITargetTypeHandler
}
});
if (targetList.isEmpty())
{
return EMPTY_TARGET_LIST;
}
return targetList.toArray(new Creature[targetList.size()]);
return targetList;
}
@Override

View File

@@ -16,7 +16,7 @@
*/
package handlers.targethandlers;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
@@ -35,25 +35,22 @@ import org.l2jmobius.gameserver.util.Util;
public class AreaCorpseMob implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
final List<WorldObject> targetList = new LinkedList<>();
if ((target == null) || !target.isAttackable() || !target.isDead())
{
creature.sendPacket(SystemMessageId.THAT_IS_AN_INCORRECT_TARGET);
return EMPTY_TARGET_LIST;
return targetList;
}
targetList.add(target);
if (onlyFirst)
{
return new Creature[]
{
target
};
return targetList;
}
final List<Creature> targetList = new ArrayList<>();
targetList.add(target);
final boolean srcInArena = creature.isInsideZone(ZoneId.PVP) && !creature.isInsideZone(ZoneId.SIEGE);
World.getInstance().forEachVisibleObject(creature, Creature.class, obj ->
{
@@ -70,11 +67,7 @@ public class AreaCorpseMob implements ITargetTypeHandler
targetList.add(obj);
});
if (targetList.isEmpty())
{
return EMPTY_TARGET_LIST;
}
return targetList.toArray(new Creature[targetList.size()]);
return targetList;
}
@Override

View File

@@ -16,8 +16,8 @@
*/
package handlers.targethandlers;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.LinkedList;
import java.util.List;
import org.l2jmobius.gameserver.geoengine.GeoEngine;
@@ -38,31 +38,28 @@ import org.l2jmobius.gameserver.network.SystemMessageId;
public class AreaFriendly implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
final List<Creature> targetList = new ArrayList<>();
final List<WorldObject> targetList = new LinkedList<>();
final Player player = creature.getActingPlayer();
if (!checkTarget(player, target) && (skill.getCastRange() >= 0))
{
player.sendPacket(SystemMessageId.THAT_IS_AN_INCORRECT_TARGET);
return EMPTY_TARGET_LIST;
return targetList;
}
if (onlyFirst)
{
return new Creature[]
{
target
};
targetList.add(target);
return targetList;
}
if (player.getActingPlayer().isInOlympiadMode())
{
return new Creature[]
{
player
};
targetList.add(player);
return targetList;
}
targetList.add(target); // Add target to target list
if (target != null)
{
@@ -83,11 +80,7 @@ public class AreaFriendly implements ITargetTypeHandler
});
}
if (targetList.isEmpty())
{
return EMPTY_TARGET_LIST;
}
return targetList.toArray(new Creature[targetList.size()]);
return targetList;
}
private boolean checkTarget(Player player, Creature target)

View File

@@ -16,7 +16,7 @@
*/
package handlers.targethandlers;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
@@ -33,21 +33,19 @@ import org.l2jmobius.gameserver.model.zone.ZoneId;
public class AreaSummon implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
final List<Creature> targetList = new ArrayList<>();
final List<WorldObject> targetList = new LinkedList<>();
final Creature targetCreature = creature.getSummon();
if ((targetCreature == null) || !targetCreature.isServitor() || targetCreature.isDead())
{
return EMPTY_TARGET_LIST;
return targetList;
}
if (onlyFirst)
{
return new Creature[]
{
targetCreature
};
targetList.add(targetCreature);
return targetList;
}
final boolean srcInArena = (creature.isInsideZone(ZoneId.PVP) && !creature.isInsideZone(ZoneId.SIEGE));
@@ -77,12 +75,7 @@ public class AreaSummon implements ITargetTypeHandler
targetList.add(obj);
});
if (targetList.isEmpty())
{
return EMPTY_TARGET_LIST;
}
return targetList.toArray(new Creature[targetList.size()]);
return targetList;
}
@Override

View File

@@ -16,7 +16,7 @@
*/
package handlers.targethandlers;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
@@ -35,9 +35,9 @@ import org.l2jmobius.gameserver.model.zone.ZoneId;
public class Aura implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
final List<Creature> targetList = new ArrayList<>();
final List<WorldObject> targetList = new LinkedList<>();
final boolean srcInArena = (creature.isInsideZone(ZoneId.PVP) && !creature.isInsideZone(ZoneId.SIEGE));
for (Creature obj : World.getInstance().getVisibleObjectsInRange(creature, Creature.class, skill.getAffectRange()))
{
@@ -63,18 +63,16 @@ public class Aura implements ITargetTypeHandler
continue;
}
targetList.add(obj);
if (onlyFirst)
{
return new Creature[]
{
obj
};
return targetList;
}
targetList.add(obj);
}
}
return targetList.toArray(new Creature[targetList.size()]);
return targetList;
}
@Override

View File

@@ -16,7 +16,7 @@
*/
package handlers.targethandlers;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
@@ -33,32 +33,29 @@ import org.l2jmobius.gameserver.model.skill.targets.TargetType;
public class AuraCorpseMob implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
final List<Creature> targetList = new ArrayList<>();
final List<WorldObject> targetList = new LinkedList<>();
// Go through the Creature _knownList
final int maxTargets = skill.getAffectLimit();
for (Attackable obj : World.getInstance().getVisibleObjectsInRange(creature, Attackable.class, skill.getAffectRange()))
{
if (obj.isDead())
{
targetList.add(obj);
if (onlyFirst)
{
return new Creature[]
{
obj
};
return targetList;
}
if ((maxTargets > 0) && (targetList.size() >= maxTargets))
{
break;
}
targetList.add(obj);
}
}
return targetList.toArray(new Creature[targetList.size()]);
return targetList;
}
@Override

View File

@@ -16,7 +16,7 @@
*/
package handlers.targethandlers;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import org.l2jmobius.gameserver.geoengine.GeoEngine;
@@ -37,9 +37,9 @@ import org.l2jmobius.gameserver.model.zone.ZoneId;
public class AuraFriendly implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
final List<Creature> targetList = new ArrayList<>();
final List<WorldObject> targetList = new LinkedList<>();
final Player player = creature.getActingPlayer();
final int maxTargets = skill.getAffectLimit();
World.getInstance().forEachVisibleObject(player, Creature.class, obj ->
@@ -57,12 +57,7 @@ public class AuraFriendly implements ITargetTypeHandler
targetList.add(obj);
});
if (targetList.isEmpty())
{
return EMPTY_TARGET_LIST;
}
return targetList.toArray(new Creature[targetList.size()]);
return targetList;
}
private boolean checkTarget(Player player, Creature target)

View File

@@ -16,7 +16,7 @@
*/
package handlers.targethandlers;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
@@ -35,13 +35,13 @@ import org.l2jmobius.gameserver.util.Util;
public class BehindArea implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
final List<Creature> targetList = new ArrayList<>();
final List<WorldObject> targetList = new LinkedList<>();
if ((target == null) || (((target == creature) || target.isAlikeDead()) && (skill.getCastRange() >= 0)) || (!(target.isAttackable() || target.isPlayable())))
{
creature.sendPacket(SystemMessageId.THAT_IS_AN_INCORRECT_TARGET);
return EMPTY_TARGET_LIST;
return targetList;
}
final Creature origin;
@@ -50,19 +50,16 @@ public class BehindArea implements ITargetTypeHandler
{
if (!Skill.checkForAreaOffensiveSkills(creature, target, skill, srcInArena))
{
return EMPTY_TARGET_LIST;
}
if (onlyFirst)
{
return new Creature[]
{
target
};
return targetList;
}
origin = target;
targetList.add(origin); // Add target to target list
if (onlyFirst)
{
return targetList;
}
}
else
{
@@ -103,12 +100,7 @@ public class BehindArea implements ITargetTypeHandler
}
});
if (targetList.isEmpty())
{
return EMPTY_TARGET_LIST;
}
return targetList.toArray(new Creature[targetList.size()]);
return targetList;
}
@Override

View File

@@ -16,7 +16,7 @@
*/
package handlers.targethandlers;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
@@ -33,9 +33,9 @@ import org.l2jmobius.gameserver.model.zone.ZoneId;
public class BehindAura implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
final List<Creature> targetList = new ArrayList<>();
final List<WorldObject> targetList = new LinkedList<>();
final boolean srcInArena = (creature.isInsideZone(ZoneId.PVP) && !creature.isInsideZone(ZoneId.SIEGE));
final int maxTargets = skill.getAffectLimit();
for (Creature obj : World.getInstance().getVisibleObjectsInRange(creature, Creature.class, skill.getAffectRange()))
@@ -52,23 +52,20 @@ public class BehindAura implements ITargetTypeHandler
continue;
}
targetList.add(obj);
if (onlyFirst)
{
return new Creature[]
{
obj
};
return targetList;
}
if ((maxTargets > 0) && (targetList.size() >= maxTargets))
{
break;
}
targetList.add(obj);
}
}
return targetList.toArray(new Creature[targetList.size()]);
return targetList;
}
@Override

View File

@@ -16,7 +16,7 @@
*/
package handlers.targethandlers;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
@@ -35,31 +35,27 @@ import org.l2jmobius.gameserver.model.skill.targets.TargetType;
public class Clan implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
final List<Creature> targetList = new ArrayList<>();
final List<WorldObject> targetList = new LinkedList<>();
if (creature.isPlayable())
{
final Player player = creature.getActingPlayer();
if (player == null)
{
return EMPTY_TARGET_LIST;
return targetList;
}
if (player.isInOlympiadMode())
{
return new Creature[]
{
player
};
targetList.add(player);
return targetList;
}
if (onlyFirst)
{
return new Creature[]
{
player
};
targetList.add(player);
return targetList;
}
targetList.add(player);
@@ -115,32 +111,25 @@ public class Clan implements ITargetTypeHandler
continue;
}
targetList.add(obj);
if (onlyFirst)
{
return new Creature[]
{
obj
};
return targetList;
}
targetList.add(obj);
}
}
}
else if (creature.isNpc())
{
// for buff purposes, returns friendly mobs nearby and mob itself
targetList.add(creature);
final Npc npc = (Npc) creature;
if ((npc.getTemplate().getClans() == null) || npc.getTemplate().getClans().isEmpty())
{
return new Creature[]
{
creature
};
return targetList;
}
targetList.add(creature);
for (Npc newTarget : World.getInstance().getVisibleObjectsInRange(creature, Npc.class, skill.getCastRange()))
{
if (newTarget.isNpc() && npc.isInMyClan(newTarget))
@@ -156,7 +145,7 @@ public class Clan implements ITargetTypeHandler
}
}
return targetList.toArray(new Creature[targetList.size()]);
return targetList;
}
@Override

View File

@@ -16,7 +16,7 @@
*/
package handlers.targethandlers;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
@@ -33,20 +33,19 @@ import org.l2jmobius.gameserver.model.skill.targets.TargetType;
public class ClanMember implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
final List<Creature> targetList = new ArrayList<>();
final List<WorldObject> targetList = new LinkedList<>();
if (creature.isNpc())
{
// for buff purposes, returns friendly mobs nearby and mob itself
final Npc npc = (Npc) creature;
if ((npc.getTemplate().getClans() == null) || npc.getTemplate().getClans().isEmpty())
{
return new Creature[]
{
creature
};
targetList.add(creature);
return targetList;
}
for (Npc newTarget : World.getInstance().getVisibleObjectsInRange(creature, Npc.class, skill.getCastRange()))
{
if (newTarget.isNpc() && npc.isInMyClan(newTarget))
@@ -55,16 +54,14 @@ public class ClanMember implements ITargetTypeHandler
break;
}
}
if (targetList.isEmpty())
{
targetList.add(npc);
}
}
else
{
return EMPTY_TARGET_LIST;
}
return targetList.toArray(new Creature[targetList.size()]);
return targetList;
}
@Override

View File

@@ -16,7 +16,7 @@
*/
package handlers.targethandlers;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
@@ -33,13 +33,13 @@ import org.l2jmobius.gameserver.model.skill.targets.TargetType;
public class CommandChannel implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
final List<Creature> targetList = new ArrayList<>();
final List<WorldObject> targetList = new LinkedList<>();
final Player player = creature.getActingPlayer();
if (player == null)
{
return EMPTY_TARGET_LIST;
return targetList;
}
targetList.add(player);
@@ -55,7 +55,7 @@ public class CommandChannel implements ITargetTypeHandler
// if player in not in party
if (party == null)
{
return targetList.toArray(new Creature[targetList.size()]);
return targetList;
}
// Get all visible objects in a spherical area near the Creature
@@ -78,7 +78,7 @@ public class CommandChannel implements ITargetTypeHandler
}
}
return targetList.toArray(new Creature[targetList.size()]);
return targetList;
}
@Override

View File

@@ -37,7 +37,7 @@ import org.l2jmobius.gameserver.model.zone.ZoneId;
public class CorpseClan implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
final List<WorldObject> targetList = new ArrayList<>();
if (creature.isPlayable())
@@ -45,15 +45,13 @@ public class CorpseClan implements ITargetTypeHandler
final Player player = creature.getActingPlayer();
if (player == null)
{
return EMPTY_TARGET_LIST;
return targetList;
}
if (player.isInOlympiadMode())
{
return new WorldObject[]
{
player
};
targetList.add(player);
return targetList;
}
final Clan clan = player.getClan();
@@ -103,37 +101,30 @@ public class CorpseClan implements ITargetTypeHandler
continue;
}
targetList.add(obj);
if (onlyFirst)
{
return new WorldObject[]
{
obj
};
return targetList;
}
if ((maxTargets > 0) && (targetList.size() >= maxTargets))
{
break;
}
targetList.add(obj);
}
}
}
else if (creature.isNpc())
{
// for buff purposes, returns friendly mobs nearby and mob itself
targetList.add(creature);
final Npc npc = (Npc) creature;
if ((npc.getTemplate().getClans() == null) || npc.getTemplate().getClans().isEmpty())
{
return new WorldObject[]
{
creature
};
return targetList;
}
targetList.add(creature);
for (Npc newTarget : World.getInstance().getVisibleObjectsInRange(creature, Npc.class, skill.getCastRange()))
{
if (npc.isInMyClan(newTarget))
@@ -148,7 +139,7 @@ public class CorpseClan implements ITargetTypeHandler
}
}
return targetList.toArray(new WorldObject[targetList.size()]);
return targetList;
}
@Override

View File

@@ -16,6 +16,9 @@
*/
package handlers.targethandlers;
import java.util.Collections;
import java.util.List;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
import org.l2jmobius.gameserver.model.WorldObject;
@@ -33,28 +36,25 @@ import org.l2jmobius.gameserver.network.SystemMessageId;
public class CorpseMob implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
if ((target == null) || !target.isAttackable() || !target.isDead())
{
creature.sendPacket(SystemMessageId.THAT_IS_AN_INCORRECT_TARGET);
return EMPTY_TARGET_LIST;
return Collections.emptyList();
}
if (skill.hasEffectType(EffectType.SUMMON) && target.isServitor() && (target.getActingPlayer() != null) && (target.getActingPlayer().getObjectId() == creature.getObjectId()))
{
return EMPTY_TARGET_LIST;
return Collections.emptyList();
}
if (skill.hasEffectType(EffectType.HP_DRAIN) && ((Attackable) target).isOldCorpse(creature.getActingPlayer(), Config.CORPSE_CONSUME_SKILL_ALLOWED_TIME_BEFORE_DECAY, true))
{
return EMPTY_TARGET_LIST;
return Collections.emptyList();
}
return new Creature[]
{
target
};
return Collections.singletonList(target);
}
@Override

View File

@@ -16,6 +16,9 @@
*/
package handlers.targethandlers;
import java.util.Collections;
import java.util.List;
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
@@ -30,20 +33,18 @@ import org.l2jmobius.gameserver.model.zone.ZoneId;
public class EnemySummon implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
if ((target != null) && target.isSummon())
{
final Summon targetSummon = (Summon) target;
if ((creature.isPlayer() && (creature.getSummon() != targetSummon) && !targetSummon.isDead() && ((targetSummon.getOwner().getPvpFlag() != 0) || (targetSummon.getOwner().getKarma() > 0))) || (targetSummon.getOwner().isInsideZone(ZoneId.PVP) && creature.getActingPlayer().isInsideZone(ZoneId.PVP)) || (targetSummon.getOwner().isInDuel() && creature.getActingPlayer().isInDuel() && (targetSummon.getOwner().getDuelId() == creature.getActingPlayer().getDuelId())))
{
return new Creature[]
{
targetSummon
};
return Collections.singletonList(targetSummon);
}
}
return EMPTY_TARGET_LIST;
return Collections.emptyList();
}
@Override

View File

@@ -16,6 +16,9 @@
*/
package handlers.targethandlers;
import java.util.Collections;
import java.util.List;
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
@@ -28,16 +31,14 @@ import org.l2jmobius.gameserver.model.skill.targets.TargetType;
public class FlagPole implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
if (!creature.isPlayer())
{
return EMPTY_TARGET_LIST;
return Collections.emptyList();
}
return new WorldObject[]
{
target
};
return Collections.singletonList(target);
}
@Override

View File

@@ -16,7 +16,7 @@
*/
package handlers.targethandlers;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
@@ -35,13 +35,13 @@ import org.l2jmobius.gameserver.util.Util;
public class FrontArea implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
final List<Creature> targetList = new ArrayList<>();
final List<WorldObject> targetList = new LinkedList<>();
if ((target == null) || (((target == creature) || target.isAlikeDead()) && (skill.getCastRange() >= 0)) || (!(target.isAttackable() || target.isPlayable())))
{
creature.sendPacket(SystemMessageId.THAT_IS_AN_INCORRECT_TARGET);
return EMPTY_TARGET_LIST;
return targetList;
}
final Creature origin;
@@ -50,19 +50,16 @@ public class FrontArea implements ITargetTypeHandler
{
if (!Skill.checkForAreaOffensiveSkills(creature, target, skill, srcInArena))
{
return EMPTY_TARGET_LIST;
}
if (onlyFirst)
{
return new Creature[]
{
target
};
return targetList;
}
origin = target;
targetList.add(origin); // Add target to target list
if (onlyFirst)
{
return targetList;
}
}
else
{
@@ -109,12 +106,7 @@ public class FrontArea implements ITargetTypeHandler
}
});
if (targetList.isEmpty())
{
return EMPTY_TARGET_LIST;
}
return targetList.toArray(new Creature[targetList.size()]);
return targetList;
}
@Override

View File

@@ -16,7 +16,7 @@
*/
package handlers.targethandlers;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
@@ -33,9 +33,9 @@ import org.l2jmobius.gameserver.model.zone.ZoneId;
public class FrontAura implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
final List<Creature> targetList = new ArrayList<>();
final List<WorldObject> targetList = new LinkedList<>();
final boolean srcInArena = (creature.isInsideZone(ZoneId.PVP) && !creature.isInsideZone(ZoneId.SIEGE));
final int maxTargets = skill.getAffectLimit();
for (Creature obj : World.getInstance().getVisibleObjectsInRange(creature, Creature.class, skill.getAffectRange()))
@@ -52,23 +52,21 @@ public class FrontAura implements ITargetTypeHandler
continue;
}
targetList.add(obj);
if (onlyFirst)
{
return new Creature[]
{
obj
};
return targetList;
}
if ((maxTargets > 0) && (targetList.size() >= maxTargets))
{
break;
}
targetList.add(obj);
}
}
return targetList.toArray(new Creature[targetList.size()]);
return targetList;
}
@Override

View File

@@ -16,7 +16,7 @@
*/
package handlers.targethandlers;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
@@ -35,9 +35,9 @@ import org.l2jmobius.gameserver.model.zone.ZoneId;
public class Ground implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
final List<Creature> targetList = new ArrayList<>();
final List<WorldObject> targetList = new LinkedList<>();
final Player player = (Player) creature;
final int maxTargets = skill.getAffectLimit();
final boolean srcInArena = (creature.isInsideZone(ZoneId.PVP) && !creature.isInsideZone(ZoneId.SIEGE));
@@ -55,11 +55,12 @@ public class Ground implements ITargetTypeHandler
return;
}
targetList.add(character);
if ((maxTargets > 0) && (targetList.size() >= maxTargets))
{
return;
}
targetList.add(character);
}
});
@@ -67,7 +68,8 @@ public class Ground implements ITargetTypeHandler
{
targetList.add(creature);
}
return targetList.isEmpty() ? EMPTY_TARGET_LIST : targetList.toArray(new Creature[targetList.size()]);
return targetList;
}
@Override

View File

@@ -16,6 +16,9 @@
*/
package handlers.targethandlers;
import java.util.Collections;
import java.util.List;
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
@@ -28,16 +31,14 @@ import org.l2jmobius.gameserver.model.skill.targets.TargetType;
public class Holy implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
if ((target == null) || !target.isArtefact())
{
return EMPTY_TARGET_LIST;
return Collections.emptyList();
}
return new WorldObject[]
{
target
};
return Collections.singletonList(target);
}
@Override

View File

@@ -16,6 +16,9 @@
*/
package handlers.targethandlers;
import java.util.Collections;
import java.util.List;
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
@@ -29,20 +32,17 @@ import org.l2jmobius.gameserver.network.SystemMessageId;
public class One implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
// Check for null target or any other invalid target
if ((target == null) || target.isDead() || ((target == creature) && skill.isBad()))
{
creature.sendPacket(SystemMessageId.THAT_IS_AN_INCORRECT_TARGET);
return EMPTY_TARGET_LIST;
return Collections.emptyList();
}
// If a target is found, return it in a table else send a system message TARGET_IS_INCORRECT
return new Creature[]
{
target
};
return Collections.singletonList(target);
}
@Override

View File

@@ -16,6 +16,9 @@
*/
package handlers.targethandlers;
import java.util.Collections;
import java.util.List;
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
@@ -30,20 +33,18 @@ import org.l2jmobius.gameserver.model.skill.targets.TargetType;
public class OwnerPet implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
if (creature.isSummon())
{
final Player owner = ((Summon) creature).getOwner();
if ((owner != null) && !owner.isDead())
{
return new Creature[]
{
owner
};
return Collections.singletonList(owner);
}
}
return EMPTY_TARGET_LIST;
return Collections.emptyList();
}
@Override

View File

@@ -16,7 +16,7 @@
*/
package handlers.targethandlers;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
@@ -32,19 +32,15 @@ import org.l2jmobius.gameserver.model.skill.targets.TargetType;
public class Party implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
final List<Creature> targetList = new ArrayList<>();
final List<WorldObject> targetList = new LinkedList<>();
targetList.add(creature);
if (onlyFirst)
{
return new Creature[]
{
creature
};
return targetList;
}
targetList.add(creature);
final int radius = skill.getAffectRange();
final Player player = creature.getActingPlayer();
if (creature.isSummon())
@@ -83,7 +79,8 @@ public class Party implements ITargetTypeHandler
}
}
}
return targetList.toArray(new Creature[targetList.size()]);
return targetList;
}
@Override

View File

@@ -16,7 +16,7 @@
*/
package handlers.targethandlers;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
@@ -33,25 +33,22 @@ import org.l2jmobius.gameserver.model.skill.targets.TargetType;
public class PartyClan implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
final List<Creature> targetList = new ArrayList<>();
if (onlyFirst)
{
return new Creature[]
{
creature
};
}
final List<WorldObject> targetList = new LinkedList<>();
final Player player = creature.getActingPlayer();
if (player == null)
{
return EMPTY_TARGET_LIST;
return targetList;
}
targetList.add(player);
if (onlyFirst)
{
return targetList;
}
final int radius = skill.getAffectRange();
final boolean hasClan = player.getClan() != null;
final boolean hasParty = player.isInParty();
@@ -63,7 +60,7 @@ public class PartyClan implements ITargetTypeHandler
// if player in clan and not in party
if (!(hasClan || hasParty))
{
return targetList.toArray(new Creature[targetList.size()]);
return targetList;
}
// Get all visible objects in a spherical area near the Creature
@@ -132,22 +129,20 @@ public class PartyClan implements ITargetTypeHandler
continue;
}
targetList.add(obj);
if (onlyFirst)
{
return new Creature[]
{
obj
};
return targetList;
}
if ((maxTargets > 0) && (targetList.size() >= maxTargets))
{
break;
}
targetList.add(obj);
}
return targetList.toArray(new Creature[targetList.size()]);
return targetList;
}
@Override

View File

@@ -16,6 +16,9 @@
*/
package handlers.targethandlers;
import java.util.Collections;
import java.util.List;
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
@@ -29,21 +32,20 @@ import org.l2jmobius.gameserver.network.SystemMessageId;
public class PartyMember implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
if (target == null)
{
creature.sendPacket(SystemMessageId.THAT_IS_AN_INCORRECT_TARGET);
return EMPTY_TARGET_LIST;
return Collections.emptyList();
}
if (!target.isDead() && ((target == creature) || (creature.isInParty() && target.isInParty() && (creature.getParty().getLeaderObjectId() == target.getParty().getLeaderObjectId())) || (creature.isPlayer() && target.isSummon() && (creature.getSummon() == target)) || (creature.isSummon() && target.isPlayer() && (creature == target.getSummon()))))
{
return new Creature[]
{
target
};
return Collections.singletonList(target);
}
return EMPTY_TARGET_LIST;
return Collections.emptyList();
}
@Override

View File

@@ -16,7 +16,7 @@
*/
package handlers.targethandlers;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import org.l2jmobius.Config;
@@ -34,9 +34,9 @@ import org.l2jmobius.gameserver.util.Util;
public class PartyNotMe implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
final List<Creature> targetList = new ArrayList<>();
final List<WorldObject> targetList = new LinkedList<>();
if (creature.getParty() != null)
{
final List<Player> partyList = creature.getParty().getMembers();
@@ -52,7 +52,7 @@ public class PartyNotMe implements ITargetTypeHandler
}
}
}
return targetList.toArray(new Creature[targetList.size()]);
return targetList;
}
@Override

View File

@@ -16,6 +16,9 @@
*/
package handlers.targethandlers;
import java.util.Collections;
import java.util.List;
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
@@ -29,7 +32,7 @@ import org.l2jmobius.gameserver.network.SystemMessageId;
public class PartyOther implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
if ((target != null) && (target != creature) && creature.isInParty() && target.isInParty() && (creature.getParty().getLeaderObjectId() == target.getParty().getLeaderObjectId()))
{
@@ -44,35 +47,27 @@ public class PartyOther implements ITargetTypeHandler
{
if (!target.getActingPlayer().isMageClass())
{
return new Creature[]
{
target
};
return Collections.singletonList(target);
}
return EMPTY_TARGET_LIST;
return Collections.emptyList();
}
case 427:
{
if (target.getActingPlayer().isMageClass())
{
return new Creature[]
{
target
};
return Collections.singletonList(target);
}
return EMPTY_TARGET_LIST;
return Collections.emptyList();
}
}
}
return new Creature[]
{
target
};
return Collections.singletonList(target);
}
return EMPTY_TARGET_LIST;
return Collections.emptyList();
}
creature.sendPacket(SystemMessageId.THAT_IS_AN_INCORRECT_TARGET);
return EMPTY_TARGET_LIST;
return Collections.emptyList();
}
@Override

View File

@@ -16,7 +16,7 @@
*/
package handlers.targethandlers;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
@@ -36,9 +36,9 @@ import org.l2jmobius.gameserver.network.SystemMessageId;
public class PcBody implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
final List<Creature> targetList = new ArrayList<>();
final List<WorldObject> targetList = new LinkedList<>();
if ((target != null) && target.isDead())
{
final Player player;
@@ -92,20 +92,14 @@ public class PcBody implements ITargetTypeHandler
if (condGood)
{
if (!onlyFirst)
{
targetList.add(target);
return targetList.toArray(new WorldObject[targetList.size()]);
}
return new Creature[]
{
target
};
targetList.add(target);
return targetList;
}
}
}
creature.sendPacket(SystemMessageId.THAT_IS_AN_INCORRECT_TARGET);
return EMPTY_TARGET_LIST;
return targetList;
}
@Override

View File

@@ -16,6 +16,9 @@
*/
package handlers.targethandlers;
import java.util.Collections;
import java.util.List;
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
@@ -29,16 +32,14 @@ import org.l2jmobius.gameserver.model.skill.targets.TargetType;
public class Pet implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
if (creature.hasPet())
{
return new Creature[]
{
creature.getSummon()
};
return Collections.singletonList(creature.getSummon());
}
return EMPTY_TARGET_LIST;
return Collections.emptyList();
}
@Override

View File

@@ -16,6 +16,9 @@
*/
package handlers.targethandlers;
import java.util.Collections;
import java.util.List;
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
@@ -28,12 +31,9 @@ import org.l2jmobius.gameserver.model.skill.targets.TargetType;
public class Self implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
return new Creature[]
{
creature
};
return Collections.singletonList(creature);
}
@Override

View File

@@ -16,6 +16,9 @@
*/
package handlers.targethandlers;
import java.util.Collections;
import java.util.List;
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
@@ -29,16 +32,14 @@ import org.l2jmobius.gameserver.model.skill.targets.TargetType;
public class Servitor implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
if (creature.hasServitor())
{
return new Creature[]
{
creature.getSummon()
};
return Collections.singletonList(creature.getSummon());
}
return EMPTY_TARGET_LIST;
return Collections.emptyList();
}
@Override

View File

@@ -16,6 +16,9 @@
*/
package handlers.targethandlers;
import java.util.Collections;
import java.util.List;
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
@@ -29,16 +32,14 @@ import org.l2jmobius.gameserver.model.skill.targets.TargetType;
public class Summon implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
if (creature.hasSummon())
{
return new Creature[]
{
creature.getSummon()
};
return Collections.singletonList(creature.getSummon());
}
return EMPTY_TARGET_LIST;
return Collections.emptyList();
}
@Override

View File

@@ -16,7 +16,7 @@
*/
package handlers.targethandlers;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
@@ -33,15 +33,15 @@ import org.l2jmobius.gameserver.network.SystemMessageId;
public class TargetParty implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
final List<Creature> targetList = new ArrayList<>();
final List<WorldObject> targetList = new LinkedList<>();
// Check for null target or any other invalid target
if ((target == null) || target.isDead() || (target == creature))
{
creature.sendPacket(SystemMessageId.THAT_IS_AN_INCORRECT_TARGET);
return EMPTY_TARGET_LIST;
return targetList;
}
final int radius = skill.getAffectRange();
@@ -70,7 +70,8 @@ public class TargetParty implements ITargetTypeHandler
{
targetList.add(target);
}
return targetList.toArray(new Creature[targetList.size()]);
return targetList;
}
@Override

View File

@@ -16,6 +16,9 @@
*/
package handlers.targethandlers;
import java.util.Collections;
import java.util.List;
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
@@ -29,16 +32,14 @@ import org.l2jmobius.gameserver.model.skill.targets.TargetType;
public class Unlockable implements ITargetTypeHandler
{
@Override
public WorldObject[] getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
public List<WorldObject> getTargetList(Skill skill, Creature creature, boolean onlyFirst, Creature target)
{
if ((target == null) || (!target.isDoor() && !(target instanceof Chest)))
{
return EMPTY_TARGET_LIST;
return Collections.emptyList();
}
return new Creature[]
{
target
};
return Collections.singletonList(target);
}
@Override

View File

@@ -762,7 +762,7 @@ public abstract class AbstractSagaQuest extends Quest
}
@Override
public String onSkillSee(Npc npc, Player player, Skill skill, WorldObject[] targets, boolean isSummon)
public String onSkillSee(Npc npc, Player player, Skill skill, List<WorldObject> targets, boolean isSummon)
{
if (SPAWN_LIST.containsKey(npc) && (SPAWN_LIST.get(npc) != player.getObjectId()))
{

View File

@@ -16,6 +16,8 @@
*/
package quests.Q00120_PavelsLastResearch;
import java.util.List;
import org.l2jmobius.gameserver.enums.QuestSound;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Npc;
@@ -1105,7 +1107,7 @@ public class Q00120_PavelsLastResearch extends Quest
}
@Override
public String onSkillSee(Npc npc, Player player, Skill skill, WorldObject[] targets, boolean isSummon)
public String onSkillSee(Npc npc, Player player, Skill skill, List<WorldObject> targets, boolean isSummon)
{
final QuestState qs = getQuestState(player, false);
if ((qs != null) && qs.isStarted())

View File

@@ -185,7 +185,7 @@ public class Q00350_EnhanceYourWeapon extends Quest
}
@Override
public String onSkillSee(Npc npc, Player caster, Skill skill, WorldObject[] targets, boolean isSummon)
public String onSkillSee(Npc npc, Player caster, Skill skill, List<WorldObject> targets, boolean isSummon)
{
super.onSkillSee(npc, caster, skill, targets, isSummon);