Quest Exalted, One Who Shatters the Limit (10823).

This commit is contained in:
MobiusDev 2016-07-30 17:20:29 +00:00
parent b372c0cdb5
commit 109ad137d9
12 changed files with 189 additions and 2 deletions

View File

@ -163,7 +163,6 @@
10806 The Dimensional Warp, Part 6 10806 The Dimensional Warp, Part 6
10807 The Dimensional Warp, Part 7 10807 The Dimensional Warp, Part 7
10809 The Hero's Journey: Blazing Swamp 10809 The Hero's Journey: Blazing Swamp
10823 Exalted, One Who Shatters the Limit
10824 Confronting the Greatest Danger 10824 Confronting the Greatest Danger
10825 For Victory 10825 For Victory
10826 Luck Befitting of the Status 10826 Luck Befitting of the Status

View File

@ -26,6 +26,7 @@ import quests.Q10811_ExaltedOneWhoFacesTheLimit.Q10811_ExaltedOneWhoFacesTheLimi
/** /**
* Exalted, One Who Overcomes the Limit (10817) * Exalted, One Who Overcomes the Limit (10817)
* @URL https://l2wiki.com/Exalted,_One_Who_Overcomes_the_Limit
* @author Mobius * @author Mobius
*/ */
public final class Q10817_ExaltedOneWhoOvercomesTheLimit extends Quest public final class Q10817_ExaltedOneWhoOvercomesTheLimit extends Quest

View File

@ -0,0 +1,5 @@
<html><body>Eva's Knight Lionel Hunter:<br>
Great job passing the second test. I knew you would be able to do it.<br>
Now, only the third test is left. Are you ready for it?<br>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10823_ExaltedOneWhoShattersTheLimit 33907-03.htm">"Yes, I'm ready."</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Eva's Knight Lionel Hunter:<br>
You are not ready to be called by me. Come back when you are ready.<br>
(Only characters who have completed the Exalted, One Who Overcomes the Limit quest may take this quest.)
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Eva's Knight Lionel Hunter:<br>
All the efforts you've made so far are simple compared to what you'll have to do now.<br>
You must remember that it is not about overcoming the limit, but about learning that there's no limit at all. Do you understand what I'm saying?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10823_ExaltedOneWhoShattersTheLimit 33907-04.htm">"Yes."</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Eva's Knight Lionel Hunter:<br>
You've already overcome your limit. There's no such thing as a limit now. That's what you will be proving on this third test.<br>
The things you've obtained as you improved will make you even stronger, and what you will obtain from now on will help you prove yourself.<br>
Are you ready to not go back?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10823_ExaltedOneWhoShattersTheLimit 33907-05.html">"I'm ready."</Button>
</body></html>

View File

@ -0,0 +1,7 @@
<html><body>Eva's Knight Lionel Hunter:<br>
This is the third test.<br>
You must overcome not just the limit of the power you were born with, but also the limit of the new power you obtained.<br>
Make sure your <font color="LEVEL">Dual Class</font> also reaches <font color="LEVEL">Lv. 100</font>. Then, go find <font color="LEVEL">Merlot</font> in <font color="LEVEL">Hunter's Village</font>, <font color="LEVEL">Captain Kurtiz</font> in the <font color="LEVEL">Town of Aden</font>, the <font color="LEVEL">Blacksmith of Mammon</font>, and <font color="LEVEL">Sir Gustav Athebaldt</font> in the <font color="LEVEL">Town of Oren</font>, and pass the tests they give you. It's best that you hear about the tests from them.<br><br><br>
Remember to bring back their certificates.<br>
If you forget who you must go to, refer to the guide I'll be giving you.
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Eva's Knight Lionel Hunter:<br>
You haven't finished all the tests. In order to overcome your limit, you must pass all the tests.<br>
You must overcome not just the limit of the power you were born with, but also the limit of the new power you obtained.<br>
Make sure your <font color="LEVEL">Dual Class</font> also reaches <font color="LEVEL">Lv. 100</font>. Then, go find <font color="LEVEL">Merlot</font> in <font color="LEVEL">Hunter's Village</font>, <font color="LEVEL">Captain Kurtiz</font> in the <font color="LEVEL">Town of Aden</font>, the <font color="LEVEL">Blacksmith of Mammon</font>, and <font color="LEVEL">Sir Gustav Athebaldt</font> in the <font color="LEVEL">Town of Oren</font>, and pass the tests they give you.<br>
It's best that you hear about the tests from them. Remember to bring back their certificates.
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Eva's Knight Lionel Hunter:<br>
You've completed a long journey. Good job. I'm glad to see you haven't given up.<br>
Do you have all the certificates?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10823_ExaltedOneWhoShattersTheLimit 33907-08.html">"Yes, here."</Button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Eva's Knight Lionel Hunter:<br>
The power given to us by the gods... we called it Noblesse. But you've proven that we are now able to overcome any limits without the protection of the gods.<br>
Now that you've shattered the limits set by the gods, we will call you <font color="LEVEL">Exalted</font>. You are now one step above Noblesse. Congratulations.
</body></html>

