Proper support for hunting teleports.

This commit is contained in:
MobiusDevelopment 2019-03-14 08:45:07 +00:00
parent 8ee8645caf
commit 5f2d4e835a
104 changed files with 309 additions and 258 deletions

View File

@ -45,6 +45,7 @@
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="NORMAL" />
<xs:enumeration value="HUNTING" />
<xs:enumeration value="NOBLES_TOKEN" />
<xs:enumeration value="NOBLES_ADENA" />
<xs:enumeration value="OTHER" />

View File

@ -22,6 +22,7 @@ package com.l2jmobius.gameserver.enums;
public enum TeleportType
{
NORMAL,
HUNTING,
NOBLES_TOKEN,
NOBLES_ADENA,
OTHER;

View File

@ -91,6 +91,18 @@ public final class L2TeleporterInstance extends L2Npc
holder.showTeleportList(player, this);
break;
}
case "showTeleportsHunting":
{
final String listName = (st.hasMoreTokens()) ? st.nextToken() : TeleportType.HUNTING.name();
final TeleportHolder holder = TeleportersData.getInstance().getHolder(getId(), listName);
if (holder == null)
{
LOGGER.warning("Player " + player.getObjectId() + " requested show teleports for hunting list with name " + listName + " at NPC " + getId() + "!");
return;
}
holder.showTeleportList(player, this);
break;
}
case "teleport":
{
// Check for required count of params.

View File

@ -75,7 +75,7 @@ public final class TeleportHolder
*/
public boolean isNoblesse()
{
return _type == TeleportType.NOBLES_ADENA || _type == TeleportType.NOBLES_TOKEN;
return (_type == TeleportType.NOBLES_ADENA) || (_type == TeleportType.NOBLES_TOKEN);
}
/**
@ -140,7 +140,7 @@ public final class TeleportHolder
}
// Load variables
final int questZoneId = (_type == TeleportType.NORMAL) ? player.getQuestZoneId() : -1;
final int questZoneId = isNormalTeleport() ? player.getQuestZoneId() : -1;
// Build html
final StringBuilder sb = new StringBuilder();
@ -216,7 +216,7 @@ public final class TeleportHolder
}
// Validate conditions for NORMAL teleport
if (_type == TeleportType.NORMAL)
if (isNormalTeleport())
{
if (npc.getCastle().getSiege().isInProgress())
{
@ -270,7 +270,7 @@ public final class TeleportHolder
*/
private boolean shouldPayFee(L2PcInstance player, TeleportLocation loc)
{
return (_type != TeleportType.NORMAL) || (((player.getLevel() > Config.MAX_FREE_TELEPORT_LEVEL) || player.isSubClassActive()) && ((loc.getFeeId() != 0) && (loc.getFeeCount() > 0)));
return !isNormalTeleport() || (((player.getLevel() > Config.MAX_FREE_TELEPORT_LEVEL) || player.isSubClassActive()) && ((loc.getFeeId() != 0) && (loc.getFeeCount() > 0)));
}
/**
@ -283,7 +283,7 @@ public final class TeleportHolder
*/
private long calculateFee(L2PcInstance player, TeleportLocation loc)
{
if (_type == TeleportType.NORMAL)
if (isNormalTeleport())
{
if (!player.isSubClassActive() && (player.getLevel() <= Config.MAX_FREE_TELEPORT_LEVEL))
{
@ -301,6 +301,11 @@ public final class TeleportHolder
return loc.getFeeCount();
}
private boolean isNormalTeleport()
{
return (_type == TeleportType.NORMAL) || (_type == TeleportType.HUNTING);
}
/**
* Gets name of specified item.
* @param itemId template id of item

View File

@ -45,6 +45,7 @@
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="NORMAL" />
<xs:enumeration value="HUNTING" />
<xs:enumeration value="NOBLES_TOKEN" />
<xs:enumeration value="NOBLES_ADENA" />
<xs:enumeration value="OTHER" />

View File

@ -22,6 +22,7 @@ package com.l2jmobius.gameserver.enums;
public enum TeleportType
{
NORMAL,
HUNTING,
NOBLES_TOKEN,
NOBLES_ADENA,
OTHER;

View File

@ -91,6 +91,18 @@ public final class L2TeleporterInstance extends L2Npc
holder.showTeleportList(player, this);
break;
}
case "showTeleportsHunting":
{
final String listName = (st.hasMoreTokens()) ? st.nextToken() : TeleportType.HUNTING.name();
final TeleportHolder holder = TeleportersData.getInstance().getHolder(getId(), listName);
if (holder == null)
{
LOGGER.warning("Player " + player.getObjectId() + " requested show teleports for hunting list with name " + listName + " at NPC " + getId() + "!");
return;
}
holder.showTeleportList(player, this);
break;
}
case "teleport":
{
// Check for required count of params.

View File

@ -75,7 +75,7 @@ public final class TeleportHolder
*/
public boolean isNoblesse()
{
return _type == TeleportType.NOBLES_ADENA || _type == TeleportType.NOBLES_TOKEN;
return (_type == TeleportType.NOBLES_ADENA) || (_type == TeleportType.NOBLES_TOKEN);
}
/**
@ -140,7 +140,7 @@ public final class TeleportHolder
}
// Load variables
final int questZoneId = (_type == TeleportType.NORMAL) ? player.getQuestZoneId() : -1;
final int questZoneId = isNormalTeleport() ? player.getQuestZoneId() : -1;
// Build html
final StringBuilder sb = new StringBuilder();
@ -216,7 +216,7 @@ public final class TeleportHolder
}
// Validate conditions for NORMAL teleport
if (_type == TeleportType.NORMAL)
if (isNormalTeleport())
{
if (npc.getCastle().getSiege().isInProgress())
{
@ -270,7 +270,7 @@ public final class TeleportHolder
*/
private boolean shouldPayFee(L2PcInstance player, TeleportLocation loc)
{
return (_type != TeleportType.NORMAL) || (((player.getLevel() > Config.MAX_FREE_TELEPORT_LEVEL) || player.isSubClassActive()) && ((loc.getFeeId() != 0) && (loc.getFeeCount() > 0)));
return !isNormalTeleport() || (((player.getLevel() > Config.MAX_FREE_TELEPORT_LEVEL) || player.isSubClassActive()) && ((loc.getFeeId() != 0) && (loc.getFeeCount() > 0)));
}
/**
@ -283,7 +283,7 @@ public final class TeleportHolder
*/
private long calculateFee(L2PcInstance player, TeleportLocation loc)
{
if (_type == TeleportType.NORMAL)
if (isNormalTeleport())
{
if (!player.isSubClassActive() && (player.getLevel() <= Config.MAX_FREE_TELEPORT_LEVEL))
{
@ -301,6 +301,11 @@ public final class TeleportHolder
return loc.getFeeCount();
}
private boolean isNormalTeleport()
{
return (_type == TeleportType.NORMAL) || (_type == TeleportType.HUNTING);
}
/**
* Gets name of specified item.
* @param itemId template id of item

View File

@ -45,6 +45,7 @@
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="NORMAL" />
<xs:enumeration value="HUNTING" />
<xs:enumeration value="NOBLES_TOKEN" />
<xs:enumeration value="NOBLES_ADENA" />
<xs:enumeration value="OTHER" />

View File

@ -22,6 +22,7 @@ package com.l2jmobius.gameserver.enums;
public enum TeleportType
{
NORMAL,
HUNTING,
NOBLES_TOKEN,
NOBLES_ADENA,
OTHER;

View File

@ -91,6 +91,18 @@ public final class L2TeleporterInstance extends L2Npc
holder.showTeleportList(player, this);
break;
}
case "showTeleportsHunting":
{
final String listName = (st.hasMoreTokens()) ? st.nextToken() : TeleportType.HUNTING.name();
final TeleportHolder holder = TeleportersData.getInstance().getHolder(getId(), listName);
if (holder == null)
{
LOGGER.warning("Player " + player.getObjectId() + " requested show teleports for hunting list with name " + listName + " at NPC " + getId() + "!");
return;
}
holder.showTeleportList(player, this);
break;
}
case "teleport":
{
// Check for required count of params.

View File

@ -75,7 +75,7 @@ public final class TeleportHolder
*/
public boolean isNoblesse()
{
return _type == TeleportType.NOBLES_ADENA || _type == TeleportType.NOBLES_TOKEN;
return (_type == TeleportType.NOBLES_ADENA) || (_type == TeleportType.NOBLES_TOKEN);
}
/**
@ -140,7 +140,7 @@ public final class TeleportHolder
}
// Load variables
final int questZoneId = (_type == TeleportType.NORMAL) ? player.getQuestZoneId() : -1;
final int questZoneId = isNormalTeleport() ? player.getQuestZoneId() : -1;
// Build html
final StringBuilder sb = new StringBuilder();
@ -216,7 +216,7 @@ public final class TeleportHolder
}
// Validate conditions for NORMAL teleport
if (_type == TeleportType.NORMAL)
if (isNormalTeleport())
{
if (npc.getCastle().getSiege().isInProgress())
{
@ -270,7 +270,7 @@ public final class TeleportHolder
*/
private boolean shouldPayFee(L2PcInstance player, TeleportLocation loc)
{
return (_type != TeleportType.NORMAL) || (((player.getLevel() > Config.MAX_FREE_TELEPORT_LEVEL) || player.isSubClassActive()) && ((loc.getFeeId() != 0) && (loc.getFeeCount() > 0)));
return !isNormalTeleport() || (((player.getLevel() > Config.MAX_FREE_TELEPORT_LEVEL) || player.isSubClassActive()) && ((loc.getFeeId() != 0) && (loc.getFeeCount() > 0)));
}
/**
@ -283,7 +283,7 @@ public final class TeleportHolder
*/
private long calculateFee(L2PcInstance player, TeleportLocation loc)
{
if (_type == TeleportType.NORMAL)
if (isNormalTeleport())
{
if (!player.isSubClassActive() && (player.getLevel() <= Config.MAX_FREE_TELEPORT_LEVEL))
{
@ -301,6 +301,11 @@ public final class TeleportHolder
return loc.getFeeCount();
}
private boolean isNormalTeleport()
{
return (_type == TeleportType.NORMAL) || (_type == TeleportType.HUNTING);
}
/**
* Gets name of specified item.
* @param itemId template id of item

View File

@ -45,6 +45,7 @@
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="NORMAL" />
<xs:enumeration value="HUNTING" />
<xs:enumeration value="NOBLES_TOKEN" />
<xs:enumeration value="NOBLES_ADENA" />
<xs:enumeration value="OTHER" />

View File

@ -22,6 +22,7 @@ package com.l2jmobius.gameserver.enums;
public enum TeleportType
{
NORMAL,
HUNTING,
NOBLES_TOKEN,
NOBLES_ADENA,
OTHER;

View File

@ -91,6 +91,18 @@ public final class L2TeleporterInstance extends L2Npc
holder.showTeleportList(player, this);
break;
}
case "showTeleportsHunting":
{
final String listName = (st.hasMoreTokens()) ? st.nextToken() : TeleportType.HUNTING.name();
final TeleportHolder holder = TeleportersData.getInstance().getHolder(getId(), listName);
if (holder == null)
{
LOGGER.warning("Player " + player.getObjectId() + " requested show teleports for hunting list with name " + listName + " at NPC " + getId() + "!");
return;
}
holder.showTeleportList(player, this);
break;
}
case "teleport":
{
// Check for required count of params.

View File

@ -75,7 +75,7 @@ public final class TeleportHolder
*/
public boolean isNoblesse()
{
return _type == TeleportType.NOBLES_ADENA || _type == TeleportType.NOBLES_TOKEN;
return (_type == TeleportType.NOBLES_ADENA) || (_type == TeleportType.NOBLES_TOKEN);
}
/**
@ -140,7 +140,7 @@ public final class TeleportHolder
}
// Load variables
final int questZoneId = (_type == TeleportType.NORMAL) ? player.getQuestZoneId() : -1;
final int questZoneId = isNormalTeleport() ? player.getQuestZoneId() : -1;
// Build html
final StringBuilder sb = new StringBuilder();
@ -216,7 +216,7 @@ public final class TeleportHolder
}
// Validate conditions for NORMAL teleport
if (_type == TeleportType.NORMAL)
if (isNormalTeleport())
{
if (npc.getCastle().getSiege().isInProgress())
{
@ -270,7 +270,7 @@ public final class TeleportHolder
*/
private boolean shouldPayFee(L2PcInstance player, TeleportLocation loc)
{
return (_type != TeleportType.NORMAL) || (((player.getLevel() > Config.MAX_FREE_TELEPORT_LEVEL) || player.isSubClassActive()) && ((loc.getFeeId() != 0) && (loc.getFeeCount() > 0)));
return !isNormalTeleport() || (((player.getLevel() > Config.MAX_FREE_TELEPORT_LEVEL) || player.isSubClassActive()) && ((loc.getFeeId() != 0) && (loc.getFeeCount() > 0)));
}
/**
@ -283,7 +283,7 @@ public final class TeleportHolder
*/
private long calculateFee(L2PcInstance player, TeleportLocation loc)
{
if (_type == TeleportType.NORMAL)
if (isNormalTeleport())
{
if (!player.isSubClassActive() && (player.getLevel() <= Config.MAX_FREE_TELEPORT_LEVEL))
{
@ -301,6 +301,11 @@ public final class TeleportHolder
return loc.getFeeCount();
}
private boolean isNormalTeleport()
{
return (_type == TeleportType.NORMAL) || (_type == TeleportType.HUNTING);
}
/**
* Gets name of specified item.
* @param itemId template id of item

View File

@ -45,6 +45,7 @@
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="NORMAL" />
<xs:enumeration value="HUNTING" />
<xs:enumeration value="NOBLES_TOKEN" />
<xs:enumeration value="NOBLES_ADENA" />
<xs:enumeration value="OTHER" />

View File

@ -22,6 +22,7 @@ package com.l2jmobius.gameserver.enums;
public enum TeleportType
{
NORMAL,
HUNTING,
NOBLES_TOKEN,
NOBLES_ADENA,
OTHER;

View File

@ -91,6 +91,18 @@ public final class L2TeleporterInstance extends L2Npc
holder.showTeleportList(player, this);
break;
}
case "showTeleportsHunting":
{
final String listName = (st.hasMoreTokens()) ? st.nextToken() : TeleportType.HUNTING.name();
final TeleportHolder holder = TeleportersData.getInstance().getHolder(getId(), listName);
if (holder == null)
{
LOGGER.warning("Player " + player.getObjectId() + " requested show teleports for hunting list with name " + listName + " at NPC " + getId() + "!");
return;
}
holder.showTeleportList(player, this);
break;
}
case "teleport":
{
// Check for required count of params.

View File

@ -75,7 +75,7 @@ public final class TeleportHolder
*/
public boolean isNoblesse()
{
return _type == TeleportType.NOBLES_ADENA || _type == TeleportType.NOBLES_TOKEN;
return (_type == TeleportType.NOBLES_ADENA) || (_type == TeleportType.NOBLES_TOKEN);
}
/**
@ -140,7 +140,7 @@ public final class TeleportHolder
}
// Load variables
final int questZoneId = (_type == TeleportType.NORMAL) ? player.getQuestZoneId() : -1;
final int questZoneId = isNormalTeleport() ? player.getQuestZoneId() : -1;
// Build html
final StringBuilder sb = new StringBuilder();
@ -216,7 +216,7 @@ public final class TeleportHolder
}
// Validate conditions for NORMAL teleport
if (_type == TeleportType.NORMAL)
if (isNormalTeleport())
{
if (npc.getCastle().getSiege().isInProgress())
{
@ -270,7 +270,7 @@ public final class TeleportHolder
*/
private boolean shouldPayFee(L2PcInstance player, TeleportLocation loc)
{
return (_type != TeleportType.NORMAL) || (((player.getLevel() > Config.MAX_FREE_TELEPORT_LEVEL) || player.isSubClassActive()) && ((loc.getFeeId() != 0) && (loc.getFeeCount() > 0)));
return !isNormalTeleport() || (((player.getLevel() > Config.MAX_FREE_TELEPORT_LEVEL) || player.isSubClassActive()) && ((loc.getFeeId() != 0) && (loc.getFeeCount() > 0)));
}
/**
@ -283,7 +283,7 @@ public final class TeleportHolder
*/
private long calculateFee(L2PcInstance player, TeleportLocation loc)
{
if (_type == TeleportType.NORMAL)
if (isNormalTeleport())
{
if (!player.isSubClassActive() && (player.getLevel() <= Config.MAX_FREE_TELEPORT_LEVEL))
{
@ -301,6 +301,11 @@ public final class TeleportHolder
return loc.getFeeCount();
}
private boolean isNormalTeleport()
{
return (_type == TeleportType.NORMAL) || (_type == TeleportType.HUNTING);
}
/**
* Gets name of specified item.
* @param itemId template id of item

View File

@ -45,6 +45,7 @@
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="NORMAL" />
<xs:enumeration value="HUNTING" />
<xs:enumeration value="NOBLES_TOKEN" />
<xs:enumeration value="NOBLES_ADENA" />
<xs:enumeration value="OTHER" />

View File

@ -22,6 +22,7 @@ package com.l2jmobius.gameserver.enums;
public enum TeleportType
{
NORMAL,
HUNTING,
NOBLES_TOKEN,
NOBLES_ADENA,
OTHER;

View File

@ -91,6 +91,18 @@ public final class L2TeleporterInstance extends L2Npc
holder.showTeleportList(player, this);
break;
}
case "showTeleportsHunting":
{
final String listName = (st.hasMoreTokens()) ? st.nextToken() : TeleportType.HUNTING.name();
final TeleportHolder holder = TeleportersData.getInstance().getHolder(getId(), listName);
if (holder == null)
{
LOGGER.warning("Player " + player.getObjectId() + " requested show teleports for hunting list with name " + listName + " at NPC " + getId() + "!");
return;
}
holder.showTeleportList(player, this);
break;
}
case "teleport":
{
// Check for required count of params.

View File

@ -75,7 +75,7 @@ public final class TeleportHolder
*/
public boolean isNoblesse()
{
return _type == TeleportType.NOBLES_ADENA || _type == TeleportType.NOBLES_TOKEN;
return (_type == TeleportType.NOBLES_ADENA) || (_type == TeleportType.NOBLES_TOKEN);
}
/**
@ -140,7 +140,7 @@ public final class TeleportHolder
}
// Load variables
final int questZoneId = (_type == TeleportType.NORMAL) ? player.getQuestZoneId() : -1;
final int questZoneId = isNormalTeleport() ? player.getQuestZoneId() : -1;
// Build html
final StringBuilder sb = new StringBuilder();
@ -216,7 +216,7 @@ public final class TeleportHolder
}
// Validate conditions for NORMAL teleport
if (_type == TeleportType.NORMAL)
if (isNormalTeleport())
{
if (npc.getCastle().getSiege().isInProgress())
{
@ -270,7 +270,7 @@ public final class TeleportHolder
*/
private boolean shouldPayFee(L2PcInstance player, TeleportLocation loc)
{
return (_type != TeleportType.NORMAL) || (((player.getLevel() > Config.MAX_FREE_TELEPORT_LEVEL) || player.isSubClassActive()) && ((loc.getFeeId() != 0) && (loc.getFeeCount() > 0)));
return !isNormalTeleport() || (((player.getLevel() > Config.MAX_FREE_TELEPORT_LEVEL) || player.isSubClassActive()) && ((loc.getFeeId() != 0) && (loc.getFeeCount() > 0)));
}
/**
@ -283,7 +283,7 @@ public final class TeleportHolder
*/
private long calculateFee(L2PcInstance player, TeleportLocation loc)
{
if (_type == TeleportType.NORMAL)
if (isNormalTeleport())
{
if (!player.isSubClassActive() && (player.getLevel() <= Config.MAX_FREE_TELEPORT_LEVEL))
{
@ -301,6 +301,11 @@ public final class TeleportHolder
return loc.getFeeCount();
}
private boolean isNormalTeleport()
{
return (_type == TeleportType.NORMAL) || (_type == TeleportType.HUNTING);
}
/**
* Gets name of specified item.
* @param itemId template id of item

View File

@ -1,4 +0,0 @@
<html><body>-Teleportable Regions-<br><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 2">Heroic Tomb</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 3">Ruins of Ye Sagira</Button>
</body></html>

View File

@ -2,7 +2,7 @@
Welcome! I mean, it's weird saying welcome when I'm new here, but um, welcome anyway! I'm Milia from the Ivory Tower, sent away from Oren for the first time!<br>
(If your <font color="LEVEL">Main Class</font> is Lv. 99 or below, you can teleport for free.)<br>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleports">"I want to go to another town."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_Chat 3">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleportsHunting">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 1">Go to the Keucereus Alliance Base</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 2">Ask about the Airship Field</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 002">Exange Dimensional Diamond</Button>

View File

@ -1,9 +0,0 @@
<html><body>-Teleportable Regions-<br><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 0">Cruma Marshlands (Lv. 25)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 1">Cruma Tower (Lv. 40)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 2">Fortress of Resistance (Lv. 23)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 3">Plains of Dion (Lv. 23)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 4">Bee Hive (Lv. 34)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 5">Tanor Canyon (Lv. 46)</Button>
</body></html>

View File

@ -2,7 +2,7 @@
Taking a walk and taking in the sights is always good for you, but sometimes you just don't have the time, you know? I can help you if you want to go somewhere through the gate of time and space.<br>
(If your <font color="LEVEL">main class</font> is <font color="LEVEL">Lv. 99</font> or below, you can teleport for free.)<br>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleports">"I want to go to another town."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_Chat 4">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleportsHunting">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 002">Use Dimension Diamond</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest TeleportToRaceTrack" msg="811;Monster Race Track">I want to go to the Arena and Monster Race Track for free</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest TeleportToFantasy" msg="811;Fantasy Isle">Move to Fantasy Isle (free)</Button>

View File

@ -1,9 +0,0 @@
<html><body>-Teleportable Regions-<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 0">Giran Harbor</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 1">Parnassus</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 2">Hardin's Private Academy</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 3">Devil's Isle</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 4">Breka's Stronghold (Lv. 30)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 5">Dragon Valley (Lv. 76)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 6">Antharas' Lair (Lv. 85)</Button>
</body></html>

View File

@ -2,7 +2,7 @@
We are gatekeepers of dimensional travel, capable of teleportation to destinations in the blink of an eye. Do you have a request?<br>
(If your <font color="LEVEL">Main Class</font> is Lv. 99 or below, you can teleport for free.)<br>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleports">"I want to go to another town."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_Chat 1">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleportsHunting">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 002">"I want to exchange some Dimensional Diamonds."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest TeleportToRaceTrack" msg="811;Monster Race Track">"I want to go to the Arena and Monster Race Track for free."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest TeleportToFantasy" msg="811;Fantasy Isle">"I want to go to Fantasy Isle for free."</Button>

View File

@ -1,6 +0,0 @@
<html><body>-Teleportable Regions-<br><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 0">Neutral Zone (Lv. 15)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 1">Bloody Swampland (Lv. 85)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 2">Blackbird Campsite (Lv. 101)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 3">Catacomb of Dark Omens (Lv. 85)</Button>
</body></html>

View File

@ -2,8 +2,7 @@
The Dark Elf Village is currently under quarantine due to an epidemic. Survivors from the village who are not carrying the disease have been relocated to the Talking Island. We recommend that visitors avoid the Dark Elf village until further notice.<br>
(If your <font color="LEVEL">Main Class</font> is Lv. 99 or below, you can teleport for free.)<br>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleports">"I want to go to another town."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_Chat 1">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleportsHunting">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 002">"I want to exchange some Dimensional Diamonds."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest CharacterBirthday">"It's my birthday though! Where's my gift?"</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
</body></html>

View File

@ -1,5 +0,0 @@
<html><body>-Teleportable Regions-<br><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 0">Elven Forest (Lv. 8)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 1">Elven Fortress (Lv. 10)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 2">Neutral Zone (Lv. 15)</Button>
</body></html>

View File

@ -4,8 +4,7 @@ I came here with the Mother Tree Guardian to investigate the unusual events happ
This area is very dangerous. Be careful.<br>
(If your <font color="LEVEL">Main Class</font> is Lv. 99 or below, you can teleport for free.)<br>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleports">"I want to go to another town."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_Chat 1">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleportsHunting">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 002">"I want to trade Dimensional Diamonds."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest CharacterBirthday">"It's my character creation anniversary!</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
</body></html>

View File

@ -1,9 +0,0 @@
<html><body>-Teleportable Regions-<br><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 0">Hardin's Private Academy</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 1">Ivory Tower</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 2">Sel Mahum Training Grounds (Lv. 81)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 3">Plain of the Lizardmen (Lv. 81)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 4">Outlaw Forest (Lv. 46)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 5">Sea of Spores (Lv. 106)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 6">Blackbird Campsite (Lv. 101)</Button>
</body></html>

View File

@ -3,7 +3,7 @@ Hello there! I don't look like a plain gatekeeper, do I? Haha. I'm actually sent
So which one do you think describes a gatekeeper? Guess wisely -- I'm here to help you travelers, you know! Hehe.<br>
(If your <font color="LEVEL">main class</font> is <font color="LEVEL">Lv. 99</font> or below, you can teleport for free.<br>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleports">"I want to go to another town."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_Chat 1">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleportsHunting">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 002">Use Dimension Diamond</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest TeleportToRaceTrack" msg="811;Monster Race Track">I want to go to the Arena and Monster Race Track for free</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest TeleportToFantasy" msg="811;Fantasy Isle">Move to Fantasy Isle (free)</Button>

View File

@ -1,8 +0,0 @@
<html><body>-Teleportable Regions-<br><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 0">Hardin's Private Academy</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 1">Ivory Tower</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 2">Anghel Waterfall</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 3">Enchanted Valley (Lv. 102)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 4">Forest of Mirrors (Lv. 40)</Button>
</body></html>

View File

@ -3,7 +3,7 @@ Well hello there! Don't mind me, I'm just standing around just in case you're bl
That said, do you need to get somewhere?<br>
(If your <font color="LEVEL">Main Class</font> is Lv. 99 or below, you can teleport for free.)<br>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleports">"I want to go to another town."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_Chat 1">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleportsHunting">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 002">"I want to exchange some Dimensional Diamonds."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest TeleportToRaceTrack" msg="811;Monster Race Track">"I want to go to the Arena and Monster Race Track for free."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest TeleportToFantasy" msg="811;Fantasy Isle">"I want to go to Fantasy Isle for free."</Button>

View File

@ -1,8 +0,0 @@
<html><body>-Teleportable Regions-<br><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 1">Windmill Hill (Lv. 20)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 2">Ruins of Agony (Lv. 25)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 3">Ruins of Despair (Lv. 30)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 4">Ant Nest (Lv. 29)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 5">Windawood Manor (Lv. 22)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 6">Wastelands (Lv. 35)</Button>
</body></html>

View File

@ -2,7 +2,7 @@
Welcome! Beautiful weather, isn't it? Perfect for traveling!<br>
(If your <font color="LEVEL">Main Class</font> is Lv. 99 or below, you can teleport for free.)<br>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleports">"I want to go to another town."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_Chat 5">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleportsHunting">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 1">"I want to teleport to the Keucereus Alliance Base"</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 002">"I want to trade Dimensional Diamonds."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest TeleportToRaceTrack" msg="811;Monster Race Track">"I want to go to the Arena and Monster Race Track for free."</Button>

View File

@ -1,13 +0,0 @@
<html><body>-Teleportable Regions-<br><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 0">Langk Lizardmen Dwellings (Lv. 16)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 1">Windmill Hill (Lv. 20)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 2">Fellmere Harvesting Grounds (Lv. 17)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 3">Forgotten Temple (Lv. 27)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 4">Orc Barracks (Lv. 35)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 5">Windy Hill (Lv. 26)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 6">Wastelands (Lv. 35)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 7">Red Rock Ridge (Lv. 30)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 8">Ruins of Agony (Lv. 25)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 9">Ruins of Despair (Lv. 30)</Button>
</body></html>

View File

@ -2,7 +2,7 @@
Lovely day, isn't it? Would you like to go somewhere? What fortune, to be able to go wherever you please!<br>
(If your <font color="LEVEL">Main Class</font> is Lv. 99 or below, you can teleport for free.)<br>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleports">"I want to go to another town."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_Chat 1">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleportsHunting">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 002">"I want to exchange some Dimensional Diamonds."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest TeleportToRaceTrack" msg="811;Monster Race Track">"I want to go to the Arena and Monster Race Track for free."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest TeleportToFantasy" msg="811;Fantasy Isle">"I want to go to Fantasy Isle for free."</Button>

View File

@ -1,7 +0,0 @@
<html><body>-Teleportable Regions-<br><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 0">Abandoned Coal Mines (Lv. 10)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 1">Easten Mining Zone (Northeastern Shore (Lv. 18)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 2">Western Mining Zone (Central Shore) (Lv. 8.)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 3">Mithril Mines Western Entrance (Lv. 81)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 4">Mithril Mines Eastern Entrance (Lv. 81)</Button>
</body></html>

View File

@ -2,9 +2,8 @@
The Dwarven Village is deserted due to the recent plague outbreak. The survivors have moved onto Talking Island; please leave the area immediately.<br>
(If your <font color="LEVEL">Main Class</font> is Lv. 99 or below, you can teleport for free.)<br>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleports">"I want to go to another town."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_Chat 1">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleportsHunting">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 002">"I want to exchange some Dimensional Diamonds."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest TeleportWithCharm">"I'll use a Gatekeeper Token."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest CharacterBirthday">"It's my birthday though! Where's my gift?"</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
</body></html>

View File

@ -1,3 +0,0 @@
<html><body>-Teleportable Regions-<br><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 0">Gainak Village</Button>
</body></html>

View File

@ -2,9 +2,8 @@
The Orc Village is deserted due to the recent plague outbreak. The survivors have moved onto Talking Island; please leave the area immediately.<br>
(If your <font color="LEVEL">Main Class</font> is Lv. 99 or below, you can teleport for free.)<br>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleports">"I want to go to another town."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_Chat 4">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleportsHunting">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 002">"I want to exchange some Dimensional Diamonds."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest TeleportWithCharm">"I'll use a Gatekeeper Charm."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest CharacterBirthday">"It's my birthday though! Where's my gift?"</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
</body></html>

View File

@ -1,16 +0,0 @@
<html><body>-Teleportable Regions-<br><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 0">Ivory Tower</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 1">Coliseum</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 2">Forsaken Plains (Lv. 58)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 3">Seal of Shilen (Lv. 95)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 4">Entrance to the Cemetary (Lv. 97)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 5">Forest of Mirrors (Lv. 40)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 6">Blazing Swamp (Lv. 97)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 7">Fields of Massacre (Lv. 61)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 8">Ancient Battleground (Lv. 64)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 9">Silent Valley (Lv. 95)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 10">Tower of Insolence (Lv. 70)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 11">Entrance to the Giant's Cave (Lv. 100)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 12">The Disciple's Necropolis (Lv. 105)</Button>
</body></html>

View File

@ -2,7 +2,7 @@
Such a bustling place! I'm new here, and still haven't had the time to check out the hubbub of politics, the religion, the culture... I wish I had more time, but being gatekeeper is busy work!<br>
(If your <font color="LEVEL">Main Class</font> is Lv. 99 or below, you can teleport for free.)<br>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleports">"I want to go to another town."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_Chat 1">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleportsHunting">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 002">"I want to exchange some Dimensional Diamonds."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest TeleportToRaceTrack" msg="811;Monster Race Track">"I want to go to the Arena and Monster Race Track for free."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest TeleportToFantasy" msg="811;Fantasy Isle">"I want to go to Fantasy Isle for free."</Button>

View File

@ -1,10 +0,0 @@
<html><body>-Teleportable Regions-<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 0">Giran Harbor</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 1">Parnassus</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 2">Field of Silence (Lv. 106)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 3">Field of Whispers (Lv. 108)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 4">Alligator Island (Lv. 40)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 5">Garden of Eva (Lv. 40)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 6">Isle of Prayer (Lv. 78)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 7">Fafurion Temple (Lv. 111)</Button>
</body></html>

View File

@ -3,7 +3,7 @@ Leaving? I hope you enjoyed your stay.<br>
I don't see why anyone would want to leave, though. Innadril is the most beautiful city in Aden. Have you seen the ships crossing the canals at sunset? Have you heard the whisper of the reeds in the wind? If not, you're missing out.<br>
(If your <font color="LEVEL">Main Class</font> is Lv. 99 or below, you can teleport for free.)<br>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleports">"I want to go to another town."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_Chat 1">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleportsHunting">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 002">""I want to exchange Dimension Diamonds."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest TeleportToRaceTrack" msg="811;Monster Racetrack">"i want to go to Arena & Monster Race Track." (Free)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest TeleportToFantasy" msg="811;Fantasy Isle">"I want to go to the Fantasy Isle" (Free)</Button>

View File

@ -1,11 +0,0 @@
<html><body>-Teleportable Regions-<br><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 0">Varka Silenos Barracks (Lv. 76)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 1">Ketra Orc Outpost (Lv. 76)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 2">Hot Springs (Lv. 73)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 3">Wall of Argos (Lv. 71)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 4">Shrine of Loyalty (Lv. 76)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 5">Imperial Tomb (Lv. 80)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 6">Monastery of Silence (Lv. 80)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 7">Entrance to the Forge of the Gods (Lv. 78)</Button>
</body></html>

View File

@ -3,7 +3,7 @@ Well, hello there. Would you like to teleport? I'm a gatekeeper, master of time
So, what do you need?<br>
(If your <font color="LEVEL">Main Class</font> is Lv. 99 or below, you can teleport for free.)<br>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleports">"I want to go to another town."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_Chat 4">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleportsHunting">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 002">"I want to exchange some Dimensional Diamonds."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest TeleportToRaceTrack" msg="811;Monster Race Track">"I want to go to the Arena and Monster Race Track for free."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest TeleportToFantasy" msg="811;Fantasy Isle">"I want to go to Fantasy Isle for free."</Button>

View File

@ -1,11 +0,0 @@
<html><body>-Teleportable Regions-<br><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 0">Primeval Isle Wharf</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 1">Gainak Village</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 2">Wild Beast Pastures (Lv. 83)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 3">Valley of Saints (Lv. 60)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 4">Forest of the Dead (Lv. 66)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 5">Swamp of Screams (Lv. 66)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 6">Monastery of Silence (Lv. 80)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 7">Stakato Nest (Lv. 82)</Button>
</body></html>

View File

@ -3,7 +3,7 @@ Just look at this bustle. This town has been a strategic and economic center for
So, what can I help you with?"<br>
(If your <font color="LEVEL">Main Class</font> is Lv. 99 or below, you can teleport for free.)<br>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleports">"I want to go to another town."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_Chat 1">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleportsHunting">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 002">"I want to exchange some Dimensional Diamonds."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest TeleportToRaceTrack" msg="811;Monster Race Track">"I want to go to the Arena and Monster Race Track for free."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest TeleportToFantasy" msg="811;Fantasy Isle">"I want to go to Fantasy Isle for free."</Button>

View File

@ -1,11 +0,0 @@
<html><body>-Teleportable Regions-<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 0">Freya`s Garden</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 1">Ice Merchant Cabin</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 2">Gainak Village</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 3">Frozen Labyrinth (Lv. 53)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 4">Den of Evil (Lv. 81)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 5">Plunderous Plains (Lv. 103)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 6">Crytps of Disgrace (Lv. 80)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 7">Pavel Ruins (Lv. 85)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 8">Mithril Mines (Lv. 85)</Button>
</body></html>

View File

@ -3,7 +3,7 @@ Hello? I am Bilia, Gatekeeper in the Town of Schuttgart. If you want to use the
If you've decided on your destination, I'll teleport you.<br>
(If your <font color="LEVEL">Main Class</font> is Lv. 99 or below, you can teleport for free.)<br>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleports">"I want to go to another town."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_Chat 1">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleportsHunting">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 002">"I want to exchange some Dimensional Diamonds."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest TeleportToRaceTrack" msg="811;Monster Race Track">"I want to go to the Arena and Monster Race Track for free."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest TeleportToFantasy" msg="811;Fantasy Isle">"I want to go to Fantasy Isle for free."</Button>

View File

@ -1,6 +0,0 @@
<html><body>-Teleportable Regions-<br><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 0">Stronghold I (Lv. 1)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 1">Stronghold 2 (Lv. 93)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 2">Stronghold 3 (Lv. 93)</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 3">Isle of Souls Harbor</Button>
</body></html>

View File

@ -1,10 +1,9 @@
<html><body>Teleport Device:<br>
The Dwarven Village is deserted due to the recent plague outbreak. The survivors have moved onto Talking Island; please leave the area immediately.<br>
The Kamael Village is deserted due to the recent plague outbreak. The survivors have moved onto Talking Island; please leave the area immediately.<br>
(If your <font color="LEVEL">Main Class</font> is Lv. 99 or below, you can teleport for free.)<br>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleports">"I want to go to another town."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_Chat 1">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleportsHunting">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 0">"I want to go to a Stronghold for free."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 002">"I want to exchange some Dimensional Diamonds."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest CharacterBirthday">"It's my birthday though! Where's my gift?"</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
</body></html>

View File

@ -1,3 +0,0 @@
<html><body>-Teleportable Regions-<br><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 0">Underground Gainak</Button>
</body></html>

View File

@ -3,6 +3,6 @@ Greetings. I am the Gainak Gatekeeper. What brings you to this dangerous place?<
Perhaps it's better I do not know. Whatever you want to leave here, tell me. Do you?<br>
(If your <font color=LEVEL>Main Class</font> is <font color=LEVEL>Lv. 76 or below</font>, you may teleport for free.)<br>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleports">"I want to go to another town."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_Chat 1">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleportsHunting">"I want to go to a hunting ground or another region."</Button>
</body></html>

View File

@ -1,3 +0,0 @@
<html><body>-Teleportable Regions-<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 0">Whispering Woods</Button>
</body></html>

View File

@ -3,7 +3,7 @@ Welcome. I'm Astiel, and I've been dispatched here from the Ivory Tower. When I
Now, what can I help you with?<br>
(If your <font color="LEVEL">Main Class</font> is Lv. 99 or below, you can teleport for free.)<br>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleports">"I want to go to another town."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_Chat 1">"I want to go to a hunting ground or another region"</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleportsHunting">"I want to go to a hunting ground or another region"</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 002">"I want to exchange some Dimensional Diamonds."</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
</body></html>

View File

@ -1,3 +0,0 @@
<html><body>-Teleportable Regions-<br><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_teleport OTHER 0">Gainak Village</Button>
</body></html>

View File

@ -2,6 +2,6 @@
This place, Underground Gainak, isn't very known. No one lived here in the past. Ever since Mr. Settlen opened the Mystic Tavern, we started having more visitors.<br>
(If your <font color="LEVEL">Main Class</font> is Lv. 99 or below, you can teleport for free.)<br>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleports">"I want to go to another town."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_Chat 1">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_showTeleportsHunting">"I want to go to a hunting ground or another region."</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
</body></html>

View File

@ -21,7 +21,7 @@
<location npcStringId="1010158" x="115357" y="-178212" z="-928" feeCount="46000" /> <!-- Dwarven Village -->
<location npcStringId="1010648" x="-117001" y="46589" z="360" feeCount="20000" /> <!-- Kamael Village -->
</teleport>
<teleport type="OTHER">
<teleport type="HUNTING">
<location npcStringId="1010742" x="-82399" y="244118" z="-3738" questZoneId="543" feeCount="160" /> <!-- Whispering Woods -->
</teleport>
</npc>

View File

@ -21,7 +21,7 @@
<location npcStringId="1010648" x="-117001" y="46589" z="360" feeCount="20000" /> <!-- Kamael Village -->
<location npcStringId="1010741" x="-80532" y="247714" z="-3492" feeCount="3300" questZoneId="542" /> <!-- Faeron Village -->
</teleport>
<teleport type="OTHER">
<teleport type="HUNTING">
<location npcStringId="1010731" x="-186565" y="243629" z="2621" feeCount="150000" /> <!-- Keucereus Alliance Base -->
<location npcStringId="1010175" x="-74850" y="168753" z="-3506" questZoneId="256" feeCount="1400" /> <!-- Windmill Hill (Lv. 20) -->
<location npcStringId="1010097" x="-41167" y="122789" z="-2914" questZoneId="27" feeCount="790" /> <!-- Ruins of Agony (Lv. 25) -->

View File

@ -22,7 +22,7 @@
<location npcStringId="1010648" x="-117001" y="46589" z="360" feeCount="20000" /> <!-- Kamael Village -->
<location npcStringId="1010741" x="-80532" y="247714" z="-3492" feeCount="3300" questZoneId="542" /> <!-- Faeron Village -->
</teleport>
<teleport type="OTHER">
<teleport type="HUNTING">
<location npcStringId="1010747" x="102174" y="-124781" z="-2760" feeCount="3500" /> <!-- Freya`s Garden -->
<location npcStringId="1010570" x="113902" y="-108751" z="-856" feeCount="3500" /> <!-- Ice Merchant Cabin -->
<location npcStringId="1010737" x="16360" y="-114097" z="-226" feeCount="15000" /> <!-- Gainak Village -->

View File

@ -6,7 +6,7 @@
<location npcStringId="1010574" x="87142" y="-143529" z="-1288" feeCount="14000" /> <!-- The Town of Schuttgart -->
<location npcStringId="1010157" x="-44124" y="-113390" z="-240" feeCount="2300" /> <!-- Orc Village -->
</teleport>
<teleport type="OTHER">
<teleport type="HUNTING">
<location npcStringId="1010746" x="-51015" y="-147271" z="-14944" feeCount="0" /> <!-- Underground Gainak -->
</teleport>
</npc>

View File

@ -21,7 +21,7 @@
<location npcStringId="1010648" x="-117001" y="46589" z="360" feeCount="20000" /> <!-- Kamael Village -->
<location npcStringId="1010741" x="-80532" y="247714" z="-3492" feeCount="3300" questZoneId="542" /> <!-- Faeron Village -->
</teleport>
<teleport type="OTHER">
<teleport type="HUNTING">
<location npcStringId="1010021" x="47916" y="186857" z="-3485" feeCount="5200" /> <!-- Giran Harbor -->
<location npcStringId="1010718" x="149362" y="172556" z="-952" feeCount="7000" /> <!-- Parnassus -->
<location npcStringId="1010022" x="105918" y="109759" z="-3165" feeCount="4400" /> <!-- Hardin's Private Academy -->

View File

@ -21,7 +21,7 @@
<location npcStringId="1010648" x="-117001" y="46589" z="360" feeCount="20000" /> <!-- Kamael Village -->
<location npcStringId="1010741" x="-80532" y="247714" z="-3492" feeCount="3300" questZoneId="542" /> <!-- Faeron Village -->
</teleport>
<teleport type="OTHER">
<teleport type="HUNTING">
<location npcStringId="1010014" x="85392" y="16232" z="-3673" feeCount="6200" /> <!-- Ivory Tower -->
<location npcStringId="1010053" x="146439" y="46715" z="-3434" feeCount="2000" /> <!-- Coliseum -->
<location npcStringId="1010143" x="174462" y="40115" z="-4145" questZoneId="73" feeCount="2400" /> <!-- Forsaken Plains (Lv. 58) -->

View File

@ -21,7 +21,7 @@
<location npcStringId="1010648" x="-117001" y="46589" z="360" feeCount="20000" /> <!-- Kamael Village -->
<location npcStringId="1010741" x="-80532" y="247714" z="-3492" feeCount="3300" questZoneId="542" /> <!-- Faeron Village -->
</teleport>
<teleport type="OTHER">
<teleport type="HUNTING">
<location npcStringId="1010022" x="105918" y="109759" z="-3165" feeCount="3400" /> <!-- Hardin's Private Academy -->
<location npcStringId="1010014" x="85392" y="16232" z="-3673" feeCount="6800" /> <!-- Ivory Tower -->
<location npcStringId="1010607" x="172449" y="90319" z="-1985" questZoneId="78" feeCount="6300" /> <!-- Anghel Waterfall -->

View File

@ -21,7 +21,7 @@
<location npcStringId="1010648" x="-117001" y="46589" z="360" feeCount="20000" /> <!-- Kamael Village -->
<location npcStringId="1010741" x="-80532" y="247714" z="-3492" feeCount="3300" questZoneId="542" /> <!-- Faeron Village -->
</teleport>
<teleport type="OTHER">
<teleport type="HUNTING">
<location npcStringId="1010021" x="47916" y="186857" z="-3485" feeCount="7100" /> <!-- Giran Harbor -->
<location npcStringId="1010718" x="149362" y="172556" z="-952" feeCount="6000" /> <!-- Parnassus -->
<location npcStringId="1010089" x="87667" y="162816" z="-3537" feeCount="12000" /> <!-- Field of Silence (Lv. 81) -->

View File

@ -21,7 +21,7 @@
<location npcStringId="1010648" x="-117001" y="46589" z="360" feeCount="20000" /> <!-- Kamael Village -->
<location npcStringId="1010741" x="-80532" y="247714" z="-3492" feeCount="3300" questZoneId="542" /> <!-- Faeron Village -->
</teleport>
<teleport type="OTHER">
<teleport type="HUNTING">
<location npcStringId="1010698" x="11235" y="-24026" z="-3635" feeCount="6400" /> <!-- Primeval Isle Wharf -->
<location npcStringId="1010737" x="16360" y="-114097" z="-226" feeCount="11000" /> <!-- Gainak Village -->
<location npcStringId="1010537" x="53516" y="-82831" z="-2695" feeCount="7200" /> <!-- Wild Beast Pastures (Lv. 83) -->

View File

@ -21,11 +21,13 @@
<location npcStringId="1010648" x="-117001" y="46589" z="360" feeCount="20000" /> <!-- Kamael Village -->
<location npcStringId="1010741" x="-80532" y="247714" z="-3492" feeCount="3300" questZoneId="542" /> <!-- Faeron Village -->
</teleport>
<teleport type="OTHER">
<location npcStringId="1010731" x="-186565" y="243629" z="2621" feeCount="150000" /> <!-- Keucereus Alliance Base -->
<location npcStringId="1010745" x="-149406" y="255247" z="-80" /> <!-- Gludio Airship Wharf -->
<teleport type="HUNTING">
<location npcStringId="1010740" x="-114986" y="226633" z="-2864" feeCount="860" /> <!-- Reliquary of the Giants -->
<location npcStringId="1010739" x="-109300" y="237498" z="-2944" feeCount="550" questZoneId="1" /> <!-- Ruins of Ye Sagira -->
</teleport>
<teleport type="OTHER">
<location npcStringId="1010731" x="-186565" y="243629" z="2621" feeCount="150000" /> <!-- Keucereus Alliance Base -->
<location npcStringId="1010745" x="-149406" y="255247" z="-80" /> <!-- Gludio Airship Wharf -->
</teleport>
</npc>
</list>

View File

@ -21,7 +21,7 @@
<location npcStringId="1010648" x="-117001" y="46589" z="360" feeCount="20000" /> <!-- Kamael Village -->
<location npcStringId="1010741" x="-80532" y="247714" z="-3492" feeCount="3300" questZoneId="542" /> <!-- Faeron Village -->
</teleport>
<teleport type="OTHER">
<teleport type="HUNTING">
<location npcStringId="1010167" x="21373" y="51119" z="-3693" feeCount="710" /> <!-- Elven Forest (Lv. 8) -->
<location npcStringId="1010560" x="29298" y="74968" z="-3777" feeCount="820" /> <!-- Elven Fortress (Lv. 10) -->
<location npcStringId="1010612" x="-10612" y="75881" z="-3587" feeCount="1700" /> <!-- Neutral Zone (Lv. 15) -->

View File

@ -6,7 +6,7 @@
<location npcStringId="1010200" x="43835" y="-47749" z="-792" feeCount="9200" /> <!-- Town of Rune -->
<location npcStringId="1010157" x="-44124" y="-113390" z="-240" feeCount="2400" /> <!-- Orc Village -->
</teleport>
<teleport type="OTHER">
<teleport type="HUNTING">
<location npcStringId="1010737" x="16365" y="-114093" z="-224" feeCount="500" /> <!-- Gainak Village -->
</teleport>
</npc>

View File

@ -21,7 +21,7 @@
<location npcStringId="1010648" x="-117001" y="46589" z="360" feeCount="20000" /> <!-- Kamael Village -->
<location npcStringId="1010741" x="-80532" y="247714" z="-3492" feeCount="3300" questZoneId="542" /> <!-- Faeron Village -->
</teleport>
<teleport type="OTHER">
<teleport type="HUNTING">
<location npcStringId="1010100" x="-44770" y="203488" z="-3592" feeCount="1800" /> <!-- Langk Lizardmen Dwellings (Lv. 16) -->
<location npcStringId="1010175" x="-74850" y="168753" z="-3506" feeCount="550" /> <!-- Windmill Hill (Lv. 20) -->
<location npcStringId="1010096" x="-63736" y="101511" z="-3554" feeCount="1400" /> <!-- Fellmere Harvesting Grounds (Lv. 17) -->

View File

@ -21,7 +21,7 @@
<location npcStringId="1010648" x="-117001" y="46589" z="360" feeCount="20000" /> <!-- Kamael Village -->
<location npcStringId="1010741" x="-80532" y="247714" z="-3492" feeCount="3300" questZoneId="542" /> <!-- Faeron Village -->
</teleport>
<teleport type="OTHER">
<teleport type="HUNTING">
<location npcStringId="1010491" x="125740" y="-40864" z="-3731" questZoneId="289" feeCount="4200" /> <!-- Varka Silenos Barracks (Lv. 76) -->
<location npcStringId="1010492" x="146990" y="-67128" z="-3635" feeCount="1800" /> <!-- Ketra Orc Outpost (Lv. 76) -->
<location npcStringId="1010609" x="144880" y="-113468" z="-2555" questZoneId="272" feeCount="9300" /> <!-- Hot Springs (Lv. 73) -->

View File

@ -21,7 +21,7 @@
<location npcStringId="1010648" x="-117001" y="46589" z="360" feeCount="20000" /> <!-- Kamael Village -->
<location npcStringId="1010741" x="-80532" y="247714" z="-3492" feeCount="3300" questZoneId="542" /> <!-- Faeron Village -->
</teleport>
<teleport type="OTHER">
<teleport type="HUNTING">
<location npcStringId="1010612" x="-10612" y="75881" z="-3587" feeCount="1700" /> <!-- Neutral Zone (Lv. 15) -->
<location npcStringId="1010164" x="-15823" y="30485" z="-3617" feeCount="790" /> <!-- Bloody Swampland (Lv. 85) -->
<location npcStringId="1010743" x="-48154" y="69462" z="-3080" feeCount="790" /> <!-- Blackbird Campsite (Lv. 101) -->

View File

@ -21,7 +21,7 @@
<location npcStringId="1010648" x="-117001" y="46589" z="360" feeCount="20000" /> <!-- Kamael Village -->
<location npcStringId="1010741" x="-80532" y="247714" z="-3492" feeCount="3300" questZoneId="542" /> <!-- Faeron Village -->
</teleport>
<teleport type="OTHER">
<teleport type="HUNTING">
<location npcStringId="1010596" x="139697" y="-177472" z="-1541" feeCount="690" /> <!-- Abandoned Coal Mines (Lv. 10) -->
<location npcStringId="1010189" x="168995" y="-208296" z="-3506" feeCount="2400" /> <!-- Easten Mining Zone (Northeastern Shore (Lv. 18) -->
<location npcStringId="1010188" x="136899" y="-205095" z="-3671" feeCount="970" /> <!-- Western Mining Zone (Central Shore) (Lv. 8.) -->

View File

@ -21,7 +21,7 @@
<location npcStringId="1010648" x="-117001" y="46589" z="360" feeCount="20000" /> <!-- Kamael Village -->
<location npcStringId="1010741" x="-80532" y="247714" z="-3492" feeCount="3300" questZoneId="542" /> <!-- Faeron Village -->
</teleport>
<teleport type="OTHER">
<teleport type="HUNTING">
<location npcStringId="1010653" x="-122410" y="73205" z="-2867" feeCount="2600" /> <!-- Stronghold I (Lv. 1) -->
<location npcStringId="1010654" x="-94895" y="52208" z="-2029" feeCount="2200" /> <!-- Stronghold 2 (Lv. 93) -->
<location npcStringId="1010655" x="-85928" y="37095" z="-2043" questZoneId="447" feeCount="3200" /> <!-- Stronghold 3 (Lv. 93) -->

View File

@ -21,7 +21,7 @@
<location npcStringId="1010648" x="-117001" y="46589" z="360" feeCount="20000" /> <!-- Kamael Village -->
<location npcStringId="1010741" x="-80532" y="247714" z="-3492" feeCount="3300" questZoneId="542" /> <!-- Faeron Village -->
</teleport>
<teleport type="OTHER">
<teleport type="HUNTING">
<location npcStringId="1010737" x="16360" y="-114097" z="-226" feeCount="6000" /> <!-- Gainak Village -->
</teleport>
</npc>

View File

@ -21,7 +21,7 @@
<location npcStringId="1010648" x="-117001" y="46589" z="360" feeCount="20000" /> <!-- Kamael Village -->
<location npcStringId="1010741" x="-80532" y="247714" z="-3492" feeCount="3300" questZoneId="542" /> <!-- Faeron Village -->
</teleport>
<teleport type="OTHER">
<teleport type="HUNTING">
<location npcStringId="1010614" x="5106" y="126916" z="-3659" questZoneId="52" feeCount="760" /> <!-- Cruma Marshlands -->
<location npcStringId="1010116" x="17232" y="114186" z="-3439" questZoneId="55" feeCount="2300" /> <!-- Cruma Tower -->
<location npcStringId="1010113" x="47382" y="111278" z="-2099" feeCount="1700" /> <!-- Fortress of Resistance -->

View File

@ -21,7 +21,7 @@
<location npcStringId="1010648" x="-117001" y="46589" z="360" feeCount="20000" /> <!-- Kamael Village -->
<location npcStringId="1010741" x="-80532" y="247714" z="-3492" feeCount="3300" questZoneId="542" /> <!-- Faeron Village -->
</teleport>
<teleport type="OTHER">
<teleport type="HUNTING">
<location npcStringId="1010022" x="105918" y="109759" z="-3165" feeCount="6100" /> <!-- Hardin's Private Academy -->
<location npcStringId="1010014" x="85392" y="16232" z="-3673" feeCount="3700" /> <!-- Ivory Tower -->
<location npcStringId="1010708" x="87430" y="61449" z="-3666" feeCount="1800" /> <!-- Sel Mahum Training Grounds (Lv. 81) -->

View File

@ -45,6 +45,7 @@
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="NORMAL" />
<xs:enumeration value="HUNTING" />
<xs:enumeration value="NOBLES_TOKEN" />
<xs:enumeration value="NOBLES_ADENA" />
<xs:enumeration value="OTHER" />

View File

@ -22,6 +22,7 @@ package com.l2jmobius.gameserver.enums;
public enum TeleportType
{
NORMAL,
HUNTING,
NOBLES_TOKEN,
NOBLES_ADENA,
OTHER;

View File

@ -91,6 +91,18 @@ public final class L2TeleporterInstance extends L2Npc
holder.showTeleportList(player, this);
break;
}
case "showTeleportsHunting":
{
final String listName = (st.hasMoreTokens()) ? st.nextToken() : TeleportType.HUNTING.name();
final TeleportHolder holder = TeleportersData.getInstance().getHolder(getId(), listName);
if (holder == null)
{
LOGGER.warning("Player " + player.getObjectId() + " requested show teleports for hunting list with name " + listName + " at NPC " + getId() + "!");
return;
}
holder.showTeleportList(player, this);
break;
}
case "teleport":
{
// Check for required count of params.

View File

@ -75,7 +75,7 @@ public final class TeleportHolder
*/
public boolean isNoblesse()
{
return _type == TeleportType.NOBLES_ADENA || _type == TeleportType.NOBLES_TOKEN;
return (_type == TeleportType.NOBLES_ADENA) || (_type == TeleportType.NOBLES_TOKEN);
}
/**
@ -140,7 +140,7 @@ public final class TeleportHolder
}
// Load variables
final int questZoneId = (_type == TeleportType.NORMAL) ? player.getQuestZoneId() : -1;
final int questZoneId = isNormalTeleport() ? player.getQuestZoneId() : -1;
// Build html
final StringBuilder sb = new StringBuilder();
@ -216,7 +216,7 @@ public final class TeleportHolder
}
// Validate conditions for NORMAL teleport
if (_type == TeleportType.NORMAL)
if (isNormalTeleport())
{
if (npc.getCastle().getSiege().isInProgress())
{
@ -270,7 +270,7 @@ public final class TeleportHolder
*/
private boolean shouldPayFee(L2PcInstance player, TeleportLocation loc)
{
return (_type != TeleportType.NORMAL) || (((player.getLevel() > Config.MAX_FREE_TELEPORT_LEVEL) || player.isSubClassActive()) && ((loc.getFeeId() != 0) && (loc.getFeeCount() > 0)));
return !isNormalTeleport() || (((player.getLevel() > Config.MAX_FREE_TELEPORT_LEVEL) || player.isSubClassActive()) && ((loc.getFeeId() != 0) && (loc.getFeeCount() > 0)));
}
/**
@ -283,7 +283,7 @@ public final class TeleportHolder
*/
private long calculateFee(L2PcInstance player, TeleportLocation loc)
{
if (_type == TeleportType.NORMAL)
if (isNormalTeleport())
{
if (!player.isSubClassActive() && (player.getLevel() <= Config.MAX_FREE_TELEPORT_LEVEL))
{
@ -301,6 +301,11 @@ public final class TeleportHolder
return loc.getFeeCount();
}
private boolean isNormalTeleport()
{
return (_type == TeleportType.NORMAL) || (_type == TeleportType.HUNTING);
}
/**
* Gets name of specified item.
* @param itemId template id of item

View File

@ -45,6 +45,7 @@
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="NORMAL" />
<xs:enumeration value="HUNTING" />
<xs:enumeration value="NOBLES_TOKEN" />
<xs:enumeration value="NOBLES_ADENA" />
<xs:enumeration value="OTHER" />

View File

@ -22,6 +22,7 @@ package com.l2jmobius.gameserver.enums;
public enum TeleportType
{
NORMAL,
HUNTING,
NOBLES_TOKEN,
NOBLES_ADENA,
OTHER;

View File

@ -73,6 +73,18 @@ public final class L2TeleporterInstance extends L2Npc
holder.showTeleportList(player, this);
break;
}
case "showTeleportsHunting":
{
final String listName = (st.hasMoreTokens()) ? st.nextToken() : TeleportType.HUNTING.name();
final TeleportHolder holder = TeleportersData.getInstance().getHolder(getId(), listName);
if (holder == null)
{
LOGGER.warning("Player " + player.getObjectId() + " requested show teleports for hunting list with name " + listName + " at NPC " + getId() + "!");
return;
}
holder.showTeleportList(player, this);
break;
}
case "teleport":
{
// Check for required count of params.

View File

@ -75,7 +75,7 @@ public final class TeleportHolder
*/
public boolean isNoblesse()
{
return _type == TeleportType.NOBLES_ADENA || _type == TeleportType.NOBLES_TOKEN;
return (_type == TeleportType.NOBLES_ADENA) || (_type == TeleportType.NOBLES_TOKEN);
}
/**
@ -140,7 +140,7 @@ public final class TeleportHolder
}
// Load variables
final int questZoneId = (_type == TeleportType.NORMAL) ? player.getQuestZoneId() : -1;
final int questZoneId = isNormalTeleport() ? player.getQuestZoneId() : -1;
// Build html
final StringBuilder sb = new StringBuilder();
@ -216,7 +216,7 @@ public final class TeleportHolder
}
// Validate conditions for NORMAL teleport
if (_type == TeleportType.NORMAL)
if (isNormalTeleport())
{
if (npc.getCastle().getSiege().isInProgress())
{
@ -270,7 +270,7 @@ public final class TeleportHolder
*/
private boolean shouldPayFee(L2PcInstance player, TeleportLocation loc)
{
return (_type != TeleportType.NORMAL) || (((player.getLevel() > Config.MAX_FREE_TELEPORT_LEVEL) || player.isSubClassActive()) && ((loc.getFeeId() != 0) && (loc.getFeeCount() > 0)));
return !isNormalTeleport() || (((player.getLevel() > Config.MAX_FREE_TELEPORT_LEVEL) || player.isSubClassActive()) && ((loc.getFeeId() != 0) && (loc.getFeeCount() > 0)));
}
/**
@ -283,7 +283,7 @@ public final class TeleportHolder
*/
private long calculateFee(L2PcInstance player, TeleportLocation loc)
{
if (_type == TeleportType.NORMAL)
if (isNormalTeleport())
{
if (!player.isSubClassActive() && (player.getLevel() <= Config.MAX_FREE_TELEPORT_LEVEL))
{
@ -301,6 +301,11 @@ public final class TeleportHolder
return loc.getFeeCount();
}
private boolean isNormalTeleport()
{
return (_type == TeleportType.NORMAL) || (_type == TeleportType.HUNTING);
}
/**
* Gets name of specified item.
* @param itemId template id of item

View File

@ -45,6 +45,7 @@
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="NORMAL" />
<xs:enumeration value="HUNTING" />
<xs:enumeration value="NOBLES_TOKEN" />
<xs:enumeration value="NOBLES_ADENA" />
<xs:enumeration value="OTHER" />

View File

@ -22,6 +22,7 @@ package com.l2jmobius.gameserver.enums;
public enum TeleportType
{
NORMAL,
HUNTING,
NOBLES_TOKEN,
NOBLES_ADENA,
OTHER;

View File

@ -73,6 +73,18 @@ public final class L2TeleporterInstance extends L2Npc
holder.showTeleportList(player, this);
break;
}
case "showTeleportsHunting":
{
final String listName = (st.hasMoreTokens()) ? st.nextToken() : TeleportType.HUNTING.name();
final TeleportHolder holder = TeleportersData.getInstance().getHolder(getId(), listName);
if (holder == null)
{
LOGGER.warning("Player " + player.getObjectId() + " requested show teleports for hunting list with name " + listName + " at NPC " + getId() + "!");
return;
}
holder.showTeleportList(player, this);
break;
}
case "teleport":
{
// Check for required count of params.

View File

@ -75,7 +75,7 @@ public final class TeleportHolder
*/
public boolean isNoblesse()
{
return _type == TeleportType.NOBLES_ADENA || _type == TeleportType.NOBLES_TOKEN;
return (_type == TeleportType.NOBLES_ADENA) || (_type == TeleportType.NOBLES_TOKEN);
}
/**
@ -140,7 +140,7 @@ public final class TeleportHolder
}
// Load variables
final int questZoneId = (_type == TeleportType.NORMAL) ? player.getQuestZoneId() : -1;
final int questZoneId = isNormalTeleport() ? player.getQuestZoneId() : -1;
// Build html
final StringBuilder sb = new StringBuilder();
@ -216,7 +216,7 @@ public final class TeleportHolder
}
// Validate conditions for NORMAL teleport
if (_type == TeleportType.NORMAL)
if (isNormalTeleport())
{
if (npc.getCastle().getSiege().isInProgress())
{
@ -270,7 +270,7 @@ public final class TeleportHolder
*/
private boolean shouldPayFee(L2PcInstance player, TeleportLocation loc)
{
return (_type != TeleportType.NORMAL) || (((player.getLevel() > Config.MAX_FREE_TELEPORT_LEVEL) || player.isSubClassActive()) && ((loc.getFeeId() != 0) && (loc.getFeeCount() > 0)));
return !isNormalTeleport() || (((player.getLevel() > Config.MAX_FREE_TELEPORT_LEVEL) || player.isSubClassActive()) && ((loc.getFeeId() != 0) && (loc.getFeeCount() > 0)));
}
/**
@ -283,7 +283,7 @@ public final class TeleportHolder
*/
private long calculateFee(L2PcInstance player, TeleportLocation loc)
{
if (_type == TeleportType.NORMAL)
if (isNormalTeleport())
{
if (!player.isSubClassActive() && (player.getLevel() <= Config.MAX_FREE_TELEPORT_LEVEL))
{
@ -301,6 +301,11 @@ public final class TeleportHolder
return loc.getFeeCount();
}
private boolean isNormalTeleport()
{
return (_type == TeleportType.NORMAL) || (_type == TeleportType.HUNTING);
}
/**
* Gets name of specified item.
* @param itemId template id of item

View File

@ -45,6 +45,7 @@
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="NORMAL" />
<xs:enumeration value="HUNTING" />
<xs:enumeration value="NOBLES_TOKEN" />
<xs:enumeration value="NOBLES_ADENA" />
<xs:enumeration value="OTHER" />

View File

@ -22,6 +22,7 @@ package com.l2jmobius.gameserver.enums;
public enum TeleportType
{
NORMAL,
HUNTING,
NOBLES_TOKEN,
NOBLES_ADENA,
OTHER;

View File

@ -73,6 +73,18 @@ public final class L2TeleporterInstance extends L2Npc
holder.showTeleportList(player, this);
break;
}
case "showTeleportsHunting":
{
final String listName = (st.hasMoreTokens()) ? st.nextToken() : TeleportType.HUNTING.name();
final TeleportHolder holder = TeleportersData.getInstance().getHolder(getId(), listName);
if (holder == null)
{
LOGGER.warning("Player " + player.getObjectId() + " requested show teleports for hunting list with name " + listName + " at NPC " + getId() + "!");
return;
}
holder.showTeleportList(player, this);
break;
}
case "teleport":
{
// Check for required count of params.

View File

@ -75,7 +75,7 @@ public final class TeleportHolder
*/
public boolean isNoblesse()
{
return _type == TeleportType.NOBLES_ADENA || _type == TeleportType.NOBLES_TOKEN;
return (_type == TeleportType.NOBLES_ADENA) || (_type == TeleportType.NOBLES_TOKEN);
}
/**
@ -140,7 +140,7 @@ public final class TeleportHolder
}
// Load variables
final int questZoneId = (_type == TeleportType.NORMAL) ? player.getQuestZoneId() : -1;
final int questZoneId = isNormalTeleport() ? player.getQuestZoneId() : -1;
// Build html
final StringBuilder sb = new StringBuilder();
@ -216,7 +216,7 @@ public final class TeleportHolder
}
// Validate conditions for NORMAL teleport
if (_type == TeleportType.NORMAL)
if (isNormalTeleport())
{
if (npc.getCastle().getSiege().isInProgress())
{
@ -270,7 +270,7 @@ public final class TeleportHolder
*/
private boolean shouldPayFee(L2PcInstance player, TeleportLocation loc)
{
return (_type != TeleportType.NORMAL) || (((player.getLevel() > Config.MAX_FREE_TELEPORT_LEVEL) || player.isSubClassActive()) && ((loc.getFeeId() != 0) && (loc.getFeeCount() > 0)));
return !isNormalTeleport() || (((player.getLevel() > Config.MAX_FREE_TELEPORT_LEVEL) || player.isSubClassActive()) && ((loc.getFeeId() != 0) && (loc.getFeeCount() > 0)));
}
/**
@ -283,7 +283,7 @@ public final class TeleportHolder
*/
private long calculateFee(L2PcInstance player, TeleportLocation loc)
{
if (_type == TeleportType.NORMAL)
if (isNormalTeleport())
{
if (!player.isSubClassActive() && (player.getLevel() <= Config.MAX_FREE_TELEPORT_LEVEL))
{
@ -301,6 +301,11 @@ public final class TeleportHolder
return loc.getFeeCount();
}
private boolean isNormalTeleport()
{
return (_type == TeleportType.NORMAL) || (_type == TeleportType.HUNTING);
}
/**
* Gets name of specified item.
* @param itemId template id of item

Some files were not shown because too many files have changed in this diff Show More