From 4b707d727b9705f68ca563fe1b7da4e427f71fa2 Mon Sep 17 00:00:00 2001 From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com> Date: Sat, 30 Jul 2016 08:52:19 +0000 Subject: [PATCH] Quest Relationships Befitting of the Status (10820). --- .../data/scripts/quests/MissingQuests.txt | 1 - .../Q10819_ForHonor/Q10819_ForHonor.java | 1 - .../32615-01.htm | 6 + .../32615-02.html | 4 + .../32615-03.html | 4 + .../32615-04.htm | 7 + .../32615-05.htm | 7 + .../32615-06.htm | 7 + .../32615-07.html | 5 + .../32615-08.html | 5 + .../32615-09.html | 3 + .../32615-10.html | 3 + .../32615-11.html | 5 + .../32615-12.html | 4 + .../32615-13.html | 5 + ...820_RelationshipsBefittingOfTheStatus.java | 181 ++++++++++++++++++ .../scripts/quests/QuestMasterHandler.java | 4 +- 17 files changed, 249 insertions(+), 3 deletions(-) create mode 100644 trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-01.htm create mode 100644 trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-02.html create mode 100644 trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-03.html create mode 100644 trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-04.htm create mode 100644 trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-05.htm create mode 100644 trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-06.htm create mode 100644 trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-07.html create mode 100644 trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-08.html create mode 100644 trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-09.html create mode 100644 trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-10.html create mode 100644 trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-11.html create mode 100644 trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-12.html create mode 100644 trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-13.html create mode 100644 trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/Q10820_RelationshipsBefittingOfTheStatus.java diff --git a/trunk/dist/game/data/scripts/quests/MissingQuests.txt b/trunk/dist/game/data/scripts/quests/MissingQuests.txt index a34a1ff3fb..b50c23d5fc 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 -10820 Relationships Befitting of the Status 10821 Helping Others 10823 Exalted, One Who Shatters the Limit 10824 Confronting the Greatest Danger diff --git a/trunk/dist/game/data/scripts/quests/Q10819_ForHonor/Q10819_ForHonor.java b/trunk/dist/game/data/scripts/quests/Q10819_ForHonor/Q10819_ForHonor.java index bc5b61cfc7..8bc9bd5eb8 100644 --- a/trunk/dist/game/data/scripts/quests/Q10819_ForHonor/Q10819_ForHonor.java +++ b/trunk/dist/game/data/scripts/quests/Q10819_ForHonor/Q10819_ForHonor.java @@ -103,7 +103,6 @@ public final class Q10819_ForHonor extends Quest giveItems(player, BATTLE_QUICK_HEALING_POTION, 180); giveItems(player, OLYMPIAD_MANAGER_CERTIFICATE, 1); qs.exitQuest(false, true); - htmltext = event; } else { diff --git a/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-01.htm b/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-01.htm new file mode 100644 index 0000000000..d59d0b3cf8 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-01.htm @@ -0,0 +1,6 @@ +Maestro Ishuma:
+What brings you here?
+Did Lionel send you? Hmm... I see. I didn't think he would be able to find someone to send to me.
+Let's see... How do you maintain your equipment? You know that it's not all about strength, right?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-02.html b/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-02.html new file mode 100644 index 0000000000..f7f8e6b50e --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-02.html @@ -0,0 +1,4 @@ +Maestro Ishuma:
+Who are you? Did you get lost?
+(Only characters above Lv. 99.) + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-03.html b/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-03.html new file mode 100644 index 0000000000..d643fa2b9e --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-03.html @@ -0,0 +1,4 @@ +Maestro Ishuma:
+I don't know where you heard this story, but you need to talk to Lionel first.
+(Only characters who are performing 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/Q10820_RelationshipsBefittingOfTheStatus/32615-04.htm b/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-04.htm new file mode 100644 index 0000000000..6e5ebd23ba --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-04.htm @@ -0,0 +1,7 @@ +Maestro Ishuma:
+Good. Well, I would like to ask you to craft a Citrine Pendant.
+Why a pendant, you ask? I believe there are a few conditions you must meet in order to become a strong warrior.
+For me, having you craft a Citrine Pendant is the easiest way to check that you've got what it takes.
+It looks like you need a better explanation?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-05.htm b/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-05.htm new file mode 100644 index 0000000000..01711862a5 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-05.htm @@ -0,0 +1,7 @@ +Maestro Ishuma:
+Well, here's an easier explanation. In order to craft a Citrine Pendant, you need two things.
+First, you must be an experienced Maestro. If you are not a top-class artisan, you won't be able to even try crafting this item. It looks like you meet this condition.
+The second is luck. Without luck, it won't matter how great of a Maestro you are.
+I believe that in order to become strong, you must have someone who can maintain your equipment, and the better luck you have, the bigger the chances that you'll get stronger.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-06.htm b/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-06.htm new file mode 100644 index 0000000000..f1f07e30b4 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-06.htm @@ -0,0 +1,7 @@ +Maestro Ishuma:
+Well, here's an easier explanation. In order to craft a Citrine Pendant, you need two things.
+First, you need an experienced Maestro. One must be a top-class artisan to even try crafting this item. It's great if you have someone who can maintain your equipment for you, but if you don't, you must maintain a good relationship with an experienced Maestro at all times.
+The second is luck. Without luck, it won't matter how great of a Maestro one is.
+I believe that in order to become strong, you must have someone who can maintain your equipment, and the better luck you have, the bigger the chances that you'll get stronger.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-07.html b/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-07.html new file mode 100644 index 0000000000..78aafd7fcf --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-07.html @@ -0,0 +1,5 @@ +Maestro Ishuma:
+Well, if you got that, take the materials I give you and try making one.
+If you need more Recipe: Citrine Pendant or Citrine Pendant Fragments let me know. You'll have to get the other materials, though.
+Here, take them. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-08.html b/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-08.html new file mode 100644 index 0000000000..63bd7bc901 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-08.html @@ -0,0 +1,5 @@ +Maestro Ishuma:
+It looks like you still haven't completed the Citrine Pendant. Do you need more materials? What do you need?
+ + + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-09.html b/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-09.html new file mode 100644 index 0000000000..448cf05224 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-09.html @@ -0,0 +1,3 @@ +Maestro Ishuma:
+Here. Don't forget that this is something a Maestro needs. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-10.html b/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-10.html new file mode 100644 index 0000000000..3df22e4286 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-10.html @@ -0,0 +1,3 @@ +Maestro Ishuma:
+Here. Will 10 fragments be enough? I can give you more if you need. You won't find much use for them anywhere else, so don't be greedy. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-11.html b/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-11.html new file mode 100644 index 0000000000..5dc92434f6 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-11.html @@ -0,0 +1,5 @@ +Maestro Ishuma:
+Did you make it?
+I thought it would take long, but you came back faster than I thought. Let me take a look.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-12.html b/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-12.html new file mode 100644 index 0000000000..d2a0ee2ca4 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-12.html @@ -0,0 +1,4 @@ +Maestro Ishuma:
+Oh, this really is a Citrine Pendant.
+It looks perfect. Here's the certificate. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-13.html b/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-13.html new file mode 100644 index 0000000000..d9d710a801 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/32615-13.html @@ -0,0 +1,5 @@ +Maestro Ishuma:
+Oh, this really is a Citrine Pendant.
+It looks perfect. Here's the certificate.
+It looks like you've finished the other tests as well. Go see Lionel now. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/Q10820_RelationshipsBefittingOfTheStatus.java b/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/Q10820_RelationshipsBefittingOfTheStatus.java new file mode 100644 index 0000000000..6ef67a91bb --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10820_RelationshipsBefittingOfTheStatus/Q10820_RelationshipsBefittingOfTheStatus.java @@ -0,0 +1,181 @@ +/* + * 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.Q10820_RelationshipsBefittingOfTheStatus; + +import com.l2jmobius.gameserver.enums.CategoryType; +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; + +/** + * Relationships Befitting of the Status (10820) + * @URL https://l2wiki.com/Relationships_Befitting_of_the_Status + * @author Mobius + */ +public final class Q10820_RelationshipsBefittingOfTheStatus extends Quest +{ + // NPC + private static final int ISHUMA = 32615; + // Items + private static final int CITRINE_PENDANT = 45640; + private static final int CITRINE_PENDANT_FRAGMENT = 45639; + private static final int CITRINE_PENDANT_RECIPE = 45643; + private static final int DAICHIR_SERTIFICATE = 45628; + private static final int OLYMPIAD_MANAGER_CERTIFICATE = 45629; + private static final int SIR_KRISTOF_RODEMAI_CERTIFICATE = 45631; + // Rewards + private static final int ISHUMA_CERTIFICATE = 45630; + private static final int ETERNAL_ARMOR_CRAFTING_PACK = 39324; + // Misc + private static final int MIN_LEVEL = 99; + + public Q10820_RelationshipsBefittingOfTheStatus() + { + super(10820); + addStartNpc(ISHUMA); + addTalkId(ISHUMA); + addCondMinLevel(MIN_LEVEL, "32615-02.html"); + addCondStartedQuest(Q10817_ExaltedOneWhoOvercomesTheLimit.class.getSimpleName(), "32615-03.html"); + registerQuestItems(CITRINE_PENDANT, CITRINE_PENDANT_FRAGMENT, CITRINE_PENDANT_RECIPE); + } + + @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 "32615-04.htm": + { + htmltext = event; + break; + } + case "32615-05.htm": + { + if (!player.isInCategory(CategoryType.WARSMITH_GROUP)) + { + htmltext = "32615-06.htm"; + } + else + { + htmltext = event; + } + break; + } + case "32615-07.html": + { + if (qs.isCreated()) + { + giveItems(player, CITRINE_PENDANT_RECIPE, 1); + giveItems(player, CITRINE_PENDANT_FRAGMENT, 10); + qs.startQuest(); + htmltext = event; + } + break; + } + case "32615-09.html": + { + if (qs.isCond(1)) + { + giveItems(player, CITRINE_PENDANT_RECIPE, 1); + htmltext = event; + } + break; + } + case "32615-10.html": + { + if (qs.isCond(1)) + { + giveItems(player, CITRINE_PENDANT_FRAGMENT, 10); + htmltext = event; + } + break; + } + case "32615-12.html": + { + if (qs.isCond(1) && hasQuestItems(player, CITRINE_PENDANT)) + { + if ((player.getLevel() >= MIN_LEVEL)) + { + if (hasQuestItems(player, DAICHIR_SERTIFICATE, OLYMPIAD_MANAGER_CERTIFICATE, SIR_KRISTOF_RODEMAI_CERTIFICATE)) + { + htmltext = "32615-13.html"; + } + else + { + htmltext = event; + } + takeItems(player, CITRINE_PENDANT, -1); + giveItems(player, ETERNAL_ARMOR_CRAFTING_PACK, 1); + giveItems(player, ISHUMA_CERTIFICATE, 1); + qs.exitQuest(false, true); + } + else + { + htmltext = getNoQuestLevelRewardMsg(player); + } + } + 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 = "32615-01.htm"; + break; + } + case State.STARTED: + { + if (hasQuestItems(player, CITRINE_PENDANT)) + { + htmltext = "32615-11.html"; + } + else + { + htmltext = "32615-08.html"; + } + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + return htmltext; + } +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java b/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java index 4dc49004ed..b47fec907c 100644 --- a/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -358,6 +358,7 @@ import quests.Q10815_StepUp.Q10815_StepUp; import quests.Q10817_ExaltedOneWhoOvercomesTheLimit.Q10817_ExaltedOneWhoOvercomesTheLimit; import quests.Q10818_ConfrontingAGiantMonster.Q10818_ConfrontingAGiantMonster; import quests.Q10819_ForHonor.Q10819_ForHonor; +import quests.Q10820_RelationshipsBefittingOfTheStatus.Q10820_RelationshipsBefittingOfTheStatus; /** * @author NosBit @@ -706,7 +707,8 @@ public class QuestMasterHandler Q10815_StepUp.class, Q10817_ExaltedOneWhoOvercomesTheLimit.class, Q10818_ConfrontingAGiantMonster.class, - Q10819_ForHonor.class + Q10819_ForHonor.class, + Q10820_RelationshipsBefittingOfTheStatus.class }; public static void main(String[] args)