From d48c3a4a8e3423b7c2720eab546df1b02de0054a Mon Sep 17 00:00:00 2001 From: xban1x <urban.lavbic@gmail.com> Date: Sat, 24 Aug 2013 18:38:21 +0000 Subject: [PATCH] BETA: DP-Part for [L6170] * Reviewed by: Zoey76, UnAfraid, Nos * Tested by: zatei --- .../ai/group_template/EnergySeeds.java | 11 +- .../ai/group_template/PrisonGuards.java | 4 +- .../data/scripts/ai/individual/Baium.java | 35 ++-- .../data/scripts/ai/individual/Beleth.java | 4 +- .../data/scripts/ai/individual/DrChaos.java | 7 +- .../data/scripts/ai/individual/Orfen.java | 6 +- .../data/scripts/ai/individual/QueenAnt.java | 11 +- .../data/scripts/ai/individual/Ranku.java | 2 +- .../data/scripts/ai/individual/Valakas.java | 9 +- .../scripts/ai/individual/Venom/Venom.java | 18 +- .../data/scripts/ai/individual/Zaken.java | 67 +++--- .../npc/Teleports/CrumaTower/CrumaTower.java | 5 +- .../ElrokiTeleporters/ElrokiTeleporters.java | 8 +- .../GrandBossTeleporters.java | 17 +- .../OracleTeleport/OracleTeleport.java | 20 +- .../PaganTeleporters/PaganTeleporters.java | 24 ++- .../SteelCitadelTeleport.java | 5 +- .../ai/npc/Teleports/Survivor/Survivor.java | 5 +- .../TeleportToFantasy/TeleportToFantasy.java | 4 +- .../TeleportToRaceTrack.java | 6 +- .../TeleportWithCharm/TeleportWithCharm.java | 8 +- .../ai/npc/Teleports/ToIVortex/ToIVortex.java | 198 ++++-------------- .../ai/npc/Teleports/Warpgate/Warpgate.java | 8 +- .../RainbowSpringsChateau.java | 41 +--- .../admincommandhandlers/AdminEffects.java | 2 +- .../AdminEventEngine.java | 4 +- .../admincommandhandlers/AdminInstance.java | 2 +- .../admincommandhandlers/AdminMammon.java | 4 +- .../admincommandhandlers/AdminMenu.java | 21 +- .../admincommandhandlers/AdminSpawn.java | 2 +- .../admincommandhandlers/AdminTeleport.java | 18 +- .../handlers/bypasshandlers/Observation.java | 3 +- .../handlers/effecthandlers/CallParty.java | 2 +- .../voicedcommandhandlers/Wedding.java | 17 +- .../scripts/hellbound/Deltuva/Deltuva.java | 5 +- .../data/scripts/hellbound/Quarry/Quarry.java | 2 +- .../data/scripts/hellbound/Shadai/Shadai.java | 27 +-- .../TowerOfInfinitum/TowerOfInfinitum.java | 4 +- .../instances/ChambersOfDelusion/Chamber.java | 4 +- .../CrystalCaverns/CrystalCaverns.java | 4 +- .../HellboundTown/HellboundTown.java | 2 +- .../HideoutOfTheDawn/HideoutOfTheDawn.java | 2 +- .../Q10288_SecretMission.java | 5 +- 43 files changed, 264 insertions(+), 389 deletions(-) diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/EnergySeeds.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/EnergySeeds.java index a27f27f9de..c89b6f8694 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/EnergySeeds.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/EnergySeeds.java @@ -82,10 +82,7 @@ public class EnergySeeds extends AbstractNpcAI 12240024, 12240025, 12240026, 12240027, 12240028, 12240029, 12240030, 12240031 }; - private static final int[] SOD_EXIT_POINT = - { - -248717, 250260, 4337 - }; + private static final Location SOD_EXIT_POINT = new Location(-248717, 250260, 4337); // @formatter:off private static final int SOD_ZONE = 60009; @@ -213,7 +210,7 @@ public class EnergySeeds extends AbstractNpcAI { if (ch != null) { - ch.teleToLocation(SOD_EXIT_POINT[0], SOD_EXIT_POINT[1], SOD_EXIT_POINT[2]); + ch.teleToLocation(SOD_EXIT_POINT); } } stopAI(GraciaSeeds.DESTRUCTION); @@ -237,7 +234,7 @@ public class EnergySeeds extends AbstractNpcAI { if (npc.getId() == TEMPORARY_TELEPORTER) { - player.teleToLocation(SOD_EXIT_POINT[0], SOD_EXIT_POINT[1], SOD_EXIT_POINT[2]); + player.teleToLocation(SOD_EXIT_POINT); } player.sendPacket(ActionFailed.STATIC_PACKET); return null; @@ -269,7 +266,7 @@ public class EnergySeeds extends AbstractNpcAI case SOD_ZONE: if (!isSeedActive(GraciaSeeds.DESTRUCTION) && !character.isGM()) { - character.teleToLocation(SOD_EXIT_POINT[0], SOD_EXIT_POINT[1], SOD_EXIT_POINT[2]); + character.teleToLocation(SOD_EXIT_POINT); } break; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/PrisonGuards.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/PrisonGuards.java index e6c6157772..03606bf2d7 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/PrisonGuards.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/group_template/PrisonGuards.java @@ -120,7 +120,7 @@ public class PrisonGuards extends AbstractNpcAI { if ((npc.getX() != npc.getSpawn().getX()) || (npc.getY() != npc.getSpawn().getY())) { - npc.teleToLocation(npc.getSpawn().getX(), npc.getSpawn().getY(), npc.getSpawn().getZ(), npc.getSpawn().getHeading(), false); + npc.teleToLocation(npc.getSpawn().getLocation()); npc.setIsImmobilized(true); } ((L2Attackable) npc).getAggroList().clear(); @@ -171,7 +171,7 @@ public class PrisonGuards extends AbstractNpcAI { if ((npc.getX() != npc.getSpawn().getX()) || (npc.getY() != npc.getSpawn().getY())) { - npc.teleToLocation(npc.getSpawn().getX(), npc.getSpawn().getY(), npc.getSpawn().getZ(), npc.getSpawn().getHeading(), false); + npc.teleToLocation(npc.getSpawn().getLocation()); npc.setIsImmobilized(true); } ((L2Attackable) npc).getAggroList().remove(target); diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Baium.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Baium.java index 6aeb785587..587b19ef6a 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Baium.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Baium.java @@ -79,7 +79,14 @@ public class Baium extends AbstractNpcAI new Location(115168, 17200, 10080, 0), new Location(115792, 16608, 10080, 0) }; - + private static final Location[] TELEPORT_CUBIC_LOCATION = new Location[] + { + new Location(108784, 16000, -4928), + new Location(113824, 10448, -5164), + new Location(115488, 22096, -5168), + }; + private static final Location BAIUM_DESPAWN = new Location(116033, 17447, 10104); + private static final Location BAIUM_ENTER = new Location(113100, 14500, 10077); // Skills private static final SkillHolder GENERAL_ATTACK = new SkillHolder(4127, 1); private static final SkillHolder WIND_OF_FORCE = new SkillHolder(4128, 1); @@ -274,7 +281,7 @@ public class Baium extends AbstractNpcAI } else if (!_Zone.isInsideZone(npc)) { - npc.teleToLocation(116033, 17447, 10104); + npc.teleToLocation(BAIUM_DESPAWN); } } break; @@ -352,7 +359,7 @@ public class Baium extends AbstractNpcAI // allow entry for the player for the next 30 secs (more than enough time for the TP to happen) // Note: this just means 30secs to get in, no limits on how long it takes before we get out. _Zone.allowPlayerEntry(player, 30); - player.teleToLocation(113100, 14500, 10077); + player.teleToLocation(BAIUM_ENTER); } else { @@ -362,26 +369,8 @@ public class Baium extends AbstractNpcAI } case TELEPORT_CUBIC: { - int x, y, z; - switch (getRandom(3)) - { - case 0: - x = 108784 + getRandom(100); - y = 16000 + getRandom(100); - z = -4928; - break; - case 1: - x = 113824 + getRandom(100); - y = 10448 + getRandom(100); - z = -5164; - break; - default: - x = 115488 + getRandom(100); - y = 22096 + getRandom(100); - z = -5168; - break; - } - player.teleToLocation(x, y, z); + final Location loc = TELEPORT_CUBIC_LOCATION[getRandom(TELEPORT_CUBIC_LOCATION.length)]; + player.teleToLocation(loc.getX() + getRandom(100), loc.getY() + getRandom(100), loc.getZ()); break; } } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Beleth.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Beleth.java index 9c25d65d02..753e1cfd53 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Beleth.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Beleth.java @@ -80,6 +80,8 @@ public class Beleth extends AbstractNpcAI private static SkillHolder HORN_OF_RISING = new SkillHolder(5497, 1); private static SkillHolder LIGHTENING = new SkillHolder(5499, 1); + protected static final Location BELETH_SPAWN = new Location(16323, 213059, -9357, 49152); + private Beleth(String name, String descr) { super(name, descr); @@ -274,7 +276,7 @@ public class Beleth extends AbstractNpcAI ThreadPoolManager.getInstance().scheduleGeneral(new Spawn(16), 1400); break; case 16: - BELETH.teleToLocation(16323, 213059, -9357, 49152, false); + BELETH.teleToLocation(BELETH_SPAWN); ThreadPoolManager.getInstance().scheduleGeneral(new Spawn(17), 200); break; case 17: diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/DrChaos.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/DrChaos.java index 4ba34374a1..6644753390 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/DrChaos.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/DrChaos.java @@ -39,6 +39,9 @@ public class DrChaos extends Quest private static final int CHAOS_GOLEM = 25703; private static boolean _IsGolemSpawned; + private static final Location PLAYER_TELEPORT = new Location(94832, -112624, -3304); + private static final Location NPC_LOCATION = new Location(-113091, -243942, -15536); + private DrChaos(int questId, String name, String descr) { super(questId, name, descr); @@ -87,8 +90,8 @@ public class DrChaos extends Quest } else if (event.equalsIgnoreCase("5")) { - player.teleToLocation(94832, -112624, -3304); - npc.teleToLocation(-113091, -243942, -15536); + player.teleToLocation(PLAYER_TELEPORT); + npc.teleToLocation(NPC_LOCATION); if (!_IsGolemSpawned) { L2Npc golem = addSpawn(CHAOS_GOLEM, 94640, -112496, -3336, 0, false, 0); diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Orfen.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Orfen.java index 30f935ab06..17b4f844c0 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Orfen.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Orfen.java @@ -213,7 +213,7 @@ public class Orfen extends AbstractNpcAI L2Attackable mob = _Minions.get(i); if (!npc.isInsideRadius(mob, 3000, false, false)) { - mob.teleToLocation(npc.getX(), npc.getY(), npc.getZ()); + mob.teleToLocation(npc.getLocation()); ((L2Attackable) npc).clearAggroList(); npc.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE, null, null); } @@ -251,7 +251,7 @@ public class Orfen extends AbstractNpcAI NpcSay packet = new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), TEXT[getRandom(4)]); packet.addStringParameter(caster.getName().toString()); npc.broadcastPacket(packet); - originalCaster.teleToLocation(npc.getX(), npc.getY(), npc.getZ()); + originalCaster.teleToLocation(npc.getLocation()); npc.setTarget(originalCaster); npc.doCast(SkillTable.getInstance().getInfo(4064, 1)); } @@ -306,7 +306,7 @@ public class Orfen extends AbstractNpcAI NpcSay packet = new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npcId, TEXT[getRandom(3)]); packet.addStringParameter(attacker.getName().toString()); npc.broadcastPacket(packet); - attacker.teleToLocation(npc.getX(), npc.getY(), npc.getZ()); + attacker.teleToLocation(npc.getLocation()); npc.setTarget(attacker); npc.doCast(SkillTable.getInstance().getInfo(4064, 1)); } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/QueenAnt.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/QueenAnt.java index 6a0d44b3ef..2eb42e3417 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/QueenAnt.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/QueenAnt.java @@ -27,6 +27,7 @@ import com.l2jserver.Config; import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.datatables.SkillTable; import com.l2jserver.gameserver.instancemanager.GrandBossManager; +import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.StatsSet; import com.l2jserver.gameserver.model.actor.L2Attackable; import com.l2jserver.gameserver.model.actor.L2Npc; @@ -61,6 +62,10 @@ public class QueenAnt extends AbstractNpcAI ROYAL }; + private static final Location OUST_LOC_1 = new Location(-19480, 187344, -5600); + private static final Location OUST_LOC_2 = new Location(-17928, 180912, -5520); + private static final Location OUST_LOC_3 = new Location(-23808, 182368, -5600); + private static final int QUEEN_X = -21610; private static final int QUEEN_Y = 181594; private static final int QUEEN_Z = -5734; @@ -132,15 +137,15 @@ public class QueenAnt extends AbstractNpcAI GrandBossManager.getInstance().addBoss(npc); if (getRandom(100) < 33) { - _zone.movePlayersTo(-19480, 187344, -5600); + _zone.movePlayersTo(OUST_LOC_1); } else if (getRandom(100) < 50) { - _zone.movePlayersTo(-17928, 180912, -5520); + _zone.movePlayersTo(OUST_LOC_2); } else { - _zone.movePlayersTo(-23808, 182368, -5600); + _zone.movePlayersTo(OUST_LOC_3); } GrandBossManager.getInstance().addBoss(npc); startQuestTimer("action", 10000, npc, null, true); diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Ranku.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Ranku.java index df054b0b33..b01c85ef6b 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Ranku.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Ranku.java @@ -102,7 +102,7 @@ public class Ranku extends AbstractNpcAI if ((master != null) && !master.isDead()) { L2MonsterInstance minion2 = MinionList.spawnMinion(master, MINION_2); - minion2.teleToLocation(npc.getX(), npc.getY(), npc.getZ()); + minion2.teleToLocation(npc.getLocation()); } } else if (npc.getId() == RANKU) diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Valakas.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Valakas.java index f62f2aae49..7cc6883083 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Valakas.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Valakas.java @@ -104,6 +104,9 @@ public class Valakas extends AbstractNpcAI new Location(215456, -117328, -1392), new Location(213200, -118160, -1424) }; + private static final Location ATTACKER_REMOVE = new Location(150037, -57255, -2976); + private static final Location VALAKAS_LAIR = new Location(212852, -114842, -1632); + private static final Location VALAKAS_REGENERATION_LOC = new Location(-105200, -253104, -15264); // Valakas status. private static final byte DORMANT = 0; // Valakas is spawned and no one has entered yet. Entry is unlocked. private static final byte WAITING = 1; // Valakas is spawned and someone has entered, triggering a 30 minute window for additional people to enter. Entry is unlocked. @@ -195,7 +198,7 @@ public class Valakas extends AbstractNpcAI _timeTracker = System.currentTimeMillis(); // Teleport Valakas to his lair. - npc.teleToLocation(212852, -114842, -1632); + npc.teleToLocation(VALAKAS_LAIR); // Sound + socialAction. for (L2PcInstance plyr : ZONE.getPlayersInside()) @@ -225,7 +228,7 @@ public class Valakas extends AbstractNpcAI if ((_timeTracker + 900000) < System.currentTimeMillis()) { npc.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); - npc.teleToLocation(-105200, -253104, -15264); + npc.teleToLocation(VALAKAS_REGENERATION_LOC); GrandBossManager.getInstance().setBossStatus(VALAKAS, DORMANT); npc.setCurrentHpMp(npc.getMaxHp(), npc.getMaxMp()); @@ -398,7 +401,7 @@ public class Valakas extends AbstractNpcAI if (GrandBossManager.getInstance().getBossStatus(VALAKAS) != FIGHTING) { - attacker.teleToLocation(150037, -57255, -2976); + attacker.teleToLocation(ATTACKER_REMOVE); return null; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Venom/Venom.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Venom/Venom.java index 087159278b..8976e0abea 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Venom/Venom.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Venom/Venom.java @@ -85,9 +85,7 @@ public final class Venom extends AbstractNpcAI private L2Npc _venom; private final L2Npc _massymore; - private int _venomX; - private int _venomY; - private int _venomZ; + private final Location _loc; private boolean _aggroMode = false; private boolean _prisonIsOpen = false; @@ -117,9 +115,7 @@ public final class Venom extends AbstractNpcAI _massymore = SpawnTable.getInstance().getFirstSpawn(DUNGEON_KEEPER).getLastSpawn(); _venom = SpawnTable.getInstance().getFirstSpawn(VENOM).getLastSpawn(); - _venomX = _venom.getX(); - _venomY = _venom.getY(); - _venomZ = _venom.getZ(); + _loc = _venom.getLocation(); _venom.disableSkill(VENOM_TELEPORT.getSkill(), 0); _venom.disableSkill(RANGE_TELEPORT.getSkill(), 0); _venom.doRevive(); @@ -152,7 +148,7 @@ public final class Venom extends AbstractNpcAI { if (_prisonIsOpen) { - talker.teleToLocation(TELEPORT, 0); + talker.teleToLocation(TELEPORT); } else { @@ -181,7 +177,7 @@ public final class Venom extends AbstractNpcAI case "raid_check": if (!npc.isInsideZone(ZoneId.SIEGE) && !npc.isTeleporting()) { - npc.teleToLocation(new Location(_venomX, _venomY, _venomZ), false); + npc.teleToLocation(_loc); } break; case "cube_despawn": @@ -257,7 +253,7 @@ public final class Venom extends AbstractNpcAI switch (skill.getId()) { case 4222: - npc.teleToLocation(new Location(_venomX, _venomY, _venomZ), false); + npc.teleToLocation(_loc); break; case 4995: teleportTarget(player); @@ -370,9 +366,7 @@ public final class Venom extends AbstractNpcAI cancelQuestTimer("tower_check", _venom, null); break; } - _venomX = _venom.getX(); - _venomY = _venom.getY(); - _venomZ = _venom.getZ(); + _loc.setLocation(_venom.getLocation()); } private void teleportTarget(L2PcInstance player) diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Zaken.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Zaken.java index 9f795fbe75..2d46908702 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Zaken.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/individual/Zaken.java @@ -28,6 +28,7 @@ import com.l2jserver.gameserver.datatables.DoorTable; import com.l2jserver.gameserver.datatables.SkillTable; import com.l2jserver.gameserver.instancemanager.GrandBossManager; import com.l2jserver.gameserver.model.L2Object; +import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.MountType; import com.l2jserver.gameserver.model.StatsSet; import com.l2jserver.gameserver.model.actor.L2Attackable; @@ -47,9 +48,7 @@ public class Zaken extends AbstractNpcAI { private int _1001 = 0; // used for first cancel of QuestTimer "1001" private int _ai0 = 0; // used for zaken coords updater - private int _ai1 = 0; // used for X coord tracking for non-random teleporting in zaken's self teleport skill - private int _ai2 = 0; // used for Y coord tracking for non-random teleporting in zaken's self teleport skill - private int _ai3 = 0; // used for Z coord tracking for non-random teleporting in zaken's self teleport skill + private final Location _loc = new Location(0, 0, 0); private int _ai4 = 0; // used for spawning minions cycles private int _quest0 = 0; // used for teleporting progress private int _quest1 = 0; // used for most hated players progress @@ -223,9 +222,7 @@ public class Zaken extends AbstractNpcAI npc.broadcastPacket(new PlaySound(1, "BS01_A", 1, npc.getObjectId(), npc.getX(), npc.getY(), npc.getZ())); _ai0 = 0; - _ai1 = npc.getX(); - _ai2 = npc.getY(); - _ai3 = npc.getZ(); + _loc.setLocation(npc.getLocation()); _quest0 = 0; _quest1 = 0; _quest2 = 3; @@ -278,9 +275,7 @@ public class Zaken extends AbstractNpcAI { npc.setTarget(npc); npc.doCast(SkillTable.getInstance().getInfo(4224, 1)); - _ai1 = npc.getX(); - _ai2 = npc.getY(); - _ai3 = npc.getZ(); + _loc.setLocation(npc.getLocation()); } if (sk_4227 == 0) // use zaken regeneration { @@ -293,7 +288,7 @@ public class Zaken extends AbstractNpcAI int i1 = 1; if (((L2Attackable) npc).getMostHated() != null) { - if ((((((L2Attackable) npc).getMostHated().getX() - _ai1) * (((L2Attackable) npc).getMostHated().getX() - _ai1)) + ((((L2Attackable) npc).getMostHated().getY() - _ai2) * (((L2Attackable) npc).getMostHated().getY() - _ai2))) > (1500 * 1500)) + if ((((((L2Attackable) npc).getMostHated().getX() - _loc.getX()) * (((L2Attackable) npc).getMostHated().getX() - _loc.getX())) + ((((L2Attackable) npc).getMostHated().getY() - _loc.getY()) * (((L2Attackable) npc).getMostHated().getY() - _loc.getY()))) > (1500 * 1500)) { i0 = 1; } @@ -311,7 +306,7 @@ public class Zaken extends AbstractNpcAI { i0 = 0; } - else if ((((c_quest0.getX() - _ai1) * (c_quest0.getX() - _ai1)) + ((c_quest0.getY() - _ai2) * (c_quest0.getY() - _ai2))) > (1500 * 1500)) + else if ((((c_quest0.getX() - _loc.getX()) * (c_quest0.getX() - _loc.getX())) + ((c_quest0.getY() - _loc.getY()) * (c_quest0.getY() - _loc.getY()))) > (1500 * 1500)) { i0 = 1; } @@ -330,7 +325,7 @@ public class Zaken extends AbstractNpcAI { i0 = 0; } - else if ((((c_quest1.getX() - _ai1) * (c_quest1.getX() - _ai1)) + ((c_quest1.getY() - _ai2) * (c_quest1.getY() - _ai2))) > (1500 * 1500)) + else if ((((c_quest1.getX() - _loc.getX()) * (c_quest1.getX() - _loc.getX())) + ((c_quest1.getY() - _loc.getY()) * (c_quest1.getY() - _loc.getY()))) > (1500 * 1500)) { i0 = 1; } @@ -349,7 +344,7 @@ public class Zaken extends AbstractNpcAI { i0 = 0; } - else if ((((c_quest2.getX() - _ai1) * (c_quest2.getX() - _ai1)) + ((c_quest2.getY() - _ai2) * (c_quest2.getY() - _ai2))) > (1500 * 1500)) + else if ((((c_quest2.getX() - _loc.getX()) * (c_quest2.getX() - _loc.getX())) + ((c_quest2.getY() - _loc.getY()) * (c_quest2.getY() - _loc.getY()))) > (1500 * 1500)) { i0 = 1; } @@ -368,7 +363,7 @@ public class Zaken extends AbstractNpcAI { i0 = 0; } - else if ((((c_quest3.getX() - _ai1) * (c_quest3.getX() - _ai1)) + ((c_quest3.getY() - _ai2) * (c_quest3.getY() - _ai2))) > (1500 * 1500)) + else if ((((c_quest3.getX() - _loc.getX()) * (c_quest3.getX() - _loc.getX())) + ((c_quest3.getY() - _loc.getY()) * (c_quest3.getY() - _loc.getY()))) > (1500 * 1500)) { i0 = 1; } @@ -387,7 +382,7 @@ public class Zaken extends AbstractNpcAI { i0 = 0; } - else if ((((c_quest4.getX() - _ai1) * (c_quest4.getX() - _ai1)) + ((c_quest4.getY() - _ai2) * (c_quest4.getY() - _ai2))) > (1500 * 1500)) + else if ((((c_quest4.getX() - _loc.getX()) * (c_quest4.getX() - _loc.getX())) + ((c_quest4.getY() - _loc.getY()) * (c_quest4.getY() - _loc.getY()))) > (1500 * 1500)) { i0 = 1; } @@ -404,9 +399,9 @@ public class Zaken extends AbstractNpcAI { _quest0 = 0; int i2 = getRandom(15); - _ai1 = Xcoords[i2] + getRandom(650); - _ai2 = Ycoords[i2] + getRandom(650); - _ai3 = Zcoords[i2]; + _loc.setX(Xcoords[i2] + getRandom(650)); + _loc.setY(Ycoords[i2] + getRandom(650)); + _loc.setZ(Zcoords[i2]); npc.setTarget(npc); npc.doCast(SkillTable.getInstance().getInfo(4222, 1)); } @@ -414,9 +409,7 @@ public class Zaken extends AbstractNpcAI } if ((getRandom(20) < 1) && (_ai0 == 0)) { - _ai1 = npc.getX(); - _ai2 = npc.getY(); - _ai3 = npc.getZ(); + _loc.setLocation(npc.getLocation()); } L2Character c_ai0 = null; if ((npc.getAI().getIntention() == CtrlIntention.AI_INTENTION_ATTACK) && (_quest1 == 0)) @@ -471,9 +464,9 @@ public class Zaken extends AbstractNpcAI if (getRandom(40) < 1) { int i2 = getRandom(15); - _ai1 = Xcoords[i2] + getRandom(650); - _ai2 = Ycoords[i2] + getRandom(650); - _ai3 = Zcoords[i2]; + _loc.setX(Xcoords[i2] + getRandom(650)); + _loc.setY(Ycoords[i2] + getRandom(650)); + _loc.setZ(Zcoords[i2]); npc.setTarget(npc); npc.doCast(SkillTable.getInstance().getInfo(4222, 1)); } @@ -643,9 +636,7 @@ public class Zaken extends AbstractNpcAI if ((npc.getAI().getIntention() == CtrlIntention.AI_INTENTION_IDLE) && (_ai0 == 0) && (damage < 10) && (getRandom((30 * 15)) < 1))// todo - damage missing { _ai0 = 1; - _ai1 = caller.getX(); - _ai2 = caller.getY(); - _ai3 = caller.getZ(); + _loc.setLocation(caller.getLocation()); startQuestTimer("1002", 300, caller, null); } } @@ -660,13 +651,13 @@ public class Zaken extends AbstractNpcAI int skillId = skill.getId(); if (skillId == 4222) { - npc.teleToLocation(_ai1, _ai2, _ai3); + npc.teleToLocation(_loc); npc.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); } else if (skillId == 4216) { int i1 = getRandom(15); - player.teleToLocation(Xcoords[i1] + getRandom(650), Ycoords[i1] + getRandom(650), Zcoords[i1]); + player.teleToLocation(new Location(Xcoords[i1] + getRandom(650), Ycoords[i1] + getRandom(650), Zcoords[i1])); ((L2Attackable) npc).stopHating(player); L2Character nextTarget = ((L2Attackable) npc).getMostHated(); if (nextTarget != null) @@ -679,7 +670,7 @@ public class Zaken extends AbstractNpcAI { int i0 = 0; int i1 = getRandom(15); - player.teleToLocation(Xcoords[i1] + getRandom(650), Ycoords[i1] + getRandom(650), Zcoords[i1]); + player.teleToLocation(new Location(Xcoords[i1] + getRandom(650), Ycoords[i1] + getRandom(650), Zcoords[i1])); ((L2Attackable) npc).stopHating(player); if ((c_quest0 != null) && (_quest0 > 0) && (c_quest0 != player) && (c_quest0.getZ() > (player.getZ() - 100)) && (c_quest0.getZ() < (player.getZ() + 100))) @@ -695,7 +686,7 @@ public class Zaken extends AbstractNpcAI if (i0 == 0) { i1 = getRandom(15); - c_quest0.teleToLocation(Xcoords[i1] + getRandom(650), Ycoords[i1] + getRandom(650), Zcoords[i1]); + c_quest0.teleToLocation(new Location(Xcoords[i1] + getRandom(650), Ycoords[i1] + getRandom(650), Zcoords[i1])); ((L2Attackable) npc).stopHating(c_quest0); } } @@ -712,7 +703,7 @@ public class Zaken extends AbstractNpcAI if (i0 == 0) { i1 = getRandom(15); - c_quest1.teleToLocation(Xcoords[i1] + getRandom(650), Ycoords[i1] + getRandom(650), Zcoords[i1]); + c_quest1.teleToLocation(new Location(Xcoords[i1] + getRandom(650), Ycoords[i1] + getRandom(650), Zcoords[i1])); ((L2Attackable) npc).stopHating(c_quest1); } } @@ -729,7 +720,7 @@ public class Zaken extends AbstractNpcAI if (i0 == 0) { i1 = getRandom(15); - c_quest2.teleToLocation(Xcoords[i1] + getRandom(650), Ycoords[i1] + getRandom(650), Zcoords[i1]); + c_quest2.teleToLocation(new Location(Xcoords[i1] + getRandom(650), Ycoords[i1] + getRandom(650), Zcoords[i1])); ((L2Attackable) npc).stopHating(c_quest2); } } @@ -746,7 +737,7 @@ public class Zaken extends AbstractNpcAI if (i0 == 0) { i1 = getRandom(15); - c_quest3.teleToLocation(Xcoords[i1] + getRandom(650), Ycoords[i1] + getRandom(650), Zcoords[i1]); + c_quest3.teleToLocation(new Location(Xcoords[i1] + getRandom(650), Ycoords[i1] + getRandom(650), Zcoords[i1])); ((L2Attackable) npc).stopHating(c_quest3); } } @@ -763,7 +754,7 @@ public class Zaken extends AbstractNpcAI if (i0 == 0) { i1 = getRandom(15); - c_quest4.teleToLocation(Xcoords[i1] + getRandom(650), Ycoords[i1] + getRandom(650), Zcoords[i1]); + c_quest4.teleToLocation(new Location(Xcoords[i1] + getRandom(650), Ycoords[i1] + getRandom(650), Zcoords[i1])); ((L2Attackable) npc).stopHating(c_quest4); } } @@ -856,9 +847,9 @@ public class Zaken extends AbstractNpcAI { _quest2 = (_quest2 - 1); int i2 = getRandom(15); - _ai1 = Xcoords[i2] + getRandom(650); - _ai2 = Ycoords[i2] + getRandom(650); - _ai3 = Zcoords[i2]; + _loc.setX(Xcoords[i2] + getRandom(650)); + _loc.setY(Ycoords[i2] + getRandom(650)); + _loc.setZ(Zcoords[i2]); npc.setTarget(npc); npc.doCast(SkillTable.getInstance().getInfo(4222, 1)); } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/CrumaTower/CrumaTower.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/CrumaTower/CrumaTower.java index 058a9354fc..99710bb6dd 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/CrumaTower/CrumaTower.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/CrumaTower/CrumaTower.java @@ -20,6 +20,7 @@ package ai.npc.Teleports.CrumaTower; import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -31,6 +32,8 @@ public class CrumaTower extends AbstractNpcAI { // NPC private static final int MOZELLA = 30483; + // Location + private static final Location TELEPORT_LOC = new Location(17724, 114004, -11672); // Misc private static final int MAX_LEVEL = 55; @@ -39,7 +42,7 @@ public class CrumaTower extends AbstractNpcAI { if (player.getLevel() <= MAX_LEVEL) { - player.teleToLocation(17724, 114004, -11672); + player.teleToLocation(TELEPORT_LOC); return null; } return "30483-1.htm"; diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/ElrokiTeleporters/ElrokiTeleporters.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/ElrokiTeleporters/ElrokiTeleporters.java index 21d0020e4d..6d83ab0d36 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/ElrokiTeleporters/ElrokiTeleporters.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/ElrokiTeleporters/ElrokiTeleporters.java @@ -20,6 +20,7 @@ package ai.npc.Teleports.ElrokiTeleporters; import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -33,6 +34,9 @@ public class ElrokiTeleporters extends AbstractNpcAI // NPCs private static final int ORAHOCHIN = 32111; private static final int GARIACHIN = 32112; + // Locations + private static final Location TELEPORT_ORAHOCIN = new Location(4990, -1879, -3178); + private static final Location TELEPORT_GARIACHIN = new Location(7557, -5513, -3221); @Override public String onTalk(L2Npc npc, L2PcInstance player) @@ -45,12 +49,12 @@ public class ElrokiTeleporters extends AbstractNpcAI { return "32111-no.htm"; } - player.teleToLocation(4990, -1879, -3178); + player.teleToLocation(TELEPORT_ORAHOCIN); break; } case GARIACHIN: { - player.teleToLocation(7557, -5513, -3221); + player.teleToLocation(TELEPORT_GARIACHIN); break; } } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/GrandBossTeleporters.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/GrandBossTeleporters.java index 12ce31cddd..4c8db6542d 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/GrandBossTeleporters.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/GrandBossTeleporters.java @@ -26,6 +26,7 @@ import com.l2jserver.Config; import com.l2jserver.gameserver.datatables.DoorTable; import com.l2jserver.gameserver.instancemanager.GrandBossManager; import com.l2jserver.gameserver.instancemanager.QuestManager; +import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2GrandBossInstance; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -55,6 +56,11 @@ public class GrandBossTeleporters extends AbstractNpcAI // Items private static final int PORTAL_STONE = 3865; private static final int VACUALITE_FLOATING_STONE = 7267; + private static final Location ENTER_HALL_OF_FLAMES = new Location(183813, -115157, -3303); + private static final Location TELEPORT_INTO_ANTHARAS_LAIR = new Location(179700, 113800, -7709); + private static final Location TELEPORT_OUT_OF_ANTHARAS_LAIR = new Location(79800, 151200, -3534); + private static final Location TELEPORT_INTO_VALAKAS_LAIR = new Location(204328, -111874, 70); + private static final Location TELEPORT_OUT_OF_VALAKAS_LAIR = new Location(150037, -57720, -2976); private Quest valakasAI() { @@ -81,7 +87,7 @@ public class GrandBossTeleporters extends AbstractNpcAI if (st.hasQuestItems(VACUALITE_FLOATING_STONE)) { - player.teleToLocation(183813, -115157, -3303); + player.teleToLocation(ENTER_HALL_OF_FLAMES); st.set("allowEnter", "1"); } else @@ -132,7 +138,7 @@ public class GrandBossTeleporters extends AbstractNpcAI zone.allowPlayerEntry(player, 30); } - player.teleToLocation(179700 + getRandom(700), 113800 + getRandom(2100), -7709); + player.teleToLocation(TELEPORT_INTO_ANTHARAS_LAIR.getX() + getRandom(700), TELEPORT_INTO_ANTHARAS_LAIR.getY() + getRandom(2100), TELEPORT_INTO_ANTHARAS_LAIR.getZ()); if (status == 0) { @@ -150,7 +156,8 @@ public class GrandBossTeleporters extends AbstractNpcAI } case 31859: { - player.teleToLocation(79800 + getRandom(600), 151200 + getRandom(1100), -3534); + + player.teleToLocation(TELEPORT_OUT_OF_ANTHARAS_LAIR.getX() + getRandom(600), TELEPORT_OUT_OF_ANTHARAS_LAIR.getY() + getRandom(1100), TELEPORT_OUT_OF_ANTHARAS_LAIR.getZ()); break; } case 31385: @@ -175,7 +182,7 @@ public class GrandBossTeleporters extends AbstractNpcAI zone.allowPlayerEntry(player, 30); } - player.teleToLocation(204328 + getRandom(600), -111874 + getRandom(600), 70); + player.teleToLocation(TELEPORT_INTO_VALAKAS_LAIR.getX() + getRandom(600), TELEPORT_INTO_VALAKAS_LAIR.getY() + getRandom(600), TELEPORT_INTO_VALAKAS_LAIR.getZ()); playerCount++; @@ -247,7 +254,7 @@ public class GrandBossTeleporters extends AbstractNpcAI } case 31759: { - player.teleToLocation(150037 + getRandom(500), -57720 + getRandom(500), -2976); + player.teleToLocation(TELEPORT_OUT_OF_VALAKAS_LAIR.getX() + getRandom(500), TELEPORT_OUT_OF_VALAKAS_LAIR.getY() + getRandom(500), TELEPORT_OUT_OF_VALAKAS_LAIR.getZ()); break; } } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/OracleTeleport.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/OracleTeleport.java index 91ae8e0e1a..75c41ddde9 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/OracleTeleport.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/OracleTeleport.java @@ -254,15 +254,13 @@ public class OracleTeleport extends AbstractNpcAI { if (Util.contains(TEMPLE_PRIEST, npcId) && (st.getState() == State.STARTED)) { - Location loc = RETURN_LOCS[st.getInt("id")]; - player.teleToLocation(loc.getX(), loc.getY(), loc.getZ()); + player.teleToLocation(RETURN_LOCS[st.getInt("id")]); player.setIsIn7sDungeon(false); st.exitQuest(true); } else if (Util.contains(RIFT_POSTERS, npcId) && (st.getState() == State.STARTED)) { - Location loc = RETURN_LOCS[st.getInt("id")]; - player.teleToLocation(loc.getX(), loc.getY(), loc.getZ()); + player.teleToLocation(RETURN_LOCS[st.getInt("id")]); htmltext = "rift_back.htm"; st.exitQuest(true); } @@ -272,12 +270,12 @@ public class OracleTeleport extends AbstractNpcAI int id = st.getInt("id"); if (Util.contains(TOWN_DAWN, id)) { - player.teleToLocation(-80157, 111344, -4901); + player.teleToLocation(new Location(-80157, 111344, -4901)); player.setIsIn7sDungeon(true); } else if (Util.contains(TOWN_DUSK, id)) { - player.teleToLocation(-81261, 86531, -5157); + player.teleToLocation(new Location(-81261, 86531, -5157)); player.setIsIn7sDungeon(true); } else @@ -288,7 +286,7 @@ public class OracleTeleport extends AbstractNpcAI else if (event.equalsIgnoreCase("Dimensional")) { htmltext = "oracle.htm"; - player.teleToLocation(-114755, -179466, -6752); + player.teleToLocation(new Location(-114755, -179466, -6752)); } else if (event.equalsIgnoreCase("5.htm")) { @@ -308,7 +306,7 @@ public class OracleTeleport extends AbstractNpcAI } st.set("id", Integer.toString(i)); st.setState(State.STARTED); - player.teleToLocation(-114755, -179466, -6752); + player.teleToLocation(new Location(-114755, -179466, -6752)); } else if (event.equalsIgnoreCase("6.htm")) { @@ -355,7 +353,7 @@ public class OracleTeleport extends AbstractNpcAI st.setState(State.STARTED); st.playSound(QuestSound.ITEMSOUND_QUEST_ACCEPT); htmltext = "ziggurat_rift.htm"; - player.teleToLocation(-114755, -179466, -6752); + player.teleToLocation(new Location(-114755, -179466, -6752)); } return htmltext; } @@ -381,7 +379,7 @@ public class OracleTeleport extends AbstractNpcAI } st.set("id", Integer.toString(i)); st.playSound(QuestSound.ITEMSOUND_QUEST_ACCEPT); - player.teleToLocation(-80157, 111344, -4901); + player.teleToLocation(new Location(-80157, 111344, -4901)); player.setIsIn7sDungeon(true); } if (Util.contains(TOWN_DUSK, npcId)) @@ -398,7 +396,7 @@ public class OracleTeleport extends AbstractNpcAI } st.set("id", Integer.toString(i)); st.playSound(QuestSound.ITEMSOUND_QUEST_ACCEPT); - player.teleToLocation(-81261, 86531, -5157); + player.teleToLocation(new Location(-81261, 86531, -5157)); player.setIsIn7sDungeon(true); } else if ((npcId >= 31494) && (npcId <= 31507)) diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/PaganTeleporters/PaganTeleporters.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/PaganTeleporters/PaganTeleporters.java index 944068b78f..5361114dab 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/PaganTeleporters/PaganTeleporters.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/PaganTeleporters/PaganTeleporters.java @@ -18,8 +18,12 @@ */ package ai.npc.Teleports.PaganTeleporters; +import java.util.HashMap; +import java.util.Map; + import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -33,6 +37,13 @@ public class PaganTeleporters extends AbstractNpcAI // NPCs private static final int TRIOLS_MIRROR_1 = 32039; private static final int TRIOLS_MIRROR_2 = 32040; + // Locations + private static final Map<Integer, Location> TRIOLS_LOCS = new HashMap<>(); + static + { + TRIOLS_LOCS.put(TRIOLS_MIRROR_1, new Location(-12766, -35840, -10856)); + TRIOLS_LOCS.put(TRIOLS_MIRROR_2, new Location(36640, -51218, 718)); + } // @formatter:off private static final int[] NPCS = { @@ -67,18 +78,9 @@ public class PaganTeleporters extends AbstractNpcAI @Override public String onFirstTalk(L2Npc npc, L2PcInstance player) { - switch (npc.getId()) + if (TRIOLS_LOCS.containsKey(npc.getId())) { - case TRIOLS_MIRROR_1: - { - player.teleToLocation(-12766, -35840, -10856); - break; - } - case TRIOLS_MIRROR_2: - { - player.teleToLocation(36640, -51218, 718); - break; - } + player.teleToLocation(TRIOLS_LOCS.get(npc.getId())); } return ""; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/SteelCitadelTeleport/SteelCitadelTeleport.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/SteelCitadelTeleport/SteelCitadelTeleport.java index ab35476c07..f69618942d 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/SteelCitadelTeleport/SteelCitadelTeleport.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/SteelCitadelTeleport/SteelCitadelTeleport.java @@ -25,6 +25,7 @@ import com.l2jserver.gameserver.instancemanager.GrandBossManager; import com.l2jserver.gameserver.instancemanager.ZoneManager; import com.l2jserver.gameserver.model.L2CommandChannel; import com.l2jserver.gameserver.model.L2Party; +import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.zone.type.L2BossZone; @@ -38,6 +39,8 @@ public class SteelCitadelTeleport extends AbstractNpcAI // NPCs private static final int BELETH = 29118; private static final int NAIA_CUBE = 32376; + // Location + private static final Location TELEPORT_CITADEL = new Location(16342, 209557, -9352); private SteelCitadelTeleport() { @@ -83,7 +86,7 @@ public class SteelCitadelTeleport extends AbstractNpcAI if (pl.isInsideRadius(npc.getX(), npc.getY(), npc.getZ(), 3000, true, false)) { zone.allowPlayerEntry(pl, 30); - pl.teleToLocation(16342, 209557, -9352, true); + pl.teleToLocation(TELEPORT_CITADEL, true); } } } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/Survivor/Survivor.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/Survivor/Survivor.java index 72c97bd929..1fc71a5f53 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/Survivor/Survivor.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/Survivor/Survivor.java @@ -20,6 +20,7 @@ package ai.npc.Teleports.Survivor; import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.itemcontainer.PcInventory; @@ -35,6 +36,8 @@ public class Survivor extends AbstractNpcAI private static final int SURVIVOR = 32632; // Misc private static final int MIN_LEVEL = 75; + // Location + private static final Location TELEPORT = new Location(-149406, 255247, -80); @Override public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) @@ -52,7 +55,7 @@ public class Survivor extends AbstractNpcAI else { takeItems(player, PcInventory.ADENA_ID, 150000); - player.teleToLocation(-149406, 255247, -80); + player.teleToLocation(TELEPORT); return null; } } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/TeleportToFantasy/TeleportToFantasy.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/TeleportToFantasy/TeleportToFantasy.java index 0d21a988a2..694b93df81 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/TeleportToFantasy/TeleportToFantasy.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/TeleportToFantasy/TeleportToFantasy.java @@ -68,6 +68,8 @@ public class TeleportToFantasy extends AbstractNpcAI new Location(-59720, -55921, -2032) }; + private static final Location RUNE_TOWNSHIP = new Location(43835, -47749, -792); + @Override public String onTalk(L2Npc npc, L2PcInstance player) { @@ -99,7 +101,7 @@ public class TeleportToFantasy extends AbstractNpcAI else { player.sendPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.IF_YOUR_MEANS_OF_ARRIVAL_WAS_A_BIT_UNCONVENTIONAL_THEN_ILL_BE_SENDING_YOU_BACK_TO_RUNE_TOWNSHIP_WHICH_IS_THE_NEAREST_TOWN)); - player.teleToLocation(43835, -47749, -792); + player.teleToLocation(RUNE_TOWNSHIP); } st.exitQuest(true); } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/TeleportToRaceTrack/TeleportToRaceTrack.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/TeleportToRaceTrack/TeleportToRaceTrack.java index 94593c69c6..1ac4580f20 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/TeleportToRaceTrack/TeleportToRaceTrack.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/TeleportToRaceTrack/TeleportToRaceTrack.java @@ -57,6 +57,8 @@ public class TeleportToRaceTrack extends AbstractNpcAI new Location(87386, -143246, -1293), new Location(12882, 181053, -3560) }; + private static final Location TELEPORT = new Location(12661, 181687, -3560); + private static final Location DION_CASTLE_TOWN = new Location(15670, 142983, -2700); @Override public String onTalk(L2Npc npc, L2PcInstance player) @@ -71,7 +73,7 @@ public class TeleportToRaceTrack extends AbstractNpcAI if (TELEPORTERS.containsKey(npc.getId())) { - st.getPlayer().teleToLocation(12661, 181687, -3560); + st.getPlayer().teleToLocation(TELEPORT); st.setState(State.STARTED); st.set("id", String.valueOf(TELEPORTERS.get(npc.getId()))); } @@ -89,7 +91,7 @@ public class TeleportToRaceTrack extends AbstractNpcAI else { player.sendPacket(new NpcSay(npc.getObjectId(), 0, npc.getId(), "You've arrived here from a different way. I'll send you to Dion Castle Town which is the nearest town.")); - st.getPlayer().teleToLocation(15670, 142983, -2700); + st.getPlayer().teleToLocation(DION_CASTLE_TOWN); } st.exitQuest(true); } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/TeleportWithCharm/TeleportWithCharm.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/TeleportWithCharm/TeleportWithCharm.java index d20b6275a2..46ecb9d619 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/TeleportWithCharm/TeleportWithCharm.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/TeleportWithCharm/TeleportWithCharm.java @@ -20,6 +20,7 @@ package ai.npc.Teleports.TeleportWithCharm; import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -36,6 +37,9 @@ public class TeleportWithCharm extends AbstractNpcAI // Items private final static int ORC_GATEKEEPER_CHARM = 1658; private final static int DWARF_GATEKEEPER_TOKEN = 1659; + // Locations + private final static Location ORC_TELEPORT = new Location(-80826, 149775, -3043); + private final static Location DWARF_TELEPORT = new Location(-80826, 149775, -3043); @Override public String onTalk(L2Npc npc, L2PcInstance player) @@ -47,7 +51,7 @@ public class TeleportWithCharm extends AbstractNpcAI if (hasQuestItems(player, DWARF_GATEKEEPER_TOKEN)) { takeItems(player, DWARF_GATEKEEPER_TOKEN, 1); - player.teleToLocation(-80826, 149775, -3043); + player.teleToLocation(DWARF_TELEPORT); } else { @@ -60,7 +64,7 @@ public class TeleportWithCharm extends AbstractNpcAI if (hasQuestItems(player, ORC_GATEKEEPER_CHARM)) { takeItems(player, ORC_GATEKEEPER_CHARM, 1); - player.teleToLocation(-80826, 149775, -3043); + player.teleToLocation(ORC_TELEPORT); } else { diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/ToIVortex/ToIVortex.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/ToIVortex/ToIVortex.java index ab7f19be99..e0e816e916 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/ToIVortex/ToIVortex.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/ToIVortex/ToIVortex.java @@ -18,18 +18,23 @@ */ package ai.npc.Teleports.ToIVortex; +import java.util.HashMap; +import java.util.Map; + import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.itemcontainer.PcInventory; /** * Tower of Insolence Vortex teleport AI.<br> - * Updated to High Five by pmq. + * Updated to High Five by pmq.<br> + * Reworked by xban1x. * @author Plim */ -public class ToIVortex extends AbstractNpcAI +public final class ToIVortex extends AbstractNpcAI { // NPCs private static final int KEPLON = 30949; @@ -42,6 +47,34 @@ public class ToIVortex extends AbstractNpcAI private static final int GREEN_DIMENSION_STONE = 4401; private static final int BLUE_DIMENSION_STONE = 4402; private static final int RED_DIMENSION_STONE = 4403; + // Locations + private static final Map<String, Location> TOI_FLOORS = new HashMap<>(); + // Misc + private static final Map<String, Integer> DIMENSION_TRADE = new HashMap<>(); + static + { + TOI_FLOORS.put("1", new Location(114356, 13423, -5096, GREEN_DIMENSION_STONE)); + TOI_FLOORS.put("2", new Location(114666, 13380, -3608, GREEN_DIMENSION_STONE)); + TOI_FLOORS.put("3", new Location(111982, 16028, -2120, GREEN_DIMENSION_STONE)); + TOI_FLOORS.put("4", new Location(114636, 13413, -640, BLUE_DIMENSION_STONE)); + TOI_FLOORS.put("5", new Location(114152, 19902, 928, BLUE_DIMENSION_STONE)); + TOI_FLOORS.put("6", new Location(117131, 16044, 1944, BLUE_DIMENSION_STONE)); + TOI_FLOORS.put("7", new Location(113026, 17687, 2952, RED_DIMENSION_STONE)); + TOI_FLOORS.put("8", new Location(115571, 13723, 3960, RED_DIMENSION_STONE)); + TOI_FLOORS.put("9", new Location(114649, 14144, 4976, RED_DIMENSION_STONE)); + TOI_FLOORS.put("10", new Location(118507, 16605, 5984, RED_DIMENSION_STONE)); + + DIMENSION_TRADE.put("GREEN", GREEN_DIMENSION_STONE); + DIMENSION_TRADE.put("BLUE", BLUE_DIMENSION_STONE); + DIMENSION_TRADE.put("RED", RED_DIMENSION_STONE); + } + + private ToIVortex() + { + super(ToIVortex.class.getSimpleName(), "ai/npc/Teleports"); + addStartNpc(KEPLON, EUCLIE, PITHGON, DIMENSION_VORTEX_1, DIMENSION_VORTEX_2, DIMENSION_VORTEX_3); + addTalkId(KEPLON, EUCLIE, PITHGON, DIMENSION_VORTEX_1, DIMENSION_VORTEX_2, DIMENSION_VORTEX_3); + } @Override public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) @@ -51,138 +84,22 @@ public class ToIVortex extends AbstractNpcAI switch (event) { case "1": - { - // 1st Floor - if (hasQuestItems(player, GREEN_DIMENSION_STONE)) - { - takeItems(player, GREEN_DIMENSION_STONE, 1); - player.teleToLocation(114356, 13423, -5096, true); - } - else - { - return "no-stones.htm"; - } - break; - } case "2": - { - // 2nd Floor - if (hasQuestItems(player, GREEN_DIMENSION_STONE)) - { - takeItems(player, GREEN_DIMENSION_STONE, 1); - player.teleToLocation(114666, 13380, -3608, true); - } - else - { - return "no-stones.htm"; - } - break; - } case "3": - { - // 3rd Floor - if (hasQuestItems(player, GREEN_DIMENSION_STONE)) - { - takeItems(player, GREEN_DIMENSION_STONE, 1); - player.teleToLocation(111982, 16028, -2120, true); - } - else - { - return "no-stones.htm"; - } - break; - } case "4": - { - // 4th Floor - if (hasQuestItems(player, BLUE_DIMENSION_STONE)) - { - takeItems(player, BLUE_DIMENSION_STONE, 1); - player.teleToLocation(114636, 13413, -640, true); - } - else - { - return "no-stones.htm"; - } - break; - } case "5": - { - // 5th Floor - if (hasQuestItems(player, BLUE_DIMENSION_STONE)) - { - takeItems(player, BLUE_DIMENSION_STONE, 1); - player.teleToLocation(114152, 19902, 928, true); - } - else - { - return "no-stones.htm"; - } - break; - } case "6": - { - // 6th Floor - if (hasQuestItems(player, BLUE_DIMENSION_STONE)) - { - takeItems(player, BLUE_DIMENSION_STONE, 1); - player.teleToLocation(117131, 16044, 1944, true); - } - else - { - return "no-stones.htm"; - } - break; - } case "7": - { - // 7th Floor - if (hasQuestItems(player, RED_DIMENSION_STONE)) - { - takeItems(player, RED_DIMENSION_STONE, 1); - player.teleToLocation(113026, 17687, 2952, true); - } - else - { - return "no-stones.htm"; - } - break; - } case "8": - { - // 8th Floor - if (hasQuestItems(player, RED_DIMENSION_STONE)) - { - takeItems(player, RED_DIMENSION_STONE, 1); - player.teleToLocation(115571, 13723, 3960, true); - } - else - { - return "no-stones.htm"; - } - break; - } case "9": - { - // 9th Floor - if (hasQuestItems(player, RED_DIMENSION_STONE)) - { - takeItems(player, RED_DIMENSION_STONE, 1); - player.teleToLocation(114649, 14144, 4976, true); - } - else - { - return "no-stones.htm"; - } - break; - } case "10": { - // 10 Floor - if (hasQuestItems(player, RED_DIMENSION_STONE)) + final Location loc = TOI_FLOORS.get(event); + if (hasQuestItems(player, loc.getHeading())) { - takeItems(player, RED_DIMENSION_STONE, 1); - player.teleToLocation(118507, 16605, 5984, true); + takeItems(player, loc.getHeading(), 1); + loc.setHeading(0); + player.teleToLocation(loc, true); } else { @@ -191,37 +108,13 @@ public class ToIVortex extends AbstractNpcAI break; } case "GREEN": - { - if (player.getAdena() >= 10000) - { - takeItems(player, PcInventory.ADENA_ID, 10000); - giveItems(player, GREEN_DIMENSION_STONE, 1); - } - else - { - return npcId + "no-adena.htm"; - } - break; - } case "BLUE": - { - if (player.getAdena() >= 10000) - { - takeItems(player, PcInventory.ADENA_ID, 10000); - giveItems(player, BLUE_DIMENSION_STONE, 1); - } - else - { - return npcId + "no-adena.htm"; - } - break; - } case "RED": { if (player.getAdena() >= 10000) { takeItems(player, PcInventory.ADENA_ID, 10000); - giveItems(player, RED_DIMENSION_STONE, 1); + giveItems(player, DIMENSION_TRADE.get(event), 1); } else { @@ -233,15 +126,8 @@ public class ToIVortex extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - private ToIVortex(String name, String descr) - { - super(name, descr); - addStartNpc(KEPLON, EUCLIE, PITHGON, DIMENSION_VORTEX_1, DIMENSION_VORTEX_2, DIMENSION_VORTEX_3); - addTalkId(KEPLON, EUCLIE, PITHGON, DIMENSION_VORTEX_1, DIMENSION_VORTEX_2, DIMENSION_VORTEX_3); - } - public static void main(String[] args) { - new ToIVortex(ToIVortex.class.getSimpleName(), "ai/npc/Teleports"); + new ToIVortex(); } } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/Warpgate/Warpgate.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/Warpgate/Warpgate.java index fa91490668..67ebc8053d 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/Warpgate/Warpgate.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/Teleports/Warpgate/Warpgate.java @@ -25,6 +25,7 @@ import ai.npc.AbstractNpcAI; import com.l2jserver.Config; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.instancemanager.HellboundManager; +import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.PcCondOverride; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.L2Npc; @@ -51,6 +52,9 @@ public class Warpgate extends AbstractNpcAI 32318, 32319 }; + // Locations + private static final Location HELLBOUND = new Location(-11272, 236464, -3248); + protected static final Location REMOVE_LOC = new Location(-16555, 209375, -3670); private static final boolean canEnter(L2PcInstance player) { @@ -98,7 +102,7 @@ public class Warpgate extends AbstractNpcAI return "warpgate-no.htm"; } - player.teleToLocation(-11272, 236464, -3248, true); + player.teleToLocation(HELLBOUND, true); HellboundManager.getInstance().unlock(); return null; } @@ -137,7 +141,7 @@ public class Warpgate extends AbstractNpcAI { try { - _char.teleToLocation(-16555, 209375, -3670, true); + _char.teleToLocation(REMOVE_LOC, true); } catch (Exception e) { diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/conquerablehalls/RainbowSpringsChateau/RainbowSpringsChateau.java b/L2J_DataPack_BETA/dist/game/data/scripts/conquerablehalls/RainbowSpringsChateau/RainbowSpringsChateau.java index 19bd213c49..be252dc61e 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/conquerablehalls/RainbowSpringsChateau/RainbowSpringsChateau.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/conquerablehalls/RainbowSpringsChateau/RainbowSpringsChateau.java @@ -46,6 +46,7 @@ import com.l2jserver.gameserver.model.L2Clan; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.L2Party; import com.l2jserver.gameserver.model.L2Spawn; +import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.TeleportWhereType; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.L2Npc; @@ -233,28 +234,12 @@ public class RainbowSpringsChateau extends Quest 35599 }; - private static final int[][] ARENAS = + private static final Location[] ARENAS = new Location[] { - { - 151562, - -127080, - -2214 - }, // Arena 1 - { - 153141, - -125335, - -2214 - }, // Arena 2 - { - 153892, - -127530, - -2214 - }, // Arena 3 - { - 155657, - -125752, - -2214 - }, // Arena 4 + new Location(151562, -127080, -2214), // Arena 1 + new Location(153141, -125335, -2214), // Arena 2 + new Location(153892, -127530, -2214), // Arena 3 + new Location(155657, -125752, -2214), // Arena 4 }; protected static final int[] ARENA_ZONES = @@ -724,7 +709,7 @@ public class RainbowSpringsChateau extends Quest { pc.getSummon().unSummon(pc); } - pc.teleToLocation(ARENAS[arena][0], ARENAS[arena][1], ARENAS[arena][2]); + pc.teleToLocation(ARENAS[arena]); } } } @@ -738,9 +723,9 @@ public class RainbowSpringsChateau extends Quest try { _gourds[i] = new L2Spawn(NpcTable.getInstance().getTemplate(GOURDS[i])); - _gourds[i].setX(ARENAS[i][0] + 150); - _gourds[i].setY(ARENAS[i][1] + 150); - _gourds[i].setZ(ARENAS[i][2]); + _gourds[i].setX(ARENAS[i].getX() + 150); + _gourds[i].setY(ARENAS[i].getY() + 150); + _gourds[i].setZ(ARENAS[i].getZ()); _gourds[i].setHeading(1); _gourds[i].setAmount(1); } @@ -774,11 +759,7 @@ public class RainbowSpringsChateau extends Quest _gourds[(iterator - 1) - i] = curSpawn; - int newX = oldSpawn.getX(); - int newY = oldSpawn.getY(); - int newZ = oldSpawn.getZ(); - - curSpawn.getLastSpawn().teleToLocation(newX, newY, newZ); + curSpawn.getLastSpawn().teleToLocation(oldSpawn.getLocation()); } } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminEffects.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminEffects.java index aa04fcbdfd..5bd6d01b38 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminEffects.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminEffects.java @@ -355,7 +355,7 @@ public class AdminEffects implements IAdminCommandHandler { String id = st.nextToken(); activeChar.getPoly().setPolyInfo("npc", id); - activeChar.teleToLocation(activeChar.getX(), activeChar.getY(), activeChar.getZ(), false); + activeChar.teleToLocation(activeChar.getLocation()); CharInfo info1 = new CharInfo(activeChar); activeChar.broadcastPacket(info1); UserInfo info2 = new UserInfo(activeChar); diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminEventEngine.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminEventEngine.java index a4fc560088..13e2718afd 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminEventEngine.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminEventEngine.java @@ -253,7 +253,7 @@ public class AdminEventEngine implements IAdminCommandHandler for (L2PcInstance player : L2Event._teams.get(teamId)) { player.setTitle(L2Event._teamNames.get(teamId)); - player.teleToLocation(activeChar.getX(), activeChar.getY(), activeChar.getZ(), true); + player.teleToLocation(activeChar.getLocation(), true); player.setInstanceId(activeChar.getInstanceId()); } } @@ -326,7 +326,7 @@ public class AdminEventEngine implements IAdminCommandHandler for (L2PcInstance player : L2Event._teams.get(teamId)) { player.getPoly().setPolyInfo("npc", polyIds[Rnd.get(polyIds.length)]); - player.teleToLocation(player.getX(), player.getY(), player.getZ(), true); + player.teleToLocation(player.getLocation(), true); CharInfo info1 = new CharInfo(player); player.broadcastPacket(info1); UserInfo info2 = new UserInfo(player); diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminInstance.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminInstance.java index 4caa553300..c2f9625da2 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminInstance.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminInstance.java @@ -107,7 +107,7 @@ public class AdminInstance implements IAdminCommandHandler { L2PcInstance player = (L2PcInstance) target; player.sendMessage("Admin set your instance to:" + val); - player.teleToLocation(player.getX(), player.getY(), player.getZ()); + player.teleToLocation(player.getLocation()); } activeChar.sendMessage("Moved " + target.getName() + " to instance " + target.getInstanceId() + "."); return true; diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminMammon.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminMammon.java index 825b707f00..be715c762d 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminMammon.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminMammon.java @@ -77,7 +77,7 @@ public class AdminMammon implements IAdminCommandHandler activeChar.sendMessage("Blacksmith of Mammon: " + x1 + " " + y1 + " " + z1); if (teleportIndex == 1) { - activeChar.teleToLocation(x1, y1, z1, true); + activeChar.teleToLocation(blackInst[0].getLocation(), true); } } } @@ -95,7 +95,7 @@ public class AdminMammon implements IAdminCommandHandler activeChar.sendMessage("Merchant of Mammon: " + x2 + " " + y2 + " " + z2); if (teleportIndex == 2) { - activeChar.teleToLocation(x2, y2, z2, true); + activeChar.teleToLocation(merchInst[0].getLocation(), true); } } } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminMenu.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminMenu.java index 36aca15940..f9e5b11d65 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminMenu.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminMenu.java @@ -29,6 +29,7 @@ import com.l2jserver.gameserver.handler.IAdminCommandHandler; import com.l2jserver.gameserver.model.L2Clan; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.L2World; +import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.SystemMessageId; @@ -71,7 +72,7 @@ public class AdminMenu implements IAdminCommandHandler L2PcInstance player = L2World.getInstance().getPlayer(playerName); if (player != null) { - teleportCharacter(player, Integer.parseInt(data[2]), Integer.parseInt(data[3]), Integer.parseInt(data[4]), activeChar, "Admin is teleporting you."); + teleportCharacter(player, new Location(Integer.parseInt(data[2]), Integer.parseInt(data[3]), Integer.parseInt(data[4])), activeChar, "Admin is teleporting you."); } } showMainPage(activeChar); @@ -82,7 +83,7 @@ public class AdminMenu implements IAdminCommandHandler { String targetName = command.substring(23); L2PcInstance player = L2World.getInstance().getPlayer(targetName); - teleportCharacter(player, activeChar.getX(), activeChar.getY(), activeChar.getZ(), activeChar, "Admin is teleporting you."); + teleportCharacter(player, activeChar.getLocation(), activeChar, "Admin is teleporting you."); } catch (StringIndexOutOfBoundsException e) { @@ -90,7 +91,6 @@ public class AdminMenu implements IAdminCommandHandler } else if (command.startsWith("admin_recall_party_menu")) { - int x = activeChar.getX(), y = activeChar.getY(), z = activeChar.getZ(); try { String targetName = command.substring(24); @@ -103,12 +103,12 @@ public class AdminMenu implements IAdminCommandHandler if (!player.isInParty()) { activeChar.sendMessage("Player is not in party."); - teleportCharacter(player, x, y, z, activeChar, "Admin is teleporting you."); + teleportCharacter(player, activeChar.getLocation(), activeChar, "Admin is teleporting you."); return true; } for (L2PcInstance pm : player.getParty().getMembers()) { - teleportCharacter(pm, x, y, z, activeChar, "Your party is being teleported by an Admin."); + teleportCharacter(pm, activeChar.getLocation(), activeChar, "Your party is being teleported by an Admin."); } } catch (Exception e) @@ -118,7 +118,6 @@ public class AdminMenu implements IAdminCommandHandler } else if (command.startsWith("admin_recall_clan_menu")) { - int x = activeChar.getX(), y = activeChar.getY(), z = activeChar.getZ(); try { String targetName = command.substring(23); @@ -132,13 +131,13 @@ public class AdminMenu implements IAdminCommandHandler if (clan == null) { activeChar.sendMessage("Player is not in a clan."); - teleportCharacter(player, x, y, z, activeChar, "Admin is teleporting you."); + teleportCharacter(player, activeChar.getLocation(), activeChar, "Admin is teleporting you."); return true; } for (L2PcInstance member : clan.getOnlineMembers(0)) { - teleportCharacter(member, x, y, z, activeChar, "Your clan is being teleported by an Admin."); + teleportCharacter(member, activeChar.getLocation(), activeChar, "Your clan is being teleported by an Admin."); } } catch (Exception e) @@ -270,12 +269,12 @@ public class AdminMenu implements IAdminCommandHandler AdminHtml.showAdminHtml(activeChar, filename); } - private void teleportCharacter(L2PcInstance player, int x, int y, int z, L2PcInstance activeChar, String message) + private void teleportCharacter(L2PcInstance player, Location loc, L2PcInstance activeChar, String message) { if (player != null) { player.sendMessage(message); - player.teleToLocation(x, y, z, true); + player.teleToLocation(loc, true); } showMainPage(activeChar); } @@ -299,7 +298,7 @@ public class AdminMenu implements IAdminCommandHandler else { activeChar.setInstanceId(player.getInstanceId()); - activeChar.teleToLocation(player.getX(), player.getY(), player.getZ(), true); + activeChar.teleToLocation(player.getLocation(), true); activeChar.sendMessage("You're teleporting yourself to character " + player.getName()); } showMainPage(activeChar); diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java index 639c7baeb3..fedf4554f3 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java @@ -341,7 +341,7 @@ public class AdminSpawn implements IAdminCommandHandler { if (showposition && (npc != null)) { - activeChar.teleToLocation(npc.getX(), npc.getY(), npc.getZ(), true); + activeChar.teleToLocation(npc.getLocation(), true); } else { diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java index d6300368e5..43463609c4 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java @@ -198,7 +198,7 @@ public class AdminTeleport implements IAdminCommandHandler L2PcInstance player = L2World.getInstance().getPlayer(targetName); if (player != null) { - teleportCharacter(player, activeChar.getX(), activeChar.getY(), activeChar.getZ(), activeChar); + teleportCharacter(player, activeChar.getLocation(), activeChar); } else { @@ -250,7 +250,7 @@ public class AdminTeleport implements IAdminCommandHandler { z -= intVal; } - activeChar.teleToLocation(x, y, z, false); + activeChar.teleToLocation(new Location(x, y, z)); showTeleportWindow(activeChar); } catch (Exception e) @@ -346,7 +346,7 @@ public class AdminTeleport implements IAdminCommandHandler int z = Integer.parseInt(z1); activeChar.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); - activeChar.teleToLocation(x, y, z, false); + activeChar.teleToLocation(x, y, z); activeChar.sendMessage("You have been teleported to " + Coords); } @@ -410,7 +410,7 @@ public class AdminTeleport implements IAdminCommandHandler int y = Integer.parseInt(y1); String z1 = st.nextToken(); int z = Integer.parseInt(z1); - teleportCharacter(player, x, y, z, null); + teleportCharacter(player, new Location(x, y, z), null); } catch (NoSuchElementException nsee) { @@ -420,12 +420,10 @@ public class AdminTeleport implements IAdminCommandHandler /** * @param player - * @param x - * @param y - * @param z + * @param loc * @param activeChar */ - private void teleportCharacter(L2PcInstance player, int x, int y, int z, L2PcInstance activeChar) + private void teleportCharacter(L2PcInstance player, Location loc, L2PcInstance activeChar) { if (player != null) { @@ -448,7 +446,7 @@ public class AdminTeleport implements IAdminCommandHandler } player.sendMessage("Admin is teleporting you."); player.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); - player.teleToLocation(x, y, z, true); + player.teleToLocation(loc, true); } } } @@ -486,7 +484,7 @@ public class AdminTeleport implements IAdminCommandHandler int z = player.getZ(); activeChar.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); - activeChar.teleToLocation(x, y, z, true); + activeChar.teleToLocation(new Location(x, y, z), true); activeChar.sendMessage("You have teleported to character " + player.getName() + "."); } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/bypasshandlers/Observation.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/bypasshandlers/Observation.java index f56e12f945..184ba3591d 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/bypasshandlers/Observation.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/bypasshandlers/Observation.java @@ -23,6 +23,7 @@ import java.util.logging.Level; import com.l2jserver.gameserver.handler.IBypassHandler; import com.l2jserver.gameserver.instancemanager.SiegeManager; +import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -99,7 +100,7 @@ public class Observation implements IBypassHandler if (player.reduceAdena("Broadcast", cost, npc, true)) { // enter mode - player.enterObserverMode(x, y, z); + player.enterObserverMode(new Location(x, y, z)); player.sendPacket(new ItemList(player, false)); } player.sendPacket(ActionFailed.STATIC_PACKET); diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CallParty.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CallParty.java index ab5ceff9dd..ed58ba0a37 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CallParty.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CallParty.java @@ -60,7 +60,7 @@ public class CallParty extends L2Effect { if (getEffector() != partyMember) { - partyMember.teleToLocation(getEffector().getX(), getEffector().getY(), getEffector().getZ(), true); + partyMember.teleToLocation(getEffector().getLocation(), true); } } } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/voicedcommandhandlers/Wedding.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/voicedcommandhandlers/Wedding.java index 2abd64b030..ad9b4fea9c 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/voicedcommandhandlers/Wedding.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/voicedcommandhandlers/Wedding.java @@ -36,6 +36,7 @@ import com.l2jserver.gameserver.instancemanager.CoupleManager; import com.l2jserver.gameserver.instancemanager.GrandBossManager; import com.l2jserver.gameserver.instancemanager.SiegeManager; import com.l2jserver.gameserver.model.L2World; +import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.effects.AbnormalEffect; import com.l2jserver.gameserver.model.entity.L2Event; @@ -472,7 +473,7 @@ public class Wedding implements IVoicedCommandHandler activeChar.sendPacket(sg); // End SoE Animation section - final EscapeFinalizer ef = new EscapeFinalizer(activeChar, partner.getX(), partner.getY(), partner.getZ(), partner.isIn7sDungeon()); + final EscapeFinalizer ef = new EscapeFinalizer(activeChar, partner.getLocation(), partner.isIn7sDungeon()); // continue execution later activeChar.setSkillCast(ThreadPoolManager.getInstance().scheduleGeneral(ef, teleportTimer)); activeChar.forceIsCasting(GameTimeController.getInstance().getGameTicks() + (teleportTimer / GameTimeController.MILLIS_IN_TICK)); @@ -483,17 +484,13 @@ public class Wedding implements IVoicedCommandHandler static class EscapeFinalizer implements Runnable { private final L2PcInstance _activeChar; - private final int _partnerx; - private final int _partnery; - private final int _partnerz; + private final Location _partnerLoc; private final boolean _to7sDungeon; - EscapeFinalizer(L2PcInstance activeChar, int x, int y, int z, boolean to7sDungeon) + EscapeFinalizer(L2PcInstance activeChar, Location loc, boolean to7sDungeon) { _activeChar = activeChar; - _partnerx = x; - _partnery = y; - _partnerz = z; + _partnerLoc = loc; _to7sDungeon = to7sDungeon; } @@ -505,7 +502,7 @@ public class Wedding implements IVoicedCommandHandler return; } - if ((SiegeManager.getInstance().getSiege(_partnerx, _partnery, _partnerz) != null) && SiegeManager.getInstance().getSiege(_partnerx, _partnery, _partnerz).getIsInProgress()) + if ((SiegeManager.getInstance().getSiege(_partnerLoc) != null) && SiegeManager.getInstance().getSiege(_partnerLoc).getIsInProgress()) { _activeChar.sendMessage("Your partner is in siege, you can't go to your partner."); return; @@ -517,7 +514,7 @@ public class Wedding implements IVoicedCommandHandler try { - _activeChar.teleToLocation(_partnerx, _partnery, _partnerz); + _activeChar.teleToLocation(_partnerLoc); } catch (Exception e) { diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/Deltuva/Deltuva.java b/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/Deltuva/Deltuva.java index 981839cbdf..c103c990a8 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/Deltuva/Deltuva.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/Deltuva/Deltuva.java @@ -20,6 +20,7 @@ package hellbound.Deltuva; import quests.Q00132_MatrasCuriosity.Q00132_MatrasCuriosity; +import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.quest.Quest; @@ -31,6 +32,8 @@ import com.l2jserver.gameserver.model.quest.QuestState; public class Deltuva extends Quest { private static final int DELTUVA = 32313; + // Location + private static final Location TELEPORT = new Location(17934, 283189, -9701); @Override public final String onAdvEvent(String event, L2Npc npc, L2PcInstance player) @@ -45,7 +48,7 @@ public class Deltuva extends Quest } else { - player.teleToLocation(17934, 283189, -9701); + player.teleToLocation(TELEPORT); } } return htmltext; diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/Quarry/Quarry.java b/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/Quarry/Quarry.java index 09744ba23a..e54f5a4294 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/Quarry/Quarry.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/Quarry/Quarry.java @@ -85,7 +85,7 @@ public class Quarry extends Quest npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ACTIVE); npc.setAutoAttackable(false); npc.setRHandId(0); - npc.teleToLocation(npc.getSpawn().getLocation(), 0); + npc.teleToLocation(npc.getSpawn().getLocation()); return null; } } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/Shadai/Shadai.java b/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/Shadai/Shadai.java index b1a2596b22..973d5dc510 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/Shadai/Shadai.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/Shadai/Shadai.java @@ -20,6 +20,7 @@ package hellbound.Shadai; import com.l2jserver.gameserver.GameTimeController; import com.l2jserver.gameserver.ThreadPoolManager; +import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.quest.Quest; @@ -30,18 +31,8 @@ public class Shadai extends Quest { private static final int SHADAI = 32347; - private static final int[] DAY_COORDS = - { - 16882, - 238952, - 9776 - }; - private static final int[] NIGHT_COORDS = - { - 9064, - 253037, - -1928 - }; + private static final Location DAY_COORDS = new Location(16882, 238952, 9776); + private static final Location NIGHT_COORDS = new Location(9064, 253037, -1928); @Override public final String onSpawn(L2Npc npc) @@ -56,24 +47,22 @@ public class Shadai extends Quest protected static void validatePosition(L2Npc npc) { - int[] coords = DAY_COORDS; + Location coords = DAY_COORDS; boolean mustRevalidate = false; - if ((npc.getX() != NIGHT_COORDS[0]) && GameTimeController.getInstance().isNight()) + if ((npc.getX() != NIGHT_COORDS.getX()) && GameTimeController.getInstance().isNight()) { coords = NIGHT_COORDS; mustRevalidate = true; } - else if ((npc.getX() != DAY_COORDS[0]) && !GameTimeController.getInstance().isNight()) + else if ((npc.getX() != DAY_COORDS.getX()) && !GameTimeController.getInstance().isNight()) { mustRevalidate = true; } if (mustRevalidate) { - npc.getSpawn().setX(coords[0]); - npc.getSpawn().setY(coords[1]); - npc.getSpawn().setZ(coords[2]); - npc.teleToLocation(coords[0], coords[1], coords[2]); + npc.getSpawn().setLocation(coords); + npc.teleToLocation(coords); } } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/TowerOfInfinitum/TowerOfInfinitum.java b/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/TowerOfInfinitum/TowerOfInfinitum.java index bc30e72407..1d1ea93023 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/TowerOfInfinitum/TowerOfInfinitum.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/hellbound/TowerOfInfinitum/TowerOfInfinitum.java @@ -96,6 +96,8 @@ public class TowerOfInfinitum extends Quest }); } + private static final Location ENTER_LOCATION = new Location(-22204, 277056, -15023); + @Override public final String onAdvEvent(String event, L2Npc npc, L2PcInstance player) { @@ -118,7 +120,7 @@ public class TowerOfInfinitum extends Quest } for (L2PcInstance partyMember : party.getMembers()) { - partyMember.teleToLocation(-22204, 277056, -15023, true); + partyMember.teleToLocation(ENTER_LOCATION, true); } htmltext = null; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/ChambersOfDelusion/Chamber.java b/L2J_DataPack_BETA/dist/game/data/scripts/instances/ChambersOfDelusion/Chamber.java index 853aa5c044..5b5bc5dccf 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/instances/ChambersOfDelusion/Chamber.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/instances/ChambersOfDelusion/Chamber.java @@ -327,7 +327,7 @@ public abstract class Chamber extends Quest if (world.getInstanceId() == partyMember.getInstanceId()) { partyMember.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); - partyMember.teleToLocation(ROOM_ENTER_POINTS[newRoom], 50); + partyMember.teleToLocation(ROOM_ENTER_POINTS[newRoom], true); } } @@ -465,7 +465,7 @@ public abstract class Chamber extends Quest int x = Integer.parseInt(coords[0]); int y = Integer.parseInt(coords[1]); int z = Integer.parseInt(coords[2]); - ret = new Location(x, y, z); + ret.setLocation(new Location(x, y, z)); } catch (Exception e) { diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/CrystalCaverns/CrystalCaverns.java b/L2J_DataPack_BETA/dist/game/data/scripts/instances/CrystalCaverns/CrystalCaverns.java index 34727e457d..a8c73cacf2 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/instances/CrystalCaverns/CrystalCaverns.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/instances/CrystalCaverns/CrystalCaverns.java @@ -2891,11 +2891,11 @@ public class CrystalCaverns extends Quest { int x = (int) (radius * Math.cos((i * 2 * Math.PI) / members)); int y = (int) (radius * Math.sin((i++ * 2 * Math.PI) / members)); - p.teleToLocation(153571 + x, 142075 + y, -12737); + p.teleToLocation(new Location(153571 + x, 142075 + y, -12737)); L2Summon pet = p.getSummon(); if (pet != null) { - pet.teleToLocation(153571 + x, 142075 + y, -12737, true); + pet.teleToLocation(new Location(153571 + x, 142075 + y, -12737), true); pet.broadcastPacket(new ValidateLocation(pet)); } p.setIsParalyzed(true); diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/HellboundTown/HellboundTown.java b/L2J_DataPack_BETA/dist/game/data/scripts/instances/HellboundTown/HellboundTown.java index 403342ef70..b8476bf1f3 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/instances/HellboundTown/HellboundTown.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/instances/HellboundTown/HellboundTown.java @@ -458,7 +458,7 @@ public class HellboundTown extends Quest if ((world.spawnedAmaskari != null) && !world.spawnedAmaskari.isDead()) { - world.spawnedAmaskari.teleToLocation(_caller.getX(), _caller.getY(), _caller.getZ()); + world.spawnedAmaskari.teleToLocation(_caller.getLocation()); world.spawnedAmaskari.broadcastPacket(new NpcSay(world.spawnedAmaskari.getObjectId(), Say2.NPC_ALL, world.spawnedAmaskari.getId(), NpcStringId.ILL_MAKE_YOU_FEEL_SUFFERING_LIKE_A_FLAME_THAT_IS_NEVER_EXTINGUISHED)); } } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/HideoutOfTheDawn/HideoutOfTheDawn.java b/L2J_DataPack_BETA/dist/game/data/scripts/instances/HideoutOfTheDawn/HideoutOfTheDawn.java index 228aea366b..edc8c227f6 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/instances/HideoutOfTheDawn/HideoutOfTheDawn.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/instances/HideoutOfTheDawn/HideoutOfTheDawn.java @@ -71,7 +71,7 @@ public class HideoutOfTheDawn extends Quest final InstanceWorld world = InstanceManager.getInstance().getPlayerWorld(talker); world.removeAllowed(talker.getObjectId()); talker.setInstanceId(0); - talker.teleToLocation(JAINA_LOC, 0); + talker.teleToLocation(JAINA_LOC); return "32617-01.htm"; } } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10288_SecretMission/Q10288_SecretMission.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10288_SecretMission/Q10288_SecretMission.java index dc22d49467..cab795dfaa 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10288_SecretMission/Q10288_SecretMission.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10288_SecretMission/Q10288_SecretMission.java @@ -18,6 +18,7 @@ */ package quests.Q10288_SecretMission; +import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.quest.Quest; @@ -36,6 +37,8 @@ public class Q10288_SecretMission extends Quest private static final int GREYMORE = 32757; // Item private static final int LETTER = 15529; + // Location + private static final Location TELEPORT = new Location(118833, -80589, -2688); public Q10288_SecretMission(int questId, String name, String descr) { @@ -86,7 +89,7 @@ public class Q10288_SecretMission extends Quest case "teleport": if ((npc.getId() == AQUILANI) && st.isCompleted()) { - player.teleToLocation(118833, -80589, -2688); + player.teleToLocation(TELEPORT); return null; } } -- GitLab