private static void transfer( Player player, PortalTemplate portalTemplate, WorldMapInstance instance, boolean reenter) { ExitPoint exitPoint = TeleportService.getExitPointByRace(portalTemplate, player.getRace()); player.setInstanceStartPos(exitPoint.getX(), exitPoint.getY(), exitPoint.getZ()); InstanceService.registerPlayerWithInstance(instance, player); TeleportService.teleportTo( player, exitPoint.getMapId(), instance.getInstanceId(), exitPoint.getX(), exitPoint.getY(), exitPoint.getZ(), 3000, true); int instanceCooldownRate = InstanceService.getInstanceRate(player, exitPoint.getMapId()); int useDelay = 0; int instanceCoolTime = DataManager.INSTANCE_COOLTIME_DATA.getInstanceEntranceCooltime(instance.getMapId()); if (instanceCooldownRate > 0) { useDelay = instanceCoolTime * 60 * 1000 / instanceCooldownRate; } if (useDelay > 0 && !reenter) { player.getPortalCooldownList().addPortalCooldown(exitPoint.getMapId(), useDelay); } }
private static void port(Player requester, PortalTemplate portalTemplate, boolean reenter) { WorldMapInstance instance = null; int worldId = TeleportService.getExitPointByRace(portalTemplate, requester.getRace()).getMapId(); if (portalTemplate.isInstance()) { instance = InstanceService.getNextAvailableInstance(worldId); InstanceService.registerPlayerWithInstance(instance, requester); transfer(requester, portalTemplate, instance, reenter); } else { /*WorldMap worldMap = World.getInstance().getWorldMap(worldId); if (worldMap == null) { log.warn("There is no registered map with id " + worldId); return; } instance = worldMap.getWorldMapInstance();*/ easyTransfer(requester, portalTemplate, reenter); } }