Index: D:/workspace/GameServer_EandE/java/net/sf/l2j/gameserver/model/L2Skill.java =================================================================== --- D:/workspace/GameServer_EandE/java/net/sf/l2j/gameserver/model/L2Skill.java (revision 129) +++ D:/workspace/GameServer_EandE/java/net/sf/l2j/gameserver/model/L2Skill.java (working copy) @@ -1072,8 +1072,8 @@ boolean objIsL2PcInstance; boolean objIsL2SummonInstance; int radius = getSkillRadius(); - - for (L2Object obj : cha.getKnownList().getKnownObjects()) + + for (L2Object obj : cha.getKnownList().getKnownObjects()) { if (!(obj instanceof L2Character)) continue; @@ -1102,6 +1102,10 @@ ((L2PcInstance)activeChar).getParty().getPartyLeaderOID() == ((L2PcInstance)obj).getParty().getPartyLeaderOID() ) || // or not pvp with !((L2PcInstance)activeChar).checkPvpSkill(obj, this) + || // skill is offensive and target=self + ( + ((L2PcInstance)activeChar).getCurrentSkill().getSkill().isOffensive() && (L2PcInstance)activeChar == (L2PcInstance)obj + ) || // obj is L2SummonInstance and summon isn't targeted ( objIsL2SummonInstance && ((L2Character)objTarget != (L2SummonInstance)obj) @@ -1493,7 +1497,7 @@ targetList.add((L2Character)obj); // Add obj to target lists else return new L2Character[]{(L2Character)obj}; - } + } } if (targetList.size() == 0)