View File

@ -0,0 +1,143 @@
/*
* 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.Q10823_ExaltedOneWhoShattersTheLimit;
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;
/**
* Exalted, One Who Shatters the Limit (10823)
* @URL https://l2wiki.com/Exalted,_One_Who_Shatters_the_Limit
* @author Mobius
*/
public final class Q10823_ExaltedOneWhoShattersTheLimit extends Quest
{
// NPC
private static final int LIONEL = 33907;
// Items
private static final int MERLOT_SERTIFICATE = 46056;
private static final int KURTIZ_CERTIFICATE = 46057;
private static final int MAMMON_CERTIFICATE = 45635;
private static final int GUSTAV_CERTIFICATE = 45636;
private static final int LIONEL_MISSION_LIST_3 = 45637;
// Rewards
private static final int EXALTED_CLOAK = 37763;
private static final int OBTAIN_EXALTED_STATUS = 45638;
private static final int EXALTED_TIARA = 45644;
private static final int DIGNITY_OF_THE_EXALTED = 45924;
// Misc
private static final int MIN_LEVEL = 100;
private static final int MIN_DUALCLASS_LEVEL = 100;
public Q10823_ExaltedOneWhoShattersTheLimit()
{
super(10823);
addStartNpc(LIONEL);
addTalkId(LIONEL);
addCondMinLevel(MIN_LEVEL, "");
addCondCompletedQuest(Q10817_ExaltedOneWhoOvercomesTheLimit.class.getSimpleName(), "33907-02.html");
registerQuestItems(LIONEL_MISSION_LIST_3, MERLOT_SERTIFICATE, KURTIZ_CERTIFICATE, MAMMON_CERTIFICATE, GUSTAV_CERTIFICATE);
}
@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 "33907-03.htm":
case "33907-04.htm":
{
htmltext = event;
break;
}
case "33907-05.html":
{
if (qs.isCreated())
{
giveItems(player, LIONEL_MISSION_LIST_3, 1);
qs.startQuest();
htmltext = event;
}
break;
}
case "33907-08.html":
{
if (hasQuestItems(player, MERLOT_SERTIFICATE, KURTIZ_CERTIFICATE, MAMMON_CERTIFICATE, GUSTAV_CERTIFICATE) && ((player.getDualClass() != null) && (player.getDualClass().getLevel() >= MIN_DUALCLASS_LEVEL)))
{
giveItems(player, EXALTED_CLOAK, 1);
giveItems(player, OBTAIN_EXALTED_STATUS, 1);
giveItems(player, EXALTED_TIARA, 1);
giveItems(player, DIGNITY_OF_THE_EXALTED, 1);
qs.exitQuest(false, true);
htmltext = event;
}
break;
}
}
return htmltext;
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
if (qs == null)
{
return htmltext;
}
switch (qs.getState())
{
case State.CREATED:
{
htmltext = "33907-01.htm";
break;
}
case State.STARTED:
{
if (hasQuestItems(player, MERLOT_SERTIFICATE, KURTIZ_CERTIFICATE, MAMMON_CERTIFICATE, GUSTAV_CERTIFICATE) && ((player.getDualClass() != null) && (player.getDualClass().getLevel() >= MIN_DUALCLASS_LEVEL)))
{
htmltext = "33907-07.html";
}
else
{
htmltext = "33907-06.html";
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
return htmltext;
}
}

View File

@ -360,6 +360,7 @@ import quests.Q10818_ConfrontingAGiantMonster.Q10818_ConfrontingAGiantMonster;
import quests.Q10819_ForHonor.Q10819_ForHonor; import quests.Q10819_ForHonor.Q10819_ForHonor;
import quests.Q10820_RelationshipsBefittingOfTheStatus.Q10820_RelationshipsBefittingOfTheStatus; import quests.Q10820_RelationshipsBefittingOfTheStatus.Q10820_RelationshipsBefittingOfTheStatus;
import quests.Q10821_HelpingOthers.Q10821_HelpingOthers; import quests.Q10821_HelpingOthers.Q10821_HelpingOthers;
import quests.Q10823_ExaltedOneWhoShattersTheLimit.Q10823_ExaltedOneWhoShattersTheLimit;
/** /**
* @author NosBit * @author NosBit
@ -710,7 +711,8 @@ public class QuestMasterHandler
Q10818_ConfrontingAGiantMonster.class, Q10818_ConfrontingAGiantMonster.class,
Q10819_ForHonor.class, Q10819_ForHonor.class,
Q10820_RelationshipsBefittingOfTheStatus.class, Q10820_RelationshipsBefittingOfTheStatus.class,
Q10821_HelpingOthers.class Q10821_HelpingOthers.class,
Q10823_ExaltedOneWhoShattersTheLimit.class
}; };
public static void main(String[] args) public static void main(String[] args)