Quest Kekropus' Letter: The Seal of Punishment (10436).

Contributed by Stayway.
This commit is contained in:
MobiusDev 2016-08-20 11:07:12 +00:00
parent bd54707bc4
commit 7bf08f2653
12 changed files with 203 additions and 3 deletions

View File

@ -96,7 +96,6 @@
10432 Chasing Varangka
10434 The Seal of Punishment: Sel Mahum Training Grounds
10435 Chasing Keltron
10436 Kekropus' Letter: The Seal of Punishment (9/9)
10437 The Seal of Punishment: Plains of the Lizardmen
10438 Chasing Loygen
10439 Kekropus' Letter: The Origins of a Rumor (9/9)

View File

@ -61,11 +61,19 @@ public class Q00210_ObtainAWolfPet extends Quest
case "30827-02.htm":
case "30827-04.htm":
case "30256-02.html":
case "30256-03.html":
{
htmltext = event;
break;
}
case "30256-03.html":
{
if (qs.isCond(1))
{
qs.setCond(2);
htmltext = event;
}
break;
}
case "30827-03.htm":
{
qs.startQuest();
@ -148,7 +156,6 @@ public class Q00210_ObtainAWolfPet extends Quest
{
if (qs.isCond(1))
{
qs.setCond(2);
htmltext = "30256-01.html";
}
break;

View File

@ -0,0 +1,4 @@
<html><body>Captain Mouen:<br>
Who are you?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10436_KekropusLetterTheSealOfPunishment 30196-02.html">"Do you remember Kekropus?"</Button>
</body></html>

View File

@ -0,0 +1,7 @@
<html><body>Captain Mouen:<br>
You must be the one my lord has mentioned. There is no time to waste. Great darkness surrounds us all; we must find the <font color="LEVEL">6th seal</font> and stop <font color="LEVEL">Shilen</font> as soon as possible.<br>
I was following leads on the <font color="LEVEL">Embryo</font> and found out that they call the 6th seal "Punishment." Worse, they've already located it.<br>
Fortunately, they don't know how to undo the seal, but it's only a matter of time. We must stop them! Or else...<br>
It's too terrible to contemplate. Will you help?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10436_KekropusLetterTheSealOfPunishment 30196-03.html">"Of course."</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Captain Mouen:<br>
Then hurry to <font color="LEVEL">Investigator Laki</font> in the <font color="LEVEL">Plains of the Lizardmen</font>.<br>
She knows the details. Help her prevent the 6th seal from falling into the hands of Embryo.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Captain Mouen:<br>
Are you still here? Go to <font color="LEVEL">Investigator Laki</font> in the <font color="LEVEL">Plains of the Lizardmen</font> and help her prevent the 6th seal from falling into the hands of Embryo.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Investigator Laki:<br>
Hello, traveler. I heard about you from Captain Mouen. I know you must be busy, so thank you for coming.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10436_KekropusLetterTheSealOfPunishment 32472-02.html">"It's no trouble."</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Investigator Laki:<br>
Here, take this for now. Just give me a minute to gather a breath, and I'll have details for you regarding what I want you to do.<br><br>
<font color="LEVEL">- Note: You can develop yourself through quests and hunting at the hunting grounds of the Plains of the Lizardmen. You have finished all tasks related to Kekropus' Letter. Please work on the quest The Minstrel's Song at Lv. 85.</font>
</body></html>

View File

@ -0,0 +1,156 @@
/*
* This file is part of the L2J Mobius project.
*
* This program 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.
*
* This program 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.Q10436_KekropusLetterTheSealOfPunishment;
import quests.LetterQuest;
import com.l2jmobius.gameserver.enums.CategoryType;
import com.l2jmobius.gameserver.model.Location;
import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.quest.QuestState;
import com.l2jmobius.gameserver.network.NpcStringId;
import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
/**
* Kekropus' Letter: The Seal of Punishment (10436)
* @author Stayway
*/
public final class Q10436_KekropusLetterTheSealOfPunishment extends LetterQuest
{
// NPCs
private static final int MOUEN = 30196;
private static final int LAKI = 32742;
private static final int INVISIBLE_NPC = 19543;
// Items
private static final int SOE_TOWN_OF_OREN = 37114; // Scroll of Escape: Town of Oren
private static final int EWS = 959; // Scroll: Enchant Weapon (S-grade)
private static final int EAS = 960; // Scroll: Enchant Armor (S-grade)
// Location
private static final Location TELEPORT_LOC = new Location(86404, -142221, -1341);
// Misc
private static final int MIN_LEVEL = 81;
private static final int MAX_LEVEL = 84;
public Q10436_KekropusLetterTheSealOfPunishment()
{
super(10436);
addTalkId(MOUEN, LAKI);
addSeeCreatureId(INVISIBLE_NPC);
setIsErtheiaQuest(false);
setLevel(MIN_LEVEL, MAX_LEVEL);
setStartQuestSound("Npcdialog1.kekrops_quest_9");
setStartLocation(SOE_TOWN_OF_OREN, TELEPORT_LOC);
registerQuestItems(SOE_TOWN_OF_OREN);
addCondInCategory(CategoryType.BOW_MASTER, "nocond.html");
}
@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-02.html":
{
htmltext = event;
break;
}
case "30196-03.html":
{
if (qs.isCond(1))
{
giveItems(player, SOE_TOWN_OF_OREN, 1);
qs.setCond(2, true);
htmltext = event;
}
break;
}
case "32472-02.html":
{
if (qs.isCond(2))
{
qs.exitQuest(false, true);
giveItems(player, EWS, 1);
giveItems(player, EAS, 10);
giveStoryQuestReward(player, 235);
if ((player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL))
{
addExpAndSp(player, 1_412_040, 338);
}
htmltext = event;
}
break;
}
}
return htmltext;
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return htmltext;
}
if (qs.isStarted())
{
if ((npc.getId() == MOUEN) && qs.isCond(1))
{
htmltext = "30196-01.html";
}
else if (qs.isCond(2))
{
htmltext = npc.getId() == MOUEN ? "30196-04.html" : "32472-01.html";
}
}
return htmltext;
}
@Override
public String onSeeCreature(L2Npc npc, L2Character creature, boolean isSummon)
{
if (creature.isPlayer())
{
final L2PcInstance player = creature.getActingPlayer();
final QuestState qs = getQuestState(player, false);
if ((qs != null) && qs.isCond(2))
{
showOnScreenMsg(player, NpcStringId.PLAINS_OF_THE_LIZARDMEN_IS_A_GOOD_HUNTING_ZONE_FOR_LV_81_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000);
}
}
return super.onSeeCreature(npc, creature, isSummon);
}
@Override
public boolean canShowTutorialMark(L2PcInstance player)
{
return player.isInCategory(CategoryType.BOW_MASTER);
}
}

