Addition of quest related teleporter dialogs.

Contributed by NightBR.
This commit is contained in:
MobiusDevelopment
2019-04-11 12:48:04 +00:00
parent 167b4557d7
commit e5c1a7fdf3
42 changed files with 447 additions and 21 deletions

View File

@@ -0,0 +1,9 @@
<html><body>Gatekeeper Milia:<br>
You have not started a quest yet. If you teleport to another place, you can't preceed with a mission properly.<br>
Even so, I need to confirm you really wish to go somewhere else. Can you check again, 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">Teleport</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link teleporter/30006-Q561-2.htm">Check other menus</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest"><font color="LEVEL">Quest</font></Button>
(<font color="LEVEL">If you want to preceed with the Basic Mission: Harnak Underground Ruins quest, click the [Quest] button</font>)<br>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><body>Gatekeeper Milia:<br>
I'm sorry for not being able to explain the other things I could do for you. Your mission from the Adventure Guild comes first.<br>
You can check the full menu after completing this mission.<br>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_Link teleporter/30006-Q561-1.htm">"I want to go to another town."</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>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Link teleporter/30006-Q561.htm">Quest</Button>
</body></html>

View File

@@ -0,0 +1,9 @@
<html><body>Gatekeeper Milia:<br>
Welcome. I'm Gatekeeper Milia from Ivory Tower.<br>
Are you here on a mission from the Adeventure Guild? Then please start by clicking the <font color="LEVEL">[Quest]</font> button. I'll explain the mission and send you to your desired location.<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%_Link teleporter/30006-Q561-1.htm">Teleport</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link teleporter/30006-Q561-2.htm">Check other menus</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest"><font color="LEVEL">Quest</font></Button>
(<font color="LEVEL">If you want to preceed with the Basic Mission: Harnak Underground Ruins quest, click the [Quest] button</font>)<br>
</body></html>

View File

@@ -0,0 +1,9 @@
<html><body>Teleport Device:<br>
You have not started a quest yet. If you teleport to another place, you can't preceed with a mission properly.<br>
If you still want to teleport to another place, I'll send 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">Teleport</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link teleporter/30134-Q562-2.htm">Check other menus</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest"><font color="LEVEL">Quest</font></Button>
(<font color="LEVEL">If you want to preceed with a Basic Mission or Altar of Evil mission, click the [Quest] button</font>)<br>
</body></html>

View File

@@ -0,0 +1,8 @@
<html><body>Teleport Device:<br>
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%_Link teleporter/30134-Q562-1.htm">"I want to go to another town."</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="RETURN" action="bypass -h npc_%objectId%_Link teleporter/30134-Q562.htm">Quest</Button>
</body></html>

View File

@@ -0,0 +1,8 @@
<html><body>Teleport Device:<br>
If you to carry out a mission from the Adeventure Guild, click the <font color="LEVEL">[Quest]</font> button to start the mission and press the Teleport Menu button to go your selected location.<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%_Link teleporter/30134-Q562-1.htm">Teleport</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link teleporter/30134-Q562-2.htm">Check other menus</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest"><font color="LEVEL">Quest</font></Button>
(<font color="LEVEL">If you want to preceed with a Basic Mission or Altar of Evil mission, click the [Quest] button</font>)<br>
</body></html>

View File

@@ -0,0 +1,9 @@
<html><body>Gatekeeper Bella:<br>
You have not started a quest yet. If you teleport to another place, you can't preceed with a mission properly.<br>
If you still want to teleport to another place, I'll send 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">Teleport</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link teleporter/30256-Q562-2.htm">Check other menus</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest"><font color="LEVEL">Quest</font></Button>
(<font color="LEVEL">If you want to preceed with a Basic Mission or Altar of Evil mission, click the [Quest] button</font>)<br>
</body></html>

View File

@@ -0,0 +1,12 @@
<html><body>Gatekeeper Bella:<br>
I'm sorry for not being able to explain the other things I could do for you. Your mission from the Adventure Guild comes first.<br>
You can check the full menu after completing this mission.<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%_Link teleporter/30256-Q562-1.htm">"I want to go to another town."</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>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest TeleportToFantasy" msg="811;Fantasy Isle">"I want to go to Fantasy Isle." (free)</Button>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Link teleporter/30256-Q562.htm">Quest</Button>
</body></html>

