From 109ad137d9d32cf7edb890ba6be685bed645637e Mon Sep 17 00:00:00 2001
From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com>
Date: Sat, 30 Jul 2016 17:20:29 +0000
Subject: [PATCH] Quest Exalted, One Who Shatters the Limit (10823).
---
.../data/scripts/quests/MissingQuests.txt | 1 -
...Q10817_ExaltedOneWhoOvercomesTheLimit.java | 1 +
.../33907-01.htm | 5 +
.../33907-02.html | 4 +
.../33907-03.htm | 5 +
.../33907-04.htm | 6 +
.../33907-05.html | 7 +
.../33907-06.html | 6 +
.../33907-07.html | 5 +
.../33907-08.html | 4 +
.../Q10823_ExaltedOneWhoShattersTheLimit.java | 143 ++++++++++++++++++
.../scripts/quests/QuestMasterHandler.java | 4 +-
12 files changed, 189 insertions(+), 2 deletions(-)
create mode 100644 trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-01.htm
create mode 100644 trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-02.html
create mode 100644 trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-03.htm
create mode 100644 trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-04.htm
create mode 100644 trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-05.html
create mode 100644 trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-06.html
create mode 100644 trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-07.html
create mode 100644 trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-08.html
create mode 100644 trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/Q10823_ExaltedOneWhoShattersTheLimit.java
diff --git a/trunk/dist/game/data/scripts/quests/MissingQuests.txt b/trunk/dist/game/data/scripts/quests/MissingQuests.txt
index b6a7bbe889..cee0a84291 100644
--- a/trunk/dist/game/data/scripts/quests/MissingQuests.txt
+++ b/trunk/dist/game/data/scripts/quests/MissingQuests.txt
@@ -163,7 +163,6 @@
10806 The Dimensional Warp, Part 6
10807 The Dimensional Warp, Part 7
10809 The Hero's Journey: Blazing Swamp
-10823 Exalted, One Who Shatters the Limit
10824 Confronting the Greatest Danger
10825 For Victory
10826 Luck Befitting of the Status
diff --git a/trunk/dist/game/data/scripts/quests/Q10817_ExaltedOneWhoOvercomesTheLimit/Q10817_ExaltedOneWhoOvercomesTheLimit.java b/trunk/dist/game/data/scripts/quests/Q10817_ExaltedOneWhoOvercomesTheLimit/Q10817_ExaltedOneWhoOvercomesTheLimit.java
index 66ce85e421..c9b9e000da 100644
--- a/trunk/dist/game/data/scripts/quests/Q10817_ExaltedOneWhoOvercomesTheLimit/Q10817_ExaltedOneWhoOvercomesTheLimit.java
+++ b/trunk/dist/game/data/scripts/quests/Q10817_ExaltedOneWhoOvercomesTheLimit/Q10817_ExaltedOneWhoOvercomesTheLimit.java
@@ -26,6 +26,7 @@ import quests.Q10811_ExaltedOneWhoFacesTheLimit.Q10811_ExaltedOneWhoFacesTheLimi
/**
* Exalted, One Who Overcomes the Limit (10817)
+ * @URL https://l2wiki.com/Exalted,_One_Who_Overcomes_the_Limit
* @author Mobius
*/
public final class Q10817_ExaltedOneWhoOvercomesTheLimit extends Quest
diff --git a/trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-01.htm b/trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-01.htm
new file mode 100644
index 0000000000..ffdc546045
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-01.htm
@@ -0,0 +1,5 @@
+
Eva's Knight Lionel Hunter:
+Great job passing the second test. I knew you would be able to do it.
+Now, only the third test is left. Are you ready for it?
+
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-02.html b/trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-02.html
new file mode 100644
index 0000000000..d284cbffef
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-02.html
@@ -0,0 +1,4 @@
+Eva's Knight Lionel Hunter:
+You are not ready to be called by me. Come back when you are ready.
+(Only characters who have completed the Exalted, One Who Overcomes the Limit quest may take this quest.)
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-03.htm b/trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-03.htm
new file mode 100644
index 0000000000..d166ed6d39
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-03.htm
@@ -0,0 +1,5 @@
+Eva's Knight Lionel Hunter:
+All the efforts you've made so far are simple compared to what you'll have to do now.
+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?
+
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-04.htm b/trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-04.htm
new file mode 100644
index 0000000000..d8c8d74342
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-04.htm
@@ -0,0 +1,6 @@
+Eva's Knight Lionel Hunter:
+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.
+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.
+Are you ready to not go back?
+
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-05.html b/trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-05.html
new file mode 100644
index 0000000000..432eea9560
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-05.html
@@ -0,0 +1,7 @@
+Eva's Knight Lionel Hunter:
+This is the third test.
+You must overcome not just the limit of the power you were born with, but also the limit of the new power you obtained.
+Make sure your Dual Class also reaches Lv. 100. Then, go find Merlot in Hunter's Village, Captain Kurtiz in the Town of Aden, the Blacksmith of Mammon, and Sir Gustav Athebaldt in the Town of Oren, and pass the tests they give you. It's best that you hear about the tests from them.
+Remember to bring back their certificates.
+If you forget who you must go to, refer to the guide I'll be giving you.
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-06.html b/trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-06.html
new file mode 100644
index 0000000000..3a7f0ebf5b
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-06.html
@@ -0,0 +1,6 @@
+Eva's Knight Lionel Hunter:
+You haven't finished all the tests. In order to overcome your limit, you must pass all the tests.
+You must overcome not just the limit of the power you were born with, but also the limit of the new power you obtained.
+Make sure your Dual Class also reaches Lv. 100. Then, go find Merlot in Hunter's Village, Captain Kurtiz in the Town of Aden, the Blacksmith of Mammon, and Sir Gustav Athebaldt in the Town of Oren, and pass the tests they give you.
+It's best that you hear about the tests from them. Remember to bring back their certificates.
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-07.html b/trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-07.html
new file mode 100644
index 0000000000..62df5c3399
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-07.html
@@ -0,0 +1,5 @@
+Eva's Knight Lionel Hunter:
+You've completed a long journey. Good job. I'm glad to see you haven't given up.
+Do you have all the certificates?
+
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-08.html b/trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-08.html
new file mode 100644
index 0000000000..b5b27326be
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/33907-08.html
@@ -0,0 +1,4 @@
+Eva's Knight Lionel Hunter:
+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.
+Now that you've shattered the limits set by the gods, we will call you Exalted. You are now one step above Noblesse. Congratulations.
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/Q10823_ExaltedOneWhoShattersTheLimit.java b/trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/Q10823_ExaltedOneWhoShattersTheLimit.java
new file mode 100644
index 0000000000..7e87c33783
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q10823_ExaltedOneWhoShattersTheLimit/Q10823_ExaltedOneWhoShattersTheLimit.java
@@ -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 .
+ */
+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;
+ }
+}
diff --git a/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java b/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java
index 2cc368f56b..e12e2fc9e4 100644
--- a/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java
+++ b/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java
@@ -360,6 +360,7 @@ import quests.Q10818_ConfrontingAGiantMonster.Q10818_ConfrontingAGiantMonster;
import quests.Q10819_ForHonor.Q10819_ForHonor;
import quests.Q10820_RelationshipsBefittingOfTheStatus.Q10820_RelationshipsBefittingOfTheStatus;
import quests.Q10821_HelpingOthers.Q10821_HelpingOthers;
+import quests.Q10823_ExaltedOneWhoShattersTheLimit.Q10823_ExaltedOneWhoShattersTheLimit;
/**
* @author NosBit
@@ -710,7 +711,8 @@ public class QuestMasterHandler
Q10818_ConfrontingAGiantMonster.class,
Q10819_ForHonor.class,
Q10820_RelationshipsBefittingOfTheStatus.class,
- Q10821_HelpingOthers.class
+ Q10821_HelpingOthers.class,
+ Q10823_ExaltedOneWhoShattersTheLimit.class
};
public static void main(String[] args)