From 512f4974cb67ece1a330af940c4e00b17efe4e14 Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Wed, 2 Oct 2019 11:26:01 +0000 Subject: [PATCH] Commented MoveToLocation siege zone checks. --- .../clientpackets/MoveBackwardToLocation.java | 148 +++++++++--------- .../clientpackets/MoveBackwardToLocation.java | 148 +++++++++--------- .../clientpackets/MoveBackwardToLocation.java | 148 +++++++++--------- .../clientpackets/MoveBackwardToLocation.java | 148 +++++++++--------- .../clientpackets/MoveBackwardToLocation.java | 148 +++++++++--------- .../clientpackets/MoveBackwardToLocation.java | 148 +++++++++--------- .../clientpackets/MoveBackwardToLocation.java | 148 +++++++++--------- .../clientpackets/MoveBackwardToLocation.java | 148 +++++++++--------- .../clientpackets/MoveBackwardToLocation.java | 147 +++++++++-------- .../clientpackets/MoveBackwardToLocation.java | 148 +++++++++--------- .../clientpackets/MoveBackwardToLocation.java | 148 +++++++++--------- .../clientpackets/MoveBackwardToLocation.java | 148 +++++++++--------- .../clientpackets/MoveBackwardToLocation.java | 148 +++++++++--------- .../clientpackets/MoveBackwardToLocation.java | 148 +++++++++--------- .../clientpackets/MoveBackwardToLocation.java | 148 +++++++++--------- 15 files changed, 1050 insertions(+), 1169 deletions(-) diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java index 783aebd7b0..5bde989957 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java @@ -24,20 +24,12 @@ import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.data.xml.impl.DoorData; import org.l2jmobius.gameserver.enums.AdminTeleportType; import org.l2jmobius.gameserver.enums.SayuneType; -import org.l2jmobius.gameserver.geoengine.GeoEngine; -import org.l2jmobius.gameserver.instancemanager.ZoneManager; import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.SayuneEntry; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.EventDispatcher; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerMoveRequest; import org.l2jmobius.gameserver.model.events.returns.TerminateReturn; -import org.l2jmobius.gameserver.model.zone.ZoneId; -import org.l2jmobius.gameserver.model.zone.ZoneType; -import org.l2jmobius.gameserver.model.zone.type.CastleZone; -import org.l2jmobius.gameserver.model.zone.type.FortZone; -import org.l2jmobius.gameserver.model.zone.type.HqZone; -import org.l2jmobius.gameserver.model.zone.type.WaterZone; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; @@ -49,7 +41,6 @@ import org.l2jmobius.gameserver.network.serverpackets.StopMove; import org.l2jmobius.gameserver.network.serverpackets.sayune.ExFlyMove; import org.l2jmobius.gameserver.network.serverpackets.sayune.ExFlyMoveBroadcast; import org.l2jmobius.gameserver.util.Broadcast; -import org.l2jmobius.gameserver.util.Util; public class MoveBackwardToLocation implements IClientIncomingPacket { @@ -106,75 +97,75 @@ public class MoveBackwardToLocation implements IClientIncomingPacket } // Prevent player force moving in or out siege area. - final AdminTeleportType teleMode = player.getTeleMode(); - if (!player.isFlying() && (teleMode == AdminTeleportType.NORMAL)) - { - final boolean siegable = player.isInsideZone(ZoneId.CASTLE) || player.isInsideZone(ZoneId.FORT); - boolean waterContact = player.isInsideZone(ZoneId.WATER); - if (siegable && !waterContact) // Need to know if player is over water only when siegable. - { - for (ZoneType zone : ZoneManager.getInstance().getZones(_originX, _originY)) - { - if ((zone instanceof WaterZone) && ((zone.getZone().getHighZ() + player.getCollisionHeight()) > _originZ)) - { - waterContact = true; - break; - } - } - } - if (player.isInsideZone(ZoneId.HQ) || (siegable && waterContact)) - { - boolean limited = false; - boolean water = false; - for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) - { - if ((zone instanceof CastleZone) || (zone instanceof FortZone)) - { - if (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 1000) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - limited = true; - } - if (zone instanceof WaterZone) - { - water = true; - } - } - if (limited && !water && !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - else if (siegable) - { - for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) - { - if ((zone instanceof WaterZone) || (zone instanceof HqZone)) - { - if ((Math.abs(_targetZ - _originZ) > 250) || !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - else if ((zone instanceof CastleZone) || (zone instanceof FortZone)) - { - if (((Math.abs(_targetZ - _originZ) < 100) || (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 2000)) && !GeoEngine.getInstance().canMoveToTarget(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, player.getInstanceWorld())) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - } - } - } + // final AdminTeleportType teleMode = player.getTeleMode(); + // if (!player.isFlying() && (teleMode == AdminTeleportType.NORMAL)) + // { + // final boolean siegable = player.isInsideZone(ZoneId.CASTLE) || player.isInsideZone(ZoneId.FORT); + // boolean waterContact = player.isInsideZone(ZoneId.WATER); + // if (siegable && !waterContact) // Need to know if player is over water only when siegable. + // { + // for (ZoneType zone : ZoneManager.getInstance().getZones(_originX, _originY)) + // { + // if ((zone instanceof WaterZone) && ((zone.getZone().getHighZ() + player.getCollisionHeight()) > _originZ)) + // { + // waterContact = true; + // break; + // } + // } + // } + // if (player.isInsideZone(ZoneId.HQ) || (siegable && waterContact)) + // { + // boolean limited = false; + // boolean water = false; + // for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) + // { + // if ((zone instanceof CastleZone) || (zone instanceof FortZone)) + // { + // if (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 1000) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // limited = true; + // } + // if (zone instanceof WaterZone) + // { + // water = true; + // } + // } + // if (limited && !water && !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // else if (siegable) + // { + // for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) + // { + // if ((zone instanceof WaterZone) || (zone instanceof HqZone)) + // { + // if ((Math.abs(_targetZ - _originZ) > 250) || !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // else if ((zone instanceof CastleZone) || (zone instanceof FortZone)) + // { + // if (((Math.abs(_targetZ - _originZ) < 100) || (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 2000)) && !GeoEngine.getInstance().canMoveToTarget(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, player.getInstanceWorld())) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // } + // } + // } // Correcting targetZ from floor level to head level (?) // Client is giving floor level as targetZ but that floor level doesn't @@ -212,6 +203,7 @@ public class MoveBackwardToLocation implements IClientIncomingPacket } } + final AdminTeleportType teleMode = player.getTeleMode(); switch (teleMode) { case DEMONIC: diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java index 783aebd7b0..5bde989957 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java @@ -24,20 +24,12 @@ import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.data.xml.impl.DoorData; import org.l2jmobius.gameserver.enums.AdminTeleportType; import org.l2jmobius.gameserver.enums.SayuneType; -import org.l2jmobius.gameserver.geoengine.GeoEngine; -import org.l2jmobius.gameserver.instancemanager.ZoneManager; import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.SayuneEntry; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.EventDispatcher; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerMoveRequest; import org.l2jmobius.gameserver.model.events.returns.TerminateReturn; -import org.l2jmobius.gameserver.model.zone.ZoneId; -import org.l2jmobius.gameserver.model.zone.ZoneType; -import org.l2jmobius.gameserver.model.zone.type.CastleZone; -import org.l2jmobius.gameserver.model.zone.type.FortZone; -import org.l2jmobius.gameserver.model.zone.type.HqZone; -import org.l2jmobius.gameserver.model.zone.type.WaterZone; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; @@ -49,7 +41,6 @@ import org.l2jmobius.gameserver.network.serverpackets.StopMove; import org.l2jmobius.gameserver.network.serverpackets.sayune.ExFlyMove; import org.l2jmobius.gameserver.network.serverpackets.sayune.ExFlyMoveBroadcast; import org.l2jmobius.gameserver.util.Broadcast; -import org.l2jmobius.gameserver.util.Util; public class MoveBackwardToLocation implements IClientIncomingPacket { @@ -106,75 +97,75 @@ public class MoveBackwardToLocation implements IClientIncomingPacket } // Prevent player force moving in or out siege area. - final AdminTeleportType teleMode = player.getTeleMode(); - if (!player.isFlying() && (teleMode == AdminTeleportType.NORMAL)) - { - final boolean siegable = player.isInsideZone(ZoneId.CASTLE) || player.isInsideZone(ZoneId.FORT); - boolean waterContact = player.isInsideZone(ZoneId.WATER); - if (siegable && !waterContact) // Need to know if player is over water only when siegable. - { - for (ZoneType zone : ZoneManager.getInstance().getZones(_originX, _originY)) - { - if ((zone instanceof WaterZone) && ((zone.getZone().getHighZ() + player.getCollisionHeight()) > _originZ)) - { - waterContact = true; - break; - } - } - } - if (player.isInsideZone(ZoneId.HQ) || (siegable && waterContact)) - { - boolean limited = false; - boolean water = false; - for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) - { - if ((zone instanceof CastleZone) || (zone instanceof FortZone)) - { - if (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 1000) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - limited = true; - } - if (zone instanceof WaterZone) - { - water = true; - } - } - if (limited && !water && !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - else if (siegable) - { - for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) - { - if ((zone instanceof WaterZone) || (zone instanceof HqZone)) - { - if ((Math.abs(_targetZ - _originZ) > 250) || !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - else if ((zone instanceof CastleZone) || (zone instanceof FortZone)) - { - if (((Math.abs(_targetZ - _originZ) < 100) || (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 2000)) && !GeoEngine.getInstance().canMoveToTarget(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, player.getInstanceWorld())) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - } - } - } + // final AdminTeleportType teleMode = player.getTeleMode(); + // if (!player.isFlying() && (teleMode == AdminTeleportType.NORMAL)) + // { + // final boolean siegable = player.isInsideZone(ZoneId.CASTLE) || player.isInsideZone(ZoneId.FORT); + // boolean waterContact = player.isInsideZone(ZoneId.WATER); + // if (siegable && !waterContact) // Need to know if player is over water only when siegable. + // { + // for (ZoneType zone : ZoneManager.getInstance().getZones(_originX, _originY)) + // { + // if ((zone instanceof WaterZone) && ((zone.getZone().getHighZ() + player.getCollisionHeight()) > _originZ)) + // { + // waterContact = true; + // break; + // } + // } + // } + // if (player.isInsideZone(ZoneId.HQ) || (siegable && waterContact)) + // { + // boolean limited = false; + // boolean water = false; + // for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) + // { + // if ((zone instanceof CastleZone) || (zone instanceof FortZone)) + // { + // if (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 1000) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // limited = true; + // } + // if (zone instanceof WaterZone) + // { + // water = true; + // } + // } + // if (limited && !water && !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // else if (siegable) + // { + // for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) + // { + // if ((zone instanceof WaterZone) || (zone instanceof HqZone)) + // { + // if ((Math.abs(_targetZ - _originZ) > 250) || !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // else if ((zone instanceof CastleZone) || (zone instanceof FortZone)) + // { + // if (((Math.abs(_targetZ - _originZ) < 100) || (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 2000)) && !GeoEngine.getInstance().canMoveToTarget(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, player.getInstanceWorld())) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // } + // } + // } // Correcting targetZ from floor level to head level (?) // Client is giving floor level as targetZ but that floor level doesn't @@ -212,6 +203,7 @@ public class MoveBackwardToLocation implements IClientIncomingPacket } } + final AdminTeleportType teleMode = player.getTeleMode(); switch (teleMode) { case DEMONIC: diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java index 783aebd7b0..5bde989957 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java @@ -24,20 +24,12 @@ import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.data.xml.impl.DoorData; import org.l2jmobius.gameserver.enums.AdminTeleportType; import org.l2jmobius.gameserver.enums.SayuneType; -import org.l2jmobius.gameserver.geoengine.GeoEngine; -import org.l2jmobius.gameserver.instancemanager.ZoneManager; import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.SayuneEntry; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.EventDispatcher; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerMoveRequest; import org.l2jmobius.gameserver.model.events.returns.TerminateReturn; -import org.l2jmobius.gameserver.model.zone.ZoneId; -import org.l2jmobius.gameserver.model.zone.ZoneType; -import org.l2jmobius.gameserver.model.zone.type.CastleZone; -import org.l2jmobius.gameserver.model.zone.type.FortZone; -import org.l2jmobius.gameserver.model.zone.type.HqZone; -import org.l2jmobius.gameserver.model.zone.type.WaterZone; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; @@ -49,7 +41,6 @@ import org.l2jmobius.gameserver.network.serverpackets.StopMove; import org.l2jmobius.gameserver.network.serverpackets.sayune.ExFlyMove; import org.l2jmobius.gameserver.network.serverpackets.sayune.ExFlyMoveBroadcast; import org.l2jmobius.gameserver.util.Broadcast; -import org.l2jmobius.gameserver.util.Util; public class MoveBackwardToLocation implements IClientIncomingPacket { @@ -106,75 +97,75 @@ public class MoveBackwardToLocation implements IClientIncomingPacket } // Prevent player force moving in or out siege area. - final AdminTeleportType teleMode = player.getTeleMode(); - if (!player.isFlying() && (teleMode == AdminTeleportType.NORMAL)) - { - final boolean siegable = player.isInsideZone(ZoneId.CASTLE) || player.isInsideZone(ZoneId.FORT); - boolean waterContact = player.isInsideZone(ZoneId.WATER); - if (siegable && !waterContact) // Need to know if player is over water only when siegable. - { - for (ZoneType zone : ZoneManager.getInstance().getZones(_originX, _originY)) - { - if ((zone instanceof WaterZone) && ((zone.getZone().getHighZ() + player.getCollisionHeight()) > _originZ)) - { - waterContact = true; - break; - } - } - } - if (player.isInsideZone(ZoneId.HQ) || (siegable && waterContact)) - { - boolean limited = false; - boolean water = false; - for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) - { - if ((zone instanceof CastleZone) || (zone instanceof FortZone)) - { - if (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 1000) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - limited = true; - } - if (zone instanceof WaterZone) - { - water = true; - } - } - if (limited && !water && !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - else if (siegable) - { - for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) - { - if ((zone instanceof WaterZone) || (zone instanceof HqZone)) - { - if ((Math.abs(_targetZ - _originZ) > 250) || !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - else if ((zone instanceof CastleZone) || (zone instanceof FortZone)) - { - if (((Math.abs(_targetZ - _originZ) < 100) || (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 2000)) && !GeoEngine.getInstance().canMoveToTarget(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, player.getInstanceWorld())) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - } - } - } + // final AdminTeleportType teleMode = player.getTeleMode(); + // if (!player.isFlying() && (teleMode == AdminTeleportType.NORMAL)) + // { + // final boolean siegable = player.isInsideZone(ZoneId.CASTLE) || player.isInsideZone(ZoneId.FORT); + // boolean waterContact = player.isInsideZone(ZoneId.WATER); + // if (siegable && !waterContact) // Need to know if player is over water only when siegable. + // { + // for (ZoneType zone : ZoneManager.getInstance().getZones(_originX, _originY)) + // { + // if ((zone instanceof WaterZone) && ((zone.getZone().getHighZ() + player.getCollisionHeight()) > _originZ)) + // { + // waterContact = true; + // break; + // } + // } + // } + // if (player.isInsideZone(ZoneId.HQ) || (siegable && waterContact)) + // { + // boolean limited = false; + // boolean water = false; + // for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) + // { + // if ((zone instanceof CastleZone) || (zone instanceof FortZone)) + // { + // if (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 1000) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // limited = true; + // } + // if (zone instanceof WaterZone) + // { + // water = true; + // } + // } + // if (limited && !water && !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // else if (siegable) + // { + // for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) + // { + // if ((zone instanceof WaterZone) || (zone instanceof HqZone)) + // { + // if ((Math.abs(_targetZ - _originZ) > 250) || !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // else if ((zone instanceof CastleZone) || (zone instanceof FortZone)) + // { + // if (((Math.abs(_targetZ - _originZ) < 100) || (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 2000)) && !GeoEngine.getInstance().canMoveToTarget(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, player.getInstanceWorld())) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // } + // } + // } // Correcting targetZ from floor level to head level (?) // Client is giving floor level as targetZ but that floor level doesn't @@ -212,6 +203,7 @@ public class MoveBackwardToLocation implements IClientIncomingPacket } } + final AdminTeleportType teleMode = player.getTeleMode(); switch (teleMode) { case DEMONIC: diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java index 783aebd7b0..5bde989957 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java @@ -24,20 +24,12 @@ import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.data.xml.impl.DoorData; import org.l2jmobius.gameserver.enums.AdminTeleportType; import org.l2jmobius.gameserver.enums.SayuneType; -import org.l2jmobius.gameserver.geoengine.GeoEngine; -import org.l2jmobius.gameserver.instancemanager.ZoneManager; import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.SayuneEntry; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.EventDispatcher; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerMoveRequest; import org.l2jmobius.gameserver.model.events.returns.TerminateReturn; -import org.l2jmobius.gameserver.model.zone.ZoneId; -import org.l2jmobius.gameserver.model.zone.ZoneType; -import org.l2jmobius.gameserver.model.zone.type.CastleZone; -import org.l2jmobius.gameserver.model.zone.type.FortZone; -import org.l2jmobius.gameserver.model.zone.type.HqZone; -import org.l2jmobius.gameserver.model.zone.type.WaterZone; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; @@ -49,7 +41,6 @@ import org.l2jmobius.gameserver.network.serverpackets.StopMove; import org.l2jmobius.gameserver.network.serverpackets.sayune.ExFlyMove; import org.l2jmobius.gameserver.network.serverpackets.sayune.ExFlyMoveBroadcast; import org.l2jmobius.gameserver.util.Broadcast; -import org.l2jmobius.gameserver.util.Util; public class MoveBackwardToLocation implements IClientIncomingPacket { @@ -106,75 +97,75 @@ public class MoveBackwardToLocation implements IClientIncomingPacket } // Prevent player force moving in or out siege area. - final AdminTeleportType teleMode = player.getTeleMode(); - if (!player.isFlying() && (teleMode == AdminTeleportType.NORMAL)) - { - final boolean siegable = player.isInsideZone(ZoneId.CASTLE) || player.isInsideZone(ZoneId.FORT); - boolean waterContact = player.isInsideZone(ZoneId.WATER); - if (siegable && !waterContact) // Need to know if player is over water only when siegable. - { - for (ZoneType zone : ZoneManager.getInstance().getZones(_originX, _originY)) - { - if ((zone instanceof WaterZone) && ((zone.getZone().getHighZ() + player.getCollisionHeight()) > _originZ)) - { - waterContact = true; - break; - } - } - } - if (player.isInsideZone(ZoneId.HQ) || (siegable && waterContact)) - { - boolean limited = false; - boolean water = false; - for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) - { - if ((zone instanceof CastleZone) || (zone instanceof FortZone)) - { - if (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 1000) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - limited = true; - } - if (zone instanceof WaterZone) - { - water = true; - } - } - if (limited && !water && !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - else if (siegable) - { - for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) - { - if ((zone instanceof WaterZone) || (zone instanceof HqZone)) - { - if ((Math.abs(_targetZ - _originZ) > 250) || !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - else if ((zone instanceof CastleZone) || (zone instanceof FortZone)) - { - if (((Math.abs(_targetZ - _originZ) < 100) || (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 2000)) && !GeoEngine.getInstance().canMoveToTarget(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, player.getInstanceWorld())) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - } - } - } + // final AdminTeleportType teleMode = player.getTeleMode(); + // if (!player.isFlying() && (teleMode == AdminTeleportType.NORMAL)) + // { + // final boolean siegable = player.isInsideZone(ZoneId.CASTLE) || player.isInsideZone(ZoneId.FORT); + // boolean waterContact = player.isInsideZone(ZoneId.WATER); + // if (siegable && !waterContact) // Need to know if player is over water only when siegable. + // { + // for (ZoneType zone : ZoneManager.getInstance().getZones(_originX, _originY)) + // { + // if ((zone instanceof WaterZone) && ((zone.getZone().getHighZ() + player.getCollisionHeight()) > _originZ)) + // { + // waterContact = true; + // break; + // } + // } + // } + // if (player.isInsideZone(ZoneId.HQ) || (siegable && waterContact)) + // { + // boolean limited = false; + // boolean water = false; + // for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) + // { + // if ((zone instanceof CastleZone) || (zone instanceof FortZone)) + // { + // if (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 1000) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // limited = true; + // } + // if (zone instanceof WaterZone) + // { + // water = true; + // } + // } + // if (limited && !water && !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // else if (siegable) + // { + // for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) + // { + // if ((zone instanceof WaterZone) || (zone instanceof HqZone)) + // { + // if ((Math.abs(_targetZ - _originZ) > 250) || !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // else if ((zone instanceof CastleZone) || (zone instanceof FortZone)) + // { + // if (((Math.abs(_targetZ - _originZ) < 100) || (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 2000)) && !GeoEngine.getInstance().canMoveToTarget(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, player.getInstanceWorld())) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // } + // } + // } // Correcting targetZ from floor level to head level (?) // Client is giving floor level as targetZ but that floor level doesn't @@ -212,6 +203,7 @@ public class MoveBackwardToLocation implements IClientIncomingPacket } } + final AdminTeleportType teleMode = player.getTeleMode(); switch (teleMode) { case DEMONIC: diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java index 783aebd7b0..5bde989957 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java @@ -24,20 +24,12 @@ import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.data.xml.impl.DoorData; import org.l2jmobius.gameserver.enums.AdminTeleportType; import org.l2jmobius.gameserver.enums.SayuneType; -import org.l2jmobius.gameserver.geoengine.GeoEngine; -import org.l2jmobius.gameserver.instancemanager.ZoneManager; import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.SayuneEntry; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.EventDispatcher; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerMoveRequest; import org.l2jmobius.gameserver.model.events.returns.TerminateReturn; -import org.l2jmobius.gameserver.model.zone.ZoneId; -import org.l2jmobius.gameserver.model.zone.ZoneType; -import org.l2jmobius.gameserver.model.zone.type.CastleZone; -import org.l2jmobius.gameserver.model.zone.type.FortZone; -import org.l2jmobius.gameserver.model.zone.type.HqZone; -import org.l2jmobius.gameserver.model.zone.type.WaterZone; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; @@ -49,7 +41,6 @@ import org.l2jmobius.gameserver.network.serverpackets.StopMove; import org.l2jmobius.gameserver.network.serverpackets.sayune.ExFlyMove; import org.l2jmobius.gameserver.network.serverpackets.sayune.ExFlyMoveBroadcast; import org.l2jmobius.gameserver.util.Broadcast; -import org.l2jmobius.gameserver.util.Util; public class MoveBackwardToLocation implements IClientIncomingPacket { @@ -106,75 +97,75 @@ public class MoveBackwardToLocation implements IClientIncomingPacket } // Prevent player force moving in or out siege area. - final AdminTeleportType teleMode = player.getTeleMode(); - if (!player.isFlying() && (teleMode == AdminTeleportType.NORMAL)) - { - final boolean siegable = player.isInsideZone(ZoneId.CASTLE) || player.isInsideZone(ZoneId.FORT); - boolean waterContact = player.isInsideZone(ZoneId.WATER); - if (siegable && !waterContact) // Need to know if player is over water only when siegable. - { - for (ZoneType zone : ZoneManager.getInstance().getZones(_originX, _originY)) - { - if ((zone instanceof WaterZone) && ((zone.getZone().getHighZ() + player.getCollisionHeight()) > _originZ)) - { - waterContact = true; - break; - } - } - } - if (player.isInsideZone(ZoneId.HQ) || (siegable && waterContact)) - { - boolean limited = false; - boolean water = false; - for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) - { - if ((zone instanceof CastleZone) || (zone instanceof FortZone)) - { - if (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 1000) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - limited = true; - } - if (zone instanceof WaterZone) - { - water = true; - } - } - if (limited && !water && !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - else if (siegable) - { - for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) - { - if ((zone instanceof WaterZone) || (zone instanceof HqZone)) - { - if ((Math.abs(_targetZ - _originZ) > 250) || !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - else if ((zone instanceof CastleZone) || (zone instanceof FortZone)) - { - if (((Math.abs(_targetZ - _originZ) < 100) || (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 2000)) && !GeoEngine.getInstance().canMoveToTarget(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, player.getInstanceWorld())) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - } - } - } + // final AdminTeleportType teleMode = player.getTeleMode(); + // if (!player.isFlying() && (teleMode == AdminTeleportType.NORMAL)) + // { + // final boolean siegable = player.isInsideZone(ZoneId.CASTLE) || player.isInsideZone(ZoneId.FORT); + // boolean waterContact = player.isInsideZone(ZoneId.WATER); + // if (siegable && !waterContact) // Need to know if player is over water only when siegable. + // { + // for (ZoneType zone : ZoneManager.getInstance().getZones(_originX, _originY)) + // { + // if ((zone instanceof WaterZone) && ((zone.getZone().getHighZ() + player.getCollisionHeight()) > _originZ)) + // { + // waterContact = true; + // break; + // } + // } + // } + // if (player.isInsideZone(ZoneId.HQ) || (siegable && waterContact)) + // { + // boolean limited = false; + // boolean water = false; + // for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) + // { + // if ((zone instanceof CastleZone) || (zone instanceof FortZone)) + // { + // if (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 1000) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // limited = true; + // } + // if (zone instanceof WaterZone) + // { + // water = true; + // } + // } + // if (limited && !water && !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // else if (siegable) + // { + // for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) + // { + // if ((zone instanceof WaterZone) || (zone instanceof HqZone)) + // { + // if ((Math.abs(_targetZ - _originZ) > 250) || !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // else if ((zone instanceof CastleZone) || (zone instanceof FortZone)) + // { + // if (((Math.abs(_targetZ - _originZ) < 100) || (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 2000)) && !GeoEngine.getInstance().canMoveToTarget(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, player.getInstanceWorld())) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // } + // } + // } // Correcting targetZ from floor level to head level (?) // Client is giving floor level as targetZ but that floor level doesn't @@ -212,6 +203,7 @@ public class MoveBackwardToLocation implements IClientIncomingPacket } } + final AdminTeleportType teleMode = player.getTeleMode(); switch (teleMode) { case DEMONIC: diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java index 783aebd7b0..5bde989957 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java @@ -24,20 +24,12 @@ import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.data.xml.impl.DoorData; import org.l2jmobius.gameserver.enums.AdminTeleportType; import org.l2jmobius.gameserver.enums.SayuneType; -import org.l2jmobius.gameserver.geoengine.GeoEngine; -import org.l2jmobius.gameserver.instancemanager.ZoneManager; import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.SayuneEntry; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.EventDispatcher; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerMoveRequest; import org.l2jmobius.gameserver.model.events.returns.TerminateReturn; -import org.l2jmobius.gameserver.model.zone.ZoneId; -import org.l2jmobius.gameserver.model.zone.ZoneType; -import org.l2jmobius.gameserver.model.zone.type.CastleZone; -import org.l2jmobius.gameserver.model.zone.type.FortZone; -import org.l2jmobius.gameserver.model.zone.type.HqZone; -import org.l2jmobius.gameserver.model.zone.type.WaterZone; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; @@ -49,7 +41,6 @@ import org.l2jmobius.gameserver.network.serverpackets.StopMove; import org.l2jmobius.gameserver.network.serverpackets.sayune.ExFlyMove; import org.l2jmobius.gameserver.network.serverpackets.sayune.ExFlyMoveBroadcast; import org.l2jmobius.gameserver.util.Broadcast; -import org.l2jmobius.gameserver.util.Util; public class MoveBackwardToLocation implements IClientIncomingPacket { @@ -106,75 +97,75 @@ public class MoveBackwardToLocation implements IClientIncomingPacket } // Prevent player force moving in or out siege area. - final AdminTeleportType teleMode = player.getTeleMode(); - if (!player.isFlying() && (teleMode == AdminTeleportType.NORMAL)) - { - final boolean siegable = player.isInsideZone(ZoneId.CASTLE) || player.isInsideZone(ZoneId.FORT); - boolean waterContact = player.isInsideZone(ZoneId.WATER); - if (siegable && !waterContact) // Need to know if player is over water only when siegable. - { - for (ZoneType zone : ZoneManager.getInstance().getZones(_originX, _originY)) - { - if ((zone instanceof WaterZone) && ((zone.getZone().getHighZ() + player.getCollisionHeight()) > _originZ)) - { - waterContact = true; - break; - } - } - } - if (player.isInsideZone(ZoneId.HQ) || (siegable && waterContact)) - { - boolean limited = false; - boolean water = false; - for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) - { - if ((zone instanceof CastleZone) || (zone instanceof FortZone)) - { - if (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 1000) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - limited = true; - } - if (zone instanceof WaterZone) - { - water = true; - } - } - if (limited && !water && !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - else if (siegable) - { - for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) - { - if ((zone instanceof WaterZone) || (zone instanceof HqZone)) - { - if ((Math.abs(_targetZ - _originZ) > 250) || !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - else if ((zone instanceof CastleZone) || (zone instanceof FortZone)) - { - if (((Math.abs(_targetZ - _originZ) < 100) || (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 2000)) && !GeoEngine.getInstance().canMoveToTarget(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, player.getInstanceWorld())) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - } - } - } + // final AdminTeleportType teleMode = player.getTeleMode(); + // if (!player.isFlying() && (teleMode == AdminTeleportType.NORMAL)) + // { + // final boolean siegable = player.isInsideZone(ZoneId.CASTLE) || player.isInsideZone(ZoneId.FORT); + // boolean waterContact = player.isInsideZone(ZoneId.WATER); + // if (siegable && !waterContact) // Need to know if player is over water only when siegable. + // { + // for (ZoneType zone : ZoneManager.getInstance().getZones(_originX, _originY)) + // { + // if ((zone instanceof WaterZone) && ((zone.getZone().getHighZ() + player.getCollisionHeight()) > _originZ)) + // { + // waterContact = true; + // break; + // } + // } + // } + // if (player.isInsideZone(ZoneId.HQ) || (siegable && waterContact)) + // { + // boolean limited = false; + // boolean water = false; + // for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) + // { + // if ((zone instanceof CastleZone) || (zone instanceof FortZone)) + // { + // if (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 1000) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // limited = true; + // } + // if (zone instanceof WaterZone) + // { + // water = true; + // } + // } + // if (limited && !water && !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // else if (siegable) + // { + // for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) + // { + // if ((zone instanceof WaterZone) || (zone instanceof HqZone)) + // { + // if ((Math.abs(_targetZ - _originZ) > 250) || !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // else if ((zone instanceof CastleZone) || (zone instanceof FortZone)) + // { + // if (((Math.abs(_targetZ - _originZ) < 100) || (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 2000)) && !GeoEngine.getInstance().canMoveToTarget(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, player.getInstanceWorld())) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // } + // } + // } // Correcting targetZ from floor level to head level (?) // Client is giving floor level as targetZ but that floor level doesn't @@ -212,6 +203,7 @@ public class MoveBackwardToLocation implements IClientIncomingPacket } } + final AdminTeleportType teleMode = player.getTeleMode(); switch (teleMode) { case DEMONIC: diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java index 783aebd7b0..5bde989957 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java @@ -24,20 +24,12 @@ import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.data.xml.impl.DoorData; import org.l2jmobius.gameserver.enums.AdminTeleportType; import org.l2jmobius.gameserver.enums.SayuneType; -import org.l2jmobius.gameserver.geoengine.GeoEngine; -import org.l2jmobius.gameserver.instancemanager.ZoneManager; import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.SayuneEntry; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.EventDispatcher; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerMoveRequest; import org.l2jmobius.gameserver.model.events.returns.TerminateReturn; -import org.l2jmobius.gameserver.model.zone.ZoneId; -import org.l2jmobius.gameserver.model.zone.ZoneType; -import org.l2jmobius.gameserver.model.zone.type.CastleZone; -import org.l2jmobius.gameserver.model.zone.type.FortZone; -import org.l2jmobius.gameserver.model.zone.type.HqZone; -import org.l2jmobius.gameserver.model.zone.type.WaterZone; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; @@ -49,7 +41,6 @@ import org.l2jmobius.gameserver.network.serverpackets.StopMove; import org.l2jmobius.gameserver.network.serverpackets.sayune.ExFlyMove; import org.l2jmobius.gameserver.network.serverpackets.sayune.ExFlyMoveBroadcast; import org.l2jmobius.gameserver.util.Broadcast; -import org.l2jmobius.gameserver.util.Util; public class MoveBackwardToLocation implements IClientIncomingPacket { @@ -106,75 +97,75 @@ public class MoveBackwardToLocation implements IClientIncomingPacket } // Prevent player force moving in or out siege area. - final AdminTeleportType teleMode = player.getTeleMode(); - if (!player.isFlying() && (teleMode == AdminTeleportType.NORMAL)) - { - final boolean siegable = player.isInsideZone(ZoneId.CASTLE) || player.isInsideZone(ZoneId.FORT); - boolean waterContact = player.isInsideZone(ZoneId.WATER); - if (siegable && !waterContact) // Need to know if player is over water only when siegable. - { - for (ZoneType zone : ZoneManager.getInstance().getZones(_originX, _originY)) - { - if ((zone instanceof WaterZone) && ((zone.getZone().getHighZ() + player.getCollisionHeight()) > _originZ)) - { - waterContact = true; - break; - } - } - } - if (player.isInsideZone(ZoneId.HQ) || (siegable && waterContact)) - { - boolean limited = false; - boolean water = false; - for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) - { - if ((zone instanceof CastleZone) || (zone instanceof FortZone)) - { - if (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 1000) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - limited = true; - } - if (zone instanceof WaterZone) - { - water = true; - } - } - if (limited && !water && !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - else if (siegable) - { - for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) - { - if ((zone instanceof WaterZone) || (zone instanceof HqZone)) - { - if ((Math.abs(_targetZ - _originZ) > 250) || !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - else if ((zone instanceof CastleZone) || (zone instanceof FortZone)) - { - if (((Math.abs(_targetZ - _originZ) < 100) || (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 2000)) && !GeoEngine.getInstance().canMoveToTarget(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, player.getInstanceWorld())) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - } - } - } + // final AdminTeleportType teleMode = player.getTeleMode(); + // if (!player.isFlying() && (teleMode == AdminTeleportType.NORMAL)) + // { + // final boolean siegable = player.isInsideZone(ZoneId.CASTLE) || player.isInsideZone(ZoneId.FORT); + // boolean waterContact = player.isInsideZone(ZoneId.WATER); + // if (siegable && !waterContact) // Need to know if player is over water only when siegable. + // { + // for (ZoneType zone : ZoneManager.getInstance().getZones(_originX, _originY)) + // { + // if ((zone instanceof WaterZone) && ((zone.getZone().getHighZ() + player.getCollisionHeight()) > _originZ)) + // { + // waterContact = true; + // break; + // } + // } + // } + // if (player.isInsideZone(ZoneId.HQ) || (siegable && waterContact)) + // { + // boolean limited = false; + // boolean water = false; + // for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) + // { + // if ((zone instanceof CastleZone) || (zone instanceof FortZone)) + // { + // if (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 1000) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // limited = true; + // } + // if (zone instanceof WaterZone) + // { + // water = true; + // } + // } + // if (limited && !water && !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // else if (siegable) + // { + // for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) + // { + // if ((zone instanceof WaterZone) || (zone instanceof HqZone)) + // { + // if ((Math.abs(_targetZ - _originZ) > 250) || !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // else if ((zone instanceof CastleZone) || (zone instanceof FortZone)) + // { + // if (((Math.abs(_targetZ - _originZ) < 100) || (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 2000)) && !GeoEngine.getInstance().canMoveToTarget(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, player.getInstanceWorld())) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // } + // } + // } // Correcting targetZ from floor level to head level (?) // Client is giving floor level as targetZ but that floor level doesn't @@ -212,6 +203,7 @@ public class MoveBackwardToLocation implements IClientIncomingPacket } } + final AdminTeleportType teleMode = player.getTeleMode(); switch (teleMode) { case DEMONIC: diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java index 783aebd7b0..5bde989957 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java @@ -24,20 +24,12 @@ import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.data.xml.impl.DoorData; import org.l2jmobius.gameserver.enums.AdminTeleportType; import org.l2jmobius.gameserver.enums.SayuneType; -import org.l2jmobius.gameserver.geoengine.GeoEngine; -import org.l2jmobius.gameserver.instancemanager.ZoneManager; import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.SayuneEntry; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.EventDispatcher; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerMoveRequest; import org.l2jmobius.gameserver.model.events.returns.TerminateReturn; -import org.l2jmobius.gameserver.model.zone.ZoneId; -import org.l2jmobius.gameserver.model.zone.ZoneType; -import org.l2jmobius.gameserver.model.zone.type.CastleZone; -import org.l2jmobius.gameserver.model.zone.type.FortZone; -import org.l2jmobius.gameserver.model.zone.type.HqZone; -import org.l2jmobius.gameserver.model.zone.type.WaterZone; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; @@ -49,7 +41,6 @@ import org.l2jmobius.gameserver.network.serverpackets.StopMove; import org.l2jmobius.gameserver.network.serverpackets.sayune.ExFlyMove; import org.l2jmobius.gameserver.network.serverpackets.sayune.ExFlyMoveBroadcast; import org.l2jmobius.gameserver.util.Broadcast; -import org.l2jmobius.gameserver.util.Util; public class MoveBackwardToLocation implements IClientIncomingPacket { @@ -106,75 +97,75 @@ public class MoveBackwardToLocation implements IClientIncomingPacket } // Prevent player force moving in or out siege area. - final AdminTeleportType teleMode = player.getTeleMode(); - if (!player.isFlying() && (teleMode == AdminTeleportType.NORMAL)) - { - final boolean siegable = player.isInsideZone(ZoneId.CASTLE) || player.isInsideZone(ZoneId.FORT); - boolean waterContact = player.isInsideZone(ZoneId.WATER); - if (siegable && !waterContact) // Need to know if player is over water only when siegable. - { - for (ZoneType zone : ZoneManager.getInstance().getZones(_originX, _originY)) - { - if ((zone instanceof WaterZone) && ((zone.getZone().getHighZ() + player.getCollisionHeight()) > _originZ)) - { - waterContact = true; - break; - } - } - } - if (player.isInsideZone(ZoneId.HQ) || (siegable && waterContact)) - { - boolean limited = false; - boolean water = false; - for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) - { - if ((zone instanceof CastleZone) || (zone instanceof FortZone)) - { - if (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 1000) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - limited = true; - } - if (zone instanceof WaterZone) - { - water = true; - } - } - if (limited && !water && !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - else if (siegable) - { - for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) - { - if ((zone instanceof WaterZone) || (zone instanceof HqZone)) - { - if ((Math.abs(_targetZ - _originZ) > 250) || !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - else if ((zone instanceof CastleZone) || (zone instanceof FortZone)) - { - if (((Math.abs(_targetZ - _originZ) < 100) || (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 2000)) && !GeoEngine.getInstance().canMoveToTarget(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, player.getInstanceWorld())) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - } - } - } + // final AdminTeleportType teleMode = player.getTeleMode(); + // if (!player.isFlying() && (teleMode == AdminTeleportType.NORMAL)) + // { + // final boolean siegable = player.isInsideZone(ZoneId.CASTLE) || player.isInsideZone(ZoneId.FORT); + // boolean waterContact = player.isInsideZone(ZoneId.WATER); + // if (siegable && !waterContact) // Need to know if player is over water only when siegable. + // { + // for (ZoneType zone : ZoneManager.getInstance().getZones(_originX, _originY)) + // { + // if ((zone instanceof WaterZone) && ((zone.getZone().getHighZ() + player.getCollisionHeight()) > _originZ)) + // { + // waterContact = true; + // break; + // } + // } + // } + // if (player.isInsideZone(ZoneId.HQ) || (siegable && waterContact)) + // { + // boolean limited = false; + // boolean water = false; + // for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) + // { + // if ((zone instanceof CastleZone) || (zone instanceof FortZone)) + // { + // if (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 1000) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // limited = true; + // } + // if (zone instanceof WaterZone) + // { + // water = true; + // } + // } + // if (limited && !water && !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // else if (siegable) + // { + // for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) + // { + // if ((zone instanceof WaterZone) || (zone instanceof HqZone)) + // { + // if ((Math.abs(_targetZ - _originZ) > 250) || !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // else if ((zone instanceof CastleZone) || (zone instanceof FortZone)) + // { + // if (((Math.abs(_targetZ - _originZ) < 100) || (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 2000)) && !GeoEngine.getInstance().canMoveToTarget(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, player.getInstanceWorld())) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // } + // } + // } // Correcting targetZ from floor level to head level (?) // Client is giving floor level as targetZ but that floor level doesn't @@ -212,6 +203,7 @@ public class MoveBackwardToLocation implements IClientIncomingPacket } } + final AdminTeleportType teleMode = player.getTeleMode(); switch (teleMode) { case DEMONIC: diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java index d242a4a627..5081db44c1 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java @@ -22,19 +22,11 @@ import org.l2jmobius.Config; import org.l2jmobius.commons.network.PacketReader; import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.data.xml.impl.DoorData; -import org.l2jmobius.gameserver.geoengine.GeoEngine; -import org.l2jmobius.gameserver.instancemanager.ZoneManager; import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.EventDispatcher; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerMoveRequest; import org.l2jmobius.gameserver.model.events.returns.TerminateReturn; -import org.l2jmobius.gameserver.model.zone.ZoneId; -import org.l2jmobius.gameserver.model.zone.ZoneType; -import org.l2jmobius.gameserver.model.zone.type.CastleZone; -import org.l2jmobius.gameserver.model.zone.type.FortZone; -import org.l2jmobius.gameserver.model.zone.type.HqZone; -import org.l2jmobius.gameserver.model.zone.type.WaterZone; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; @@ -107,75 +99,75 @@ public class MoveBackwardToLocation implements IClientIncomingPacket } // Prevent player force moving in or out siege area. - final int teleMode = player.getTeleMode(); - if (!player.isFlying() && (teleMode == 0)) - { - final boolean siegable = player.isInsideZone(ZoneId.CASTLE) || player.isInsideZone(ZoneId.FORT); - boolean waterContact = player.isInsideZone(ZoneId.WATER); - if (siegable && !waterContact) // Need to know if player is over water only when siegable. - { - for (ZoneType zone : ZoneManager.getInstance().getZones(_originX, _originY)) - { - if ((zone instanceof WaterZone) && ((zone.getZone().getHighZ() + player.getCollisionHeight()) > _originZ)) - { - waterContact = true; - break; - } - } - } - if (player.isInsideZone(ZoneId.HQ) || (siegable && waterContact)) - { - boolean limited = false; - boolean water = false; - for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) - { - if ((zone instanceof CastleZone) || (zone instanceof FortZone)) - { - if (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 1000) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - limited = true; - } - if (zone instanceof WaterZone) - { - water = true; - } - } - if (limited && !water && !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - else if (siegable) - { - for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) - { - if ((zone instanceof WaterZone) || (zone instanceof HqZone)) - { - if ((Math.abs(_targetZ - _originZ) > 250) || !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - else if ((zone instanceof CastleZone) || (zone instanceof FortZone)) - { - if (((Math.abs(_targetZ - _originZ) < 100) || (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 2000)) && !GeoEngine.getInstance().canMoveToTarget(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, player.getInstanceId())) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - } - } - } + // final int teleMode = player.getTeleMode(); + // if (!player.isFlying() && (teleMode == 0)) + // { + // final boolean siegable = player.isInsideZone(ZoneId.CASTLE) || player.isInsideZone(ZoneId.FORT); + // boolean waterContact = player.isInsideZone(ZoneId.WATER); + // if (siegable && !waterContact) // Need to know if player is over water only when siegable. + // { + // for (ZoneType zone : ZoneManager.getInstance().getZones(_originX, _originY)) + // { + // if ((zone instanceof WaterZone) && ((zone.getZone().getHighZ() + player.getCollisionHeight()) > _originZ)) + // { + // waterContact = true; + // break; + // } + // } + // } + // if (player.isInsideZone(ZoneId.HQ) || (siegable && waterContact)) + // { + // boolean limited = false; + // boolean water = false; + // for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) + // { + // if ((zone instanceof CastleZone) || (zone instanceof FortZone)) + // { + // if (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 1000) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // limited = true; + // } + // if (zone instanceof WaterZone) + // { + // water = true; + // } + // } + // if (limited && !water && !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // else if (siegable) + // { + // for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) + // { + // if ((zone instanceof WaterZone) || (zone instanceof HqZone)) + // { + // if ((Math.abs(_targetZ - _originZ) > 250) || !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // else if ((zone instanceof CastleZone) || (zone instanceof FortZone)) + // { + // if (((Math.abs(_targetZ - _originZ) < 100) || (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 2000)) && !GeoEngine.getInstance().canMoveToTarget(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, player.getInstanceId())) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // } + // } + // } // Correcting targetZ from floor level to head level (?) // Client is giving floor level as targetZ but that floor level doesn't @@ -213,6 +205,7 @@ public class MoveBackwardToLocation implements IClientIncomingPacket } } + final int teleMode = player.getTeleMode(); if (teleMode > 0) { if (teleMode == 1) diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java index 783aebd7b0..5bde989957 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java @@ -24,20 +24,12 @@ import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.data.xml.impl.DoorData; import org.l2jmobius.gameserver.enums.AdminTeleportType; import org.l2jmobius.gameserver.enums.SayuneType; -import org.l2jmobius.gameserver.geoengine.GeoEngine; -import org.l2jmobius.gameserver.instancemanager.ZoneManager; import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.SayuneEntry; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.EventDispatcher; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerMoveRequest; import org.l2jmobius.gameserver.model.events.returns.TerminateReturn; -import org.l2jmobius.gameserver.model.zone.ZoneId; -import org.l2jmobius.gameserver.model.zone.ZoneType; -import org.l2jmobius.gameserver.model.zone.type.CastleZone; -import org.l2jmobius.gameserver.model.zone.type.FortZone; -import org.l2jmobius.gameserver.model.zone.type.HqZone; -import org.l2jmobius.gameserver.model.zone.type.WaterZone; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; @@ -49,7 +41,6 @@ import org.l2jmobius.gameserver.network.serverpackets.StopMove; import org.l2jmobius.gameserver.network.serverpackets.sayune.ExFlyMove; import org.l2jmobius.gameserver.network.serverpackets.sayune.ExFlyMoveBroadcast; import org.l2jmobius.gameserver.util.Broadcast; -import org.l2jmobius.gameserver.util.Util; public class MoveBackwardToLocation implements IClientIncomingPacket { @@ -106,75 +97,75 @@ public class MoveBackwardToLocation implements IClientIncomingPacket } // Prevent player force moving in or out siege area. - final AdminTeleportType teleMode = player.getTeleMode(); - if (!player.isFlying() && (teleMode == AdminTeleportType.NORMAL)) - { - final boolean siegable = player.isInsideZone(ZoneId.CASTLE) || player.isInsideZone(ZoneId.FORT); - boolean waterContact = player.isInsideZone(ZoneId.WATER); - if (siegable && !waterContact) // Need to know if player is over water only when siegable. - { - for (ZoneType zone : ZoneManager.getInstance().getZones(_originX, _originY)) - { - if ((zone instanceof WaterZone) && ((zone.getZone().getHighZ() + player.getCollisionHeight()) > _originZ)) - { - waterContact = true; - break; - } - } - } - if (player.isInsideZone(ZoneId.HQ) || (siegable && waterContact)) - { - boolean limited = false; - boolean water = false; - for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) - { - if ((zone instanceof CastleZone) || (zone instanceof FortZone)) - { - if (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 1000) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - limited = true; - } - if (zone instanceof WaterZone) - { - water = true; - } - } - if (limited && !water && !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - else if (siegable) - { - for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) - { - if ((zone instanceof WaterZone) || (zone instanceof HqZone)) - { - if ((Math.abs(_targetZ - _originZ) > 250) || !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - else if ((zone instanceof CastleZone) || (zone instanceof FortZone)) - { - if (((Math.abs(_targetZ - _originZ) < 100) || (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 2000)) && !GeoEngine.getInstance().canMoveToTarget(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, player.getInstanceWorld())) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - } - } - } + // final AdminTeleportType teleMode = player.getTeleMode(); + // if (!player.isFlying() && (teleMode == AdminTeleportType.NORMAL)) + // { + // final boolean siegable = player.isInsideZone(ZoneId.CASTLE) || player.isInsideZone(ZoneId.FORT); + // boolean waterContact = player.isInsideZone(ZoneId.WATER); + // if (siegable && !waterContact) // Need to know if player is over water only when siegable. + // { + // for (ZoneType zone : ZoneManager.getInstance().getZones(_originX, _originY)) + // { + // if ((zone instanceof WaterZone) && ((zone.getZone().getHighZ() + player.getCollisionHeight()) > _originZ)) + // { + // waterContact = true; + // break; + // } + // } + // } + // if (player.isInsideZone(ZoneId.HQ) || (siegable && waterContact)) + // { + // boolean limited = false; + // boolean water = false; + // for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) + // { + // if ((zone instanceof CastleZone) || (zone instanceof FortZone)) + // { + // if (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 1000) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // limited = true; + // } + // if (zone instanceof WaterZone) + // { + // water = true; + // } + // } + // if (limited && !water && !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // else if (siegable) + // { + // for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) + // { + // if ((zone instanceof WaterZone) || (zone instanceof HqZone)) + // { + // if ((Math.abs(_targetZ - _originZ) > 250) || !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // else if ((zone instanceof CastleZone) || (zone instanceof FortZone)) + // { + // if (((Math.abs(_targetZ - _originZ) < 100) || (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 2000)) && !GeoEngine.getInstance().canMoveToTarget(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, player.getInstanceWorld())) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // } + // } + // } // Correcting targetZ from floor level to head level (?) // Client is giving floor level as targetZ but that floor level doesn't @@ -212,6 +203,7 @@ public class MoveBackwardToLocation implements IClientIncomingPacket } } + final AdminTeleportType teleMode = player.getTeleMode(); switch (teleMode) { case DEMONIC: diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java index 783aebd7b0..5bde989957 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java @@ -24,20 +24,12 @@ import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.data.xml.impl.DoorData; import org.l2jmobius.gameserver.enums.AdminTeleportType; import org.l2jmobius.gameserver.enums.SayuneType; -import org.l2jmobius.gameserver.geoengine.GeoEngine; -import org.l2jmobius.gameserver.instancemanager.ZoneManager; import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.SayuneEntry; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.EventDispatcher; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerMoveRequest; import org.l2jmobius.gameserver.model.events.returns.TerminateReturn; -import org.l2jmobius.gameserver.model.zone.ZoneId; -import org.l2jmobius.gameserver.model.zone.ZoneType; -import org.l2jmobius.gameserver.model.zone.type.CastleZone; -import org.l2jmobius.gameserver.model.zone.type.FortZone; -import org.l2jmobius.gameserver.model.zone.type.HqZone; -import org.l2jmobius.gameserver.model.zone.type.WaterZone; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; @@ -49,7 +41,6 @@ import org.l2jmobius.gameserver.network.serverpackets.StopMove; import org.l2jmobius.gameserver.network.serverpackets.sayune.ExFlyMove; import org.l2jmobius.gameserver.network.serverpackets.sayune.ExFlyMoveBroadcast; import org.l2jmobius.gameserver.util.Broadcast; -import org.l2jmobius.gameserver.util.Util; public class MoveBackwardToLocation implements IClientIncomingPacket { @@ -106,75 +97,75 @@ public class MoveBackwardToLocation implements IClientIncomingPacket } // Prevent player force moving in or out siege area. - final AdminTeleportType teleMode = player.getTeleMode(); - if (!player.isFlying() && (teleMode == AdminTeleportType.NORMAL)) - { - final boolean siegable = player.isInsideZone(ZoneId.CASTLE) || player.isInsideZone(ZoneId.FORT); - boolean waterContact = player.isInsideZone(ZoneId.WATER); - if (siegable && !waterContact) // Need to know if player is over water only when siegable. - { - for (ZoneType zone : ZoneManager.getInstance().getZones(_originX, _originY)) - { - if ((zone instanceof WaterZone) && ((zone.getZone().getHighZ() + player.getCollisionHeight()) > _originZ)) - { - waterContact = true; - break; - } - } - } - if (player.isInsideZone(ZoneId.HQ) || (siegable && waterContact)) - { - boolean limited = false; - boolean water = false; - for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) - { - if ((zone instanceof CastleZone) || (zone instanceof FortZone)) - { - if (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 1000) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - limited = true; - } - if (zone instanceof WaterZone) - { - water = true; - } - } - if (limited && !water && !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - else if (siegable) - { - for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) - { - if ((zone instanceof WaterZone) || (zone instanceof HqZone)) - { - if ((Math.abs(_targetZ - _originZ) > 250) || !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - else if ((zone instanceof CastleZone) || (zone instanceof FortZone)) - { - if (((Math.abs(_targetZ - _originZ) < 100) || (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 2000)) && !GeoEngine.getInstance().canMoveToTarget(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, player.getInstanceWorld())) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - } - } - } + // final AdminTeleportType teleMode = player.getTeleMode(); + // if (!player.isFlying() && (teleMode == AdminTeleportType.NORMAL)) + // { + // final boolean siegable = player.isInsideZone(ZoneId.CASTLE) || player.isInsideZone(ZoneId.FORT); + // boolean waterContact = player.isInsideZone(ZoneId.WATER); + // if (siegable && !waterContact) // Need to know if player is over water only when siegable. + // { + // for (ZoneType zone : ZoneManager.getInstance().getZones(_originX, _originY)) + // { + // if ((zone instanceof WaterZone) && ((zone.getZone().getHighZ() + player.getCollisionHeight()) > _originZ)) + // { + // waterContact = true; + // break; + // } + // } + // } + // if (player.isInsideZone(ZoneId.HQ) || (siegable && waterContact)) + // { + // boolean limited = false; + // boolean water = false; + // for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) + // { + // if ((zone instanceof CastleZone) || (zone instanceof FortZone)) + // { + // if (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 1000) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // limited = true; + // } + // if (zone instanceof WaterZone) + // { + // water = true; + // } + // } + // if (limited && !water && !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // else if (siegable) + // { + // for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) + // { + // if ((zone instanceof WaterZone) || (zone instanceof HqZone)) + // { + // if ((Math.abs(_targetZ - _originZ) > 250) || !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // else if ((zone instanceof CastleZone) || (zone instanceof FortZone)) + // { + // if (((Math.abs(_targetZ - _originZ) < 100) || (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 2000)) && !GeoEngine.getInstance().canMoveToTarget(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, player.getInstanceWorld())) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // } + // } + // } // Correcting targetZ from floor level to head level (?) // Client is giving floor level as targetZ but that floor level doesn't @@ -212,6 +203,7 @@ public class MoveBackwardToLocation implements IClientIncomingPacket } } + final AdminTeleportType teleMode = player.getTeleMode(); switch (teleMode) { case DEMONIC: diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java index 783aebd7b0..5bde989957 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java @@ -24,20 +24,12 @@ import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.data.xml.impl.DoorData; import org.l2jmobius.gameserver.enums.AdminTeleportType; import org.l2jmobius.gameserver.enums.SayuneType; -import org.l2jmobius.gameserver.geoengine.GeoEngine; -import org.l2jmobius.gameserver.instancemanager.ZoneManager; import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.SayuneEntry; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.EventDispatcher; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerMoveRequest; import org.l2jmobius.gameserver.model.events.returns.TerminateReturn; -import org.l2jmobius.gameserver.model.zone.ZoneId; -import org.l2jmobius.gameserver.model.zone.ZoneType; -import org.l2jmobius.gameserver.model.zone.type.CastleZone; -import org.l2jmobius.gameserver.model.zone.type.FortZone; -import org.l2jmobius.gameserver.model.zone.type.HqZone; -import org.l2jmobius.gameserver.model.zone.type.WaterZone; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; @@ -49,7 +41,6 @@ import org.l2jmobius.gameserver.network.serverpackets.StopMove; import org.l2jmobius.gameserver.network.serverpackets.sayune.ExFlyMove; import org.l2jmobius.gameserver.network.serverpackets.sayune.ExFlyMoveBroadcast; import org.l2jmobius.gameserver.util.Broadcast; -import org.l2jmobius.gameserver.util.Util; public class MoveBackwardToLocation implements IClientIncomingPacket { @@ -106,75 +97,75 @@ public class MoveBackwardToLocation implements IClientIncomingPacket } // Prevent player force moving in or out siege area. - final AdminTeleportType teleMode = player.getTeleMode(); - if (!player.isFlying() && (teleMode == AdminTeleportType.NORMAL)) - { - final boolean siegable = player.isInsideZone(ZoneId.CASTLE) || player.isInsideZone(ZoneId.FORT); - boolean waterContact = player.isInsideZone(ZoneId.WATER); - if (siegable && !waterContact) // Need to know if player is over water only when siegable. - { - for (ZoneType zone : ZoneManager.getInstance().getZones(_originX, _originY)) - { - if ((zone instanceof WaterZone) && ((zone.getZone().getHighZ() + player.getCollisionHeight()) > _originZ)) - { - waterContact = true; - break; - } - } - } - if (player.isInsideZone(ZoneId.HQ) || (siegable && waterContact)) - { - boolean limited = false; - boolean water = false; - for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) - { - if ((zone instanceof CastleZone) || (zone instanceof FortZone)) - { - if (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 1000) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - limited = true; - } - if (zone instanceof WaterZone) - { - water = true; - } - } - if (limited && !water && !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - else if (siegable) - { - for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) - { - if ((zone instanceof WaterZone) || (zone instanceof HqZone)) - { - if ((Math.abs(_targetZ - _originZ) > 250) || !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - else if ((zone instanceof CastleZone) || (zone instanceof FortZone)) - { - if (((Math.abs(_targetZ - _originZ) < 100) || (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 2000)) && !GeoEngine.getInstance().canMoveToTarget(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, player.getInstanceWorld())) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - } - } - } + // final AdminTeleportType teleMode = player.getTeleMode(); + // if (!player.isFlying() && (teleMode == AdminTeleportType.NORMAL)) + // { + // final boolean siegable = player.isInsideZone(ZoneId.CASTLE) || player.isInsideZone(ZoneId.FORT); + // boolean waterContact = player.isInsideZone(ZoneId.WATER); + // if (siegable && !waterContact) // Need to know if player is over water only when siegable. + // { + // for (ZoneType zone : ZoneManager.getInstance().getZones(_originX, _originY)) + // { + // if ((zone instanceof WaterZone) && ((zone.getZone().getHighZ() + player.getCollisionHeight()) > _originZ)) + // { + // waterContact = true; + // break; + // } + // } + // } + // if (player.isInsideZone(ZoneId.HQ) || (siegable && waterContact)) + // { + // boolean limited = false; + // boolean water = false; + // for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) + // { + // if ((zone instanceof CastleZone) || (zone instanceof FortZone)) + // { + // if (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 1000) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // limited = true; + // } + // if (zone instanceof WaterZone) + // { + // water = true; + // } + // } + // if (limited && !water && !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // else if (siegable) + // { + // for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) + // { + // if ((zone instanceof WaterZone) || (zone instanceof HqZone)) + // { + // if ((Math.abs(_targetZ - _originZ) > 250) || !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // else if ((zone instanceof CastleZone) || (zone instanceof FortZone)) + // { + // if (((Math.abs(_targetZ - _originZ) < 100) || (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 2000)) && !GeoEngine.getInstance().canMoveToTarget(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, player.getInstanceWorld())) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // } + // } + // } // Correcting targetZ from floor level to head level (?) // Client is giving floor level as targetZ but that floor level doesn't @@ -212,6 +203,7 @@ public class MoveBackwardToLocation implements IClientIncomingPacket } } + final AdminTeleportType teleMode = player.getTeleMode(); switch (teleMode) { case DEMONIC: diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java index 783aebd7b0..5bde989957 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java @@ -24,20 +24,12 @@ import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.data.xml.impl.DoorData; import org.l2jmobius.gameserver.enums.AdminTeleportType; import org.l2jmobius.gameserver.enums.SayuneType; -import org.l2jmobius.gameserver.geoengine.GeoEngine; -import org.l2jmobius.gameserver.instancemanager.ZoneManager; import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.SayuneEntry; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.EventDispatcher; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerMoveRequest; import org.l2jmobius.gameserver.model.events.returns.TerminateReturn; -import org.l2jmobius.gameserver.model.zone.ZoneId; -import org.l2jmobius.gameserver.model.zone.ZoneType; -import org.l2jmobius.gameserver.model.zone.type.CastleZone; -import org.l2jmobius.gameserver.model.zone.type.FortZone; -import org.l2jmobius.gameserver.model.zone.type.HqZone; -import org.l2jmobius.gameserver.model.zone.type.WaterZone; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; @@ -49,7 +41,6 @@ import org.l2jmobius.gameserver.network.serverpackets.StopMove; import org.l2jmobius.gameserver.network.serverpackets.sayune.ExFlyMove; import org.l2jmobius.gameserver.network.serverpackets.sayune.ExFlyMoveBroadcast; import org.l2jmobius.gameserver.util.Broadcast; -import org.l2jmobius.gameserver.util.Util; public class MoveBackwardToLocation implements IClientIncomingPacket { @@ -106,75 +97,75 @@ public class MoveBackwardToLocation implements IClientIncomingPacket } // Prevent player force moving in or out siege area. - final AdminTeleportType teleMode = player.getTeleMode(); - if (!player.isFlying() && (teleMode == AdminTeleportType.NORMAL)) - { - final boolean siegable = player.isInsideZone(ZoneId.CASTLE) || player.isInsideZone(ZoneId.FORT); - boolean waterContact = player.isInsideZone(ZoneId.WATER); - if (siegable && !waterContact) // Need to know if player is over water only when siegable. - { - for (ZoneType zone : ZoneManager.getInstance().getZones(_originX, _originY)) - { - if ((zone instanceof WaterZone) && ((zone.getZone().getHighZ() + player.getCollisionHeight()) > _originZ)) - { - waterContact = true; - break; - } - } - } - if (player.isInsideZone(ZoneId.HQ) || (siegable && waterContact)) - { - boolean limited = false; - boolean water = false; - for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) - { - if ((zone instanceof CastleZone) || (zone instanceof FortZone)) - { - if (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 1000) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - limited = true; - } - if (zone instanceof WaterZone) - { - water = true; - } - } - if (limited && !water && !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - else if (siegable) - { - for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) - { - if ((zone instanceof WaterZone) || (zone instanceof HqZone)) - { - if ((Math.abs(_targetZ - _originZ) > 250) || !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - else if ((zone instanceof CastleZone) || (zone instanceof FortZone)) - { - if (((Math.abs(_targetZ - _originZ) < 100) || (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 2000)) && !GeoEngine.getInstance().canMoveToTarget(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, player.getInstanceWorld())) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - } - } - } + // final AdminTeleportType teleMode = player.getTeleMode(); + // if (!player.isFlying() && (teleMode == AdminTeleportType.NORMAL)) + // { + // final boolean siegable = player.isInsideZone(ZoneId.CASTLE) || player.isInsideZone(ZoneId.FORT); + // boolean waterContact = player.isInsideZone(ZoneId.WATER); + // if (siegable && !waterContact) // Need to know if player is over water only when siegable. + // { + // for (ZoneType zone : ZoneManager.getInstance().getZones(_originX, _originY)) + // { + // if ((zone instanceof WaterZone) && ((zone.getZone().getHighZ() + player.getCollisionHeight()) > _originZ)) + // { + // waterContact = true; + // break; + // } + // } + // } + // if (player.isInsideZone(ZoneId.HQ) || (siegable && waterContact)) + // { + // boolean limited = false; + // boolean water = false; + // for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) + // { + // if ((zone instanceof CastleZone) || (zone instanceof FortZone)) + // { + // if (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 1000) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // limited = true; + // } + // if (zone instanceof WaterZone) + // { + // water = true; + // } + // } + // if (limited && !water && !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // else if (siegable) + // { + // for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) + // { + // if ((zone instanceof WaterZone) || (zone instanceof HqZone)) + // { + // if ((Math.abs(_targetZ - _originZ) > 250) || !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // else if ((zone instanceof CastleZone) || (zone instanceof FortZone)) + // { + // if (((Math.abs(_targetZ - _originZ) < 100) || (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 2000)) && !GeoEngine.getInstance().canMoveToTarget(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, player.getInstanceWorld())) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // } + // } + // } // Correcting targetZ from floor level to head level (?) // Client is giving floor level as targetZ but that floor level doesn't @@ -212,6 +203,7 @@ public class MoveBackwardToLocation implements IClientIncomingPacket } } + final AdminTeleportType teleMode = player.getTeleMode(); switch (teleMode) { case DEMONIC: diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java index 783aebd7b0..5bde989957 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java @@ -24,20 +24,12 @@ import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.data.xml.impl.DoorData; import org.l2jmobius.gameserver.enums.AdminTeleportType; import org.l2jmobius.gameserver.enums.SayuneType; -import org.l2jmobius.gameserver.geoengine.GeoEngine; -import org.l2jmobius.gameserver.instancemanager.ZoneManager; import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.SayuneEntry; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.EventDispatcher; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerMoveRequest; import org.l2jmobius.gameserver.model.events.returns.TerminateReturn; -import org.l2jmobius.gameserver.model.zone.ZoneId; -import org.l2jmobius.gameserver.model.zone.ZoneType; -import org.l2jmobius.gameserver.model.zone.type.CastleZone; -import org.l2jmobius.gameserver.model.zone.type.FortZone; -import org.l2jmobius.gameserver.model.zone.type.HqZone; -import org.l2jmobius.gameserver.model.zone.type.WaterZone; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; @@ -49,7 +41,6 @@ import org.l2jmobius.gameserver.network.serverpackets.StopMove; import org.l2jmobius.gameserver.network.serverpackets.sayune.ExFlyMove; import org.l2jmobius.gameserver.network.serverpackets.sayune.ExFlyMoveBroadcast; import org.l2jmobius.gameserver.util.Broadcast; -import org.l2jmobius.gameserver.util.Util; public class MoveBackwardToLocation implements IClientIncomingPacket { @@ -106,75 +97,75 @@ public class MoveBackwardToLocation implements IClientIncomingPacket } // Prevent player force moving in or out siege area. - final AdminTeleportType teleMode = player.getTeleMode(); - if (!player.isFlying() && (teleMode == AdminTeleportType.NORMAL)) - { - final boolean siegable = player.isInsideZone(ZoneId.CASTLE) || player.isInsideZone(ZoneId.FORT); - boolean waterContact = player.isInsideZone(ZoneId.WATER); - if (siegable && !waterContact) // Need to know if player is over water only when siegable. - { - for (ZoneType zone : ZoneManager.getInstance().getZones(_originX, _originY)) - { - if ((zone instanceof WaterZone) && ((zone.getZone().getHighZ() + player.getCollisionHeight()) > _originZ)) - { - waterContact = true; - break; - } - } - } - if (player.isInsideZone(ZoneId.HQ) || (siegable && waterContact)) - { - boolean limited = false; - boolean water = false; - for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) - { - if ((zone instanceof CastleZone) || (zone instanceof FortZone)) - { - if (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 1000) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - limited = true; - } - if (zone instanceof WaterZone) - { - water = true; - } - } - if (limited && !water && !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - else if (siegable) - { - for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) - { - if ((zone instanceof WaterZone) || (zone instanceof HqZone)) - { - if ((Math.abs(_targetZ - _originZ) > 250) || !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - else if ((zone instanceof CastleZone) || (zone instanceof FortZone)) - { - if (((Math.abs(_targetZ - _originZ) < 100) || (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 2000)) && !GeoEngine.getInstance().canMoveToTarget(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, player.getInstanceWorld())) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - } - } - } + // final AdminTeleportType teleMode = player.getTeleMode(); + // if (!player.isFlying() && (teleMode == AdminTeleportType.NORMAL)) + // { + // final boolean siegable = player.isInsideZone(ZoneId.CASTLE) || player.isInsideZone(ZoneId.FORT); + // boolean waterContact = player.isInsideZone(ZoneId.WATER); + // if (siegable && !waterContact) // Need to know if player is over water only when siegable. + // { + // for (ZoneType zone : ZoneManager.getInstance().getZones(_originX, _originY)) + // { + // if ((zone instanceof WaterZone) && ((zone.getZone().getHighZ() + player.getCollisionHeight()) > _originZ)) + // { + // waterContact = true; + // break; + // } + // } + // } + // if (player.isInsideZone(ZoneId.HQ) || (siegable && waterContact)) + // { + // boolean limited = false; + // boolean water = false; + // for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) + // { + // if ((zone instanceof CastleZone) || (zone instanceof FortZone)) + // { + // if (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 1000) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // limited = true; + // } + // if (zone instanceof WaterZone) + // { + // water = true; + // } + // } + // if (limited && !water && !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // else if (siegable) + // { + // for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) + // { + // if ((zone instanceof WaterZone) || (zone instanceof HqZone)) + // { + // if ((Math.abs(_targetZ - _originZ) > 250) || !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // else if ((zone instanceof CastleZone) || (zone instanceof FortZone)) + // { + // if (((Math.abs(_targetZ - _originZ) < 100) || (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 2000)) && !GeoEngine.getInstance().canMoveToTarget(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, player.getInstanceWorld())) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // } + // } + // } // Correcting targetZ from floor level to head level (?) // Client is giving floor level as targetZ but that floor level doesn't @@ -212,6 +203,7 @@ public class MoveBackwardToLocation implements IClientIncomingPacket } } + final AdminTeleportType teleMode = player.getTeleMode(); switch (teleMode) { case DEMONIC: diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java index 783aebd7b0..5bde989957 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java @@ -24,20 +24,12 @@ import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.data.xml.impl.DoorData; import org.l2jmobius.gameserver.enums.AdminTeleportType; import org.l2jmobius.gameserver.enums.SayuneType; -import org.l2jmobius.gameserver.geoengine.GeoEngine; -import org.l2jmobius.gameserver.instancemanager.ZoneManager; import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.SayuneEntry; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.EventDispatcher; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerMoveRequest; import org.l2jmobius.gameserver.model.events.returns.TerminateReturn; -import org.l2jmobius.gameserver.model.zone.ZoneId; -import org.l2jmobius.gameserver.model.zone.ZoneType; -import org.l2jmobius.gameserver.model.zone.type.CastleZone; -import org.l2jmobius.gameserver.model.zone.type.FortZone; -import org.l2jmobius.gameserver.model.zone.type.HqZone; -import org.l2jmobius.gameserver.model.zone.type.WaterZone; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; @@ -49,7 +41,6 @@ import org.l2jmobius.gameserver.network.serverpackets.StopMove; import org.l2jmobius.gameserver.network.serverpackets.sayune.ExFlyMove; import org.l2jmobius.gameserver.network.serverpackets.sayune.ExFlyMoveBroadcast; import org.l2jmobius.gameserver.util.Broadcast; -import org.l2jmobius.gameserver.util.Util; public class MoveBackwardToLocation implements IClientIncomingPacket { @@ -106,75 +97,75 @@ public class MoveBackwardToLocation implements IClientIncomingPacket } // Prevent player force moving in or out siege area. - final AdminTeleportType teleMode = player.getTeleMode(); - if (!player.isFlying() && (teleMode == AdminTeleportType.NORMAL)) - { - final boolean siegable = player.isInsideZone(ZoneId.CASTLE) || player.isInsideZone(ZoneId.FORT); - boolean waterContact = player.isInsideZone(ZoneId.WATER); - if (siegable && !waterContact) // Need to know if player is over water only when siegable. - { - for (ZoneType zone : ZoneManager.getInstance().getZones(_originX, _originY)) - { - if ((zone instanceof WaterZone) && ((zone.getZone().getHighZ() + player.getCollisionHeight()) > _originZ)) - { - waterContact = true; - break; - } - } - } - if (player.isInsideZone(ZoneId.HQ) || (siegable && waterContact)) - { - boolean limited = false; - boolean water = false; - for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) - { - if ((zone instanceof CastleZone) || (zone instanceof FortZone)) - { - if (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 1000) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - limited = true; - } - if (zone instanceof WaterZone) - { - water = true; - } - } - if (limited && !water && !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - else if (siegable) - { - for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) - { - if ((zone instanceof WaterZone) || (zone instanceof HqZone)) - { - if ((Math.abs(_targetZ - _originZ) > 250) || !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - else if ((zone instanceof CastleZone) || (zone instanceof FortZone)) - { - if (((Math.abs(_targetZ - _originZ) < 100) || (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 2000)) && !GeoEngine.getInstance().canMoveToTarget(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, player.getInstanceWorld())) - { - player.stopMove(player.getLastServerPosition()); - player.sendPacket(ActionFailed.STATIC_PACKET); - return; - } - } - } - } - } + // final AdminTeleportType teleMode = player.getTeleMode(); + // if (!player.isFlying() && (teleMode == AdminTeleportType.NORMAL)) + // { + // final boolean siegable = player.isInsideZone(ZoneId.CASTLE) || player.isInsideZone(ZoneId.FORT); + // boolean waterContact = player.isInsideZone(ZoneId.WATER); + // if (siegable && !waterContact) // Need to know if player is over water only when siegable. + // { + // for (ZoneType zone : ZoneManager.getInstance().getZones(_originX, _originY)) + // { + // if ((zone instanceof WaterZone) && ((zone.getZone().getHighZ() + player.getCollisionHeight()) > _originZ)) + // { + // waterContact = true; + // break; + // } + // } + // } + // if (player.isInsideZone(ZoneId.HQ) || (siegable && waterContact)) + // { + // boolean limited = false; + // boolean water = false; + // for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) + // { + // if ((zone instanceof CastleZone) || (zone instanceof FortZone)) + // { + // if (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 1000) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // limited = true; + // } + // if (zone instanceof WaterZone) + // { + // water = true; + // } + // } + // if (limited && !water && !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // else if (siegable) + // { + // for (ZoneType zone : ZoneManager.getInstance().getZones(_targetX, _targetY, _targetZ)) + // { + // if ((zone instanceof WaterZone) || (zone instanceof HqZone)) + // { + // if ((Math.abs(_targetZ - _originZ) > 250) || !GeoEngine.getInstance().canSeeTarget(player, new Location(_targetX, _targetY, _targetZ))) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // else if ((zone instanceof CastleZone) || (zone instanceof FortZone)) + // { + // if (((Math.abs(_targetZ - _originZ) < 100) || (Util.calculateDistance(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, false, false) > 2000)) && !GeoEngine.getInstance().canMoveToTarget(_originX, _originY, _originZ, _targetX, _targetY, _targetZ, player.getInstanceWorld())) + // { + // player.stopMove(player.getLastServerPosition()); + // player.sendPacket(ActionFailed.STATIC_PACKET); + // return; + // } + // } + // } + // } + // } // Correcting targetZ from floor level to head level (?) // Client is giving floor level as targetZ but that floor level doesn't @@ -212,6 +203,7 @@ public class MoveBackwardToLocation implements IClientIncomingPacket } } + final AdminTeleportType teleMode = player.getTeleMode(); switch (teleMode) { case DEMONIC: