@Override public String onSkillSee( L2Npc npc, L2PcInstance caster, L2Skill skill, L2Object[] targets, boolean isPet) { if (caster == null) { return null; } if (!(npc instanceof L2Attackable)) { return null; } L2Attackable attackable = (L2Attackable) npc; int skillAggroPoints = skill.getAggroPoints(); if (caster.getPet() != null) { if (targets.length == 1 && contains(targets, caster.getPet())) skillAggroPoints = 0; } if (skillAggroPoints > 0) { if (attackable.hasAI() && (attackable.getAI().getIntention() == AI_INTENTION_ATTACK)) { L2Object npcTarget = attackable.getTarget(); for (L2Object skillTarget : targets) { if (npcTarget == skillTarget || npc == skillTarget) { L2Character originalCaster = isPet ? caster.getPet() : caster; attackable.addDamageHate( originalCaster, 0, (skillAggroPoints * 150) / (attackable.getLevel() + 7)); } } } } return null; }