Quest In Search of the Grail (10770).

Contributed by gigilo1968.
This commit is contained in:
MobiusDev 2016-03-06 22:44:13 +00:00
parent 8874b9b517
commit 061189fc08
14 changed files with 230 additions and 0 deletions

View File

@ -0,0 +1,5 @@
<html><body>Ivory Tower Wizard Janssen:<br>
Ho ho! So you're one of the newly arrived Ertheia. I've only read about your kind in books! How exciting.<br>
I heard about you from Researcher Lorain. You wanted me to analyze some <font color="LEVEL">Shining Mysterious Fragments</font>?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10770_InSearchOfTheGrail 30484-02.html">"Here they are."</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Ivory Tower Wizard Janssen:<br>
Well! You are as beautiful as an Elf...oh, let me get started on specially analyzing these fragments for you.<br>
I can do the analysis very quickly, please come back in a bit.
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Ivory Tower Wizard Janssen:<br>
Ah, the analysis is complete. I'm sorry, but the fragment recovered from Cruma Tower is not what you thought it was.<br>
It simply looks like the fragment you're thinking about. I don't feel any of the Wind Spirit Realm's energy within it.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10770_InSearchOfTheGrail 30484-04.html">"That's too bad."</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Ivory Tower Wizard Janssen:<br>
Don't be so disappointed.<br>
Anyway, that fragment you recovered from Cruma Tower contains some dangerous energy.<br>
It looks shiny and precious on the outside, but the energy within it feels very unstable, like it could explode.<br>
Here, here. Will this cheer you up? Take this.
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Researcher Lorain:<br>
Hello! Ertheian adventurer. I just can't get used to it. Your ears look like wings... You think the ancient documents speak of you flying because of your ears?<br>
I'm sorry. I cannot hide my curiosity.<br>
I heard that you want to know about Cruma Tower. What is it?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10770_InSearchOfTheGrail 30673-02.htm">"I'm looking for the Grail."</Button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Researcher Lorain:<br>
You're looking for the Grail? I know what's going on now. You must find the giants in order to find the Grail. All the leads about Grail were connected with the giants.<br>
Cruma Tower is where the few ancient giants technology still remains. It's also the place you can find the ancient giants.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10770_InSearchOfTheGrail 30673-03.htm">"I want to know about Mysterious Fragment."</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Researcher Lorain:<br>
Hmm? Mysterious Fragment? You mean the Shining Mysterious Fragment? Where did you hear about it?<br>
I heard that Shining Mysterious Fragments were found on Cruma Tower. Not many have found it, so we don't know much either.<br>
According to my source, magical creatures in Cruma Tower Underground Level 3, which were created by the giants, have the fragment.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10770_InSearchOfTheGrail 30673-04.htm">"Interesting. Go on."</Button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Researcher Lorain:<br>
First, gather the fragments from the magical creatures and ask the Ivory Tower Wizards in Cruma Tower to analyze them.<br>
I'm sure those wizards can analyze the fragments. The Ivory Tower Wizards are the most powerful.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10770_InSearchOfTheGrail 30673-05.htm">"I've got it."</Button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Researcher Lorain:<br>
Then go to <font color="LEVEL">Cruma Tower Underground Level 3</font> and kill the magical creatures. The magical creatures in Cruma Tower Underground Level 3 are <font color="LEVEL">Porta, Excuro, Ricenseo, Krator, Shindebarn</font>. I'm sure you can get Shining Mysterious Fragments as you kill these magical creatures.<br>
Get <font color="LEVEL">30</font> <font color="LEVEL">Shining Mysterious Fragments</font> and go to <font color="LEVEL">Ivory Tower Wizard Janssen</font> in Underground Level 3 to analyze the fragments you've gotten.<br>
Oh! In order to go there, use the entrance next to me to enter Cruma Tower and then talk to <font color="LEVEL">Ivory Tower Wizard Carsus</font>.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Researcher Lorain:<br>
I think you have enough fragments for analysis. Go to <font color="LEVEL">Ivory Tower Wizard Janssen</font> now.
</body></html>

View File

