Quest Kekropus' Letter: The Origins of a Rumor (10439).
Contributed by Stayway.
This commit is contained in:
@@ -98,7 +98,6 @@
|
||||
10435 Chasing Keltron
|
||||
10437 The Seal of Punishment: Plains of the Lizardmen
|
||||
10438 Chasing Loygen
|
||||
10439 Kekropus' Letter: The Origins of a Rumor (9/9)
|
||||
10440 The Seal of Punishment: The Fields
|
||||
10441 Chasing Meccadan
|
||||
10446 Hit and Run
|
||||
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Captain Gosta:<br>
|
||||
Good day, adventurer. What do you need?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10439_KekropusLetterTheOriginsOfARumor 30916-02.html">"Do you remember Kekropus?"</Button>
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Captain Gosta:<br>
|
||||
You came just in time. Under the Innadril Lord Lionel Hunter's orders, I've been tracking the Embryo, and found that they seem to have located another seal.<br>
|
||||
It's a seal called Punishment. It seems that they are desperate to find a way to undo the seal...but the thing is, the key lies outside our dimension. <br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10439_KekropusLetterTheOriginsOfARumor 30916-03.html">"I'm listening."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Captain Gosta:<br>
|
||||
The Mucrokians in the Field of Silence have been acting very strange lately, and that's got me worried. Could you go check it out? You can go meet<font color="LEVEL">Dr. Helvetica</font> in the <font color="LEVEL">Field of Silence</font> or <font color="LEVEL">Priestess Athenia</font> in the <font color="LEVEL">Field of Whispers</font>. Who do you want to meet?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10439_KekropusLetterTheOriginsOfARumor 30916-04.html">"I'd like to go meet Dr. Helvetica."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10439_KekropusLetterTheOriginsOfARumor 30916-06.html">"I'd like to go meet Priestess Athenia."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><head><body>Captain Gosta:<br>
|
||||
Dr. Helvetica is in the <font color="LEVEL">Field of Silence</font>. You can go meet with him now. Be careful.
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Captain Gosta:<br>
|
||||
Dr. Helvetica is in the <font color="LEVEL">Field of Silence</font>. You can go meet with him now. Be careful.
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Captain Gosta:<br>
|
||||
Priestess Athenia is in the <font color="LEVEL">Field of Whispers</font>. You can go meet her now. Be careful.
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Captain Gosta:<br>
|
||||
Priestess Athenia is in the <font color="LEVEL">Field of Whispers</font>. You can go meet her now. Be careful.
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Dr. Helvetica:<br>
|
||||
What is it?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10439_KekropusLetterTheOriginsOfARumor 32641-02.html">"I've received a mission related to the Seal of Punishment."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Dr. Helvetica:<br>
|
||||
You can count on me to give you lots of useful stuff, not just stones. Hang tight, and I'll have a mission for you.<br><br>
|
||||
<font color="LEVEL">- Note: You can develop yourself through quests and hunting at the hunting grounds of the Field of Whispers and the Field of Silence. You have finished all tasks related to Kekropus' Letter. Please work on the quest The Minstrel's Song at Lv. 85.</font>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Priestess Athenia:<br>
|
||||
What brings you here?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10439_KekropusLetterTheOriginsOfARumor 32642-02.html">"I've come to assist with the Seal of Punishment."</Button>
|
||||
</body></html>
|
@@ -0,0 +1,3 @@
|
||||
<html><body>Priestess Athenia:<br>
|
||||
The stones and supplies have been given to you. Please wait a minute while I prep a mission for you to undertake.
|
||||
</body></html>
|
@@ -0,0 +1,195 @@
|
||||
/*
|
||||
* 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.Q10439_KekropusLetterTheOriginsOfARumor;
|
||||
|
||||
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: The Origins of a Rumor (10439)
|
||||
* @author Stayway
|
||||
*/
|
||||
public final class Q10439_KekropusLetterTheOriginsOfARumor extends LetterQuest
|
||||
{
|
||||
// NPCs
|
||||
private static final int GOSTA = 30916;
|
||||
private static final int HELVETICA = 32641;
|
||||
private static final int ATHENIA = 32643;
|
||||
private static final int INVISIBLE_NPC = 19543;
|
||||
// Items
|
||||
private static final int SOE_HEINE = 37112; // Scroll of Escape: Heine
|
||||
private static final int SOE_FIELD_OF_SILENCE = 37039; // Scroll of Escape: Field of Silence
|
||||
private static final int SOE_FIELD_OF_WISPERS = 37040; // Scroll of Escape: Field of Wispers
|
||||
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(108457, 221649, -3598);
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 81;
|
||||
private static final int MAX_LEVEL = 84;
|
||||
|
||||
public Q10439_KekropusLetterTheOriginsOfARumor()
|
||||
{
|
||||
super(10439);
|
||||
addTalkId(GOSTA, HELVETICA, ATHENIA);
|
||||
addSeeCreatureId(INVISIBLE_NPC);
|
||||
setIsErtheiaQuest(false);
|
||||
setLevel(MIN_LEVEL, MAX_LEVEL);
|
||||
setStartQuestSound("Npcdialog1.kekrops_quest_9");
|
||||
setStartLocation(SOE_HEINE, TELEPORT_LOC);
|
||||
registerQuestItems(SOE_HEINE, SOE_FIELD_OF_SILENCE, SOE_FIELD_OF_WISPERS);
|
||||
addCondInCategory(CategoryType.MAGE_CLOACK, "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 "30916-02.html":
|
||||
case "30916-03.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "30916-04.html":
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
giveItems(player, SOE_FIELD_OF_SILENCE, 1);
|
||||
qs.setCond(2, true);
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "30916-06.html":
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
giveItems(player, SOE_FIELD_OF_WISPERS, 1);
|
||||
qs.setCond(3, true);
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "32641-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;
|
||||
}
|
||||
case "32642-02.html":
|
||||
{
|
||||
if (qs.isCond(3))
|
||||
{
|
||||
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())
|
||||
{
|
||||
giveItems(player, SOE_HEINE, 1);
|
||||
if ((npc.getId() == GOSTA) && qs.isCond(1))
|
||||
{
|
||||
htmltext = "30916-01.html";
|
||||
}
|
||||
else if (qs.isCond(2))
|
||||
{
|
||||
htmltext = npc.getId() == GOSTA ? "30916-05.html" : "32641-01.html";
|
||||
}
|
||||
else if (qs.isCond(3))
|
||||
{
|
||||
htmltext = npc.getId() == GOSTA ? "30917-07.html" : "32642-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.FIELD_OF_SILENCE_AND_FIELD_OR_WHISPERS_ARE_GOOD_HUNTING_ZONES_FOR_LV_81_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000);
|
||||
}
|
||||
else if ((qs != null) && qs.isCond(3))
|
||||
{
|
||||
showOnScreenMsg(player, NpcStringId.FIELD_OF_SILENCE_AND_FIELD_OR_WHISPERS_ARE_GOOD_HUNTING_ZONES_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.MAGE_CLOACK);
|
||||
}
|
||||
}
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Captain Gosta:<br>
|
||||
I don't think it's time to act quite yet.<br>
|
||||
(This quest may only be undertaken by a Mage's who have 3rd class transfered.)
|
||||
</body></html>
|
@@ -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 Gosta</font> in the <font color="LEVEL">Heine</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>
|
@@ -291,6 +291,7 @@ import quests.Q10427_AssassinationOfTheKetraOrcChief.Q10427_AssassinationOfTheKe
|
||||
import quests.Q10430_KekropusLetterTrackingTheEvil.Q10430_KekropusLetterTrackingTheEvil;
|
||||
import quests.Q10433_KekropusLetterRegardingASeal.Q10433_KekropusLetterRegardingASeal;
|
||||
import quests.Q10436_KekropusLetterTheSealOfPunishment.Q10436_KekropusLetterTheSealOfPunishment;
|
||||
import quests.Q10439_KekropusLetterTheOriginsOfARumor.Q10439_KekropusLetterTheOriginsOfARumor;
|
||||
import quests.Q10442_TheAnnihilatedPlains1.Q10442_TheAnnihilatedPlains1;
|
||||
import quests.Q10443_TheAnnihilatedPlains2.Q10443_TheAnnihilatedPlains2;
|
||||
import quests.Q10444_TheOriginOfMonsters.Q10444_TheOriginOfMonsters;
|
||||
@@ -665,6 +666,7 @@ public class QuestMasterHandler
|
||||
Q10430_KekropusLetterTrackingTheEvil.class,
|
||||
Q10433_KekropusLetterRegardingASeal.class,
|
||||
Q10436_KekropusLetterTheSealOfPunishment.class,
|
||||
Q10439_KekropusLetterTheOriginsOfARumor.class,
|
||||
Q10442_TheAnnihilatedPlains1.class,
|
||||
Q10443_TheAnnihilatedPlains2.class,
|
||||
Q10444_TheOriginOfMonsters.class,
|
||||
|
8
L2J_Mobius_Underground/dist/game/data/spawns/Innadril/FieldOfSilence.xml
vendored
Normal file
8
L2J_Mobius_Underground/dist/game/data/spawns/Innadril/FieldOfSilence.xml
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/spawns.xsd">
|
||||
<spawn name="FieldOfSilence">
|
||||
<group>
|
||||
<npc id="19543" x="86932" y="162376" z="-3573" heading="8191" respawnTime="60sec" /> <!-- Invisible NPC -->
|
||||
</group>
|
||||
</spawn>
|
||||
</list>
|
8
L2J_Mobius_Underground/dist/game/data/spawns/Innadril/FieldOfWispers.xml
vendored
Normal file
8
L2J_Mobius_Underground/dist/game/data/spawns/Innadril/FieldOfWispers.xml
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/spawns.xsd">
|
||||
<spawn name="FieldOfWispers">
|
||||
<group>
|
||||
<npc id="19543" x="81407" y="226688" z="-3600" heading="27064" respawnTime="60sec" /> <!-- Invisible NPC -->
|
||||
</group>
|
||||
</spawn>
|
||||
</list>
|
@@ -278,7 +278,7 @@
|
||||
<skill id="9928" toLevel="1" name="Scroll of Escape: Heine">
|
||||
<!-- Return to Heine. -->
|
||||
<icon>icon.skill0000</icon>
|
||||
<hitTime>1500</hitTime>
|
||||
<hitTime>500</hitTime>
|
||||
<isMagic>2</isMagic> <!-- Static Skill -->
|
||||
<itemConsumeId>37112</itemConsumeId>
|
||||
<itemConsumeCount>1</itemConsumeCount>
|
||||
@@ -1098,26 +1098,62 @@
|
||||
<hitTime>1500</hitTime>
|
||||
</skill>
|
||||
<skill id="9980" toLevel="1" name="Scroll of Escape: Field of Silence">
|
||||
<!-- AUTO GENERATED SKILL -->
|
||||
<!-- Return to the Field of Silence. -->
|
||||
<icon>icon.skill0000</icon>
|
||||
<hitTime>500</hitTime>
|
||||
<isMagic>2</isMagic> <!-- Static Skill -->
|
||||
<itemConsumeId>37039</itemConsumeId>
|
||||
<itemConsumeCount>1</itemConsumeCount>
|
||||
<magicLvl>1</magicLvl>
|
||||
<operateType>A1</operateType>
|
||||
<rideState>NONE;STRIDER;WYVERN;WOLF</rideState>
|
||||
<targetType>SELF</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<hitTime>1500</hitTime>
|
||||
<cond msgId="113" addName="1">
|
||||
<and>
|
||||
<player canEscape="true" />
|
||||
<not>
|
||||
<player insideZoneId="10501, 10502, 10503, 10504, 10505, 10506, 10507, 10508" />
|
||||
</not>
|
||||
</and>
|
||||
</cond>
|
||||
<effects>
|
||||
<effect name="Teleport">
|
||||
<x>86922</x>
|
||||
<y>162508</y>
|
||||
<z>-3579</z>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="9981" toLevel="1" name="Scroll of Escape: Field of Whispers">
|
||||
<!-- AUTO GENERATED SKILL -->
|
||||
<!-- Return to the Field of Whispers. -->
|
||||
<icon>icon.skill0000</icon>
|
||||
<hitTime>500</hitTime>
|
||||
<itemConsumeId>37040</itemConsumeId>
|
||||
<itemConsumeCount>1</itemConsumeCount>
|
||||
<operateType>A1</operateType>
|
||||
<targetType>SELF</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<hitTime>1500</hitTime>
|
||||
<magicLvl>1</magicLvl>
|
||||
<operateType>A1</operateType>
|
||||
<rideState>NONE;STRIDER;WYVERN;WOLF</rideState>
|
||||
<targetType>SELF</targetType>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<cond msgId="113" addName="1">
|
||||
<and>
|
||||
<player canEscape="true" />
|
||||
<not>
|
||||
<player insideZoneId="10501, 10502, 10503, 10504, 10505, 10506, 10507, 10508" />
|
||||
</not>
|
||||
</and>
|
||||
</cond>
|
||||
<effects>
|
||||
<effect name="Teleport">
|
||||
<x>81307</x>
|
||||
<y>226534</y>
|
||||
<z>-3588</z>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="9982" toLevel="1" name="Elixir: Divine Protection">
|
||||
<!-- AUTO GENERATED SKILL -->
|
||||
|
Reference in New Issue
Block a user