From 0ca2b8d99c49d9fd5c877633650c611c810ec3fa Mon Sep 17 00:00:00 2001 From: Ceikry Date: Thu, 3 Aug 2023 13:36:07 +0000 Subject: [PATCH] Fixed wilderness teleblock bug --- .../global/skill/magic/ancient/AncientTeleportPlugin.java | 2 +- .../main/content/global/skill/magic/lunar/LunarListeners.kt | 6 +----- Server/src/main/core/game/node/entity/Entity.java | 2 +- .../core/game/node/entity/player/link/SkullManager.java | 6 ++++++ 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/Server/src/main/content/global/skill/magic/ancient/AncientTeleportPlugin.java b/Server/src/main/content/global/skill/magic/ancient/AncientTeleportPlugin.java index 56da1885d..37937e4c3 100644 --- a/Server/src/main/content/global/skill/magic/ancient/AncientTeleportPlugin.java +++ b/Server/src/main/content/global/skill/magic/ancient/AncientTeleportPlugin.java @@ -51,7 +51,7 @@ public final class AncientTeleportPlugin extends MagicSpell { @Override public boolean cast(Entity entity, Node target) { - if (entity.getLocks().isTeleportLocked() || !super.meetsRequirements(entity, true, false)) { + if (entity.isTeleBlocked() || !super.meetsRequirements(entity, true, false)) { return false; } if (entity.getTeleporter().send(location.transform(0, RandomFunction.random(3), 0), getSpellId() == 28 ? TeleportType.HOME : TeleportType.ANCIENT)) { diff --git a/Server/src/main/content/global/skill/magic/lunar/LunarListeners.kt b/Server/src/main/content/global/skill/magic/lunar/LunarListeners.kt index ba0add9fb..18f93df72 100644 --- a/Server/src/main/content/global/skill/magic/lunar/LunarListeners.kt +++ b/Server/src/main/content/global/skill/magic/lunar/LunarListeners.kt @@ -347,10 +347,6 @@ class LunarListeners : SpellListener("lunar"), Commands { } private fun sendTeleport(player: Player, xp: Double, loc: Location){ - if(player.locks.isTeleportLocked){ - player.sendMessage("A magical force prevents you from teleporting.") - return - } if(player.teleporter.send(loc,TeleportManager.TeleportType.LUNAR)) { addXP(player, xp) removeRunes(player) @@ -361,7 +357,7 @@ class LunarListeners : SpellListener("lunar"), Commands { private fun sendGroupTeleport(player: Player, xp: Double, destName: String, loc: Location){ RegionManager.getLocalPlayers(player,1).forEach { if(it == player) return@forEach - if(it.locks.isTeleportLocked) return@forEach + if(it.isTeleBlocked()) return@forEach if(!it.isActive) return@forEach if(!it.settings.isAcceptAid) return@forEach if(it.ironmanManager.isIronman) return@forEach diff --git a/Server/src/main/core/game/node/entity/Entity.java b/Server/src/main/core/game/node/entity/Entity.java index 255680cf8..c13e4bb2d 100644 --- a/Server/src/main/core/game/node/entity/Entity.java +++ b/Server/src/main/core/game/node/entity/Entity.java @@ -927,7 +927,7 @@ public abstract class Entity extends Node { * @return {@code True} if so. */ public boolean isTeleBlocked() { - return timers.getTimer("teleblock") != null; + return timers.getTimer("teleblock") != null || getLocks().isTeleportLocked(); } /** diff --git a/Server/src/main/core/game/node/entity/player/link/SkullManager.java b/Server/src/main/core/game/node/entity/player/link/SkullManager.java index 3732745bb..b2ca53276 100644 --- a/Server/src/main/core/game/node/entity/player/link/SkullManager.java +++ b/Server/src/main/core/game/node/entity/player/link/SkullManager.java @@ -129,6 +129,12 @@ public final class SkullManager { setDeepWilderness(true); else if (deepWilderness && level < 48) setDeepWilderness(false); + + if (level > 20) + player.getLocks().lockTeleport (1_000_000); + else + player.getLocks().unlockTeleport(); + this.level = level; }