View File

@@ -0,0 +1,9 @@
<html><body>Gatekeeper Bella:<br>
Welcome! Beautiful weather, isn't it? Perfect for teleporting!<br>
Oh my, are you here on a mission from the Adeventure Guild? Then can you click the <font color="LEVEL">[Quest]</font> button to proceed with the mission? I will give you a short explanation and send you to your desired location.<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%_Link teleporter/30256-Q562-1.htm">Teleport</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link teleporter/30256-Q562-2.htm">Check other menus</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest"><font color="LEVEL">Quest</font></Button>
(<font color="LEVEL">If you want to preceed with a Basic Mission or Altar of Evil mission, click the [Quest] button</font>)<br>
</body></html>

View File

@@ -0,0 +1,9 @@
<html><body>Gatekeeper Elisa:<br>
You have not started a quest yet. If you teleport to another place, you can't preceed with a mission properly.<br>
If you still want to teleport to another place, I'll send 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">Teleport</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link teleporter/30848-Q561-Q562-2.htm">Check other menus</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest"><font color="LEVEL">Quest</font></Button>
(<font color="LEVEL">If you want to preceed with the Basic Mission: Harnak Underground Ruins or Basic Mission: Altar of Evil quest, click the [Quest] button</font>)<br>
</body></html>

View File

@@ -0,0 +1,11 @@
<html><body>Gatekeeper Elisa:<br>
I'm sorry for not being able to explain the other things I could do for you. Your mission from the Adventure Guild comes first.<br>
You can check the full menu after completing this mission.<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%_Link teleporter/30848-Q561-Q562-1.htm">"I'll teleport."</Button>
<Button ALIGN=LEFT ICON="NORMAL" 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>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Link teleporter/30848-Q561-Q562.htm">Quest</Button>
</body></html>

View File

@@ -0,0 +1,9 @@
<html><body>Gatekeeper Elisa:<br>
I'm Gatekeeper Elisa, one of the many sent from the Ivory Tower to watch over the Gates of Time and Space<br>
Are you here on a mission from the Adeventure Guild? Then please start by clicking the <font color="LEVEL">[Quest]</font> button. I'll explain the mission and send you to your desired location.<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%_Link teleporter/30848-Q561-Q562-1.htm">Teleport</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link teleporter/30848-Q561-Q562-2.htm">Check other menus</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest"><font color="LEVEL">Quest</font></Button>
(<font color="LEVEL">If you want to preceed with the Basic Mission: Harnak Underground Ruins or Basic Mission: Altar of Evil quest, click the [Quest] button</font>)<br>
</body></html>

View File

