private void teleport(final Player player, final TeleportPoint point)
{
if(!point.checkLevel(player.getLevel()))
{
player.sendMessage(new CustomMessage("teleport.point.level.min.max").addNumber(point.getMinLevel()).addNumber(point.getMaxLevel()));
return;
}
else if(!point.canPkUse() && player.getKarma() > 0)
{
player.sendMessage(new CustomMessage("teleport.point.pk.denied"));
return;
}
else if(point.isPremiumOnly() && !player.hasBonus())
{
player.sendMessage(new CustomMessage("teleport.point.only.premium"));
return;
}
else if(point.isNoblesseOnly() && !player.isNoble())
{
player.sendMessage(new CustomMessage("teleport.point.only.premium"));
return;
}
if(!checkFirstConditions(player))
return;
final PriceType type = player.hasBonus() ? PriceType.PREMIUM : player.isNoble() ? PriceType.NOBLESSE : PriceType.SIMPLE;
final Price price = point.getPrice(type);
if(player.getLevel() <= CommTeleport.BBS_TELEPORT_FREE_LEVEL || Util.getPay(player, price.getItem(), price.getCount(), true))
{
player.teleToLocation(point.getX(), point.getY(), point.getZ());
player.sendMessage(new CustomMessage("teleport.point.success.location").addString(point.getName(player.getLanguage())));
}
player.sendPacket(ShowBoard.CLOSE);
String content = null;
ShowBoard.separateAndSend(content, player);