@ -0,0 +1,171 @@
/*
* 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.Q10770_InSearchOfTheGrail;
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.holders.ItemHolder;
import com.l2jmobius.gameserver.model.quest.Quest;
import com.l2jmobius.gameserver.model.quest.QuestState;
/**
* In Search of the Grail (10770)
* @URL https://l2wiki.com/In_Search_of_the_Grail
* @author Gigi
*/
public class Q10770_InSearchOfTheGrail extends Quest
{
// NPCs
private static final int LORAIN = 30673;
private static final int JANSSEN = 30484;
// Items
private static final ItemHolder STEEL_DOOR_GUILD = new ItemHolder(37045, 30);
private static final ItemHolder EWC = new ItemHolder(951, 1);
private static final ItemHolder EAC = new ItemHolder(952, 2);
private static final int SHINING_MYSTERIOUS = 39711;
// Reward
private static final int EXP_REWARD = 2342300;
private static final int SP_REWARD = 562;
// Misc
private static final int MIN_LEVEL = 40;
// Mobs
private static final int[] MOBNSTERS =
{
20213, // Porta
20214, // Excuro
20216, // Ricenseo
20217, // Krator
21036, // Shindebarn
};
public Q10770_InSearchOfTheGrail()
{
super(10770, Q10770_InSearchOfTheGrail.class.getSimpleName(), "In Search of the Grail");
addStartNpc(LORAIN);
addTalkId(LORAIN, JANSSEN);
registerQuestItems(SHINING_MYSTERIOUS);
addKillId(MOBNSTERS);
addCondMinLevel(MIN_LEVEL, "noLevel.html");
addCondRace(Race.ERTHEIA, "noErtheya.html");
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
String htmltext = event;
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return getNoQuestMsg(player);
}
switch (event)
{
case "30673-02.htm":
case "30673-03.htm":
case "30673-04.htm":
{
htmltext = event;
break;
}
case "30673-05.htm":
{
qs.startQuest();
htmltext = event;
qs.set(Integer.toString(SHINING_MYSTERIOUS), 0);
break;
}
case "30484-02.html":
{
takeItems(player, SHINING_MYSTERIOUS, 30);
qs.setCond(3, true);
htmltext = event;
break;
}
case "30484-04.html":
{
addExpAndSp(player, EXP_REWARD, SP_REWARD);
giveItems(player, STEEL_DOOR_GUILD);
giveItems(player, EWC);
giveItems(player, EAC);
qs.exitQuest(false, true);
htmltext = event;
break;
}
}
return htmltext;
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
switch (npc.getId())
{
case LORAIN:
{
if (qs.isCreated())
{
htmltext = "30673-01.htm";
}
else if (qs.isStarted())
{
if (qs.isCond(1))
{
htmltext = "30673-06.html";
}
}
else if (qs.isCompleted())
{
htmltext = getAlreadyCompletedMsg(player);
}
break;
}
case JANSSEN:
{
if (qs.isCond(2))
{
htmltext = "30484-01.html";
}
else if (qs.isCond(3))
{
htmltext = "30484-03.html";
}
break;
}
}
return htmltext;
}
@Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{
final QuestState qs = getQuestState(killer, false);
if ((qs != null) && qs.isCond(1))
{
if (giveItemRandomly(killer, npc, SHINING_MYSTERIOUS, 1, 30, 0.5, true))
{
qs.setCond(2, true);
}
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@ -0,0 +1,3 @@
<html><body>Researcher Lorain:<br>
This quest is only for Ertheia class.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Researcher Lorain:<br>
This mission will be too hard for you. Don't be disappointed. Once you have grown a little more, please come back<br>
(You must be level 40 or above to start this quest.)
</body></html>

View File

@ -289,6 +289,7 @@ import quests.Q10762_MarionetteSpirit.Q10762_MarionetteSpirit;
import quests.Q10763_TerrifyingChertuba.Q10763_TerrifyingChertuba;
import quests.Q10764_FreeSpirit.Q10764_FreeSpirit;
import quests.Q10769_LettersFromTheQueen_CrumaTower.Q10769_LettersFromTheQueen_CrumaTower;
import quests.Q10770_InSearchOfTheGrail.Q10770_InSearchOfTheGrail;
import quests.Q10782_LettersFromTheQueen_ForsakenPlains.Q10782_LettersFromTheQueen_ForsakenPlains;
import quests.Q10785_LettersFromTheQueen_FieldsOfMassacre.Q10785_LettersFromTheQueen_FieldsOfMassacre;
import quests.Q10789_LettersFromTheQueen_SwampOfScreams.Q10789_LettersFromTheQueen_SwampOfScreams;
@ -573,6 +574,7 @@ final class QuestMasterHandler
Q10763_TerrifyingChertuba.class,
Q10764_FreeSpirit.class,
Q10769_LettersFromTheQueen_CrumaTower.class,
Q10770_InSearchOfTheGrail.class,
Q10782_LettersFromTheQueen_ForsakenPlains.class,
Q10785_LettersFromTheQueen_FieldsOfMassacre.class,
Q10789_LettersFromTheQueen_SwampOfScreams.class,