diff --git a/Server/src/main/content/region/kandarin/ardougne/handlers/WildernessLeverPlugin.java b/Server/src/main/content/region/kandarin/ardougne/handlers/WildernessLeverPlugin.java index e1399e051..cbacfc598 100644 --- a/Server/src/main/content/region/kandarin/ardougne/handlers/WildernessLeverPlugin.java +++ b/Server/src/main/content/region/kandarin/ardougne/handlers/WildernessLeverPlugin.java @@ -68,8 +68,12 @@ public final class WildernessLeverPlugin extends OptionHandler { GameWorld.getPulser().submit(new Pulse(2, player) { @Override public boolean pulse() { - lever.message(player, index); - lever.teleport(player, lever.getLocation(index)); + if (player.timers.getTimer("teleblock") == null) { + lever.message(player, index); + lever.teleport(player, lever.getLocation(index)); + } else { + player.getPacketDispatch().sendMessage("A magical force has stopped you from teleporting."); + } return true; } }); diff --git a/Server/src/main/content/region/misthalin/lumbridge/quest/lostcity/LostCityListeners.kt b/Server/src/main/content/region/misthalin/lumbridge/quest/lostcity/LostCityListeners.kt index 7e00163eb..c922a107e 100644 --- a/Server/src/main/content/region/misthalin/lumbridge/quest/lostcity/LostCityListeners.kt +++ b/Server/src/main/content/region/misthalin/lumbridge/quest/lostcity/LostCityListeners.kt @@ -17,6 +17,7 @@ import core.game.world.GameWorld /** * This class covers some listeners for the Lost City quest * @author lila + * @author Player Name */ @Initializable class LostCityListeners : InteractionListener { @@ -36,8 +37,12 @@ class LostCityListeners : InteractionListener { override fun pulse(): Boolean { when (count++) { 0 -> { - sendMessage(player,"The world starts to shimmer...") - teleport(player, Location(2452, 4473, 0), TeleportType.FAIRY_RING) + if (player.isTeleBlocked()) { + sendMessage(player,"A magical force has stopped you from teleporting.") + } else { + sendMessage(player,"The world starts to shimmer...") + teleport(player, Location(2452, 4473, 0), TeleportType.FAIRY_RING) + } } 1 -> return isQuestComplete(player,quest) 2 -> { diff --git a/Server/src/main/content/region/wilderness/handlers/WildernessObeliskPlugin.java b/Server/src/main/content/region/wilderness/handlers/WildernessObeliskPlugin.java index b063e90f1..79c04075c 100644 --- a/Server/src/main/content/region/wilderness/handlers/WildernessObeliskPlugin.java +++ b/Server/src/main/content/region/wilderness/handlers/WildernessObeliskPlugin.java @@ -19,8 +19,9 @@ import core.tools.RandomFunction; /** * Represents the wilderness obelisk plugin. - * @author 'Vexia, small changes by Player Name - * @version 1.1 + * @author 'Vexia + * @author Player Name + * @version 1.2 */ @Initializable public final class WildernessObeliskPlugin extends OptionHandler { @@ -103,10 +104,14 @@ public final class WildernessObeliskPlugin extends OptionHandler { Obelisk newObelisk = newObelisks[index]; // Teleport players standing within a 3-by-3 bounding box for (Player player : RegionManager.getLocalPlayersBoundingBox(center, 1, 1)) { - player.getPacketDispatch().sendMessage("Ancient magic teleports you somewhere in the wilderness."); - int xOffset = player.getLocation().getX() - center.getX(); - int yOffset = player.getLocation().getY() - center.getY(); - player.getTeleporter().send(Location.create(newObelisk.getLocation().getX() + xOffset, newObelisk.getLocation().getY() + yOffset, 0), TeleportType.OBELISK, 2); + if (player.timers.getTimer("teleblock") == null) { + player.getPacketDispatch().sendMessage("Ancient magic teleports you somewhere in the wilderness."); + int xOffset = player.getLocation().getX() - center.getX(); + int yOffset = player.getLocation().getY() - center.getY(); + player.getTeleporter().send(Location.create(newObelisk.getLocation().getX() + xOffset, newObelisk.getLocation().getY() + yOffset, 0), TeleportType.OBELISK, 2); + } else { + player.getPacketDispatch().sendMessage("A magical force has stopped you from teleporting."); + } } super.setDelay(1); return false; diff --git a/Server/src/main/content/region/wilderness/handlers/WildernessPlugin.java b/Server/src/main/content/region/wilderness/handlers/WildernessPlugin.java index 1876e9866..669666201 100644 --- a/Server/src/main/content/region/wilderness/handlers/WildernessPlugin.java +++ b/Server/src/main/content/region/wilderness/handlers/WildernessPlugin.java @@ -71,7 +71,8 @@ public final class WildernessPlugin extends OptionHandler { * Represents the plugin used to handle kbd nodes. * * @author 'Vexia - * @version 1.0 + * @author Player Name + * @version 1.1 */ public static final class KBDPlugin extends OptionHandler { @@ -123,9 +124,13 @@ public final class WildernessPlugin extends OptionHandler { if (player.getLocation().withinDistance(LOCATIONS[5])) { animate(player, 2140, false); playAudio(player, Sounds.LEVER_2400); - player.getPacketDispatch().sendMessage("You pull the lever..."); - player.getTeleporter().send(LOCATIONS[4], TeleportType.NORMAL); - player.getPacketDispatch().sendMessage("... and teleport into the lair of the King Black Dragon!", 5); + if (player.isTeleBlocked()) { + player.getPacketDispatch().sendMessage("A magical force has stopped you from teleporting."); + } else { + player.getPacketDispatch().sendMessage("You pull the lever..."); + player.getTeleporter().send(LOCATIONS[4], TeleportType.NORMAL); + player.getPacketDispatch().sendMessage("... and teleport into the lair of the King Black Dragon!", 5); + } } break; case 1817: