}
owner.broadcastPacket(new MagicSkillUser(owner, target, skill.getId(), skill.getLevel(), 0, 0));
SkillType type = skill.getSkillType();
ISkillHandler handler = SkillHandler.getInstance().getSkillHandler(skill.getSkillType());
L2Character[] targets = { target };
if ((type == SkillType.PARALYZE) || (type == SkillType.STUN)
|| (type == SkillType.ROOT)
|| (type == SkillType.AGGDAMAGE))
{
if (Config.DEBUG)
_log.info("L2CubicInstance: Action.run() handler " + type);
useCubicDisabler(type, L2CubicInstance.this, skill, targets);
}
else if (type == SkillType.MDAM)
{
if (Config.DEBUG)
_log.info("L2CubicInstance: Action.run() handler " + type);
useCubicMdam(L2CubicInstance.this, skill, targets);
}
else if ((type == SkillType.POISON)
|| (type == SkillType.DEBUFF)
|| (type == SkillType.DOT))
{
if (Config.DEBUG)
_log.info("L2CubicInstance: Action.run() handler " + type);
useCubicContinuous(L2CubicInstance.this, skill, targets);
}
else if (type == SkillType.DRAIN)
{
if (Config.DEBUG)
_log.info("L2CubicInstance: Action.run() skill " + type);
((L2SkillDrain) skill).useCubicSkill(L2CubicInstance.this, targets);
}
else
{
handler.useSkill(owner, skill, targets);
if (Config.DEBUG)
_log.info("L2CubicInstance: Action.run(); other handler");
}
}
}