{
flyLoc = target.getFlyLocation(null, skill);
if (flyLoc == null)
_log.warn(skill.getFlyType() + " have null flyLoc.");
target.setLoc(flyLoc);
broadcastPacket(new FlyToLocation(target, flyLoc, skill.getFlyType(), 0));
}
break;
// CASTER FLYTYPE
case CHARGE:
Location flyLocCharge;
for(Creature target : targets)
{
double radian = PositionUtils.convertHeadingToRadian(this.getHeading());
flyLocCharge = target.getLoc();
flyLocCharge.set(flyLocCharge.getX() + (int) (Math.sin(radian) * 40), flyLocCharge.getY() - (int) (Math.cos(radian) * 40), flyLocCharge.getZ());
setLoc(flyLocCharge);
broadcastPacket(new FlyToLocation(this, flyLocCharge, skill.getFlyType(), 0));
}
break;
case DUMMY:
case WARP_BACK:
case WARP_FORWARD:
flyLoc = getFlyLocation(null, skill);
if (flyLoc != null)
{
setLoc(flyLoc);
broadcastPacket(new FlyToLocation(this, flyLoc, skill.getFlyType(), 0));
}
else
{
sendPacket(SystemMsg.CANNOT_SEE_TARGET);
}