Quest The Seal of Punishment: Plains Of The Lizardmen (10437).
Contributed by Stayway.
This commit is contained in:
parent
2823174ded
commit
dce1c88ce6
@ -92,7 +92,6 @@
|
||||
10432 Chasing Varangka
|
||||
10434 The Seal of Punishment: Sel Mahum Training Grounds
|
||||
10435 Chasing Keltron
|
||||
10437 The Seal of Punishment: Plains of the Lizardmen
|
||||
10438 Chasing Loygen
|
||||
10440 The Seal of Punishment: The Fields
|
||||
10441 Chasing Meccadan
|
||||
|
@ -0,0 +1,5 @@
|
||||
<html><body>Investigator Laki:<br>
|
||||
I am definitely glad you're here. Here's what we've found out about the 6th seal.<br>
|
||||
After a fair bit of research, we've located <font color="LEVEL">Shilen's 6th seal, the Seal of Punishment</font>. But since it is in a different dimension, it's hard to get close.<br>While trying to figure out a different avenue of approach, we noticed <font color="LEVEL">Tanta Lizardmen doing something suspicious</font> out in the <font color="LEVEL">Plains of the Lizardmen</font>.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10437_TheSealOfPunishmentPlainsOfTheLizardmen 32742-02.htm">"Suspicious, how so?"</Button>
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Investigator Laki:<br>
|
||||
To tell the truth, I'm not exactly sure. It's something to do with <font color="LEVEL">Embryo</font>. The fact that they have Suspicious Fragments proves it. So, it's highly likely that they also have something to do with the seal. If I study the Suspicious Fragments of Tanta Lizardmen, I'll learn a lot more about the Seal of Punishment.<br>If you have time, can you help me?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10437_TheSealOfPunishmentPlainsOfTheLizardmen 32742-03.htm">"Certainly"</Button>
|
||||
</body></html>
|
@ -0,0 +1,5 @@
|
||||
<html><body>Investigator Laki:<br>
|
||||
Then, kill <font color="LEVEL">Tanta Lizardmen</font> in the <font color="LEVEL">Plains of the Lizardmen</font> and collect <font color="LEVEL">Embryo's Suspicious Fragments</font> from them.<br>When you have 50 of them, bring them to me. The magic I'm looking for is hard to detect, and I'll need as many as possible to be sure.<br>
|
||||
If I'm right, those fragments hold the key to understanding the Seal of Punishment.<br><br>
|
||||
Monsters to hunt - Tanta Lizardman Scouts, Tanta Lizardman Warriors, Tanta Lizardman Soldiers, Tanta Lizardman Berserkers, Tanta Lizardman Archers, Tanta Lizardman Wizards, and Tanta Lizardman Summoners
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Investigator Laki:<br>
|
||||
What happened? Were you unable to find <font color="LEVEL">50 Embryo's Suspicious Fragments</font>? I need at least that many to gain any useful information on the seal.<br>
|
||||
You can get more by killing <font color="LEVEL">Tanta Lizardmen</font> in the <font color="LEVEL">Plains of the Lizardmen</font>.
|
||||
</body></html>
|
@ -0,0 +1,10 @@
|
||||
<html><head><body>Investigator Laki:<br>
|
||||
Welcome back. Do you have 50 as promised?<br>
|
||||
Great. I'll pay up my share. Plus, tell me if you want any attribute stones.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10437_TheSealOfPunishmentPlainsOfTheLizardmen reward_9546">15 Fire Stones</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10437_TheSealOfPunishmentPlainsOfTheLizardmen reward_9547">15 Water Stones</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10437_TheSealOfPunishmentPlainsOfTheLizardmen reward_9548">15 Earth Stones</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10437_TheSealOfPunishmentPlainsOfTheLizardmen reward_9549">15 Wind Stones</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10437_TheSealOfPunishmentPlainsOfTheLizardmen reward_9550">15 Dark Stones</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10437_TheSealOfPunishmentPlainsOfTheLizardmen reward_9551">15 Holy Stones</Button>
|
||||
<body></html>
|
@ -0,0 +1,3 @@
|
||||
<html><body>Investigator Laki:<br>
|
||||
Thank you! Here's your reward. We need to move fast now!<br>
|
||||
</body></html>
|
@ -0,0 +1,236 @@
|
||||
/*
|
||||
* 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.Q10437_TheSealOfPunishmentPlainsOfTheLizardmen;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import com.l2jmobius.gameserver.enums.CategoryType;
|
||||
import com.l2jmobius.gameserver.enums.QuestSound;
|
||||
import com.l2jmobius.gameserver.enums.Race;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.quest.Quest;
|
||||
import com.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import com.l2jmobius.gameserver.model.quest.State;
|
||||
import com.l2jmobius.gameserver.util.Util;
|
||||
|
||||
/**
|
||||
* The Seal of Punishment: Plains Of The Lizardmen (10437)
|
||||
* @author Stayway
|
||||
*/
|
||||
public class Q10437_TheSealOfPunishmentPlainsOfTheLizardmen extends Quest
|
||||
{
|
||||
// NPCs
|
||||
private static final int LAKI = 32742;
|
||||
// Item
|
||||
private static final int EMBRYO_FRAGMENT = 36687;
|
||||
// Misc
|
||||
private static final Map<Integer, Integer> TANTA_LIZARDMAN = new HashMap<>();
|
||||
static
|
||||
{
|
||||
TANTA_LIZARDMAN.put(22768, 888); // Tanta Lizardman Scouts
|
||||
TANTA_LIZARDMAN.put(22769, 888); // Tanta Lizardman Warriors
|
||||
TANTA_LIZARDMAN.put(22770, 888); // Tanta Lizardman Soldiers
|
||||
TANTA_LIZARDMAN.put(22771, 888); // Tanta Lizardman Berserkers
|
||||
TANTA_LIZARDMAN.put(22772, 888); // Tanta Lizardman Archers
|
||||
TANTA_LIZARDMAN.put(22773, 888); // Tanta Lizardman Wizards
|
||||
TANTA_LIZARDMAN.put(22774, 888); // Tanta Lizardman Summoners
|
||||
}
|
||||
private static final int MIN_LEVEL = 81;
|
||||
private static final int MAX_LEVEL = 84;
|
||||
|
||||
public Q10437_TheSealOfPunishmentPlainsOfTheLizardmen()
|
||||
{
|
||||
super(10437);
|
||||
addStartNpc(LAKI);
|
||||
addTalkId(LAKI);
|
||||
addKillId(TANTA_LIZARDMAN.keySet());
|
||||
registerQuestItems(EMBRYO_FRAGMENT);
|
||||
addCondMaxLevel(MAX_LEVEL, "noLevel.html");
|
||||
addCondMinLevel(MIN_LEVEL, "noLevel.html");
|
||||
addCondNotRace(Race.ERTHEIA, "noErtheia.html");
|
||||
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 getNoQuestMsg(player);
|
||||
}
|
||||
String htmltext = event;
|
||||
switch (event)
|
||||
{
|
||||
case "32742-02.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "32742-03.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "reward_9546":
|
||||
case "reward_9547":
|
||||
case "reward_9548":
|
||||
case "reward_9549":
|
||||
case "reward_9550":
|
||||
case "reward_9551":
|
||||
{
|
||||
if (!qs.isCond(2))
|
||||
{
|
||||
break;
|
||||
}
|
||||
final int stoneId = Integer.parseInt(event.replaceAll("reward_", ""));
|
||||
giveItems(player, stoneId, 15);
|
||||
giveStoryQuestReward(player, 60);
|
||||
final long count = getQuestItemsCount(player, EMBRYO_FRAGMENT);
|
||||
if ((count >= 50) && (count < 100))
|
||||
{
|
||||
addExpAndSp(player, 28240800, 6777);
|
||||
}
|
||||
else if ((count >= 100) && (count < 200))
|
||||
{
|
||||
addExpAndSp(player, 56481600, 13554);
|
||||
}
|
||||
else if ((count >= 200) && (count < 300))
|
||||
{
|
||||
addExpAndSp(player, 84722400, 20331);
|
||||
}
|
||||
else if ((count >= 300) && (count < 400))
|
||||
{
|
||||
addExpAndSp(player, 112963200, 27108);
|
||||
}
|
||||
else if ((count >= 400) && (count < 500))
|
||||
{
|
||||
addExpAndSp(player, 141204000, 33835);
|
||||
}
|
||||
else if ((count >= 500) && (count < 600))
|
||||
{
|
||||
addExpAndSp(player, 169444800, 40662);
|
||||
}
|
||||
else if ((count >= 600) && (count < 700))
|
||||
{
|
||||
addExpAndSp(player, 197685600, 47439);
|
||||
}
|
||||
else if ((count >= 700) && (count < 800))
|
||||
{
|
||||
addExpAndSp(player, 225926400, 54216);
|
||||
}
|
||||
else if ((count >= 800) && (count < 900))
|
||||
{
|
||||
addExpAndSp(player, 254167200, 60993);
|
||||
}
|
||||
else if (count >= 900)
|
||||
{
|
||||
addExpAndSp(player, 282408000, 67770);
|
||||
}
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = "32742-06.html";
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
if (qs == null)
|
||||
{
|
||||
return htmltext;
|
||||
}
|
||||
switch (qs.getState())
|
||||
{
|
||||
|
||||
case State.CREATED:
|
||||
{
|
||||
if (npc.getId() == LAKI)
|
||||
{
|
||||
htmltext = "32742-01.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
if ((qs.isCond(1)) && (npc.getId() == LAKI))
|
||||
{
|
||||
htmltext = "32742-04.html";
|
||||
break;
|
||||
}
|
||||
else if (qs.isCond(2))
|
||||
{
|
||||
htmltext = "32742-05.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
htmltext = getNoQuestMsg(player);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
private void giveItem(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs != null)
|
||||
{
|
||||
giveItems(player, EMBRYO_FRAGMENT, 1);
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
if (getQuestItemsCount(player, EMBRYO_FRAGMENT) >= 50)
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
if (killer.isInParty())
|
||||
{
|
||||
for (L2PcInstance member : killer.getParty().getMembers())
|
||||
{
|
||||
if (Util.checkIfInRange(1500, npc, member, false))
|
||||
{
|
||||
giveItem(npc, member);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
giveItem(npc, killer);
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
<html><body>Giant's Minion Jokel:<br>
|
||||
Whoa, not so fast. You're way out of your league here. <br>
|
||||
(This quest can only be performed by characters Lv. 81 or above of the Duelist, Phoenix Knight, Hell Knight, Adventurer, Eva's Templar, Sword Muse, Wind Rider, Shillien Templar, Spectral Dancer, Ghost Hunter, Grand Khavatari, Doombringer, Soul Hound, or Judicator class.)
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Investigator Laki:<br>
|
||||
I am focusing on my research right now. If you aren't here for something important, come back later.<br>
|
||||
(Ertheia is excluded from this quest.)
|
||||
</body></html>
|
@ -0,0 +1,4 @@
|
||||
<html><body>Investigator Laki:<br>
|
||||
I am focusing on my research right now. If you aren't here for something important, come back later.<br>
|
||||
(This quest is for level 81 or higher Sagittariuses, Moonlight Sentinels, Ghost Sentinels or Tricksters.)
|
||||
</body></html>
|
@ -295,6 +295,7 @@ import quests.Q10430_KekropusLetterTrackingTheEvil.Q10430_KekropusLetterTracking
|
||||
import quests.Q10431_TheSealOfPunishmentDenOfEvil.Q10431_TheSealOfPunishmentDenOfEvil;
|
||||
import quests.Q10433_KekropusLetterRegardingASeal.Q10433_KekropusLetterRegardingASeal;
|
||||
import quests.Q10436_KekropusLetterTheSealOfPunishment.Q10436_KekropusLetterTheSealOfPunishment;
|
||||
import quests.Q10437_TheSealOfPunishmentPlainsOfTheLizardmen.Q10437_TheSealOfPunishmentPlainsOfTheLizardmen;
|
||||
import quests.Q10439_KekropusLetterTheOriginsOfARumor.Q10439_KekropusLetterTheOriginsOfARumor;
|
||||
import quests.Q10442_TheAnnihilatedPlains1.Q10442_TheAnnihilatedPlains1;
|
||||
import quests.Q10443_TheAnnihilatedPlains2.Q10443_TheAnnihilatedPlains2;
|
||||
@ -674,6 +675,7 @@ public class QuestMasterHandler
|
||||
Q10431_TheSealOfPunishmentDenOfEvil.class,
|
||||
Q10433_KekropusLetterRegardingASeal.class,
|
||||
Q10436_KekropusLetterTheSealOfPunishment.class,
|
||||
Q10437_TheSealOfPunishmentPlainsOfTheLizardmen.class,
|
||||
Q10439_KekropusLetterTheOriginsOfARumor.class,
|
||||
Q10442_TheAnnihilatedPlains1.class,
|
||||
Q10443_TheAnnihilatedPlains2.class,
|
||||
|
Loading…
Reference in New Issue
Block a user