@@ -21,6 +21,7 @@ import com.l2jmobius.gameserver.cache.HtmCache;
import com.l2jmobius.gameserver.handler.IBypassHandler;
import com.l2jmobius.gameserver.model.actor.Creature;
import com.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import com.l2jmobius.gameserver.model.actor.instance.TeleporterInstance;
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
public class Link implements IBypassHandler
@@ -73,6 +74,23 @@ public class Link implements IBypassHandler
"teleporter/separatedsoul.htm",
"warehouse/clanwh.htm",
"warehouse/privatewh.htm",
// Quests
"teleporter/30006.htm",
"teleporter/30006-Q561.htm",
"teleporter/30006-Q561-1.htm",
"teleporter/30006-Q561-2.htm",
"teleporter/30134.htm",
"teleporter/30134-Q562.htm",
"teleporter/30134-Q562-1.htm",
"teleporter/30134-Q562-2.htm",
"teleporter/30256.htm",
"teleporter/30256-Q562.htm",
"teleporter/30256-Q562-1.htm",
"teleporter/30256-Q562-2.htm",
"teleporter/30848.htm",
"teleporter/30848-Q561-Q562.htm",
"teleporter/30848-Q561-Q562-1.htm",
"teleporter/30848-Q561-Q562-2.htm",
};
@Override
@@ -91,7 +109,12 @@ public class Link implements IBypassHandler
return false;
}
final String content = CommonUtil.contains(VALID_BYPASSES, htmlPath) ? HtmCache.getInstance().getHtm(player, "data/html/" + htmlPath) : null;
String content = CommonUtil.contains(VALID_BYPASSES, htmlPath) ? HtmCache.getInstance().getHtm(player, "data/html/" + htmlPath) : null;
// Precaution.
if (htmlPath.startsWith("teleporter/") && !(player.getTarget() instanceof TeleporterInstance))
{
content = null;
}
final NpcHtmlMessage html = new NpcHtmlMessage(target != null ? target.getObjectId() : 0);
if (content != null)
{

View File

@@ -16,6 +16,7 @@
*/
package com.l2jmobius.gameserver.model.actor.instance;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -51,12 +52,18 @@ public final class TeleporterInstance extends Npc
};
private static final Map<Integer, List<TeleporterQuestRecommendationHolder>> QUEST_RECOMENDATIONS = new HashMap<>();
// static
// {
// QUEST_RECOMENDATIONS.put(30848, new ArrayList<>());
// QUEST_RECOMENDATIONS.get(30848).add(new TeleporterQuestRecommendationHolder(30848, "Q00561_BasicMissionHarnakUndergroundRuins", -1, "30848-Q561-Q562"));
// QUEST_RECOMENDATIONS.get(30848).add(new TeleporterQuestRecommendationHolder(30848, "Q00562_BasicMissionAltarOfEvil", -1, "30848-561-562"));
// }
static
{
QUEST_RECOMENDATIONS.put(30006, new ArrayList<>()); // Gatekeeper Milia
QUEST_RECOMENDATIONS.get(30006).add(new TeleporterQuestRecommendationHolder(30006, "Q00561_BasicMissionHarnakUndergroundRuins", -1, "30006-Q561"));
QUEST_RECOMENDATIONS.put(30134, new ArrayList<>()); // Dark Elf Village Teleport Device
QUEST_RECOMENDATIONS.get(30134).add(new TeleporterQuestRecommendationHolder(30134, "Q00562_BasicMissionAltarOfEvil", -1, "30134-Q562"));
QUEST_RECOMENDATIONS.put(30256, new ArrayList<>()); // Gatekeeper Bella
QUEST_RECOMENDATIONS.get(30256).add(new TeleporterQuestRecommendationHolder(30256, "Q00562_BasicMissionAltarOfEvil", -1, "30256-Q562"));
QUEST_RECOMENDATIONS.put(30848, new ArrayList<>()); // Gatekeeper Elisa
QUEST_RECOMENDATIONS.get(30848).add(new TeleporterQuestRecommendationHolder(30848, "Q00561_BasicMissionHarnakUndergroundRuins", -1, "30848-Q561-Q562"));
QUEST_RECOMENDATIONS.get(30848).add(new TeleporterQuestRecommendationHolder(30848, "Q00562_BasicMissionAltarOfEvil", -1, "30848-Q561-Q562"));
}
public TeleporterInstance(NpcTemplate template)
{

View File

@@ -0,0 +1,9 @@
<html><body>Gatekeeper Milia:<br>
You have not started a quest yet. If you teleport to another place, you can't preceed with a mission properly.<br>
Even so, I need to confirm you really wish to go somewhere else. Can you check again, 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">Teleport</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link teleporter/30006-Q561-2.htm">Check other menus</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest"><font color="LEVEL">Quest</font></Button>
(<font color="LEVEL">If you want to preceed with the Basic Mission: Harnak Underground Ruins quest, click the [Quest] button</font>)<br>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><body>Gatekeeper Milia:<br>
I'm sorry for not being able to explain the other things I could do for you. Your mission from the Adventure Guild comes first.<br>
You can check the full menu after completing this mission.<br>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_Link teleporter/30006-Q561-1.htm">"I want to go to another town."</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>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Link teleporter/30006-Q561.htm">Quest</Button>
</body></html>

View File

@@ -0,0 +1,9 @@
<html><body>Gatekeeper Milia:<br>
Welcome. I'm Gatekeeper Milia from Ivory Tower.<br>
Are you here on a mission from the Adeventure Guild? Then please start by clicking the <font color="LEVEL">[Quest]</font> button. I'll explain the mission and send you to your desired location.<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%_Link teleporter/30006-Q561-1.htm">Teleport</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link teleporter/30006-Q561-2.htm">Check other menus</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest"><font color="LEVEL">Quest</font></Button>
(<font color="LEVEL">If you want to preceed with the Basic Mission: Harnak Underground Ruins quest, click the [Quest] button</font>)<br>
</body></html>

View File

@@ -0,0 +1,9 @@
<html><body>Teleport Device:<br>
You have not started a quest yet. If you teleport to another place, you can't preceed with a mission properly.<br>
If you still want to teleport to another place, I'll send 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">Teleport</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link teleporter/30134-Q562-2.htm">Check other menus</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest"><font color="LEVEL">Quest</font></Button>
(<font color="LEVEL">If you want to preceed with a Basic Mission or Altar of Evil mission, click the [Quest] button</font>)<br>
</body></html>

View File

@@ -0,0 +1,8 @@
<html><body>Teleport Device:<br>
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%_Link teleporter/30134-Q562-1.htm">"I want to go to another town."</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="RETURN" action="bypass -h npc_%objectId%_Link teleporter/30134-Q562.htm">Quest</Button>
</body></html>

View File

@@ -0,0 +1,8 @@
<html><body>Teleport Device:<br>
If you to carry out a mission from the Adeventure Guild, click the <font color="LEVEL">[Quest]</font> button to start the mission and press the Teleport Menu button to go your selected location.<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%_Link teleporter/30134-Q562-1.htm">Teleport</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link teleporter/30134-Q562-2.htm">Check other menus</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest"><font color="LEVEL">Quest</font></Button>
(<font color="LEVEL">If you want to preceed with a Basic Mission or Altar of Evil mission, click the [Quest] button</font>)<br>
</body></html>

View File

@@ -0,0 +1,9 @@
<html><body>Gatekeeper Bella:<br>
You have not started a quest yet. If you teleport to another place, you can't preceed with a mission properly.<br>
If you still want to teleport to another place, I'll send 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">Teleport</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link teleporter/30256-Q562-2.htm">Check other menus</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest"><font color="LEVEL">Quest</font></Button>
(<font color="LEVEL">If you want to preceed with a Basic Mission or Altar of Evil mission, click the [Quest] button</font>)<br>
</body></html>

View File

@@ -0,0 +1,12 @@
<html><body>Gatekeeper Bella:<br>
I'm sorry for not being able to explain the other things I could do for you. Your mission from the Adventure Guild comes first.<br>
You can check the full menu after completing this mission.<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%_Link teleporter/30256-Q562-1.htm">"I want to go to another town."</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>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest TeleportToFantasy" msg="811;Fantasy Isle">"I want to go to Fantasy Isle." (free)</Button>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Link teleporter/30256-Q562.htm">Quest</Button>
</body></html>

View File

@@ -0,0 +1,9 @@
<html><body>Gatekeeper Bella:<br>
Welcome! Beautiful weather, isn't it? Perfect for teleporting!<br>
Oh my, are you here on a mission from the Adeventure Guild? Then can you click the <font color="LEVEL">[Quest]</font> button to proceed with the mission? I will give you a short explanation and send you to your desired location.<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%_Link teleporter/30256-Q562-1.htm">Teleport</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link teleporter/30256-Q562-2.htm">Check other menus</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest"><font color="LEVEL">Quest</font></Button>
(<font color="LEVEL">If you want to preceed with a Basic Mission or Altar of Evil mission, click the [Quest] button</font>)<br>
</body></html>

View File

@@ -0,0 +1,9 @@
<html><body>Gatekeeper Elisa:<br>
You have not started a quest yet. If you teleport to another place, you can't preceed with a mission properly.<br>
If you still want to teleport to another place, I'll send 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">Teleport</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link teleporter/30848-Q561-Q562-2.htm">Check other menus</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest"><font color="LEVEL">Quest</font></Button>
(<font color="LEVEL">If you want to preceed with the Basic Mission: Harnak Underground Ruins or Basic Mission: Altar of Evil quest, click the [Quest] button</font>)<br>
</body></html>

View File

@@ -0,0 +1,11 @@
<html><body>Gatekeeper Elisa:<br>
I'm sorry for not being able to explain the other things I could do for you. Your mission from the Adventure Guild comes first.<br>
You can check the full menu after completing this mission.<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%_Link teleporter/30848-Q561-Q562-1.htm">"I'll teleport."</Button>
<Button ALIGN=LEFT ICON="NORMAL" 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>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Link teleporter/30848-Q561-Q562.htm">Quest</Button>
</body></html>

View File

@@ -0,0 +1,9 @@
<html><body>Gatekeeper Elisa:<br>
I'm Gatekeeper Elisa, one of the many sent from the Ivory Tower to watch over the Gates of Time and Space<br>
Are you here on a mission from the Adeventure Guild? Then please start by clicking the <font color="LEVEL">[Quest]</font> button. I'll explain the mission and send you to your desired location.<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%_Link teleporter/30848-Q561-Q562-1.htm">Teleport</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link teleporter/30848-Q561-Q562-2.htm">Check other menus</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest"><font color="LEVEL">Quest</font></Button>
(<font color="LEVEL">If you want to preceed with the Basic Mission: Harnak Underground Ruins or Basic Mission: Altar of Evil quest, click the [Quest] button</font>)<br>
</body></html>

View File

@@ -21,6 +21,7 @@ import com.l2jmobius.gameserver.cache.HtmCache;
import com.l2jmobius.gameserver.handler.IBypassHandler;
import com.l2jmobius.gameserver.model.actor.Creature;
import com.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import com.l2jmobius.gameserver.model.actor.instance.TeleporterInstance;
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
public class Link implements IBypassHandler
@@ -73,6 +74,23 @@ public class Link implements IBypassHandler
"teleporter/separatedsoul.htm",
"warehouse/clanwh.htm",
"warehouse/privatewh.htm",
// Quests
"teleporter/30006.htm",
"teleporter/30006-Q561.htm",
"teleporter/30006-Q561-1.htm",
"teleporter/30006-Q561-2.htm",
"teleporter/30134.htm",
"teleporter/30134-Q562.htm",
"teleporter/30134-Q562-1.htm",
"teleporter/30134-Q562-2.htm",
"teleporter/30256.htm",
"teleporter/30256-Q562.htm",
"teleporter/30256-Q562-1.htm",
"teleporter/30256-Q562-2.htm",
"teleporter/30848.htm",
"teleporter/30848-Q561-Q562.htm",
"teleporter/30848-Q561-Q562-1.htm",
"teleporter/30848-Q561-Q562-2.htm",
};
@Override
@@ -91,7 +109,12 @@ public class Link implements IBypassHandler
return false;
}
final String content = CommonUtil.contains(VALID_BYPASSES, htmlPath) ? HtmCache.getInstance().getHtm(player, "data/html/" + htmlPath) : null;
String content = CommonUtil.contains(VALID_BYPASSES, htmlPath) ? HtmCache.getInstance().getHtm(player, "data/html/" + htmlPath) : null;
// Precaution.
if (htmlPath.startsWith("teleporter/") && !(player.getTarget() instanceof TeleporterInstance))
{
content = null;
}
final NpcHtmlMessage html = new NpcHtmlMessage(target != null ? target.getObjectId() : 0);
if (content != null)
{

View File

@@ -16,6 +16,7 @@
*/
package com.l2jmobius.gameserver.model.actor.instance;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -51,12 +52,18 @@ public final class TeleporterInstance extends Npc
};
private static final Map<Integer, List<TeleporterQuestRecommendationHolder>> QUEST_RECOMENDATIONS = new HashMap<>();
// static
// {
// QUEST_RECOMENDATIONS.put(30848, new ArrayList<>());
// QUEST_RECOMENDATIONS.get(30848).add(new TeleporterQuestRecommendationHolder(30848, "Q00561_BasicMissionHarnakUndergroundRuins", -1, "30848-Q561-Q562"));
// QUEST_RECOMENDATIONS.get(30848).add(new TeleporterQuestRecommendationHolder(30848, "Q00562_BasicMissionAltarOfEvil", -1, "30848-561-562"));
// }
static
{
QUEST_RECOMENDATIONS.put(30006, new ArrayList<>()); // Gatekeeper Milia
QUEST_RECOMENDATIONS.get(30006).add(new TeleporterQuestRecommendationHolder(30006, "Q00561_BasicMissionHarnakUndergroundRuins", -1, "30006-Q561"));
QUEST_RECOMENDATIONS.put(30134, new ArrayList<>()); // Dark Elf Village Teleport Device
QUEST_RECOMENDATIONS.get(30134).add(new TeleporterQuestRecommendationHolder(30134, "Q00562_BasicMissionAltarOfEvil", -1, "30134-Q562"));
QUEST_RECOMENDATIONS.put(30256, new ArrayList<>()); // Gatekeeper Bella
QUEST_RECOMENDATIONS.get(30256).add(new TeleporterQuestRecommendationHolder(30256, "Q00562_BasicMissionAltarOfEvil", -1, "30256-Q562"));
QUEST_RECOMENDATIONS.put(30848, new ArrayList<>()); // Gatekeeper Elisa
QUEST_RECOMENDATIONS.get(30848).add(new TeleporterQuestRecommendationHolder(30848, "Q00561_BasicMissionHarnakUndergroundRuins", -1, "30848-Q561-Q562"));
QUEST_RECOMENDATIONS.get(30848).add(new TeleporterQuestRecommendationHolder(30848, "Q00562_BasicMissionAltarOfEvil", -1, "30848-Q561-Q562"));
}
public TeleporterInstance(NpcTemplate template)
{

View File

@@ -0,0 +1,9 @@
<html><body>Gatekeeper Milia:<br>
You have not started a quest yet. If you teleport to another place, you can't preceed with a mission properly.<br>
Even so, I need to confirm you really wish to go somewhere else. Can you check again, 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">Teleport</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link teleporter/30006-Q561-2.htm">Check other menus</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest"><font color="LEVEL">Quest</font></Button>
(<font color="LEVEL">If you want to preceed with the Basic Mission: Harnak Underground Ruins quest, click the [Quest] button</font>)<br>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><body>Gatekeeper Milia:<br>
I'm sorry for not being able to explain the other things I could do for you. Your mission from the Adventure Guild comes first.<br>
You can check the full menu after completing this mission.<br>
<Button ALIGN=LEFT ICON="TELEPORT" action="bypass -h npc_%objectId%_Link teleporter/30006-Q561-1.htm">"I want to go to another town."</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>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Link teleporter/30006-Q561.htm">Quest</Button>
</body></html>

View File

@@ -0,0 +1,9 @@
<html><body>Gatekeeper Milia:<br>
Welcome. I'm Gatekeeper Milia from Ivory Tower.<br>
Are you here on a mission from the Adeventure Guild? Then please start by clicking the <font color="LEVEL">[Quest]</font> button. I'll explain the mission and send you to your desired location.<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%_Link teleporter/30006-Q561-1.htm">Teleport</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link teleporter/30006-Q561-2.htm">Check other menus</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest"><font color="LEVEL">Quest</font></Button>
(<font color="LEVEL">If you want to preceed with the Basic Mission: Harnak Underground Ruins quest, click the [Quest] button</font>)<br>
</body></html>

View File

@@ -0,0 +1,9 @@
<html><body>Teleport Device:<br>
You have not started a quest yet. If you teleport to another place, you can't preceed with a mission properly.<br>
If you still want to teleport to another place, I'll send 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">Teleport</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link teleporter/30134-Q562-2.htm">Check other menus</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest"><font color="LEVEL">Quest</font></Button>
(<font color="LEVEL">If you want to preceed with a Basic Mission or Altar of Evil mission, click the [Quest] button</font>)<br>
</body></html>

View File

@@ -0,0 +1,8 @@
<html><body>Teleport Device:<br>
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%_Link teleporter/30134-Q562-1.htm">"I want to go to another town."</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="RETURN" action="bypass -h npc_%objectId%_Link teleporter/30134-Q562.htm">Quest</Button>
</body></html>

View File

@@ -0,0 +1,8 @@
<html><body>Teleport Device:<br>
If you to carry out a mission from the Adeventure Guild, click the <font color="LEVEL">[Quest]</font> button to start the mission and press the Teleport Menu button to go your selected location.<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%_Link teleporter/30134-Q562-1.htm">Teleport</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link teleporter/30134-Q562-2.htm">Check other menus</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest"><font color="LEVEL">Quest</font></Button>
(<font color="LEVEL">If you want to preceed with a Basic Mission or Altar of Evil mission, click the [Quest] button</font>)<br>
</body></html>

View File

@@ -0,0 +1,9 @@
<html><body>Gatekeeper Bella:<br>
You have not started a quest yet. If you teleport to another place, you can't preceed with a mission properly.<br>
If you still want to teleport to another place, I'll send 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">Teleport</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link teleporter/30256-Q562-2.htm">Check other menus</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest"><font color="LEVEL">Quest</font></Button>
(<font color="LEVEL">If you want to preceed with a Basic Mission or Altar of Evil mission, click the [Quest] button</font>)<br>
</body></html>

View File

@@ -0,0 +1,12 @@
<html><body>Gatekeeper Bella:<br>
I'm sorry for not being able to explain the other things I could do for you. Your mission from the Adventure Guild comes first.<br>
You can check the full menu after completing this mission.<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%_Link teleporter/30256-Q562-1.htm">"I want to go to another town."</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>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest TeleportToFantasy" msg="811;Fantasy Isle">"I want to go to Fantasy Isle." (free)</Button>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Link teleporter/30256-Q562.htm">Quest</Button>
</body></html>

View File

@@ -0,0 +1,9 @@
<html><body>Gatekeeper Bella:<br>
Welcome! Beautiful weather, isn't it? Perfect for teleporting!<br>
Oh my, are you here on a mission from the Adeventure Guild? Then can you click the <font color="LEVEL">[Quest]</font> button to proceed with the mission? I will give you a short explanation and send you to your desired location.<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%_Link teleporter/30256-Q562-1.htm">Teleport</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link teleporter/30256-Q562-2.htm">Check other menus</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest"><font color="LEVEL">Quest</font></Button>
(<font color="LEVEL">If you want to preceed with a Basic Mission or Altar of Evil mission, click the [Quest] button</font>)<br>
</body></html>

View File

@@ -0,0 +1,9 @@
<html><body>Gatekeeper Elisa:<br>
You have not started a quest yet. If you teleport to another place, you can't preceed with a mission properly.<br>
If you still want to teleport to another place, I'll send 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">Teleport</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link teleporter/30848-Q561-Q562-2.htm">Check other menus</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest"><font color="LEVEL">Quest</font></Button>
(<font color="LEVEL">If you want to preceed with the Basic Mission: Harnak Underground Ruins or Basic Mission: Altar of Evil quest, click the [Quest] button</font>)<br>
</body></html>

View File

@@ -0,0 +1,11 @@
<html><body>Gatekeeper Elisa:<br>
I'm sorry for not being able to explain the other things I could do for you. Your mission from the Adventure Guild comes first.<br>
You can check the full menu after completing this mission.<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%_Link teleporter/30848-Q561-Q562-1.htm">"I'll teleport."</Button>
<Button ALIGN=LEFT ICON="NORMAL" 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>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Link teleporter/30848-Q561-Q562.htm">Quest</Button>
</body></html>

View File

@@ -0,0 +1,9 @@
<html><body>Gatekeeper Elisa:<br>
I'm Gatekeeper Elisa, one of the many sent from the Ivory Tower to watch over the Gates of Time and Space<br>
Are you here on a mission from the Adeventure Guild? Then please start by clicking the <font color="LEVEL">[Quest]</font> button. I'll explain the mission and send you to your desired location.<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%_Link teleporter/30848-Q561-Q562-1.htm">Teleport</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link teleporter/30848-Q561-Q562-2.htm">Check other menus</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest"><font color="LEVEL">Quest</font></Button>
(<font color="LEVEL">If you want to preceed with the Basic Mission: Harnak Underground Ruins or Basic Mission: Altar of Evil quest, click the [Quest] button</font>)<br>
</body></html>

View File

@@ -21,6 +21,7 @@ import com.l2jmobius.gameserver.cache.HtmCache;
import com.l2jmobius.gameserver.handler.IBypassHandler;
import com.l2jmobius.gameserver.model.actor.Creature;
import com.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import com.l2jmobius.gameserver.model.actor.instance.TeleporterInstance;
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
public class Link implements IBypassHandler
@@ -73,6 +74,23 @@ public class Link implements IBypassHandler
"teleporter/separatedsoul.htm",
"warehouse/clanwh.htm",
"warehouse/privatewh.htm",
// Quests
"teleporter/30006.htm",
"teleporter/30006-Q561.htm",
"teleporter/30006-Q561-1.htm",
"teleporter/30006-Q561-2.htm",
"teleporter/30134.htm",
"teleporter/30134-Q562.htm",
"teleporter/30134-Q562-1.htm",
"teleporter/30134-Q562-2.htm",
"teleporter/30256.htm",
"teleporter/30256-Q562.htm",
"teleporter/30256-Q562-1.htm",
"teleporter/30256-Q562-2.htm",
"teleporter/30848.htm",
"teleporter/30848-Q561-Q562.htm",
"teleporter/30848-Q561-Q562-1.htm",
"teleporter/30848-Q561-Q562-2.htm",
};
@Override
@@ -91,7 +109,12 @@ public class Link implements IBypassHandler
return false;
}
final String content = CommonUtil.contains(VALID_BYPASSES, htmlPath) ? HtmCache.getInstance().getHtm(player, "data/html/" + htmlPath) : null;
String content = CommonUtil.contains(VALID_BYPASSES, htmlPath) ? HtmCache.getInstance().getHtm(player, "data/html/" + htmlPath) : null;
// Precaution.
if (htmlPath.startsWith("teleporter/") && !(player.getTarget() instanceof TeleporterInstance))
{
content = null;
}
final NpcHtmlMessage html = new NpcHtmlMessage(target != null ? target.getObjectId() : 0);
if (content != null)
{

View File

@@ -16,6 +16,7 @@
*/
package com.l2jmobius.gameserver.model.actor.instance;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -51,12 +52,18 @@ public final class TeleporterInstance extends Npc
};
private static final Map<Integer, List<TeleporterQuestRecommendationHolder>> QUEST_RECOMENDATIONS = new HashMap<>();
// static
// {
// QUEST_RECOMENDATIONS.put(30848, new ArrayList<>());
// QUEST_RECOMENDATIONS.get(30848).add(new TeleporterQuestRecommendationHolder(30848, "Q00561_BasicMissionHarnakUndergroundRuins", -1, "30848-Q561-Q562"));
// QUEST_RECOMENDATIONS.get(30848).add(new TeleporterQuestRecommendationHolder(30848, "Q00562_BasicMissionAltarOfEvil", -1, "30848-561-562"));
// }
static
{
QUEST_RECOMENDATIONS.put(30006, new ArrayList<>()); // Gatekeeper Milia
QUEST_RECOMENDATIONS.get(30006).add(new TeleporterQuestRecommendationHolder(30006, "Q00561_BasicMissionHarnakUndergroundRuins", -1, "30006-Q561"));
QUEST_RECOMENDATIONS.put(30134, new ArrayList<>()); // Dark Elf Village Teleport Device
QUEST_RECOMENDATIONS.get(30134).add(new TeleporterQuestRecommendationHolder(30134, "Q00562_BasicMissionAltarOfEvil", -1, "30134-Q562"));
QUEST_RECOMENDATIONS.put(30256, new ArrayList<>()); // Gatekeeper Bella
QUEST_RECOMENDATIONS.get(30256).add(new TeleporterQuestRecommendationHolder(30256, "Q00562_BasicMissionAltarOfEvil", -1, "30256-Q562"));
QUEST_RECOMENDATIONS.put(30848, new ArrayList<>()); // Gatekeeper Elisa
QUEST_RECOMENDATIONS.get(30848).add(new TeleporterQuestRecommendationHolder(30848, "Q00561_BasicMissionHarnakUndergroundRuins", -1, "30848-Q561-Q562"));
QUEST_RECOMENDATIONS.get(30848).add(new TeleporterQuestRecommendationHolder(30848, "Q00562_BasicMissionAltarOfEvil", -1, "30848-Q561-Q562"));
}
public TeleporterInstance(NpcTemplate template)
{