TargetEnemySummon.java 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. /**
  2. *
  3. */
  4. package handlers.targethandlers;
  5. import com.l2jserver.gameserver.handler.ISkillTargetTypeHandler;
  6. import com.l2jserver.gameserver.model.L2Object;
  7. import com.l2jserver.gameserver.model.L2Skill;
  8. import com.l2jserver.gameserver.model.L2Skill.SkillTargetType;
  9. import com.l2jserver.gameserver.model.actor.L2Character;
  10. import com.l2jserver.gameserver.model.actor.L2Summon;
  11. import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  12. /**
  13. * @author UnAfraid
  14. *
  15. */
  16. public class TargetEnemySummon implements ISkillTargetTypeHandler
  17. {
  18. @Override
  19. public L2Object[] getTargetList(L2Skill skill, L2Character activeChar, boolean onlyFirst, L2Character target)
  20. {
  21. if(target instanceof L2Summon)
  22. {
  23. L2Summon targetSummon = (L2Summon)target;
  24. if (activeChar instanceof L2PcInstance && activeChar.getPet() != targetSummon && !targetSummon.isDead()
  25. && (targetSummon.getOwner().getPvpFlag() != 0 || targetSummon.getOwner().getKarma() > 0)
  26. || (targetSummon.getOwner().isInsideZone(L2Character.ZONE_PVP) && ((L2PcInstance)activeChar).isInsideZone(L2Character.ZONE_PVP))
  27. || (targetSummon.getOwner().isInDuel() && ((L2PcInstance)activeChar).isInDuel() && targetSummon.getOwner().getDuelId() == ((L2PcInstance)activeChar).getDuelId()))
  28. return new L2Character[]{targetSummon};
  29. }
  30. return _emptyTargetList;
  31. }
  32. @Override
  33. public Enum<SkillTargetType> getTargetType()
  34. {
  35. return SkillTargetType.TARGET_ENEMY_SUMMON;
  36. }
  37. }