TargetUnlockable.java 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /**
  2. *
  3. */
  4. package handlers.targethandlers;
  5. import java.util.List;
  6. import javolution.util.FastList;
  7. import com.l2jserver.gameserver.handler.ISkillTargetTypeHandler;
  8. import com.l2jserver.gameserver.model.L2Object;
  9. import com.l2jserver.gameserver.model.L2Skill;
  10. import com.l2jserver.gameserver.model.L2Skill.SkillTargetType;
  11. import com.l2jserver.gameserver.model.actor.L2Character;
  12. import com.l2jserver.gameserver.model.actor.instance.L2ChestInstance;
  13. import com.l2jserver.gameserver.model.actor.instance.L2DoorInstance;
  14. /**
  15. * @author UnAfraid
  16. *
  17. */
  18. public class TargetUnlockable implements ISkillTargetTypeHandler
  19. {
  20. @Override
  21. public L2Object[] getTargetList(L2Skill skill, L2Character activeChar, boolean onlyFirst, L2Character target)
  22. {
  23. List<L2Character> targetList = new FastList<L2Character>();
  24. if (!(target instanceof L2DoorInstance) && !(target instanceof L2ChestInstance))
  25. {
  26. return _emptyTargetList;
  27. }
  28. if (!onlyFirst)
  29. {
  30. targetList.add(target);
  31. return targetList.toArray(new L2Object[targetList.size()]);
  32. }
  33. else
  34. return new L2Character[] { target };
  35. }
  36. @Override
  37. public Enum<SkillTargetType> getTargetType()
  38. {
  39. return SkillTargetType.TARGET_UNLOCKABLE;
  40. }
  41. }