Kekropus Quests 40-75.
Contributed by Neanrakyr.
This commit is contained in:
parent
5d7c341ce8
commit
2a1610b69d
4
trunk/dist/game/data/html/default/33845.htm
vendored
Normal file
4
trunk/dist/game/data/html/default/33845.htm
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Andy the Patrol:<br>
|
||||
What can I do for you?<br>
|
||||
<button align="left" icon="quest" action="bypass -h npc_%objectId%_Quest">Quest</button>
|
||||
</body></html>
|
4
trunk/dist/game/data/html/default/33846.htm
vendored
Normal file
4
trunk/dist/game/data/html/default/33846.htm
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Paterson's Disciple Bacon:<br>
|
||||
This dangerous place... you treat it like your living room. You're my kind of crazy.<br>
|
||||
<button align="left" icon="quest" action="bypass -h npc_%objectId%_Quest">Quest</button>
|
||||
</body></html>
|
8
trunk/dist/game/data/html/default/33847.htm
vendored
Normal file
8
trunk/dist/game/data/html/default/33847.htm
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
<html>
|
||||
<head>
|
||||
<body>Tracker Dokara:
|
||||
<br>
|
||||
What's your business here?<br>
|
||||
<button align="left" icon="quest" action="bypass -h npc_%objectId%_Quest">Quest</button>
|
||||
</body>
|
||||
</html>
|
4
trunk/dist/game/data/html/default/33858.htm
vendored
Normal file
4
trunk/dist/game/data/html/default/33858.htm
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Baron's Personal Escort Eli<br>
|
||||
Hush! Stay quiet and still. We don't want to get caught.<br>
|
||||
<Button ALIGN=LEFT ICON="quest" action="bypass -h Quest">Quest</button>
|
||||
</body></html>
|
5
trunk/dist/game/data/html/default/33862.htm
vendored
Normal file
5
trunk/dist/game/data/html/default/33862.htm
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Guard Kelios:<br>
|
||||
Everything is fine around here, thanks for asking. I mean, It's normal to have Outlaws swarming everywhere, yes?
|
||||
<br>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h Quest">Quest</button>
|
||||
</body></html>
|
5
trunk/dist/game/data/html/default/33867.htm
vendored
Normal file
5
trunk/dist/game/data/html/default/33867.htm
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Shuvann:<br>
|
||||
It's sad to see history repeat it self in the Fields of Massacre.<br>
|
||||
We can only pray it's not too late to avoid the worst.<br>
|
||||
<button align="left" icon="quest" action="bypass -h npc_%objectId%_Quest">Quest.</button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/30332-01.html
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/30332-01.html
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Captain Bathis:<br>
|
||||
Ah, you've arrived. I've heard that High Prefect Drikus is paying a lot of attention to you. I'm not surprised. You're the reason for our success.<br>
|
||||
You probably know already, but that's why I'm giving you this letter. Here is it.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10390_KekropusLetter 30332-02.html">Thank you.</button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/30332-02.html
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/30332-02.html
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Captain Bathis:<br>
|
||||
What are you waiting for? Go ahead and read the letter.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10390_KekropusLetter 30332-03.html">What, now? Okay.</button>
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/30332-03.html
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/30332-03.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Kekropus' Letter:<br>
|
||||
A secret organization called Embryo is trying to resurrect monsters from the Giant Age. Go to <font color=LEVEL>Captain Bathis</font> in the Town of Gludio and get the detail from him.<br>
|
||||
</body></html>
|
7
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/30332-04.html
vendored
Normal file
7
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/30332-04.html
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
<html><body>Captain Bathis:<br>
|
||||
Are you done reading? If you continue to help us with our missions, Kekropus will regularly send you letters. Also, from now on, I'll enclose a Scroll of Escape in the envelope. It'll help you get to places easier.
|
||||
<br>
|
||||
Does that sound agreeable?<br>
|
||||
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10390_KekropusLetter 30332-05.html">Reasonable enough.</button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/30332-05.html
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/30332-05.html
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Captain Bathis:<br>
|
||||
I've got another mission for you, a rather important one actually. I know you'll do your best. Let's get you to the mission Area.<br>
|
||||
Go to <font color=LEVEL>Heine</font> and talk to Guard Captain Gosta about the mission. You'll find the scroll very useful. Good luck.
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/30505-01.htm
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/30505-01.htm
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>High Prefect Drikus:<br>
|
||||
Do you feel stronger after the class transfer? Good, but now is not time to be complacent. There is something you must do in order to resolve the crisis in Aden.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10390_KekropusLetter 30505-02.htm">I'm listening.</button>
|
||||
</body></html>
|
6
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/30505-02.htm
vendored
Normal file
6
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/30505-02.htm
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
<html><body>High Prefect Drikus:<br>
|
||||
As you know, the advent of Shilen was a disaster for every life. So, every race's leaders promised to work together, getting over their past feuding. Now, they can meet any impending threat.<br>
|
||||
Kekropus, the Great Hierarch of Kamaels gave me informations about the great threat of all and asked me to recommend a trustworthy person to him.<br>
|
||||
You've always done a great job for us, so the task is yours. Will you accept it?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10390_KekropusLetter 30505-03.html">Sure.</button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/30505-03.html
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/30505-03.html
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>High Prefect Drikus:<br>
|
||||
Good decision.<br>
|
||||
What you need to do is very simple. Go to <font color=LEVEL>Captain Bathis</font> in the Town of Gludio first. He has a letter for you. Read it and he will tell you what to do next.<br>
|
||||
May the Flames of Pa'agrio illuminate your future!
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/30505-noErtheia.html
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/30505-noErtheia.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>High Prefect Drikus:<br>
|
||||
No you are Ertheia, this quest is not for you.
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/30505-noLevel.html
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/30505-noLevel.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>High Prefect Drikus:<br>
|
||||
Your level is wrong for this quest.
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/30916-01.html
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/30916-01.html
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Captain Gosta:<br>
|
||||
What brings you here?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10390_KekropusLetter 30916-02.html">Do you remember Kekropus?</button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/30916-02.html
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/30916-02.html
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Captain Gosta:<br>
|
||||
Ah, I see. Kekropus spread the word to each territory that an organization called Embryo is trying to grow monsters from the seeds of this race. So just about everybody, including us, was looking out for anything suspicious.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10390_KekropusLetter 30916-03.html">I'm listening</button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/30916-03.html
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/30916-03.html
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Captain Gosta:<br>
|
||||
Not too long ago, we spotted a group of people with some strange equipment near Alligator Island. We sent several people over there to investigate. Still,
|
||||
they could use your help. Meet Baron's Personal Escort Eli, but do so secretly.
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/33858-01.html
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/33858-01.html
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Baron's Personal Escort Eli:<br>
|
||||
Who are you? Who has sent you? You'd better give me a good answer.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10390_KekropusLetter 33858-02.html">I came according to Kekropus' Letter.</button>
|
||||
</body></html>
|
7
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/33858-02.html
vendored
Normal file
7
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/33858-02.html
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
<html><body>Baron's Personal Escort Eli:<br>
|
||||
So you're the one who's supposed to help me?<br1>
|
||||
Good, good. Let's have you hide first, shall we?<br>
|
||||
<font color=LEVEL>
|
||||
- Note: You can develop yourself through quests and hunting at the hunting ground on Alligator Island. You can get the next item, Kekropus' Letter, at Lv. 46.
|
||||
</font>
|
||||
</body></html>
|
7
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/Announce.html
vendored
Normal file
7
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/Announce.html
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
<html><body>The Kekropus's Letter<br>
|
||||
Remember the fragment you discovered last time?<br>
|
||||
Trace the delegation's steps-to <font color=LEVEL>Gludio Village.</font><br1>
|
||||
For details, go to <font color=LEVEL>High Priest Drikus</font> in the <font color=LEVEL>Town of Gludio.</font><br>
|
||||
<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Q10390_Teleport">Here I go!</button>
|
||||
</body></html>
|
287
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/Q10390_KekropusLetter.java
vendored
Normal file
287
trunk/dist/game/data/scripts/quests/Q10390_KekropusLetter/Q10390_KekropusLetter.java
vendored
Normal file
@ -0,0 +1,287 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2015 L2J DataPack
|
||||
*
|
||||
* This file is part of L2J DataPack.
|
||||
*
|
||||
* L2J DataPack is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* L2J DataPack is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package quests.Q10390_KekropusLetter;
|
||||
|
||||
import com.l2jserver.gameserver.ai.CtrlIntention;
|
||||
import com.l2jserver.gameserver.cache.HtmCache;
|
||||
import com.l2jserver.gameserver.enums.Race;
|
||||
import com.l2jserver.gameserver.handler.BypassHandler;
|
||||
import com.l2jserver.gameserver.handler.IBypassHandler;
|
||||
import com.l2jserver.gameserver.model.Location;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character;
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.events.EventType;
|
||||
import com.l2jserver.gameserver.model.events.ListenerRegisterType;
|
||||
import com.l2jserver.gameserver.model.events.annotations.RegisterEvent;
|
||||
import com.l2jserver.gameserver.model.events.annotations.RegisterType;
|
||||
import com.l2jserver.gameserver.model.events.impl.character.player.OnPlayerLevelChanged;
|
||||
import com.l2jserver.gameserver.model.holders.ItemHolder;
|
||||
import com.l2jserver.gameserver.model.quest.Quest;
|
||||
import com.l2jserver.gameserver.model.quest.QuestState;
|
||||
import com.l2jserver.gameserver.network.NpcStringId;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||
import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;
|
||||
|
||||
/**
|
||||
* @author Neanrakyr
|
||||
*/
|
||||
public class Q10390_KekropusLetter extends Quest implements IBypassHandler
|
||||
{
|
||||
// NPCs
|
||||
private static final int DRIKUS = 30505;
|
||||
private static final int BATHIS = 30332;
|
||||
private static final int GOSTA = 30916;
|
||||
private static final int ELI = 33858;
|
||||
// Items
|
||||
private static final ItemHolder ENCHANT_WEAPON_C = new ItemHolder(951, 3);
|
||||
private static final ItemHolder SCROLL_OF_ESCAPE_ALIGATOR_ISLAND = new ItemHolder(37025, 1);
|
||||
private static final ItemHolder STEEL_DOOR_GUILD = new ItemHolder(37045, 21);
|
||||
// Level Condition
|
||||
private static final int MIN_LEVEL = 40;
|
||||
private static final int MAX_LEVEL = 45;
|
||||
// Others
|
||||
private static final Location TELE_LOCATION = new Location(-12712, 124902, -3133);
|
||||
private static final String[] COMMAND =
|
||||
{
|
||||
"Q10390_Teleport"
|
||||
};
|
||||
|
||||
public Q10390_KekropusLetter()
|
||||
{
|
||||
super(10390, Q10390_KekropusLetter.class.getSimpleName(), "Kekropus Letter");
|
||||
addStartNpc(DRIKUS);
|
||||
addTalkId(DRIKUS, BATHIS, GOSTA, ELI);
|
||||
addCondLevel(MIN_LEVEL, MAX_LEVEL, "30505-noLevel.html");
|
||||
BypassHandler.getInstance().registerHandler(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
String htmltext = null;
|
||||
switch (event)
|
||||
{
|
||||
case "30505-03.html":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "30332-03.html":
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
qs.setCond(2);
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "30332-05.html":
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
{
|
||||
qs.setCond(3);
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "30916-03.html":
|
||||
{
|
||||
if (qs.isCond(3))
|
||||
{
|
||||
qs.setCond(4);
|
||||
giveItems(player, SCROLL_OF_ESCAPE_ALIGATOR_ISLAND);
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "33858-02.html":
|
||||
{
|
||||
if (qs.isCond(4))
|
||||
{
|
||||
giveItems(player, ENCHANT_WEAPON_C);
|
||||
giveItems(player, STEEL_DOOR_GUILD);
|
||||
addExpAndSp(player, 370440, 88);
|
||||
showOnScreenMsg(player, NpcStringId.GROW_STRONGER_HERE_UNTIL_YOU_RECEIVE_THE_NEXT_LETTER_FROM_KEKROPUS_AT_LV_46, ExShowScreenMessage.TOP_CENTER, 4500);
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "30505-02.htm":
|
||||
case "30332-02.html":
|
||||
case "30916-02.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
if (qs.isCompleted())
|
||||
{
|
||||
return getAlreadyCompletedMsg(player);
|
||||
}
|
||||
if (player.getRace() == Race.ERTHEIA)
|
||||
{
|
||||
return "30505-noErtheia.html";
|
||||
}
|
||||
|
||||
switch (npc.getId())
|
||||
{
|
||||
case DRIKUS:
|
||||
{
|
||||
if (qs.isCreated())
|
||||
{
|
||||
htmltext = "30505-01.htm";
|
||||
}
|
||||
else if (qs.isStarted())
|
||||
{
|
||||
htmltext = "30505-03.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case BATHIS:
|
||||
{
|
||||
switch (qs.getCond())
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
htmltext = "30332-01.html";
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
htmltext = "30332-04.html";
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
htmltext = "30332-05.html";
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case GOSTA:
|
||||
{
|
||||
switch (qs.getCond())
|
||||
{
|
||||
case 3:
|
||||
{
|
||||
htmltext = "30916-01.html";
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
htmltext = "30916-03.html";
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case ELI:
|
||||
{
|
||||
if (qs.isCond(4))
|
||||
{
|
||||
htmltext = "33858-01.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@RegisterEvent(EventType.ON_PLAYER_LEVEL_CHANGED)
|
||||
@RegisterType(ListenerRegisterType.GLOBAL)
|
||||
public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
|
||||
{
|
||||
final L2PcInstance player = event.getActiveChar();
|
||||
final int oldLevel = event.getOldLevel();
|
||||
final int newLevel = event.getNewLevel();
|
||||
|
||||
if (((oldLevel == (newLevel - 1)) && (player.getLevel() >= MIN_LEVEL)) && (player.getLevel() <= MAX_LEVEL) && !(player.getRace() == Race.ERTHEIA))
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
final NpcHtmlMessage html = new NpcHtmlMessage(0, 0);
|
||||
html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "data/scripts/quests/Q10390_KekropusLetter/Announce.html"));
|
||||
player.sendPacket(html);
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean useBypass(String command, L2PcInstance player, L2Character bypassOrigin)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) || (player.getLevel() < MIN_LEVEL) || (player.getLevel() > MAX_LEVEL) || (player.getRace() == Race.ERTHEIA))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (player.isInParty())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in party.", 5000));
|
||||
}
|
||||
else if (player.isInCombat())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in combat.", 5000));
|
||||
}
|
||||
else if (player.isInDuel())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in a duel.", 5000));
|
||||
}
|
||||
else if (player.isInOlympiadMode())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in Olympiad.", 5000));
|
||||
}
|
||||
else if (player.isInVehicle())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in any vehicle or mount.", 5000));
|
||||
}
|
||||
else
|
||||
{
|
||||
player.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
|
||||
player.teleToLocation(TELE_LOCATION);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getBypassList()
|
||||
{
|
||||
return COMMAND;
|
||||
}
|
||||
}
|
5
trunk/dist/game/data/scripts/quests/Q10393_KekropusLetter_AClueCompleted/30677-01.htm
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10393_KekropusLetter_AClueCompleted/30677-01.htm
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Head Blacksmith FLutter:<br>
|
||||
What's with you? You look so serious.
|
||||
<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10393_KekropusLetter_AClueCompleted 30677-02.html">Do you remember Kekropus?</button>
|
||||
</body></html>
|
9
trunk/dist/game/data/scripts/quests/Q10393_KekropusLetter_AClueCompleted/30677-02.html
vendored
Normal file
9
trunk/dist/game/data/scripts/quests/Q10393_KekropusLetter_AClueCompleted/30677-02.html
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
<html><body>Head Blacksmith FLutter:<br>
|
||||
You'll help? Well, who can say no to such an offer? HaHa! Tell you what. Since you offered to help, I'll try putting together some of those fragments for you.
|
||||
<br>
|
||||
First, go to
|
||||
<font color=LEVEL>Guard Kelios </font>
|
||||
in
|
||||
<font color=LEVEL>Outlaw Forest </font>
|
||||
and get the details.
|
||||
</body></html>
|
7
trunk/dist/game/data/scripts/quests/Q10393_KekropusLetter_AClueCompleted/30677-03.html
vendored
Normal file
7
trunk/dist/game/data/scripts/quests/Q10393_KekropusLetter_AClueCompleted/30677-03.html
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
<html><body>Head Blacksmith FLutter:<br>
|
||||
It will just take a moment, sorry for the wait.
|
||||
<br>
|
||||
<font color=LEVEL>
|
||||
- Note: You can develop yourself through quests and hunting at the hunting ground on Outlaw Forest. You can get the next item, Kekropus' Letter, at Lv. 52.
|
||||
</font>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Head Blacksmith FLutter:<br>
|
||||
No you are Ertheia, this quest is not for you.
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/quests/Q10393_KekropusLetter_AClueCompleted/30677-noLevel.html
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q10393_KekropusLetter_AClueCompleted/30677-noLevel.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Head Blacksmith FLutter:<br>
|
||||
Your level is wrong for this quest.
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/quests/Q10393_KekropusLetter_AClueCompleted/33862-01.html
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10393_KekropusLetter_AClueCompleted/33862-01.html
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Guard Kelios:<br>
|
||||
What brings you here?
|
||||
<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10393_KekropusLetter_AClueCompleted 33862-02.html">I have a message from Blacksmith Flutter.</button>
|
||||
</body></html>
|
7
trunk/dist/game/data/scripts/quests/Q10393_KekropusLetter_AClueCompleted/33862-02.html
vendored
Normal file
7
trunk/dist/game/data/scripts/quests/Q10393_KekropusLetter_AClueCompleted/33862-02.html
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
<html><body>Giant Minion Eblune:<br>
|
||||
I knew it! Not that it matters. I really don't care if you're a Patrol Member or not. I just need an extra hand. I've got a mission for you.
|
||||
<br>
|
||||
<font color=LEVEL>
|
||||
- Note: You can develop yourself through quests and hunting at the hunting ground on Forsaken Plains. You can get the next item, Kekropus' Letter, at Lv. 61.
|
||||
</font>
|
||||
</body></html>
|
7
trunk/dist/game/data/scripts/quests/Q10393_KekropusLetter_AClueCompleted/Announce.html
vendored
Normal file
7
trunk/dist/game/data/scripts/quests/Q10393_KekropusLetter_AClueCompleted/Announce.html
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
<html><body>The Kekropus's Letter<br>
|
||||
Innadril is in danger from Iason Heine. Go to the Town of Oren and ask <font color=LEVEL>Head Blacksmith Flutter</font> to combine Fragments. Thank you in advance.
|
||||
<br>
|
||||
(A <font color=LEVEL>Scroll of Escape</font> is enclosed. If you want to go now, use it to travel immediately.)
|
||||
<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Q10393_Teleport">I will go right away this scroll.</button>
|
||||
</body></html>
|
@ -0,0 +1,212 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2015 L2J DataPack
|
||||
*
|
||||
* This file is part of L2J DataPack.
|
||||
*
|
||||
* L2J DataPack is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* L2J DataPack is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package quests.Q10393_KekropusLetter_AClueCompleted;
|
||||
|
||||
import com.l2jserver.gameserver.ai.CtrlIntention;
|
||||
import com.l2jserver.gameserver.cache.HtmCache;
|
||||
import com.l2jserver.gameserver.enums.Race;
|
||||
import com.l2jserver.gameserver.handler.BypassHandler;
|
||||
import com.l2jserver.gameserver.handler.IBypassHandler;
|
||||
import com.l2jserver.gameserver.model.Location;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character;
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.events.EventType;
|
||||
import com.l2jserver.gameserver.model.events.ListenerRegisterType;
|
||||
import com.l2jserver.gameserver.model.events.annotations.RegisterEvent;
|
||||
import com.l2jserver.gameserver.model.events.annotations.RegisterType;
|
||||
import com.l2jserver.gameserver.model.events.impl.character.player.OnPlayerLevelChanged;
|
||||
import com.l2jserver.gameserver.model.holders.ItemHolder;
|
||||
import com.l2jserver.gameserver.model.quest.Quest;
|
||||
import com.l2jserver.gameserver.model.quest.QuestState;
|
||||
import com.l2jserver.gameserver.network.NpcStringId;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||
import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;
|
||||
|
||||
/**
|
||||
* @author Neanrakyr
|
||||
*/
|
||||
public class Q10393_KekropusLetter_AClueCompleted extends Quest implements IBypassHandler
|
||||
{
|
||||
// Npcs
|
||||
private static final int FLUTTER = 30677;
|
||||
private static final int KELIOS = 33862;
|
||||
// Items
|
||||
private static final ItemHolder SCROLL_OF_ESCAPE_OUTLAW_FOREST = new ItemHolder(37026, 1);
|
||||
private static final ItemHolder STEEL_DOOR_GUILD = new ItemHolder(37045, 15);
|
||||
private static final ItemHolder ENCHANT_ARMOR_C = new ItemHolder(952, 4);
|
||||
// Level Condition
|
||||
private static final int MIN_LEVEL = 46;
|
||||
private static final int MAX_LEVEL = 51;
|
||||
// Other
|
||||
private static final Location TELE_LOCATION = new Location(83697, 55446, -1512);
|
||||
private static final String[] COMMAND =
|
||||
{
|
||||
"Q10393_Teleport"
|
||||
};
|
||||
|
||||
public Q10393_KekropusLetter_AClueCompleted()
|
||||
{
|
||||
super(10393, Q10393_KekropusLetter_AClueCompleted.class.getSimpleName(), "Krekopus Letter: A Clue Completed");
|
||||
addStartNpc(FLUTTER);
|
||||
addTalkId(FLUTTER, KELIOS);
|
||||
addCondLevel(MIN_LEVEL, MAX_LEVEL, "30677-noLevel.html");
|
||||
BypassHandler.getInstance().registerHandler(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
String htmltext = null;
|
||||
switch (event)
|
||||
{
|
||||
case "30677-02.html":
|
||||
{
|
||||
qs.startQuest();
|
||||
giveItems(player, SCROLL_OF_ESCAPE_OUTLAW_FOREST);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "33862-02.html":
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
giveItems(player, STEEL_DOOR_GUILD);
|
||||
giveItems(player, ENCHANT_ARMOR_C);
|
||||
addExpAndSp(player, 483840, 116);
|
||||
showOnScreenMsg(player, NpcStringId.GROW_STRONGER_HERE_UNTIL_YOU_RECEIVE_THE_NEXT_LETTER_FROM_KEKROPUS_AT_LV_52, ExShowScreenMessage.TOP_CENTER, 4500);
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
if (qs.isCompleted())
|
||||
{
|
||||
return getAlreadyCompletedMsg(player);
|
||||
}
|
||||
if (player.getRace() == Race.ERTHEIA)
|
||||
{
|
||||
return "30677-noErtheia.html";
|
||||
}
|
||||
|
||||
switch (npc.getId())
|
||||
{
|
||||
case FLUTTER:
|
||||
{
|
||||
if (qs.isCreated())
|
||||
{
|
||||
htmltext = "30677-01.htm";
|
||||
}
|
||||
else if (qs.isStarted())
|
||||
{
|
||||
htmltext = "30677-03.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case KELIOS:
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "33862-01.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@RegisterEvent(EventType.ON_PLAYER_LEVEL_CHANGED)
|
||||
@RegisterType(ListenerRegisterType.GLOBAL)
|
||||
public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
|
||||
{
|
||||
final L2PcInstance player = event.getActiveChar();
|
||||
final int oldLevel = event.getOldLevel();
|
||||
final int newLevel = event.getNewLevel();
|
||||
|
||||
if (((oldLevel == (newLevel - 1)) && (player.getLevel() >= MIN_LEVEL)) && (player.getLevel() <= MAX_LEVEL) && !(player.getRace() == Race.ERTHEIA))
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
final NpcHtmlMessage html = new NpcHtmlMessage(0, 0);
|
||||
html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "data/scripts/quests/Q10393_KekropusLetter_AClueCompleted/Announce.html"));
|
||||
player.sendPacket(html);
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean useBypass(String command, L2PcInstance player, L2Character bypassOrigin)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) || (player.getLevel() < MIN_LEVEL) || (player.getLevel() > MAX_LEVEL) || (player.getRace() == Race.ERTHEIA))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (player.isInParty())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in party.", 5000));
|
||||
}
|
||||
else if (player.isInCombat())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in combat.", 5000));
|
||||
}
|
||||
else if (player.isInDuel())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in a duel.", 5000));
|
||||
}
|
||||
else if (player.isInOlympiadMode())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in Olympiad.", 5000));
|
||||
}
|
||||
else if (player.isInVehicle())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in any vehicle or mount.", 5000));
|
||||
}
|
||||
else
|
||||
{
|
||||
player.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
|
||||
player.teleToLocation(TELE_LOCATION);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getBypassList()
|
||||
{
|
||||
return COMMAND;
|
||||
}
|
||||
}
|
5
trunk/dist/game/data/scripts/quests/Q10397_KekropusLetter_ASuspiciousBadge/30196-01.htm
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10397_KekropusLetter_ASuspiciousBadge/30196-01.htm
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Captain Mouen:<br>
|
||||
Good to see you again. I guess you came here because you got a letter from Kekropus.
|
||||
<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10397_KekropusLetter_ASuspiciousBadge 30196-02.htm">Yes</button>
|
||||
</body></html>
|
6
trunk/dist/game/data/scripts/quests/Q10397_KekropusLetter_ASuspiciousBadge/30196-02.htm
vendored
Normal file
6
trunk/dist/game/data/scripts/quests/Q10397_KekropusLetter_ASuspiciousBadge/30196-02.htm
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
<html><body>Captain Mouen:<br>
|
||||
You probably got the gist from Kekropus's Letter but the <font color=LEVEL> Sea of Spores</font> is where you have to go.
|
||||
We've dispatched soldiers to tighten security, but I don't think that is enough.
|
||||
<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10397_KekropusLetter_ASuspiciousBadge 30196-03.html">What do you need?</button>
|
||||
</body></html>
|
6
trunk/dist/game/data/scripts/quests/Q10397_KekropusLetter_ASuspiciousBadge/30196-03.html
vendored
Normal file
6
trunk/dist/game/data/scripts/quests/Q10397_KekropusLetter_ASuspiciousBadge/30196-03.html
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
<html><body>Captain Mouen:<br>
|
||||
For more information, go to talk to<font color=LEVEL> Andy the Patrol</font> at the <font color=LEVEL>Sea of Spores.</font> Good luck then.
|
||||
<br>
|
||||
To reach the Sea of Spores, use this Scroll of Escape: Sea of Spores, or ask a Gatekeeper for help.
|
||||
<br>
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Captain Mouen:<br>
|
||||
No you are Ertheia, this quest is not for you.
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Captain Mouen:<br>
|
||||
Your level is wrong for this quest.
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/quests/Q10397_KekropusLetter_ASuspiciousBadge/33845-01.html
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10397_KekropusLetter_ASuspiciousBadge/33845-01.html
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Patrol Andy:<br>
|
||||
Here in the Sea of Spores, we're dependent upon a force field built by the Ivory Tower wizards.
|
||||
<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10397_KekropusLetter_ASuspiciousBadge 33845-02.html">Do you know anything about the Suspicious Badges being found in the area?</button>
|
||||
</body></html>
|
7
trunk/dist/game/data/scripts/quests/Q10397_KekropusLetter_ASuspiciousBadge/33845-02.html
vendored
Normal file
7
trunk/dist/game/data/scripts/quests/Q10397_KekropusLetter_ASuspiciousBadge/33845-02.html
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
<html><body>Patrol Andy:<br>
|
||||
I appreciate you coming all the way out here. Hopefully you can get to the botton of this.
|
||||
<br>
|
||||
<font color=LEVEL>
|
||||
- Note: You can develop yourself through quests and hunting at the hunting ground on Sea of Spores. You can get the next item, Kekropus' Letter, at Lv. 58.
|
||||
</font>
|
||||
</body></html>
|
7
trunk/dist/game/data/scripts/quests/Q10397_KekropusLetter_ASuspiciousBadge/Announce.html
vendored
Normal file
7
trunk/dist/game/data/scripts/quests/Q10397_KekropusLetter_ASuspiciousBadge/Announce.html
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
<html><body>The Kekropus's Letter<br>
|
||||
A Suspicious Badge was discovered in the <font color=LEVEL>Sea of Spores</font>. Go to <font color=LEVEL>Captain Mouen</font> in the <font color=LEVEL>Town of Oren</font> for details.
|
||||
<br>
|
||||
(A <font color=LEVEL>Scroll of Escape</font> is enclosed. If you want to go now, use it to travel immediately.)
|
||||
<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Q10397_Teleport">I will go right away this scroll.</button>
|
||||
</body></html>
|
@ -0,0 +1,217 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2015 L2J DataPack
|
||||
*
|
||||
* This file is part of L2J DataPack.
|
||||
*
|
||||
* L2J DataPack is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* L2J DataPack is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package quests.Q10397_KekropusLetter_ASuspiciousBadge;
|
||||
|
||||
import com.l2jserver.gameserver.ai.CtrlIntention;
|
||||
import com.l2jserver.gameserver.cache.HtmCache;
|
||||
import com.l2jserver.gameserver.enums.Race;
|
||||
import com.l2jserver.gameserver.handler.BypassHandler;
|
||||
import com.l2jserver.gameserver.handler.IBypassHandler;
|
||||
import com.l2jserver.gameserver.model.Location;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character;
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.events.EventType;
|
||||
import com.l2jserver.gameserver.model.events.ListenerRegisterType;
|
||||
import com.l2jserver.gameserver.model.events.annotations.RegisterEvent;
|
||||
import com.l2jserver.gameserver.model.events.annotations.RegisterType;
|
||||
import com.l2jserver.gameserver.model.events.impl.character.player.OnPlayerLevelChanged;
|
||||
import com.l2jserver.gameserver.model.holders.ItemHolder;
|
||||
import com.l2jserver.gameserver.model.quest.Quest;
|
||||
import com.l2jserver.gameserver.model.quest.QuestState;
|
||||
import com.l2jserver.gameserver.network.NpcStringId;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||
import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;
|
||||
|
||||
/**
|
||||
* @author Neanrakyr
|
||||
*/
|
||||
public class Q10397_KekropusLetter_ASuspiciousBadge extends Quest implements IBypassHandler
|
||||
{
|
||||
// Npcs
|
||||
private static final int MOUEN = 30196;
|
||||
private static final int ANDY = 33845;
|
||||
// Items
|
||||
private static final ItemHolder SCROLL_OF_ESCAPE_SEA_OF_SPORES = new ItemHolder(37027, 1);
|
||||
private static final ItemHolder STEEL_DOOR_GUILD = new ItemHolder(37045, 20);
|
||||
private static final ItemHolder ENCHANT_WEAPON_B = new ItemHolder(947, 2);
|
||||
// Level Condition
|
||||
private static final int MIN_LEVEL = 52;
|
||||
private static final int MAX_LEVEL = 57;
|
||||
// Others
|
||||
private static final Location TELE_LOCATION = new Location(80951, 56382, -1552);
|
||||
private static final String[] COMMAND =
|
||||
{
|
||||
"Q10397_Teleport"
|
||||
};
|
||||
|
||||
public Q10397_KekropusLetter_ASuspiciousBadge()
|
||||
{
|
||||
super(10397, Q10397_KekropusLetter_ASuspiciousBadge.class.getSimpleName(), "Kekropus Letter: A Suspicious Badge");
|
||||
addStartNpc(MOUEN);
|
||||
addTalkId(MOUEN, ANDY);
|
||||
addCondLevel(MIN_LEVEL, MAX_LEVEL, "30196-noLevel.html");
|
||||
BypassHandler.getInstance().registerHandler(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
String htmltext = null;
|
||||
switch (event)
|
||||
{
|
||||
case "30196-03.html":
|
||||
{
|
||||
qs.startQuest();
|
||||
giveItems(player, SCROLL_OF_ESCAPE_SEA_OF_SPORES);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "33845-02.html":
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
giveItems(player, STEEL_DOOR_GUILD);
|
||||
giveItems(player, ENCHANT_WEAPON_B);
|
||||
addExpAndSp(player, 635250, 152);
|
||||
showOnScreenMsg(player, NpcStringId.GROW_STRONGER_HERE_UNTIL_YOU_RECEIVE_THE_NEXT_LETTER_FROM_KEKROPUS_AT_LV_58, ExShowScreenMessage.TOP_CENTER, 4500);
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "30196-02.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
if (qs.isCompleted())
|
||||
{
|
||||
return getAlreadyCompletedMsg(player);
|
||||
}
|
||||
if (player.getRace() == Race.ERTHEIA)
|
||||
{
|
||||
return "30196-noErtheia.html";
|
||||
}
|
||||
|
||||
switch (npc.getId())
|
||||
{
|
||||
case MOUEN:
|
||||
{
|
||||
if (qs.isCreated())
|
||||
{
|
||||
htmltext = "30196-01.htm";
|
||||
}
|
||||
else if (qs.isStarted())
|
||||
{
|
||||
htmltext = "30196-03.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case ANDY:
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "33845-01.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@RegisterEvent(EventType.ON_PLAYER_LEVEL_CHANGED)
|
||||
@RegisterType(ListenerRegisterType.GLOBAL)
|
||||
public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
|
||||
{
|
||||
final L2PcInstance player = event.getActiveChar();
|
||||
final int oldLevel = event.getOldLevel();
|
||||
final int newLevel = event.getNewLevel();
|
||||
|
||||
if (((oldLevel == (newLevel - 1)) && (player.getLevel() >= MIN_LEVEL)) && (player.getLevel() <= MAX_LEVEL) && !(player.getRace() == Race.ERTHEIA))
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
final NpcHtmlMessage html = new NpcHtmlMessage(0, 0);
|
||||
html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "data/scripts/quests/Q10397_KekropusLetter_ASuspiciousBadge/Announce.html"));
|
||||
player.sendPacket(html);
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean useBypass(String command, L2PcInstance player, L2Character bypassOrigin)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) || (player.getLevel() < MIN_LEVEL) || (player.getLevel() > MAX_LEVEL) || (player.getRace() == Race.ERTHEIA))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (player.isInParty())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in party.", 5000));
|
||||
}
|
||||
else if (player.isInCombat())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in combat.", 5000));
|
||||
}
|
||||
else if (player.isInDuel())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in a duel.", 5000));
|
||||
}
|
||||
else if (player.isInOlympiadMode())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in Olympiad.", 5000));
|
||||
}
|
||||
else if (player.isInVehicle())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in any vehicle or mount.", 5000));
|
||||
}
|
||||
else
|
||||
{
|
||||
player.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
|
||||
player.teleToLocation(TELE_LOCATION);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getBypassList()
|
||||
{
|
||||
return COMMAND;
|
||||
}
|
||||
}
|
5
trunk/dist/game/data/scripts/quests/Q10401_KekropusLetter_DecodingTheBadge/33864-01.htm
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10401_KekropusLetter_DecodingTheBadge/33864-01.htm
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Paterson:<br>
|
||||
Eh, are you looking for spiritual help? I may be in a place like this, but I am no priest.
|
||||
<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10401_KekropusLetter_DecodingTheBadge 33864-02.htm">Do you remember Kekropus?</button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/quests/Q10401_KekropusLetter_DecodingTheBadge/33864-02.htm
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10401_KekropusLetter_DecodingTheBadge/33864-02.htm
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Paterson:<br>
|
||||
As, I see. I am a rune scholar who helps out the Giant's minions. From what they sent over, I've found something called <font color=LEVEL> Inverted Ewaz</font>, an ancient text which can harness the power of Gaints.<br>
|
||||
I'm not sure, but I suspect this was some kind of spell to suppress the Giants' powers. I'd like to find out more.... will you help me?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10401_KekropusLetter_DecodingTheBadge 33864-03.html">Me? Well, sure..</button>
|
||||
</body></html>
|
7
trunk/dist/game/data/scripts/quests/Q10401_KekropusLetter_DecodingTheBadge/33864-03.html
vendored
Normal file
7
trunk/dist/game/data/scripts/quests/Q10401_KekropusLetter_DecodingTheBadge/33864-03.html
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
<html><body>Paterson:<br>
|
||||
<font color=LEVEL>Giant's Minion Eblune</font> is in the
|
||||
<font color=LEVEL>Forsaken Plains</font>. I'll need her assistance to complete my research.
|
||||
<br>
|
||||
Let me give you a <font color=LEVEL>Scroll of Escape</font>. It will help you get to your next destination easily.
|
||||
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Paterson:<br>
|
||||
No you are Ertheia, this quest is not for you.
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Paterson:<br>
|
||||
Your level is wrong for this quest.
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/quests/Q10401_KekropusLetter_DecodingTheBadge/33865-01.html
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10401_KekropusLetter_DecodingTheBadge/33865-01.html
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Giant Minion Eblune:<br>
|
||||
Are you part of the patrol team? Why are you so late? Why did you come alone? You don't look like a Patrol Member to me...
|
||||
<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10401_KekropusLetter_DecodingTheBadge 33865-02.html">Deliver Paterson's message.</button>
|
||||
</body></html>
|
7
trunk/dist/game/data/scripts/quests/Q10401_KekropusLetter_DecodingTheBadge/33865-02.html
vendored
Normal file
7
trunk/dist/game/data/scripts/quests/Q10401_KekropusLetter_DecodingTheBadge/33865-02.html
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
<html><body>Giant Minion Eblune:<br>
|
||||
I knew it! Not that it matters. I really don't care if you're a Patrol Member or not. I just need an extra hand. I've got a mission for you.
|
||||
<br>
|
||||
<font color=LEVEL>
|
||||
- Note: You can develop yourself through quests and hunting at the hunting ground on Forsaken Plains. You can get the next item, Kekropus' Letter, at Lv. 61.
|
||||
</font>
|
||||
</body></html>
|
8
trunk/dist/game/data/scripts/quests/Q10401_KekropusLetter_DecodingTheBadge/Announce.html
vendored
Normal file
8
trunk/dist/game/data/scripts/quests/Q10401_KekropusLetter_DecodingTheBadge/Announce.html
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
<html><body>The Kekropus's Letter<br>
|
||||
I've asked <font color=LEVEL>Paterson</font> to decipher marks inscribed on monsters. His scholarly expertise includes written Rune.
|
||||
Visit him in the <font color=LEVEL> Town of Aden.</font>
|
||||
<br>
|
||||
(A <font color=LEVEL>Scroll of Escape</font> is enclosed. If you want to go now, use it to travel immediately.)
|
||||
<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Q10401_Teleport">I will go right away this scroll.</button>
|
||||
</body></html>
|
@ -0,0 +1,217 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2015 L2J DataPack
|
||||
*
|
||||
* This file is part of L2J DataPack.
|
||||
*
|
||||
* L2J DataPack is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* L2J DataPack is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package quests.Q10401_KekropusLetter_DecodingTheBadge;
|
||||
|
||||
import com.l2jserver.gameserver.ai.CtrlIntention;
|
||||
import com.l2jserver.gameserver.cache.HtmCache;
|
||||
import com.l2jserver.gameserver.enums.Race;
|
||||
import com.l2jserver.gameserver.handler.BypassHandler;
|
||||
import com.l2jserver.gameserver.handler.IBypassHandler;
|
||||
import com.l2jserver.gameserver.model.Location;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character;
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.events.EventType;
|
||||
import com.l2jserver.gameserver.model.events.ListenerRegisterType;
|
||||
import com.l2jserver.gameserver.model.events.annotations.RegisterEvent;
|
||||
import com.l2jserver.gameserver.model.events.annotations.RegisterType;
|
||||
import com.l2jserver.gameserver.model.events.impl.character.player.OnPlayerLevelChanged;
|
||||
import com.l2jserver.gameserver.model.holders.ItemHolder;
|
||||
import com.l2jserver.gameserver.model.quest.Quest;
|
||||
import com.l2jserver.gameserver.model.quest.QuestState;
|
||||
import com.l2jserver.gameserver.network.NpcStringId;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||
import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;
|
||||
|
||||
/**
|
||||
* @author Neanrakyr
|
||||
*/
|
||||
public class Q10401_KekropusLetter_DecodingTheBadge extends Quest implements IBypassHandler
|
||||
{
|
||||
// Npcs
|
||||
private static final int PATERSON = 33864;
|
||||
private static final int EBLUNE = 33865;
|
||||
// Items
|
||||
private static final ItemHolder SCROLL_OF_ESCAPE_FORSAKEN_PLAINS = new ItemHolder(37028, 1);
|
||||
private static final ItemHolder STEEL_DOOR_GUILD = new ItemHolder(37045, 30);
|
||||
private static final ItemHolder ENCHANT_ARMOR_B = new ItemHolder(948, 5);
|
||||
// Level Condition
|
||||
private static final int MIN_LEVEL = 58;
|
||||
private static final int MAX_LEVEL = 60;
|
||||
// Others
|
||||
private static final Location TELE_LOCATION = new Location(147619, 24681, -1984);
|
||||
private static final String[] COMMAND =
|
||||
{
|
||||
"Q10401_Teleport"
|
||||
};
|
||||
|
||||
public Q10401_KekropusLetter_DecodingTheBadge()
|
||||
{
|
||||
super(10401, Q10401_KekropusLetter_DecodingTheBadge.class.getSimpleName(), "Kekropus Letter: Decoding The Badge");
|
||||
addStartNpc(PATERSON);
|
||||
addTalkId(PATERSON, EBLUNE);
|
||||
addCondLevel(MIN_LEVEL, MAX_LEVEL, "33864-noLevel.html");
|
||||
BypassHandler.getInstance().registerHandler(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
String htmltext = null;
|
||||
switch (event)
|
||||
{
|
||||
case "33864-03.html":
|
||||
{
|
||||
qs.startQuest();
|
||||
giveItems(player, SCROLL_OF_ESCAPE_FORSAKEN_PLAINS);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "33865-02.html":
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
giveItems(player, STEEL_DOOR_GUILD);
|
||||
giveItems(player, ENCHANT_ARMOR_B);
|
||||
addExpAndSp(player, 731010, 175);
|
||||
showOnScreenMsg(player, NpcStringId.GROW_STRONGER_HERE_UNTIL_YOU_RECEIVE_THE_NEXT_LETTER_FROM_KEKROPUS_AT_LV_61, ExShowScreenMessage.TOP_CENTER, 4500);
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "33864-02.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
if (qs.isCompleted())
|
||||
{
|
||||
return getAlreadyCompletedMsg(player);
|
||||
}
|
||||
if (player.getRace() == Race.ERTHEIA)
|
||||
{
|
||||
return "33864-noErtheia.html";
|
||||
}
|
||||
|
||||
switch (npc.getId())
|
||||
{
|
||||
case PATERSON:
|
||||
{
|
||||
if (qs.isCreated())
|
||||
{
|
||||
htmltext = "33864-01.htm";
|
||||
}
|
||||
else if (qs.isStarted())
|
||||
{
|
||||
htmltext = "33864-03.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case EBLUNE:
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "33865-01.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@RegisterEvent(EventType.ON_PLAYER_LEVEL_CHANGED)
|
||||
@RegisterType(ListenerRegisterType.GLOBAL)
|
||||
public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
|
||||
{
|
||||
final L2PcInstance player = event.getActiveChar();
|
||||
final int oldLevel = event.getOldLevel();
|
||||
final int newLevel = event.getNewLevel();
|
||||
|
||||
if (((oldLevel == (newLevel - 1)) && (player.getLevel() >= MIN_LEVEL)) && (player.getLevel() <= MAX_LEVEL) && !(player.getRace() == Race.ERTHEIA))
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
final NpcHtmlMessage html = new NpcHtmlMessage(0, 0);
|
||||
html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "data/scripts/quests/Q10401_KekropusLetter_DecodingTheBadge/Announce.html"));
|
||||
player.sendPacket(html);
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean useBypass(String command, L2PcInstance player, L2Character bypassOrigin)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) || (player.getLevel() < MIN_LEVEL) || (player.getLevel() > MAX_LEVEL) || (player.getRace() == Race.ERTHEIA))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (player.isInParty())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in party.", 5000));
|
||||
}
|
||||
else if (player.isInCombat())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in combat.", 5000));
|
||||
}
|
||||
else if (player.isInDuel())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in a duel.", 5000));
|
||||
}
|
||||
else if (player.isInOlympiadMode())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in Olympiad.", 5000));
|
||||
}
|
||||
else if (player.isInVehicle())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in any vehicle or mount.", 5000));
|
||||
}
|
||||
else
|
||||
{
|
||||
player.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
|
||||
player.teleToLocation(TELE_LOCATION);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getBypassList()
|
||||
{
|
||||
return COMMAND;
|
||||
}
|
||||
}
|
5
trunk/dist/game/data/scripts/quests/Q10404_KekropusLetter_AHiddenMeaning/33864-01.htm
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10404_KekropusLetter_AHiddenMeaning/33864-01.htm
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Paterson:<br>
|
||||
What do you want? Oh, sorry, of course I know you. You helped me with research. Wait, you're not? Sorry, I'm a bit confused right now. I've been so busy with my research lately...
|
||||
<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10404_KekropusLetter_AHiddenMeaning 33864-02.htm">Do you remember Kekropus?</button>
|
||||
</body></html>
|
7
trunk/dist/game/data/scripts/quests/Q10404_KekropusLetter_AHiddenMeaning/33864-02.htm
vendored
Normal file
7
trunk/dist/game/data/scripts/quests/Q10404_KekropusLetter_AHiddenMeaning/33864-02.htm
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
<html><body>Paterson:<br>
|
||||
Kekropus... Kekropus. SOunds familiar, But since you're here, I could use some help. From the clues and evidence I've assembled, I found out that Embryo neither works for Shilien not uses her power. What they want is... the power of Giants!
|
||||
<br>
|
||||
I am now convinced that we will soon find some complicated plan that explains all of this. But for now we need some answers in order to stop Embryo
|
||||
<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10404_KekropusLetter_AHiddenMeaning 33864-03.html">Oh this we agree.</button>
|
||||
</body></html>
|
8
trunk/dist/game/data/scripts/quests/Q10404_KekropusLetter_AHiddenMeaning/33864-03.html
vendored
Normal file
8
trunk/dist/game/data/scripts/quests/Q10404_KekropusLetter_AHiddenMeaning/33864-03.html
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
<html><body>Paterson:<br>
|
||||
If you go to the
|
||||
<font color=LEVEL>Field of Massacre</font>, you'll find
|
||||
<font color=LEVEL>Shuvann</font>. He' not a great fighter, but has more knowledge about that place than anybody. I we are going to stop Embryo, you must help him. If you use the enclosed
|
||||
<font color=LEVEL>Scroll of Escape</font>,
|
||||
You'll get there much quicker.
|
||||
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Paterson:<br>
|
||||
No you are Ertheia, this quest is not for you.
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/quests/Q10404_KekropusLetter_AHiddenMeaning/33864-noLevel.html
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q10404_KekropusLetter_AHiddenMeaning/33864-noLevel.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Paterson:<br>
|
||||
Your level is wrong for this quest.
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/quests/Q10404_KekropusLetter_AHiddenMeaning/33867-01.html
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10404_KekropusLetter_AHiddenMeaning/33867-01.html
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Shuvann:<br>
|
||||
Did Paterson send you? I can't think of any other reason anyone would talk to me.
|
||||
<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10404_KekropusLetter_AHiddenMeaning 33867-02.html">Yes</button>
|
||||
</body></html>
|
7
trunk/dist/game/data/scripts/quests/Q10404_KekropusLetter_AHiddenMeaning/33867-02.html
vendored
Normal file
7
trunk/dist/game/data/scripts/quests/Q10404_KekropusLetter_AHiddenMeaning/33867-02.html
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
<html><body>Shuvann:<br>
|
||||
Without so many adventurers passing through, this area would be unlivable. Let's take a short break before we talk about your mission.
|
||||
<br>
|
||||
<font color=LEVEL>
|
||||
- Note: You can develop yourself through quests and hunting at the hunting ground on Field of Massacre. You can get the next item, Kekropus' Letter, at Lv. 65.
|
||||
</font>
|
||||
</body></html>
|
8
trunk/dist/game/data/scripts/quests/Q10404_KekropusLetter_AHiddenMeaning/Announce.html
vendored
Normal file
8
trunk/dist/game/data/scripts/quests/Q10404_KekropusLetter_AHiddenMeaning/Announce.html
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
<html><body>The Kekropus's Letter<br>
|
||||
Rumor has it the inverted <font color=LEVEL>Ewaz</font> -- the Rune language!-- was discovered inside Karum's Core. Embryo must be involved.
|
||||
Please hurry to <font color=LEVEL>Paterson</font> in <font color=LEVEL>the Town of Aden.</font>
|
||||
<br>
|
||||
(A <font color=LEVEL>Scroll of Escape</font> is enclosed. If you want to go now, use it to travel immediately.)
|
||||
<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Q10404_Teleport">I will go right away this scroll.</button>
|
||||
</body></html>
|
@ -0,0 +1,218 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2015 L2J DataPack
|
||||
*
|
||||
* This file is part of L2J DataPack.
|
||||
*
|
||||
* L2J DataPack is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* L2J DataPack is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package quests.Q10404_KekropusLetter_AHiddenMeaning;
|
||||
|
||||
import com.l2jserver.gameserver.ai.CtrlIntention;
|
||||
import com.l2jserver.gameserver.cache.HtmCache;
|
||||
import com.l2jserver.gameserver.enums.Race;
|
||||
import com.l2jserver.gameserver.handler.BypassHandler;
|
||||
import com.l2jserver.gameserver.handler.IBypassHandler;
|
||||
import com.l2jserver.gameserver.model.Location;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character;
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.events.EventType;
|
||||
import com.l2jserver.gameserver.model.events.ListenerRegisterType;
|
||||
import com.l2jserver.gameserver.model.events.annotations.RegisterEvent;
|
||||
import com.l2jserver.gameserver.model.events.annotations.RegisterType;
|
||||
import com.l2jserver.gameserver.model.events.impl.character.player.OnPlayerLevelChanged;
|
||||
import com.l2jserver.gameserver.model.holders.ItemHolder;
|
||||
import com.l2jserver.gameserver.model.quest.Quest;
|
||||
import com.l2jserver.gameserver.model.quest.QuestState;
|
||||
import com.l2jserver.gameserver.network.NpcStringId;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||
import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;
|
||||
|
||||
/**
|
||||
* @author Neanrakyr
|
||||
*/
|
||||
public class Q10404_KekropusLetter_AHiddenMeaning extends Quest implements IBypassHandler
|
||||
{
|
||||
// Npcs
|
||||
private static final int PATERSON = 33864;
|
||||
private static final int SHUVANN = 33867;
|
||||
// Items
|
||||
private static final ItemHolder SCROLL_OF_ESCAPE_FIELDS_OF_MASSACRE = new ItemHolder(37029, 1);
|
||||
private static final ItemHolder STEEL_DOOR_GUILD = new ItemHolder(37045, 71);
|
||||
private static final ItemHolder ENCHANT_WEAPON_A = new ItemHolder(729, 1);
|
||||
// Level Condition
|
||||
private static final int MIN_LEVEL = 61;
|
||||
private static final int MAX_LEVEL = 64;
|
||||
// Others
|
||||
private static final Location TELE_LOCATION = new Location(147619, 24681, -1984);
|
||||
private static final String[] COMMAND =
|
||||
{
|
||||
"Q10404_Teleport"
|
||||
};
|
||||
|
||||
public Q10404_KekropusLetter_AHiddenMeaning()
|
||||
{
|
||||
super(10404, Q10404_KekropusLetter_AHiddenMeaning.class.getSimpleName(), "Kekropus Letter: A Hidden Meaning");
|
||||
addStartNpc(PATERSON);
|
||||
addTalkId(PATERSON, SHUVANN);
|
||||
addCondLevel(MIN_LEVEL, MAX_LEVEL, "33864-noLevel.html");
|
||||
BypassHandler.getInstance().registerHandler(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
String htmltext = null;
|
||||
switch (event)
|
||||
{
|
||||
case "33864-03.html":
|
||||
{
|
||||
qs.startQuest();
|
||||
giveItems(player, SCROLL_OF_ESCAPE_FIELDS_OF_MASSACRE);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "33867-02.html":
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
giveItems(player, STEEL_DOOR_GUILD);
|
||||
giveItems(player, ENCHANT_WEAPON_A);
|
||||
addExpAndSp(player, 807240, 193);
|
||||
showOnScreenMsg(player, NpcStringId.GROW_STRONGER_HERE_UNTIL_YOU_RECEIVE_THE_NEXT_LETTER_FROM_KEKROPUS_AT_LV_65, ExShowScreenMessage.TOP_CENTER, 4500);
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "33864-02.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
if (qs.isCompleted())
|
||||
{
|
||||
return getAlreadyCompletedMsg(player);
|
||||
}
|
||||
if (player.getRace() == Race.ERTHEIA)
|
||||
{
|
||||
return "33864-noErtheia.html";
|
||||
}
|
||||
|
||||
switch (npc.getId())
|
||||
{
|
||||
case PATERSON:
|
||||
{
|
||||
if (qs.isCreated())
|
||||
{
|
||||
htmltext = "33864-01.htm";
|
||||
}
|
||||
else if (qs.isStarted())
|
||||
{
|
||||
htmltext = "33864-03.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SHUVANN:
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "33867-01.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@RegisterEvent(EventType.ON_PLAYER_LEVEL_CHANGED)
|
||||
@RegisterType(ListenerRegisterType.GLOBAL)
|
||||
public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
|
||||
{
|
||||
final L2PcInstance player = event.getActiveChar();
|
||||
final int oldLevel = event.getOldLevel();
|
||||
final int newLevel = event.getNewLevel();
|
||||
|
||||
if (((oldLevel == (newLevel - 1)) && (player.getLevel() >= MIN_LEVEL)) && (player.getLevel() <= MAX_LEVEL) && !(player.getRace() == Race.ERTHEIA))
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
final NpcHtmlMessage html = new NpcHtmlMessage(0, 0);
|
||||
html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "data/scripts/quests/Q10404_KekropusLetter_AHiddenMeaning/Announce.html"));
|
||||
player.sendPacket(html);
|
||||
}
|
||||
return;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean useBypass(String command, L2PcInstance player, L2Character bypassOrigin)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) || (player.getLevel() < MIN_LEVEL) || (player.getLevel() > MAX_LEVEL) || (player.getRace() == Race.ERTHEIA))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (player.isInParty())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in party.", 5000));
|
||||
}
|
||||
else if (player.isInCombat())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in combat.", 5000));
|
||||
}
|
||||
else if (player.isInDuel())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in a duel.", 5000));
|
||||
}
|
||||
else if (player.isInOlympiadMode())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in Olympiad.", 5000));
|
||||
}
|
||||
else if (player.isInVehicle())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in any vehicle or mount.", 5000));
|
||||
}
|
||||
else
|
||||
{
|
||||
player.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
|
||||
player.teleToLocation(TELE_LOCATION);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getBypassList()
|
||||
{
|
||||
return COMMAND;
|
||||
}
|
||||
}
|
5
trunk/dist/game/data/scripts/quests/Q10408_KekropusLetter_TheSwampOfScream/31340-01.htm
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10408_KekropusLetter_TheSwampOfScream/31340-01.htm
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Captain Mathias:<br>
|
||||
Nice to meet you. <font color=LEVEL>Kekropus</font> promised me that he would send me someone trustworthy. I guess he kept his word. You probably know what is going on after reading Kekropus letter, but let me tell you more details.
|
||||
<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10408_KekropusLetter_TheSwampOfScream 31340-02.htm">Got it</button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/quests/Q10408_KekropusLetter_TheSwampOfScream/31340-02.htm
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10408_KekropusLetter_TheSwampOfScream/31340-02.htm
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Captain Mathias:<br>
|
||||
Orc Trackers were chasing after a suspicious group when they split up toward the Swamp of Scream and the Forest of the Dead. The Orc Trackers also divided into two groups and chased after them separately. But now they are asking for help. I think both of the groups have run into problems.
|
||||
<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10408_KekropusLetter_TheSwampOfScream 31340-03.html">So where should I go?</button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/quests/Q10408_KekropusLetter_TheSwampOfScream/31340-03.html
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10408_KekropusLetter_TheSwampOfScream/31340-03.html
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Captain Mathias:<br>
|
||||
You're a brave one, aren't you? Go to the <font color=LEVEL>Swamp of Scream</font> and meet <font color=LEVEL>Tracker Dokara</font>
|
||||
Get the details from him and help him with whatever he needs. I look forward to hearing the result.
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Captain Mathias:<br>
|
||||
No you are Ertheia, this quest is not for you.
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Captain Mathias:<br>
|
||||
Your level is wrong for this quest.
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/quests/Q10408_KekropusLetter_TheSwampOfScream/31340-noMage.html
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q10408_KekropusLetter_TheSwampOfScream/31340-noMage.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Captain Mathias:<br>
|
||||
Sorry, you are a Mage, this quest is not for you.
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/quests/Q10408_KekropusLetter_TheSwampOfScream/33847-01.html
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10408_KekropusLetter_TheSwampOfScream/33847-01.html
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Tracker Dokara:<br>
|
||||
Me? I'm Dokara. An Orc Tracker. Since Shilen and her followees ruined the world, I have been chasing them. For revenge!
|
||||
<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10408_KekropusLetter_TheSwampOfScream 33847-02.html">You look injured</button>
|
||||
</body></html>
|
7
trunk/dist/game/data/scripts/quests/Q10408_KekropusLetter_TheSwampOfScream/33847-02.html
vendored
Normal file
7
trunk/dist/game/data/scripts/quests/Q10408_KekropusLetter_TheSwampOfScream/33847-02.html
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
<html><body>Tracker Dokara:<br>
|
||||
It was a trap! But no more. The Suspicious Vagabond will never harm another. Not if you go after him
|
||||
<br>
|
||||
<font color=LEVEL>
|
||||
- Note: You can develop yourself through quests and hunting at the hunting ground on Swamp of Scream. You can get the next item, Kekropus' Letter, at Lv. 70.
|
||||
</font>
|
||||
</body></html>
|
8
trunk/dist/game/data/scripts/quests/Q10408_KekropusLetter_TheSwampOfScream/Announce.html
vendored
Normal file
8
trunk/dist/game/data/scripts/quests/Q10408_KekropusLetter_TheSwampOfScream/Announce.html
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
<html><body>The Kekropus's Letter<br>
|
||||
A group of suspicious people were seen in the
|
||||
<font color=LEVEL>Swamp of Scream</font>, a part of the Rune territory. Go to <font color=LEVEL>Captain Mathias</font> in the <font color=LEVEL>Town of Rune</font> for details.
|
||||
<br>
|
||||
(A <font color=LEVEL>Scroll of Escape</font> is enclosed. If you want to go now, use it to travel immediately.)
|
||||
<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Q10408_Teleport">I will go right away this scroll.</button>
|
||||
</body></html>
|
@ -0,0 +1,222 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2015 L2J DataPack
|
||||
*
|
||||
* This file is part of L2J DataPack.
|
||||
*
|
||||
* L2J DataPack is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* L2J DataPack is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package quests.Q10408_KekropusLetter_TheSwampOfScream;
|
||||
|
||||
import com.l2jserver.gameserver.ai.CtrlIntention;
|
||||
import com.l2jserver.gameserver.cache.HtmCache;
|
||||
import com.l2jserver.gameserver.enums.Race;
|
||||
import com.l2jserver.gameserver.handler.BypassHandler;
|
||||
import com.l2jserver.gameserver.handler.IBypassHandler;
|
||||
import com.l2jserver.gameserver.model.Location;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character;
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.events.EventType;
|
||||
import com.l2jserver.gameserver.model.events.ListenerRegisterType;
|
||||
import com.l2jserver.gameserver.model.events.annotations.RegisterEvent;
|
||||
import com.l2jserver.gameserver.model.events.annotations.RegisterType;
|
||||
import com.l2jserver.gameserver.model.events.impl.character.player.OnPlayerLevelChanged;
|
||||
import com.l2jserver.gameserver.model.holders.ItemHolder;
|
||||
import com.l2jserver.gameserver.model.quest.Quest;
|
||||
import com.l2jserver.gameserver.model.quest.QuestState;
|
||||
import com.l2jserver.gameserver.network.NpcStringId;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||
import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;
|
||||
|
||||
/**
|
||||
* @author Neanrakyr
|
||||
*/
|
||||
public class Q10408_KekropusLetter_TheSwampOfScream extends Quest implements IBypassHandler
|
||||
{
|
||||
// Npcs
|
||||
private static final int MATHIAS = 31340;
|
||||
private static final int DOKARA = 33847;
|
||||
// Items
|
||||
private static final ItemHolder SCROLL_OF_ESCAPE_SEA_OF_SPORES = new ItemHolder(37027, 1);
|
||||
private static final ItemHolder STEEL_DOOR_GUILD = new ItemHolder(37045, 91);
|
||||
private static final ItemHolder ENCHANT_WEAPON_A = new ItemHolder(729, 2);
|
||||
// Level Condition
|
||||
private static final int MIN_LEVEL = 65;
|
||||
private static final int MAX_LEVEL = 69;
|
||||
// Others
|
||||
private static final Location TELE_LOCATION = new Location(42713, -48068, -801);
|
||||
private static final String[] COMMAND =
|
||||
{
|
||||
"Q10408_Teleport"
|
||||
};
|
||||
|
||||
public Q10408_KekropusLetter_TheSwampOfScream()
|
||||
{
|
||||
super(10408, Q10408_KekropusLetter_TheSwampOfScream.class.getSimpleName(), "Kekropus Letter: The Swamp Of Scream");
|
||||
addStartNpc(MATHIAS);
|
||||
addTalkId(MATHIAS, DOKARA);
|
||||
addCondLevel(MIN_LEVEL, MAX_LEVEL, "31340-noLevel.html");
|
||||
BypassHandler.getInstance().registerHandler(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
String htmltext = null;
|
||||
switch (event)
|
||||
{
|
||||
case "31340-03.html":
|
||||
{
|
||||
qs.startQuest();
|
||||
giveItems(player, SCROLL_OF_ESCAPE_SEA_OF_SPORES);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "33847-02.html":
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
giveItems(player, STEEL_DOOR_GUILD);
|
||||
giveItems(player, ENCHANT_WEAPON_A);
|
||||
addExpAndSp(player, 942690, 226);
|
||||
showOnScreenMsg(player, NpcStringId.GROW_STRONGER_HERE_UNTIL_YOU_RECEIVE_THE_NEXT_LETTER_FROM_KEKROPUS_AT_LV_70, ExShowScreenMessage.TOP_CENTER, 4500);
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "31340-02.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
if (qs.isCompleted())
|
||||
{
|
||||
return getAlreadyCompletedMsg(player);
|
||||
}
|
||||
if (player.getRace() == Race.ERTHEIA)
|
||||
{
|
||||
return "31340-noErtheia.html";
|
||||
}
|
||||
if (player.isMageClass())
|
||||
{
|
||||
return "31340-noMage.html";
|
||||
}
|
||||
|
||||
switch (npc.getId())
|
||||
{
|
||||
case MATHIAS:
|
||||
{
|
||||
if (qs.isCreated())
|
||||
{
|
||||
htmltext = "31340-01.htm";
|
||||
}
|
||||
else if (qs.isStarted())
|
||||
{
|
||||
htmltext = "31340-03.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case DOKARA:
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "33847-01.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@RegisterEvent(EventType.ON_PLAYER_LEVEL_CHANGED)
|
||||
@RegisterType(ListenerRegisterType.GLOBAL)
|
||||
public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
|
||||
{
|
||||
final L2PcInstance player = event.getActiveChar();
|
||||
final int oldLevel = event.getOldLevel();
|
||||
final int newLevel = event.getNewLevel();
|
||||
|
||||
if (((oldLevel == (newLevel - 1)) && (player.getLevel() >= MIN_LEVEL)) && (player.getLevel() <= MAX_LEVEL) && !(player.getRace() == Race.ERTHEIA) && !player.isMageClass())
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
final NpcHtmlMessage html = new NpcHtmlMessage(0, 0);
|
||||
html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "data/scripts/quests/Q10408_KekropusLetter_TheSwampOfScream/Announce.html"));
|
||||
player.sendPacket(html);
|
||||
}
|
||||
return;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean useBypass(String command, L2PcInstance player, L2Character bypassOrigin)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) || (player.getLevel() < MIN_LEVEL) || (player.getLevel() > MAX_LEVEL) || (player.getRace() == Race.ERTHEIA))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (player.isInParty())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in party.", 5000));
|
||||
}
|
||||
else if (player.isInCombat())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in combat.", 5000));
|
||||
}
|
||||
else if (player.isInDuel())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in a duel.", 5000));
|
||||
}
|
||||
else if (player.isInOlympiadMode())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in Olympiad.", 5000));
|
||||
}
|
||||
else if (player.isInVehicle())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in any vehicle or mount.", 5000));
|
||||
}
|
||||
else
|
||||
{
|
||||
player.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
|
||||
player.teleToLocation(TELE_LOCATION);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getBypassList()
|
||||
{
|
||||
return COMMAND;
|
||||
}
|
||||
}
|
5
trunk/dist/game/data/scripts/quests/Q10411_KekropusLetter_TheForestOfTheDead/31340-01.htm
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10411_KekropusLetter_TheForestOfTheDead/31340-01.htm
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Captain Mathias:<br>
|
||||
[TODO: NO DIALOGUE]
|
||||
<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10411_KekropusLetter_TheForestOfTheDead 31340-02.htm">Got it</button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/quests/Q10411_KekropusLetter_TheForestOfTheDead/31340-02.htm
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10411_KekropusLetter_TheForestOfTheDead/31340-02.htm
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Captain Mathias:<br>
|
||||
[TODO: NO DIALOGUE]
|
||||
<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10411_KekropusLetter_TheForestOfTheDead 31340-03.html">So where should I go?</button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/quests/Q10411_KekropusLetter_TheForestOfTheDead/31340-03.html
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10411_KekropusLetter_TheForestOfTheDead/31340-03.html
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Captain Mathias:<br>
|
||||
[TODO: NO DIALOGUE]<br>
|
||||
You're a brave one, aren't you? Go to the <font color=LEVEL>The Forest Of The Dead</font> and meet <font color=LEVEL>Tracker Hutaba</font>
|
||||
Get the details from him and help him with whatever he needs. I look forward to hearing the result.
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Captain Mathias:<br>
|
||||
No you are Ertheia, this quest is not for you.
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Captain Mathias:<br>
|
||||
Your level is wrong for this quest.
|
||||
</body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Captain Mathias:<br>
|
||||
Sorry, you are a Warrior, this quest is not for you.
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/quests/Q10411_KekropusLetter_TheForestOfTheDead/33849-01.html
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10411_KekropusLetter_TheForestOfTheDead/33849-01.html
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Tracker Hutaba:<br>
|
||||
[TODO: NO DIALOGUE]
|
||||
<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10411_KekropusLetter_TheForestOfTheDead 33849-02.html">[TODO: NO DIALOGUE]</button>
|
||||
</body></html>
|
7
trunk/dist/game/data/scripts/quests/Q10411_KekropusLetter_TheForestOfTheDead/33849-02.html
vendored
Normal file
7
trunk/dist/game/data/scripts/quests/Q10411_KekropusLetter_TheForestOfTheDead/33849-02.html
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
<html><body>Tracker Hutaba:<br>
|
||||
[TODO: NO DIALOGUE]
|
||||
<br>
|
||||
<font color=LEVEL>
|
||||
- Note: You can develop yourself through quests and hunting at the hunting ground on The Forest Of The Dead. You can get the next item, Kekropus' Letter, at Lv. 70.
|
||||
</font>
|
||||
</body></html>
|
8
trunk/dist/game/data/scripts/quests/Q10411_KekropusLetter_TheForestOfTheDead/Announce.html
vendored
Normal file
8
trunk/dist/game/data/scripts/quests/Q10411_KekropusLetter_TheForestOfTheDead/Announce.html
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
<html><body>The Kekropus's Letter<br>
|
||||
A group of suspicious people were seen in the
|
||||
<font color=LEVEL>The Forest Of The Dead</font>, a part of the Rune territory. Go to <font color=LEVEL>Captain Mathias</font> in the <font color=LEVEL>Town of Rune</font> for details.
|
||||
<br>
|
||||
(A <font color=LEVEL>Scroll of Escape</font> is enclosed. If you want to go now, use it to travel immediately.)
|
||||
<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Q10411_Teleport">I will go right away this scroll.</button>
|
||||
</body></html>
|
@ -0,0 +1,226 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2015 L2J DataPack
|
||||
*
|
||||
* This file is part of L2J DataPack.
|
||||
*
|
||||
* L2J DataPack is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* L2J DataPack is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package quests.Q10411_KekropusLetter_TheForestOfTheDead;
|
||||
|
||||
import com.l2jserver.gameserver.ai.CtrlIntention;
|
||||
import com.l2jserver.gameserver.cache.HtmCache;
|
||||
import com.l2jserver.gameserver.enums.Race;
|
||||
import com.l2jserver.gameserver.handler.BypassHandler;
|
||||
import com.l2jserver.gameserver.handler.IBypassHandler;
|
||||
import com.l2jserver.gameserver.model.Location;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character;
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.events.EventType;
|
||||
import com.l2jserver.gameserver.model.events.ListenerRegisterType;
|
||||
import com.l2jserver.gameserver.model.events.annotations.RegisterEvent;
|
||||
import com.l2jserver.gameserver.model.events.annotations.RegisterType;
|
||||
import com.l2jserver.gameserver.model.events.impl.character.player.OnPlayerLevelChanged;
|
||||
import com.l2jserver.gameserver.model.holders.ItemHolder;
|
||||
import com.l2jserver.gameserver.model.quest.Quest;
|
||||
import com.l2jserver.gameserver.model.quest.QuestState;
|
||||
import com.l2jserver.gameserver.network.NpcStringId;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||
import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;
|
||||
|
||||
/**
|
||||
* @author Neanrakyr
|
||||
*/
|
||||
public class Q10411_KekropusLetter_TheForestOfTheDead extends Quest implements IBypassHandler
|
||||
{
|
||||
// Npcs
|
||||
private static final int MATHIAS = 31340;
|
||||
private static final int HUTABA = 33849;
|
||||
// Items
|
||||
private static final ItemHolder SCROLL_OF_ESCAPE_THE_FOREST_OF_THE_DEAD = new ItemHolder(37031, 1);
|
||||
private static final ItemHolder STEEL_DOOR_GUILD = new ItemHolder(37045, 91);
|
||||
private static final ItemHolder ENCHANT_WEAPON_A = new ItemHolder(729, 2);
|
||||
// Level Condition
|
||||
private static final int MIN_LEVEL = 65;
|
||||
private static final int MAX_LEVEL = 69;
|
||||
// Others
|
||||
private static final Location TELE_LOCATION = new Location(42713, -48068, -801);
|
||||
private static final String[] COMMAND =
|
||||
{
|
||||
"Q10411_Teleport"
|
||||
};
|
||||
|
||||
public Q10411_KekropusLetter_TheForestOfTheDead()
|
||||
{
|
||||
super(10411, Q10411_KekropusLetter_TheForestOfTheDead.class.getSimpleName(), "Kekropus Letter: The Forest of The Dead");
|
||||
addStartNpc(MATHIAS);
|
||||
addTalkId(MATHIAS, HUTABA);
|
||||
addCondLevel(MIN_LEVEL, MAX_LEVEL, "31340-noLevel.html");
|
||||
BypassHandler.getInstance().registerHandler(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
String htmltext = null;
|
||||
switch (event)
|
||||
{
|
||||
case "31340-03.html":
|
||||
{
|
||||
qs.startQuest();
|
||||
giveItems(player, SCROLL_OF_ESCAPE_THE_FOREST_OF_THE_DEAD);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "33849-02.html":
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
giveItems(player, STEEL_DOOR_GUILD);
|
||||
giveItems(player, ENCHANT_WEAPON_A);
|
||||
addExpAndSp(player, 942690, 226);
|
||||
showOnScreenMsg(player, NpcStringId.GROW_STRONGER_HERE_UNTIL_YOU_RECEIVE_THE_NEXT_LETTER_FROM_KEKROPUS_AT_LV_70, ExShowScreenMessage.TOP_CENTER, 4500);
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "31340-02.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
if (qs.isCompleted())
|
||||
{
|
||||
return getAlreadyCompletedMsg(player);
|
||||
}
|
||||
if (player.getRace() == Race.ERTHEIA)
|
||||
{
|
||||
return "31340-noErtheia.html";
|
||||
}
|
||||
if (!player.isMageClass())
|
||||
{
|
||||
return "31340-noWarrior.html";
|
||||
}
|
||||
|
||||
switch (npc.getId())
|
||||
{
|
||||
case MATHIAS:
|
||||
{
|
||||
if (qs.isCreated())
|
||||
{
|
||||
htmltext = "31340-01.htm";
|
||||
}
|
||||
else if (qs.isStarted())
|
||||
{
|
||||
htmltext = "31340-03.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case HUTABA:
|
||||
{
|
||||
switch (qs.getCond())
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
htmltext = "33849-01.html";
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@RegisterEvent(EventType.ON_PLAYER_LEVEL_CHANGED)
|
||||
@RegisterType(ListenerRegisterType.GLOBAL)
|
||||
public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
|
||||
{
|
||||
final L2PcInstance player = event.getActiveChar();
|
||||
final int oldLevel = event.getOldLevel();
|
||||
final int newLevel = event.getNewLevel();
|
||||
|
||||
if (((oldLevel == (newLevel - 1)) && (player.getLevel() >= MIN_LEVEL)) && (player.getLevel() <= MAX_LEVEL) && !(player.getRace() == Race.ERTHEIA) && player.isMageClass())
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
final NpcHtmlMessage html = new NpcHtmlMessage(0, 0);
|
||||
html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "data/scripts/quests/Q10411_KekropusLetter_TheForestOfTheDead/Announce.html"));
|
||||
player.sendPacket(html);
|
||||
}
|
||||
return;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean useBypass(String command, L2PcInstance player, L2Character bypassOrigin)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) || (player.getLevel() < MIN_LEVEL) || (player.getLevel() > MAX_LEVEL) || (player.getRace() == Race.ERTHEIA))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (player.isInParty())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in party.", 5000));
|
||||
}
|
||||
else if (player.isInCombat())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in combat.", 5000));
|
||||
}
|
||||
else if (player.isInDuel())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in a duel.", 5000));
|
||||
}
|
||||
else if (player.isInOlympiadMode())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in Olympiad.", 5000));
|
||||
}
|
||||
else if (player.isInVehicle())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in any vehicle or mount.", 5000));
|
||||
}
|
||||
else
|
||||
{
|
||||
player.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
|
||||
player.teleToLocation(TELE_LOCATION);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getBypassList()
|
||||
{
|
||||
return COMMAND;
|
||||
}
|
||||
}
|
5
trunk/dist/game/data/scripts/quests/Q10414_KekropusLetter_WithCourage/31292-01.htm
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10414_KekropusLetter_WithCourage/31292-01.htm
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Captain Andrei:<br>
|
||||
Nice to meet you. <font color=LEVEL>Kekropus</font> promised me that he would send me someone trustworthy. I guess he kept his word. You probably know what is going on after reading Kekropus letter, but let me tell you more details.
|
||||
<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10414_KekropusLetter_WithCourage 31292-02.htm">Got it</button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/quests/Q10414_KekropusLetter_WithCourage/31292-02.htm
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10414_KekropusLetter_WithCourage/31292-02.htm
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Captain Andrei:<br>
|
||||
Orc Trackers were chasing after a suspicious group when they split up toward the Wall of Argos. The Orc Trackers also divided into two groups and chased after them separately. But now they are asking for help. I think both of the groups have run into problems.
|
||||
<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10414_KekropusLetter_WithCourage 31292-03.html">So where should I go?</button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/quests/Q10414_KekropusLetter_WithCourage/31292-03.html
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10414_KekropusLetter_WithCourage/31292-03.html
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Captain Andrei:<br>
|
||||
You're a brave one, aren't you? Go to the <font color=LEVEL>Wall of Argos</font> and meet <font color=LEVEL>Janitt</font>
|
||||
Get the details from him and help him with whatever he needs. I look forward to hearing the result.
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/quests/Q10414_KekropusLetter_WithCourage/31292-noErtheia.html
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q10414_KekropusLetter_WithCourage/31292-noErtheia.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Captain Andrei:<br>
|
||||
No you are Ertheia, this quest is not for you.
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/quests/Q10414_KekropusLetter_WithCourage/31292-noLevel.html
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q10414_KekropusLetter_WithCourage/31292-noLevel.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Captain Andrei:<br>
|
||||
Your level is wrong for this quest.
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/quests/Q10414_KekropusLetter_WithCourage/31292-noMage.html
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q10414_KekropusLetter_WithCourage/31292-noMage.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Captain Andrei:<br>
|
||||
Sorry, you are a Mage, this quest is not for you.
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/quests/Q10414_KekropusLetter_WithCourage/33851-01.html
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10414_KekropusLetter_WithCourage/33851-01.html
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Giant's Minion Janitt:<br>
|
||||
Me? I'm Janitt. The Giant's Minion. Since Shilen and her followees ruined the world, I have been chasing them. For revenge!
|
||||
<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10414_KekropusLetter_WithCourage 33851-02.html">You look injured</button>
|
||||
</body></html>
|
7
trunk/dist/game/data/scripts/quests/Q10414_KekropusLetter_WithCourage/33851-02.html
vendored
Normal file
7
trunk/dist/game/data/scripts/quests/Q10414_KekropusLetter_WithCourage/33851-02.html
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
<html><body>Giant's Minion Janitt:<br>
|
||||
It was a trap! But no more. The Suspicious Vagabond will never harm another. Not if you go after him
|
||||
<br>
|
||||
<font color=LEVEL>
|
||||
- Note: You can develop yourself through quests and hunting at the hunting ground on Wall of Argos. You can get the next item, Kekropus' Letter, at Lv. 76.
|
||||
</font>
|
||||
</body></html>
|
8
trunk/dist/game/data/scripts/quests/Q10414_KekropusLetter_WithCourage/Announce.html
vendored
Normal file
8
trunk/dist/game/data/scripts/quests/Q10414_KekropusLetter_WithCourage/Announce.html
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
<html><body>The Kekropus's Letter<br>
|
||||
A group of suspicious people were seen in the
|
||||
<font color=LEVEL>Wall of Argos</font>, a part of the Goddard territory. Go to <font color=LEVEL>Captain Andrei</font> in the <font color=LEVEL>Town of Goddard</font> for details.
|
||||
<br>
|
||||
(A <font color=LEVEL>Scroll of Escape</font> is enclosed. If you want to go now, use it to travel immediately.)
|
||||
<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Q10408_Teleport">I will go right away this scroll.</button>
|
||||
</body></html>
|
@ -0,0 +1,222 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2015 L2J DataPack
|
||||
*
|
||||
* This file is part of L2J DataPack.
|
||||
*
|
||||
* L2J DataPack is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* L2J DataPack is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package quests.Q10414_KekropusLetter_WithCourage;
|
||||
|
||||
import com.l2jserver.gameserver.ai.CtrlIntention;
|
||||
import com.l2jserver.gameserver.cache.HtmCache;
|
||||
import com.l2jserver.gameserver.enums.Race;
|
||||
import com.l2jserver.gameserver.handler.BypassHandler;
|
||||
import com.l2jserver.gameserver.handler.IBypassHandler;
|
||||
import com.l2jserver.gameserver.model.Location;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character;
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.events.EventType;
|
||||
import com.l2jserver.gameserver.model.events.ListenerRegisterType;
|
||||
import com.l2jserver.gameserver.model.events.annotations.RegisterEvent;
|
||||
import com.l2jserver.gameserver.model.events.annotations.RegisterType;
|
||||
import com.l2jserver.gameserver.model.events.impl.character.player.OnPlayerLevelChanged;
|
||||
import com.l2jserver.gameserver.model.holders.ItemHolder;
|
||||
import com.l2jserver.gameserver.model.quest.Quest;
|
||||
import com.l2jserver.gameserver.model.quest.QuestState;
|
||||
import com.l2jserver.gameserver.network.NpcStringId;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||
import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;
|
||||
|
||||
/**
|
||||
* @author Neanrakyr
|
||||
*/
|
||||
public class Q10414_KekropusLetter_WithCourage extends Quest implements IBypassHandler
|
||||
{
|
||||
// Npcs
|
||||
private static final int ANDREI = 31292;
|
||||
private static final int JANITT = 33851;
|
||||
// Items
|
||||
private static final ItemHolder SCROLL_OF_ESCAPE_WALL_OF_ARGOS = new ItemHolder(37032, 1);
|
||||
private static final ItemHolder STEEL_DOOR_GUILD = new ItemHolder(37045, 123);
|
||||
private static final ItemHolder ENCHANT_ARMOR_A = new ItemHolder(730, 5);
|
||||
// Level Condition
|
||||
private static final int MIN_LEVEL = 70;
|
||||
private static final int MAX_LEVEL = 75;
|
||||
// Others
|
||||
private static final Location TELE_LOCATION = new Location(147404, -56707, -2784);
|
||||
private static final String[] COMMAND =
|
||||
{
|
||||
"Q10414_Teleport"
|
||||
};
|
||||
|
||||
public Q10414_KekropusLetter_WithCourage()
|
||||
{
|
||||
super(10414, Q10414_KekropusLetter_WithCourage.class.getSimpleName(), "Kekropus Letter: With Courage");
|
||||
addStartNpc(ANDREI);
|
||||
addTalkId(ANDREI, JANITT);
|
||||
addCondLevel(MIN_LEVEL, MAX_LEVEL, "31292-noLevel.html");
|
||||
BypassHandler.getInstance().registerHandler(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
String htmltext = null;
|
||||
switch (event)
|
||||
{
|
||||
case "31292-03.html":
|
||||
{
|
||||
qs.startQuest();
|
||||
giveItems(player, SCROLL_OF_ESCAPE_WALL_OF_ARGOS);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "33851-02.html":
|
||||
{
|
||||
if (qs.getCond() == 1)
|
||||
{
|
||||
giveItems(player, STEEL_DOOR_GUILD);
|
||||
giveItems(player, ENCHANT_ARMOR_A);
|
||||
addExpAndSp(player, 1088640, 261);
|
||||
showOnScreenMsg(player, NpcStringId.GROW_STRONGER_HERE_UNTIL_YOU_RECEIVE_THE_NEXT_LETTER_FROM_KEKROPUS_AT_LV_76, ExShowScreenMessage.TOP_CENTER, 4500);
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "31292-02.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
if (qs.isCompleted())
|
||||
{
|
||||
return getAlreadyCompletedMsg(player);
|
||||
}
|
||||
if (player.getRace() == Race.ERTHEIA)
|
||||
{
|
||||
return "31292-noErtheia.html";
|
||||
}
|
||||
if (player.isMageClass())
|
||||
{
|
||||
return "31292-noMage.html";
|
||||
}
|
||||
|
||||
switch (npc.getId())
|
||||
{
|
||||
case ANDREI:
|
||||
{
|
||||
if (qs.isCreated())
|
||||
{
|
||||
htmltext = "31292-01.htm";
|
||||
}
|
||||
else if (qs.isStarted())
|
||||
{
|
||||
htmltext = "31292-03.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case JANITT:
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "33851-01.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@RegisterEvent(EventType.ON_PLAYER_LEVEL_CHANGED)
|
||||
@RegisterType(ListenerRegisterType.GLOBAL)
|
||||
public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
|
||||
{
|
||||
final L2PcInstance player = event.getActiveChar();
|
||||
final int oldLevel = event.getOldLevel();
|
||||
final int newLevel = event.getNewLevel();
|
||||
|
||||
if (((oldLevel == (newLevel - 1)) && (player.getLevel() >= MIN_LEVEL)) && (player.getLevel() <= MAX_LEVEL) && !(player.getRace() == Race.ERTHEIA) && !player.isMageClass())
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
final NpcHtmlMessage html = new NpcHtmlMessage(0, 0);
|
||||
html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "data/scripts/quests/Q10414_KekropusLetter_WithCourage/Announce.html"));
|
||||
player.sendPacket(html);
|
||||
}
|
||||
return;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean useBypass(String command, L2PcInstance player, L2Character bypassOrigin)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) || (player.getLevel() < MIN_LEVEL) || (player.getLevel() > MAX_LEVEL) || (player.getRace() == Race.ERTHEIA))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (player.isInParty())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in party.", 5000));
|
||||
}
|
||||
else if (player.isInCombat())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in combat.", 5000));
|
||||
}
|
||||
else if (player.isInDuel())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in a duel.", 5000));
|
||||
}
|
||||
else if (player.isInOlympiadMode())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in Olympiad.", 5000));
|
||||
}
|
||||
else if (player.isInVehicle())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in any vehicle or mount.", 5000));
|
||||
}
|
||||
else
|
||||
{
|
||||
player.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
|
||||
player.teleToLocation(TELE_LOCATION);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getBypassList()
|
||||
{
|
||||
return COMMAND;
|
||||
}
|
||||
}
|
5
trunk/dist/game/data/scripts/quests/Q10415_KekropusLetter_WithWisdom/31292-01.htm
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10415_KekropusLetter_WithWisdom/31292-01.htm
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Captain Andrei:<br>
|
||||
Nice to meet you. <font color=LEVEL>Kekropus</font> promised me that he would send me someone trustworthy. I guess he kept his word. You probably know what is going on after reading Kekropus letter, but let me tell you more details.
|
||||
<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10415_KekropusLetter_WithWisdom 31292-02.htm">Got it</button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/quests/Q10415_KekropusLetter_WithWisdom/31292-02.htm
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10415_KekropusLetter_WithWisdom/31292-02.htm
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Captain Andrei:<br>
|
||||
Orc Trackers were chasing after a suspicious group when they split up toward the Wall of Argos. The Orc Trackers also divided into two groups and chased after them separately. But now they are asking for help. I think both of the groups have run into problems.
|
||||
<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10415_KekropusLetter_WithWisdom 31292-03.html">So where should I go?</button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/quests/Q10415_KekropusLetter_WithWisdom/31292-03.html
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10415_KekropusLetter_WithWisdom/31292-03.html
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Captain Andrei:<br>
|
||||
You're a brave one, aren't you? Go to the <font color=LEVEL>Wall of Argos</font> and meet <font color=LEVEL>Janitt</font>
|
||||
Get the details from him and help him with whatever he needs. I look forward to hearing the result.
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/quests/Q10415_KekropusLetter_WithWisdom/31292-noErtheia.html
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q10415_KekropusLetter_WithWisdom/31292-noErtheia.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Captain Andrei:<br>
|
||||
No you are Ertheia, this quest is not for you.
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/quests/Q10415_KekropusLetter_WithWisdom/31292-noLevel.html
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q10415_KekropusLetter_WithWisdom/31292-noLevel.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Captain Andrei:<br>
|
||||
Your level is wrong for this quest.
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/quests/Q10415_KekropusLetter_WithWisdom/31292-noMage.html
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q10415_KekropusLetter_WithWisdom/31292-noMage.html
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
<html><body>Captain Andrei:<br>
|
||||
Sorry, you are a Mage, this quest is not for you.
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/quests/Q10415_KekropusLetter_WithWisdom/33851-01.html
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10415_KekropusLetter_WithWisdom/33851-01.html
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Giant's Minion Janitt:<br>
|
||||
Me? I'm Janitt. The Giant's Minion. Since Shilen and her followees ruined the world, I have been chasing them. For revenge!
|
||||
<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10415_KekropusLetter_WithWisdom 33851-02.html">You look injured</button>
|
||||
</body></html>
|
7
trunk/dist/game/data/scripts/quests/Q10415_KekropusLetter_WithWisdom/33851-02.html
vendored
Normal file
7
trunk/dist/game/data/scripts/quests/Q10415_KekropusLetter_WithWisdom/33851-02.html
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
<html><body>Giant's Minion Janitt:<br>
|
||||
It was a trap! But no more. The Suspicious Vagabond will never harm another. Not if you go after him
|
||||
<br>
|
||||
<font color=LEVEL>
|
||||
- Note: You can develop yourself through quests and hunting at the hunting ground on Wall of Argos. You can get the next item, Kekropus' Letter, at Lv. 76.
|
||||
</font>
|
||||
</body></html>
|
8
trunk/dist/game/data/scripts/quests/Q10415_KekropusLetter_WithWisdom/Announce.html
vendored
Normal file
8
trunk/dist/game/data/scripts/quests/Q10415_KekropusLetter_WithWisdom/Announce.html
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
<html><body>The Kekropus's Letter<br>
|
||||
A group of suspicious people were seen in the
|
||||
<font color=LEVEL>Wall of Argos</font>, a part of the Goddard territory. Go to <font color=LEVEL>Captain Andrei</font> in the <font color=LEVEL>Town of Goddard</font> for details.
|
||||
<br>
|
||||
(A <font color=LEVEL>Scroll of Escape</font> is enclosed. If you want to go now, use it to travel immediately.)
|
||||
<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Q10415_Teleport">I will go right away this scroll.</button>
|
||||
</body></html>
|
@ -0,0 +1,223 @@
|
||||
/*
|
||||
* Copyright (C) 2004-2015 L2J DataPack
|
||||
*
|
||||
* This file is part of L2J DataPack.
|
||||
*
|
||||
* L2J DataPack is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* L2J DataPack is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package quests.Q10415_KekropusLetter_WithWisdom;
|
||||
|
||||
import com.l2jserver.gameserver.ai.CtrlIntention;
|
||||
import com.l2jserver.gameserver.cache.HtmCache;
|
||||
import com.l2jserver.gameserver.enums.Race;
|
||||
import com.l2jserver.gameserver.handler.BypassHandler;
|
||||
import com.l2jserver.gameserver.handler.IBypassHandler;
|
||||
import com.l2jserver.gameserver.model.Location;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character;
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.events.EventType;
|
||||
import com.l2jserver.gameserver.model.events.ListenerRegisterType;
|
||||
import com.l2jserver.gameserver.model.events.annotations.RegisterEvent;
|
||||
import com.l2jserver.gameserver.model.events.annotations.RegisterType;
|
||||
import com.l2jserver.gameserver.model.events.impl.character.player.OnPlayerLevelChanged;
|
||||
import com.l2jserver.gameserver.model.holders.ItemHolder;
|
||||
import com.l2jserver.gameserver.model.quest.Quest;
|
||||
import com.l2jserver.gameserver.model.quest.QuestState;
|
||||
import com.l2jserver.gameserver.network.NpcStringId;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||
import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;
|
||||
|
||||
/**
|
||||
* @author Neanrakyr
|
||||
*/
|
||||
public class Q10415_KekropusLetter_WithWisdom extends Quest implements IBypassHandler
|
||||
{
|
||||
// Npcs
|
||||
private static final int ANDREI = 31292;
|
||||
private static final int JANITT = 33851;
|
||||
// Items
|
||||
private static final ItemHolder SCROLL_OF_ESCAPE_WALL_OF_ARGOS = new ItemHolder(37032, 1);
|
||||
private static final ItemHolder STEEL_DOOR_GUILD = new ItemHolder(37045, 123);
|
||||
private static final ItemHolder ENCHANT_ARMOR_A = new ItemHolder(730, 5);
|
||||
// Level Condition
|
||||
private static final int MIN_LEVEL = 70;
|
||||
private static final int MAX_LEVEL = 75;
|
||||
// Others
|
||||
private static final Location TELE_LOCATION = new Location(147404, -56707, -2784);
|
||||
private static final String[] COMMAND =
|
||||
{
|
||||
"Q10415_Teleport"
|
||||
};
|
||||
|
||||
public Q10415_KekropusLetter_WithWisdom()
|
||||
{
|
||||
super(10415, Q10415_KekropusLetter_WithWisdom.class.getSimpleName(), "Kekropus Letter: With Wisdom");
|
||||
addStartNpc(ANDREI);
|
||||
addTalkId(ANDREI, JANITT);
|
||||
addCondLevel(MIN_LEVEL, MAX_LEVEL, "31292-noLevel.html");
|
||||
BypassHandler.getInstance().registerHandler(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
String htmltext = null;
|
||||
switch (event)
|
||||
{
|
||||
case "31292-03.html":
|
||||
{
|
||||
qs.startQuest();
|
||||
giveItems(player, SCROLL_OF_ESCAPE_WALL_OF_ARGOS);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "33851-02.html":
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
giveItems(player, STEEL_DOOR_GUILD);
|
||||
giveItems(player, ENCHANT_ARMOR_A);
|
||||
addExpAndSp(player, 1088640, 261);
|
||||
showOnScreenMsg(player, NpcStringId.GROW_STRONGER_HERE_UNTIL_YOU_RECEIVE_THE_NEXT_LETTER_FROM_KEKROPUS_AT_LV_76, ExShowScreenMessage.TOP_CENTER, 4500);
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "31292-02.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
if (qs.isCompleted())
|
||||
{
|
||||
return getAlreadyCompletedMsg(player);
|
||||
}
|
||||
if (player.getRace() == Race.ERTHEIA)
|
||||
{
|
||||
return "31292-noErtheia.html";
|
||||
}
|
||||
if (player.isMageClass())
|
||||
{
|
||||
return "31292-noMage.html";
|
||||
}
|
||||
|
||||
switch (npc.getId())
|
||||
{
|
||||
case ANDREI:
|
||||
{
|
||||
if (qs.isCreated())
|
||||
{
|
||||
htmltext = "31292-01.htm";
|
||||
}
|
||||
else if (qs.isStarted())
|
||||
{
|
||||
htmltext = "31292-03.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case JANITT:
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "33851-01.html";
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@RegisterEvent(EventType.ON_PLAYER_LEVEL_CHANGED)
|
||||
@RegisterType(ListenerRegisterType.GLOBAL)
|
||||
public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
|
||||
{
|
||||
final L2PcInstance player = event.getActiveChar();
|
||||
final int oldLevel = event.getOldLevel();
|
||||
final int newLevel = event.getNewLevel();
|
||||
|
||||
if (((oldLevel == (newLevel - 1)) && (player.getLevel() >= MIN_LEVEL)) && (player.getLevel() <= MAX_LEVEL) && !(player.getRace() == Race.ERTHEIA) && !player.isMageClass())
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
final NpcHtmlMessage html = new NpcHtmlMessage(0, 0);
|
||||
html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "data/scripts/quests/Q10415_KekropusLetter_WithWisdom/Announce.html"));
|
||||
player.sendPacket(html);
|
||||
}
|
||||
return;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean useBypass(String command, L2PcInstance player, L2Character bypassOrigin)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) || (player.getLevel() < MIN_LEVEL) || (player.getLevel() > MAX_LEVEL) || (player.getRace() == Race.ERTHEIA))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (player.isInParty())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in party.", 5000));
|
||||
}
|
||||
else if (player.isInCombat())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in combat.", 5000));
|
||||
}
|
||||
else if (player.isInDuel())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in a duel.", 5000));
|
||||
}
|
||||
else if (player.isInOlympiadMode())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in Olympiad.", 5000));
|
||||
}
|
||||
else if (player.isInVehicle())
|
||||
{
|
||||
player.sendPacket(new ExShowScreenMessage("You cannot teleport when you are in any vehicle or mount.", 5000));
|
||||
}
|
||||
else
|
||||
{
|
||||
player.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
|
||||
player.teleToLocation(TELE_LOCATION);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getBypassList()
|
||||
{
|
||||
return COMMAND;
|
||||
}
|
||||
}
|
@ -190,6 +190,15 @@ import quests.Q10325_SearchingForNewPower.Q10325_SearchingForNewPower;
|
||||
import quests.Q10326_RespectYourElders.Q10326_RespectYourElders;
|
||||
import quests.Q10331_StartOfFate.Q10331_StartOfFate;
|
||||
import quests.Q10338_SeizeYourDestiny.Q10338_SeizeYourDestiny;
|
||||
import quests.Q10390_KekropusLetter.Q10390_KekropusLetter;
|
||||
import quests.Q10393_KekropusLetter_AClueCompleted.Q10393_KekropusLetter_AClueCompleted;
|
||||
import quests.Q10397_KekropusLetter_ASuspiciousBadge.Q10397_KekropusLetter_ASuspiciousBadge;
|
||||
import quests.Q10401_KekropusLetter_DecodingTheBadge.Q10401_KekropusLetter_DecodingTheBadge;
|
||||
import quests.Q10404_KekropusLetter_AHiddenMeaning.Q10404_KekropusLetter_AHiddenMeaning;
|
||||
import quests.Q10408_KekropusLetter_TheSwampOfScream.Q10408_KekropusLetter_TheSwampOfScream;
|
||||
import quests.Q10411_KekropusLetter_TheForestOfTheDead.Q10411_KekropusLetter_TheForestOfTheDead;
|
||||
import quests.Q10414_KekropusLetter_WithCourage.Q10414_KekropusLetter_WithCourage;
|
||||
import quests.Q10415_KekropusLetter_WithWisdom.Q10415_KekropusLetter_WithWisdom;
|
||||
import quests.Q10501_ZakenEmbroideredSoulCloak.Q10501_ZakenEmbroideredSoulCloak;
|
||||
import quests.Q10502_FreyaEmbroideredSoulCloak.Q10502_FreyaEmbroideredSoulCloak;
|
||||
import quests.Q10503_FrintezzaEmbroideredSoulCloak.Q10503_FrintezzaEmbroideredSoulCloak;
|
||||
@ -389,6 +398,15 @@ public class QuestMasterHandler
|
||||
Q10326_RespectYourElders.class,
|
||||
Q10331_StartOfFate.class,
|
||||
Q10338_SeizeYourDestiny.class,
|
||||
Q10390_KekropusLetter.class,
|
||||
Q10393_KekropusLetter_AClueCompleted.class,
|
||||
Q10397_KekropusLetter_ASuspiciousBadge.class,
|
||||
Q10401_KekropusLetter_DecodingTheBadge.class,
|
||||
Q10404_KekropusLetter_AHiddenMeaning.class,
|
||||
Q10408_KekropusLetter_TheSwampOfScream.class,
|
||||
Q10411_KekropusLetter_TheForestOfTheDead.class,
|
||||
Q10414_KekropusLetter_WithCourage.class,
|
||||
Q10415_KekropusLetter_WithWisdom.class,
|
||||
Q10501_ZakenEmbroideredSoulCloak.class,
|
||||
Q10502_FreyaEmbroideredSoulCloak.class,
|
||||
Q10503_FrintezzaEmbroideredSoulCloak.class,
|
||||
|
Loading…
Reference in New Issue
Block a user