Prevent converting skill targets to arrays.
This commit is contained in:
		| @@ -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); | ||||
| 		} | ||||
|   | ||||
| @@ -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.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,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); | ||||
|   | ||||
| @@ -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.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) | ||||
| 		{ | ||||
|   | ||||
| @@ -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(); | ||||
|   | ||||
| @@ -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) | ||||
|   | ||||
| @@ -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
	 MobiusDevelopment
					MobiusDevelopment