Quest The Seal of Punishment: Plains Of The Lizardmen (10437).

Contributed by Stayway.
This commit is contained in:
MobiusDev 2016-08-23 21:59:37 +00:00
parent 2823174ded
commit dce1c88ce6
12 changed files with 281 additions and 1 deletions

View File

@ -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

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -0,0 +1,3 @@
<html><body>Investigator Laki:<br>
Thank you! Here's your reward. We need to move fast now!<br>
</body></html>

View File

@ -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);
}
}

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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,