Kekropus' Letter: Tracking The Evil (10430).

Contributed by Stayway.
This commit is contained in:
MobiusDev 2016-08-09 20:29:06 +00:00
parent fda112131d
commit b1e8643b64
11 changed files with 195 additions and 1 deletions

View File

@ -93,7 +93,6 @@
10380 The Executioner's Execution
10388 Conspiracy Behind Doors
10389 The Voice of Authority
10430 Kekropus' Letter: Tracking the Evil (9/9)
10431 The Seal of Punishment: Den of Evil
10432 Chasing Varangka
10433 Kekropus' Letter: Regarding a Seal (9/9)

View File

@ -0,0 +1,4 @@
<html><body>Captain Vishotsky:<br>
What do you want?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10430_KekropusLetterTrackingTheEvil 31891-02.html">"Do you remember Kekropus?"</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Captain Vishotsky:<br>
With the help of Giant's Minions, we've been chasing after Embryo. Apparently they've managed to find another seal. They call it the <font color="LEVEL">Seal of Punishment</font>.<br>The problem is, it the <font color="LEVEL">Ragnas</font> in the <font color="LEVEL">Den of Evil</font>, the actual leaders of Orc Supervia, are working with Embryo.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10430_KekropusLetterTrackingTheEvil 31891-03.html">"Uh oh."</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Captain Vishotsky:<br>
I need someone who can spy on the Ragnas. Go to the <font color="LEVEL">Den of Evil</font>. <font color="LEVEL">Giant's Minion Jokel</font> will tell you about the mission. Quickly now.<br>
Let me give you a <font color="LEVEL">Scroll of Escape: Den of Evil</font> that will help you get to the Den of Evil faster. Time is of the essence.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Captain Vishotsky:<br>
I need someone who can spy on the Ragnas. Go to the <font color="LEVEL">Den of Evil</font>. <font color="LEVEL">Giant's Minion Jokel</font> will tell you about the mission. Quickly now.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Giant's Minion Jokel:<br>
You're the one sent by Kekropus? I've been waiting so long, I thought you'd never come.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10430_KekropusLetterTrackingTheEvil 33868-02.html">"I have no idea what you're saying, but sure."</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Giant's Minion Jokel:<br>
Here, I packed some things along with what you picked out. I'm glad you made it; now hurry on!<br><br>
<font color="LEVEL">- Note: You can hunt and do quests in Den of Evil. You may receive the Kekropus' Letter for the next stage at Level 85.</font>
</body></html>

View File

@ -0,0 +1,160 @@
/*
* 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.Q10430_KekropusLetterTrackingTheEvil;
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;
import quests.LetterQuest;
/**
* Kekropus' Letter: Tracking The Evil (10430)
* @author Stayway
*/
public final class Q10430_KekropusLetterTrackingTheEvil extends LetterQuest
{
// NPCs
private static final int VISHOTSKY = 31981;
private static final int JOKEL = 33868;
private static final int INVISIBLE_NPC = 19543;
// Items
private static final int SOE_TOWN_OF_SCHUTTGART = 37121; // Scroll of Escape: Town of Schuttgart
private static final int SOE_DEN_OF_EVIL = 37034; // Scroll of Escape: Den of Evil
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 Q10430_KekropusLetterTrackingTheEvil()
{
super(10419);
addTalkId(VISHOTSKY, JOKEL);
addSeeCreatureId(INVISIBLE_NPC);
setIsErtheiaQuest(false);
setLevel(MIN_LEVEL, MAX_LEVEL);
setStartQuestSound("Npcdialog1.kekrops_quest_10");
setStartLocation(SOE_TOWN_OF_SCHUTTGART, TELEPORT_LOC);
registerQuestItems(SOE_TOWN_OF_SCHUTTGART, SOE_DEN_OF_EVIL);
addCondInCategory(CategoryType.THIRD_CLASS_GROUP, "nocond.html");
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, false);
if (st == null)
{
return null;
}
String htmltext = null;
switch (event)
{
case "31981-02.html":
{
htmltext = event;
break;
}
case "31981-03.html":
{
if (st.isCond(1))
{
takeItems(player, SOE_TOWN_OF_SCHUTTGART, -1);
giveItems(player, SOE_DEN_OF_EVIL, 1);
st.setCond(2, true);
htmltext = event;
}
break;
}
case "33868-02.html":
{
if (st.isCond(2))
{
st.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);
}
showOnScreenMsg(player, NpcStringId.GROW_STRONGER_HERE_UNTIL_YOU_RECEIVE_THE_NEXT_LETTER_FROM_KEKROPUS_AT_LV_81, ExShowScreenMessage.TOP_CENTER, 6000);
htmltext = event;
}
break;
}
}
return htmltext;
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, false);
if (st == null)
{
return htmltext;
}
if (st.isStarted())
{
if ((npc.getId() == VISHOTSKY) && st.isCond(1))
{
htmltext = "31981-01.html";
}
else if (st.isCond(2))
{
htmltext = npc.getId() == VISHOTSKY ? "31981-04.html" : "33868-01.html";
}
}
return htmltext;
}
@Override
public String onSeeCreature(L2Npc npc, L2Character creature, boolean isSummon)
{
if (creature.isPlayer())
{
final L2PcInstance player = creature.getActingPlayer();
final QuestState st = getQuestState(player, false);
if ((st != null) && st.isCond(2))
{
showOnScreenMsg(player, NpcStringId.DEN_OF_EVIL_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.isMageClass();
}
}

View File

@ -0,0 +1,4 @@
<html><body>Captain Vishotsky:<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 Vishotsky</font> in the <font color="LEVEL">Town of Schuttgart</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

@ -287,6 +287,7 @@ import quests.Q10424_KekropusLetterBelosWhereabouts.Q10424_KekropusLetterBelosWh
import quests.Q10425_TheKetraOrcSupporters.Q10425_TheKetraOrcSupporters;
import quests.Q10426_AssassinationOfTheKetraOrcCommander.Q10426_AssassinationOfTheKetraOrcCommander;
import quests.Q10427_AssassinationOfTheKetraOrcChief.Q10427_AssassinationOfTheKetraOrcChief;
import quests.Q10430_KekropusLetterTrackingTheEvil.Q10430_KekropusLetterTrackingTheEvil;
import quests.Q10442_TheAnnihilatedPlains1.Q10442_TheAnnihilatedPlains1;
import quests.Q10443_TheAnnihilatedPlains2.Q10443_TheAnnihilatedPlains2;
import quests.Q10444_TheOriginOfMonsters.Q10444_TheOriginOfMonsters;
@ -657,6 +658,7 @@ public class QuestMasterHandler
Q10425_TheKetraOrcSupporters.class,
Q10426_AssassinationOfTheKetraOrcCommander.class,
Q10427_AssassinationOfTheKetraOrcChief.class,
Q10430_KekropusLetterTrackingTheEvil.class,
Q10442_TheAnnihilatedPlains1.class,
Q10443_TheAnnihilatedPlains2.class,
Q10444_TheOriginOfMonsters.class,