diff --git a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/AdminCommands.java b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/AdminCommands.java index 7a16575bca..0352cad3e4 100644 --- a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/AdminCommands.java +++ b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/AdminCommands.java @@ -48,7 +48,6 @@ import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld; import org.l2jmobius.gameserver.network.serverpackets.MagicSkillUser; import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage; import org.l2jmobius.gameserver.network.serverpackets.StatusUpdate; -import org.l2jmobius.gameserver.network.serverpackets.TeleportToLocation; import org.l2jmobius.gameserver.templates.Npc; public class AdminCommands extends Thread @@ -476,11 +475,7 @@ public class AdminCommands extends Thread final int y = Integer.parseInt(y1); final String z1 = st.nextToken(); final int z = Integer.parseInt(z1); - final TeleportToLocation tele = new TeleportToLocation(activeChar, x, y, z); - activeChar.sendPacket(tele); - activeChar.setX(x); - activeChar.setY(y); - activeChar.setZ(z); + activeChar.teleToLocation(x, y, z); activeChar.sendMessage("You have been teleported to " + coords); showMainPage(client); } @@ -869,11 +864,7 @@ public class AdminCommands extends Thread final String z1 = st.nextToken(); final int z = Integer.parseInt(z1); player.sendMessage("Admin is teleporting you."); - final TeleportToLocation tele = new TeleportToLocation(player, x, y, z); - player.sendPacket(tele); - player.setX(x); - player.setY(y); - player.setZ(z); + player.teleToLocation(x, y, z); activeChar.sendMessage("Character " + player.getName() + " teleported to " + x + " " + y + " " + z); } showMainPage(client); @@ -889,14 +880,7 @@ public class AdminCommands extends Thread } else { - final int x = player.getX(); - final int y = player.getY(); - final int z = player.getZ(); - final TeleportToLocation tele = new TeleportToLocation(activeChar, x, y, z); - activeChar.sendPacket(tele); - activeChar.setX(x); - activeChar.setY(y); - activeChar.setZ(z); + player.teleToLocation(player.getX(), player.getY(), player.getZ()); activeChar.sendMessage("You have teleported to character " + player.getName() + "."); } showMainPage(client); diff --git a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/handler/itemhandlers/ScrollOfEscape.java b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/handler/itemhandlers/ScrollOfEscape.java index 85269ddb62..b55bfc813b 100644 --- a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/handler/itemhandlers/ScrollOfEscape.java +++ b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/handler/itemhandlers/ScrollOfEscape.java @@ -21,14 +21,12 @@ import org.l2jmobius.gameserver.data.MapRegionTable; import org.l2jmobius.gameserver.data.SkillTable; import org.l2jmobius.gameserver.handler.IItemHandler; import org.l2jmobius.gameserver.model.Skill; -import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.actor.instance.ItemInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; import org.l2jmobius.gameserver.network.serverpackets.MagicSkillUser; import org.l2jmobius.gameserver.network.serverpackets.SetupGauge; import org.l2jmobius.gameserver.network.serverpackets.StopMove; -import org.l2jmobius.gameserver.network.serverpackets.TeleportToLocation; public class ScrollOfEscape implements IItemHandler { @@ -64,22 +62,7 @@ public class ScrollOfEscape implements IItemHandler activeChar.broadcastPacket(sm); final ActionFailed af = new ActionFailed(); activeChar.sendPacket(af); - World.getInstance().removeVisibleObject(activeChar); - activeChar.removeAllKnownObjects(); - final TeleportToLocation teleport = new TeleportToLocation(activeChar, townCords[0], townCords[1], townCords[2]); - activeChar.sendPacket(teleport); - activeChar.broadcastPacket(teleport); - activeChar.setX(townCords[0]); - activeChar.setY(townCords[1]); - activeChar.setZ(townCords[2]); - try - { - Thread.sleep(2000L); - } - catch (InterruptedException e) - { - // empty catch block - } + activeChar.teleToLocation(townCords[0], townCords[1], townCords[2]); return 1; } diff --git a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/model/actor/Creature.java b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/model/actor/Creature.java index c3c4f86287..c6ad771d92 100644 --- a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/model/actor/Creature.java +++ b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/model/actor/Creature.java @@ -45,6 +45,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SocialAction; import org.l2jmobius.gameserver.network.serverpackets.StatusUpdate; import org.l2jmobius.gameserver.network.serverpackets.StopMove; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; +import org.l2jmobius.gameserver.network.serverpackets.TeleportToLocation; import org.l2jmobius.gameserver.templates.Weapon; import org.l2jmobius.util.Rnd; @@ -1552,4 +1553,23 @@ public abstract class Creature extends WorldObject } } + public void teleToLocation(int x, int y, int z) + { + final TeleportToLocation teleportToLocation = new TeleportToLocation(this, x, y, z); + sendPacket(teleportToLocation); + broadcastPacket(teleportToLocation); + World.getInstance().removeVisibleObject(this); + removeAllKnownObjects(); + setX(x); + setY(y); + setZ(z); + try + { + Thread.sleep(2000); + } + catch (InterruptedException e) + { + } + World.getInstance().addVisibleObject(this); + } } diff --git a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index a7ae5327d5..0ca69112a1 100644 --- a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -1834,7 +1834,8 @@ public class PlayerInstance extends Creature // TODO: Check for more? if (((regionX == 18) && (regionY == 19)) // School of Dark Arts || ((regionX == 18) && (regionY == 23)) // Forgotten Temple - || ((regionX == 19) && (regionY == 23)) // Ant Nest + || ((regionX == 19) && (regionY == 23)) // Wastelands - Ant Nest + || ((regionX == 19) && (regionY == 24)) // Wastelands - Southern Entrance || ((regionX == 20) && (regionY == 18)) // Dark Elf Village || ((regionX == 20) && (regionY == 21)) // Cruma Tower || ((regionX == 21) && (regionY == 18)) // Sea of Spores diff --git a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/model/actor/instance/TeleporterInstance.java b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/model/actor/instance/TeleporterInstance.java index 575339cee8..ff75fbd1d6 100644 --- a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/model/actor/instance/TeleporterInstance.java +++ b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/model/actor/instance/TeleporterInstance.java @@ -21,10 +21,8 @@ import java.util.logging.Logger; import org.l2jmobius.gameserver.data.TeleportLocationTable; import org.l2jmobius.gameserver.model.TeleportLocation; -import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; -import org.l2jmobius.gameserver.network.serverpackets.TeleportToLocation; import org.l2jmobius.gameserver.templates.Npc; public class TeleporterInstance extends NpcInstance @@ -69,21 +67,7 @@ public class TeleporterInstance extends NpcInstance if (player.getAdena() >= list.getPrice()) { player.reduceAdena(list.getPrice()); - final TeleportToLocation Tloc = new TeleportToLocation(player, list.getLocX(), list.getLocY(), list.getLocZ()); - player.sendPacket(Tloc); - World.getInstance().removeVisibleObject(player); - player.removeAllKnownObjects(); - player.setX(list.getLocX()); - player.setY(list.getLocY()); - player.setZ(list.getLocZ()); - try - { - Thread.sleep(2000L); - } - catch (InterruptedException e) - { - } - World.getInstance().addVisibleObject(player); + player.teleToLocation(list.getLocX(), list.getLocY(), list.getLocZ()); } else { diff --git a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java index 552a63a99b..9e6c908791 100644 --- a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java +++ b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java @@ -32,7 +32,6 @@ import org.l2jmobius.gameserver.network.serverpackets.Die; import org.l2jmobius.gameserver.network.serverpackets.ItemList; import org.l2jmobius.gameserver.network.serverpackets.ShortCutInit; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; -import org.l2jmobius.gameserver.network.serverpackets.TeleportToLocation; import org.l2jmobius.gameserver.network.serverpackets.UserInfo; public class EnterWorld extends ClientBasePacket @@ -98,20 +97,7 @@ public class EnterWorld extends ClientBasePacket if (activeChar.getZ() < -16000) { final int[] townCords = MapRegionTable.getInstance().getClosestTownCords(activeChar); - activeChar.sendPacket(new TeleportToLocation(activeChar, townCords[0], townCords[1], townCords[2])); - World.getInstance().removeVisibleObject(activeChar); - activeChar.removeAllKnownObjects(); - activeChar.setX(townCords[0]); - activeChar.setY(townCords[1]); - activeChar.setZ(townCords[2]); - try - { - Thread.sleep(2000L); - } - catch (InterruptedException e) - { - } - World.getInstance().addVisibleObject(activeChar); + activeChar.teleToLocation(townCords[0], townCords[1], townCords[2]); } // Water check. diff --git a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java index c0b928134e..1d664b777b 100644 --- a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java +++ b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/MoveBackwardToLocation.java @@ -18,7 +18,6 @@ package org.l2jmobius.gameserver.network.clientpackets; import org.l2jmobius.gameserver.enums.CreatureState; -import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.network.ClientThread; import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; @@ -58,10 +57,6 @@ public class MoveBackwardToLocation extends ClientBasePacket activeChar.setZ(originZ); activeChar.moveTo(targetX, targetY, targetZ, 0); - final int x = ((activeChar.getX() - World.MAP_MIN_X) >> 15) + World.TILE_X_MIN; - final int y = ((activeChar.getY() - World.MAP_MIN_Y) >> 15) + World.TILE_Y_MIN; - System.out.println(x + " " + y); - // Water check. activeChar.checkWaterState(); } diff --git a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/RequestRestartPoint.java b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/RequestRestartPoint.java index 4a0cc5d267..f56d487dd3 100644 --- a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/RequestRestartPoint.java +++ b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/RequestRestartPoint.java @@ -20,7 +20,6 @@ package org.l2jmobius.gameserver.network.clientpackets; import java.io.IOException; import org.l2jmobius.gameserver.data.MapRegionTable; -import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.network.ClientThread; import org.l2jmobius.gameserver.network.Connection; @@ -28,7 +27,6 @@ import org.l2jmobius.gameserver.network.serverpackets.ActionFailed; import org.l2jmobius.gameserver.network.serverpackets.Revive; import org.l2jmobius.gameserver.network.serverpackets.SocialAction; import org.l2jmobius.gameserver.network.serverpackets.StopMove; -import org.l2jmobius.gameserver.network.serverpackets.TeleportToLocation; public class RequestRestartPoint extends ClientBasePacket { @@ -45,25 +43,10 @@ public class RequestRestartPoint extends ClientBasePacket final ActionFailed actionFailed = new ActionFailed(); con.sendPacket(actionFailed); activeChar.broadcastPacket(stopMove); - final TeleportToLocation teleport = new TeleportToLocation(activeChar, townCords[0], townCords[1], townCords[2]); - activeChar.sendPacket(teleport); - World.getInstance().removeVisibleObject(activeChar); - activeChar.removeAllKnownObjects(); - activeChar.setX(townCords[0]); - activeChar.setY(townCords[1]); - activeChar.setZ(townCords[2]); + activeChar.teleToLocation(townCords[0], townCords[1], townCords[2]); activeChar.setCurrentHp(0.6 * activeChar.getMaxHp()); activeChar.setCurrentMp(0.6 * activeChar.getMaxMp()); final Revive revive = new Revive(activeChar); - try - { - Thread.sleep(2000L); - } - catch (InterruptedException e) - { - // empty catch block - } - World.getInstance().addVisibleObject(activeChar); final SocialAction sa = new SocialAction(activeChar.getObjectId(), 15); activeChar.broadcastPacket(sa); activeChar.sendPacket(sa); diff --git a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/ValidatePosition.java b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/ValidatePosition.java index e008528da4..3ae0206c30 100644 --- a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/ValidatePosition.java +++ b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/ValidatePosition.java @@ -46,11 +46,6 @@ public class ValidatePosition extends ClientBasePacket final PlayerInstance activeChar = client.getActiveChar(); if (activeChar != null) { - // Connection con = client.getConnection(); - // int realX = activeChar.getX(); - // int realY = activeChar.getY(); - // int realZ = activeChar.getZ(); - // int realHeading = activeChar.getHeading(); activeChar.setZ(z); activeChar.updateKnownCounter = (byte) (activeChar.updateKnownCounter + 1); if (activeChar.updateKnownCounter > 3)