View File

@ -0,0 +1,4 @@
<html><body>Captain Mouen:<br>
I don't think it's time to act quite yet.<br>
(This quest may only be undertaken by a Fighter's who have 3rd class transfered.)
</body></html>

View File

@ -0,0 +1,6 @@
<html><head><title>Kekropus' Letter</title></head><body>Kekropus' Letter:<br>
Information has turned up regarding <font color="LEVEL">"Punishment"</font>, Shilen's 6th seal. 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 %teleport%">"I'll go right away with this scroll."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h tutorial_close">Close</Button>
</body></html>

View File

@ -290,6 +290,7 @@ import quests.Q10426_AssassinationOfTheKetraOrcCommander.Q10426_AssassinationOfT
import quests.Q10427_AssassinationOfTheKetraOrcChief.Q10427_AssassinationOfTheKetraOrcChief;
import quests.Q10430_KekropusLetterTrackingTheEvil.Q10430_KekropusLetterTrackingTheEvil;
import quests.Q10433_KekropusLetterRegardingASeal.Q10433_KekropusLetterRegardingASeal;
import quests.Q10436_KekropusLetterTheSealOfPunishment.Q10436_KekropusLetterTheSealOfPunishment;
import quests.Q10442_TheAnnihilatedPlains1.Q10442_TheAnnihilatedPlains1;
import quests.Q10443_TheAnnihilatedPlains2.Q10443_TheAnnihilatedPlains2;
import quests.Q10444_TheOriginOfMonsters.Q10444_TheOriginOfMonsters;
@ -663,6 +664,7 @@ public class QuestMasterHandler
Q10427_AssassinationOfTheKetraOrcChief.class,
Q10430_KekropusLetterTrackingTheEvil.class,
Q10433_KekropusLetterRegardingASeal.class,
Q10436_KekropusLetterTheSealOfPunishment.class,
Q10442_TheAnnihilatedPlains1.class,
Q10443_TheAnnihilatedPlains2.class,
Q10444_TheOriginOfMonsters.class,