diff --git a/trunk/dist/db_installer/sql/game/spawnlist.sql b/trunk/dist/db_installer/sql/game/spawnlist.sql index 5fe2f73421..275fd4bc19 100644 --- a/trunk/dist/db_installer/sql/game/spawnlist.sql +++ b/trunk/dist/db_installer/sql/game/spawnlist.sql @@ -49699,3 +49699,14 @@ INSERT INTO `spawnlist` VALUES ('Harnak Underground', 1, 22942, -111645, 180192, -13800, 0, 0, 61962, 60, 0, 0, 0), ('Harnak Underground', 1, 22939, -111852, 180740, -13800, 0, 0, 59692, 60, 0, 0, 0), ('Harnak Underground', 1, 33323, -111797, 180482, -13784, 0, 0, 0, 60, 0, 0, 0); + +-- Parnassus +INSERT INTO `spawnlist` VALUES +('Parnassus', 1, 33044, 149369, 174231, -896, 0, 0, 48000, 60, 0, 0, 0), --Fioren +('Parnassus', 1, 33523, 148296, 172792, -976, 0, 0, 48000, 60, 0, 0, 0), -- Crystal Prison Entrance +('Parnassus', 1, 33522, 150463, 172791, -952, 0, 0, 48000, 60, 0, 0, 0), -- Entrance Portal to Crystal Caverns +('Parnassus', 1, 33569, 149806, 173646, -952, 0, 0, 48000, 60, 0, 0, 0), -- Hermuncus Minion GK +('Parnassus', 1, 32359, 148328, 173880, -980, 0, 0, 48000, 60, 0, 0, 0); -- Lahm Blacksmith of Power + +-- Isle of The Souls Harbor +INSERT INTO `spawnlist` VALUES ('Stronghold III', 1, 33796, -85919, 37167, -2048, 0, 0, 48000, 60, 0, 0, 0); -- Verda diff --git a/trunk/dist/game/data/html/default/33044.htm b/trunk/dist/game/data/html/default/33044.htm new file mode 100644 index 0000000000..e62e7382d6 --- /dev/null +++ b/trunk/dist/game/data/html/default/33044.htm @@ -0,0 +1,6 @@ +Fioren:
+Not only was Beleth and his adherents, so now threatens the world is also the Goddess of Destruction. In these difficult times we must look for the way of salvation in an alliance with the gods. Hopefully, Eva will not leave you ...
+ + + + \ No newline at end of file diff --git a/trunk/dist/game/data/html/default/33522.htm b/trunk/dist/game/data/html/default/33522.htm new file mode 100644 index 0000000000..fe52e828ef --- /dev/null +++ b/trunk/dist/game/data/html/default/33522.htm @@ -0,0 +1,4 @@ +Portal to Crystal Caverns:
+You can enter to Crystal Caverns.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/html/default/33523.htm b/trunk/dist/game/data/html/default/33523.htm new file mode 100644 index 0000000000..f5f9f898d8 --- /dev/null +++ b/trunk/dist/game/data/html/default/33523.htm @@ -0,0 +1,4 @@ +Crystal prison teleporter:
+ + + \ No newline at end of file diff --git a/trunk/dist/game/data/html/default/33872-2.htm b/trunk/dist/game/data/html/default/33872-2.htm new file mode 100644 index 0000000000..23663f167a --- /dev/null +++ b/trunk/dist/game/data/html/default/33872-2.htm @@ -0,0 +1,4 @@ +Aden's Wizard Jenna:
+That you defied Lindvior?
+(The award is given only to members of the detachment, fought with Lindvior.) + \ No newline at end of file diff --git a/trunk/dist/game/data/html/default/33872.htm b/trunk/dist/game/data/html/default/33872.htm index 9bdda6d3b6..a4b715211d 100644 --- a/trunk/dist/game/data/html/default/33872.htm +++ b/trunk/dist/game/data/html/default/33872.htm @@ -2,7 +2,7 @@ We completed the force field just in time for the Altar of Sacrifice, but a Wind Dragon appears out of nowhere!
Have you seen a dragon? You wouldn't believe your eyes!
- - + + \ No newline at end of file diff --git a/trunk/dist/game/data/multisell/2046.xml b/trunk/dist/game/data/multisell/2046.xml new file mode 100644 index 0000000000..834c8fca55 --- /dev/null +++ b/trunk/dist/game/data/multisell/2046.xml @@ -0,0 +1,12 @@ + + + + 33872 + + + + + + + + \ No newline at end of file diff --git a/trunk/dist/game/data/multisell/773.xml b/trunk/dist/game/data/multisell/773.xml new file mode 100644 index 0000000000..dfd0412592 --- /dev/null +++ b/trunk/dist/game/data/multisell/773.xml @@ -0,0 +1,138 @@ + + + + 33044 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-01.htm b/trunk/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-01.htm new file mode 100644 index 0000000000..b22ae82cee --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-01.htm @@ -0,0 +1,4 @@ +Fioren:
+The danger posed by Shilen, gradually approaching. If the Queen of Death wake up, I can not imagine to what tip the chaos of this world. And the stronger the influence of Shilen, the stronger her children, dragons. Amid the chaos, the Crystal Maze began to appear powerful demons. I do not know what they are woven intrigue, but there is no reason to doubt that they need to stop.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-02.html b/trunk/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-02.html new file mode 100644 index 0000000000..35cba6bb1a --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-02.html @@ -0,0 +1,4 @@ +Fioren:
+The world is caught up in evil and cruelty. We have to constantly train and temper ourselves to survive. I see you are still not ready to fully prepared to meet whatever fate has prepared for you.
+(This quest is available after the 97th level.) + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-03.html b/trunk/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-03.html new file mode 100644 index 0000000000..e3c4d1b2f3 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-03.html @@ -0,0 +1,4 @@ +Fioren:
+We must guard against not only the Goddess of Death. Also represent a threat to "Children of Shilen" and the hordes of demons from hell present themselves here. Need your help is growing. Please do not forget about the development and cultivation.
+(Quest is completed.) + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-04.htm b/trunk/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-04.htm new file mode 100644 index 0000000000..c51f6c12e3 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-04.htm @@ -0,0 +1,4 @@ +Fioren:
+The Crystal Maze is a kind of prison for those who came not to the liking of Fafurionu. There were these poor horrible torture. However, as we know, has long been Fafurion escaped from these places. Now, Maze became a haven for demons, which has caused Belef. Some of these demons, by the way, supports Shilen in its desire to destroy the world.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-05.htm b/trunk/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-05.htm new file mode 100644 index 0000000000..eb47555f5d --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-05.htm @@ -0,0 +1,4 @@ +Fioren:
+Now Crystal Caverns is in the hands caused by demons and Belefom Baylor, who directs. I think they're trying to get by with Fafuriona Fanariona Gems, located in the depths of the Crystal Caverns. And demons and minions Shilen represent a huge threat to us, but if they can awaken Fanarion ... Oh, with this disaster, I think we will not cope. We must stop as soon as Baylor and his demons. Please help me.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-06.html b/trunk/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-06.html new file mode 100644 index 0000000000..1da37772c6 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-06.html @@ -0,0 +1,3 @@ +Fioren:
+I ask you to liquidate the Guardian Baylor, located in the depth of the Crystal Caverns, and then bring it to me signs. We will be able to release Parnas from the influence of demons only if the conduct of these signs cleansing ritual. Know the demon Baylor - not a weak opponent, so bring on the battle with him as much as possible allies. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-07.html b/trunk/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-07.html new file mode 100644 index 0000000000..1da37772c6 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-07.html @@ -0,0 +1,3 @@ +Fioren:
+I ask you to liquidate the Guardian Baylor, located in the depth of the Crystal Caverns, and then bring it to me signs. We will be able to release Parnas from the influence of demons only if the conduct of these signs cleansing ritual. Know the demon Baylor - not a weak opponent, so bring on the battle with him as much as possible allies. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-08.html b/trunk/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-08.html new file mode 100644 index 0000000000..0dd08a20cd --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/33044-08.html @@ -0,0 +1,4 @@ +Fioren:
+So, you came, killing Baylor, along with his henchmen. This is good. Now we clean up Parnassus, having brought by ritual on your characters. We mzgonim of these places are evil spirits and demons.
+For his feats you deserve a reward. Here, take God be with you the blessing of Eve... + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/Q00180_InfernalFlamesBurningInCrystalPrison.java b/trunk/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/Q00180_InfernalFlamesBurningInCrystalPrison.java new file mode 100644 index 0000000000..40b995fd28 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00180_InfernalFlamesBurningInCrystalPrison/Q00180_InfernalFlamesBurningInCrystalPrison.java @@ -0,0 +1,122 @@ +/* + * 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.Q00180_InfernalFlamesBurningInCrystalPrison; + +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.enums.QuestType; +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.util.Util; + +/** + * @author hlwrave + * @URL https://l2wiki.com/Infernal_Flames_Burning_in_Crystal_Prison + */ +public class Q00180_InfernalFlamesBurningInCrystalPrison extends Quest +{ + // Npc + public static final int FIOREN = 33044; + // Monster + public static final int BAYLOR = 29213; + // Misc + public static final int MIN_LEVEL = 97; + // Quest Item + private static final int BELETH_MARK = 17591; + // Item + private static final int ENCHANT_SROLL_R = 22428; + + public Q00180_InfernalFlamesBurningInCrystalPrison() + { + super(180, Q00180_InfernalFlamesBurningInCrystalPrison.class.getSimpleName(), "Infernal Flames Burning In Crystal Prison"); + addStartNpc(FIOREN); + addTalkId(FIOREN); + registerQuestItems(BELETH_MARK); + addKillId(BAYLOR); + addCondMinLevel(MIN_LEVEL, "33044-02.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); + } + + if ("33044-06.html".equals(event)) + { + qs.startQuest(); + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + if (qs.isCreated()) + { + htmltext = "33044-01.htm"; + } + else if (qs.isStarted()) + { + if (qs.isCond(1)) + { + htmltext = "33044-07.html"; + } + else if (qs.isCond(2)) + { + takeItems(player, BELETH_MARK, -1); + giveItems(player, ENCHANT_SROLL_R, 1); + addExpAndSp(player, 14000000, 6400000); + qs.exitQuest(QuestType.ONE_TIME, true); + htmltext = "33044-08.html"; + } + } + else if (qs.isCompleted()) + { + htmltext = "33044-03.html"; + } + + return htmltext; + } + + @Override + public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && Util.checkIfInRange(1500, npc, player, false)) + { + giveItems(player, BELETH_MARK, 1); + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + qs.setCond(2, true); + } + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + executeForEachPlayer(killer, npc, isSummon, true, false); + return super.onKill(npc, killer, isSummon); + } +} diff --git a/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-01.htm b/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-01.htm new file mode 100644 index 0000000000..db5c77b22c --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-01.htm @@ -0,0 +1,4 @@ +Fioren:
+Situation became even more unfavorable. We believed that after the destruction of Baylor everything will be decided by itself…. However, new problem, it seems, arose. And consists it before the fact that the gem Of Fanarion concealed before the crystal labyrinth easily can pass beside the hands Of Beleth and its demons. If this happens, then it is necessary at the point of us tightly. Indeed Beleth - extremely powerful demon. However, first at the point of you one must battle not with it, but with its myrmidon.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-02.html b/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-02.html new file mode 100644 index 0000000000..04649a9ef7 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-02.html @@ -0,0 +1,4 @@ +Fioren:
+Peace of before the evil and the cruelty. Is necessary to be trained and to harden itself, in order to survive. You, I see, it is not still ready to fully armed meet everything that the fate prepared for you.
+(This Quest is accessible after reaching 97 of level and fulfillment of Quest "Flame Hell in the Crystal Prison") + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-03.html b/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-03.html new file mode 100644 index 0000000000..74601fcdd4 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-03.html @@ -0,0 +1,4 @@ +Fioren:
+We must be warned not only the goddess of death. They also present threat "Children Of Shillen" and the horde of the demons, which appeared here from hell. The need at the point of your aid all grows. I please not to forget you about the development and the self-perfection.
+(Quest is already completed.) + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-04.htm b/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-04.htm new file mode 100644 index 0000000000..89e9aee160 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-04.htm @@ -0,0 +1,4 @@ +Fioren:
+New demon they call Balok. It appeared before the labyrinth immediately after the loss Of Baylor. I, until now, reflect above the fact, who could call him. Certainly, most likely this made Beleth... However, that to sense to consider above this? One should as soon as possible get rid besides this Balok!
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-05.htm b/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-05.htm new file mode 100644 index 0000000000..8324f3654a --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-05.htm @@ -0,0 +1,5 @@ +Fioren:
+Only you upset the plans Of Baylor, as appeared new threat before the person Of Balok. Unhappy Parnassus How much still the invasions of demons will be able it to survive?
+Oh, great hero, whose might and bravery does not know boundaries… Can I turn down you with the request to destroy the demon Of Balok?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-06.html b/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-06.html new file mode 100644 index 0000000000..51dd7c3387 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-06.html @@ -0,0 +1,3 @@ +Fioren:
+It is clear that Balok where is stronger and more dangerous than Baylor, with which you battled earlier. But I believe that for you there is nothing impossible. Indeed you already proved that you do not surrender under no circumstances. Well, then step. But I will meanwhile pray Eva about your victory. By the way After killing Balok, bring, I please, its sign. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-07.html b/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-07.html new file mode 100644 index 0000000000..51dd7c3387 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-07.html @@ -0,0 +1,3 @@ +Fioren:
+It is clear that Balok where is stronger and more dangerous than Baylor, with which you battled earlier. But I believe that for you there is nothing impossible. Indeed you already proved that you do not surrender under no circumstances. Well, then step. But I will meanwhile pray Eva about your victory. By the way After killing Balok, bring, I please, its sign. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-08.html b/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-08.html new file mode 100644 index 0000000000..2ef0b074ed --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-08.html @@ -0,0 +1,4 @@ +Fioren:
+I greatly worried about you. It does mean, you did destroy Balok and its demons?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-09.html b/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-09.html new file mode 100644 index 0000000000..b0738ce2a2 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-09.html @@ -0,0 +1,3 @@ +Fioren:
+Thanks! Yes stores you Evan! + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-10.html b/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-10.html new file mode 100644 index 0000000000..c400562c61 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-10.html @@ -0,0 +1,4 @@ +Fioren:
+You selected the roll of the modification of the armors of rank R, 2 pieces. Here, take, if you please. +Yes stores you Evan! + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-11.html b/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-11.html new file mode 100644 index 0000000000..f28117ec4a --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/33044-11.html @@ -0,0 +1,4 @@ +Fioren:
+You selected sack with the amplifier of rank R, 2 pieces. Here, take, if you please. +Yes stores you Evan! + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/Q00181_DevilsStrikeBackAdventOfBalok.java b/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/Q00181_DevilsStrikeBackAdventOfBalok.java new file mode 100644 index 0000000000..14d388a31f --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00181_DevilsStrikeBackAdventOfBalok/Q00181_DevilsStrikeBackAdventOfBalok.java @@ -0,0 +1,155 @@ +/* + * 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.Q00181_DevilsStrikeBackAdventOfBalok; + +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.enums.QuestType; +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.util.Util; +import com.l2jmobius.util.Rnd; + +/** + * @hlwrave https://l2wiki.com/Devils_Strike_Back,_Advent_of_Balok + */ +public class Q00181_DevilsStrikeBackAdventOfBalok extends Quest +{ + // Npc + private static final int FIOREN = 33044; + // Monster + private static final int BALOK = 29218; + // Items + private static final int CONTRACT = 17592; + private static final int EAR = 17527; + private static final int EWR = 17526; + private static final int POUCH = 34861; + // Misc + public static final int MIN_LEVEL = 97; + + public Q00181_DevilsStrikeBackAdventOfBalok() + { + super(181, Q00181_DevilsStrikeBackAdventOfBalok.class.getSimpleName(), "Devils Strike Back Advent Of Balok"); + addStartNpc(FIOREN); + addTalkId(FIOREN); + addKillId(BALOK); + registerQuestItems(CONTRACT); + addCondMinLevel(MIN_LEVEL, "33044-02.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 "33044-06.html": + { + qs.startQuest(); + break; + } + case "reward": + { + addExpAndSp(player, 886750000, 414855000); + giveAdena(player, 37128000, true); + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + qs.exitQuest(QuestType.ONE_TIME, true); + switch (Rnd.get(2)) + { + case 0: + { + giveItems(player, EWR, 2); + return "33044-09.html"; + } + case 1: + { + giveItems(player, EAR, 2); + return "33044-10.html"; + } + case 2: + { + giveItems(player, POUCH, 2); + return "33044-11.html"; + } + } + 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 FIOREN: + { + if (qs.isCreated()) + { + htmltext = "33044-01.htm"; + } + else if (qs.isStarted()) + { + if (qs.isCond(1)) + { + htmltext = "33044-07.html"; + } + else if (qs.isCond(2)) + { + htmltext = "33044-08.html"; + } + } + else if (qs.isCompleted()) + { + htmltext = "33044-03.html"; + } + break; + } + } + return htmltext; + } + + @Override + public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1) && Util.checkIfInRange(1500, npc, player, false)) + { + giveItems(player, CONTRACT, 1); + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + qs.setCond(2, true); + } + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + executeForEachPlayer(killer, npc, isSummon, true, false); + return super.onKill(npc, killer, isSummon); + } +} diff --git a/trunk/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-01.htm b/trunk/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-01.htm new file mode 100644 index 0000000000..74e18717c3 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-01.htm @@ -0,0 +1,4 @@ +Fioren:
+I ask you to listen to me. Received a request from the Ivory Tower, and I think that you are best suited for this job.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-02.html b/trunk/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-02.html new file mode 100644 index 0000000000..c080ee64c3 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-02.html @@ -0,0 +1,4 @@ +Fioren:
+You have not inspire me enough confidence. I can not charge you a job. Someday you will be able to help us, but that time has not come yet.
+(This quest is available after the 97th level.) + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-03.htm b/trunk/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-03.htm new file mode 100644 index 0000000000..5df77fab5d --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-03.htm @@ -0,0 +1,4 @@ +Fioren:
+The Ivory Tower of great interest to the monsters of Beleth Crystal Maze. Was asked to destroy appeared in Pearlescent Hall Mignon Beleth, jailers Emambifi Hell, and get proof of his death. As you look at it? Will you help me?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-04.html b/trunk/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-04.html new file mode 100644 index 0000000000..f27f9ba47e --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-04.html @@ -0,0 +1,3 @@ +Fioren:
+All right. I repeat. Destroy jailer Hell Emambifi, Mignon Beleth designed to Pearl Hall. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-05.html b/trunk/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-05.html new file mode 100644 index 0000000000..f27f9ba47e --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-05.html @@ -0,0 +1,3 @@ +Fioren:
+All right. I repeat. Destroy jailer Hell Emambifi, Mignon Beleth designed to Pearl Hall. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-06.html b/trunk/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-06.html new file mode 100644 index 0000000000..0919920137 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-06.html @@ -0,0 +1,4 @@ +Fioren:
+How is it? You destroyed henchmen Beleth in Pearlescent Hall?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-07.html b/trunk/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-07.html new file mode 100644 index 0000000000..6da1824e57 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-07.html @@ -0,0 +1,3 @@ +Fioren:
+I was not wrong when you choose for the job. Here is the promised reward. If you find the time, come back tomorrow. I will have one more request for you. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-08.html b/trunk/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-08.html new file mode 100644 index 0000000000..1790f16c9c --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/33044-08.html @@ -0,0 +1,4 @@ +Fioren:
+If you find the time, come back tomorrow. I will have one more request for you.
+(This activity is available once a day. Quest update occurs daily at 6:30 am.) + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/Q00471_BreakingThroughTheEmeraldSquare.java b/trunk/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/Q00471_BreakingThroughTheEmeraldSquare.java new file mode 100644 index 0000000000..35974d2912 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00471_BreakingThroughTheEmeraldSquare/Q00471_BreakingThroughTheEmeraldSquare.java @@ -0,0 +1,124 @@ +/* + * 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.Q00471_BreakingThroughTheEmeraldSquare; + +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.enums.QuestType; +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.util.Util; + +/** + * @author hlwrave + * @URL https://l2wiki.com/Breaking_through_the_Emerald_Square + */ +public class Q00471_BreakingThroughTheEmeraldSquare extends Quest +{ + // Npc + public static final int FIOREN = 33044; + // Monster + public static final int EMABIFI = 25881; + // Misc + public static final int MIN_LEVEL = 97; + // Items + public static final int CERTIFICATE = 30387; + + public Q00471_BreakingThroughTheEmeraldSquare() + { + super(471, Q00471_BreakingThroughTheEmeraldSquare.class.getSimpleName(), "Breaking Through The Emerald Square"); + addStartNpc(FIOREN); + addTalkId(FIOREN); + addKillId(EMABIFI); + addCondMinLevel(MIN_LEVEL, "33044-02.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 "33044-04.html": + { + qs.startQuest(); + break; + } + case "33044-07.html": + { + giveItems(player, CERTIFICATE, 8); + qs.exitQuest(QuestType.DAILY, true); + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + if (qs.isCreated()) + { + htmltext = "33044-01.htm"; + } + else if (qs.isStarted()) + { + if (qs.isCond(1)) + { + htmltext = "33044-05.html"; + } + else if (qs.isCond(2)) + { + htmltext = "33044-06.html"; + } + } + else if (qs.isCompleted()) + { + htmltext = "33044-08.html"; + } + + return htmltext; + } + + @Override + public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1) && Util.checkIfInRange(1500, npc, player, false)) + { + qs.setCond(2, true); + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + executeForEachPlayer(killer, npc, isSummon, true, false); + return super.onKill(npc, killer, isSummon); + } +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-01.htm b/trunk/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-01.htm new file mode 100644 index 0000000000..6a2dbccfd8 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-01.htm @@ -0,0 +1,4 @@ +Fioren:
+I ask you to listen to me. Received a request from the Ivory Tower, and I think that you are best suited for this job.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-02.html b/trunk/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-02.html new file mode 100644 index 0000000000..c080ee64c3 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-02.html @@ -0,0 +1,4 @@ +Fioren:
+You have not inspire me enough confidence. I can not charge you a job. Someday you will be able to help us, but that time has not come yet.
+(This quest is available after the 97th level.) + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-03.htm b/trunk/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-03.htm new file mode 100644 index 0000000000..3676d1fe40 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-03.htm @@ -0,0 +1,4 @@ +Fioren:
+The Ivory Tower of great interest to the monsters of Beleth Crystal Maze. Was asked to destroy appeared in Fire Corridor Mignon Beleth, the Fire Knight Kechi, and bring proof of his death. As you look at it? Will you help me?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-04.html b/trunk/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-04.html new file mode 100644 index 0000000000..6aa7746bd2 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-04.html @@ -0,0 +1,3 @@ +Fioren:
+All right. I repeat. Destroy the Fire Knight Kechi, Mignon Beleth designed to Fire Corridor. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-05.html b/trunk/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-05.html new file mode 100644 index 0000000000..6aa7746bd2 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-05.html @@ -0,0 +1,3 @@ +Fioren:
+All right. I repeat. Destroy the Fire Knight Kechi, Mignon Beleth designed to Fire Corridor. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-06.html b/trunk/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-06.html new file mode 100644 index 0000000000..49fd15929f --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-06.html @@ -0,0 +1,4 @@ +Fioren:
+How is it? You destroyed henchmen Beleth in the Corridor of Fire?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-07.html b/trunk/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-07.html new file mode 100644 index 0000000000..6da1824e57 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-07.html @@ -0,0 +1,3 @@ +Fioren:
+I was not wrong when you choose for the job. Here is the promised reward. If you find the time, come back tomorrow. I will have one more request for you. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-08.html b/trunk/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-08.html new file mode 100644 index 0000000000..1790f16c9c --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/33044-08.html @@ -0,0 +1,4 @@ +Fioren:
+If you find the time, come back tomorrow. I will have one more request for you.
+(This activity is available once a day. Quest update occurs daily at 6:30 am.) + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/Q00472_ChallengeSteamCorridor.java b/trunk/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/Q00472_ChallengeSteamCorridor.java new file mode 100644 index 0000000000..b7582847b4 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00472_ChallengeSteamCorridor/Q00472_ChallengeSteamCorridor.java @@ -0,0 +1,125 @@ +/* + * 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.Q00472_ChallengeSteamCorridor; + +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.enums.QuestType; +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.util.Util; + +/** + * @author hlwrave + * @URL https://l2wiki.com/Challenge,_Steam_Corridor + */ +public class Q00472_ChallengeSteamCorridor extends Quest +{ + // Npc + public static final int FIOREN = 33044; + // Monster + public static final int KECHI = 25532; + // Mis + public static final int MIN_LEVEL = 97; + // Item + public static final int CERTIFICATE = 30387; + + public Q00472_ChallengeSteamCorridor() + { + super(472, Q00472_ChallengeSteamCorridor.class.getSimpleName(), "Challenge Steam Corridor"); + addStartNpc(FIOREN); + addTalkId(FIOREN); + addKillId(KECHI); + addCondMinLevel(MIN_LEVEL, "33044-02.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 "33044-04.html": + { + qs.startQuest(); + break; + } + case "33044-07.html": + { + giveItems(player, CERTIFICATE, 8); + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + qs.exitQuest(QuestType.DAILY, true); + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + if (qs.isCreated()) + { + htmltext = "33044-01.htm"; + } + else if (qs.isStarted()) + { + if (qs.isCond(1)) + { + htmltext = "33044-05.html"; + } + else if (qs.isCond(2)) + { + htmltext = "33044-06.html"; + } + } + else if (qs.isCompleted()) + { + htmltext = "33044-08.html"; + } + + return htmltext; + } + + @Override + public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1) && Util.checkIfInRange(1500, npc, player, false)) + { + qs.setCond(2, true); + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + executeForEachPlayer(killer, npc, isSummon, true, false); + return super.onKill(npc, killer, isSummon); + } +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-01.htm b/trunk/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-01.htm new file mode 100644 index 0000000000..d897022659 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-01.htm @@ -0,0 +1,4 @@ +Fioren:
+I ask you to listen to me. Received a request from the Ivory Tower, and I think that you are best suited for this job.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-02.html b/trunk/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-02.html new file mode 100644 index 0000000000..c080ee64c3 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-02.html @@ -0,0 +1,4 @@ +Fioren:
+You have not inspire me enough confidence. I can not charge you a job. Someday you will be able to help us, but that time has not come yet.
+(This quest is available after the 97th level.) + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-03.htm b/trunk/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-03.htm new file mode 100644 index 0000000000..ad1d62f069 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-03.htm @@ -0,0 +1,4 @@ +Fioren:
+The Ivory Tower of great interest to the monsters of Beleth Crystal Maze. Was asked to destroy appeared in Underwater Garden Mignon Beleth, the Supreme Judge, Michael, and bring proof of his death. As you look at it? Will you help me?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-04.html b/trunk/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-04.html new file mode 100644 index 0000000000..9b7290a7c6 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-04.html @@ -0,0 +1,3 @@ +Fioren:
+All right. I repeat. Destroy the Supreme Judge Michael, Mignon Beleth designed to underwater garden. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-05.html b/trunk/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-05.html new file mode 100644 index 0000000000..9b7290a7c6 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-05.html @@ -0,0 +1,3 @@ +Fioren:
+All right. I repeat. Destroy the Supreme Judge Michael, Mignon Beleth designed to underwater garden. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-06.html b/trunk/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-06.html new file mode 100644 index 0000000000..93c87dce8d --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-06.html @@ -0,0 +1,4 @@ +Fioren:
+How is it? You destroyed servants Beleth in Underwater Garden?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-07.html b/trunk/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-07.html new file mode 100644 index 0000000000..6da1824e57 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-07.html @@ -0,0 +1,3 @@ +Fioren:
+I was not wrong when you choose for the job. Here is the promised reward. If you find the time, come back tomorrow. I will have one more request for you. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-08.html b/trunk/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-08.html new file mode 100644 index 0000000000..1790f16c9c --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/33044-08.html @@ -0,0 +1,4 @@ +Fioren:
+If you find the time, come back tomorrow. I will have one more request for you.
+(This activity is available once a day. Quest update occurs daily at 6:30 am.) + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/Q00473_InTheCoralGarden.java b/trunk/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/Q00473_InTheCoralGarden.java new file mode 100644 index 0000000000..a23292f132 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q00473_InTheCoralGarden/Q00473_InTheCoralGarden.java @@ -0,0 +1,124 @@ +/* + * 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.Q00473_InTheCoralGarden; + +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.enums.QuestType; +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.util.Util; + +/** + * @author hlwrave + * @URL: https://l2wiki.com/In_the_Coral_Garden + */ +public class Q00473_InTheCoralGarden extends Quest +{ + // Npc + public static final int FIOREN = 33044; + // Monster + public static final int MICHAEL = 25799; + // Misc + public static final int MIN_LEVEL = 97; + // Item + public static final int CERTIFICATE = 30387; + + public Q00473_InTheCoralGarden() + { + super(473, Q00473_InTheCoralGarden.class.getSimpleName(), "In The Coral Garden"); + addStartNpc(FIOREN); + addTalkId(FIOREN); + addKillId(MICHAEL); + addCondMinLevel(MIN_LEVEL, "33044-02.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 "33044-04.html": + { + qs.startQuest(); + break; + } + case "33044-07.html": + { + giveItems(player, CERTIFICATE, 8); + qs.exitQuest(QuestType.DAILY, true); + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + if (qs.isCreated()) + { + htmltext = "33044-01.htm"; + } + else if (qs.isStarted()) + { + if (qs.isCond(1)) + { + htmltext = "33044-05.html"; + } + else if (qs.isCond(2)) + { + htmltext = "33044-06.html"; + } + } + else if (qs.isCompleted()) + { + htmltext = "33044-08.html"; + } + + return htmltext; + } + + @Override + public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1) && Util.checkIfInRange(1500, npc, player, false)) + { + qs.setCond(2, true); + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + executeForEachPlayer(killer, npc, isSummon, true, false); + return super.onKill(npc, killer, isSummon); + } +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10386_MysteriousJourney/Q10386_MysteriousJourney.java b/trunk/dist/game/data/scripts/quests/Q10386_MysteriousJourney/Q10386_MysteriousJourney.java new file mode 100644 index 0000000000..c85a86ebce --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10386_MysteriousJourney/Q10386_MysteriousJourney.java @@ -0,0 +1,144 @@ +/* + * 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.Q10386_MysteriousJourney; + +import com.l2jmobius.gameserver.enums.QuestSound; +import com.l2jmobius.gameserver.enums.QuestType; +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; + +/** + * @author hlwrave + * @URL https://l2wiki.com/Mysterious_Journey + */ +public class Q10386_MysteriousJourney extends Quest +{ + // Npcs + private static final int TOPOI = 30499; + private static final int HESET = 33780; + private static final int BERNA = 33796; + // Misc + public static final int MIN_LEVEL = 93; + + public Q10386_MysteriousJourney() + { + super(10386, Q10386_MysteriousJourney.class.getSimpleName(), "Mysterious Journey"); + addStartNpc(TOPOI); + addTalkId(TOPOI, HESET, BERNA); + addCondMinLevel(MIN_LEVEL, "nolevel.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 "accepted.html": + { + qs.startQuest(); + break; + } + case "acceptedHeset.html": + { + qs.setCond(3); + break; + } + case "acceptedBerma.html": + { + qs.setCond(4); + break; + } + case "endquest.html": + { + addExpAndSp(player, 27244350, 2724435); + giveAdena(player, 58707, true); + giveItems(player, 17526, 1); + playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); + qs.exitQuest(QuestType.ONE_TIME, true); + 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 TOPOI: + { + if (qs.isCreated()) + { + htmltext = "start.htm"; + } + else if (qs.isCompleted()) + { + htmltext = "completed.html"; + } + break; + } + case HESET: + { + if (qs.isStarted()) + { + if (qs.isCond(1)) + { + htmltext = "hesetCond1.html"; + } + else if (qs.isCond(4)) + { + htmltext = "collected.html"; + } + } + else if (qs.isCompleted()) + { + htmltext = "completed.html"; + } + break; + } + case BERNA: + { + if (qs.isStarted()) + { + if (qs.isCond(3)) + { + htmltext = "berna.html"; + } + } + else if (qs.isCompleted()) + { + htmltext = "completed.html"; + } + break; + } + } + return htmltext; + } +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10386_MysteriousJourney/accepted.html b/trunk/dist/game/data/scripts/quests/Q10386_MysteriousJourney/accepted.html new file mode 100644 index 0000000000..240f85beec --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10386_MysteriousJourney/accepted.html @@ -0,0 +1,3 @@ +tapas:
+Alas, but I do not know about that, they say that the Heceta Island shower knows something about it, but not the fact that tell you something, try something there, good luck! + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10386_MysteriousJourney/acceptedBerma.html b/trunk/dist/game/data/scripts/quests/Q10386_MysteriousJourney/acceptedBerma.html new file mode 100644 index 0000000000..d5534d5706 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10386_MysteriousJourney/acceptedBerma.html @@ -0,0 +1,3 @@ +Bern:
+Go with God .. oh .. this Heceta + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10386_MysteriousJourney/acceptedHeset.html b/trunk/dist/game/data/scripts/quests/Q10386_MysteriousJourney/acceptedHeset.html new file mode 100644 index 0000000000..324e4c5d3f --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10386_MysteriousJourney/acceptedHeset.html @@ -0,0 +1,3 @@ +Heceta:
+Bern is located at the Altar Normil, you must be met for it, so it knows everything, hehe .. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10386_MysteriousJourney/berna.html b/trunk/dist/game/data/scripts/quests/Q10386_MysteriousJourney/berna.html new file mode 100644 index 0000000000..4820267b50 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10386_MysteriousJourney/berna.html @@ -0,0 +1,4 @@ +Bern:
+Oh, let guess you sent me to this wonderful Heceta? All he knows only very few people trust you ... I know this will not ask for much, tell him to "cats come in the summer," and he will answer all your questions ..

+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10386_MysteriousJourney/collected.html b/trunk/dist/game/data/scripts/quests/Q10386_MysteriousJourney/collected.html new file mode 100644 index 0000000000..e120a119a8 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10386_MysteriousJourney/collected.html @@ -0,0 +1,4 @@ +Heceta:
+What people looked to us .. you want me to say something ...?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10386_MysteriousJourney/completed.html b/trunk/dist/game/data/scripts/quests/Q10386_MysteriousJourney/completed.html new file mode 100644 index 0000000000..139290ff01 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10386_MysteriousJourney/completed.html @@ -0,0 +1,3 @@ + +(Quest is already completed.)
+ \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10386_MysteriousJourney/endquest.html b/trunk/dist/game/data/scripts/quests/Q10386_MysteriousJourney/endquest.html new file mode 100644 index 0000000000..511df92a3d --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10386_MysteriousJourney/endquest.html @@ -0,0 +1,5 @@ +Heceta:

+I agree with that ... now listen ...
+ 30 minutes later
+I hope everything is clear, go with God, here's a reward for what you do not tell anyone our secret word. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10386_MysteriousJourney/hesetCond1.html b/trunk/dist/game/data/scripts/quests/Q10386_MysteriousJourney/hesetCond1.html new file mode 100644 index 0000000000..9f98989e03 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10386_MysteriousJourney/hesetCond1.html @@ -0,0 +1,4 @@ +Heceta:
+What? Sorry but you just tell me? You do not know ha ha! I do not quite understand, bring a translation Bernie, I beg of you and waste my precious time.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10386_MysteriousJourney/nolevel.html b/trunk/dist/game/data/scripts/quests/Q10386_MysteriousJourney/nolevel.html new file mode 100644 index 0000000000..6ad482e6ea --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10386_MysteriousJourney/nolevel.html @@ -0,0 +1,4 @@ + +You have not inspire me enough confidence. I can not charge you a job. Someday you will be able to help us, but that time has not come yet.
+(This quest is available after the 93th level.) + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10386_MysteriousJourney/start.htm b/trunk/dist/game/data/scripts/quests/Q10386_MysteriousJourney/start.htm new file mode 100644 index 0000000000..516057041e --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10386_MysteriousJourney/start.htm @@ -0,0 +1,4 @@ +tapas:
+No not even tell you ... come .. because you have something important to know, and it's something related to the norm! Am I right oink-oink?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10453_StoppingTheWindDragon/Q10453_StoppingTheWindDragon.java b/trunk/dist/game/data/scripts/quests/Q10453_StoppingTheWindDragon/Q10453_StoppingTheWindDragon.java new file mode 100644 index 0000000000..f2a4d5c0be --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10453_StoppingTheWindDragon/Q10453_StoppingTheWindDragon.java @@ -0,0 +1,116 @@ +/* + * 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.Q10453_StoppingTheWindDragon; + +import com.l2jmobius.gameserver.enums.QuestType; +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; + +/** + * @author hlwrave + */ +public class Q10453_StoppingTheWindDragon extends Quest +{ + // NPC + private static final int JENNA = 33872; + // Monsters + private static final int LINDVIOR = 29240; + // Items + private static final int LINDVIOR_SLAYERS_HELMET = 37497; + // Misc + private static final int MIN_LEVEL = 95; + + public Q10453_StoppingTheWindDragon() + { + super(10453, Q10453_StoppingTheWindDragon.class.getSimpleName(), "Stopping The Wind Dragon"); + addStartNpc(JENNA); + addTalkId(JENNA); + addKillId(LINDVIOR); + addCondMinLevel(MIN_LEVEL, "adens_wizard_jenna_q10453_0.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 "adens_wizard_jenna_q10453_2.html": + { + qs.startQuest(); + break; + } + case "adens_wizard_jenna_q10453_5.html": + { + addExpAndSp(player, 2147483500, 37047780); + giveItems(player, LINDVIOR_SLAYERS_HELMET, 1); + qs.exitQuest(QuestType.ONE_TIME, true); + break; + } + } + return htmltext; + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState qs = getQuestState(player, true); + String htmltext = getNoQuestMsg(player); + + if (qs.isCreated()) + { + htmltext = "adens_wizard_jenna_q10453_1.htm"; + } + else if (qs.isStarted()) + { + if (qs.isCond(1)) + { + htmltext = "adens_wizard_jenna_q10453_3.html"; + } + else if (qs.isCond(2)) + { + htmltext = "adens_wizard_jenna_q10453_4.html"; + } + + } + else if (qs.isCompleted()) + { + htmltext = "adens_wizard_jenna_q10453_6.html"; + } + + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + final QuestState qs = getQuestState(killer, false); + if ((qs != null) && qs.isCond(1)) + { + qs.setCond(2); + } + return super.onKill(npc, killer, isSummon); + } +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10453_StoppingTheWindDragon/adens_wizard_jenna_q10453_0.html b/trunk/dist/game/data/scripts/quests/Q10453_StoppingTheWindDragon/adens_wizard_jenna_q10453_0.html new file mode 100644 index 0000000000..991871cfe0 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10453_StoppingTheWindDragon/adens_wizard_jenna_q10453_0.html @@ -0,0 +1,4 @@ +Aden's Wizard Jenna:
+You can not cope with the Dragon Lindvior. Please, go away.
+(This quest is available after reaching level 99. or Above) + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10453_StoppingTheWindDragon/adens_wizard_jenna_q10453_1.htm b/trunk/dist/game/data/scripts/quests/Q10453_StoppingTheWindDragon/adens_wizard_jenna_q10453_1.htm new file mode 100644 index 0000000000..b6f96a56e7 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10453_StoppingTheWindDragon/adens_wizard_jenna_q10453_1.htm @@ -0,0 +1,6 @@ +Aden's Wizard Jenna: +
+We collect an army of warriors to slay the dragon of the wind.
+Are you ready to fight with the Dragon Lindvior?
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10453_StoppingTheWindDragon/adens_wizard_jenna_q10453_2.html b/trunk/dist/game/data/scripts/quests/Q10453_StoppingTheWindDragon/adens_wizard_jenna_q10453_2.html new file mode 100644 index 0000000000..59118d0bbe --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10453_StoppingTheWindDragon/adens_wizard_jenna_q10453_2.html @@ -0,0 +1,5 @@ +Aden's Wizard Jenna: +
+Excellent! Wish you luck.
+After slay the dragon, come back to me for a reward. + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10453_StoppingTheWindDragon/adens_wizard_jenna_q10453_3.html b/trunk/dist/game/data/scripts/quests/Q10453_StoppingTheWindDragon/adens_wizard_jenna_q10453_3.html new file mode 100644 index 0000000000..3171d90852 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10453_StoppingTheWindDragon/adens_wizard_jenna_q10453_3.html @@ -0,0 +1,4 @@ +Aden's Wizard Jenna: +
+Are you here now? Collect army soldiers and battle finally this dragon! + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10453_StoppingTheWindDragon/adens_wizard_jenna_q10453_4.html b/trunk/dist/game/data/scripts/quests/Q10453_StoppingTheWindDragon/adens_wizard_jenna_q10453_4.html new file mode 100644 index 0000000000..781ba32a4e --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10453_StoppingTheWindDragon/adens_wizard_jenna_q10453_4.html @@ -0,0 +1,6 @@ +Aden's Wizard Jenna: +
+Oh, you're alive? I am very proud of you and your soldiers that you were able to slay the dragon.
+You deserve my reward.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10453_StoppingTheWindDragon/adens_wizard_jenna_q10453_5.html b/trunk/dist/game/data/scripts/quests/Q10453_StoppingTheWindDragon/adens_wizard_jenna_q10453_5.html new file mode 100644 index 0000000000..81d928ba22 --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10453_StoppingTheWindDragon/adens_wizard_jenna_q10453_5.html @@ -0,0 +1,4 @@ +Aden's Wizard Jenna: +
+Keep reward. Now all the soldiers will know that you are a brave killer dragons! + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10453_StoppingTheWindDragon/adens_wizard_jenna_q10453_6.html b/trunk/dist/game/data/scripts/quests/Q10453_StoppingTheWindDragon/adens_wizard_jenna_q10453_6.html new file mode 100644 index 0000000000..dc1a3ad60a --- /dev/null +++ b/trunk/dist/game/data/scripts/quests/Q10453_StoppingTheWindDragon/adens_wizard_jenna_q10453_6.html @@ -0,0 +1,4 @@ +Aden's Wizard Jenna: +
+You already told me that you are a brave warrior and got my reward. + \ 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 e37874e6eb..58ef07c99e 100644 --- a/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -69,6 +69,8 @@ import quests.Q00143_FallenAngelRequestOfDusk.Q00143_FallenAngelRequestOfDusk; import quests.Q00144_PailakaInjuredDragon.Q00144_PailakaInjuredDragon; import quests.Q00146_TheZeroHour.Q00146_TheZeroHour; import quests.Q00177_SplitDestiny.Q00177_SplitDestiny; +import quests.Q00180_InfernalFlamesBurningInCrystalPrison.Q00180_InfernalFlamesBurningInCrystalPrison; +import quests.Q00181_DevilsStrikeBackAdventOfBalok.Q00181_DevilsStrikeBackAdventOfBalok; import quests.Q00183_RelicExploration.Q00183_RelicExploration; import quests.Q00184_ArtOfPersuasion.Q00184_ArtOfPersuasion; import quests.Q00185_NikolasCooperation.Q00185_NikolasCooperation; @@ -125,6 +127,9 @@ import quests.Q00457_LostAndFound.Q00457_LostAndFound; import quests.Q00458_PerfectForm.Q00458_PerfectForm; import quests.Q00463_IMustBeaGenius.Q00463_IMustBeaGenius; import quests.Q00464_Oath.Q00464_Oath; +import quests.Q00471_BreakingThroughTheEmeraldSquare.Q00471_BreakingThroughTheEmeraldSquare; +import quests.Q00472_ChallengeSteamCorridor.Q00472_ChallengeSteamCorridor; +import quests.Q00473_InTheCoralGarden.Q00473_InTheCoralGarden; import quests.Q00494_IncarnationOfGreedZellakaGroup.Q00494_IncarnationOfGreedZellakaGroup; import quests.Q00495_IncarnationOfJealousyPellineGroup.Q00495_IncarnationOfJealousyPellineGroup; import quests.Q00496_IncarnationOfGluttonyKaliosGroup.Q00496_IncarnationOfGluttonyKaliosGroup; @@ -231,6 +236,7 @@ import quests.Q10381_ToTheSeedOfHellfire.Q10381_ToTheSeedOfHellfire; import quests.Q10382_DayOfLiberation.Q10382_DayOfLiberation; import quests.Q10383_FergasonsOffer.Q10383_FergasonsOffer; import quests.Q10384_AnAudienceWithTauti.Q10384_AnAudienceWithTauti; +import quests.Q10386_MysteriousJourney.Q10386_MysteriousJourney; import quests.Q10388_ConspiracyBehindDoor.Q10388_ConspiracyBehindDoor; import quests.Q10389_TheVoiceOfAuthority.Q10389_TheVoiceOfAuthority; import quests.Q10390_KekropusLetter.Q10390_KekropusLetter; @@ -242,6 +248,7 @@ import quests.Q10408_KekropusLetter_TheSwampOfScream.Q10408_KekropusLetter_TheSw import quests.Q10411_KekropusLetter_TheForestOfTheDead.Q10411_KekropusLetter_TheForestOfTheDead; import quests.Q10414_KekropusLetter_WithCourage.Q10414_KekropusLetter_WithCourage; import quests.Q10415_KekropusLetter_WithWisdom.Q10415_KekropusLetter_WithWisdom; +import quests.Q10453_StoppingTheWindDragon.Q10453_StoppingTheWindDragon; import quests.Q10501_ZakenEmbroideredSoulCloak.Q10501_ZakenEmbroideredSoulCloak; import quests.Q10502_FreyaEmbroideredSoulCloak.Q10502_FreyaEmbroideredSoulCloak; import quests.Q10503_FrintezzaEmbroideredSoulCloak.Q10503_FrintezzaEmbroideredSoulCloak; @@ -335,6 +342,8 @@ final class QuestMasterHandler Q00144_PailakaInjuredDragon.class, Q00146_TheZeroHour.class, Q00177_SplitDestiny.class, + Q00180_InfernalFlamesBurningInCrystalPrison.class, + Q00181_DevilsStrikeBackAdventOfBalok.class, Q00183_RelicExploration.class, Q00184_ArtOfPersuasion.class, Q00185_NikolasCooperation.class, @@ -391,6 +400,9 @@ final class QuestMasterHandler Q00458_PerfectForm.class, Q00463_IMustBeaGenius.class, Q00464_Oath.class, + Q00471_BreakingThroughTheEmeraldSquare.class, + Q00472_ChallengeSteamCorridor.class, + Q00473_InTheCoralGarden.class, Q00494_IncarnationOfGreedZellakaGroup.class, Q00495_IncarnationOfJealousyPellineGroup.class, Q00496_IncarnationOfGluttonyKaliosGroup.class, @@ -497,6 +509,7 @@ final class QuestMasterHandler Q10382_DayOfLiberation.class, Q10383_FergasonsOffer.class, Q10384_AnAudienceWithTauti.class, + Q10386_MysteriousJourney.class, Q10388_ConspiracyBehindDoor.class, Q10389_TheVoiceOfAuthority.class, Q10390_KekropusLetter.class, @@ -508,6 +521,7 @@ final class QuestMasterHandler Q10411_KekropusLetter_TheForestOfTheDead.class, Q10414_KekropusLetter_WithCourage.class, Q10415_KekropusLetter_WithWisdom.class, + Q10453_StoppingTheWindDragon.class, Q10501_ZakenEmbroideredSoulCloak.class, Q10502_FreyaEmbroideredSoulCloak.class, Q10503_FrintezzaEmbroideredSoulCloak.class,