int skillLevel = (player.getLevel() > 40) ? 1 : 2;
if (player.isDead() || !player.isVisible() || !isInsideRadius(player, getDistanceToWatchObject(player), false, false))
return false;
L2Skill skill = SkillTable.getInstance().getInfo(skillId, skillLevel);
if (player.getFirstEffect(skill) == null)
{
skill.getEffects(_caster, player);
broadcastPacket(new MagicSkillUser(_caster, player, skill.getId(), skillLevel, skill.getHitTime(), 0));
SystemMessage sm = new SystemMessage(SystemMessageId.YOU_FEEL_S1_EFFECT);
sm.addSkillName(skillId);
player.sendPacket(sm);
return true;
}