Quest Confronting a Giant Monster (10818).
This commit is contained in:
parent
35b6e8110d
commit
b14d0e74d2
@ -165,8 +165,6 @@
|
||||
10806 The Dimensional Warp, Part 6
|
||||
10807 The Dimensional Warp, Part 7
|
||||
10809 The Hero's Journey: Blazing Swamp
|
||||
10817 Exalted, One Who Overcomes the Limit
|
||||
10818 Confronting a Giant Monster
|
||||
10819 For Honor
|
||||
10820 Relationships Befitting of the Status
|
||||
10821 Helping Others
|
||||
|
@ -20,6 +20,7 @@ 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 quests.Q10811_ExaltedOneWhoFacesTheLimit.Q10811_ExaltedOneWhoFacesTheLimit;
|
||||
|
||||
@ -36,6 +37,7 @@ public final class Q10817_ExaltedOneWhoOvercomesTheLimit extends Quest
|
||||
private static final int OLYMPIAD_MANAGER_CERTIFICATE = 45629;
|
||||
private static final int ISHUMA_CERTIFICATE = 45630;
|
||||
private static final int SIR_KRISTOF_RODEMAI_CERTIFICATE = 45631;
|
||||
private static final int LIONEL_MISSION_LIST_2 = 45632;
|
||||
// Rewards
|
||||
private static final int SPELLBOOK_DIGNITY_OF_THE_EXALTED = 45923;
|
||||
private static final int SPELLBOOK_BELIEF_OF_THE_EXALTED = 45925;
|
||||
@ -50,7 +52,7 @@ public final class Q10817_ExaltedOneWhoOvercomesTheLimit extends Quest
|
||||
addTalkId(LIONEL);
|
||||
addCondMinLevel(MIN_LEVEL, "33907-07.html");
|
||||
addCondCompletedQuest(Q10811_ExaltedOneWhoFacesTheLimit.class.getSimpleName(), "33907-02.html");
|
||||
registerQuestItems(DAICHIR_SERTIFICATE, OLYMPIAD_MANAGER_CERTIFICATE, ISHUMA_CERTIFICATE, SIR_KRISTOF_RODEMAI_CERTIFICATE);
|
||||
registerQuestItems(LIONEL_MISSION_LIST_2, DAICHIR_SERTIFICATE, OLYMPIAD_MANAGER_CERTIFICATE, ISHUMA_CERTIFICATE, SIR_KRISTOF_RODEMAI_CERTIFICATE);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -75,6 +77,7 @@ public final class Q10817_ExaltedOneWhoOvercomesTheLimit extends Quest
|
||||
{
|
||||
if (qs.isCreated())
|
||||
{
|
||||
giveItems(player, LIONEL_MISSION_LIST_2, 1);
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
}
|
||||
@ -105,19 +108,29 @@ public final class Q10817_ExaltedOneWhoOvercomesTheLimit extends Quest
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
if (qs.isCreated())
|
||||
switch (qs.getState())
|
||||
{
|
||||
htmltext = "33907-01.htm";
|
||||
}
|
||||
else if (qs.isStarted())
|
||||
{
|
||||
if (hasQuestItems(player, DAICHIR_SERTIFICATE, OLYMPIAD_MANAGER_CERTIFICATE, ISHUMA_CERTIFICATE, SIR_KRISTOF_RODEMAI_CERTIFICATE) && (player.getLevel() >= MIN_COMPLETE_LEVEL))
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = "33907-07.html";
|
||||
htmltext = "33907-01.htm";
|
||||
break;
|
||||
}
|
||||
else
|
||||
case State.STARTED:
|
||||
{
|
||||
htmltext = "33907-06.html";
|
||||
if (hasQuestItems(player, DAICHIR_SERTIFICATE, OLYMPIAD_MANAGER_CERTIFICATE, ISHUMA_CERTIFICATE, SIR_KRISTOF_RODEMAI_CERTIFICATE) && (player.getLevel() >= MIN_COMPLETE_LEVEL))
|
||||
{
|
||||
htmltext = "33907-07.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "33907-06.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
|
5
trunk/dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/30537-01.htm
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/30537-01.htm
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Head Priest of the Earth Daichir:<br>
|
||||
<font color="LEVEL">Karna Maphra!</font><br>
|
||||
Are you the one who Lionel has sent? Does this mean that he was right? Are we going into a new future?<br>
|
||||
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10818_ConfrontingAGiantMonster 30537-04.htm">"Of course."</Button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/30537-02.html
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/30537-02.html
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Head Priest of the Earth Daichir:<br>
|
||||
You are weak. You would be butchered should I let you take on this challenge in your condition. Gain strength, friend!<br>
|
||||
(Only characters above Lv. 99.)
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/30537-03.html
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/30537-03.html
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Head Priest of the Earth Daichir:<br>
|
||||
You don't meet the qualifications. You must first talk to Lionel.<br>
|
||||
(Only characters who are performing the Exalted, One Who Overcomes the Limit quest may take this quest.)
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/30537-04.htm
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/30537-04.htm
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Head Priest of the Earth Daichir:<br>
|
||||
We lost our village in the past. All the other races have also faced similar fates.<br>
|
||||
We were powerless. All we could do was prevent a greater tragedy. Do you remember? What we had to go through...<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10818_ConfrontingAGiantMonster 30537-05.htm">"Yes..."</Button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/30537-05.htm
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/30537-05.htm
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Head Priest of the Earth Daichir:<br>
|
||||
When Lionel asked for help, I didn't really believe him. But it looks like he was right. It is time for us to stand on our own, rather than relying on the goddess' power.<br>
|
||||
I believe you have what it takes to lead this world. There's something you must do for this world.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10818_ConfrontingAGiantMonster 30537-06.htm">"What is it?"</Button>
|
||||
</body></html>
|
6
trunk/dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/30537-06.htm
vendored
Normal file
6
trunk/dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/30537-06.htm
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
<html><body>Head Priest of the Earth Daichir:<br>
|
||||
Defeat the monsters that are threatening the safety of this world. I'll tell you which ones to defeat.<br>
|
||||
First, you must defeat <font color="LEVEL">Istina, Octavis, and Tauti</font> in an <font color="LEVEL">Epic Battle</font>. You must also defeat <font color="LEVEL">Beleth</font> and <font color="LEVEL">Earth Wyrm Trasken</font>, and bring a <font color="LEVEL">Dark Soul Stone</font>.<br>
|
||||
However, defeating Earth Wyrm Trasken is difficult. That's why I have another method. Would like to hear it?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10818_ConfrontingAGiantMonster 30537-06a.html">"What is it?"</Button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/30537-06a.html
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/30537-06a.html
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<html><body>Head Priest of the Earth Daichir:<br>
|
||||
Strong monsters have been appearing near the Crystal Caverns. You can get <font color="LEVEL">Veridan's Soul Stone</font>, <font color="LEVEL">Kechi's Soul Stone</font>, and <font color="LEVEL">Michaela's Soul Stone</font> when you defeat <font color="LEVEL">Armed Veridan, Armed Kechi, and Armed Michaela</font> respectively. When you combine these three, you can get a <font color="LEVEL">Dark Soul Stone</font>.<br>
|
||||
This is the same item that you can get after defeating Earth Wyrm Trasken. So if you can get a Dark Soul Stone this way, I'll consider it as if you've defeated Earth Wyrm Trasken.
|
||||
</body></html>
|
6
trunk/dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/30537-07.html
vendored
Normal file
6
trunk/dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/30537-07.html
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
<html><body>Head Priest of the Earth Daichir:<br>
|
||||
If you want to achieve true strength, defeat the monsters who threaten the safety of this world. I'll tell you which monsters to defeat.<br>
|
||||
You must defeat <font color="LEVEL">Istina, Octavis, and Tauti</font> in an <font color="LEVEL">Epic Battle</font>. You must also defeat <font color="LEVEL">Beleth and Earth Wyrm Trasken</font>.<br>
|
||||
However, defeating Earth Wyrm Trasken is difficult. That's why I have another method. Would like to hear it?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10818_ConfrontingAGiantMonster 30537-06a.html">"What is it?"</Button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/30537-08.html
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/30537-08.html
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Head Priest of the Earth Daichir:<br>
|
||||
Did you finish? May the goddess' blessing be with you!<br>
|
||||
So you are done, right?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10818_ConfrontingAGiantMonster 30537-09.html">"Yes."</Button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/30537-09.html
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/30537-09.html
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Head Priest of the Earth Daichir:<br>
|
||||
<font color="LEVEL">Karna Maphra!</font><br>
|
||||
May the goddess' blessing be with you.<br>
|
||||
Take this certificate!
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/30537-10.html
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q10818_ConfrontingAGiantMonster/30537-10.html
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
<html><body>Head Priest of the Earth Daichir:<br>
|
||||
<font color="LEVEL">Karna Maphra!</font><br>
|
||||
May the goddess' blessing be with you.<br>
|
||||
Take this certificate. If you've received all the certificates, go see Lionel.
|
||||
</body></html>
|
@ -0,0 +1,176 @@
|
||||
/*
|
||||
* 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.Q10818_ConfrontingAGiantMonster;
|
||||
|
||||
import com.l2jmobius.Config;
|
||||
import com.l2jmobius.gameserver.enums.QuestSound;
|
||||
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 quests.Q10817_ExaltedOneWhoOvercomesTheLimit.Q10817_ExaltedOneWhoOvercomesTheLimit;
|
||||
|
||||
/**
|
||||
* Confronting a Giant Monster (10818)
|
||||
* @URL https://l2wiki.com/Confronting_a_Giant_Monster
|
||||
* @author Mobius
|
||||
*/
|
||||
public final class Q10818_ConfrontingAGiantMonster extends Quest
|
||||
{
|
||||
// Npc
|
||||
private static final int DAICHIR = 30537;
|
||||
// Monsters
|
||||
private static final int ISTINA = 29196; // Extreme
|
||||
private static final int OCTAVIS = 29212; // Extreme
|
||||
private static final int TAUTI = 29233; // correct id?
|
||||
private static final int EKIMUS = 29251; // correct id?
|
||||
private static final int TRASKEN = 29197; // correct id?
|
||||
// Items
|
||||
private static final int LIONEL_MISSION_LIST_2 = 45632;
|
||||
private static final int OLYMPIAD_MANAGER_CERTIFICATE = 45629;
|
||||
private static final int ISHUMA_CERTIFICATE = 45630;
|
||||
private static final int SIR_KRISTOF_RODEMAI_CERTIFICATE = 45631;
|
||||
private static final int DARK_SOUL_STONE = 46055;
|
||||
// Rewards
|
||||
private static final int EXP_AMOUNT = 45923;
|
||||
private static final int DAICHIR_SERTIFICATE = 45628;
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 99;
|
||||
|
||||
public Q10818_ConfrontingAGiantMonster()
|
||||
{
|
||||
super(10818);
|
||||
addStartNpc(DAICHIR);
|
||||
addTalkId(DAICHIR);
|
||||
addKillId(ISTINA, OCTAVIS, TAUTI, EKIMUS, TRASKEN);
|
||||
addCondMinLevel(MIN_LEVEL, "30537-02.html");
|
||||
addCondStartedQuest(Q10817_ExaltedOneWhoOvercomesTheLimit.class.getSimpleName(), "30537-03.html");
|
||||
registerQuestItems(DARK_SOUL_STONE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
String htmltext = null;
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
switch (event)
|
||||
{
|
||||
case "30537-04.htm":
|
||||
case "30537-05.htm":
|
||||
case "30537-06.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "30537-06a.html":
|
||||
{
|
||||
if (qs.isCreated() && hasQuestItems(player, LIONEL_MISSION_LIST_2))
|
||||
{
|
||||
qs.startQuest();
|
||||
}
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "30537-09.html":
|
||||
{
|
||||
if (hasQuestItems(player, DARK_SOUL_STONE) && qs.get("" + ISTINA).equals("true") && qs.get("" + OCTAVIS).equals("true") && qs.get("" + TAUTI).equals("true") && qs.get("" + EKIMUS).equals("true"))
|
||||
{
|
||||
if (hasQuestItems(player, OLYMPIAD_MANAGER_CERTIFICATE, ISHUMA_CERTIFICATE, SIR_KRISTOF_RODEMAI_CERTIFICATE))
|
||||
{
|
||||
htmltext = "30537-10.html";
|
||||
}
|
||||
addExpAndSp(player, EXP_AMOUNT, 0);
|
||||
giveItems(player, DAICHIR_SERTIFICATE, 1);
|
||||
qs.unset("" + ISTINA);
|
||||
qs.unset("" + OCTAVIS);
|
||||
qs.unset("" + TAUTI);
|
||||
qs.unset("" + EKIMUS);
|
||||
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 (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
{
|
||||
htmltext = "30537-01.htm";
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
if (hasQuestItems(player, DARK_SOUL_STONE) && qs.get("" + ISTINA).equals("true") && qs.get("" + OCTAVIS).equals("true") && qs.get("" + TAUTI).equals("true") && qs.get("" + EKIMUS).equals("true"))
|
||||
{
|
||||
htmltext = "30537-08.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "30537-07.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
|
||||
{
|
||||
executeForEachPlayer(player, npc, isSummon, true, false);
|
||||
return super.onKill(npc, player, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) && player.isInsideRadius(npc, Config.ALT_PARTY_RANGE, true, true))
|
||||
{
|
||||
if (npc.getId() == TRASKEN)
|
||||
{
|
||||
giveItems(player, DARK_SOUL_STONE, 1);
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
else
|
||||
{
|
||||
qs.set("" + npc.getId(), "true");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -354,6 +354,7 @@ import quests.Q10813_ForGlory.Q10813_ForGlory;
|
||||
import quests.Q10814_BefittingOfTheStatus.Q10814_BefittingOfTheStatus;
|
||||
import quests.Q10815_StepUp.Q10815_StepUp;
|
||||
import quests.Q10817_ExaltedOneWhoOvercomesTheLimit.Q10817_ExaltedOneWhoOvercomesTheLimit;
|
||||
import quests.Q10818_ConfrontingAGiantMonster.Q10818_ConfrontingAGiantMonster;
|
||||
|
||||
/**
|
||||
* @author NosBit
|
||||
@ -698,7 +699,8 @@ public class QuestMasterHandler
|
||||
Q10813_ForGlory.class,
|
||||
Q10814_BefittingOfTheStatus.class,
|
||||
Q10815_StepUp.class,
|
||||
Q10817_ExaltedOneWhoOvercomesTheLimit.class
|
||||
Q10817_ExaltedOneWhoOvercomesTheLimit.class,
|
||||
Q10818_ConfrontingAGiantMonster.class
|
||||
};
|
||||
|
||||
public static void main(String[] args)
|
||||
|
Loading…
Reference in New Issue
Block a user