Prevent converting skill targets to arrays.
This commit is contained in:
@@ -300,11 +300,11 @@ public class BeastFarm 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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -515,11 +516,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);
|
||||
}
|
||||
|
||||
@@ -25,7 +25,6 @@ import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.commons.threads.ThreadPool;
|
||||
import org.l2jmobius.commons.util.CommonUtil;
|
||||
import org.l2jmobius.gameserver.ai.CtrlIntention;
|
||||
import org.l2jmobius.gameserver.data.xml.DoorData;
|
||||
import org.l2jmobius.gameserver.data.xml.NpcData;
|
||||
@@ -310,9 +309,9 @@ public class EnergySeeds 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(targets, npc) || (skill.getId() != 5780))
|
||||
if (!targets.contains(npc) || (skill.getId() != 5780))
|
||||
{
|
||||
return super.onSkillSee(npc, caster, skill, targets, isSummon);
|
||||
}
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
*/
|
||||
package ai.areas.Gracia.AI;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.l2jmobius.gameserver.ai.CtrlIntention;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.instancemanager.QuestManager;
|
||||
@@ -258,7 +260,7 @@ public class Maguen 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 (((skill == MACHINE.getSkill()) && (caster == npc.getVariables().getObject("SUMMON_PLAYER", Player.class))) //
|
||||
&& ((npc.getVariables().getInt("NPC_EFFECT") != 0) && (npc.getVariables().getInt("BLOCKED_SKILLSEE") == 0)))
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
*/
|
||||
package ai.areas.Gracia.AI;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
@@ -45,7 +47,7 @@ public class StarStones 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 (skill.getId() == 932)
|
||||
{
|
||||
|
||||
@@ -18,6 +18,7 @@ package ai.areas.Gracia.instances.HallOfSufferingAttack;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.l2jmobius.gameserver.ai.CtrlEvent;
|
||||
@@ -353,7 +354,7 @@ public class HallOfSufferingAttack 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 (skill.hasEffectType(EffectType.REBALANCE_HP, EffectType.HEAL))
|
||||
{
|
||||
|
||||
@@ -18,6 +18,7 @@ package ai.areas.Gracia.instances.HallOfSufferingDefence;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.l2jmobius.gameserver.ai.CtrlEvent;
|
||||
@@ -353,7 +354,7 @@ public class HallOfSufferingDefence 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 (skill.hasEffectType(EffectType.REBALANCE_HP, EffectType.HEAL))
|
||||
{
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
*/
|
||||
package ai.areas.Hellbound.AI;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.commons.threads.ThreadPool;
|
||||
import org.l2jmobius.gameserver.model.Location;
|
||||
@@ -82,10 +84,10 @@ public class Chimeras 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 (((skill.getId() == BOTTLE) && !npc.isDead()) //
|
||||
&& ((targets.length > 0) && (targets[0] == npc)) //
|
||||
&& ((!targets.isEmpty()) && (targets.get(0) == npc)) //
|
||||
&& (npc.getCurrentHp() < (npc.getMaxHp() * 0.1)))
|
||||
{
|
||||
if (HellboundEngine.getInstance().getLevel() == 7)
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
*/
|
||||
package ai.areas.MonasteryOfSilence;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.l2jmobius.gameserver.ai.CtrlIntention;
|
||||
import org.l2jmobius.gameserver.enums.ChatType;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
@@ -259,9 +261,9 @@ 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 (skill.hasEffectType(EffectType.AGGRESSION) && (targets.length != 0))
|
||||
if (skill.hasEffectType(EffectType.AGGRESSION) && (!targets.isEmpty()))
|
||||
{
|
||||
for (WorldObject obj : targets)
|
||||
{
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
*/
|
||||
package ai.areas.SelMahumTrainingGrounds;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.l2jmobius.commons.util.CommonUtil;
|
||||
import org.l2jmobius.gameserver.ai.CtrlIntention;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
@@ -326,9 +328,9 @@ public class SelMahumSquad 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() == STOVE) && (skill.getId() == 9075) && CommonUtil.contains(targets, npc))
|
||||
if ((npc.getId() == STOVE) && (skill.getId() == 9075) && targets.contains(npc))
|
||||
{
|
||||
npc.doCast(SkillData.getInstance().getSkill(6688, 1));
|
||||
npc.broadcastEvent("SCE_SOUP_FAILURE", 600, caster);
|
||||
|
||||
@@ -184,9 +184,9 @@ public class StakatoNest 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(COCOONS, npc.getId()) && CommonUtil.contains(targets, npc) && (skill.getId() == GROWTH_ACCELERATOR))
|
||||
if (CommonUtil.contains(COCOONS, npc.getId()) && targets.contains(npc) && (skill.getId() == GROWTH_ACCELERATOR))
|
||||
{
|
||||
npc.doDie(caster);
|
||||
final Npc spawned = addSpawn(STAKATO_CHIEF, npc.getX(), npc.getY(), npc.getZ(), Util.calculateHeadingFrom(npc, caster), false, 0, true);
|
||||
|
||||
@@ -559,7 +559,7 @@ public class Beleth extends AbstractNpcAI
|
||||
}
|
||||
|
||||
@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 (!npc.isDead() && (npc.getId() == REAL_BELETH) && !npc.isCastingNow() && skill.hasEffectType(EffectType.HEAL) && (getRandom(100) < 80))
|
||||
{
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
*/
|
||||
package ai.others;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
@@ -69,7 +71,7 @@ public class Ballista 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 ((skill != null) && (caster.getTarget() == npc) && (getRandom(100) < 40) && (skill == BOMB.getSkill()))
|
||||
{
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
*/
|
||||
package ai.others;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.ChatType;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Attackable;
|
||||
@@ -104,7 +106,7 @@ public class PrisonGuards 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 (!caster.isAffectedBySkill(TIMER))
|
||||
{
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
*/
|
||||
package ai.others;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
@@ -55,9 +57,9 @@ public class Remnants 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 ((skill.getId() == SKILL_HOLY_WATER) && !npc.isDead() && (targets.length > 0) && (targets[0] == npc) && (npc.getCurrentHp() < (npc.getMaxHp() * 0.02)))
|
||||
if ((skill.getId() == SKILL_HOLY_WATER) && !npc.isDead() && !targets.isEmpty() && (targets.get(0) == npc) && (npc.getCurrentHp() < (npc.getMaxHp() * 0.02)))
|
||||
{
|
||||
npc.doDie(caster);
|
||||
//@formatter:off
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
@@ -22,7 +22,6 @@ import java.util.Set;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.commons.util.CommonUtil;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
@@ -197,11 +196,11 @@ public class Rabbits extends Event
|
||||
}
|
||||
|
||||
@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 (skill.getId() == RABBIT_TORNADO.getSkillId())
|
||||
{
|
||||
if (!npc.isInvisible() && CommonUtil.contains(targets, npc))
|
||||
if (!npc.isInvisible() && targets.contains(npc))
|
||||
{
|
||||
dropItem(npc, caster, DROPLIST);
|
||||
npc.deleteMe();
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
*/
|
||||
package events.FreyaCelebration;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.l2jmobius.commons.util.CommonUtil;
|
||||
import org.l2jmobius.gameserver.enums.ChatType;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
@@ -111,14 +113,14 @@ public class FreyaCelebration extends LongTimeEvent
|
||||
}
|
||||
|
||||
@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 ((caster == null) || (npc == null))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
if ((npc.getId() == FREYA) && CommonUtil.contains(targets, npc) && CommonUtil.contains(SKILLS, skill.getId()))
|
||||
if ((npc.getId() == FREYA) && targets.contains(npc) && CommonUtil.contains(SKILLS, skill.getId()))
|
||||
{
|
||||
if (getRandom(100) < 5)
|
||||
{
|
||||
|
||||
@@ -170,7 +170,7 @@ public class SavingSanta extends LongTimeEvent
|
||||
}
|
||||
|
||||
@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 (_isWaitingForPlayerSkill && (skill.getId() > 21013) && (skill.getId() < 21017))
|
||||
{
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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())
|
||||
{
|
||||
|
||||
@@ -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())
|
||||
{
|
||||
|
||||
@@ -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())
|
||||
{
|
||||
|
||||
@@ -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())
|
||||
{
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -908,7 +908,7 @@ public class CrystalCaverns extends AbstractInstance
|
||||
}
|
||||
|
||||
@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)
|
||||
{
|
||||
boolean doReturn = true;
|
||||
for (WorldObject obj : targets)
|
||||
|
||||
@@ -817,7 +817,7 @@ public class FinalEmperialTomb extends AbstractInstance implements IXmlReader
|
||||
final Npc activeScarlet = _world.getParameters().getObject("activeScarlet", Npc.class);
|
||||
if ((frintezza != null) && !frintezza.isDead() && (activeScarlet != null) && !activeScarlet.isDead())
|
||||
{
|
||||
final List<Creature> targetList = new ArrayList<>();
|
||||
final List<WorldObject> targetList = new ArrayList<>();
|
||||
if (skill.hasEffectType(EffectType.STUN) || skill.isDebuff())
|
||||
{
|
||||
for (Player player : _world.getAllowed())
|
||||
@@ -841,7 +841,7 @@ public class FinalEmperialTomb extends AbstractInstance implements IXmlReader
|
||||
}
|
||||
if (!targetList.isEmpty())
|
||||
{
|
||||
frintezza.doCast(skill, targetList.get(0), targetList.toArray(new Creature[targetList.size()]));
|
||||
frintezza.doCast(skill, (Creature) targetList.get(0), targetList);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -1441,7 +1441,7 @@ public class FinalEmperialTomb extends AbstractInstance implements IXmlReader
|
||||
}
|
||||
|
||||
@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)
|
||||
{
|
||||
final InstanceWorld world = InstanceManager.getInstance().getWorld(npc);
|
||||
if ((world != null) && (skill != null))
|
||||
|
||||
@@ -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()))
|
||||
{
|
||||
|
||||
@@ -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())
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
*/
|
||||
package quests.Q10274_CollectingInTheAir;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
@@ -82,7 +84,7 @@ public class Q10274_CollectingInTheAir 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)
|
||||
{
|
||||
final QuestState qs = getQuestState(caster, false);
|
||||
if ((qs == null) || !qs.isStarted())
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package quests.TerritoryWarScripts;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.List;
|
||||
|
||||
import org.l2jmobius.commons.util.CommonUtil;
|
||||
import org.l2jmobius.gameserver.instancemanager.TerritoryWarManager;
|
||||
@@ -275,9 +276,9 @@ public class TerritoryWarSuperClass 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)
|
||||
{
|
||||
if (CommonUtil.contains(targets, npc))
|
||||
if (targets.contains(npc))
|
||||
{
|
||||
if (skill.getId() == 845)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user