Kekropus Quests 40-75.
Contributed by Neanrakyr.
This commit is contained in:
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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user